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

Analysis Run

4a6f5ba6-2691-48c0-bd6e-c5c33012cb30

failed
Chain ID
1
Address
Block Number
Created
Tue, Dec 30, 2025 6:43 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
Untrusted DELEGATECALL target reachable
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
30724 report.consolidate complete 1 / 1 3 months ago
75340 artifact.fetch failed 1 / 3 1 week ago
75341 tool.cast_disasm complete 1 / 3 1 week ago
75342 analysis.bundle complete 1 / 3 1 week ago
75343 capability.graph complete 1 / 3 1 week ago
75344 detector.run complete 1 / 3 1 week ago
75345 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
2
No findings?
no
Summary
Found 2 issues: an unrestricted swap callback can let arbitrary callers spoof swap data, and core vault logic is executed via delegatecall to an external OrderManager, creating an upgradeability/backdoor risk.
View stderr
[codex:1293352] OpenAI Codex v0.77.0 (research preview)
[codex:1293352] --------
[codex:1293352] workdir: /tmp/codex-multi-n835s24t
[codex:1293352] model: gpt-5.2-codex
[codex:1293352] provider: openai
[codex:1293352] approval: never
[codex:1293352] sandbox: read-only
[codex:1293352] reasoning effort: xhigh
[codex:1293352] reasoning summaries: auto
[codex:1293352] session id: 019b708e-29bb-7032-9d5b-e4dd9664b61e
[codex:1293352] --------
[codex:1293352] user
[codex:1293352] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1293352] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1293352] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1293352] 
[codex:1293352] Scope rules:
[codex:1293352] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1293352] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1293352] 
[codex:1293352] Output MUST be valid JSON matching the provided schema.
[codex:1293352] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1293352] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1293352] 
[codex:1293352] Output constraints (IMPORTANT):
[codex:1293352] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1293352] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1293352] mcp startup: no servers
[codex:1293352] 
[codex:1293352] thinking
[codex:1293352] **Preparing to audit with AUDIT_BUNDLE.txt**
[codex:1293352] exec
[codex:1293352] /bin/bash -lc ls in /tmp/codex-multi-n835s24t succeeded in 5ms:
[codex:1293352] AUDIT_BUNDLE.txt
[codex:1293352] codex-output-schema.json
[codex:1293352] contracts
[codex:1293352] exec
[codex:1293352] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-n835s24t succeeded in 6ms:
[codex:1293352] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1293352] 
[codex:1293352] ================================================================================
[codex:1293352] FILE: contracts/contracts/ISwapCallback.sol
[codex:1293352] ================================================================================
[codex:1293352] // SPDX-License-Identifier: MIT
[codex:1293352] pragma solidity ^0.8.0;
[codex:1293352] 
[codex:1293352] /**
[codex:1293352]  * @title TermMax Swap Callback Interface
[codex:1293352]  * @author Term Structure Labs
[codex:1293352]  * @notice Interface for handling callbacks after swap operations in TermMax
[codex:1293352]  */
[codex:1293352] interface ISwapCallback {
[codex:1293352]     /**
[codex:1293352]      * @notice Callback function called after a swap operation
[codex:1293352]      * @param ftReserve The reserve of the FT token
[codex:1293352]      * @param xtReserve The reserve of the XT token
[codex:1293352]      * @param deltaFt The change in FT token balance (positive for receiving, negative for paying)
[codex:1293352]      * @param deltaXt The change in XT token balance (positive for receiving, negative for paying)
[codex:1293352] 
[codex:1293352] thinking
[codex:1293352] **Searching for core contract files**
[codex:1293352] exec
[codex:1293352] /bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-multi-n835s24t succeeded in 9ms:
[codex:1293352] 4:FILE: contracts/contracts/ISwapCallback.sol
[codex:1293352] 26:FILE: contracts/contracts/ITermMaxMarket.sol
[codex:1293352] 133:FILE: contracts/contracts/ITermMaxOrder.sol
[codex:1293352] 237:FILE: contracts/contracts/errors/VaultErrors.sol
[codex:1293352] 375:FILE: contracts/contracts/events/VaultEvents.sol
[codex:1293352] 578:FILE: contracts/contracts/lib/Constants.sol
[codex:1293352] 603:FILE: contracts/contracts/lib/PendingLib.sol
[codex:1293352] 645:FILE: contracts/contracts/lib/TransferUtils.sol
[codex:1293352] 694:FILE: contracts/contracts/lib/VaultConstants.sol
[codex:1293352] 720:FILE: contracts/contracts/oracle/IOracle.sol
[codex:1293352] 750:FILE: contracts/contracts/router/ISwapAdapter.sol
[codex:1293352] 803:FILE: contracts/contracts/router/ITermMaxRouter.sol
[codex:1293352] 1124:FILE: contracts/contracts/storage/TermMaxStorage.sol
[codex:1293352] 1252:FILE: contracts/contracts/tokens/IGearingToken.sol
[codex:1293352] 1381:FILE: contracts/contracts/tokens/IMintableERC20.sol
[codex:1293352] 1423:FILE: contracts/contracts/vault/IOrderManager.sol
[codex:1293352] 1525:FILE: contracts/contracts/vault/ITermMaxVault.sol
[codex:1293352] 1825:FILE: contracts/contracts/vault/TermMaxVault.sol
[codex:1293352] 2575:FILE: contracts/contracts/vault/VaultStorage.sol
[codex:1293352] 2637:FILE: contracts/lib/chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol
[codex:1293352] 
[codex:1293352] thinking
[codex:1293352] **Extracting and inspecting contract sections**
[codex:1293352] exec
[codex:1293352] /bin/bash -lc "sed -n '1825,2575p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-n835s24t succeeded in 6ms:
[codex:1293352] FILE: contracts/contracts/vault/TermMaxVault.sol
[codex:1293352] ================================================================================
[codex:1293352] // SPDX-License-Identifier: GPL-2.0-or-later
[codex:1293352] pragma solidity ^0.8.27;
[codex:1293352] 
[codex:1293352] import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1293352] import {SafeCast} from "@openzeppelin/contracts/utils/math/SafeCast.sol";
[codex:1293352] import {PausableUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol";
[codex:1293352] import {
[codex:1293352]     IERC4626,
[codex:1293352]     ERC4626Upgradeable,
[codex:1293352]     ERC20Upgradeable
[codex:1293352] } from "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC4626Upgradeable.sol";
[codex:1293352] import {Ownable2StepUpgradeable} from "@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol";
[codex:1293352] import {ReentrancyGuardUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol";
[codex:1293352] import {ReentrancyGuard} from "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
[codex:1293352] import {PendingLib, PendingAddress, PendingUint192} from "contracts/lib/PendingLib.sol";
[codex:1293352] import {ITermMaxMarket} from "contracts/ITermMaxMarket.sol";
[codex:1293352] import {CurveCuts, VaultInitialParams} from "contracts/storage/TermMaxStorage.sol";
[codex:1293352] import {ITermMaxRouter} from "contracts/router/ITermMaxRouter.sol";
[codex:1293352] exec
[codex:1293352] /bin/bash -lc "sed -n '2575,2705p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-n835s24t succeeded in 5ms:
[codex:1293352] FILE: contracts/contracts/vault/VaultStorage.sol
[codex:1293352] ================================================================================
[codex:1293352] // SPDX-License-Identifier: MIT
[codex:1293352] pragma solidity ^0.8.27;
[codex:1293352] 
[codex:1293352] import {ITermMaxMarket} from "contracts/ITermMaxMarket.sol";
[codex:1293352] import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1293352] import {PendingAddress, PendingUint192} from "contracts/lib/PendingLib.sol";
[codex:1293352] 
[codex:1293352] struct OrderInfo {
[codex:1293352]     ITermMaxMarket market;
[codex:1293352]     IERC20 ft;
[codex:1293352]     IERC20 xt;
[codex:1293352]     uint128 maxSupply;
[codex:1293352]     uint64 maturity;
[codex:1293352] }
[codex:1293352] 
[codex:1293352] contract VaultStorage {
[codex:1293352]     // State variables
[codex:1293352]     address internal _guardian;
[codex:1293352] 
[codex:1293352] thinking
[codex:1293352] **Searching for core components and implementations**
[codex:1293352] exec
[codex:1293352] /bin/bash -lc 'rg -n "OrderManager" AUDIT_BUNDLE.txt' in /tmp/codex-multi-n835s24t succeeded in 7ms:
[codex:1293352] 1423:FILE: contracts/contracts/vault/IOrderManager.sol
[codex:1293352] 1437:interface IOrderManager {
[codex:1293352] 1851:import {IOrderManager} from "./IOrderManager.sol";
[codex:1293352] 1935:        _delegateCall(abi.encodeCall(IOrderManager.accruedInterest, ()));
[codex:1293352] 2103:                    IOrderManager.createOrder, (IERC20(asset()), market, maxSupply, initialReserve, curveCuts)
[codex:1293352] 2120:            abi.encodeCall(IOrderManager.updateOrders, (IERC20(asset()), orders, changes, maxSupplies, curveCuts))
[codex:1293352] 2128:        _delegateCall(abi.encodeCall(IOrderManager.redeemOrder, (order)));
[codex:1293352] 2140:        _delegateCall(abi.encodeCall(IOrderManager.withdrawPerformanceFee, (IERC20(asset()), recipient, amount)));
[codex:1293352] 2181:        _delegateCall(abi.encodeCall(IOrderManager.depositAssets, (IERC20(asset()), assets)));
[codex:1293352] 2199:        _delegateCall(abi.encodeCall(IOrderManager.withdrawAssets, (IERC20(asset()), receiver, assets)));
[codex:1293352] 2239:            _delegateCall(abi.encodeCall(IOrderManager.dealBadDebt, (recipient, collateral, badDebtAmt))), (uint256)
[codex:1293352] 2570:        _delegateCall(abi.encodeCall(IOrderManager.afterSwap, (ftReserve, xtReserve, deltaFt)));
[codex:1293352] exec
[codex:1293352] /bin/bash -lc "sed -n '1423,1525p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-n835s24t succeeded in 5ms:
[codex:1293352] FILE: contracts/contracts/vault/IOrderManager.sol
[codex:1293352] ================================================================================
[codex:1293352] // SPDX-License-Identifier: MIT
[codex:1293352] pragma solidity ^0.8.0;
[codex:1293352] 
[codex:1293352] import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1293352] import {ITermMaxMarket} from "contracts/ITermMaxMarket.sol";
[codex:1293352] import {ITermMaxOrder} from "contracts/ITermMaxOrder.sol";
[codex:1293352] import {CurveCuts} from "contracts/storage/TermMaxStorage.sol";
[codex:1293352] 
[codex:1293352] /**
[codex:1293352]  * @title Order Manager Interface
[codex:1293352]  * @author Term Structure Labs
[codex:1293352]  */
[codex:1293352] interface IOrderManager {
[codex:1293352]     /**
[codex:1293352]      * @notice Creates a new order
[codex:1293352]      * @param asset The asset token address
[codex:1293352]      * @param market The market address
[codex:1293352]      * @param maxSupply The maximum xt supply of the order
[codex:1293352] exec
[codex:1293352] /bin/bash -lc "sed -n '1525,1825p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-n835s24t succeeded in 9ms:
[codex:1293352] FILE: contracts/contracts/vault/ITermMaxVault.sol
[codex:1293352] ================================================================================
[codex:1293352] // SPDX-License-Identifier: MIT
[codex:1293352] pragma solidity ^0.8.27;
[codex:1293352] 
[codex:1293352] import {IERC4626} from "@openzeppelin/contracts/interfaces/IERC4626.sol";
[codex:1293352] import {IERC20} from "@openzeppelin/contracts/interfaces/IERC20.sol";
[codex:1293352] import {ITermMaxMarket} from "contracts/ITermMaxMarket.sol";
[codex:1293352] import {CurveCuts, VaultInitialParams} from "contracts/storage/TermMaxStorage.sol";
[codex:1293352] import {ITermMaxOrder} from "contracts/ITermMaxOrder.sol";
[codex:1293352] import {PendingAddress, PendingUint192} from "contracts/lib/PendingLib.sol";
[codex:1293352] import {OrderInfo} from "./VaultStorage.sol";
[codex:1293352] 
[codex:1293352] /**
[codex:1293352]  * @title TermMax Vault Interface
[codex:1293352]  * @author Term Structure Labs
[codex:1293352]  * @notice Interface for TermMax vaults that extends the ERC4626 standard
[codex:1293352]  * @dev Implements ERC4626 tokenized vault standard with additional TermMax-specific functionality
[codex:1293352]  */
[codex:1293352] interface ITermMaxVault is IERC4626 {
[codex:1293352] 
[codex:1293352] thinking
[codex:1293352] **Analyzing delegatecall risks with missing implementation**
[codex:1293352] exec
[codex:1293352] /bin/bash -lc "sed -n '578,750p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-n835s24t succeeded in 6ms:
[codex:1293352] FILE: contracts/contracts/lib/Constants.sol
[codex:1293352] ================================================================================
[codex:1293352] // SPDX-License-Identifier: MIT
[codex:1293352] pragma solidity ^0.8.0;
[codex:1293352] 
[codex:1293352] /**
[codex:1293352]  * @title The general constants of TermMax
[codex:1293352]  * @author Term Structure Labs
[codex:1293352]  */
[codex:1293352] library Constants {
[codex:1293352]     /// @notice The base decimals of ratio
[codex:1293352]     uint256 constant DECIMAL_BASE = 1e8;
[codex:1293352]     /// @notice The square of the base decimals
[codex:1293352]     uint256 constant DECIMAL_BASE_SQ = 1e16;
[codex:1293352]     /// @notice The days of one year
[codex:1293352]     uint256 constant DAYS_IN_YEAR = 365;
[codex:1293352]     /// @notice The seconds of one day
[codex:1293352]     uint256 constant SECONDS_IN_DAY = 1 days;
[codex:1293352]     /// @notice The window time left for the liquidation bot after the market expires
[codex:1293352]     uint256 constant LIQUIDATION_WINDOW = 2 hours;
[codex:1293352] exec
[codex:1293352] /bin/bash -lc "sed -n '750,1124p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-n835s24t succeeded in 6ms:
[codex:1293352] FILE: contracts/contracts/router/ISwapAdapter.sol
[codex:1293352] ================================================================================
[codex:1293352] // SPDX-License-Identifier: MIT
[codex:1293352] pragma solidity ^0.8.27;
[codex:1293352] /// @notice Swap unit
[codex:1293352] 
[codex:1293352] struct SwapUnit {
[codex:1293352]     /// @notice Adapter's address
[codex:1293352]     address adapter;
[codex:1293352]     /// @notice Input token address
[codex:1293352]     address tokenIn;
[codex:1293352]     /// @notice Output token address
[codex:1293352]     address tokenOut;
[codex:1293352]     /// @notice Encoded swap data
[codex:1293352]     bytes swapData;
[codex:1293352] }
[codex:1293352] 
[codex:1293352] /**
[codex:1293352]  * @title TermMax SwapAdapter interface
[codex:1293352]  * @author Term Structure Labs
[codex:1293352] exec
[codex:1293352] /bin/bash -lc "sed -n '1124,1385p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-n835s24t succeeded in 6ms:
[codex:1293352] FILE: contracts/contracts/storage/TermMaxStorage.sol
[codex:1293352] ================================================================================
[codex:1293352] // SPDX-License-Identifier: MIT
[codex:1293352] pragma solidity ^0.8.0;
[codex:1293352] 
[codex:1293352] import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
[codex:1293352] import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1293352] import {IOracle} from "../oracle/IOracle.sol";
[codex:1293352] import {ISwapCallback} from "../ISwapCallback.sol";
[codex:1293352] 
[codex:1293352] /**
[codex:1293352]  * @title The data struct of token pair
[codex:1293352]  * @author Term Structure Labs
[codex:1293352]  */
[codex:1293352] struct CurveCut {
[codex:1293352]     uint256 xtReserve;
[codex:1293352]     uint256 liqSquare;
[codex:1293352]     int256 offset;
[codex:1293352] }
[codex:1293352] 
[codex:1293352] exec
[codex:1293352] /bin/bash -lc "sed -n '1381,1423p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-n835s24t succeeded in 6ms:
[codex:1293352] FILE: contracts/contracts/tokens/IMintableERC20.sol
[codex:1293352] ================================================================================
[codex:1293352] // SPDX-License-Identifier: MIT
[codex:1293352] pragma solidity ^0.8.27;
[codex:1293352] 
[codex:1293352] import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1293352] 
[codex:1293352] /**
[codex:1293352]  * @title TermMax ERC20 token interface
[codex:1293352]  * @author Term Structure Labs
[codex:1293352]  */
[codex:1293352] interface IMintableERC20 is IERC20 {
[codex:1293352]     /// @notice Error when using offline signature but spender is not the maerket
[codex:1293352]     error SpenderIsNotMarket(address spender);
[codex:1293352] 
[codex:1293352]     // @notice Initial function
[codex:1293352]     /// @param name The token's name
[codex:1293352]     /// @param symbol The token's symbol
[codex:1293352]     /// @param _decimals The token's decimals
[codex:1293352]     function initialize(string memory name, string memory symbol, uint8 _decimals) external;
[codex:1293352] 
[codex:1293352] thinking
[codex:1293352] **Analyzing TermMaxVault security risks**
[codex:1293352] exec
[codex:1293352] /bin/bash -lc 'rg -n "delegatecall" AUDIT_BUNDLE.txt' in /tmp/codex-multi-n835s24t succeeded in 6ms:
[codex:1293352] 2206:        (bool success, bytes memory returnData) = ORDER_MANAGER_SINGLETON.delegatecall(data);
[codex:1293352] 4008:        (bool success, bytes memory returndata) = target.delegatecall(data);
[codex:1293352] 
[codex:1293352] 
[codex:1293352] thinking
[codex:1293352] **Analyzing reentrancy and access control risks**
[codex:1293352] 
[codex:1293352] I'm carefully reviewing TermMaxVault’s functions for reentrancy protections and access control; I notice that critical functions like `afterSwap` lack both, exposing potential manipulation since it delegatecalls to the order manager with unchecked inputs. This could allow attackers to skew accounting and share prices. Also, delegatecalls to an immutable external order manager entail trust risks, especially if that contract is upgradeable or compromised. I’m weighing these findings alongside gas-related DoS concerns and minor access nuances to highlight the main vulnerability points meaningfully.
[codex:1293352] thinking
[codex:1293352] **Preparing structured audit findings**
[codex:1293352] 
[codex:1293352] I’m organizing the final JSON output to include required fields like severity, category, and recommendations. To be precise, I need actual file paths and line numbers for evidence, so I plan to fetch these by examining the repo files directly with tools like `rg` or `nl`. This will help me ground findings in exact code locations and avoid vague reporting.
[codex:1293352] exec
[codex:1293352] /bin/bash -lc 'rg -n "afterSwap" contracts/contracts/vault/TermMaxVault.sol' in /tmp/codex-multi-n835s24t succeeded in 6ms:
[codex:1293352] 743:    function afterSwap(uint256 ftReserve, uint256 xtReserve, int256 deltaFt, int256) external override {
[codex:1293352] 744:        _delegateCall(abi.encodeCall(IOrderManager.afterSwap, (ftReserve, xtReserve, deltaFt)));
[codex:1293352] 
[codex:1293352] thinking
[codex:1293352] **Locating delegatecall lines**
[codex:1293352] exec
[codex:1293352] /bin/bash -lc 'rg -n "_delegateCall" -n contracts/contracts/vault/TermMaxVault.sol' in /tmp/codex-multi-n835s24t succeeded in 6ms:
[codex:1293352] 109:        _delegateCall(abi.encodeCall(IOrderManager.accruedInterest, ()));
[codex:1293352] 275:            _delegateCall(
[codex:1293352] 293:        _delegateCall(
[codex:1293352] 302:        _delegateCall(abi.encodeCall(IOrderManager.redeemOrder, (order)));
[codex:1293352] 314:        _delegateCall(abi.encodeCall(IOrderManager.withdrawPerformanceFee, (IERC20(asset()), recipient, amount)));
[codex:1293352] 355:        _delegateCall(abi.encodeCall(IOrderManager.depositAssets, (IERC20(asset()), assets)));
[codex:1293352] 373:        _delegateCall(abi.encodeCall(IOrderManager.withdrawAssets, (IERC20(asset()), receiver, assets)));
[codex:1293352] 379:    function _delegateCall(bytes memory data) internal returns (bytes memory) {
[codex:1293352] 413:            _delegateCall(abi.encodeCall(IOrderManager.dealBadDebt, (recipient, collateral, badDebtAmt))), (uint256)
[codex:1293352] 744:        _delegateCall(abi.encodeCall(IOrderManager.afterSwap, (ftReserve, xtReserve, deltaFt)));
[codex:1293352] 
[codex:1293352] thinking
[codex:1293352] **Finding _delegateCall function lines**
[codex:1293352] exec
[codex:1293352] /bin/bash -lc "sed -n '360,410p' contracts/contracts/vault/TermMaxVault.sol" in /tmp/codex-multi-n835s24t succeeded in 5ms:
[codex:1293352] 
[codex:1293352]     /**
[codex:1293352]      * @dev Withdraw/redeem common workflow.
[codex:1293352]      */
[codex:1293352]     function _withdraw(address caller, address receiver, address owner, uint256 assets, uint256 shares)
[codex:1293352]         internal
[codex:1293352]         override
[codex:1293352]         nonReentrant
[codex:1293352]     {
[codex:1293352]         if (caller != owner) {
[codex:1293352]             _spendAllowance(owner, caller, shares);
[codex:1293352]         }
[codex:1293352] 
[codex:1293352]         _delegateCall(abi.encodeCall(IOrderManager.withdrawAssets, (IERC20(asset()), receiver, assets)));
[codex:1293352]         _burn(owner, shares);
[codex:1293352] 
[codex:1293352]         emit Withdraw(caller, receiver, owner, assets, shares);
[codex:1293352]     }
[codex:1293352] 
[codex:1293352]     function _delegateCall(bytes memory data) internal returns (bytes memory) {
[codex:1293352] 
[codex:1293352] thinking
[codex:1293352] **Locating afterSwap function code**
[codex:1293352] exec
[codex:1293352] /bin/bash -lc "sed -n '730,755p' contracts/contracts/vault/TermMaxVault.sol" in /tmp/codex-multi-n835s24t succeeded in 5ms:
[codex:1293352] 
[codex:1293352]     function _previewAccruedPeriodInterest(uint256 startTime, uint256 endTime, uint256 previewAnnualizedInterest)
[codex:1293352]         internal
[codex:1293352]         view
[codex:1293352]         returns (uint256, uint256)
[codex:1293352]     {
[codex:1293352]         uint256 interest = (previewAnnualizedInterest * (endTime - startTime)) / 365 days;
[codex:1293352]         uint256 performanceFeeToCurator = (interest * _performanceFeeRate) / Constants.DECIMAL_BASE;
[codex:1293352]         return (interest - performanceFeeToCurator, performanceFeeToCurator);
[codex:1293352]     }
[codex:1293352] 
[codex:1293352]     /// @notice Callback function for the swap
[codex:1293352]     /// @param deltaFt The change in the ft balance of the order
[codex:1293352]     function afterSwap(uint256 ftReserve, uint256 xtReserve, int256 deltaFt, int256) external override {
[codex:1293352]         _delegateCall(abi.encodeCall(IOrderManager.afterSwap, (ftReserve, xtReserve, deltaFt)));
[codex:1293352]     }
[codex:1293352] }
[codex:1293352] 
[codex:1293352] thinking
[codex:1293352] **Summarizing delegatecall and access control risks**
[codex:1293352] exec
[codex:1293352] /bin/bash -lc "nl -ba contracts/contracts/vault/TermMaxVault.sol | sed -n '370,390p'" in /tmp/codex-multi-n835s24t succeeded in 7ms:
[codex:1293352]    370	            _spendAllowance(owner, caller, shares);
[codex:1293352]    371	        }
[codex:1293352]    372	
[codex:1293352]    373	        _delegateCall(abi.encodeCall(IOrderManager.withdrawAssets, (IERC20(asset()), receiver, assets)));
[codex:1293352]    374	        _burn(owner, shares);
[codex:1293352]    375	
[codex:1293352]    376	        emit Withdraw(caller, receiver, owner, assets, shares);
[codex:1293352]    377	    }
[codex:1293352]    378	
[codex:1293352]    379	    function _delegateCall(bytes memory data) internal returns (bytes memory) {
[codex:1293352]    380	        (bool success, bytes memory returnData) = ORDER_MANAGER_SINGLETON.delegatecall(data);
[codex:1293352]    381	        if (!success) {
[codex:1293352]    382	            assembly {
[codex:1293352]    383	                let ptr := add(returnData, 0x20)
[codex:1293352]    384	                let len := mload(returnData)
[codex:1293352]    385	                revert(ptr, len)
[codex:1293352]    386	            }
[codex:1293352]    387	        }
[codex:1293352]    388	        return returnData;
[codex:1293352]    389	    }
[codex:1293352] 
[codex:1293352] thinking
[codex:1293352] **Identifying delegatecall usage**
[codex:1293352] exec
[codex:1293352] /bin/bash -lc "nl -ba contracts/contracts/vault/TermMaxVault.sol | sed -n '735,750p'" in /tmp/codex-multi-n835s24t succeeded in 5ms:
[codex:1293352]    735	    {
[codex:1293352]    736	        uint256 interest = (previewAnnualizedInterest * (endTime - startTime)) / 365 days;
[codex:1293352]    737	        uint256 performanceFeeToCurator = (interest * _performanceFeeRate) / Constants.DECIMAL_BASE;
[codex:1293352]    738	        return (interest - performanceFeeToCurator, performanceFeeToCurator);
[codex:1293352]    739	    }
[codex:1293352]    740	
[codex:1293352]    741	    /// @notice Callback function for the swap
[codex:1293352]    742	    /// @param deltaFt The change in the ft balance of the order
[codex:1293352]    743	    function afterSwap(uint256 ftReserve, uint256 xtReserve, int256 deltaFt, int256) external override {
[codex:1293352]    744	        _delegateCall(abi.encodeCall(IOrderManager.afterSwap, (ftReserve, xtReserve, deltaFt)));
[codex:1293352]    745	    }
[codex:1293352]    746	}
[codex:1293352] 
[codex:1293352] thinking
[codex:1293352] **Summarizing audit findings and crafting JSON report**
[codex:1293352] 
[codex:1293352] I'll carefully analyze reentrancy guards, delegatecalls, and access controls in the vault code, then prepare a JSON report detailing two main findings: an unrestricted swap callback allowing spoofed accounting and delegatecall risks linked to upgradeability and full vault control. I'll ensure the report is valid JSON with clear severity, categories, and recommendations, reflecting plausible but conditional vulnerabilities.
[codex:1293352] codex
[codex:1293352] {"no_findings":false,"summary":"Found 2 issues: an unrestricted swap callback can let arbitrary callers spoof swap data, and core vault logic is executed via delegatecall to an external OrderManager, creating an upgradeability/backdoor risk.","findings":[{"severity":"medium","category":"access_control","title":"Unrestricted swap callback can spoof reserves and corrupt vault accounting","exploit_scenario":"An attacker calls `afterSwap` directly with fabricated `ftReserve`, `xtReserve`, and `deltaFt` values. The vault forwards these values via delegatecall; if the OrderManager relies on the inputs without validating `msg.sender` and reserves, it can update interest/principal accounting based on attacker-controlled data, letting the attacker manipulate share pricing and withdraw more assets or extract collateral via bad-debt handling.","recommendation":"Restrict `afterSwap` to authorized order contracts (e.g., require `msg.sender` is a known order in `_orderMapping` or a whitelisted market) and validate the reserve/delta values against on-chain balances before updating accounting.","evidence":"`afterSwap` is `external` with no access control and forwards user-supplied values into a delegatecall.","locations":["contracts/contracts/vault/TermMaxVault.sol:743","contracts/contracts/vault/TermMaxVault.sol:744"]},{"severity":"medium","category":"upgradeability","title":"Delegatecall to external OrderManager gives it full control of vault storage","exploit_scenario":"If `ORDER_MANAGER_SINGLETON` is a proxy or its admin is compromised, its implementation can be upgraded to malicious code. Because the vault uses `delegatecall`, that code executes in the vault’s context and can rewrite balances, mint/burn shares, or transfer assets out, effectively draining the vault.","recommendation":"Ensure `ORDER_MANAGER_SINGLETON` is a non-upgradeable, immutable implementation (or pin its codehash), or add a timelocked, auditable upgrade path with governance approvals and an emergency pause/replace mechanism.","evidence":"The vault delegates critical operations to `ORDER_MANAGER_SINGLETON` via `delegatecall`.","locations":["contracts/contracts/vault/TermMaxVault.sol:379","contracts/contracts/vault/TermMaxVault.sol:380"]}]}
[codex:1293352] tokens used
[codex:1293352] 50,277
[codex:1293352] {"no_findings":false,"summary":"Found 2 issues: an unrestricted swap callback can let arbitrary callers spoof swap data, and core vault logic is executed via delegatecall to an external OrderManager, creating an upgradeability/backdoor risk.","findings":[{"severity":"medium","category":"access_control","title":"Unrestricted swap callback can spoof reserves and corrupt vault accounting","exploit_scenario":"An attacker calls `afterSwap` directly with fabricated `ftReserve`, `xtReserve`, and `deltaFt` values. The vault forwards these values via delegatecall; if the OrderManager relies on the inputs without validating `msg.sender` and reserves, it can update interest/principal accounting based on attacker-controlled data, letting the attacker manipulate share pricing and withdraw more assets or extract collateral via bad-debt handling.","recommendation":"Restrict `afterSwap` to authorized order contracts (e.g., require `msg.sender` is a known order in `_orderMapping` or a whitelisted market) and validate the reserve/delta values against on-chain balances before updating accounting.","evidence":"`afterSwap` is `external` with no access control and forwards user-supplied values into a delegatecall.","locations":["contracts/contracts/vault/TermMaxVault.sol:743","contracts/contracts/vault/TermMaxVault.sol:744"]},{"severity":"medium","category":"upgradeability","title":"Delegatecall to external OrderManager gives it full control of vault storage","exploit_scenario":"If `ORDER_MANAGER_SINGLETON` is a proxy or its admin is compromised, its implementation can be upgraded to malicious code. Because the vault uses `delegatecall`, that code executes in the vault’s context and can rewrite balances, mint/burn shares, or transfer assets out, effectively draining the vault.","recommendation":"Ensure `ORDER_MANAGER_SINGLETON` is a non-upgradeable, immutable implementation (or pin its codehash), or add a timelocked, auditable upgrade path with governance approvals and an emergency pause/replace mechanism.","evidence":"The vault delegates critical operations to `ORDER_MANAGER_SINGLETON` via `delegatecall`.","locations":["contracts/contracts/vault/TermMaxVault.sol:379","contracts/contracts/vault/TermMaxVault.sol:380"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-30T18:43:35.090985+00:00",
        "returncode": 0
    },
    "summary": "Found 2 issues: an unrestricted swap callback can let arbitrary callers spoof swap data, and core vault logic is executed via delegatecall to an external OrderManager, creating an upgradeability/backdoor risk.",
    "raw_final": {
        "summary": "Found 2 issues: an unrestricted swap callback can let arbitrary callers spoof swap data, and core vault logic is executed via delegatecall to an external OrderManager, creating an upgradeability/backdoor risk.",
        "findings": [
            {
                "title": "Unrestricted swap callback can spoof reserves and corrupt vault accounting",
                "category": "access_control",
                "evidence": "`afterSwap` is `external` with no access control and forwards user-supplied values into a delegatecall.",
                "severity": "medium",
                "locations": [
                    "contracts/contracts/vault/TermMaxVault.sol:743",
                    "contracts/contracts/vault/TermMaxVault.sol:744"
                ],
                "recommendation": "Restrict `afterSwap` to authorized order contracts (e.g., require `msg.sender` is a known order in `_orderMapping` or a whitelisted market) and validate the reserve/delta values against on-chain balances before updating accounting.",
                "exploit_scenario": "An attacker calls `afterSwap` directly with fabricated `ftReserve`, `xtReserve`, and `deltaFt` values. The vault forwards these values via delegatecall; if the OrderManager relies on the inputs without validating `msg.sender` and reserves, it can update interest/principal accounting based on attacker-controlled data, letting the attacker manipulate share pricing and withdraw more assets or extract collateral via bad-debt handling."
            },
            {
                "title": "Delegatecall to external OrderManager gives it full control of vault storage",
                "category": "upgradeability",
                "evidence": "The vault delegates critical operations to `ORDER_MANAGER_SINGLETON` via `delegatecall`.",
                "severity": "medium",
                "locations": [
                    "contracts/contracts/vault/TermMaxVault.sol:379",
                    "contracts/contracts/vault/TermMaxVault.sol:380"
                ],
                "recommendation": "Ensure `ORDER_MANAGER_SINGLETON` is a non-upgradeable, immutable implementation (or pin its codehash), or add a timelocked, auditable upgrade path with governance approvals and an emergency pause/replace mechanism.",
                "exploit_scenario": "If `ORDER_MANAGER_SINGLETON` is a proxy or its admin is compromised, its implementation can be upgraded to malicious code. Because the vault uses `delegatecall`, that code executes in the vault\u2019s context and can rewrite balances, mint/burn shares, or transfer assets out, effectively draining the vault."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
3
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
5
EXT*/BALANCE
6
Total opcodes
11726
Flags
delegatecall_present create_opcodes_present heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: ISZERO
0000000a: PUSH2 0x0011
0000000d: JUMPI
0000000e: PUSH0
0000000f: DUP1
00000010: REVERT
00000011: JUMPDEST
00000012: PUSH0
00000013: CALLDATALOAD
00000014: PUSH1 0xe0
00000016: SHR
00000017: DUP1
00000018: PUSH4 0x01e1d114
0000001d: EQ
0000001e: PUSH2 0x04f5
00000021: JUMPI
00000022: DUP1
00000023: PUSH4 0x06fdde03
00000028: EQ
00000029: PUSH2 0x04f0
0000002c: JUMPI
0000002d: DUP1
0000002e: PUSH4 0x07a2d13a
00000033: EQ
00000034: PUSH2 0x0491
00000037: JUMPI
00000038: DUP1
00000039: PUSH4 0x095ea7b3
0000003e: EQ
0000003f: PUSH2 0x04eb
00000042: JUMPI
00000043: DUP1
00000044: PUSH4 0x0a28a477
00000049: EQ
0000004a: PUSH2 0x04e6
0000004d: JUMPI
0000004e: DUP1
0000004f: PUSH4 0x0f4f0c32
00000054: EQ
00000055: PUSH2 0x04e1
00000058: JUMPI
00000059: DUP1
0000005a: PUSH4 0x0ffbfda4
0000005f: EQ
00000060: PUSH2 0x04dc
00000063: JUMPI
00000064: DUP1
00000065: PUSH4 0x1124f92c
0000006a: EQ
0000006b: PUSH2 0x04d7
0000006e: JUMPI
0000006f: DUP1
00000070: PUSH4 0x18160ddd
00000075: EQ
00000076: PUSH2 0x04d2
00000079: JUMPI
0000007a: DUP1
0000007b: PUSH4 0x1908a2ee
00000080: EQ
00000081: PUSH2 0x04cd
00000084: JUMPI
00000085: DUP1
00000086: PUSH4 0x1ecca77c
0000008b: EQ
0000008c: PUSH2 0x04c8
0000008f: JUMPI
00000090: DUP1
00000091: PUSH4 0x23b872dd
00000096: EQ
00000097: PUSH2 0x04c3
0000009a: JUMPI
0000009b: DUP1
0000009c: PUSH4 0x313ce567
000000a1: EQ
000000a2: PUSH2 0x04be
000000a5: JUMPI
000000a6: DUP1
000000a7: PUSH4 0x33f91ebb
000000ac: EQ
000000ad: PUSH2 0x04b9
000000b0: JUMPI
000000b1: DUP1
000000b2: PUSH4 0x38d52e0f
000000b7: EQ
000000b8: PUSH2 0x04b4
000000bb: JUMPI
000000bc: DUP1
000000bd: PUSH4 0x3f38db41
000000c2: EQ
000000c3: PUSH2 0x04af
000000c6: JUMPI
000000c7: DUP1
000000c8: PUSH4 0x3f4ba83a
000000cd: EQ
000000ce: PUSH2 0x04aa
000000d1: JUMPI
000000d2: DUP1
000000d3: PUSH4 0x402d267d
000000d8: EQ
000000d9: PUSH2 0x04a5
000000dc: JUMPI
000000dd: DUP1
000000de: PUSH4 0x41b67833
000000e3: EQ
000000e4: PUSH2 0x04a0
000000e7: JUMPI
000000e8: DUP1
000000e9: PUSH4 0x452a9320
000000ee: EQ
000000ef: PUSH2 0x049b
000000f2: JUMPI
000000f3: DUP1
000000f4: PUSH4 0x460bf7e1
000000f9: EQ
000000fa: PUSH2 0x0496
000000fd: JUMPI
000000fe: DUP1
000000ff: PUSH4 0x4cdad506
00000104: EQ
00000105: PUSH2 0x0491
00000108: JUMPI
00000109: DUP1
0000010a: PUSH4 0x4dedf20e
0000010f: EQ
00000110: PUSH2 0x048c
00000113: JUMPI
00000114: DUP1
00000115: PUSH4 0x57ded9c9
0000011a: EQ
0000011b: PUSH2 0x0487
0000011e: JUMPI
0000011f: DUP1
00000120: PUSH4 0x594d16f7
00000125: EQ
00000126: PUSH2 0x0482
00000129: JUMPI
0000012a: DUP1
0000012b: PUSH4 0x5c975abb
00000130: EQ
00000131: PUSH2 0x047d
00000134: JUMPI
00000135: DUP1
00000136: PUSH4 0x5f19ed69
0000013b: EQ
0000013c: PUSH2 0x0478
0000013f: JUMPI
00000140: DUP1
00000141: PUSH4 0x618f9694
00000146: EQ
00000147: PUSH2 0x0473
0000014a: JUMPI
0000014b: DUP1
0000014c: PUSH4 0x62518ddf
00000151: EQ
00000152: PUSH2 0x046e
00000155: JUMPI
00000156: DUP1
00000157: PUSH4 0x69c42125
0000015c: EQ
0000015d: PUSH2 0x0469
00000160: JUMPI
00000161: DUP1
00000162: PUSH4 0x6e553f65
00000167: EQ
00000168: PUSH2 0x0464
0000016b: JUMPI
0000016c: DUP1
0000016d: PUSH4 0x70a08231
00000172: EQ
00000173: PUSH2 0x03bf
00000176: JUMPI
00000177: DUP1
00000178: PUSH4 0x715018a6
0000017d: EQ
0000017e: PUSH2 0x045f
00000181: JUMPI
00000182: DUP1
00000183: PUSH4 0x7207fbb4
00000188: EQ
00000189: PUSH2 0x045a
0000018c: JUMPI
0000018d: DUP1
0000018e: PUSH4 0x7224a512
00000193: EQ
00000194: PUSH2 0x0455
00000197: JUMPI
00000198: DUP1
00000199: PUSH4 0x762c31ba
0000019e: EQ
0000019f: PUSH2 0x0450
000001a2: JUMPI
000001a3: DUP1
000001a4: PUSH4 0x77e1731b
000001a9: EQ
000001aa: PUSH2 0x044b
000001ad: JUMPI
000001ae: DUP1
000001af: PUSH4 0x79ba5097
000001b4: EQ
000001b5: PUSH2 0x0446
000001b8: JUMPI
000001b9: DUP1
000001ba: PUSH4 0x7cc4d9a1
000001bf: EQ
000001c0: PUSH2 0x0441
000001c3: JUMPI
000001c4: DUP1
000001c5: PUSH4 0x80a58a5e
000001ca: EQ
000001cb: PUSH2 0x043c
000001ce: JUMPI
000001cf: DUP1
000001d0: PUSH4 0x8456cb59
000001d5: EQ
000001d6: PUSH2 0x0437
000001d9: JUMPI
000001da: DUP1
000001db: PUSH4 0x87788782
000001e0: EQ
000001e1: PUSH2 0x0432
000001e4: JUMPI
000001e5: DUP1
000001e6: PUSH4 0x8a2c7b39
000001eb: EQ
000001ec: PUSH2 0x042d
000001ef: JUMPI
000001f0: DUP1
000001f1: PUSH4 0x8da5cb5b
000001f6: EQ
000001f7: PUSH2 0x0428
000001fa: JUMPI
000001fb: DUP1
000001fc: PUSH4 0x91915ef8
00000201: EQ
00000202: PUSH2 0x0423
00000205: JUMPI
00000206: DUP1
00000207: PUSH4 0x93bd007b
0000020c: EQ
0000020d: PUSH2 0x041e
00000210: JUMPI
00000211: DUP1
00000212: PUSH4 0x94bf804d
00000217: EQ
00000218: PUSH2 0x0419
0000021b: JUMPI
0000021c: DUP1
0000021d: PUSH4 0x95d89b41
00000222: EQ
00000223: PUSH2 0x0414
00000226: JUMPI
00000227: DUP1
00000228: PUSH4 0x988a64c4
0000022d: EQ
0000022e: PUSH2 0x040f
00000231: JUMPI
00000232: DUP1
00000233: PUSH4 0x9d6b4a45
00000238: EQ
00000239: PUSH2 0x040a
0000023c: JUMPI
0000023d: DUP1
0000023e: PUSH4 0xa17b3130
00000243: EQ
00000244: PUSH2 0x0405
00000247: JUMPI
00000248: DUP1
00000249: PUSH4 0xa5f31d61
0000024e: EQ
0000024f: PUSH2 0x0400
00000252: JUMPI
00000253: DUP1
00000254: PUSH4 0xa9059cbb
00000259: EQ
0000025a: PUSH2 0x03fb
0000025d: JUMPI
0000025e: DUP1
0000025f: PUSH4 0xa9133f5e
00000264: EQ
00000265: PUSH2 0x03f6
00000268: JUMPI
00000269: DUP1
0000026a: PUSH4 0xad15a208
0000026f: EQ
00000270: PUSH2 0x03f1
00000273: JUMPI
00000274: DUP1
00000275: PUSH4 0xb192a84a
0000027a: EQ
0000027b: PUSH2 0x03ec
0000027e: JUMPI
0000027f: DUP1
00000280: PUSH4 0xb3d7f6b9
00000285: EQ
00000286: PUSH2 0x03e7
00000289: JUMPI
0000028a: DUP1
0000028b: PUSH4 0xb460af94
00000290: EQ
00000291: PUSH2 0x03e2
00000294: JUMPI
00000295: DUP1
00000296: PUSH4 0xba087652
0000029b: EQ
0000029c: PUSH2 0x03dd
0000029f: JUMPI
000002a0: DUP1
000002a1: PUSH4 0xc63d75b6
000002a6: EQ
000002a7: PUSH2 0x03d8
000002aa: JUMPI
000002ab: DUP1
000002ac: PUSH4 0xc6e6f592
000002b1: EQ
000002b2: PUSH2 0x0392
000002b5: JUMPI
000002b6: DUP1
000002b7: PUSH4 0xc9649aa9
000002bc: EQ
000002bd: PUSH2 0x03d3
000002c0: JUMPI
000002c1: DUP1
000002c2: PUSH4 0xcb3cab67
000002c7: EQ
000002c8: PUSH2 0x03ce
000002cb: JUMPI
000002cc: DUP1
000002cd: PUSH4 0xce96cb77
000002d2: EQ
000002d3: PUSH2 0x03c9
000002d6: JUMPI
000002d7: DUP1
000002d8: PUSH4 0xd33219b4
000002dd: EQ
000002de: PUSH2 0x03c4
000002e1: JUMPI
000002e2: DUP1
000002e3: PUSH4 0xd905777e
000002e8: EQ
000002e9: PUSH2 0x03bf
000002ec: JUMPI
000002ed: DUP1
000002ee: PUSH4 0xda3f224a
000002f3: EQ
000002f4: PUSH2 0x03ba
000002f7: JUMPI
000002f8: DUP1
000002f9: PUSH4 0xdd62ed3e
000002fe: EQ
000002ff: PUSH2 0x03b5
00000302: JUMPI
00000303: DUP1
00000304: PUSH4 0xe30c3978
00000309: EQ
0000030a: PUSH2 0x03b0
0000030d: JUMPI
0000030e: DUP1
0000030f: PUSH4 0xe34c721b
00000314: EQ
00000315: PUSH2 0x03ab
00000318: JUMPI
00000319: DUP1
0000031a: PUSH4 0xe5c6c88d
0000031f: EQ
00000320: PUSH2 0x03a6
00000323: JUMPI
00000324: DUP1
00000325: PUSH4 0xe66f53b7
0000032a: EQ
0000032b: PUSH2 0x03a1
0000032e: JUMPI
0000032f: DUP1
00000330: PUSH4 0xe850bff0
00000335: EQ
00000336: PUSH2 0x039c
00000339: JUMPI
0000033a: DUP1
0000033b: PUSH4 0xe90956cf
00000340: EQ
00000341: PUSH2 0x0397
00000344: JUMPI
00000345: DUP1
00000346: PUSH4 0xef8b30f7
0000034b: EQ
0000034c: PUSH2 0x0392
0000034f: JUMPI
00000350: DUP1
00000351: PUSH4 0xf199a00e
00000356: EQ
00000357: PUSH2 0x038d
0000035a: JUMPI
0000035b: DUP1
0000035c: PUSH4 0xf2fde38b
00000361: EQ
00000362: PUSH2 0x0388
00000365: JUMPI
00000366: DUP1
00000367: PUSH4 0xf6b6a7a4
0000036c: EQ
0000036d: PUSH2 0x0383
00000370: JUMPI
00000371: PUSH4 0xf7d18521
00000376: EQ
00000377: PUSH2 0x037e
0000037a: JUMPI
0000037b: PUSH0
0000037c: DUP1
0000037d: REVERT
0000037e: JUMPDEST
0000037f: PUSH2 0x2b7b
00000382: JUMP
00000383: JUMPDEST
00000384: PUSH2 0x2ada
00000387: JUMP
00000388: JUMPDEST
00000389: PUSH2 0x2a52
0000038c: JUMP
0000038d: JUMPDEST
0000038e: PUSH2 0x2930
00000391: JUMP
00000392: JUMPDEST
00000393: PUSH2 0x2551
00000396: JUMP
00000397: JUMPDEST
00000398: PUSH2 0x28b7
0000039b: JUMP
0000039c: JUMPDEST
0000039d: PUSH2 0x2849
000003a0: JUMP
000003a1: JUMPDEST
000003a2: PUSH2 0x2821
000003a5: JUMP
000003a6: JUMPDEST
000003a7: PUSH2 0x27fb
000003aa: JUMP
000003ab: JUMPDEST
000003ac: PUSH2 0x2764
000003af: JUMP
000003b0: JUMPDEST
000003b1: PUSH2 0x2730
000003b4: JUMP
000003b5: JUMPDEST
000003b6: PUSH2 0x26f0
000003b9: JUMP
000003ba: JUMPDEST
000003bb: PUSH2 0x26a3
000003be: JUMP
000003bf: JUMPDEST
000003c0: PUSH2 0x1421
000003c3: JUMP
000003c4: JUMPDEST
000003c5: PUSH2 0x2686
000003c8: JUMP
000003c9: JUMPDEST
000003ca: PUSH2 0x265f
000003cd: JUMP
000003ce: JUMPDEST
000003cf: PUSH2 0x25e3
000003d2: JUMP
000003d3: JUMPDEST
000003d4: PUSH2 0x256f
000003d7: JUMP
000003d8: JUMPDEST
000003d9: PUSH2 0x252b
000003dc: JUMP
000003dd: JUMPDEST
000003de: PUSH2 0x2410
000003e1: JUMP
000003e2: JUMPDEST
000003e3: PUSH2 0x22db
000003e6: JUMP
000003e7: JUMPDEST
000003e8: PUSH2 0x2294
000003eb: JUMP
000003ec: JUMPDEST
000003ed: PUSH2 0x2208
000003f0: JUMP
000003f1: JUMPDEST
000003f2: PUSH2 0x208e
000003f5: JUMP
000003f6: JUMPDEST
000003f7: PUSH2 0x2027
000003fa: JUMP
000003fb: JUMPDEST
000003fc: PUSH2 0x1ffd
000003ff: JUMP
00000400: JUMPDEST
00000401: PUSH2 0x1fbf
00000404: JUMP
00000405: JUMPDEST
00000406: PUSH2 0x1fa2
00000409: JUMP
0000040a: JUMPDEST
0000040b: PUSH2 0x1ec9
0000040e: JUMP
0000040f: JUMPDEST
00000410: PUSH2 0x1e41
00000413: JUMP
00000414: JUMPDEST
00000415: PUSH2 0x1d84
00000418: JUMP
00000419: JUMPDEST
0000041a: PUSH2 0x1c71
0000041d: JUMP
0000041e: JUMPDEST
0000041f: PUSH2 0x1ba0
00000422: JUMP
00000423: JUMPDEST
00000424: PUSH2 0x1b17
00000427: JUMP
00000428: JUMPDEST
00000429: PUSH2 0x1ae3
0000042c: JUMP
0000042d: JUMPDEST
0000042e: PUSH2 0x1a90
00000431: JUMP
00000432: JUMPDEST
00000433: PUSH2 0x1a6a
00000436: JUMP
00000437: JUMPDEST
00000438: PUSH2 0x19e2
0000043b: JUMP
0000043c: JUMPDEST
0000043d: PUSH2 0x196e
00000440: JUMP
00000441: JUMPDEST
00000442: PUSH2 0x1907
00000445: JUMP
00000446: JUMPDEST
00000447: PUSH2 0x18bb
0000044a: JUMP
0000044b: JUMPDEST
0000044c: PUSH2 0x17d4
0000044f: JUMP
00000450: JUMPDEST
00000451: PUSH2 0x1708
00000454: JUMP
00000455: JUMPDEST
00000456: PUSH2 0x1636
00000459: JUMP
0000045a: JUMPDEST
0000045b: PUSH2 0x14c5
0000045e: JUMP
0000045f: JUMPDEST
00000460: PUSH2 0x1448
00000463: JUMP
00000464: JUMPDEST
00000465: PUSH2 0x12a9
00000468: JUMP
00000469: JUMPDEST
0000046a: PUSH2 0x1283
0000046d: JUMP
0000046e: JUMPDEST
0000046f: PUSH2 0x1224
00000472: JUMP
00000473: JUMPDEST
00000474: PUSH2 0x11e9
00000477: JUMP
00000478: JUMPDEST
00000479: PUSH2 0x10f8
0000047c: JUMP
0000047d: JUMPDEST
0000047e: PUSH2 0x0f62
00000481: JUMP
00000482: JUMPDEST
00000483: PUSH2 0x0f3c
00000486: JUMP
00000487: JUMPDEST
00000488: PUSH2 0x0f22
0000048b: JUMP
0000048c: JUMPDEST
0000048d: PUSH2 0x0ee2
00000490: JUMP
00000491: JUMPDEST
00000492: PUSH2 0x0650
00000495: JUMP
00000496: JUMPDEST
00000497: PUSH2 0x0e5c
0000049a: JUMP
0000049b: JUMPDEST
0000049c: PUSH2 0x0e35
0000049f: JUMP
000004a0: JUMPDEST
000004a1: PUSH2 0x0db8
000004a4: JUMP
000004a5: JUMPDEST
000004a6: PUSH2 0x0c56
000004a9: JUMP
000004aa: JUMPDEST
000004ab: PUSH2 0x0ba2
000004ae: JUMP
000004af: JUMPDEST
000004b0: PUSH2 0x0b3b
000004b3: JUMP
000004b4: JUMPDEST
000004b5: PUSH2 0x0b07
000004b8: JUMP
000004b9: JUMPDEST
000004ba: PUSH2 0x0aea
000004bd: JUMP
000004be: JUMPDEST
000004bf: PUSH2 0x0aad
000004c2: JUMP
000004c3: JUMPDEST
000004c4: PUSH2 0x0a62
000004c7: JUMP
000004c8: JUMPDEST
000004c9: PUSH2 0x09df
000004cc: JUMP
000004cd: JUMPDEST
000004ce: PUSH2 0x099f
000004d1: JUMP
000004d2: JUMPDEST
000004d3: PUSH2 0x0976
000004d6: JUMP
000004d7: JUMPDEST
000004d8: PUSH2 0x07fc
000004db: JUMP
000004dc: JUMPDEST
000004dd: PUSH2 0x07ae
000004e0: JUMP
000004e1: JUMPDEST
000004e2: PUSH2 0x076a
000004e5: JUMP
000004e6: JUMPDEST
000004e7: PUSH2 0x074c
000004ea: JUMP
000004eb: JUMPDEST
000004ec: PUSH2 0x0694
000004ef: JUMP
000004f0: JUMPDEST
000004f1: PUSH2 0x055e
000004f4: JUMP
000004f5: JUMPDEST
000004f6: PUSH2 0x0508
000004f9: JUMP
000004fa: JUMPDEST
000004fb: PUSH0
000004fc: SWAP2
000004fd: SUB
000004fe: SLT
000004ff: PUSH2 0x0504
00000502: JUMPI
00000503: JUMP
00000504: JUMPDEST
00000505: PUSH0
00000506: DUP1
00000507: REVERT
00000508: JUMPDEST
00000509: CALLVALUE
0000050a: PUSH2 0x0504
0000050d: JUMPI
0000050e: PUSH0
0000050f: CALLDATASIZE
00000510: PUSH1 0x03
00000512: NOT
00000513: ADD
00000514: SLT
00000515: PUSH2 0x0504
00000518: JUMPI
00000519: PUSH1 0x20
0000051b: PUSH7 0x2386f26fc10000
00000523: PUSH2 0x052a
00000526: PUSH2 0x3565
00000529: JUMP
0000052a: JUMPDEST
0000052b: POP
0000052c: DIV
0000052d: PUSH1 0x40
0000052f: MLOAD
00000530: SWAP1
00000531: DUP2
00000532: MSTORE
00000533: RETURN
00000534: JUMPDEST
00000535: PUSH1 0x20
00000537: PUSH1 0x40
00000539: SWAP3
0000053a: DUP2
0000053b: DUP4
0000053c: MSTORE
0000053d: DUP1
0000053e: MLOAD
0000053f: SWAP2
00000540: DUP3
00000541: SWAP2
00000542: DUP3
00000543: DUP3
00000544: DUP7
00000545: ADD
00000546: MSTORE
00000547: ADD
00000548: DUP5
00000549: DUP5
0000054a: ADD
0000054b: MCOPY
0000054c: PUSH0
0000054d: DUP3
0000054e: DUP3
0000054f: ADD
00000550: DUP5
00000551: ADD
00000552: MSTORE
00000553: PUSH1 0x1f
00000555: ADD
00000556: PUSH1 0x1f
00000558: NOT
00000559: AND
0000055a: ADD
0000055b: ADD
0000055c: SWAP1
0000055d: JUMP
0000055e: JUMPDEST
0000055f: CALLVALUE
00000560: PUSH2 0x0504
00000563: JUMPI
00000564: PUSH0
00000565: CALLDATASIZE
00000566: PUSH1 0x03
00000568: NOT
00000569: ADD
0000056a: SLT
0000056b: PUSH2 0x0504
0000056e: JUMPI
0000056f: PUSH1 0x40
00000571: MLOAD
00000572: PUSH0
00000573: PUSH0
00000574: MLOAD
00000575: PUSH1 0x20
00000577: PUSH2 0x4753
0000057a: PUSH0
0000057b: CODECOPY
0000057c: PUSH0
0000057d: MLOAD
0000057e: SWAP1
0000057f: PUSH0
00000580: MSTORE
00000581: SLOAD
00000582: PUSH2 0x058a
00000585: DUP2
00000586: PUSH2 0x2c0c
00000589: JUMP
0000058a: JUMPDEST
0000058b: DUP1
0000058c: DUP5
0000058d: MSTORE
0000058e: SWAP1
0000058f: PUSH1 0x01
00000591: DUP2
00000592: AND
00000593: SWAP1
00000594: DUP2
00000595: ISZERO
00000596: PUSH2 0x062c
00000599: JUMPI
0000059a: POP
0000059b: PUSH1 0x01
0000059d: EQ
0000059e: PUSH2 0x05c2
000005a1: JUMPI
000005a2: JUMPDEST
000005a3: PUSH2 0x05be
000005a6: DUP4
000005a7: PUSH2 0x05b2
000005aa: DUP2
000005ab: DUP6
000005ac: SUB
000005ad: DUP3
000005ae: PUSH2 0x0ce6
000005b1: JUMP
000005b2: JUMPDEST
000005b3: PUSH1 0x40
000005b5: MLOAD
000005b6: SWAP2
000005b7: DUP3
000005b8: SWAP2
000005b9: DUP3
000005ba: PUSH2 0x0534
000005bd: JUMP
000005be: JUMPDEST
000005bf: SUB
000005c0: SWAP1
000005c1: RETURN
000005c2: JUMPDEST
000005c3: PUSH0
000005c4: MLOAD
000005c5: PUSH1 0x20
000005c7: PUSH2 0x4753
000005ca: PUSH0
000005cb: CODECOPY
000005cc: PUSH0
000005cd: MLOAD
000005ce: SWAP1
000005cf: PUSH0
000005d0: MSTORE
000005d1: PUSH0
000005d2: SWAP1
000005d3: DUP2
000005d4: MSTORE
000005d5: PUSH32 0x2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0
000005f6: SWAP4
000005f7: SWAP3
000005f8: POP
000005f9: SWAP1
000005fa: JUMPDEST
000005fb: DUP1
000005fc: DUP3
000005fd: LT
000005fe: PUSH2 0x0612
00000601: JUMPI
00000602: POP
00000603: SWAP1
00000604: SWAP2
00000605: POP
00000606: DUP2
00000607: ADD
00000608: PUSH1 0x20
0000060a: ADD
0000060b: PUSH2 0x05b2
0000060e: PUSH2 0x05a2
00000611: JUMP
00000612: JUMPDEST
00000613: SWAP2
00000614: SWAP3
00000615: PUSH1 0x01
00000617: DUP2
00000618: PUSH1 0x20
0000061a: SWAP3
0000061b: SLOAD
0000061c: DUP4
0000061d: DUP6
0000061e: DUP9
0000061f: ADD
00000620: ADD
00000621: MSTORE
00000622: ADD
00000623: SWAP2
00000624: ADD
00000625: SWAP1
00000626: SWAP3
00000627: SWAP2
00000628: PUSH2 0x05fa
0000062b: JUMP
0000062c: JUMPDEST
0000062d: PUSH1 0xff
0000062f: NOT
00000630: AND
00000631: PUSH1 0x20
00000633: DUP1
00000634: DUP7
00000635: ADD
00000636: SWAP2
00000637: SWAP1
00000638: SWAP2
00000639: MSTORE
0000063a: SWAP2
0000063b: ISZERO
0000063c: ISZERO
0000063d: PUSH1 0x05
0000063f: SHL
00000640: DUP5
00000641: ADD
00000642: SWAP1
00000643: SWAP2
00000644: ADD
00000645: SWAP2
00000646: POP
00000647: PUSH2 0x05b2
0000064a: SWAP1
0000064b: POP
0000064c: PUSH2 0x05a2
0000064f: JUMP
00000650: JUMPDEST
00000651: CALLVALUE
00000652: PUSH2 0x0504
00000655: JUMPI
00000656: PUSH1 0x20
00000658: CALLDATASIZE
00000659: PUSH1 0x03
0000065b: NOT
0000065c: ADD
0000065d: SLT
0000065e: PUSH2 0x0504
00000661: JUMPI
00000662: PUSH1 0x20
00000664: PUSH2 0x066e
00000667: PUSH1 0x04
00000669: CALLDATALOAD
0000066a: PUSH2 0x36b9
0000066d: JUMP
0000066e: JUMPDEST
0000066f: PUSH1 0x40
00000671: MLOAD
00000672: SWAP1
00000673: DUP2
00000674: MSTORE
00000675: RETURN
00000676: JUMPDEST
00000677: PUSH1 0x01
00000679: PUSH1 0x01
0000067b: PUSH1 0xa0
0000067d: SHL
0000067e: SUB
0000067f: DUP2
00000680: AND
00000681: SUB
00000682: PUSH2 0x0504
00000685: JUMPI
00000686: JUMP
00000687: JUMPDEST
00000688: CALLDATALOAD
00000689: SWAP1
0000068a: PUSH2 0x0692
0000068d: DUP3
0000068e: PUSH2 0x0676
00000691: JUMP
00000692: JUMPDEST
00000693: JUMP
00000694: JUMPDEST
00000695: CALLVALUE
00000696: PUSH2 0x0504
00000699: JUMPI
0000069a: PUSH1 0x40
0000069c: CALLDATASIZE
0000069d: PUSH1 0x03
0000069f: NOT
000006a0: ADD
000006a1: SLT
000006a2: PUSH2 0x0504
000006a5: JUMPI
000006a6: PUSH1 0x04
000006a8: CALLDATALOAD
000006a9: PUSH2 0x06b1
000006ac: DUP2
000006ad: PUSH2 0x0676
000006b0: JUMP
000006b1: JUMPDEST
000006b2: PUSH1 0x24
000006b4: CALLDATALOAD
000006b5: CALLER
000006b6: ISZERO
000006b7: PUSH2 0x0739
000006ba: JUMPI
000006bb: PUSH1 0x01
000006bd: PUSH1 0x01
000006bf: PUSH1 0xa0
000006c1: SHL
000006c2: SUB
000006c3: DUP3
000006c4: AND
000006c5: SWAP2
000006c6: DUP3
000006c7: ISZERO
000006c8: PUSH2 0x0726
000006cb: JUMPI
000006cc: PUSH2 0x06ee
000006cf: DUP3
000006d0: SWAP2
000006d1: PUSH2 0x06d9
000006d4: CALLER
000006d5: PUSH2 0x2c44
000006d8: JUMP
000006d9: JUMPDEST
000006da: SWAP1
000006db: PUSH1 0x01
000006dd: DUP1
000006de: PUSH1 0xa0
000006e0: SHL
000006e1: SUB
000006e2: AND
000006e3: PUSH0
000006e4: MSTORE
000006e5: PUSH1 0x20
000006e7: MSTORE
000006e8: PUSH1 0x40
000006ea: PUSH0
000006eb: KECCAK256
000006ec: SWAP1
000006ed: JUMP
000006ee: JUMPDEST
000006ef: SSTORE
000006f0: PUSH1 0x40
000006f2: MLOAD
000006f3: SWAP1
000006f4: DUP2
000006f5: MSTORE
000006f6: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
00000717: PUSH1 0x20
00000719: CALLER
0000071a: SWAP3
0000071b: LOG3
0000071c: PUSH1 0x20
0000071e: PUSH1 0x40
00000720: MLOAD
00000721: PUSH1 0x01
00000723: DUP2
00000724: MSTORE
00000725: RETURN
00000726: JUMPDEST
00000727: PUSH4 0x4a1406b1
0000072c: PUSH1 0xe1
0000072e: SHL
0000072f: PUSH0
00000730: MSTORE
00000731: PUSH0
00000732: PUSH1 0x04
00000734: MSTORE
00000735: PUSH1 0x24
00000737: PUSH0
00000738: REVERT
00000739: JUMPDEST
0000073a: PUSH4 0xe602df05
0000073f: PUSH1 0xe0
00000741: SHL
00000742: PUSH0
00000743: MSTORE
00000744: PUSH0
00000745: PUSH1 0x04
00000747: MSTORE
00000748: PUSH1 0x24
0000074a: PUSH0
0000074b: REVERT
0000074c: JUMPDEST
0000074d: CALLVALUE
0000074e: PUSH2 0x0504
00000751: JUMPI
00000752: PUSH1 0x20
00000754: CALLDATASIZE
00000755: PUSH1 0x03
00000757: NOT
00000758: ADD
00000759: SLT
0000075a: PUSH2 0x0504
0000075d: JUMPI
0000075e: PUSH1 0x20
00000760: PUSH2 0x066e
00000763: PUSH1 0x04
00000765: CALLDATALOAD
00000766: PUSH2 0x3740
00000769: JUMP
0000076a: JUMPDEST
0000076b: CALLVALUE
0000076c: PUSH2 0x0504
0000076f: JUMPI
00000770: PUSH0
00000771: CALLDATASIZE
00000772: PUSH1 0x03
00000774: NOT
00000775: ADD
00000776: SLT
00000777: PUSH2 0x0504
0000077a: JUMPI
0000077b: PUSH1 0x40
0000077d: MLOAD
0000077e: PUSH32 0x00000000000000000000000025afa58ba32bec9daa32ba7f6a1cd0941b699310
0000079f: PUSH1 0x01
000007a1: PUSH1 0x01
000007a3: PUSH1 0xa0
000007a5: SHL
000007a6: SUB
000007a7: AND
000007a8: DUP2
000007a9: MSTORE
000007aa: PUSH1 0x20
000007ac: SWAP1
000007ad: RETURN
000007ae: JUMPDEST
000007af: CALLVALUE
000007b0: PUSH2 0x0504
000007b3: JUMPI
000007b4: PUSH0
000007b5: CALLDATASIZE
000007b6: PUSH1 0x03
000007b8: NOT
000007b9: ADD
000007ba: SLT
000007bb: PUSH2 0x0504
000007be: JUMPI
000007bf: PUSH1 0x20
000007c1: PUSH1 0x01
000007c3: PUSH1 0x01
000007c5: PUSH1 0x40
000007c7: SHL
000007c8: SUB
000007c9: PUSH1 0x0e
000007cb: SLOAD
000007cc: AND
000007cd: PUSH1 0x40
000007cf: MLOAD
000007d0: SWAP1
000007d1: DUP2
000007d2: MSTORE
000007d3: RETURN
000007d4: JUMPDEST
000007d5: PUSH1 0x40
000007d7: SWAP1
000007d8: PUSH1 0x03
000007da: NOT
000007db: ADD
000007dc: SLT
000007dd: PUSH2 0x0504
000007e0: JUMPI
000007e1: PUSH1 0x04
000007e3: CALLDATALOAD
000007e4: PUSH2 0x07ec
000007e7: DUP2
000007e8: PUSH2 0x0676
000007eb: JUMP
000007ec: JUMPDEST
000007ed: SWAP1
000007ee: PUSH1 0x24
000007f0: CALLDATALOAD
000007f1: DUP1
000007f2: ISZERO
000007f3: ISZERO
000007f4: DUP2
000007f5: SUB
000007f6: PUSH2 0x0504
000007f9: JUMPI
000007fa: SWAP1
000007fb: JUMP
000007fc: JUMPDEST
000007fd: CALLVALUE
000007fe: PUSH2 0x0504
00000801: JUMPI
00000802: PUSH2 0x080a
00000805: CALLDATASIZE
00000806: PUSH2 0x07d4
00000809: JUMP
0000080a: JUMPDEST
0000080b: PUSH1 0x01
0000080d: SLOAD
0000080e: PUSH1 0x01
00000810: PUSH1 0x01
00000812: PUSH1 0xa0
00000814: SHL
00000815: SUB
00000816: AND
00000817: CALLER
00000818: EQ
00000819: ISZERO
0000081a: DUP1
0000081b: PUSH2 0x0955
0000081e: JUMPI
0000081f: JUMPDEST
00000820: PUSH2 0x0946
00000823: JUMPI
00000824: PUSH1 0x01
00000826: PUSH1 0x01
00000828: PUSH1 0xa0
0000082a: SHL
0000082b: SUB
0000082c: DUP3
0000082d: AND
0000082e: PUSH0
0000082f: SWAP1
00000830: DUP2
00000831: MSTORE
00000832: PUSH1 0x03
00000834: PUSH1 0x20
00000836: MSTORE
00000837: PUSH1 0x40
00000839: SWAP1
0000083a: KECCAK256
0000083b: PUSH2 0x0846
0000083e: SWAP1
0000083f: JUMPDEST
00000840: SLOAD
00000841: PUSH1 0xff
00000843: AND
00000844: SWAP1
00000845: JUMP
00000846: JUMPDEST
00000847: DUP1
00000848: PUSH2 0x093f
0000084b: JUMPI
0000084c: JUMPDEST
0000084d: PUSH2 0x0930
00000850: JUMPI
00000851: PUSH1 0x01
00000853: PUSH1 0x01
00000855: PUSH1 0xa0
00000857: SHL
00000858: SUB
00000859: DUP3
0000085a: AND
0000085b: PUSH0
0000085c: SWAP1
0000085d: DUP2
0000085e: MSTORE
0000085f: PUSH1 0x04
00000861: PUSH1 0x20
00000863: MSTORE
00000864: PUSH1 0x40
00000866: SWAP1
00000867: KECCAK256
00000868: PUSH1 0x01
0000086a: PUSH1 0x01
0000086c: PUSH1 0x40
0000086e: SHL
0000086f: SUB
00000870: SWAP1
00000871: PUSH2 0x087c
00000874: SWAP1
00000875: JUMPDEST
00000876: SLOAD
00000877: PUSH1 0xc0
00000879: SHR
0000087a: SWAP1
0000087b: JUMP
0000087c: JUMPDEST
0000087d: AND
0000087e: PUSH2 0x0921
00000881: JUMPI
00000882: DUP1
00000883: PUSH2 0x0891
00000886: JUMPI
00000887: PUSH2 0x088f
0000088a: SWAP2
0000088b: PUSH2 0x3864
0000088e: JUMP
0000088f: JUMPDEST
00000890: STOP
00000891: JUMPDEST
00000892: POP
00000893: PUSH1 0x01
00000895: PUSH1 0x01
00000897: PUSH1 0xa0
00000899: SHL
0000089a: SUB
0000089b: DUP2
0000089c: AND
0000089d: PUSH0
0000089e: SWAP1
0000089f: DUP2
000008a0: MSTORE
000008a1: PUSH1 0x04
000008a3: PUSH1 0x20
000008a5: MSTORE
000008a6: PUSH1 0x40
000008a8: SWAP1
000008a9: KECCAK256
000008aa: PUSH1 0x08
000008ac: SLOAD
000008ad: PUSH2 0x08b5
000008b0: SWAP2
000008b1: PUSH2 0x37c7
000008b4: JUMP
000008b5: JUMPDEST
000008b6: PUSH32 0x24c5ea3dd9a5ba11b8a603674e63d62accaa480c1b05d18de5861f3894868d79
000008d7: PUSH2 0x091c
000008da: PUSH2 0x08f6
000008dd: PUSH2 0x0875
000008e0: DUP5
000008e1: PUSH1 0x01
000008e3: DUP1
000008e4: PUSH1 0xa0
000008e6: SHL
000008e7: SUB
000008e8: AND
000008e9: PUSH0
000008ea: MSTORE
000008eb: PUSH1 0x04
000008ed: PUSH1 0x20
000008ef: MSTORE
000008f0: PUSH1 0x40
000008f2: PUSH0
000008f3: KECCAK256
000008f4: SWAP1
000008f5: JUMP
000008f6: JUMPDEST
000008f7: PUSH1 0x40
000008f9: MLOAD
000008fa: PUSH1 0x01
000008fc: PUSH1 0x01
000008fe: PUSH1 0x40
00000900: SHL
00000901: SUB
00000902: SWAP1
00000903: SWAP2
00000904: AND
00000905: DUP2
00000906: MSTORE
00000907: PUSH1 0x01
00000909: PUSH1 0x01
0000090b: PUSH1 0xa0
0000090d: SHL
0000090e: SUB
0000090f: SWAP1
00000910: SWAP4
00000911: AND
00000912: SWAP3
00000913: SWAP1
00000914: DUP2
00000915: SWAP1
00000916: PUSH1 0x20
00000918: DUP3
00000919: ADD
0000091a: SWAP1
0000091b: JUMP
0000091c: JUMPDEST
0000091d: SUB
0000091e: SWAP1
0000091f: LOG2
00000920: STOP
00000921: JUMPDEST
00000922: PUSH4 0x24d90267
00000927: PUSH1 0xe1
00000929: SHL
0000092a: PUSH0
0000092b: MSTORE
0000092c: PUSH1 0x04
0000092e: PUSH0
0000092f: REVERT
00000930: JUMPDEST
00000931: PUSH4 0xa741a045
00000936: PUSH1 0xe0
00000938: SHL
00000939: PUSH0
0000093a: MSTORE
0000093b: PUSH1 0x04
0000093d: PUSH0
0000093e: REVERT
0000093f: JUMPDEST
00000940: POP
00000941: DUP1
00000942: PUSH2 0x084c
00000945: JUMP
00000946: JUMPDEST
00000947: PUSH4 0x32a2673b
0000094c: PUSH1 0xe2
0000094e: SHL
0000094f: PUSH0
00000950: MSTORE
00000951: PUSH1 0x04
00000953: PUSH0
00000954: REVERT
00000955: JUMPDEST
00000956: POP
00000957: PUSH0
00000958: MLOAD
00000959: PUSH1 0x20
0000095b: PUSH2 0x4793
0000095e: PUSH0
0000095f: CODECOPY
00000960: PUSH0
00000961: MLOAD
00000962: SWAP1
00000963: PUSH0
00000964: MSTORE
00000965: SLOAD
00000966: PUSH1 0x01
00000968: PUSH1 0x01
0000096a: PUSH1 0xa0
0000096c: SHL
0000096d: SUB
0000096e: AND
0000096f: CALLER
00000970: EQ
00000971: ISZERO
00000972: PUSH2 0x081f
00000975: JUMP
00000976: JUMPDEST
00000977: CALLVALUE
00000978: PUSH2 0x0504
0000097b: JUMPI
0000097c: PUSH0
0000097d: CALLDATASIZE
0000097e: PUSH1 0x03
00000980: NOT
00000981: ADD
00000982: SLT
00000983: PUSH2 0x0504
00000986: JUMPI
00000987: PUSH1 0x20
00000989: PUSH0
0000098a: MLOAD
0000098b: PUSH1 0x20
0000098d: PUSH2 0x47b3
00000990: PUSH0
00000991: CODECOPY
00000992: PUSH0
00000993: MLOAD
00000994: SWAP1
00000995: PUSH0
00000996: MSTORE
00000997: SLOAD
00000998: PUSH1 0x40
0000099a: MLOAD
0000099b: SWAP1
0000099c: DUP2
0000099d: MSTORE
0000099e: RETURN
0000099f: JUMPDEST
000009a0: CALLVALUE
000009a1: PUSH2 0x0504
000009a4: JUMPI
000009a5: PUSH1 0x20
000009a7: CALLDATASIZE
000009a8: PUSH1 0x03
000009aa: NOT
000009ab: ADD
000009ac: SLT
000009ad: PUSH2 0x0504
000009b0: JUMPI
000009b1: PUSH1 0x04
000009b3: CALLDATALOAD
000009b4: PUSH2 0x09bc
000009b7: DUP2
000009b8: PUSH2 0x0676
000009bb: JUMP
000009bc: JUMPDEST
000009bd: PUSH1 0x01
000009bf: DUP1
000009c0: PUSH1 0xa0
000009c2: SHL
000009c3: SUB
000009c4: AND
000009c5: PUSH0
000009c6: MSTORE
000009c7: PUSH1 0x03
000009c9: PUSH1 0x20
000009cb: MSTORE
000009cc: PUSH1 0x20
000009ce: PUSH1 0xff
000009d0: PUSH1 0x40
000009d2: PUSH0
000009d3: KECCAK256
000009d4: SLOAD
000009d5: AND
000009d6: PUSH1 0x40
000009d8: MLOAD
000009d9: SWAP1
000009da: ISZERO
000009db: ISZERO
000009dc: DUP2
000009dd: MSTORE
000009de: RETURN
000009df: JUMPDEST
000009e0: CALLVALUE
000009e1: PUSH2 0x0504
000009e4: JUMPI
000009e5: PUSH0
000009e6: CALLDATASIZE
000009e7: PUSH1 0x03
000009e9: NOT
000009ea: ADD
000009eb: SLT
000009ec: PUSH2 0x0504
000009ef: JUMPI
000009f0: PUSH0
000009f1: SLOAD
000009f2: PUSH1 0x01
000009f4: PUSH1 0x01
000009f6: PUSH1 0xa0
000009f8: SHL
000009f9: SUB
000009fa: AND
000009fb: CALLER
000009fc: EQ
000009fd: ISZERO
000009fe: DUP1
000009ff: PUSH2 0x0a41
00000a02: JUMPI
00000a03: JUMPDEST
00000a04: PUSH2 0x0a32
00000a07: JUMPI
00000a08: PUSH0
00000a09: PUSH1 0x07
00000a0b: SSTORE
00000a0c: CALLER
00000a0d: PUSH32 0xc40a085ccfa20f5fd518ade5c3a77a7ecbdfbb4c75efcdca6146a8e3c841d663
00000a2e: PUSH0
00000a2f: DUP1
00000a30: LOG2
00000a31: STOP
00000a32: JUMPDEST
00000a33: PUSH4 0x7cf97e4d
00000a38: PUSH1 0xe1
00000a3a: SHL
00000a3b: PUSH0
00000a3c: MSTORE
00000a3d: PUSH1 0x04
00000a3f: PUSH0
00000a40: REVERT
00000a41: JUMPDEST
00000a42: POP
00000a43: PUSH0
00000a44: MLOAD
00000a45: PUSH1 0x20
00000a47: PUSH2 0x4793
00000a4a: PUSH0
00000a4b: CODECOPY
00000a4c: PUSH0
00000a4d: MLOAD
00000a4e: SWAP1
00000a4f: PUSH0
00000a50: MSTORE
00000a51: SLOAD
00000a52: PUSH1 0x01
00000a54: PUSH1 0x01
00000a56: PUSH1 0xa0
00000a58: SHL
00000a59: SUB
00000a5a: AND
00000a5b: CALLER
00000a5c: EQ
00000a5d: ISZERO
00000a5e: PUSH2 0x0a03
00000a61: JUMP
00000a62: JUMPDEST
00000a63: CALLVALUE
00000a64: PUSH2 0x0504
00000a67: JUMPI
00000a68: PUSH1 0x60
00000a6a: CALLDATASIZE
00000a6b: PUSH1 0x03
00000a6d: NOT
00000a6e: ADD
00000a6f: SLT
00000a70: PUSH2 0x0504
00000a73: JUMPI
00000a74: PUSH2 0x0aa2
00000a77: PUSH1 0x04
00000a79: CALLDATALOAD
00000a7a: PUSH2 0x0a82
00000a7d: DUP2
00000a7e: PUSH2 0x0676
00000a81: JUMP
00000a82: JUMPDEST
00000a83: PUSH1 0x24
00000a85: CALLDATALOAD
00000a86: PUSH2 0x0a8e
00000a89: DUP2
00000a8a: PUSH2 0x0676
00000a8d: JUMP
00000a8e: JUMPDEST
00000a8f: PUSH1 0x44
00000a91: CALLDATALOAD
00000a92: SWAP2
00000a93: PUSH2 0x0a9d
00000a96: DUP4
00000a97: CALLER
00000a98: DUP4
00000a99: PUSH2 0x38c9
00000a9c: JUMP
00000a9d: JUMPDEST
00000a9e: PUSH2 0x3947
00000aa1: JUMP
00000aa2: JUMPDEST
00000aa3: PUSH1 0x20
00000aa5: PUSH1 0x40
00000aa7: MLOAD
00000aa8: PUSH1 0x01
00000aaa: DUP2
00000aab: MSTORE
00000aac: RETURN
00000aad: JUMPDEST
00000aae: CALLVALUE
00000aaf: PUSH2 0x0504
00000ab2: JUMPI
00000ab3: PUSH0
00000ab4: CALLDATASIZE
00000ab5: PUSH1 0x03
00000ab7: NOT
00000ab8: ADD
00000ab9: SLT
00000aba: PUSH2 0x0504
00000abd: JUMPI
00000abe: PUSH1 0xff
00000ac0: PUSH0
00000ac1: MLOAD
00000ac2: PUSH1 0x20
00000ac4: PUSH2 0x47d3
00000ac7: PUSH0
00000ac8: CODECOPY
00000ac9: PUSH0
00000aca: MLOAD
00000acb: SWAP1
00000acc: PUSH0
00000acd: MSTORE
00000ace: SLOAD
00000acf: PUSH1 0xa0
00000ad1: SHR
00000ad2: AND
00000ad3: PUSH1 0xff
00000ad5: DUP2
00000ad6: GT
00000ad7: PUSH2 0x0ae5
00000ada: JUMPI
00000adb: PUSH1 0x20
00000add: SWAP1
00000ade: PUSH1 0x40
00000ae0: MLOAD
00000ae1: SWAP1
00000ae2: DUP2
00000ae3: MSTORE
00000ae4: RETURN
00000ae5: JUMPDEST
00000ae6: PUSH2 0x2be9
00000ae9: JUMP
00000aea: JUMPDEST
00000aeb: CALLVALUE
00000aec: PUSH2 0x0504
00000aef: JUMPI
00000af0: PUSH0
00000af1: CALLDATASIZE
00000af2: PUSH1 0x03
00000af4: NOT
00000af5: ADD
00000af6: SLT
00000af7: PUSH2 0x0504
00000afa: JUMPI
00000afb: PUSH1 0x20
00000afd: PUSH1 0x10
00000aff: SLOAD
00000b00: PUSH1 0x40
00000b02: MLOAD
00000b03: SWAP1
00000b04: DUP2
00000b05: MSTORE
00000b06: RETURN
00000b07: JUMPDEST
00000b08: CALLVALUE
00000b09: PUSH2 0x0504
00000b0c: JUMPI
00000b0d: PUSH0
00000b0e: CALLDATASIZE
00000b0f: PUSH1 0x03
00000b11: NOT
00000b12: ADD
00000b13: SLT
00000b14: PUSH2 0x0504
00000b17: JUMPI
00000b18: PUSH0
00000b19: MLOAD
00000b1a: PUSH1 0x20
00000b1c: PUSH2 0x47d3
00000b1f: PUSH0
00000b20: CODECOPY
00000b21: PUSH0
00000b22: MLOAD
00000b23: SWAP1
00000b24: PUSH0
00000b25: MSTORE
00000b26: SLOAD
00000b27: PUSH1 0x40
00000b29: MLOAD
00000b2a: PUSH1 0x01
00000b2c: PUSH1 0x01
00000b2e: PUSH1 0xa0
00000b30: SHL
00000b31: SUB
00000b32: SWAP1
00000b33: SWAP2
00000b34: AND
00000b35: DUP2
00000b36: MSTORE
00000b37: PUSH1 0x20
00000b39: SWAP1
00000b3a: RETURN
00000b3b: JUMPDEST
00000b3c: CALLVALUE
00000b3d: PUSH2 0x0504
00000b40: JUMPI
00000b41: PUSH0
00000b42: CALLDATASIZE
00000b43: PUSH1 0x03
00000b45: NOT
00000b46: ADD
00000b47: SLT
00000b48: PUSH2 0x0504
00000b4b: JUMPI
00000b4c: PUSH2 0x0b53
00000b4f: PUSH2 0x2cb4
00000b52: JUMP
00000b53: JUMPDEST
00000b54: POP
00000b55: PUSH2 0x05be
00000b58: PUSH1 0x40
00000b5a: MLOAD
00000b5b: PUSH2 0x0b63
00000b5e: DUP2
00000b5f: PUSH2 0x0cb0
00000b62: JUMP
00000b63: JUMPDEST
00000b64: PUSH1 0x06
00000b66: SLOAD
00000b67: PUSH1 0x01
00000b69: PUSH1 0x01
00000b6b: PUSH1 0xc0
00000b6d: SHL
00000b6e: SUB
00000b6f: DUP2
00000b70: AND
00000b71: DUP1
00000b72: DUP4
00000b73: MSTORE
00000b74: PUSH1 0xc0
00000b76: SWAP2
00000b77: SWAP1
00000b78: SWAP2
00000b79: SHR
00000b7a: PUSH1 0x20
00000b7c: SWAP3
00000b7d: DUP4
00000b7e: ADD
00000b7f: SWAP1
00000b80: DUP2
00000b81: MSTORE
00000b82: PUSH1 0x40
00000b84: DUP1
00000b85: MLOAD
00000b86: SWAP3
00000b87: DUP4
00000b88: MSTORE
00000b89: SWAP1
00000b8a: MLOAD
00000b8b: PUSH1 0x01
00000b8d: PUSH1 0x01
00000b8f: PUSH1 0x40
00000b91: SHL
00000b92: SUB
00000b93: AND
00000b94: SWAP3
00000b95: DUP3
00000b96: ADD
00000b97: SWAP3
00000b98: SWAP1
00000b99: SWAP3
00000b9a: MSTORE
00000b9b: SWAP2
00000b9c: DUP3
00000b9d: SWAP2
00000b9e: DUP3
00000b9f: ADD
00000ba0: SWAP1
00000ba1: JUMP
00000ba2: JUMPDEST
00000ba3: CALLVALUE
00000ba4: PUSH2 0x0504
00000ba7: JUMPI
00000ba8: PUSH0
00000ba9: CALLDATASIZE
00000baa: PUSH1 0x03
00000bac: NOT
00000bad: ADD
00000bae: SLT
00000baf: PUSH2 0x0504
00000bb2: JUMPI
00000bb3: PUSH2 0x0bba
00000bb6: PUSH2 0x3a11
00000bb9: JUMP
00000bba: JUMPDEST
00000bbb: PUSH2 0x0bc2
00000bbe: PUSH2 0x3a31
00000bc1: JUMP
00000bc2: JUMPDEST
00000bc3: PUSH0
00000bc4: JUMPDEST
00000bc5: PUSH1 0x0f
00000bc7: SLOAD
00000bc8: DUP2
00000bc9: LT
00000bca: ISZERO
00000bcb: PUSH2 0x088f
00000bce: JUMPI
00000bcf: PUSH2 0x0c01
00000bd2: PUSH2 0x0bf5
00000bd5: PUSH2 0x0bf5
00000bd8: PUSH2 0x0be0
00000bdb: DUP5
00000bdc: PUSH2 0x2ce0
00000bdf: JUMP
00000be0: JUMPDEST
00000be1: SWAP1
00000be2: SLOAD
00000be3: PUSH1 0x03
00000be5: SWAP2
00000be6: SWAP1
00000be7: SWAP2
00000be8: SHL
00000be9: SHR
00000bea: PUSH1 0x01
00000bec: PUSH1 0x01
00000bee: PUSH1 0xa0
00000bf0: SHL
00000bf1: SUB
00000bf2: AND
00000bf3: SWAP1
00000bf4: JUMP
00000bf5: JUMPDEST
00000bf6: PUSH1 0x01
00000bf8: PUSH1 0x01
00000bfa: PUSH1 0xa0
00000bfc: SHL
00000bfd: SUB
00000bfe: AND
00000bff: SWAP1
00000c00: JUMP
00000c01: JUMPDEST
00000c02: SWAP1
00000c03: DUP2
00000c04: EXTCODESIZE
00000c05: ISZERO
00000c06: PUSH2 0x0504
00000c09: JUMPI
00000c0a: PUSH0
00000c0b: DUP1
00000c0c: SWAP3
00000c0d: PUSH1 0x04
00000c0f: PUSH1 0x40
00000c11: MLOAD
00000c12: DUP1
00000c13: SWAP6
00000c14: DUP2
00000c15: SWAP4
00000c16: PUSH4 0x1fa5d41d
00000c1b: PUSH1 0xe1
00000c1d: SHL
00000c1e: DUP4
00000c1f: MSTORE
00000c20: GAS
00000c21: CALL
00000c22: SWAP2
00000c23: DUP3
00000c24: ISZERO
00000c25: PUSH2 0x0c51
00000c28: JUMPI
00000c29: PUSH1 0x01
00000c2b: SWAP3
00000c2c: PUSH2 0x0c37
00000c2f: JUMPI
00000c30: JUMPDEST
00000c31: POP
00000c32: ADD
00000c33: PUSH2 0x0bc4
00000c36: JUMP
00000c37: JUMPDEST
00000c38: DUP1
00000c39: PUSH2 0x0c45
00000c3c: PUSH0
00000c3d: PUSH2 0x0c4b
00000c40: SWAP4
00000c41: PUSH2 0x0ce6
00000c44: JUMP
00000c45: JUMPDEST
00000c46: DUP1
00000c47: PUSH2 0x04fa
00000c4a: JUMP
00000c4b: JUMPDEST
00000c4c: PUSH0
00000c4d: PUSH2 0x0c30
00000c50: JUMP
00000c51: JUMPDEST
00000c52: PUSH2 0x2d10
00000c55: JUMP
00000c56: JUMPDEST
00000c57: CALLVALUE
00000c58: PUSH2 0x0504
00000c5b: JUMPI
00000c5c: PUSH1 0x20
00000c5e: CALLDATASIZE
00000c5f: PUSH1 0x03
00000c61: NOT
00000c62: ADD
00000c63: SLT
00000c64: PUSH2 0x0504
00000c67: JUMPI
00000c68: PUSH2 0x0c72
00000c6b: PUSH1 0x04
00000c6d: CALLDATALOAD
00000c6e: PUSH2 0x0676
00000c71: JUMP
00000c72: JUMPDEST
00000c73: PUSH1 0x20
00000c75: PUSH2 0x066e
00000c78: PUSH2 0x2d28
00000c7b: JUMP
00000c7c: JUMPDEST
00000c7d: PUSH4 0x4e487b71
00000c82: PUSH1 0xe0
00000c84: SHL
00000c85: PUSH0
00000c86: MSTORE
00000c87: PUSH1 0x41
00000c89: PUSH1 0x04
00000c8b: MSTORE
00000c8c: PUSH1 0x24
00000c8e: PUSH0
00000c8f: REVERT
00000c90: JUMPDEST
00000c91: PUSH1 0x60
00000c93: DUP2
00000c94: ADD
00000c95: SWAP1
00000c96: DUP2
00000c97: LT
00000c98: PUSH1 0x01
00000c9a: PUSH1 0x01
00000c9c: PUSH1 0x40
00000c9e: SHL
00000c9f: SUB
00000ca0: DUP3
00000ca1: GT
00000ca2: OR
00000ca3: PUSH2 0x0cab
00000ca6: JUMPI
00000ca7: PUSH1 0x40
00000ca9: MSTORE
00000caa: JUMP
00000cab: JUMPDEST
00000cac: PUSH2 0x0c7c
00000caf: JUMP
00000cb0: JUMPDEST
00000cb1: PUSH1 0x40
00000cb3: DUP2
00000cb4: ADD
00000cb5: SWAP1
00000cb6: DUP2
00000cb7: LT
00000cb8: PUSH1 0x01
00000cba: PUSH1 0x01
00000cbc: PUSH1 0x40
00000cbe: SHL
00000cbf: SUB
00000cc0: DUP3
00000cc1: GT
00000cc2: OR
00000cc3: PUSH2 0x0cab
00000cc6: JUMPI
00000cc7: PUSH1 0x40
00000cc9: MSTORE
00000cca: JUMP
00000ccb: JUMPDEST
00000ccc: PUSH1 0xa0
00000cce: DUP2
00000ccf: ADD
00000cd0: SWAP1
00000cd1: DUP2
00000cd2: LT
00000cd3: PUSH1 0x01
00000cd5: PUSH1 0x01
00000cd7: PUSH1 0x40
00000cd9: SHL
00000cda: SUB
00000cdb: DUP3
00000cdc: GT
00000cdd: OR
00000cde: PUSH2 0x0cab
00000ce1: JUMPI
00000ce2: PUSH1 0x40
00000ce4: MSTORE
00000ce5: JUMP
00000ce6: JUMPDEST
00000ce7: SWAP1
00000ce8: PUSH1 0x1f
00000cea: DUP1
00000ceb: NOT
00000cec: SWAP2
00000ced: ADD
00000cee: AND
00000cef: DUP2
00000cf0: ADD
00000cf1: SWAP1
00000cf2: DUP2
00000cf3: LT
00000cf4: PUSH1 0x01
00000cf6: PUSH1 0x01
00000cf8: PUSH1 0x40
00000cfa: SHL
00000cfb: SUB
00000cfc: DUP3
00000cfd: GT
00000cfe: OR
00000cff: PUSH2 0x0cab
00000d02: JUMPI
00000d03: PUSH1 0x40
00000d05: MSTORE
00000d06: JUMP
00000d07: JUMPDEST
00000d08: PUSH1 0x40
00000d0a: MLOAD
00000d0b: SWAP1
00000d0c: PUSH2 0x0692
00000d0f: PUSH2 0x0100
00000d12: DUP4
00000d13: PUSH2 0x0ce6
00000d16: JUMP
00000d17: JUMPDEST
00000d18: PUSH1 0x01
00000d1a: PUSH1 0x01
00000d1c: PUSH1 0x40
00000d1e: SHL
00000d1f: SUB
00000d20: DUP2
00000d21: GT
00000d22: PUSH2 0x0cab
00000d25: JUMPI
00000d26: PUSH1 0x05
00000d28: SHL
00000d29: PUSH1 0x20
00000d2b: ADD
00000d2c: SWAP1
00000d2d: JUMP
00000d2e: JUMPDEST
00000d2f: SWAP1
00000d30: DUP1
00000d31: PUSH1 0x1f
00000d33: DUP4
00000d34: ADD
00000d35: SLT
00000d36: ISZERO
00000d37: PUSH2 0x0504
00000d3a: JUMPI
00000d3b: DUP2
00000d3c: CALLDATALOAD
00000d3d: PUSH2 0x0d45
00000d40: DUP2
00000d41: PUSH2 0x0d17
00000d44: JUMP
00000d45: JUMPDEST
00000d46: SWAP3
00000d47: PUSH2 0x0d53
00000d4a: PUSH1 0x40
00000d4c: MLOAD
00000d4d: SWAP5
00000d4e: DUP6
00000d4f: PUSH2 0x0ce6
00000d52: JUMP
00000d53: JUMPDEST
00000d54: DUP2
00000d55: DUP5
00000d56: MSTORE
00000d57: PUSH1 0x20
00000d59: DUP1
00000d5a: DUP6
00000d5b: ADD
00000d5c: SWAP3
00000d5d: PUSH1 0x05
00000d5f: SHL
00000d60: DUP3
00000d61: ADD
00000d62: ADD
00000d63: SWAP3
00000d64: DUP4
00000d65: GT
00000d66: PUSH2 0x0504
00000d69: JUMPI
00000d6a: PUSH1 0x20
00000d6c: ADD
00000d6d: SWAP1
00000d6e: JUMPDEST
00000d6f: DUP3
00000d70: DUP3
00000d71: LT
00000d72: PUSH2 0x0d7b
00000d75: JUMPI
00000d76: POP
00000d77: POP
00000d78: POP
00000d79: SWAP1
00000d7a: JUMP
00000d7b: JUMPDEST
00000d7c: DUP2
00000d7d: CALLDATALOAD
00000d7e: DUP2
00000d7f: MSTORE
00000d80: PUSH1 0x20
00000d82: SWAP2
00000d83: DUP3
00000d84: ADD
00000d85: SWAP2
00000d86: ADD
00000d87: PUSH2 0x0d6e
00000d8a: JUMP
00000d8b: JUMPDEST
00000d8c: PUSH1 0x20
00000d8e: PUSH1 0x03
00000d90: NOT
00000d91: DUP3
00000d92: ADD
00000d93: SLT
00000d94: PUSH2 0x0504
00000d97: JUMPI
00000d98: PUSH1 0x04
00000d9a: CALLDATALOAD
00000d9b: SWAP1
00000d9c: PUSH1 0x01
00000d9e: PUSH1 0x01
00000da0: PUSH1 0x40
00000da2: SHL
00000da3: SUB
00000da4: DUP3
00000da5: GT
00000da6: PUSH2 0x0504
00000da9: JUMPI
00000daa: PUSH2 0x0db5
00000dad: SWAP2
00000dae: PUSH1 0x04
00000db0: ADD
00000db1: PUSH2 0x0d2e
00000db4: JUMP
00000db5: JUMPDEST
00000db6: SWAP1
00000db7: JUMP
00000db8: JUMPDEST
00000db9: CALLVALUE
00000dba: PUSH2 0x0504
00000dbd: JUMPI
00000dbe: PUSH2 0x0dc6
00000dc1: CALLDATASIZE
00000dc2: PUSH2 0x0d8b
00000dc5: JUMP
00000dc6: JUMPDEST
00000dc7: CALLER
00000dc8: PUSH0
00000dc9: MSTORE
00000dca: PUSH1 0x02
00000dcc: PUSH1 0x20
00000dce: MSTORE
00000dcf: PUSH1 0xff
00000dd1: PUSH1 0x40
00000dd3: PUSH0
00000dd4: KECCAK256
00000dd5: SLOAD
00000dd6: AND
00000dd7: ISZERO
00000dd8: DUP1
00000dd9: PUSH2 0x0e20
00000ddc: JUMPI
00000ddd: JUMPDEST
00000dde: DUP1
00000ddf: PUSH2 0x0dff
00000de2: JUMPI
00000de3: JUMPDEST
00000de4: PUSH2 0x0df0
00000de7: JUMPI
00000de8: PUSH2 0x088f
00000deb: SWAP1
00000dec: PUSH2 0x3c35
00000def: JUMP
00000df0: JUMPDEST
00000df1: PUSH4 0xf7137c0f
00000df6: PUSH1 0xe0
00000df8: SHL
00000df9: PUSH0
00000dfa: MSTORE
00000dfb: PUSH1 0x04
00000dfd: PUSH0
00000dfe: REVERT
00000dff: JUMPDEST
00000e00: POP
00000e01: PUSH0
00000e02: MLOAD
00000e03: PUSH1 0x20
00000e05: PUSH2 0x4793
00000e08: PUSH0
00000e09: CODECOPY
00000e0a: PUSH0
00000e0b: MLOAD
00000e0c: SWAP1
00000e0d: PUSH0
00000e0e: MSTORE
00000e0f: SLOAD
00000e10: PUSH1 0x01
00000e12: PUSH1 0x01
00000e14: PUSH1 0xa0
00000e16: SHL
00000e17: SUB
00000e18: AND
00000e19: CALLER
00000e1a: EQ
00000e1b: ISZERO
00000e1c: PUSH2 0x0de3
00000e1f: JUMP
00000e20: JUMPDEST
00000e21: POP
00000e22: PUSH1 0x01
00000e24: SLOAD
00000e25: PUSH1 0x01
00000e27: PUSH1 0x01
00000e29: PUSH1 0xa0
00000e2b: SHL
00000e2c: SUB
00000e2d: AND
00000e2e: CALLER
00000e2f: EQ
00000e30: ISZERO
00000e31: PUSH2 0x0ddd
00000e34: JUMP
00000e35: JUMPDEST
00000e36: CALLVALUE
00000e37: PUSH2 0x0504
00000e3a: JUMPI
00000e3b: PUSH0
00000e3c: CALLDATASIZE
00000e3d: PUSH1 0x03
00000e3f: NOT
00000e40: ADD
00000e41: SLT
00000e42: PUSH2 0x0504
00000e45: JUMPI
00000e46: PUSH0
00000e47: SLOAD
00000e48: PUSH1 0x40
00000e4a: MLOAD
00000e4b: PUSH1 0x01
00000e4d: PUSH1 0x01
00000e4f: PUSH1 0xa0
00000e51: SHL
00000e52: SUB
00000e53: SWAP1
00000e54: SWAP2
00000e55: AND
00000e56: DUP2
00000e57: MSTORE
00000e58: PUSH1 0x20
00000e5a: SWAP1
00000e5b: RETURN
00000e5c: JUMPDEST
00000e5d: CALLVALUE
00000e5e: PUSH2 0x0504
00000e61: JUMPI
00000e62: PUSH1 0x20
00000e64: CALLDATASIZE
00000e65: PUSH1 0x03
00000e67: NOT
00000e68: ADD
00000e69: SLT
00000e6a: PUSH2 0x0504
00000e6d: JUMPI
00000e6e: PUSH1 0x04
00000e70: CALLDATALOAD
00000e71: PUSH2 0x0e79
00000e74: DUP2
00000e75: PUSH2 0x0676
00000e78: JUMP
00000e79: JUMPDEST
00000e7a: PUSH2 0x0e81
00000e7d: PUSH2 0x2cb4
00000e80: JUMP
00000e81: JUMPDEST
00000e82: POP
00000e83: PUSH1 0x01
00000e85: DUP1
00000e86: PUSH1 0xa0
00000e88: SHL
00000e89: SUB
00000e8a: AND
00000e8b: PUSH0
00000e8c: MSTORE
00000e8d: PUSH1 0x04
00000e8f: PUSH1 0x20
00000e91: MSTORE
00000e92: PUSH2 0x05be
00000e95: PUSH1 0x40
00000e97: PUSH0
00000e98: KECCAK256
00000e99: PUSH1 0x40
00000e9b: MLOAD
00000e9c: SWAP1
00000e9d: PUSH2 0x0ea5
00000ea0: DUP3
00000ea1: PUSH2 0x0cb0
00000ea4: JUMP
00000ea5: JUMPDEST
00000ea6: SLOAD
00000ea7: PUSH1 0x01
00000ea9: PUSH1 0x01
00000eab: PUSH1 0xc0
00000ead: SHL
00000eae: SUB
00000eaf: DUP2
00000eb0: AND
00000eb1: DUP1
00000eb2: DUP4
00000eb3: MSTORE
00000eb4: PUSH1 0xc0
00000eb6: SWAP2
00000eb7: SWAP1
00000eb8: SWAP2
00000eb9: SHR
00000eba: PUSH1 0x20
00000ebc: SWAP3
00000ebd: DUP4
00000ebe: ADD
00000ebf: SWAP1
00000ec0: DUP2
00000ec1: MSTORE
00000ec2: PUSH1 0x40
00000ec4: DUP1
00000ec5: MLOAD
00000ec6: SWAP3
00000ec7: DUP4
00000ec8: MSTORE
00000ec9: SWAP1
00000eca: MLOAD
00000ecb: PUSH1 0x01
00000ecd: PUSH1 0x01
00000ecf: PUSH1 0x40
00000ed1: SHL
00000ed2: SUB
00000ed3: AND
00000ed4: SWAP3
00000ed5: DUP3
00000ed6: ADD
00000ed7: SWAP3
00000ed8: SWAP1
00000ed9: SWAP3
00000eda: MSTORE
00000edb: SWAP2
00000edc: DUP3
00000edd: SWAP2
00000ede: DUP3
00000edf: ADD
00000ee0: SWAP1
00000ee1: JUMP
00000ee2: JUMPDEST
00000ee3: CALLVALUE
00000ee4: PUSH2 0x0504
00000ee7: JUMPI
00000ee8: PUSH1 0x20
00000eea: CALLDATASIZE
00000eeb: PUSH1 0x03
00000eed: NOT
00000eee: ADD
00000eef: SLT
00000ef0: PUSH2 0x0504
00000ef3: JUMPI
00000ef4: PUSH1 0x04
00000ef6: CALLDATALOAD
00000ef7: PUSH2 0x0eff
00000efa: DUP2
00000efb: PUSH2 0x0676
00000efe: JUMP
00000eff: JUMPDEST
00000f00: PUSH1 0x01
00000f02: DUP1
00000f03: PUSH1 0xa0
00000f05: SHL
00000f06: SUB
00000f07: AND
00000f08: PUSH0
00000f09: MSTORE
00000f0a: PUSH1 0x02
00000f0c: PUSH1 0x20
00000f0e: MSTORE
00000f0f: PUSH1 0x20
00000f11: PUSH1 0xff
00000f13: PUSH1 0x40
00000f15: PUSH0
00000f16: KECCAK256
00000f17: SLOAD
00000f18: AND
00000f19: PUSH1 0x40
00000f1b: MLOAD
00000f1c: SWAP1
00000f1d: ISZERO
00000f1e: ISZERO
00000f1f: DUP2
00000f20: MSTORE
00000f21: RETURN
00000f22: JUMPDEST
00000f23: CALLVALUE
00000f24: PUSH2 0x0504
00000f27: JUMPI
00000f28: PUSH0
00000f29: CALLDATASIZE
00000f2a: PUSH1 0x03
00000f2c: NOT
00000f2d: ADD
00000f2e: SLT
00000f2f: PUSH2 0x0504
00000f32: JUMPI
00000f33: PUSH1 0x20
00000f35: PUSH2 0x066e
00000f38: PUSH2 0x2d95
00000f3b: JUMP
00000f3c: JUMPDEST
00000f3d: CALLVALUE
00000f3e: PUSH2 0x0504
00000f41: JUMPI
00000f42: PUSH0
00000f43: CALLDATASIZE
00000f44: PUSH1 0x03
00000f46: NOT
00000f47: ADD
00000f48: SLT
00000f49: PUSH2 0x0504
00000f4c: JUMPI
00000f4d: PUSH1 0x20
00000f4f: PUSH7 0x2386f26fc10000
00000f57: PUSH1 0x0b
00000f59: SLOAD
00000f5a: DIV
00000f5b: PUSH1 0x40
00000f5d: MLOAD
00000f5e: SWAP1
00000f5f: DUP2
00000f60: MSTORE
00000f61: RETURN
00000f62: JUMPDEST
00000f63: CALLVALUE
00000f64: PUSH2 0x0504
00000f67: JUMPI
00000f68: PUSH0
00000f69: CALLDATASIZE
00000f6a: PUSH1 0x03
00000f6c: NOT
00000f6d: ADD
00000f6e: SLT
00000f6f: PUSH2 0x0504
00000f72: JUMPI
00000f73: PUSH1 0x20
00000f75: PUSH1 0xff
00000f77: PUSH0
00000f78: MLOAD
00000f79: PUSH1 0x20
00000f7b: PUSH2 0x47f3
00000f7e: PUSH0
00000f7f: CODECOPY
00000f80: PUSH0
00000f81: MLOAD
00000f82: SWAP1
00000f83: PUSH0
00000f84: MSTORE
00000f85: SLOAD
00000f86: AND
00000f87: PUSH1 0x40
00000f89: MLOAD
00000f8a: SWAP1
00000f8b: ISZERO
00000f8c: ISZERO
00000f8d: DUP2
00000f8e: MSTORE
00000f8f: RETURN
00000f90: JUMPDEST
00000f91: DUP2
00000f92: PUSH1 0x1f
00000f94: DUP3
00000f95: ADD
00000f96: SLT
00000f97: ISZERO
00000f98: PUSH2 0x0504
00000f9b: JUMPI
00000f9c: DUP1
00000f9d: CALLDATALOAD
00000f9e: SWAP1
00000f9f: PUSH2 0x0fa7
00000fa2: DUP3
00000fa3: PUSH2 0x0d17
00000fa6: JUMP
00000fa7: JUMPDEST
00000fa8: SWAP3
00000fa9: PUSH2 0x0fb5
00000fac: PUSH1 0x40
00000fae: MLOAD
00000faf: SWAP5
00000fb0: DUP6
00000fb1: PUSH2 0x0ce6
00000fb4: JUMP
00000fb5: JUMPDEST
00000fb6: DUP3
00000fb7: DUP5
00000fb8: MSTORE
00000fb9: PUSH1 0x20
00000fbb: PUSH1 0x60
00000fbd: DUP2
00000fbe: DUP7
00000fbf: ADD
00000fc0: SWAP5
00000fc1: MUL
00000fc2: DUP4
00000fc3: ADD
00000fc4: ADD
00000fc5: SWAP2
00000fc6: DUP2
00000fc7: DUP4
00000fc8: GT
00000fc9: PUSH2 0x0504
00000fcc: JUMPI
00000fcd: PUSH1 0x20
00000fcf: ADD
00000fd0: SWAP3
00000fd1: JUMPDEST
00000fd2: DUP3
00000fd3: DUP5
00000fd4: LT
00000fd5: PUSH2 0x0fdf
00000fd8: JUMPI
00000fd9: POP
00000fda: POP
00000fdb: POP
00000fdc: POP
00000fdd: SWAP1
00000fde: JUMP
00000fdf: JUMPDEST
00000fe0: PUSH1 0x60
00000fe2: DUP5
00000fe3: DUP4
00000fe4: SUB
00000fe5: SLT
00000fe6: PUSH2 0x0504
00000fe9: JUMPI
00000fea: PUSH1 0x20
00000fec: PUSH1 0x60
00000fee: SWAP2
00000fef: PUSH1 0x40
00000ff1: MLOAD
00000ff2: PUSH2 0x0ffa
00000ff5: DUP2
00000ff6: PUSH2 0x0c90
00000ff9: JUMP
00000ffa: JUMPDEST
00000ffb: DUP7
00000ffc: CALLDATALOAD
00000ffd: DUP2
00000ffe: MSTORE
00000fff: DUP3
00001000: DUP8
00001001: ADD
00001002: CALLDATALOAD
00001003: DUP4
00001004: DUP3
00001005: ADD
00001006: MSTORE
00001007: PUSH1 0x40
00001009: DUP8
0000100a: ADD
0000100b: CALLDATALOAD
0000100c: PUSH1 0x40
0000100e: DUP3
0000100f: ADD
00001010: MSTORE
00001011: DUP2
00001012: MSTORE
00001013: ADD
00001014: SWAP4
00001015: ADD
00001016: SWAP3
00001017: PUSH2 0x0fd1
0000101a: JUMP
0000101b: JUMPDEST
0000101c: SWAP2
0000101d: SWAP1
0000101e: PUSH1 0x40
00001020: DUP4
00001021: DUP3
00001022: SUB
00001023: SLT
00001024: PUSH2 0x0504
00001027: JUMPI
00001028: PUSH1 0x40
0000102a: MLOAD
0000102b: SWAP1
0000102c: PUSH2 0x1034
0000102f: DUP3
00001030: PUSH2 0x0cb0
00001033: JUMP
00001034: JUMPDEST
00001035: DUP2
00001036: SWAP4
00001037: DUP1
00001038: CALLDATALOAD
00001039: PUSH1 0x01
0000103b: PUSH1 0x01
0000103d: PUSH1 0x40
0000103f: SHL
00001040: SUB
00001041: DUP2
00001042: GT
00001043: PUSH2 0x0504
00001046: JUMPI
00001047: DUP3
00001048: PUSH2 0x1052
0000104b: SWAP2
0000104c: DUP4
0000104d: ADD
0000104e: PUSH2 0x0f90
00001051: JUMP
00001052: JUMPDEST
00001053: DUP4
00001054: MSTORE
00001055: PUSH1 0x20
00001057: DUP2
00001058: ADD
00001059: CALLDATALOAD
0000105a: SWAP2
0000105b: PUSH1 0x01
0000105d: PUSH1 0x01
0000105f: PUSH1 0x40
00001061: SHL
00001062: SUB
00001063: DUP4
00001064: GT
00001065: PUSH2 0x0504
00001068: JUMPI
00001069: PUSH1 0x20
0000106b: SWAP3
0000106c: PUSH2 0x1075
0000106f: SWAP3
00001070: ADD
00001071: PUSH2 0x0f90
00001074: JUMP
00001075: JUMPDEST
00001076: SWAP2
00001077: ADD
00001078: MSTORE
00001079: JUMP
0000107a: JUMPDEST
0000107b: SWAP1
0000107c: DUP1
0000107d: PUSH1 0x1f
0000107f: DUP4
00001080: ADD
00001081: SLT
00001082: ISZERO
00001083: PUSH2 0x0504
00001086: JUMPI
00001087: DUP2
00001088: CALLDATALOAD
00001089: PUSH2 0x1091
0000108c: DUP2
0000108d: PUSH2 0x0d17
00001090: JUMP
00001091: JUMPDEST
00001092: SWAP3
00001093: PUSH2 0x109f
00001096: PUSH1 0x40
00001098: MLOAD
00001099: SWAP5
0000109a: DUP6
0000109b: PUSH2 0x0ce6
0000109e: JUMP
0000109f: JUMPDEST
000010a0: DUP2
000010a1: DUP5
000010a2: MSTORE
000010a3: PUSH1 0x20
000010a5: DUP1
000010a6: DUP6
000010a7: ADD
000010a8: SWAP3
000010a9: PUSH1 0x05
000010ab: SHL
000010ac: DUP3
000010ad: ADD
000010ae: ADD
000010af: SWAP2
000010b0: DUP4
000010b1: DUP4
000010b2: GT
000010b3: PUSH2 0x0504
000010b6: JUMPI
000010b7: PUSH1 0x20
000010b9: DUP3
000010ba: ADD
000010bb: SWAP1
000010bc: JUMPDEST
000010bd: DUP4
000010be: DUP3
000010bf: LT
000010c0: PUSH2 0x10cb
000010c3: JUMPI
000010c4: POP
000010c5: POP
000010c6: POP
000010c7: POP
000010c8: POP
000010c9: SWAP1
000010ca: JUMP
000010cb: JUMPDEST
000010cc: DUP2
000010cd: CALLDATALOAD
000010ce: PUSH1 0x01
000010d0: PUSH1 0x01
000010d2: PUSH1 0x40
000010d4: SHL
000010d5: SUB
000010d6: DUP2
000010d7: GT
000010d8: PUSH2 0x0504
000010db: JUMPI
000010dc: PUSH1 0x20
000010de: SWAP2
000010df: PUSH2 0x10ed
000010e2: DUP8
000010e3: DUP5
000010e4: DUP1
000010e5: SWAP5
000010e6: DUP9
000010e7: ADD
000010e8: ADD
000010e9: PUSH2 0x101b
000010ec: JUMP
000010ed: JUMPDEST
000010ee: DUP2
000010ef: MSTORE
000010f0: ADD
000010f1: SWAP2
000010f2: ADD
000010f3: SWAP1
000010f4: PUSH2 0x10bc
000010f7: JUMP
000010f8: JUMPDEST
000010f9: CALLVALUE
000010fa: PUSH2 0x0504
000010fd: JUMPI
000010fe: PUSH1 0x80
00001100: CALLDATASIZE
00001101: PUSH1 0x03
00001103: NOT
00001104: ADD
00001105: SLT
00001106: PUSH2 0x0504
00001109: JUMPI
0000110a: PUSH1 0x04
0000110c: CALLDATALOAD
0000110d: PUSH1 0x01
0000110f: PUSH1 0x01
00001111: PUSH1 0x40
00001113: SHL
00001114: SUB
00001115: DUP2
00001116: GT
00001117: PUSH2 0x0504
0000111a: JUMPI
0000111b: CALLDATASIZE
0000111c: PUSH1 0x23
0000111e: DUP3
0000111f: ADD
00001120: SLT
00001121: ISZERO
00001122: PUSH2 0x0504
00001125: JUMPI
00001126: DUP1
00001127: PUSH1 0x04
00001129: ADD
0000112a: CALLDATALOAD
0000112b: SWAP1
0000112c: PUSH2 0x1134
0000112f: DUP3
00001130: PUSH2 0x0d17
00001133: JUMP
00001134: JUMPDEST
00001135: SWAP2
00001136: PUSH2 0x1142
00001139: PUSH1 0x40
0000113b: MLOAD
0000113c: SWAP4
0000113d: DUP5
0000113e: PUSH2 0x0ce6
00001141: JUMP
00001142: JUMPDEST
00001143: DUP1
00001144: DUP4
00001145: MSTORE
00001146: PUSH1 0x24
00001148: PUSH1 0x20
0000114a: DUP5
0000114b: ADD
0000114c: SWAP2
0000114d: PUSH1 0x05
0000114f: SHL
00001150: DUP4
00001151: ADD
00001152: ADD
00001153: SWAP2
00001154: CALLDATASIZE
00001155: DUP4
00001156: GT
00001157: PUSH2 0x0504
0000115a: JUMPI
0000115b: PUSH1 0x24
0000115d: ADD
0000115e: SWAP1
0000115f: JUMPDEST
00001160: DUP3
00001161: DUP3
00001162: LT
00001163: PUSH2 0x11cf
00001166: JUMPI
00001167: DUP4
00001168: PUSH1 0x24
0000116a: CALLDATALOAD
0000116b: PUSH1 0x01
0000116d: PUSH1 0x01
0000116f: PUSH1 0x40
00001171: SHL
00001172: SUB
00001173: DUP2
00001174: GT
00001175: PUSH2 0x0504
00001178: JUMPI
00001179: PUSH2 0x1186
0000117c: SWAP1
0000117d: CALLDATASIZE
0000117e: SWAP1
0000117f: PUSH1 0x04
00001181: ADD
00001182: PUSH2 0x0d2e
00001185: JUMP
00001186: JUMPDEST
00001187: SWAP1
00001188: PUSH1 0x44
0000118a: CALLDATALOAD
0000118b: PUSH1 0x01
0000118d: PUSH1 0x01
0000118f: PUSH1 0x40
00001191: SHL
00001192: SUB
00001193: DUP2
00001194: GT
00001195: PUSH2 0x0504
00001198: JUMPI
00001199: PUSH2 0x11a6
0000119c: SWAP1
0000119d: CALLDATASIZE
0000119e: SWAP1
0000119f: PUSH1 0x04
000011a1: ADD
000011a2: PUSH2 0x0d2e
000011a5: JUMP
000011a6: JUMPDEST
000011a7: PUSH1 0x64
000011a9: CALLDATALOAD
000011aa: SWAP3
000011ab: PUSH1 0x01
000011ad: PUSH1 0x01
000011af: PUSH1 0x40
000011b1: SHL
000011b2: SUB
000011b3: DUP5
000011b4: GT
000011b5: PUSH2 0x0504
000011b8: JUMPI
000011b9: PUSH2 0x11c9
000011bc: PUSH2 0x088f
000011bf: SWAP5
000011c0: CALLDATASIZE
000011c1: SWAP1
000011c2: PUSH1 0x04
000011c4: ADD
000011c5: PUSH2 0x107a
000011c8: JUMP
000011c9: JUMPDEST
000011ca: SWAP3
000011cb: PUSH2 0x2dcb
000011ce: JUMP
000011cf: JUMPDEST
000011d0: PUSH1 0x20
000011d2: DUP1
000011d3: SWAP2
000011d4: DUP4
000011d5: CALLDATALOAD
000011d6: PUSH2 0x11de
000011d9: DUP2
000011da: PUSH2 0x0676
000011dd: JUMP
000011de: JUMPDEST
000011df: DUP2
000011e0: MSTORE
000011e1: ADD
000011e2: SWAP2
000011e3: ADD
000011e4: SWAP1
000011e5: PUSH2 0x115f
000011e8: JUMP
000011e9: JUMPDEST
000011ea: CALLVALUE
000011eb: PUSH2 0x0504
000011ee: JUMPI
000011ef: PUSH1 0x20
000011f1: CALLDATASIZE
000011f2: PUSH1 0x03
000011f4: NOT
000011f5: ADD
000011f6: SLT
000011f7: PUSH2 0x0504
000011fa: JUMPI
000011fb: PUSH1 0x04
000011fd: CALLDATALOAD
000011fe: PUSH2 0x1206
00001201: DUP2
00001202: PUSH2 0x0676
00001205: JUMP
00001206: JUMPDEST
00001207: PUSH1 0x01
00001209: DUP1
0000120a: PUSH1 0xa0
0000120c: SHL
0000120d: SUB
0000120e: AND
0000120f: PUSH0
00001210: MSTORE
00001211: PUSH1 0x11
00001213: PUSH1 0x20
00001215: MSTORE
00001216: PUSH1 0x20
00001218: PUSH1 0x40
0000121a: PUSH0
0000121b: KECCAK256
0000121c: SLOAD
0000121d: PUSH1 0x40
0000121f: MLOAD
00001220: SWAP1
00001221: DUP2
00001222: MSTORE
00001223: RETURN
00001224: JUMPDEST
00001225: CALLVALUE
00001226: PUSH2 0x0504
00001229: JUMPI
0000122a: PUSH1 0x20
0000122c: CALLDATASIZE
0000122d: PUSH1 0x03
0000122f: NOT
00001230: ADD
00001231: SLT
00001232: PUSH2 0x0504
00001235: JUMPI
00001236: PUSH1 0x04
00001238: CALLDATALOAD
00001239: PUSH1 0x10
0000123b: SLOAD
0000123c: DUP2
0000123d: LT
0000123e: ISZERO
0000123f: PUSH2 0x127e
00001242: JUMPI
00001243: PUSH1 0x10
00001245: PUSH0
00001246: MSTORE
00001247: PUSH32 0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672
00001268: ADD
00001269: SLOAD
0000126a: PUSH1 0x40
0000126c: MLOAD
0000126d: PUSH1 0x01
0000126f: PUSH1 0x01
00001271: PUSH1 0xa0
00001273: SHL
00001274: SUB
00001275: SWAP1
00001276: SWAP2
00001277: AND
00001278: DUP2
00001279: MSTORE
0000127a: PUSH1 0x20
0000127c: SWAP1
0000127d: RETURN
0000127e: JUMPDEST
0000127f: PUSH2 0x2ccc
00001282: JUMP
00001283: JUMPDEST
00001284: CALLVALUE
00001285: PUSH2 0x0504
00001288: JUMPI
00001289: PUSH0
0000128a: CALLDATASIZE
0000128b: PUSH1 0x03
0000128d: NOT
0000128e: ADD
0000128f: SLT
00001290: PUSH2 0x0504
00001293: JUMPI
00001294: PUSH1 0x20
00001296: PUSH7 0x2386f26fc10000
0000129e: PUSH1 0x0a
000012a0: SLOAD
000012a1: DIV
000012a2: PUSH1 0x40
000012a4: MLOAD
000012a5: SWAP1
000012a6: DUP2
000012a7: MSTORE
000012a8: RETURN
000012a9: JUMPDEST
000012aa: CALLVALUE
000012ab: PUSH2 0x0504
000012ae: JUMPI
000012af: PUSH1 0x40
000012b1: CALLDATASIZE
000012b2: PUSH1 0x03
000012b4: NOT
000012b5: ADD
000012b6: SLT
000012b7: PUSH2 0x0504
000012ba: JUMPI
000012bb: PUSH1 0x24
000012bd: CALLDATALOAD
000012be: PUSH1 0x04
000012c0: CALLDATALOAD
000012c1: PUSH2 0x12c9
000012c4: DUP3
000012c5: PUSH2 0x0676
000012c8: JUMP
000012c9: JUMPDEST
000012ca: PUSH2 0x12d1
000012cd: PUSH2 0x2d28
000012d0: JUMP
000012d1: JUMPDEST
000012d2: SWAP2
000012d3: DUP3
000012d4: DUP3
000012d5: GT
000012d6: PUSH2 0x1401
000012d9: JUMPI
000012da: PUSH2 0x05be
000012dd: SWAP3
000012de: POP
000012df: PUSH2 0x12e7
000012e2: DUP3
000012e3: PUSH2 0x3784
000012e6: JUMP
000012e7: JUMPDEST
000012e8: SWAP2
000012e9: PUSH2 0x12f0
000012ec: PUSH2 0x3e33
000012ef: JUMP
000012f0: JUMPDEST
000012f1: PUSH2 0x12f8
000012f4: PUSH2 0x3d2d
000012f7: JUMP
000012f8: JUMPDEST
000012f9: PUSH0
000012fa: MLOAD
000012fb: PUSH1 0x20
000012fd: PUSH2 0x47d3
00001300: PUSH0
00001301: CODECOPY
00001302: PUSH0
00001303: MLOAD
00001304: SWAP1
00001305: PUSH0
00001306: MSTORE
00001307: SLOAD
00001308: PUSH2 0x131f
0000130b: SWAP1
0000130c: DUP3
0000130d: SWAP1
0000130e: ADDRESS
0000130f: SWAP1
00001310: CALLER
00001311: SWAP1
00001312: PUSH1 0x01
00001314: PUSH1 0x01
00001316: PUSH1 0xa0
00001318: SHL
00001319: SUB
0000131a: AND
0000131b: PUSH2 0x4324
0000131e: JUMP
0000131f: JUMPDEST
00001320: PUSH2 0x138a
00001323: DUP2
00001324: PUSH2 0x1385
00001327: PUSH2 0x1349
0000132a: PUSH2 0x0bf5
0000132d: PUSH2 0x0bf5
00001330: PUSH0
00001331: MLOAD
00001332: PUSH1 0x20
00001334: PUSH2 0x47d3
00001337: PUSH0
00001338: CODECOPY
00001339: PUSH0
0000133a: MLOAD
0000133b: SWAP1
0000133c: PUSH0
0000133d: MSTORE
0000133e: SLOAD
0000133f: PUSH1 0x01
00001341: DUP1
00001342: PUSH1 0xa0
00001344: SHL
00001345: SUB
00001346: AND
00001347: SWAP1
00001348: JUMP
00001349: JUMPDEST
0000134a: PUSH1 0x40
0000134c: MLOAD
0000134d: PUSH4 0x49cc4ebd
00001352: PUSH1 0xe1
00001354: SHL
00001355: PUSH1 0x20
00001357: DUP3
00001358: ADD
00001359: MSTORE
0000135a: PUSH1 0x01
0000135c: PUSH1 0x01
0000135e: PUSH1 0xa0
00001360: SHL
00001361: SUB
00001362: SWAP1
00001363: SWAP2
00001364: AND
00001365: PUSH1 0x24
00001367: DUP3
00001368: ADD
00001369: MSTORE
0000136a: PUSH1 0x44
0000136c: DUP2
0000136d: ADD
0000136e: SWAP3
0000136f: SWAP1
00001370: SWAP3
00001371: MSTORE
00001372: DUP2
00001373: PUSH1 0x64
00001375: DUP2
00001376: ADD
00001377: JUMPDEST
00001378: SUB
00001379: PUSH1 0x1f
0000137b: NOT
0000137c: DUP2
0000137d: ADD
0000137e: DUP4
0000137f: MSTORE
00001380: DUP3
00001381: PUSH2 0x0ce6
00001384: JUMP
00001385: JUMPDEST
00001386: PUSH2 0x3d83
00001389: JUMP
0000138a: JUMPDEST
0000138b: POP
0000138c: PUSH2 0x1395
0000138f: DUP4
00001390: DUP4
00001391: PUSH2 0x43f5
00001394: JUMP
00001395: JUMPDEST
00001396: PUSH1 0x40
00001398: DUP1
00001399: MLOAD
0000139a: SWAP2
0000139b: DUP3
0000139c: MSTORE
0000139d: PUSH1 0x20
0000139f: DUP3
000013a0: ADD
000013a1: DUP5
000013a2: SWAP1
000013a3: MSTORE
000013a4: PUSH1 0x01
000013a6: PUSH1 0x01
000013a8: PUSH1 0xa0
000013aa: SHL
000013ab: SUB
000013ac: SWAP1
000013ad: SWAP3
000013ae: AND
000013af: SWAP2
000013b0: CALLER
000013b1: SWAP2
000013b2: PUSH32 0xdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7
000013d3: SWAP2
000013d4: DUP2
000013d5: SWAP1
000013d6: DUP2
000013d7: ADD
000013d8: JUMPDEST
000013d9: SUB
000013da: SWAP1
000013db: LOG3
000013dc: PUSH2 0x13f1
000013df: PUSH1 0x01
000013e1: PUSH0
000013e2: MLOAD
000013e3: PUSH1 0x20
000013e5: PUSH2 0x4813
000013e8: PUSH0
000013e9: CODECOPY
000013ea: PUSH0
000013eb: MLOAD
000013ec: SWAP1
000013ed: PUSH0
000013ee: MSTORE
000013ef: SSTORE
000013f0: JUMP
000013f1: JUMPDEST
000013f2: PUSH1 0x40
000013f4: MLOAD
000013f5: SWAP1
000013f6: DUP2
000013f7: MSTORE
000013f8: SWAP1
000013f9: DUP2
000013fa: SWAP1
000013fb: PUSH1 0x20
000013fd: DUP3
000013fe: ADD
000013ff: SWAP1
00001400: JUMP
00001401: JUMPDEST
00001402: PUSH4 0x3c8097d9
00001407: PUSH1 0xe1
00001409: SHL
0000140a: PUSH0
0000140b: MSTORE
0000140c: PUSH1 0x01
0000140e: DUP1
0000140f: PUSH1 0xa0
00001411: SHL
00001412: SUB
00001413: AND
00001414: PUSH1 0x04
00001416: MSTORE
00001417: PUSH1 0x24
00001419: MSTORE
0000141a: PUSH1 0x44
0000141c: MSTORE
0000141d: PUSH1 0x64
0000141f: PUSH0
00001420: REVERT
00001421: JUMPDEST
00001422: CALLVALUE
00001423: PUSH2 0x0504
00001426: JUMPI
00001427: PUSH1 0x20
00001429: CALLDATASIZE
0000142a: PUSH1 0x03
0000142c: NOT
0000142d: ADD
0000142e: SLT
0000142f: PUSH2 0x0504
00001432: JUMPI
00001433: PUSH1 0x20
00001435: PUSH2 0x066e
00001438: PUSH1 0x04
0000143a: CALLDATALOAD
0000143b: PUSH2 0x1443
0000143e: DUP2
0000143f: PUSH2 0x0676
00001442: JUMP
00001443: JUMPDEST
00001444: PUSH2 0x2fd0
00001447: JUMP
00001448: JUMPDEST
00001449: CALLVALUE
0000144a: PUSH2 0x0504
0000144d: JUMPI
0000144e: PUSH0
0000144f: CALLDATASIZE
00001450: PUSH1 0x03
00001452: NOT
00001453: ADD
00001454: SLT
00001455: PUSH2 0x0504
00001458: JUMPI
00001459: PUSH2 0x1460
0000145c: PUSH2 0x3a11
0000145f: JUMP
00001460: JUMPDEST
00001461: PUSH0
00001462: MLOAD
00001463: PUSH1 0x20
00001465: PUSH2 0x4853
00001468: PUSH0
00001469: CODECOPY
0000146a: PUSH0
0000146b: MLOAD
0000146c: SWAP1
0000146d: PUSH0
0000146e: MSTORE
0000146f: DUP1
00001470: SLOAD
00001471: PUSH1 0x01
00001473: PUSH1 0x01
00001475: PUSH1 0xa0
00001477: SHL
00001478: SUB
00001479: NOT
0000147a: SWAP1
0000147b: DUP2
0000147c: AND
0000147d: SWAP1
0000147e: SWAP2
0000147f: SSTORE
00001480: PUSH0
00001481: MLOAD
00001482: PUSH1 0x20
00001484: PUSH2 0x4793
00001487: PUSH0
00001488: CODECOPY
00001489: PUSH0
0000148a: MLOAD
0000148b: SWAP1
0000148c: PUSH0
0000148d: MSTORE
0000148e: DUP1
0000148f: SLOAD
00001490: SWAP2
00001491: DUP3
00001492: AND
00001493: SWAP1
00001494: SSTORE
00001495: PUSH0
00001496: SWAP1
00001497: PUSH1 0x01
00001499: PUSH1 0x01
0000149b: PUSH1 0xa0
0000149d: SHL
0000149e: SUB
0000149f: AND
000014a0: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
000014c1: DUP3
000014c2: DUP1
000014c3: LOG3
000014c4: STOP
000014c5: JUMPDEST
000014c6: CALLVALUE
000014c7: PUSH2 0x0504
000014ca: JUMPI
000014cb: PUSH1 0x80
000014cd: CALLDATASIZE
000014ce: PUSH1 0x03
000014d0: NOT
000014d1: ADD
000014d2: SLT
000014d3: PUSH2 0x0504
000014d6: JUMPI
000014d7: PUSH1 0x04
000014d9: CALLDATALOAD
000014da: PUSH2 0x14e2
000014dd: DUP2
000014de: PUSH2 0x0676
000014e1: JUMP
000014e2: JUMPDEST
000014e3: PUSH1 0x24
000014e5: CALLDATALOAD
000014e6: SWAP1
000014e7: PUSH1 0x44
000014e9: CALLDATALOAD
000014ea: PUSH2 0x14f2
000014ed: DUP2
000014ee: PUSH2 0x0676
000014f1: JUMP
000014f2: JUMPDEST
000014f3: PUSH1 0x64
000014f5: CALLDATALOAD
000014f6: SWAP2
000014f7: PUSH2 0x14ff
000014fa: DUP4
000014fb: PUSH2 0x0676
000014fe: JUMP
000014ff: JUMPDEST
00001500: PUSH2 0x1507
00001503: PUSH2 0x3e33
00001506: JUMP
00001507: JUMPDEST
00001508: PUSH2 0x1510
0000150b: DUP5
0000150c: PUSH2 0x3740
0000150f: JUMP
00001510: JUMPDEST
00001511: SWAP3
00001512: PUSH2 0x151a
00001515: DUP2
00001516: PUSH2 0x2fd0
00001519: JUMP
0000151a: JUMPDEST
0000151b: DUP1
0000151c: DUP6
0000151d: GT
0000151e: PUSH2 0x1612
00001521: JUMPI
00001522: POP
00001523: PUSH2 0x153d
00001526: SWAP1
00001527: DUP5
00001528: SWAP1
00001529: PUSH1 0x01
0000152b: PUSH1 0x01
0000152d: PUSH1 0xa0
0000152f: SHL
00001530: SUB
00001531: DUP2
00001532: AND
00001533: CALLER
00001534: SUB
00001535: PUSH2 0x1602
00001538: JUMPI
00001539: PUSH2 0x3e6b
0000153c: JUMP
0000153d: JUMPDEST
0000153e: PUSH1 0x40
00001540: MLOAD
00001541: PUSH4 0x5394eb43
00001546: PUSH1 0xe1
00001548: SHL
00001549: PUSH1 0x20
0000154b: DUP3
0000154c: ADD
0000154d: MSTORE
0000154e: PUSH1 0x01
00001550: PUSH1 0x01
00001552: PUSH1 0xa0
00001554: SHL
00001555: SUB
00001556: DUP1
00001557: DUP5
00001558: AND
00001559: PUSH1 0x24
0000155b: DUP4
0000155c: ADD
0000155d: MSTORE
0000155e: DUP3
0000155f: AND
00001560: PUSH1 0x44
00001562: DUP3
00001563: ADD
00001564: MSTORE
00001565: PUSH1 0x64
00001567: DUP2
00001568: ADD
00001569: DUP6
0000156a: SWAP1
0000156b: MSTORE
0000156c: PUSH2 0x158f
0000156f: SWAP1
00001570: PUSH2 0x1580
00001573: SWAP1
00001574: PUSH2 0x1385
00001577: DUP2
00001578: PUSH1 0x84
0000157a: DUP2
0000157b: ADD
0000157c: PUSH2 0x1377
0000157f: JUMP
00001580: JUMPDEST
00001581: PUSH1 0x20
00001583: DUP1
00001584: DUP3
00001585: MLOAD
00001586: DUP4
00001587: ADD
00001588: ADD
00001589: SWAP2
0000158a: ADD
0000158b: PUSH2 0x3009
0000158e: JUMP
0000158f: JUMPDEST
00001590: PUSH1 0x40
00001592: DUP1
00001593: MLOAD
00001594: SWAP6
00001595: DUP7
00001596: MSTORE
00001597: PUSH1 0x20
00001599: DUP7
0000159a: ADD
0000159b: DUP6
0000159c: SWAP1
0000159d: MSTORE
0000159e: DUP6
0000159f: ADD
000015a0: DUP2
000015a1: SWAP1
000015a2: MSTORE
000015a3: SWAP4
000015a4: PUSH1 0x01
000015a6: PUSH1 0x01
000015a8: PUSH1 0xa0
000015aa: SHL
000015ab: SUB
000015ac: SWAP2
000015ad: DUP3
000015ae: AND
000015af: SWAP3
000015b0: SWAP1
000015b1: SWAP2
000015b2: AND
000015b3: SWAP1
000015b4: CALLER
000015b5: SWAP1
000015b6: PUSH32 0xaf2e30fae2dfd1a90059cf53415e90c4ee9d151c1b1861df8f8a5963069c47f4
000015d7: SWAP1
000015d8: PUSH1 0x60
000015da: SWAP1
000015db: LOG4
000015dc: PUSH2 0x15f1
000015df: PUSH1 0x01
000015e1: PUSH0
000015e2: MLOAD
000015e3: PUSH1 0x20
000015e5: PUSH2 0x4813
000015e8: PUSH0
000015e9: CODECOPY
000015ea: PUSH0
000015eb: MLOAD
000015ec: SWAP1
000015ed: PUSH0
000015ee: MSTORE
000015ef: SSTORE
000015f0: JUMP
000015f1: JUMPDEST
000015f2: PUSH1 0x40
000015f4: DUP1
000015f5: MLOAD
000015f6: SWAP2
000015f7: DUP3
000015f8: MSTORE
000015f9: PUSH1 0x20
000015fb: DUP3
000015fc: ADD
000015fd: SWAP3
000015fe: SWAP1
000015ff: SWAP3
00001600: MSTORE
00001601: RETURN
00001602: JUMPDEST
00001603: PUSH2 0x160d
00001606: DUP3
00001607: CALLER
00001608: DUP4
00001609: PUSH2 0x38c9
0000160c: JUMP
0000160d: JUMPDEST
0000160e: PUSH2 0x3e6b
00001611: JUMP
00001612: JUMPDEST
00001613: PUSH4 0x284ff667
00001618: PUSH1 0xe0
0000161a: SHL
0000161b: PUSH0
0000161c: MSTORE
0000161d: PUSH1 0x01
0000161f: PUSH1 0x01
00001621: PUSH1 0xa0
00001623: SHL
00001624: SUB
00001625: DUP5
00001626: AND
00001627: PUSH1 0x04
00001629: MSTORE
0000162a: PUSH1 0x24
0000162c: DUP6
0000162d: SWAP1
0000162e: MSTORE
0000162f: PUSH1 0x44
00001631: MSTORE
00001632: PUSH1 0x64
00001634: PUSH0
00001635: REVERT
00001636: JUMPDEST
00001637: CALLVALUE
00001638: PUSH2 0x0504
0000163b: JUMPI
0000163c: PUSH1 0x20
0000163e: CALLDATASIZE
0000163f: PUSH1 0x03
00001641: NOT
00001642: ADD
00001643: SLT
00001644: PUSH2 0x0504
00001647: JUMPI
00001648: PUSH1 0x04
0000164a: CALLDATALOAD
0000164b: PUSH1 0x01
0000164d: SLOAD
0000164e: PUSH1 0x01
00001650: PUSH1 0x01
00001652: PUSH1 0xa0
00001654: SHL
00001655: SUB
00001656: AND
00001657: CALLER
00001658: EQ
00001659: ISZERO
0000165a: DUP1
0000165b: PUSH2 0x16e7
0000165e: JUMPI
0000165f: JUMPDEST
00001660: PUSH2 0x0946
00001663: JUMPI
00001664: PUSH1 0x08
00001666: SLOAD
00001667: SWAP1
00001668: DUP2
00001669: DUP2
0000166a: EQ
0000166b: PUSH2 0x0930
0000166e: JUMPI
0000166f: PUSH1 0x05
00001671: SLOAD
00001672: PUSH1 0xc0
00001674: SHR
00001675: PUSH2 0x0921
00001678: JUMPI
00001679: PUSH2 0x1681
0000167c: DUP2
0000167d: PUSH2 0x3f04
00001680: JUMP
00001681: JUMPDEST
00001682: DUP2
00001683: DUP2
00001684: GT
00001685: ISZERO
00001686: PUSH2 0x1693
00001689: JUMPI
0000168a: PUSH2 0x088f
0000168d: SWAP2
0000168e: POP
0000168f: PUSH2 0x3f37
00001692: JUMP
00001693: JUMPDEST
00001694: PUSH32 0x6ed11f5df0bdefbbb4873e90566a9cfafbb8305c164922c173437f3c45f90a35
000016b5: SWAP2
000016b6: PUSH2 0x16c8
000016b9: SWAP1
000016ba: PUSH1 0x01
000016bc: PUSH1 0x01
000016be: PUSH1 0xb8
000016c0: SHL
000016c1: SUB
000016c2: DUP4
000016c3: AND
000016c4: PUSH2 0x37f2
000016c7: JUMP
000016c8: JUMPDEST
000016c9: PUSH1 0x05
000016cb: SLOAD
000016cc: PUSH1 0x40
000016ce: DUP1
000016cf: MLOAD
000016d0: SWAP3
000016d1: DUP4
000016d2: MSTORE
000016d3: PUSH1 0xc0
000016d5: SWAP2
000016d6: SWAP1
000016d7: SWAP2
000016d8: SHR
000016d9: PUSH1 0x20
000016db: DUP4
000016dc: ADD
000016dd: MSTORE
000016de: DUP2
000016df: SWAP1
000016e0: DUP2
000016e1: ADD
000016e2: JUMPDEST
000016e3: SUB
000016e4: SWAP1
000016e5: LOG1
000016e6: STOP
000016e7: JUMPDEST
000016e8: POP
000016e9: PUSH0
000016ea: MLOAD
000016eb: PUSH1 0x20
000016ed: PUSH2 0x4793
000016f0: PUSH0
000016f1: CODECOPY
000016f2: PUSH0
000016f3: MLOAD
000016f4: SWAP1
000016f5: PUSH0
000016f6: MSTORE
000016f7: SLOAD
000016f8: PUSH1 0x01
000016fa: PUSH1 0x01
000016fc: PUSH1 0xa0
000016fe: SHL
000016ff: SUB
00001700: AND
00001701: CALLER
00001702: EQ
00001703: ISZERO
00001704: PUSH2 0x165f
00001707: JUMP
00001708: JUMPDEST
00001709: CALLVALUE
0000170a: PUSH2 0x0504
0000170d: JUMPI
0000170e: PUSH0
0000170f: CALLDATASIZE
00001710: PUSH1 0x03
00001712: NOT
00001713: ADD
00001714: SLT
00001715: PUSH2 0x0504
00001718: JUMPI
00001719: PUSH2 0x1720
0000171c: PUSH2 0x2cb4
0000171f: JUMP
00001720: JUMPDEST
00001721: POP
00001722: PUSH1 0x40
00001724: DUP1
00001725: MLOAD
00001726: PUSH2 0x172e
00001729: DUP2
0000172a: PUSH2 0x0cb0
0000172d: JUMP
0000172e: JUMPDEST
0000172f: PUSH1 0x01
00001731: PUSH1 0x01
00001733: PUSH1 0x40
00001735: SHL
00001736: SUB
00001737: PUSH1 0x07
00001739: SLOAD
0000173a: DUP2
0000173b: PUSH1 0x20
0000173d: PUSH1 0x01
0000173f: DUP1
00001740: PUSH1 0xa0
00001742: SHL
00001743: SUB
00001744: DUP4
00001745: AND
00001746: SWAP5
00001747: DUP6
00001748: DUP2
00001749: MSTORE
0000174a: ADD
0000174b: SWAP2
0000174c: PUSH1 0xa0
0000174e: SHR
0000174f: AND
00001750: DUP2
00001751: MSTORE
00001752: DUP4
00001753: MLOAD
00001754: SWAP3
00001755: DUP4
00001756: MSTORE
00001757: MLOAD
00001758: AND
00001759: PUSH1 0x20
0000175b: DUP3
0000175c: ADD
0000175d: MSTORE
0000175e: RETURN
0000175f: JUMPDEST
00001760: PUSH1 0x01
00001762: PUSH1 0x01
00001764: PUSH1 0x40
00001766: SHL
00001767: SUB
00001768: DUP2
00001769: GT
0000176a: PUSH2 0x0cab
0000176d: JUMPI
0000176e: PUSH1 0x1f
00001770: ADD
00001771: PUSH1 0x1f
00001773: NOT
00001774: AND
00001775: PUSH1 0x20
00001777: ADD
00001778: SWAP1
00001779: JUMP
0000177a: JUMPDEST
0000177b: DUP2
0000177c: PUSH1 0x1f
0000177e: DUP3
0000177f: ADD
00001780: SLT
00001781: ISZERO
00001782: PUSH2 0x0504
00001785: JUMPI
00001786: DUP1
00001787: CALLDATALOAD
00001788: SWAP1
00001789: PUSH2 0x1791
0000178c: DUP3
0000178d: PUSH2 0x175f
00001790: JUMP
00001791: JUMPDEST
00001792: SWAP3
00001793: PUSH2 0x179f
00001796: PUSH1 0x40
00001798: MLOAD
00001799: SWAP5
0000179a: DUP6
0000179b: PUSH2 0x0ce6
0000179e: JUMP
0000179f: JUMPDEST
000017a0: DUP3
000017a1: DUP5
000017a2: MSTORE
000017a3: PUSH1 0x20
000017a5: DUP4
000017a6: DUP4
000017a7: ADD
000017a8: ADD
000017a9: GT
000017aa: PUSH2 0x0504
000017ad: JUMPI
000017ae: DUP2
000017af: PUSH0
000017b0: SWAP3
000017b1: PUSH1 0x20
000017b3: DUP1
000017b4: SWAP4
000017b5: ADD
000017b6: DUP4
000017b7: DUP7
000017b8: ADD
000017b9: CALLDATACOPY
000017ba: DUP4
000017bb: ADD
000017bc: ADD
000017bd: MSTORE
000017be: SWAP1
000017bf: JUMP
000017c0: JUMPDEST
000017c1: CALLDATALOAD
000017c2: SWAP1
000017c3: PUSH1 0x01
000017c5: PUSH1 0x01
000017c7: PUSH1 0x40
000017c9: SHL
000017ca: SUB
000017cb: DUP3
000017cc: AND
000017cd: DUP3
000017ce: SUB
000017cf: PUSH2 0x0504
000017d2: JUMPI
000017d3: JUMP
000017d4: JUMPDEST
000017d5: CALLVALUE
000017d6: PUSH2 0x0504
000017d9: JUMPI
000017da: PUSH1 0x20
000017dc: CALLDATASIZE
000017dd: PUSH1 0x03
000017df: NOT
000017e0: ADD
000017e1: SLT
000017e2: PUSH2 0x0504
000017e5: JUMPI
000017e6: PUSH1 0x04
000017e8: CALLDATALOAD
000017e9: PUSH1 0x01
000017eb: PUSH1 0x01
000017ed: PUSH1 0x40
000017ef: SHL
000017f0: SUB
000017f1: DUP2
000017f2: GT
000017f3: PUSH2 0x0504
000017f6: JUMPI
000017f7: PUSH2 0x0100
000017fa: PUSH1 0x03
000017fc: NOT
000017fd: DUP3
000017fe: CALLDATASIZE
000017ff: SUB
00001800: ADD
00001801: SLT
00001802: PUSH2 0x0504
00001805: JUMPI
00001806: PUSH2 0x180d
00001809: PUSH2 0x0d07
0000180c: JUMP
0000180d: JUMPDEST
0000180e: PUSH2 0x1819
00001811: DUP3
00001812: PUSH1 0x04
00001814: ADD
00001815: PUSH2 0x0687
00001818: JUMP
00001819: JUMPDEST
0000181a: DUP2
0000181b: MSTORE
0000181c: PUSH2 0x1827
0000181f: PUSH1 0x24
00001821: DUP4
00001822: ADD
00001823: PUSH2 0x0687
00001826: JUMP
00001827: JUMPDEST
00001828: PUSH1 0x20
0000182a: DUP3
0000182b: ADD
0000182c: MSTORE
0000182d: PUSH1 0x44
0000182f: DUP3
00001830: ADD
00001831: CALLDATALOAD
00001832: PUSH1 0x40
00001834: DUP3
00001835: ADD
00001836: MSTORE
00001837: PUSH2 0x1842
0000183a: PUSH1 0x64
0000183c: DUP4
0000183d: ADD
0000183e: PUSH2 0x0687
00001841: JUMP
00001842: JUMPDEST
00001843: PUSH1 0x60
00001845: DUP3
00001846: ADD
00001847: MSTORE
00001848: PUSH1 0x84
0000184a: DUP3
0000184b: ADD
0000184c: CALLDATALOAD
0000184d: PUSH1 0x80
0000184f: DUP3
00001850: ADD
00001851: MSTORE
00001852: PUSH1 0xa4
00001854: DUP3
00001855: ADD
00001856: CALLDATALOAD
00001857: PUSH1 0x01
00001859: PUSH1 0x01
0000185b: PUSH1 0x40
0000185d: SHL
0000185e: SUB
0000185f: DUP2
00001860: GT
00001861: PUSH2 0x0504
00001864: JUMPI
00001865: PUSH2 0x1874
00001868: SWAP1
00001869: PUSH1 0x04
0000186b: CALLDATASIZE
0000186c: SWAP2
0000186d: DUP6
0000186e: ADD
0000186f: ADD
00001870: PUSH2 0x177a
00001873: JUMP
00001874: JUMPDEST
00001875: PUSH1 0xa0
00001877: DUP3
00001878: ADD
00001879: MSTORE
0000187a: PUSH1 0xc4
0000187c: DUP3
0000187d: ADD
0000187e: CALLDATALOAD
0000187f: SWAP2
00001880: PUSH1 0x01
00001882: PUSH1 0x01
00001884: PUSH1 0x40
00001886: SHL
00001887: SUB
00001888: DUP4
00001889: GT
0000188a: PUSH2 0x0504
0000188d: JUMPI
0000188e: PUSH1 0xe4
00001890: PUSH2 0x18b1
00001893: SWAP2
00001894: PUSH2 0x18a6
00001897: PUSH2 0x088f
0000189a: SWAP6
0000189b: PUSH1 0x04
0000189d: CALLDATASIZE
0000189e: SWAP2
0000189f: DUP5
000018a0: ADD
000018a1: ADD
000018a2: PUSH2 0x177a
000018a5: JUMP
000018a6: JUMPDEST
000018a7: PUSH1 0xc0
000018a9: DUP6
000018aa: ADD
000018ab: MSTORE
000018ac: ADD
000018ad: PUSH2 0x17c0
000018b0: JUMP
000018b1: JUMPDEST
000018b2: PUSH1 0xe0
000018b4: DUP3
000018b5: ADD
000018b6: MSTORE
000018b7: PUSH2 0x3018
000018ba: JUMP
000018bb: JUMPDEST
000018bc: CALLVALUE
000018bd: PUSH2 0x0504
000018c0: JUMPI
000018c1: PUSH0
000018c2: CALLDATASIZE
000018c3: PUSH1 0x03
000018c5: NOT
000018c6: ADD
000018c7: SLT
000018c8: PUSH2 0x0504
000018cb: JUMPI
000018cc: PUSH0
000018cd: MLOAD
000018ce: PUSH1 0x20
000018d0: PUSH2 0x4853
000018d3: PUSH0
000018d4: CODECOPY
000018d5: PUSH0
000018d6: MLOAD
000018d7: SWAP1
000018d8: PUSH0
000018d9: MSTORE
000018da: SLOAD
000018db: CALLER
000018dc: PUSH1 0x01
000018de: PUSH1 0x01
000018e0: PUSH1 0xa0
000018e2: SHL
000018e3: SUB
000018e4: SWAP1
000018e5: SWAP2
000018e6: AND
000018e7: SUB
000018e8: PUSH2 0x18f4
000018eb: JUMPI
000018ec: PUSH2 0x088f
000018ef: CALLER
000018f0: PUSH2 0x3dc8
000018f3: JUMP
000018f4: JUMPDEST
000018f5: PUSH4 0x118cdaa7
000018fa: PUSH1 0xe0
000018fc: SHL
000018fd: PUSH0
000018fe: MSTORE
000018ff: CALLER
00001900: PUSH1 0x04
00001902: MSTORE
00001903: PUSH1 0x24
00001905: PUSH0
00001906: REVERT
00001907: JUMPDEST
00001908: CALLVALUE
00001909: PUSH2 0x0504
0000190c: JUMPI
0000190d: PUSH0
0000190e: CALLDATASIZE
0000190f: PUSH1 0x03
00001911: NOT
00001912: ADD
00001913: SLT
00001914: PUSH2 0x0504
00001917: JUMPI
00001918: PUSH2 0x191f
0000191b: PUSH2 0x2cb4
0000191e: JUMP
0000191f: JUMPDEST
00001920: POP
00001921: PUSH2 0x05be
00001924: PUSH1 0x40
00001926: MLOAD
00001927: PUSH2 0x192f
0000192a: DUP2
0000192b: PUSH2 0x0cb0
0000192e: JUMP
0000192f: JUMPDEST
00001930: PUSH1 0x05
00001932: SLOAD
00001933: PUSH1 0x01
00001935: PUSH1 0x01
00001937: PUSH1 0xc0
00001939: SHL
0000193a: SUB
0000193b: DUP2
0000193c: AND
0000193d: DUP1
0000193e: DUP4
0000193f: MSTORE
00001940: PUSH1 0xc0
00001942: SWAP2
00001943: SWAP1
00001944: SWAP2
00001945: SHR
00001946: PUSH1 0x20
00001948: SWAP3
00001949: DUP4
0000194a: ADD
0000194b: SWAP1
0000194c: DUP2
0000194d: MSTORE
0000194e: PUSH1 0x40
00001950: DUP1
00001951: MLOAD
00001952: SWAP3
00001953: DUP4
00001954: MSTORE
00001955: SWAP1
00001956: MLOAD
00001957: PUSH1 0x01
00001959: PUSH1 0x01
0000195b: PUSH1 0x40
0000195d: SHL
0000195e: SUB
0000195f: AND
00001960: SWAP3
00001961: DUP3
00001962: ADD
00001963: SWAP3
00001964: SWAP1
00001965: SWAP3
00001966: MSTORE
00001967: SWAP2
00001968: DUP3
00001969: SWAP2
0000196a: DUP3
0000196b: ADD
0000196c: SWAP1
0000196d: JUMP
0000196e: JUMPDEST
0000196f: CALLVALUE
00001970: PUSH2 0x0504
00001973: JUMPI
00001974: PUSH0
00001975: CALLDATASIZE
00001976: PUSH1 0x03
00001978: NOT
00001979: ADD
0000197a: SLT
0000197b: PUSH2 0x0504
0000197e: JUMPI
0000197f: PUSH0
00001980: SLOAD
00001981: PUSH1 0x01
00001983: PUSH1 0x01
00001985: PUSH1 0xa0
00001987: SHL
00001988: SUB
00001989: AND
0000198a: CALLER
0000198b: EQ
0000198c: ISZERO
0000198d: DUP1
0000198e: PUSH2 0x19c1
00001991: JUMPI
00001992: JUMPDEST
00001993: PUSH2 0x0a32
00001996: JUMPI
00001997: PUSH0
00001998: PUSH1 0x06
0000199a: SSTORE
0000199b: CALLER
0000199c: PUSH32 0xb7cc052ba5dd4e2c200f771e69c6c4dddd930567bd8bea00e527944967c57db8
000019bd: PUSH0
000019be: DUP1
000019bf: LOG2
000019c0: STOP
000019c1: JUMPDEST
000019c2: POP
000019c3: PUSH0
000019c4: MLOAD
000019c5: PUSH1 0x20
000019c7: PUSH2 0x4793
000019ca: PUSH0
000019cb: CODECOPY
000019cc: PUSH0
000019cd: MLOAD
000019ce: SWAP1
000019cf: PUSH0
000019d0: MSTORE
000019d1: SLOAD
000019d2: PUSH1 0x01
000019d4: PUSH1 0x01
000019d6: PUSH1 0xa0
000019d8: SHL
000019d9: SUB
000019da: AND
000019db: CALLER
000019dc: EQ
000019dd: ISZERO
000019de: PUSH2 0x1992
000019e1: JUMP
000019e2: JUMPDEST
000019e3: CALLVALUE
000019e4: PUSH2 0x0504
000019e7: JUMPI
000019e8: PUSH0
000019e9: CALLDATASIZE
000019ea: PUSH1 0x03
000019ec: NOT
000019ed: ADD
000019ee: SLT
000019ef: PUSH2 0x0504
000019f2: JUMPI
000019f3: PUSH2 0x19fa
000019f6: PUSH2 0x3a11
000019f9: JUMP
000019fa: JUMPDEST
000019fb: PUSH2 0x1a02
000019fe: PUSH2 0x40a3
00001a01: JUMP
00001a02: JUMPDEST
00001a03: PUSH0
00001a04: JUMPDEST
00001a05: PUSH1 0x0f
00001a07: SLOAD
00001a08: DUP2
00001a09: LT
00001a0a: ISZERO
00001a0b: PUSH2 0x088f
00001a0e: JUMPI
00001a0f: PUSH2 0x1a20
00001a12: PUSH2 0x0bf5
00001a15: PUSH2 0x0bf5
00001a18: PUSH2 0x0be0
00001a1b: DUP5
00001a1c: PUSH2 0x2ce0
00001a1f: JUMP
00001a20: JUMPDEST
00001a21: SWAP1
00001a22: DUP2
00001a23: EXTCODESIZE
00001a24: ISZERO
00001a25: PUSH2 0x0504
00001a28: JUMPI
00001a29: PUSH0
00001a2a: DUP1
00001a2b: SWAP3
00001a2c: PUSH1 0x04
00001a2e: PUSH1 0x40
00001a30: MLOAD
00001a31: DUP1
00001a32: SWAP6
00001a33: DUP2
00001a34: SWAP4
00001a35: PUSH4 0x8456cb59
00001a3a: PUSH1 0xe0
00001a3c: SHL
00001a3d: DUP4
00001a3e: MSTORE
00001a3f: GAS
00001a40: CALL
00001a41: SWAP2
00001a42: DUP3
00001a43: ISZERO
00001a44: PUSH2 0x0c51
00001a47: JUMPI
00001a48: PUSH1 0x01
00001a4a: SWAP3
00001a4b: PUSH2 0x1a56
00001a4e: JUMPI
00001a4f: JUMPDEST
00001a50: POP
00001a51: ADD
00001a52: PUSH2 0x1a04
00001a55: JUMP
00001a56: JUMPDEST
00001a57: DUP1
00001a58: PUSH2 0x0c45
00001a5b: PUSH0
00001a5c: PUSH2 0x1a64
00001a5f: SWAP4
00001a60: PUSH2 0x0ce6
00001a63: JUMP
00001a64: JUMPDEST
00001a65: PUSH0
00001a66: PUSH2 0x1a4f
00001a69: JUMP
00001a6a: JUMPDEST
00001a6b: CALLVALUE
00001a6c: PUSH2 0x0504
00001a6f: JUMPI
00001a70: PUSH0
00001a71: CALLDATASIZE
00001a72: PUSH1 0x03
00001a74: NOT
00001a75: ADD
00001a76: SLT
00001a77: PUSH2 0x0504
00001a7a: JUMPI
00001a7b: PUSH1 0x20
00001a7d: PUSH7 0x2386f26fc10000
00001a85: PUSH1 0x0c
00001a87: SLOAD
00001a88: DIV
00001a89: PUSH1 0x40
00001a8b: MLOAD
00001a8c: SWAP1
00001a8d: DUP2
00001a8e: MSTORE
00001a8f: RETURN
00001a90: JUMPDEST
00001a91: CALLVALUE
00001a92: PUSH2 0x0504
00001a95: JUMPI
00001a96: PUSH0
00001a97: CALLDATASIZE
00001a98: PUSH1 0x03
00001a9a: NOT
00001a9b: ADD
00001a9c: SLT
00001a9d: PUSH2 0x0504
00001aa0: JUMPI
00001aa1: PUSH1 0x05
00001aa3: SLOAD
00001aa4: DUP1
00001aa5: PUSH1 0xc0
00001aa7: SHR
00001aa8: DUP1
00001aa9: ISZERO
00001aaa: PUSH2 0x1ad4
00001aad: JUMPI
00001aae: TIMESTAMP
00001aaf: LT
00001ab0: PUSH2 0x1ac5
00001ab3: JUMPI
00001ab4: PUSH2 0x088f
00001ab7: SWAP1
00001ab8: PUSH1 0x01
00001aba: PUSH1 0x01
00001abc: PUSH1 0xc0
00001abe: SHL
00001abf: SUB
00001ac0: AND
00001ac1: PUSH2 0x3f37
00001ac4: JUMP
00001ac5: JUMPDEST
00001ac6: PUSH4 0x333bd2cb
00001acb: PUSH1 0xe1
00001acd: SHL
00001ace: PUSH0
00001acf: MSTORE
00001ad0: PUSH1 0x04
00001ad2: PUSH0
00001ad3: REVERT
00001ad4: JUMPDEST
00001ad5: PUSH4 0xe5f408a5
00001ada: PUSH1 0xe0
00001adc: SHL
00001add: PUSH0
00001ade: MSTORE
00001adf: PUSH1 0x04
00001ae1: PUSH0
00001ae2: REVERT
00001ae3: JUMPDEST
00001ae4: CALLVALUE
00001ae5: PUSH2 0x0504
00001ae8: JUMPI
00001ae9: PUSH0
00001aea: CALLDATASIZE
00001aeb: PUSH1 0x03
00001aed: NOT
00001aee: ADD
00001aef: SLT
00001af0: PUSH2 0x0504
00001af3: JUMPI
00001af4: PUSH0
00001af5: MLOAD
00001af6: PUSH1 0x20
00001af8: PUSH2 0x4793
00001afb: PUSH0
00001afc: CODECOPY
00001afd: PUSH0
00001afe: MLOAD
00001aff: SWAP1
00001b00: PUSH0
00001b01: MSTORE
00001b02: SLOAD
00001b03: PUSH1 0x40
00001b05: MLOAD
00001b06: PUSH1 0x01
00001b08: PUSH1 0x01
00001b0a: PUSH1 0xa0
00001b0c: SHL
00001b0d: SUB
00001b0e: SWAP1
00001b0f: SWAP2
00001b10: AND
00001b11: DUP2
00001b12: MSTORE
00001b13: PUSH1 0x20
00001b15: SWAP1
00001b16: RETURN
00001b17: JUMPDEST
00001b18: CALLVALUE
00001b19: PUSH2 0x0504
00001b1c: JUMPI
00001b1d: PUSH1 0x20
00001b1f: CALLDATASIZE
00001b20: PUSH1 0x03
00001b22: NOT
00001b23: ADD
00001b24: SLT
00001b25: PUSH2 0x0504
00001b28: JUMPI
00001b29: PUSH1 0x04
00001b2b: CALLDATALOAD
00001b2c: PUSH1 0x01
00001b2e: SLOAD
00001b2f: PUSH1 0x01
00001b31: PUSH1 0x01
00001b33: PUSH1 0xa0
00001b35: SHL
00001b36: SUB
00001b37: AND
00001b38: CALLER
00001b39: EQ
00001b3a: ISZERO
00001b3b: DUP1
00001b3c: PUSH2 0x1b7f
00001b3f: JUMPI
00001b40: JUMPDEST
00001b41: PUSH2 0x0946
00001b44: JUMPI
00001b45: PUSH1 0x09
00001b47: SLOAD
00001b48: DUP2
00001b49: EQ
00001b4a: PUSH2 0x0930
00001b4d: JUMPI
00001b4e: DUP1
00001b4f: PUSH1 0x09
00001b51: SSTORE
00001b52: PUSH1 0x40
00001b54: MLOAD
00001b55: SWAP1
00001b56: DUP2
00001b57: MSTORE
00001b58: PUSH32 0x51fa58fd85e72d533eb3933ef4dd0bb83a9614f46e076ffa025b0dcbb8dff315
00001b79: PUSH1 0x20
00001b7b: CALLER
00001b7c: SWAP3
00001b7d: LOG2
00001b7e: STOP
00001b7f: JUMPDEST
00001b80: POP
00001b81: PUSH0
00001b82: MLOAD
00001b83: PUSH1 0x20
00001b85: PUSH2 0x4793
00001b88: PUSH0
00001b89: CODECOPY
00001b8a: PUSH0
00001b8b: MLOAD
00001b8c: SWAP1
00001b8d: PUSH0
00001b8e: MSTORE
00001b8f: SLOAD
00001b90: PUSH1 0x01
00001b92: PUSH1 0x01
00001b94: PUSH1 0xa0
00001b96: SHL
00001b97: SUB
00001b98: AND
00001b99: CALLER
00001b9a: EQ
00001b9b: ISZERO
00001b9c: PUSH2 0x1b40
00001b9f: JUMP
00001ba0: JUMPDEST
00001ba1: CALLVALUE
00001ba2: PUSH2 0x0504
00001ba5: JUMPI
00001ba6: PUSH1 0x40
00001ba8: CALLDATASIZE
00001ba9: PUSH1 0x03
00001bab: NOT
00001bac: ADD
00001bad: SLT
00001bae: PUSH2 0x0504
00001bb1: JUMPI
00001bb2: PUSH1 0x04
00001bb4: CALLDATALOAD
00001bb5: PUSH2 0x1bbd
00001bb8: DUP2
00001bb9: PUSH2 0x0676
00001bbc: JUMP
00001bbd: JUMPDEST
00001bbe: PUSH1 0x24
00001bc0: CALLDATALOAD
00001bc1: SWAP1
00001bc2: PUSH2 0x1bc9
00001bc5: PUSH2 0x3e33
00001bc8: JUMP
00001bc9: JUMPDEST
00001bca: PUSH2 0x1bd1
00001bcd: PUSH2 0x3d2d
00001bd0: JUMP
00001bd1: JUMPDEST
00001bd2: PUSH1 0x01
00001bd4: SLOAD
00001bd5: PUSH1 0x01
00001bd7: PUSH1 0x01
00001bd9: PUSH1 0xa0
00001bdb: SHL
00001bdc: SUB
00001bdd: AND
00001bde: CALLER
00001bdf: EQ
00001be0: ISZERO
00001be1: DUP1
00001be2: PUSH2 0x1c50
00001be5: JUMPI
00001be6: JUMPDEST
00001be7: PUSH2 0x0946
00001bea: JUMPI
00001beb: PUSH0
00001bec: MLOAD
00001bed: PUSH1 0x20
00001bef: PUSH2 0x47d3
00001bf2: PUSH0
00001bf3: CODECOPY
00001bf4: PUSH0
00001bf5: MLOAD
00001bf6: SWAP1
00001bf7: PUSH0
00001bf8: MSTORE
00001bf9: SLOAD
00001bfa: PUSH1 0x40
00001bfc: MLOAD
00001bfd: PUSH4 0x2cfc68f1
00001c02: PUSH1 0xe1
00001c04: SHL
00001c05: PUSH1 0x20
00001c07: DUP3
00001c08: ADD
00001c09: MSTORE
00001c0a: PUSH1 0x01
00001c0c: PUSH1 0x01
00001c0e: PUSH1 0xa0
00001c10: SHL
00001c11: SUB
00001c12: SWAP2
00001c13: DUP3
00001c14: AND
00001c15: PUSH1 0x24
00001c17: DUP3
00001c18: ADD
00001c19: MSTORE
00001c1a: SWAP2
00001c1b: AND
00001c1c: PUSH1 0x44
00001c1e: DUP3
00001c1f: ADD
00001c20: MSTORE
00001c21: PUSH1 0x64
00001c23: DUP2
00001c24: ADD
00001c25: SWAP2
00001c26: SWAP1
00001c27: SWAP2
00001c28: MSTORE
00001c29: PUSH2 0x1c39
00001c2c: SWAP1
00001c2d: PUSH2 0x1385
00001c30: DUP2
00001c31: PUSH1 0x84
00001c33: DUP2
00001c34: ADD
00001c35: PUSH2 0x1377
00001c38: JUMP
00001c39: JUMPDEST
00001c3a: POP
00001c3b: PUSH2 0x088f
00001c3e: PUSH1 0x01
00001c40: PUSH0
00001c41: MLOAD
00001c42: PUSH1 0x20
00001c44: PUSH2 0x4813
00001c47: PUSH0
00001c48: CODECOPY
00001c49: PUSH0
00001c4a: MLOAD
00001c4b: SWAP1
00001c4c: PUSH0
00001c4d: MSTORE
00001c4e: SSTORE
00001c4f: JUMP
00001c50: JUMPDEST
00001c51: POP
00001c52: PUSH0
00001c53: MLOAD
00001c54: PUSH1 0x20
00001c56: PUSH2 0x4793
00001c59: PUSH0
00001c5a: CODECOPY
00001c5b: PUSH0
00001c5c: MLOAD
00001c5d: SWAP1
00001c5e: PUSH0
00001c5f: MSTORE
00001c60: SLOAD
00001c61: PUSH1 0x01
00001c63: PUSH1 0x01
00001c65: PUSH1 0xa0
00001c67: SHL
00001c68: SUB
00001c69: AND
00001c6a: CALLER
00001c6b: EQ
00001c6c: ISZERO
00001c6d: PUSH2 0x1be6
00001c70: JUMP
00001c71: JUMPDEST
00001c72: CALLVALUE
00001c73: PUSH2 0x0504
00001c76: JUMPI
00001c77: PUSH1 0x40
00001c79: CALLDATASIZE
00001c7a: PUSH1 0x03
00001c7c: NOT
00001c7d: ADD
00001c7e: SLT
00001c7f: PUSH2 0x0504
00001c82: JUMPI
00001c83: PUSH1 0x24
00001c85: CALLDATALOAD
00001c86: PUSH1 0x04
00001c88: CALLDATALOAD
00001c89: PUSH2 0x1c91
00001c8c: DUP3
00001c8d: PUSH2 0x0676
00001c90: JUMP
00001c91: JUMPDEST
00001c92: PUSH2 0x1c99
00001c95: PUSH2 0x34f3
00001c98: JUMP
00001c99: JUMPDEST
00001c9a: SWAP2
00001c9b: DUP3
00001c9c: DUP3
00001c9d: GT
00001c9e: PUSH2 0x1d64
00001ca1: JUMPI
00001ca2: PUSH2 0x05be
00001ca5: SWAP3
00001ca6: POP
00001ca7: PUSH2 0x1caf
00001caa: DUP3
00001cab: PUSH2 0x36fc
00001cae: JUMP
00001caf: JUMPDEST
00001cb0: SWAP2
00001cb1: PUSH2 0x1cb8
00001cb4: PUSH2 0x3e33
00001cb7: JUMP
00001cb8: JUMPDEST
00001cb9: PUSH2 0x1cc0
00001cbc: PUSH2 0x3d2d
00001cbf: JUMP
00001cc0: JUMPDEST
00001cc1: PUSH0
00001cc2: MLOAD
00001cc3: PUSH1 0x20
00001cc5: PUSH2 0x47d3
00001cc8: PUSH0
00001cc9: CODECOPY
00001cca: PUSH0
00001ccb: MLOAD
00001ccc: SWAP1
00001ccd: PUSH0
00001cce: MSTORE
00001ccf: SLOAD
00001cd0: PUSH2 0x1ce7
00001cd3: SWAP1
00001cd4: DUP5
00001cd5: SWAP1
00001cd6: ADDRESS
00001cd7: SWAP1
00001cd8: CALLER
00001cd9: SWAP1
00001cda: PUSH1 0x01
00001cdc: PUSH1 0x01
00001cde: PUSH1 0xa0
00001ce0: SHL
00001ce1: SUB
00001ce2: AND
00001ce3: PUSH2 0x4324
00001ce6: JUMP
00001ce7: JUMPDEST
00001ce8: PUSH2 0x1d11
00001ceb: DUP4
00001cec: PUSH2 0x1385
00001cef: PUSH2 0x1349
00001cf2: PUSH2 0x0bf5
00001cf5: PUSH2 0x0bf5
00001cf8: PUSH0
00001cf9: MLOAD
00001cfa: PUSH1 0x20
00001cfc: PUSH2 0x47d3
00001cff: PUSH0
00001d00: CODECOPY
00001d01: PUSH0
00001d02: MLOAD
00001d03: SWAP1
00001d04: PUSH0
00001d05: MSTORE
00001d06: SLOAD
00001d07: PUSH1 0x01
00001d09: DUP1
00001d0a: PUSH1 0xa0
00001d0c: SHL
00001d0d: SUB
00001d0e: AND
00001d0f: SWAP1
00001d10: JUMP
00001d11: JUMPDEST
00001d12: POP
00001d13: PUSH2 0x1d1c
00001d16: DUP2
00001d17: DUP4
00001d18: PUSH2 0x43f5
00001d1b: JUMP
00001d1c: JUMPDEST
00001d1d: PUSH1 0x40
00001d1f: DUP1
00001d20: MLOAD
00001d21: DUP5
00001d22: DUP2
00001d23: MSTORE
00001d24: PUSH1 0x20
00001d26: DUP2
00001d27: ADD
00001d28: SWAP3
00001d29: SWAP1
00001d2a: SWAP3
00001d2b: MSTORE
00001d2c: PUSH1 0x01
00001d2e: PUSH1 0x01
00001d30: PUSH1 0xa0
00001d32: SHL
00001d33: SUB
00001d34: SWAP1
00001d35: SWAP3
00001d36: AND
00001d37: SWAP2
00001d38: CALLER
00001d39: SWAP2
00001d3a: PUSH32 0xdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7
00001d5b: SWAP2
00001d5c: DUP2
00001d5d: SWAP1
00001d5e: DUP2
00001d5f: ADD
00001d60: PUSH2 0x13d8
00001d63: JUMP
00001d64: JUMPDEST
00001d65: PUSH4 0x284ff667
00001d6a: PUSH1 0xe0
00001d6c: SHL
00001d6d: PUSH0
00001d6e: MSTORE
00001d6f: PUSH1 0x01
00001d71: DUP1
00001d72: PUSH1 0xa0
00001d74: SHL
00001d75: SUB
00001d76: AND
00001d77: PUSH1 0x04
00001d79: MSTORE
00001d7a: PUSH1 0x24
00001d7c: MSTORE
00001d7d: PUSH1 0x44
00001d7f: MSTORE
00001d80: PUSH1 0x64
00001d82: PUSH0
00001d83: REVERT
00001d84: JUMPDEST
00001d85: CALLVALUE
00001d86: PUSH2 0x0504
00001d89: JUMPI
00001d8a: PUSH0
00001d8b: CALLDATASIZE
00001d8c: PUSH1 0x03
00001d8e: NOT
00001d8f: ADD
00001d90: SLT
00001d91: PUSH2 0x0504
00001d94: JUMPI
00001d95: PUSH1 0x40
00001d97: MLOAD
00001d98: PUSH0
00001d99: PUSH0
00001d9a: MLOAD
00001d9b: PUSH1 0x20
00001d9d: PUSH2 0x4773
00001da0: PUSH0
00001da1: CODECOPY
00001da2: PUSH0
00001da3: MLOAD
00001da4: SWAP1
00001da5: PUSH0
00001da6: MSTORE
00001da7: SLOAD
00001da8: PUSH2 0x1db0
00001dab: DUP2
00001dac: PUSH2 0x2c0c
00001daf: JUMP
00001db0: JUMPDEST
00001db1: DUP1
00001db2: DUP5
00001db3: MSTORE
00001db4: SWAP1
00001db5: PUSH1 0x01
00001db7: DUP2
00001db8: AND
00001db9: SWAP1
00001dba: DUP2
00001dbb: ISZERO
00001dbc: PUSH2 0x062c
00001dbf: JUMPI
00001dc0: POP
00001dc1: PUSH1 0x01
00001dc3: EQ
00001dc4: PUSH2 0x1dd7
00001dc7: JUMPI
00001dc8: PUSH2 0x05be
00001dcb: DUP4
00001dcc: PUSH2 0x05b2
00001dcf: DUP2
00001dd0: DUP6
00001dd1: SUB
00001dd2: DUP3
00001dd3: PUSH2 0x0ce6
00001dd6: JUMP
00001dd7: JUMPDEST
00001dd8: PUSH0
00001dd9: MLOAD
00001dda: PUSH1 0x20
00001ddc: PUSH2 0x4773
00001ddf: PUSH0
00001de0: CODECOPY
00001de1: PUSH0
00001de2: MLOAD
00001de3: SWAP1
00001de4: PUSH0
00001de5: MSTORE
00001de6: PUSH0
00001de7: SWAP1
00001de8: DUP2
00001de9: MSTORE
00001dea: PUSH32 0x46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa
00001e0b: SWAP4
00001e0c: SWAP3
00001e0d: POP
00001e0e: SWAP1
00001e0f: JUMPDEST
00001e10: DUP1
00001e11: DUP3
00001e12: LT
00001e13: PUSH2 0x1e27
00001e16: JUMPI
00001e17: POP
00001e18: SWAP1
00001e19: SWAP2
00001e1a: POP
00001e1b: DUP2
00001e1c: ADD
00001e1d: PUSH1 0x20
00001e1f: ADD
00001e20: PUSH2 0x05b2
00001e23: PUSH2 0x05a2
00001e26: JUMP
00001e27: JUMPDEST
00001e28: SWAP2
00001e29: SWAP3
00001e2a: PUSH1 0x01
00001e2c: DUP2
00001e2d: PUSH1 0x20
00001e2f: SWAP3
00001e30: SLOAD
00001e31: DUP4
00001e32: DUP6
00001e33: DUP9
00001e34: ADD
00001e35: ADD
00001e36: MSTORE
00001e37: ADD
00001e38: SWAP2
00001e39: ADD
00001e3a: SWAP1
00001e3b: SWAP3
00001e3c: SWAP2
00001e3d: PUSH2 0x1e0f
00001e40: JUMP
00001e41: JUMPDEST
00001e42: CALLVALUE
00001e43: PUSH2 0x0504
00001e46: JUMPI
00001e47: PUSH1 0x20
00001e49: CALLDATASIZE
00001e4a: PUSH1 0x03
00001e4c: NOT
00001e4d: ADD
00001e4e: SLT
00001e4f: PUSH2 0x0504
00001e52: JUMPI
00001e53: PUSH1 0x04
00001e55: CALLDATALOAD
00001e56: PUSH2 0x1e5e
00001e59: DUP2
00001e5a: PUSH2 0x0676
00001e5d: JUMP
00001e5e: JUMPDEST
00001e5f: PUSH1 0x01
00001e61: SLOAD
00001e62: PUSH1 0x01
00001e64: PUSH1 0x01
00001e66: PUSH1 0xa0
00001e68: SHL
00001e69: SUB
00001e6a: AND
00001e6b: CALLER
00001e6c: EQ
00001e6d: ISZERO
00001e6e: DUP1
00001e6f: PUSH2 0x1ea8
00001e72: JUMPI
00001e73: JUMPDEST
00001e74: PUSH2 0x0946
00001e77: JUMPI
00001e78: PUSH1 0x40
00001e7a: MLOAD
00001e7b: PUSH4 0x26229931
00001e80: PUSH1 0xe2
00001e82: SHL
00001e83: PUSH1 0x20
00001e85: DUP3
00001e86: ADD
00001e87: MSTORE
00001e88: PUSH1 0x01
00001e8a: PUSH1 0x01
00001e8c: PUSH1 0xa0
00001e8e: SHL
00001e8f: SUB
00001e90: SWAP1
00001e91: SWAP2
00001e92: AND
00001e93: PUSH1 0x24
00001e95: DUP3
00001e96: ADD
00001e97: MSTORE
00001e98: PUSH2 0x088f
00001e9b: SWAP1
00001e9c: PUSH2 0x1385
00001e9f: DUP2
00001ea0: PUSH1 0x44
00001ea2: DUP2
00001ea3: ADD
00001ea4: PUSH2 0x1377
00001ea7: JUMP
00001ea8: JUMPDEST
00001ea9: POP
00001eaa: PUSH0
00001eab: MLOAD
00001eac: PUSH1 0x20
00001eae: PUSH2 0x4793
00001eb1: PUSH0
00001eb2: CODECOPY
00001eb3: PUSH0
00001eb4: MLOAD
00001eb5: SWAP1
00001eb6: PUSH0
00001eb7: MSTORE
00001eb8: SLOAD
00001eb9: PUSH1 0x01
00001ebb: PUSH1 0x01
00001ebd: PUSH1 0xa0
00001ebf: SHL
00001ec0: SUB
00001ec1: AND
00001ec2: CALLER
00001ec3: EQ
00001ec4: ISZERO
00001ec5: PUSH2 0x1e73
00001ec8: JUMP
00001ec9: JUMPDEST
00001eca: CALLVALUE
00001ecb: PUSH2 0x0504
00001ece: JUMPI
00001ecf: PUSH1 0x20
00001ed1: CALLDATASIZE
00001ed2: PUSH1 0x03
00001ed4: NOT
00001ed5: ADD
00001ed6: SLT
00001ed7: PUSH2 0x0504
00001eda: JUMPI
00001edb: PUSH1 0x04
00001edd: CALLDATALOAD
00001ede: PUSH2 0x1ee6
00001ee1: DUP2
00001ee2: PUSH2 0x0676
00001ee5: JUMP
00001ee6: JUMPDEST
00001ee7: PUSH2 0x1eee
00001eea: PUSH2 0x3a11
00001eed: JUMP
00001eee: JUMPDEST
00001eef: PUSH0
00001ef0: SLOAD
00001ef1: PUSH1 0x01
00001ef3: PUSH1 0x01
00001ef5: PUSH1 0xa0
00001ef7: SHL
00001ef8: SUB
00001ef9: AND
00001efa: PUSH1 0x01
00001efc: PUSH1 0x01
00001efe: PUSH1 0xa0
00001f00: SHL
00001f01: SUB
00001f02: DUP2
00001f03: AND
00001f04: PUSH1 0x01
00001f06: PUSH1 0x01
00001f08: PUSH1 0xa0
00001f0a: SHL
00001f0b: SUB
00001f0c: DUP4
00001f0d: AND
00001f0e: EQ
00001f0f: PUSH2 0x0930
00001f12: JUMPI
00001f13: PUSH1 0x07
00001f15: SLOAD
00001f16: PUSH1 0xa0
00001f18: SHR
00001f19: PUSH1 0x01
00001f1b: PUSH1 0x01
00001f1d: PUSH1 0x40
00001f1f: SHL
00001f20: SUB
00001f21: AND
00001f22: PUSH2 0x0921
00001f25: JUMPI
00001f26: PUSH1 0x01
00001f28: PUSH1 0x01
00001f2a: PUSH1 0xa0
00001f2c: SHL
00001f2d: SUB
00001f2e: AND
00001f2f: PUSH2 0x1f3b
00001f32: JUMPI
00001f33: PUSH2 0x088f
00001f36: SWAP1
00001f37: PUSH2 0x414d
00001f3a: JUMP
00001f3b: JUMPDEST
00001f3c: PUSH32 0x14279aa98f18dee77127cf315bcced708f417d07da24929c2f6460b481d0c13e
00001f5d: SWAP1
00001f5e: PUSH2 0x1f69
00001f61: PUSH1 0x08
00001f63: SLOAD
00001f64: DUP3
00001f65: PUSH2 0x40fc
00001f68: JUMP
00001f69: JUMPDEST
00001f6a: PUSH1 0x07
00001f6c: SLOAD
00001f6d: PUSH1 0xa0
00001f6f: SHR
00001f70: PUSH1 0x01
00001f72: PUSH1 0x01
00001f74: PUSH1 0x40
00001f76: SHL
00001f77: SUB
00001f78: AND
00001f79: PUSH1 0x40
00001f7b: DUP1
00001f7c: MLOAD
00001f7d: PUSH1 0x01
00001f7f: PUSH1 0x01
00001f81: PUSH1 0xa0
00001f83: SHL
00001f84: SUB
00001f85: SWAP1
00001f86: SWAP4
00001f87: AND
00001f88: DUP4
00001f89: MSTORE
00001f8a: PUSH1 0x01
00001f8c: PUSH1 0x01
00001f8e: PUSH1 0x40
00001f90: SHL
00001f91: SUB
00001f92: SWAP1
00001f93: SWAP2
00001f94: AND
00001f95: PUSH1 0x20
00001f97: DUP4
00001f98: ADD
00001f99: MSTORE
00001f9a: DUP2
00001f9b: SWAP1
00001f9c: DUP2
00001f9d: ADD
00001f9e: PUSH2 0x16e2
00001fa1: JUMP
00001fa2: JUMPDEST
00001fa3: CALLVALUE
00001fa4: PUSH2 0x0504
00001fa7: JUMPI
00001fa8: PUSH0
00001fa9: CALLDATASIZE
00001faa: PUSH1 0x03
00001fac: NOT
00001fad: ADD
00001fae: SLT
00001faf: PUSH2 0x0504
00001fb2: JUMPI
00001fb3: PUSH1 0x20
00001fb5: PUSH1 0x0f
00001fb7: SLOAD
00001fb8: PUSH1 0x40
00001fba: MLOAD
00001fbb: SWAP1
00001fbc: DUP2
00001fbd: MSTORE
00001fbe: RETURN
00001fbf: JUMPDEST
00001fc0: CALLVALUE
00001fc1: PUSH2 0x0504
00001fc4: JUMPI
00001fc5: PUSH0
00001fc6: CALLDATASIZE
00001fc7: PUSH1 0x03
00001fc9: NOT
00001fca: ADD
00001fcb: SLT
00001fcc: PUSH2 0x0504
00001fcf: JUMPI
00001fd0: PUSH1 0x07
00001fd2: SLOAD
00001fd3: PUSH1 0x01
00001fd5: PUSH1 0x01
00001fd7: PUSH1 0x40
00001fd9: SHL
00001fda: SUB
00001fdb: DUP2
00001fdc: PUSH1 0xa0
00001fde: SHR
00001fdf: AND
00001fe0: DUP1
00001fe1: ISZERO
00001fe2: PUSH2 0x1ad4
00001fe5: JUMPI
00001fe6: TIMESTAMP
00001fe7: LT
00001fe8: PUSH2 0x1ac5
00001feb: JUMPI
00001fec: PUSH2 0x088f
00001fef: SWAP1
00001ff0: PUSH1 0x01
00001ff2: PUSH1 0x01
00001ff4: PUSH1 0xa0
00001ff6: SHL
00001ff7: SUB
00001ff8: AND
00001ff9: PUSH2 0x414d
00001ffc: JUMP
00001ffd: JUMPDEST
00001ffe: CALLVALUE
00001fff: PUSH2 0x0504
00002002: JUMPI
00002003: PUSH1 0x40
00002005: CALLDATASIZE
00002006: PUSH1 0x03
00002008: NOT
00002009: ADD
0000200a: SLT
0000200b: PUSH2 0x0504
0000200e: JUMPI
0000200f: PUSH2 0x0aa2
00002012: PUSH1 0x04
00002014: CALLDATALOAD
00002015: PUSH2 0x201d
00002018: DUP2
00002019: PUSH2 0x0676
0000201c: JUMP
0000201d: JUMPDEST
0000201e: PUSH1 0x24
00002020: CALLDATALOAD
00002021: SWAP1
00002022: CALLER
00002023: PUSH2 0x3947
00002026: JUMP
00002027: JUMPDEST
00002028: CALLVALUE
00002029: PUSH2 0x0504
0000202c: JUMPI
0000202d: PUSH1 0x20
0000202f: CALLDATASIZE
00002030: PUSH1 0x03
00002032: NOT
00002033: ADD
00002034: SLT
00002035: PUSH2 0x0504
00002038: JUMPI
00002039: PUSH1 0x04
0000203b: CALLDATALOAD
0000203c: PUSH1 0x01
0000203e: PUSH1 0x01
00002040: PUSH1 0xb8
00002042: SHL
00002043: SUB
00002044: DUP2
00002045: AND
00002046: DUP2
00002047: SUB
00002048: PUSH2 0x0504
0000204b: JUMPI
0000204c: PUSH1 0x01
0000204e: SLOAD
0000204f: PUSH1 0x01
00002051: PUSH1 0x01
00002053: PUSH1 0xa0
00002055: SHL
00002056: SUB
00002057: AND
00002058: CALLER
00002059: EQ
0000205a: ISZERO
0000205b: DUP1
0000205c: PUSH2 0x206d
0000205f: JUMPI
00002060: JUMPDEST
00002061: PUSH2 0x0946
00002064: JUMPI
00002065: PUSH2 0x088f
00002068: SWAP1
00002069: PUSH2 0x335c
0000206c: JUMP
0000206d: JUMPDEST
0000206e: POP
0000206f: PUSH0
00002070: MLOAD
00002071: PUSH1 0x20
00002073: PUSH2 0x4793
00002076: PUSH0
00002077: CODECOPY
00002078: PUSH0
00002079: MLOAD
0000207a: SWAP1
0000207b: PUSH0
0000207c: MSTORE
0000207d: SLOAD
0000207e: PUSH1 0x01
00002080: PUSH1 0x01
00002082: PUSH1 0xa0
00002084: SHL
00002085: SUB
00002086: AND
00002087: CALLER
00002088: EQ
00002089: ISZERO
0000208a: PUSH2 0x2060
0000208d: JUMP
0000208e: JUMPDEST
0000208f: CALLVALUE
00002090: PUSH2 0x0504
00002093: JUMPI
00002094: PUSH1 0x80
00002096: CALLDATASIZE
00002097: PUSH1 0x03
00002099: NOT
0000209a: ADD
0000209b: SLT
0000209c: PUSH2 0x0504
0000209f: JUMPI
000020a0: PUSH1 0x04
000020a2: CALLDATALOAD
000020a3: PUSH2 0x20ab
000020a6: DUP2
000020a7: PUSH2 0x0676
000020aa: JUMP
000020ab: JUMPDEST
000020ac: PUSH1 0x24
000020ae: CALLDATALOAD
000020af: SWAP1
000020b0: PUSH1 0x44
000020b2: CALLDATALOAD
000020b3: PUSH1 0x64
000020b5: CALLDATALOAD
000020b6: PUSH1 0x01
000020b8: PUSH1 0x01
000020ba: PUSH1 0x40
000020bc: SHL
000020bd: SUB
000020be: DUP2
000020bf: GT
000020c0: PUSH2 0x0504
000020c3: JUMPI
000020c4: PUSH2 0x20d1
000020c7: SWAP1
000020c8: CALLDATASIZE
000020c9: SWAP1
000020ca: PUSH1 0x04
000020cc: ADD
000020cd: PUSH2 0x101b
000020d0: JUMP
000020d1: JUMPDEST
000020d2: SWAP1
000020d3: PUSH1 0x01
000020d5: DUP1
000020d6: PUSH1 0xa0
000020d8: SHL
000020d9: SUB
000020da: PUSH1 0x01
000020dc: SLOAD
000020dd: AND
000020de: CALLER
000020df: EQ
000020e0: ISZERO
000020e1: DUP1
000020e2: PUSH2 0x21e7
000020e5: JUMPI
000020e6: JUMPDEST
000020e7: PUSH2 0x0946
000020ea: JUMPI
000020eb: PUSH2 0x2135
000020ee: PUSH2 0x2131
000020f1: PUSH2 0x083f
000020f4: PUSH1 0x01
000020f6: DUP1
000020f7: PUSH1 0xa0
000020f9: SHL
000020fa: SUB
000020fb: DUP7
000020fc: AND
000020fd: DUP1
000020fe: PUSH0
000020ff: MSTORE
00002100: PUSH1 0x04
00002102: PUSH1 0x20
00002104: MSTORE
00002105: PUSH1 0x40
00002107: PUSH0
00002108: KECCAK256
00002109: SLOAD
0000210a: PUSH1 0xc0
0000210c: SHR
0000210d: ISZERO
0000210e: ISZERO
0000210f: DUP1
00002110: PUSH2 0x21af
00002113: JUMPI
00002114: JUMPDEST
00002115: PUSH2 0x216e
00002118: JUMPI
00002119: PUSH1 0x01
0000211b: PUSH1 0x01
0000211d: PUSH1 0xa0
0000211f: SHL
00002120: SUB
00002121: AND
00002122: PUSH0
00002123: SWAP1
00002124: DUP2
00002125: MSTORE
00002126: PUSH1 0x03
00002128: PUSH1 0x20
0000212a: MSTORE
0000212b: PUSH1 0x40
0000212d: SWAP1
0000212e: KECCAK256
0000212f: SWAP1
00002130: JUMP
00002131: JUMPDEST
00002132: ISZERO
00002133: SWAP1
00002134: JUMP
00002135: JUMPDEST
00002136: PUSH2 0x2160
00002139: JUMPI
0000213a: PUSH2 0x05be
0000213d: SWAP4
0000213e: PUSH2 0x2146
00002141: SWAP4
00002142: PUSH2 0x3467
00002145: JUMP
00002146: JUMPDEST
00002147: PUSH1 0x40
00002149: MLOAD
0000214a: PUSH1 0x01
0000214c: PUSH1 0x01
0000214e: PUSH1 0xa0
00002150: SHL
00002151: SUB
00002152: SWAP1
00002153: SWAP2
00002154: AND
00002155: DUP2
00002156: MSTORE
00002157: SWAP1
00002158: DUP2
00002159: SWAP1
0000215a: PUSH1 0x20
0000215c: DUP3
0000215d: ADD
0000215e: SWAP1
0000215f: JUMP
00002160: JUMPDEST
00002161: PUSH3 0x809237
00002165: PUSH1 0xe3
00002167: SHL
00002168: PUSH0
00002169: MSTORE
0000216a: PUSH1 0x04
0000216c: PUSH0
0000216d: REVERT
0000216e: JUMPDEST
0000216f: PUSH1 0x01
00002171: PUSH1 0x01
00002173: PUSH1 0xa0
00002175: SHL
00002176: SUB
00002177: DUP2
00002178: AND
00002179: PUSH0
0000217a: SWAP1
0000217b: DUP2
0000217c: MSTORE
0000217d: PUSH1 0x03
0000217f: PUSH1 0x20
00002181: MSTORE
00002182: PUSH1 0x40
00002184: SWAP1
00002185: KECCAK256
00002186: PUSH2 0x2196
00002189: SWAP1
0000218a: DUP1
0000218b: SLOAD
0000218c: PUSH1 0xff
0000218e: NOT
0000218f: AND
00002190: PUSH1 0x01
00002192: OR
00002193: SWAP1
00002194: SSTORE
00002195: JUMP
00002196: JUMPDEST
00002197: PUSH1 0x01
00002199: PUSH1 0x01
0000219b: PUSH1 0xa0
0000219d: SHL
0000219e: SUB
0000219f: AND
000021a0: PUSH0
000021a1: SWAP1
000021a2: DUP2
000021a3: MSTORE
000021a4: PUSH1 0x03
000021a6: PUSH1 0x20
000021a8: MSTORE
000021a9: PUSH1 0x40
000021ab: SWAP1
000021ac: KECCAK256
000021ad: SWAP1
000021ae: JUMP
000021af: JUMPDEST
000021b0: POP
000021b1: PUSH1 0x01
000021b3: PUSH1 0x01
000021b5: PUSH1 0xa0
000021b7: SHL
000021b8: SUB
000021b9: DUP2
000021ba: AND
000021bb: PUSH0
000021bc: SWAP1
000021bd: DUP2
000021be: MSTORE
000021bf: PUSH1 0x04
000021c1: PUSH1 0x20
000021c3: MSTORE
000021c4: PUSH1 0x40
000021c6: SWAP1
000021c7: KECCAK256
000021c8: PUSH2 0x21e0
000021cb: SWAP1
000021cc: PUSH2 0x21d4
000021cf: SWAP1
000021d0: PUSH2 0x0875
000021d3: JUMP
000021d4: JUMPDEST
000021d5: PUSH1 0x01
000021d7: PUSH1 0x01
000021d9: PUSH1 0x40
000021db: SHL
000021dc: SUB
000021dd: AND
000021de: SWAP1
000021df: JUMP
000021e0: JUMPDEST
000021e1: TIMESTAMP
000021e2: GT
000021e3: PUSH2 0x2114
000021e6: JUMP
000021e7: JUMPDEST
000021e8: POP
000021e9: PUSH0
000021ea: MLOAD
000021eb: PUSH1 0x20
000021ed: PUSH2 0x4793
000021f0: PUSH0
000021f1: CODECOPY
000021f2: PUSH0
000021f3: MLOAD
000021f4: SWAP1
000021f5: PUSH0
000021f6: MSTORE
000021f7: SLOAD
000021f8: PUSH1 0x01
000021fa: PUSH1 0x01
000021fc: PUSH1 0xa0
000021fe: SHL
000021ff: SUB
00002200: AND
00002201: CALLER
00002202: EQ
00002203: ISZERO
00002204: PUSH2 0x20e6
00002207: JUMP
00002208: JUMPDEST
00002209: CALLVALUE
0000220a: PUSH2 0x0504
0000220d: JUMPI
0000220e: PUSH2 0x2216
00002211: CALLDATASIZE
00002212: PUSH2 0x07d4
00002215: JUMP
00002216: JUMPDEST
00002217: SWAP1
00002218: PUSH2 0x221f
0000221b: PUSH2 0x3a11
0000221e: JUMP
0000221f: JUMPDEST
00002220: PUSH1 0x01
00002222: PUSH1 0x01
00002224: PUSH1 0xa0
00002226: SHL
00002227: SUB
00002228: AND
00002229: PUSH0
0000222a: DUP2
0000222b: DUP2
0000222c: MSTORE
0000222d: PUSH1 0x02
0000222f: PUSH1 0x20
00002231: MSTORE
00002232: PUSH1 0x40
00002234: SWAP1
00002235: KECCAK256
00002236: SLOAD
00002237: SWAP1
00002238: SWAP2
00002239: DUP1
0000223a: ISZERO
0000223b: ISZERO
0000223c: SWAP2
0000223d: PUSH1 0xff
0000223f: AND
00002240: ISZERO
00002241: ISZERO
00002242: DUP3
00002243: EQ
00002244: PUSH2 0x0930
00002247: JUMPI
00002248: PUSH32 0x74dc60cbc81a9472d04ad1d20e151d369c41104d655ed3f2f3091166a502cd8d
00002269: SWAP2
0000226a: PUSH2 0x228b
0000226d: PUSH1 0x20
0000226f: SWAP3
00002270: DUP6
00002271: PUSH0
00002272: MSTORE
00002273: PUSH1 0x02
00002275: DUP5
00002276: MSTORE
00002277: PUSH1 0x40
00002279: PUSH0
0000227a: KECCAK256
0000227b: SWAP1
0000227c: PUSH1 0xff
0000227e: DUP1
0000227f: NOT
00002280: DUP4
00002281: SLOAD
00002282: AND
00002283: SWAP2
00002284: ISZERO
00002285: ISZERO
00002286: AND
00002287: OR
00002288: SWAP1
00002289: SSTORE
0000228a: JUMP
0000228b: JUMPDEST
0000228c: PUSH1 0x40
0000228e: MLOAD
0000228f: SWAP1
00002290: DUP2
00002291: MSTORE
00002292: LOG2
00002293: STOP
00002294: JUMPDEST
00002295: CALLVALUE
00002296: PUSH2 0x0504
00002299: JUMPI
0000229a: PUSH1 0x20
0000229c: CALLDATASIZE
0000229d: PUSH1 0x03
0000229f: NOT
000022a0: ADD
000022a1: SLT
000022a2: PUSH2 0x0504
000022a5: JUMPI
000022a6: PUSH1 0x20
000022a8: PUSH2 0x066e
000022ab: PUSH1 0x04
000022ad: CALLDATALOAD
000022ae: PUSH2 0x36fc
000022b1: JUMP
000022b2: JUMPDEST
000022b3: PUSH1 0x60
000022b5: SWAP1
000022b6: PUSH1 0x03
000022b8: NOT
000022b9: ADD
000022ba: SLT
000022bb: PUSH2 0x0504
000022be: JUMPI
000022bf: PUSH1 0x04
000022c1: CALLDATALOAD
000022c2: SWAP1
000022c3: PUSH1 0x24
000022c5: CALLDATALOAD
000022c6: PUSH2 0x22ce
000022c9: DUP2
000022ca: PUSH2 0x0676
000022cd: JUMP
000022ce: JUMPDEST
000022cf: SWAP1
000022d0: PUSH1 0x44
000022d2: CALLDATALOAD
000022d3: PUSH2 0x0db5
000022d6: DUP2
000022d7: PUSH2 0x0676
000022da: JUMP
000022db: JUMPDEST
000022dc: CALLVALUE
000022dd: PUSH2 0x0504
000022e0: JUMPI
000022e1: PUSH2 0x22e9
000022e4: CALLDATASIZE
000022e5: PUSH2 0x22b2
000022e8: JUMP
000022e9: JUMPDEST
000022ea: PUSH2 0x22f5
000022ed: DUP2
000022ee: SWAP4
000022ef: SWAP3
000022f0: SWAP4
000022f1: PUSH2 0x3519
000022f4: JUMP
000022f5: JUMPDEST
000022f6: SWAP3
000022f7: DUP4
000022f8: DUP4
000022f9: GT
000022fa: PUSH2 0x23ef
000022fd: JUMPI
000022fe: PUSH2 0x05be
00002301: SWAP4
00002302: POP
00002303: PUSH2 0x230b
00002306: DUP4
00002307: PUSH2 0x3740
0000230a: JUMP
0000230b: JUMPDEST
0000230c: SWAP3
0000230d: PUSH2 0x2314
00002310: PUSH2 0x3e33
00002313: JUMP
00002314: JUMPDEST
00002315: PUSH1 0x01
00002317: PUSH1 0x01
00002319: PUSH1 0xa0
0000231b: SHL
0000231c: SUB
0000231d: DUP4
0000231e: AND
0000231f: SWAP3
00002320: PUSH2 0x2383
00002323: SWAP1
00002324: DUP6
00002325: SWAP1
00002326: CALLER
00002327: DUP7
00002328: SWAP1
00002329: SUB
0000232a: PUSH2 0x23df
0000232d: JUMPI
0000232e: JUMPDEST
0000232f: PUSH0
00002330: MLOAD
00002331: PUSH1 0x20
00002333: PUSH2 0x47d3
00002336: PUSH0
00002337: CODECOPY
00002338: PUSH0
00002339: MLOAD
0000233a: SWAP1
0000233b: PUSH0
0000233c: MSTORE
0000233d: SLOAD
0000233e: PUSH1 0x40
00002340: MLOAD
00002341: PUSH4 0x7bd58ea9
00002346: PUSH1 0xe0
00002348: SHL
00002349: PUSH1 0x20
0000234b: DUP3
0000234c: ADD
0000234d: MSTORE
0000234e: PUSH1 0x01
00002350: PUSH1 0x01
00002352: PUSH1 0xa0
00002354: SHL
00002355: SUB
00002356: SWAP2
00002357: DUP3
00002358: AND
00002359: PUSH1 0x24
0000235b: DUP3
0000235c: ADD
0000235d: MSTORE
0000235e: SWAP1
0000235f: DUP7
00002360: AND
00002361: PUSH1 0x44
00002363: DUP3
00002364: ADD
00002365: MSTORE
00002366: PUSH1 0x64
00002368: DUP2
00002369: ADD
0000236a: DUP6
0000236b: SWAP1
0000236c: MSTORE
0000236d: PUSH2 0x237d
00002370: SWAP1
00002371: PUSH2 0x1385
00002374: DUP2
00002375: PUSH1 0x84
00002377: DUP2
00002378: ADD
00002379: PUSH2 0x1377
0000237c: JUMP
0000237d: JUMPDEST
0000237e: POP
0000237f: PUSH2 0x3e6b
00002382: JUMP
00002383: JUMPDEST
00002384: PUSH1 0x40
00002386: DUP1
00002387: MLOAD
00002388: SWAP2
00002389: DUP3
0000238a: MSTORE
0000238b: PUSH1 0x20
0000238d: DUP3
0000238e: ADD
0000238f: DUP6
00002390: SWAP1
00002391: MSTORE
00002392: PUSH1 0x01
00002394: PUSH1 0x01
00002396: PUSH1 0xa0
00002398: SHL
00002399: SUB
0000239a: SWAP1
0000239b: SWAP3
0000239c: AND
0000239d: SWAP2
0000239e: CALLER
0000239f: SWAP2
000023a0: PUSH32 0xfbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db
000023c1: SWAP2
000023c2: DUP2
000023c3: SWAP1
000023c4: DUP2
000023c5: ADD
000023c6: JUMPDEST
000023c7: SUB
000023c8: SWAP1
000023c9: LOG4
000023ca: PUSH2 0x13f1
000023cd: PUSH1 0x01
000023cf: PUSH0
000023d0: MLOAD
000023d1: PUSH1 0x20
000023d3: PUSH2 0x4813
000023d6: PUSH0
000023d7: CODECOPY
000023d8: PUSH0
000023d9: MLOAD
000023da: SWAP1
000023db: PUSH0
000023dc: MSTORE
000023dd: SSTORE
000023de: JUMP
000023df: JUMPDEST
000023e0: PUSH2 0x23ea
000023e3: DUP3
000023e4: CALLER
000023e5: DUP4
000023e6: PUSH2 0x38c9
000023e9: JUMP
000023ea: JUMPDEST
000023eb: PUSH2 0x232e
000023ee: JUMP
000023ef: JUMPDEST
000023f0: POP
000023f1: PUSH4 0x3fa733bb
000023f6: PUSH1 0xe2
000023f8: SHL
000023f9: PUSH0
000023fa: MSTORE
000023fb: PUSH1 0x01
000023fd: DUP1
000023fe: PUSH1 0xa0
00002400: SHL
00002401: SUB
00002402: AND
00002403: PUSH1 0x04
00002405: MSTORE
00002406: PUSH1 0x24
00002408: MSTORE
00002409: PUSH1 0x44
0000240b: MSTORE
0000240c: PUSH1 0x64
0000240e: PUSH0
0000240f: REVERT
00002410: JUMPDEST
00002411: CALLVALUE
00002412: PUSH2 0x0504
00002415: JUMPI
00002416: PUSH2 0x241e
00002419: CALLDATASIZE
0000241a: PUSH2 0x22b2
0000241d: JUMP
0000241e: JUMPDEST
0000241f: PUSH2 0x242a
00002422: DUP2
00002423: SWAP4
00002424: SWAP3
00002425: SWAP4
00002426: PUSH2 0x2fd0
00002429: JUMP
0000242a: JUMPDEST
0000242b: SWAP3
0000242c: DUP4
0000242d: DUP4
0000242e: GT
0000242f: PUSH2 0x250a
00002432: JUMPI
00002433: PUSH2 0x05be
00002436: SWAP4
00002437: POP
00002438: PUSH2 0x2440
0000243b: DUP4
0000243c: PUSH2 0x36b9
0000243f: JUMP
00002440: JUMPDEST
00002441: SWAP3
00002442: PUSH2 0x2449
00002445: PUSH2 0x3e33
00002448: JUMP
00002449: JUMPDEST
0000244a: PUSH1 0x01
0000244c: PUSH1 0x01
0000244e: PUSH1 0xa0
00002450: SHL
00002451: SUB
00002452: DUP4
00002453: AND
00002454: SWAP3
00002455: PUSH2 0x24b2
00002458: SWAP1
00002459: DUP3
0000245a: SWAP1
0000245b: CALLER
0000245c: DUP7
0000245d: SWAP1
0000245e: SUB
0000245f: PUSH2 0x24fa
00002462: JUMPI
00002463: JUMPDEST
00002464: PUSH0
00002465: MLOAD
00002466: PUSH1 0x20
00002468: PUSH2 0x47d3
0000246b: PUSH0
0000246c: CODECOPY
0000246d: PUSH0
0000246e: MLOAD
0000246f: SWAP1
00002470: PUSH0
00002471: MSTORE
00002472: SLOAD
00002473: PUSH1 0x40
00002475: MLOAD
00002476: PUSH4 0x7bd58ea9
0000247b: PUSH1 0xe0
0000247d: SHL
0000247e: PUSH1 0x20
00002480: DUP3
00002481: ADD
00002482: MSTORE
00002483: PUSH1 0x01
00002485: PUSH1 0x01
00002487: PUSH1 0xa0
00002489: SHL
0000248a: SUB
0000248b: SWAP2
0000248c: DUP3
0000248d: AND
0000248e: PUSH1 0x24
00002490: DUP3
00002491: ADD
00002492: MSTORE
00002493: SWAP1
00002494: DUP7
00002495: AND
00002496: PUSH1 0x44
00002498: DUP3
00002499: ADD
0000249a: MSTORE
0000249b: PUSH1 0x64
0000249d: DUP2
0000249e: ADD
0000249f: DUP9
000024a0: SWAP1
000024a1: MSTORE
000024a2: PUSH2 0x237d
000024a5: SWAP1
000024a6: PUSH2 0x1385
000024a9: DUP2
000024aa: PUSH1 0x84
000024ac: DUP2
000024ad: ADD
000024ae: PUSH2 0x1377
000024b1: JUMP
000024b2: JUMPDEST
000024b3: PUSH1 0x40
000024b5: DUP1
000024b6: MLOAD
000024b7: DUP6
000024b8: DUP2
000024b9: MSTORE
000024ba: PUSH1 0x20
000024bc: DUP2
000024bd: ADD
000024be: SWAP3
000024bf: SWAP1
000024c0: SWAP3
000024c1: MSTORE
000024c2: PUSH1 0x01
000024c4: PUSH1 0x01
000024c6: PUSH1 0xa0
000024c8: SHL
000024c9: SUB
000024ca: SWAP1
000024cb: SWAP3
000024cc: AND
000024cd: SWAP2
000024ce: CALLER
000024cf: SWAP2
000024d0: PUSH32 0xfbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db
000024f1: SWAP2
000024f2: DUP2
000024f3: SWAP1
000024f4: DUP2
000024f5: ADD
000024f6: PUSH2 0x23c6
000024f9: JUMP
000024fa: JUMPDEST
000024fb: PUSH2 0x2505
000024fe: DUP3
000024ff: CALLER
00002500: DUP4
00002501: PUSH2 0x38c9
00002504: JUMP
00002505: JUMPDEST
00002506: PUSH2 0x2463
00002509: JUMP
0000250a: JUMPDEST
0000250b: POP
0000250c: PUSH4 0x2e52afbb
00002511: PUSH1 0xe2
00002513: SHL
00002514: PUSH0
00002515: MSTORE
00002516: PUSH1 0x01
00002518: DUP1
00002519: PUSH1 0xa0
0000251b: SHL
0000251c: SUB
0000251d: AND
0000251e: PUSH1 0x04
00002520: MSTORE
00002521: PUSH1 0x24
00002523: MSTORE
00002524: PUSH1 0x44
00002526: MSTORE
00002527: PUSH1 0x64
00002529: PUSH0
0000252a: REVERT
0000252b: JUMPDEST
0000252c: CALLVALUE
0000252d: PUSH2 0x0504
00002530: JUMPI
00002531: PUSH1 0x20
00002533: CALLDATASIZE
00002534: PUSH1 0x03
00002536: NOT
00002537: ADD
00002538: SLT
00002539: PUSH2 0x0504
0000253c: JUMPI
0000253d: PUSH2 0x2547
00002540: PUSH1 0x04
00002542: CALLDATALOAD
00002543: PUSH2 0x0676
00002546: JUMP
00002547: JUMPDEST
00002548: PUSH1 0x20
0000254a: PUSH2 0x066e
0000254d: PUSH2 0x34f3
00002550: JUMP
00002551: JUMPDEST
00002552: CALLVALUE
00002553: PUSH2 0x0504
00002556: JUMPI
00002557: PUSH1 0x20
00002559: CALLDATASIZE
0000255a: PUSH1 0x03
0000255c: NOT
0000255d: ADD
0000255e: SLT
0000255f: PUSH2 0x0504
00002562: JUMPI
00002563: PUSH1 0x20
00002565: PUSH2 0x066e
00002568: PUSH1 0x04
0000256a: CALLDATALOAD
0000256b: PUSH2 0x3784
0000256e: JUMP
0000256f: JUMPDEST
00002570: CALLVALUE
00002571: PUSH2 0x0504
00002574: JUMPI
00002575: PUSH0
00002576: CALLDATASIZE
00002577: PUSH1 0x03
00002579: NOT
0000257a: ADD
0000257b: SLT
0000257c: PUSH2 0x0504
0000257f: JUMPI
00002580: PUSH0
00002581: SLOAD
00002582: PUSH1 0x01
00002584: PUSH1 0x01
00002586: PUSH1 0xa0
00002588: SHL
00002589: SUB
0000258a: AND
0000258b: CALLER
0000258c: EQ
0000258d: ISZERO
0000258e: DUP1
0000258f: PUSH2 0x25c2
00002592: JUMPI
00002593: JUMPDEST
00002594: PUSH2 0x0a32
00002597: JUMPI
00002598: PUSH0
00002599: PUSH1 0x05
0000259b: SSTORE
0000259c: CALLER
0000259d: PUSH32 0x921828337692c347c634c5d2aacbc7b756014674bd236f3cc2058d8e284a951b
000025be: PUSH0
000025bf: DUP1
000025c0: LOG2
000025c1: STOP
000025c2: JUMPDEST
000025c3: POP
000025c4: PUSH0
000025c5: MLOAD
000025c6: PUSH1 0x20
000025c8: PUSH2 0x4793
000025cb: PUSH0
000025cc: CODECOPY
000025cd: PUSH0
000025ce: MLOAD
000025cf: SWAP1
000025d0: PUSH0
000025d1: MSTORE
000025d2: SLOAD
000025d3: PUSH1 0x01
000025d5: PUSH1 0x01
000025d7: PUSH1 0xa0
000025d9: SHL
000025da: SUB
000025db: AND
000025dc: CALLER
000025dd: EQ
000025de: ISZERO
000025df: PUSH2 0x2593
000025e2: JUMP
000025e3: JUMPDEST
000025e4: CALLVALUE
000025e5: PUSH2 0x0504
000025e8: JUMPI
000025e9: PUSH0
000025ea: CALLDATASIZE
000025eb: PUSH1 0x03
000025ed: NOT
000025ee: ADD
000025ef: SLT
000025f0: PUSH2 0x0504
000025f3: JUMPI
000025f4: PUSH1 0x06
000025f6: SLOAD
000025f7: DUP1
000025f8: PUSH1 0xc0
000025fa: SHR
000025fb: DUP1
000025fc: ISZERO
000025fd: PUSH2 0x1ad4
00002600: JUMPI
00002601: TIMESTAMP
00002602: LT
00002603: PUSH2 0x1ac5
00002606: JUMPI
00002607: PUSH2 0x2621
0000260a: SWAP1
0000260b: PUSH2 0x261c
0000260e: SWAP1
0000260f: PUSH1 0x01
00002611: PUSH1 0x01
00002613: PUSH1 0xc0
00002615: SHL
00002616: SUB
00002617: AND
00002618: PUSH2 0x4199
0000261b: JUMP
0000261c: JUMPDEST
0000261d: PUSH2 0x4063
00002620: JUMP
00002621: JUMPDEST
00002622: PUSH0
00002623: PUSH1 0x06
00002625: SSTORE
00002626: PUSH1 0x01
00002628: PUSH1 0x01
0000262a: PUSH1 0x40
0000262c: SHL
0000262d: SUB
0000262e: PUSH1 0x0e
00002630: SLOAD
00002631: AND
00002632: PUSH1 0x40
00002634: MLOAD
00002635: SWAP1
00002636: DUP2
00002637: MSTORE
00002638: PUSH32 0x20affe2401825617c69366f8c3a3493d9822d1021d0b3023c4e77ea5b3d0fbc5
00002659: PUSH1 0x20
0000265b: CALLER
0000265c: SWAP3
0000265d: LOG2
0000265e: STOP
0000265f: JUMPDEST
00002660: CALLVALUE
00002661: PUSH2 0x0504
00002664: JUMPI
00002665: PUSH1 0x20
00002667: CALLDATASIZE
00002668: PUSH1 0x03
0000266a: NOT
0000266b: ADD
0000266c: SLT
0000266d: PUSH2 0x0504
00002670: JUMPI
00002671: PUSH1 0x20
00002673: PUSH2 0x066e
00002676: PUSH1 0x04
00002678: CALLDATALOAD
00002679: PUSH2 0x2681
0000267c: DUP2
0000267d: PUSH2 0x0676
00002680: JUMP
00002681: JUMPDEST
00002682: PUSH2 0x3519
00002685: JUMP
00002686: JUMPDEST
00002687: CALLVALUE
00002688: PUSH2 0x0504
0000268b: JUMPI
0000268c: PUSH0
0000268d: CALLDATASIZE
0000268e: PUSH1 0x03
00002690: NOT
00002691: ADD
00002692: SLT
00002693: PUSH2 0x0504
00002696: JUMPI
00002697: PUSH1 0x20
00002699: PUSH1 0x08
0000269b: SLOAD
0000269c: PUSH1 0x40
0000269e: MLOAD
0000269f: SWAP1
000026a0: DUP2
000026a1: MSTORE
000026a2: RETURN
000026a3: JUMPDEST
000026a4: CALLVALUE
000026a5: PUSH2 0x0504
000026a8: JUMPI
000026a9: PUSH1 0x80
000026ab: CALLDATASIZE
000026ac: PUSH1 0x03
000026ae: NOT
000026af: ADD
000026b0: SLT
000026b1: PUSH2 0x0504
000026b4: JUMPI
000026b5: PUSH2 0x088f
000026b8: PUSH1 0x04
000026ba: CALLDATALOAD
000026bb: PUSH1 0x24
000026bd: CALLDATALOAD
000026be: PUSH1 0x44
000026c0: CALLDATALOAD
000026c1: SWAP1
000026c2: PUSH1 0x40
000026c4: MLOAD
000026c5: SWAP3
000026c6: PUSH4 0x0c3a1515
000026cb: PUSH1 0xe3
000026cd: SHL
000026ce: PUSH1 0x20
000026d0: DUP6
000026d1: ADD
000026d2: MSTORE
000026d3: PUSH1 0x24
000026d5: DUP5
000026d6: ADD
000026d7: MSTORE
000026d8: PUSH1 0x44
000026da: DUP4
000026db: ADD
000026dc: MSTORE
000026dd: PUSH1 0x64
000026df: DUP3
000026e0: ADD
000026e1: MSTORE
000026e2: PUSH1 0x64
000026e4: DUP2
000026e5: MSTORE
000026e6: PUSH2 0x1385
000026e9: PUSH1 0x84
000026eb: DUP3
000026ec: PUSH2 0x0ce6
000026ef: JUMP
000026f0: JUMPDEST
000026f1: CALLVALUE
000026f2: PUSH2 0x0504
000026f5: JUMPI
000026f6: PUSH1 0x40
000026f8: CALLDATASIZE
000026f9: PUSH1 0x03
000026fb: NOT
000026fc: ADD
000026fd: SLT
000026fe: PUSH2 0x0504
00002701: JUMPI
00002702: PUSH1 0x20
00002704: PUSH2 0x2727
00002707: PUSH1 0x04
00002709: CALLDATALOAD
0000270a: PUSH2 0x2712
0000270d: DUP2
0000270e: PUSH2 0x0676
00002711: JUMP
00002712: JUMPDEST
00002713: PUSH2 0x06d9
00002716: PUSH1 0x24
00002718: CALLDATALOAD
00002719: SWAP2
0000271a: PUSH2 0x2722
0000271d: DUP4
0000271e: PUSH2 0x0676
00002721: JUMP
00002722: JUMPDEST
00002723: PUSH2 0x2c44
00002726: JUMP
00002727: JUMPDEST
00002728: SLOAD
00002729: PUSH1 0x40
0000272b: MLOAD
0000272c: SWAP1
0000272d: DUP2
0000272e: MSTORE
0000272f: RETURN
00002730: JUMPDEST
00002731: CALLVALUE
00002732: PUSH2 0x0504
00002735: JUMPI
00002736: PUSH0
00002737: CALLDATASIZE
00002738: PUSH1 0x03
0000273a: NOT
0000273b: ADD
0000273c: SLT
0000273d: PUSH2 0x0504
00002740: JUMPI
00002741: PUSH0
00002742: MLOAD
00002743: PUSH1 0x20
00002745: PUSH2 0x4853
00002748: PUSH0
00002749: CODECOPY
0000274a: PUSH0
0000274b: MLOAD
0000274c: SWAP1
0000274d: PUSH0
0000274e: MSTORE
0000274f: SLOAD
00002750: PUSH1 0x40
00002752: MLOAD
00002753: PUSH1 0x01
00002755: PUSH1 0x01
00002757: PUSH1 0xa0
00002759: SHL
0000275a: SUB
0000275b: SWAP1
0000275c: SWAP2
0000275d: AND
0000275e: DUP2
0000275f: MSTORE
00002760: PUSH1 0x20
00002762: SWAP1
00002763: RETURN
00002764: JUMPDEST
00002765: CALLVALUE
00002766: PUSH2 0x0504
00002769: JUMPI
0000276a: PUSH1 0x20
0000276c: CALLDATASIZE
0000276d: PUSH1 0x03
0000276f: NOT
00002770: ADD
00002771: SLT
00002772: PUSH2 0x0504
00002775: JUMPI
00002776: PUSH1 0x04
00002778: CALLDATALOAD
00002779: PUSH2 0x2781
0000277c: DUP2
0000277d: PUSH2 0x0676
00002780: JUMP
00002781: JUMPDEST
00002782: PUSH0
00002783: SLOAD
00002784: PUSH1 0x01
00002786: PUSH1 0x01
00002788: PUSH1 0xa0
0000278a: SHL
0000278b: SUB
0000278c: AND
0000278d: CALLER
0000278e: EQ
0000278f: ISZERO
00002790: DUP1
00002791: PUSH2 0x27da
00002794: JUMPI
00002795: JUMPDEST
00002796: PUSH2 0x0a32
00002799: JUMPI
0000279a: PUSH1 0x01
0000279c: PUSH1 0x01
0000279e: PUSH1 0xa0
000027a0: SHL
000027a1: SUB
000027a2: AND
000027a3: PUSH0
000027a4: DUP2
000027a5: DUP2
000027a6: MSTORE
000027a7: PUSH1 0x04
000027a9: PUSH1 0x20
000027ab: MSTORE
000027ac: PUSH1 0x40
000027ae: DUP2
000027af: KECCAK256
000027b0: DUP2
000027b1: SWAP1
000027b2: SSTORE
000027b3: CALLER
000027b4: SWAP1
000027b5: PUSH32 0x10d2cd24a2375b12d91635518e47506f9aebfe8af364c6109b93ac41e8b0b86f
000027d6: SWAP1
000027d7: DUP1
000027d8: LOG3
000027d9: STOP
000027da: JUMPDEST
000027db: POP
000027dc: PUSH0
000027dd: MLOAD
000027de: PUSH1 0x20
000027e0: PUSH2 0x4793
000027e3: PUSH0
000027e4: CODECOPY
000027e5: PUSH0
000027e6: MLOAD
000027e7: SWAP1
000027e8: PUSH0
000027e9: MSTORE
000027ea: SLOAD
000027eb: PUSH1 0x01
000027ed: PUSH1 0x01
000027ef: PUSH1 0xa0
000027f1: SHL
000027f2: SUB
000027f3: AND
000027f4: CALLER
000027f5: EQ
000027f6: ISZERO
000027f7: PUSH2 0x2795
000027fa: JUMP
000027fb: JUMPDEST
000027fc: CALLVALUE
000027fd: PUSH2 0x0504
00002800: JUMPI
00002801: PUSH0
00002802: CALLDATASIZE
00002803: PUSH1 0x03
00002805: NOT
00002806: ADD
00002807: SLT
00002808: PUSH2 0x0504
0000280b: JUMPI
0000280c: PUSH1 0x20
0000280e: PUSH7 0x2386f26fc10000
00002816: PUSH1 0x0d
00002818: SLOAD
00002819: DIV
0000281a: PUSH1 0x40
0000281c: MLOAD
0000281d: SWAP1
0000281e: DUP2
0000281f: MSTORE
00002820: RETURN
00002821: JUMPDEST
00002822: CALLVALUE
00002823: PUSH2 0x0504
00002826: JUMPI
00002827: PUSH0
00002828: CALLDATASIZE
00002829: PUSH1 0x03
0000282b: NOT
0000282c: ADD
0000282d: SLT
0000282e: PUSH2 0x0504
00002831: JUMPI
00002832: PUSH1 0x01
00002834: SLOAD
00002835: PUSH1 0x40
00002837: MLOAD
00002838: PUSH1 0x01
0000283a: PUSH1 0x01
0000283c: PUSH1 0xa0
0000283e: SHL
0000283f: SUB
00002840: SWAP1
00002841: SWAP2
00002842: AND
00002843: DUP2
00002844: MSTORE
00002845: PUSH1 0x20
00002847: SWAP1
00002848: RETURN
00002849: JUMPDEST
0000284a: CALLVALUE
0000284b: PUSH2 0x0504
0000284e: JUMPI
0000284f: PUSH2 0x2857
00002852: CALLDATASIZE
00002853: PUSH2 0x0d8b
00002856: JUMP
00002857: JUMPDEST
00002858: CALLER
00002859: PUSH0
0000285a: MSTORE
0000285b: PUSH1 0x02
0000285d: PUSH1 0x20
0000285f: MSTORE
00002860: PUSH1 0xff
00002862: PUSH1 0x40
00002864: PUSH0
00002865: KECCAK256
00002866: SLOAD
00002867: AND
00002868: ISZERO
00002869: DUP1
0000286a: PUSH2 0x28a2
0000286d: JUMPI
0000286e: JUMPDEST
0000286f: DUP1
00002870: PUSH2 0x2881
00002873: JUMPI
00002874: JUMPDEST
00002875: PUSH2 0x0df0
00002878: JUMPI
00002879: PUSH2 0x088f
0000287c: SWAP1
0000287d: PUSH2 0x41ca
00002880: JUMP
00002881: JUMPDEST
00002882: POP
00002883: PUSH0
00002884: MLOAD
00002885: PUSH1 0x20
00002887: PUSH2 0x4793
0000288a: PUSH0
0000288b: CODECOPY
0000288c: PUSH0
0000288d: MLOAD
0000288e: SWAP1
0000288f: PUSH0
00002890: MSTORE
00002891: SLOAD
00002892: PUSH1 0x01
00002894: PUSH1 0x01
00002896: PUSH1 0xa0
00002898: SHL
00002899: SUB
0000289a: AND
0000289b: CALLER
0000289c: EQ
0000289d: ISZERO
0000289e: PUSH2 0x2874
000028a1: JUMP
000028a2: JUMPDEST
000028a3: POP
000028a4: PUSH1 0x01
000028a6: SLOAD
000028a7: PUSH1 0x01
000028a9: PUSH1 0x01
000028ab: PUSH1 0xa0
000028ad: SHL
000028ae: SUB
000028af: AND
000028b0: CALLER
000028b1: EQ
000028b2: ISZERO
000028b3: PUSH2 0x286e
000028b6: JUMP
000028b7: JUMPDEST
000028b8: CALLVALUE
000028b9: PUSH2 0x0504
000028bc: JUMPI
000028bd: PUSH1 0x20
000028bf: CALLDATASIZE
000028c0: PUSH1 0x03
000028c2: NOT
000028c3: ADD
000028c4: SLT
000028c5: PUSH2 0x0504
000028c8: JUMPI
000028c9: PUSH1 0x04
000028cb: CALLDATALOAD
000028cc: PUSH2 0x28d4
000028cf: DUP2
000028d0: PUSH2 0x0676
000028d3: JUMP
000028d4: JUMPDEST
000028d5: PUSH2 0x28dc
000028d8: PUSH2 0x3a11
000028db: JUMP
000028dc: JUMPDEST
000028dd: PUSH1 0x01
000028df: SLOAD
000028e0: PUSH1 0x01
000028e2: PUSH1 0x01
000028e4: PUSH1 0xa0
000028e6: SHL
000028e7: SUB
000028e8: SWAP2
000028e9: DUP3
000028ea: AND
000028eb: SWAP2
000028ec: DUP2
000028ed: AND
000028ee: DUP3
000028ef: EQ
000028f0: PUSH2 0x0930
000028f3: JUMPI
000028f4: PUSH1 0x01
000028f6: PUSH1 0x01
000028f8: PUSH1 0xa0
000028fa: SHL
000028fb: SUB
000028fc: NOT
000028fd: AND
000028fe: DUP2
000028ff: OR
00002900: PUSH1 0x01
00002902: SSTORE
00002903: PUSH1 0x40
00002905: MLOAD
00002906: SWAP1
00002907: DUP2
00002908: MSTORE
00002909: PUSH32 0xbd0a63c12948fbc9194a5839019f99c9d71db924e5c70018265bc778b8f1a506
0000292a: SWAP1
0000292b: PUSH1 0x20
0000292d: SWAP1
0000292e: LOG1
0000292f: STOP
00002930: JUMPDEST
00002931: CALLVALUE
00002932: PUSH2 0x0504
00002935: JUMPI
00002936: PUSH1 0x20
00002938: CALLDATASIZE
00002939: PUSH1 0x03
0000293b: NOT
0000293c: ADD
0000293d: SLT
0000293e: PUSH2 0x0504
00002941: JUMPI
00002942: PUSH1 0x04
00002944: CALLDATALOAD
00002945: PUSH2 0x294d
00002948: DUP2
00002949: PUSH2 0x0676
0000294c: JUMP
0000294d: JUMPDEST
0000294e: PUSH0
0000294f: PUSH1 0x80
00002951: PUSH1 0x40
00002953: MLOAD
00002954: PUSH2 0x295c
00002957: DUP2
00002958: PUSH2 0x0ccb
0000295b: JUMP
0000295c: JUMPDEST
0000295d: DUP3
0000295e: DUP2
0000295f: MSTORE
00002960: DUP3
00002961: PUSH1 0x20
00002963: DUP3
00002964: ADD
00002965: MSTORE
00002966: DUP3
00002967: PUSH1 0x40
00002969: DUP3
0000296a: ADD
0000296b: MSTORE
0000296c: DUP3
0000296d: PUSH1 0x60
0000296f: DUP3
00002970: ADD
00002971: MSTORE
00002972: ADD
00002973: MSTORE
00002974: PUSH1 0x01
00002976: DUP1
00002977: PUSH1 0xa0
00002979: SHL
0000297a: SUB
0000297b: AND
0000297c: PUSH0
0000297d: MSTORE
0000297e: PUSH1 0x12
00002980: PUSH1 0x20
00002982: MSTORE
00002983: PUSH2 0x05be
00002986: PUSH1 0x40
00002988: PUSH0
00002989: KECCAK256
0000298a: PUSH2 0x29f4
0000298d: PUSH2 0x29e4
00002990: PUSH1 0x03
00002992: PUSH1 0x40
00002994: MLOAD
00002995: SWAP4
00002996: PUSH2 0x299e
00002999: DUP6
0000299a: PUSH2 0x0ccb
0000299d: JUMP
0000299e: JUMPDEST
0000299f: DUP1
000029a0: SLOAD
000029a1: PUSH1 0x01
000029a3: PUSH1 0x01
000029a5: PUSH1 0xa0
000029a7: SHL
000029a8: SUB
000029a9: SWAP1
000029aa: DUP2
000029ab: AND
000029ac: DUP7
000029ad: MSTORE
000029ae: PUSH1 0x01
000029b0: DUP3
000029b1: ADD
000029b2: SLOAD
000029b3: DUP2
000029b4: AND
000029b5: PUSH1 0x20
000029b7: DUP8
000029b8: ADD
000029b9: MSTORE
000029ba: PUSH1 0x02
000029bc: DUP3
000029bd: ADD
000029be: SLOAD
000029bf: AND
000029c0: PUSH1 0x40
000029c2: DUP7
000029c3: ADD
000029c4: MSTORE
000029c5: ADD
000029c6: SLOAD
000029c7: PUSH1 0x01
000029c9: PUSH1 0x01
000029cb: PUSH1 0x80
000029cd: SHL
000029ce: SUB
000029cf: DUP2
000029d0: AND
000029d1: PUSH1 0x60
000029d3: DUP6
000029d4: ADD
000029d5: MSTORE
000029d6: PUSH1 0x80
000029d8: SHR
000029d9: PUSH1 0x01
000029db: PUSH1 0x01
000029dd: PUSH1 0x40
000029df: SHL
000029e0: SUB
000029e1: AND
000029e2: SWAP1
000029e3: JUMP
000029e4: JUMPDEST
000029e5: PUSH1 0x01
000029e7: PUSH1 0x01
000029e9: PUSH1 0x40
000029eb: SHL
000029ec: SUB
000029ed: AND
000029ee: PUSH1 0x80
000029f0: DUP4
000029f1: ADD
000029f2: MSTORE
000029f3: JUMP
000029f4: JUMPDEST
000029f5: PUSH1 0x40
000029f7: DUP1
000029f8: MLOAD
000029f9: DUP3
000029fa: MLOAD
000029fb: PUSH1 0x01
000029fd: PUSH1 0x01
000029ff: PUSH1 0xa0
00002a01: SHL
00002a02: SUB
00002a03: SWAP1
00002a04: DUP2
00002a05: AND
00002a06: DUP3
00002a07: MSTORE
00002a08: PUSH1 0x20
00002a0a: DUP1
00002a0b: DUP6
00002a0c: ADD
00002a0d: MLOAD
00002a0e: DUP3
00002a0f: AND
00002a10: SWAP1
00002a11: DUP4
00002a12: ADD
00002a13: MSTORE
00002a14: DUP4
00002a15: DUP4
00002a16: ADD
00002a17: MLOAD
00002a18: AND
00002a19: SWAP2
00002a1a: DUP2
00002a1b: ADD
00002a1c: SWAP2
00002a1d: SWAP1
00002a1e: SWAP2
00002a1f: MSTORE
00002a20: PUSH1 0x60
00002a22: DUP1
00002a23: DUP4
00002a24: ADD
00002a25: MLOAD
00002a26: PUSH1 0x01
00002a28: PUSH1 0x01
00002a2a: PUSH1 0x80
00002a2c: SHL
00002a2d: SUB
00002a2e: AND
00002a2f: SWAP1
00002a30: DUP3
00002a31: ADD
00002a32: MSTORE
00002a33: PUSH1 0x80
00002a35: SWAP2
00002a36: DUP3
00002a37: ADD
00002a38: MLOAD
00002a39: PUSH1 0x01
00002a3b: PUSH1 0x01
00002a3d: PUSH1 0x40
00002a3f: SHL
00002a40: SUB
00002a41: AND
00002a42: SWAP2
00002a43: DUP2
00002a44: ADD
00002a45: SWAP2
00002a46: SWAP1
00002a47: SWAP2
00002a48: MSTORE
00002a49: SWAP1
00002a4a: DUP2
00002a4b: SWAP1
00002a4c: PUSH1 0xa0
00002a4e: DUP3
00002a4f: ADD
00002a50: SWAP1
00002a51: JUMP
00002a52: JUMPDEST
00002a53: CALLVALUE
00002a54: PUSH2 0x0504
00002a57: JUMPI
00002a58: PUSH1 0x20
00002a5a: CALLDATASIZE
00002a5b: PUSH1 0x03
00002a5d: NOT
00002a5e: ADD
00002a5f: SLT
00002a60: PUSH2 0x0504
00002a63: JUMPI
00002a64: PUSH1 0x04
00002a66: CALLDATALOAD
00002a67: PUSH2 0x2a6f
00002a6a: DUP2
00002a6b: PUSH2 0x0676
00002a6e: JUMP
00002a6f: JUMPDEST
00002a70: PUSH2 0x2a77
00002a73: PUSH2 0x3a11
00002a76: JUMP
00002a77: JUMPDEST
00002a78: PUSH0
00002a79: MLOAD
00002a7a: PUSH1 0x20
00002a7c: PUSH2 0x4853
00002a7f: PUSH0
00002a80: CODECOPY
00002a81: PUSH0
00002a82: MLOAD
00002a83: SWAP1
00002a84: PUSH0
00002a85: MSTORE
00002a86: DUP1
00002a87: SLOAD
00002a88: PUSH1 0x01
00002a8a: PUSH1 0x01
00002a8c: PUSH1 0xa0
00002a8e: SHL
00002a8f: SUB
00002a90: NOT
00002a91: AND
00002a92: PUSH1 0x01
00002a94: PUSH1 0x01
00002a96: PUSH1 0xa0
00002a98: SHL
00002a99: SUB
00002a9a: SWAP3
00002a9b: DUP4
00002a9c: AND
00002a9d: SWAP1
00002a9e: DUP2
00002a9f: OR
00002aa0: SWAP1
00002aa1: SWAP2
00002aa2: SSTORE
00002aa3: PUSH0
00002aa4: MLOAD
00002aa5: PUSH1 0x20
00002aa7: PUSH2 0x4793
00002aaa: PUSH0
00002aab: CODECOPY
00002aac: PUSH0
00002aad: MLOAD
00002aae: SWAP1
00002aaf: PUSH0
00002ab0: MSTORE
00002ab1: SLOAD
00002ab2: SWAP1
00002ab3: SWAP2
00002ab4: AND
00002ab5: PUSH32 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700
00002ad6: PUSH0
00002ad7: DUP1
00002ad8: LOG3
00002ad9: STOP
00002ada: JUMPDEST
00002adb: CALLVALUE
00002adc: PUSH2 0x0504
00002adf: JUMPI
00002ae0: PUSH1 0x20
00002ae2: CALLDATASIZE
00002ae3: PUSH1 0x03
00002ae5: NOT
00002ae6: ADD
00002ae7: SLT
00002ae8: PUSH2 0x0504
00002aeb: JUMPI
00002aec: PUSH1 0x04
00002aee: CALLDATALOAD
00002aef: PUSH2 0x2af7
00002af2: DUP2
00002af3: PUSH2 0x0676
00002af6: JUMP
00002af7: JUMPDEST
00002af8: PUSH1 0x01
00002afa: PUSH1 0x01
00002afc: PUSH1 0xa0
00002afe: SHL
00002aff: SUB
00002b00: DUP2
00002b01: AND
00002b02: PUSH0
00002b03: SWAP1
00002b04: DUP2
00002b05: MSTORE
00002b06: PUSH1 0x04
00002b08: PUSH1 0x20
00002b0a: MSTORE
00002b0b: PUSH1 0x40
00002b0d: SWAP1
00002b0e: KECCAK256
00002b0f: SLOAD
00002b10: PUSH1 0xc0
00002b12: SHR
00002b13: DUP1
00002b14: ISZERO
00002b15: PUSH2 0x1ad4
00002b18: JUMPI
00002b19: TIMESTAMP
00002b1a: LT
00002b1b: PUSH2 0x1ac5
00002b1e: JUMPI
00002b1f: PUSH1 0x01
00002b21: DUP1
00002b22: PUSH1 0xa0
00002b24: SHL
00002b25: SUB
00002b26: AND
00002b27: DUP1
00002b28: PUSH0
00002b29: MSTORE
00002b2a: PUSH1 0x03
00002b2c: PUSH1 0x20
00002b2e: MSTORE
00002b2f: PUSH1 0x40
00002b31: PUSH0
00002b32: KECCAK256
00002b33: PUSH1 0x01
00002b35: PUSH1 0xff
00002b37: NOT
00002b38: DUP3
00002b39: SLOAD
00002b3a: AND
00002b3b: OR
00002b3c: SWAP1
00002b3d: SSTORE
00002b3e: DUP1
00002b3f: PUSH1 0x40
00002b41: MLOAD
00002b42: PUSH1 0x01
00002b44: DUP2
00002b45: MSTORE
00002b46: PUSH32 0x7276f1d77fbb1794919362294fb870305193d894417c47c88716aa858f4272d3
00002b67: PUSH1 0x20
00002b69: CALLER
00002b6a: SWAP3
00002b6b: LOG3
00002b6c: PUSH0
00002b6d: SWAP1
00002b6e: DUP2
00002b6f: MSTORE
00002b70: PUSH1 0x04
00002b72: PUSH1 0x20
00002b74: MSTORE
00002b75: PUSH1 0x40
00002b77: DUP2
00002b78: KECCAK256
00002b79: SSTORE
00002b7a: STOP
00002b7b: JUMPDEST
00002b7c: CALLVALUE
00002b7d: PUSH2 0x0504
00002b80: JUMPI
00002b81: PUSH1 0x20
00002b83: CALLDATASIZE
00002b84: PUSH1 0x03
00002b86: NOT
00002b87: ADD
00002b88: SLT
00002b89: PUSH2 0x0504
00002b8c: JUMPI
00002b8d: PUSH1 0x04
00002b8f: CALLDATALOAD
00002b90: PUSH1 0x0f
00002b92: SLOAD
00002b93: DUP2
00002b94: LT
00002b95: ISZERO
00002b96: PUSH2 0x127e
00002b99: JUMPI
00002b9a: PUSH1 0x0f
00002b9c: PUSH0
00002b9d: MSTORE
00002b9e: PUSH32 0x8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802
00002bbf: ADD
00002bc0: SLOAD
00002bc1: PUSH1 0x40
00002bc3: MLOAD
00002bc4: PUSH1 0x01
00002bc6: PUSH1 0x01
00002bc8: PUSH1 0xa0
00002bca: SHL
00002bcb: SUB
00002bcc: SWAP1
00002bcd: SWAP2
00002bce: AND
00002bcf: DUP2
00002bd0: MSTORE
00002bd1: PUSH1 0x20
00002bd3: SWAP1
00002bd4: RETURN
00002bd5: JUMPDEST
00002bd6: PUSH4 0x4e487b71
00002bdb: PUSH1 0xe0
00002bdd: SHL
00002bde: PUSH0
00002bdf: MSTORE
00002be0: PUSH1 0x12
00002be2: PUSH1 0x04
00002be4: MSTORE
00002be5: PUSH1 0x24
00002be7: PUSH0
00002be8: REVERT
00002be9: JUMPDEST
00002bea: PUSH4 0x4e487b71
00002bef: PUSH1 0xe0
00002bf1: SHL
00002bf2: PUSH0
00002bf3: MSTORE
00002bf4: PUSH1 0x11
00002bf6: PUSH1 0x04
00002bf8: MSTORE
00002bf9: PUSH1 0x24
00002bfb: PUSH0
00002bfc: REVERT
00002bfd: JUMPDEST
00002bfe: DUP2
00002bff: ISZERO
00002c00: PUSH2 0x2c07
00002c03: JUMPI
00002c04: DIV
00002c05: SWAP1
00002c06: JUMP
00002c07: JUMPDEST
00002c08: PUSH2 0x2bd5
00002c0b: JUMP
00002c0c: JUMPDEST
00002c0d: SWAP1
00002c0e: PUSH1 0x01
00002c10: DUP3
00002c11: DUP2
00002c12: SHR
00002c13: SWAP3
00002c14: AND
00002c15: DUP1
00002c16: ISZERO
00002c17: PUSH2 0x2c3a
00002c1a: JUMPI
00002c1b: JUMPDEST
00002c1c: PUSH1 0x20
00002c1e: DUP4
00002c1f: LT
00002c20: EQ
00002c21: PUSH2 0x2c26
00002c24: JUMPI
00002c25: JUMP
00002c26: JUMPDEST
00002c27: PUSH4 0x4e487b71
00002c2c: PUSH1 0xe0
00002c2e: SHL
00002c2f: PUSH0
00002c30: MSTORE
00002c31: PUSH1 0x22
00002c33: PUSH1 0x04
00002c35: MSTORE
00002c36: PUSH1 0x24
00002c38: PUSH0
00002c39: REVERT
00002c3a: JUMPDEST
00002c3b: SWAP2
00002c3c: PUSH1 0x7f
00002c3e: AND
00002c3f: SWAP2
00002c40: PUSH2 0x2c1b
00002c43: JUMP
00002c44: JUMPDEST
00002c45: PUSH1 0x01
00002c47: PUSH1 0x01
00002c49: PUSH1 0xa0
00002c4b: SHL
00002c4c: SUB
00002c4d: AND
00002c4e: PUSH0
00002c4f: SWAP1
00002c50: DUP2
00002c51: MSTORE
00002c52: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace01
00002c73: PUSH1 0x20
00002c75: MSTORE
00002c76: PUSH1 0x40
00002c78: SWAP1
00002c79: KECCAK256
00002c7a: SWAP1
00002c7b: JUMP
00002c7c: JUMPDEST
00002c7d: PUSH1 0x01
00002c7f: PUSH1 0x01
00002c81: PUSH1 0xa0
00002c83: SHL
00002c84: SUB
00002c85: AND
00002c86: PUSH0
00002c87: SWAP1
00002c88: DUP2
00002c89: MSTORE
00002c8a: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00
00002cab: PUSH1 0x20
00002cad: MSTORE
00002cae: PUSH1 0x40
00002cb0: SWAP1
00002cb1: KECCAK256
00002cb2: SWAP1
00002cb3: JUMP
00002cb4: JUMPDEST
00002cb5: PUSH1 0x40
00002cb7: MLOAD
00002cb8: SWAP1
00002cb9: PUSH2 0x2cc1
00002cbc: DUP3
00002cbd: PUSH2 0x0cb0
00002cc0: JUMP
00002cc1: JUMPDEST
00002cc2: PUSH0
00002cc3: PUSH1 0x20
00002cc5: DUP4
00002cc6: DUP3
00002cc7: DUP2
00002cc8: MSTORE
00002cc9: ADD
00002cca: MSTORE
00002ccb: JUMP
00002ccc: JUMPDEST
00002ccd: PUSH4 0x4e487b71
00002cd2: PUSH1 0xe0
00002cd4: SHL
00002cd5: PUSH0
00002cd6: MSTORE
00002cd7: PUSH1 0x32
00002cd9: PUSH1 0x04
00002cdb: MSTORE
00002cdc: PUSH1 0x24
00002cde: PUSH0
00002cdf: REVERT
00002ce0: JUMPDEST
00002ce1: PUSH1 0x0f
00002ce3: SLOAD
00002ce4: DUP2
00002ce5: LT
00002ce6: ISZERO
00002ce7: PUSH2 0x127e
00002cea: JUMPI
00002ceb: PUSH1 0x0f
00002ced: PUSH0
00002cee: MSTORE
00002cef: PUSH1 0x20
00002cf1: PUSH0
00002cf2: KECCAK256
00002cf3: ADD
00002cf4: SWAP1
00002cf5: PUSH0
00002cf6: SWAP1
00002cf7: JUMP
00002cf8: JUMPDEST
00002cf9: PUSH1 0x10
00002cfb: SLOAD
00002cfc: DUP2
00002cfd: LT
00002cfe: ISZERO
00002cff: PUSH2 0x127e
00002d02: JUMPI
00002d03: PUSH1 0x10
00002d05: PUSH0
00002d06: MSTORE
00002d07: PUSH1 0x20
00002d09: PUSH0
00002d0a: KECCAK256
00002d0b: ADD
00002d0c: SWAP1
00002d0d: PUSH0
00002d0e: SWAP1
00002d0f: JUMP
00002d10: JUMPDEST
00002d11: PUSH1 0x40
00002d13: MLOAD
00002d14: RETURNDATASIZE
00002d15: PUSH0
00002d16: DUP3
00002d17: RETURNDATACOPY
00002d18: RETURNDATASIZE
00002d19: SWAP1
00002d1a: REVERT
00002d1b: JUMPDEST
00002d1c: SWAP2
00002d1d: SWAP1
00002d1e: DUP3
00002d1f: SUB
00002d20: SWAP2
00002d21: DUP3
00002d22: GT
00002d23: PUSH2 0x0ae5
00002d26: JUMPI
00002d27: JUMP
00002d28: JUMPDEST
00002d29: PUSH1 0xff
00002d2b: PUSH0
00002d2c: MLOAD
00002d2d: PUSH1 0x20
00002d2f: PUSH2 0x47f3
00002d32: PUSH0
00002d33: CODECOPY
00002d34: PUSH0
00002d35: MLOAD
00002d36: SWAP1
00002d37: PUSH0
00002d38: MSTORE
00002d39: SLOAD
00002d3a: AND
00002d3b: PUSH2 0x2d7e
00002d3e: JUMPI
00002d3f: PUSH7 0x2386f26fc10000
00002d47: PUSH2 0x2d4e
00002d4a: PUSH2 0x3565
00002d4d: JUMP
00002d4e: JUMPDEST
00002d4f: POP
00002d50: DIV
00002d51: PUSH1 0x09
00002d53: SLOAD
00002d54: DUP1
00002d55: SWAP2
00002d56: LT
00002d57: ISZERO
00002d58: PUSH2 0x2d79
00002d5b: JUMPI
00002d5c: PUSH7 0x2386f26fc10000
00002d64: PUSH2 0x2d6b
00002d67: PUSH2 0x3565
00002d6a: JUMP
00002d6b: JUMPDEST
00002d6c: POP
00002d6d: DIV
00002d6e: DUP2
00002d6f: SUB
00002d70: SWAP1
00002d71: DUP2
00002d72: GT
00002d73: PUSH2 0x0ae5
00002d76: JUMPI
00002d77: SWAP1
00002d78: JUMP
00002d79: JUMPDEST
00002d7a: POP
00002d7b: PUSH0
00002d7c: SWAP1
00002d7d: JUMP
00002d7e: JUMPDEST
00002d7f: PUSH0
00002d80: SWAP1
00002d81: JUMP
00002d82: JUMPDEST
00002d83: DUP2
00002d84: DUP2
00002d85: MUL
00002d86: SWAP3
00002d87: SWAP2
00002d88: DUP2
00002d89: ISZERO
00002d8a: SWAP2
00002d8b: DUP5
00002d8c: DIV
00002d8d: EQ
00002d8e: OR
00002d8f: ISZERO
00002d90: PUSH2 0x0ae5
00002d93: JUMPI
00002d94: JUMP
00002d95: JUMPDEST
00002d96: PUSH1 0x0b
00002d98: SLOAD
00002d99: DUP1
00002d9a: ISZERO
00002d9b: PUSH2 0x2d79
00002d9e: JUMPI
00002d9f: PUSH1 0x0d
00002da1: SLOAD
00002da2: PUSH1 0x01
00002da4: PUSH1 0x01
00002da6: PUSH1 0x40
00002da8: SHL
00002da9: SUB
00002daa: PUSH1 0x0e
00002dac: SLOAD
00002dad: AND
00002dae: PUSH4 0x05f5e100
00002db3: SUB
00002db4: PUSH4 0x05f5e100
00002db9: DUP2
00002dba: GT
00002dbb: PUSH2 0x0ae5
00002dbe: JUMPI
00002dbf: PUSH2 0x2dc7
00002dc2: SWAP2
00002dc3: PUSH2 0x2d82
00002dc6: JUMP
00002dc7: JUMPDEST
00002dc8: DIV
00002dc9: SWAP1
00002dca: JUMP
00002dcb: JUMPDEST
00002dcc: SWAP4
00002dcd: SWAP3
00002dce: SWAP1
00002dcf: SWAP2
00002dd0: PUSH1 0x01
00002dd2: DUP1
00002dd3: PUSH1 0xa0
00002dd5: SHL
00002dd6: SUB
00002dd7: PUSH1 0x01
00002dd9: SLOAD
00002dda: AND
00002ddb: CALLER
00002ddc: EQ
00002ddd: ISZERO
00002dde: DUP1
00002ddf: PUSH2 0x2eaf
00002de2: JUMPI
00002de3: JUMPDEST
00002de4: PUSH2 0x0946
00002de7: JUMPI
00002de8: PUSH2 0x2def
00002deb: PUSH2 0x3d2d
00002dee: JUMP
00002def: JUMPDEST
00002df0: PUSH1 0x01
00002df2: DUP1
00002df3: PUSH1 0xa0
00002df5: SHL
00002df6: SUB
00002df7: PUSH0
00002df8: MLOAD
00002df9: PUSH1 0x20
00002dfb: PUSH2 0x47d3
00002dfe: PUSH0
00002dff: CODECOPY
00002e00: PUSH0
00002e01: MLOAD
00002e02: SWAP1
00002e03: PUSH0
00002e04: MSTORE
00002e05: SLOAD
00002e06: AND
00002e07: SWAP3
00002e08: PUSH1 0x40
00002e0a: MLOAD
00002e0b: SWAP4
00002e0c: PUSH4 0x53cc9d55
00002e11: PUSH1 0xe1
00002e13: SHL
00002e14: PUSH1 0x20
00002e16: DUP7
00002e17: ADD
00002e18: MSTORE
00002e19: PUSH1 0xc4
00002e1b: DUP6
00002e1c: ADD
00002e1d: SWAP1
00002e1e: PUSH1 0x24
00002e20: DUP7
00002e21: ADD
00002e22: MSTORE
00002e23: PUSH1 0xa0
00002e25: PUSH1 0x44
00002e27: DUP7
00002e28: ADD
00002e29: MSTORE
00002e2a: DUP7
00002e2b: MLOAD
00002e2c: DUP1
00002e2d: SWAP2
00002e2e: MSTORE
00002e2f: PUSH1 0x20
00002e31: PUSH1 0xe4
00002e33: DUP7
00002e34: ADD
00002e35: SWAP8
00002e36: ADD
00002e37: SWAP1
00002e38: PUSH0
00002e39: JUMPDEST
00002e3a: DUP2
00002e3b: DUP2
00002e3c: LT
00002e3d: PUSH2 0x2e90
00002e40: JUMPI
00002e41: POP
00002e42: POP
00002e43: POP
00002e44: PUSH2 0x1385
00002e47: SWAP3
00002e48: PUSH2 0x2e7b
00002e4b: DUP6
00002e4c: SWAP4
00002e4d: PUSH2 0x2e69
00002e50: PUSH2 0x2e8d
00002e53: SWAP9
00002e54: SWAP10
00002e55: PUSH2 0x1377
00002e58: SWAP6
00002e59: PUSH1 0x23
00002e5b: NOT
00002e5c: DUP9
00002e5d: DUP4
00002e5e: SUB
00002e5f: ADD
00002e60: PUSH1 0x64
00002e62: DUP10
00002e63: ADD
00002e64: MSTORE
00002e65: PUSH2 0x2ed0
00002e68: JUMP
00002e69: JUMPDEST
00002e6a: DUP6
00002e6b: DUP2
00002e6c: SUB
00002e6d: PUSH1 0x23
00002e6f: NOT
00002e70: ADD
00002e71: PUSH1 0x84
00002e73: DUP8
00002e74: ADD
00002e75: MSTORE
00002e76: SWAP1
00002e77: PUSH2 0x2ed0
00002e7a: JUMP
00002e7b: JUMPDEST
00002e7c: DUP4
00002e7d: DUP2
00002e7e: SUB
00002e7f: PUSH1 0x23
00002e81: NOT
00002e82: ADD
00002e83: PUSH1 0xa4
00002e85: DUP6
00002e86: ADD
00002e87: MSTORE
00002e88: SWAP1
00002e89: PUSH2 0x2f78
00002e8c: JUMP
00002e8d: JUMPDEST
00002e8e: POP
00002e8f: JUMP
00002e90: JUMPDEST
00002e91: DUP3
00002e92: MLOAD
00002e93: PUSH1 0x01
00002e95: PUSH1 0x01
00002e97: PUSH1 0xa0
00002e99: SHL
00002e9a: SUB
00002e9b: AND
00002e9c: DUP10
00002e9d: MSTORE
00002e9e: PUSH1 0x20
00002ea0: SWAP9
00002ea1: DUP10
00002ea2: ADD
00002ea3: SWAP9
00002ea4: SWAP1
00002ea5: SWAP3
00002ea6: ADD
00002ea7: SWAP2
00002ea8: PUSH1 0x01
00002eaa: ADD
00002eab: PUSH2 0x2e39
00002eae: JUMP
00002eaf: JUMPDEST
00002eb0: POP
00002eb1: PUSH0
00002eb2: MLOAD
00002eb3: PUSH1 0x20
00002eb5: PUSH2 0x4793
00002eb8: PUSH0
00002eb9: CODECOPY
00002eba: PUSH0
00002ebb: MLOAD
00002ebc: SWAP1
00002ebd: PUSH0
00002ebe: MSTORE
00002ebf: SLOAD
00002ec0: PUSH1 0x01
00002ec2: PUSH1 0x01
00002ec4: PUSH1 0xa0
00002ec6: SHL
00002ec7: SUB
00002ec8: AND
00002ec9: CALLER
00002eca: EQ
00002ecb: ISZERO
00002ecc: PUSH2 0x2de3
00002ecf: JUMP
00002ed0: JUMPDEST
00002ed1: SWAP1
00002ed2: PUSH1 0x20
00002ed4: DUP1
00002ed5: DUP4
00002ed6: MLOAD
00002ed7: SWAP3
00002ed8: DUP4
00002ed9: DUP2
00002eda: MSTORE
00002edb: ADD
00002edc: SWAP3
00002edd: ADD
00002ede: SWAP1
00002edf: PUSH0
00002ee0: JUMPDEST
00002ee1: DUP2
00002ee2: DUP2
00002ee3: LT
00002ee4: PUSH2 0x2eed
00002ee7: JUMPI
00002ee8: POP
00002ee9: POP
00002eea: POP
00002eeb: SWAP1
00002eec: JUMP
00002eed: JUMPDEST
00002eee: DUP3
00002eef: MLOAD
00002ef0: DUP5
00002ef1: MSTORE
00002ef2: PUSH1 0x20
00002ef4: SWAP4
00002ef5: DUP5
00002ef6: ADD
00002ef7: SWAP4
00002ef8: SWAP1
00002ef9: SWAP3
00002efa: ADD
00002efb: SWAP2
00002efc: PUSH1 0x01
00002efe: ADD
00002eff: PUSH2 0x2ee0
00002f02: JUMP
00002f03: JUMPDEST
00002f04: SWAP1
00002f05: PUSH1 0x20
00002f07: DUP1
00002f08: DUP4
00002f09: MLOAD
00002f0a: SWAP3
00002f0b: DUP4
00002f0c: DUP2
00002f0d: MSTORE
00002f0e: ADD
00002f0f: SWAP3
00002f10: ADD
00002f11: SWAP1
00002f12: PUSH0
00002f13: JUMPDEST
00002f14: DUP2
00002f15: DUP2
00002f16: LT
00002f17: PUSH2 0x2f20
00002f1a: JUMPI
00002f1b: POP
00002f1c: POP
00002f1d: POP
00002f1e: SWAP1
00002f1f: JUMP
00002f20: JUMPDEST
00002f21: SWAP1
00002f22: SWAP2
00002f23: SWAP3
00002f24: PUSH1 0x20
00002f26: PUSH1 0x60
00002f28: PUSH1 0x01
00002f2a: SWAP3
00002f2b: PUSH1 0x40
00002f2d: DUP8
00002f2e: MLOAD
00002f2f: DUP1
00002f30: MLOAD
00002f31: DUP4
00002f32: MSTORE
00002f33: DUP5
00002f34: DUP2
00002f35: ADD
00002f36: MLOAD
00002f37: DUP6
00002f38: DUP5
00002f39: ADD
00002f3a: MSTORE
00002f3b: ADD
00002f3c: MLOAD
00002f3d: PUSH1 0x40
00002f3f: DUP3
00002f40: ADD
00002f41: MSTORE
00002f42: ADD
00002f43: SWAP5
00002f44: ADD
00002f45: SWAP2
00002f46: ADD
00002f47: SWAP2
00002f48: SWAP1
00002f49: SWAP2
00002f4a: PUSH2 0x2f13
00002f4d: JUMP
00002f4e: JUMPDEST
00002f4f: PUSH2 0x0db5
00002f52: SWAP2
00002f53: PUSH1 0x20
00002f55: PUSH2 0x2f67
00002f58: DUP4
00002f59: MLOAD
00002f5a: PUSH1 0x40
00002f5c: DUP5
00002f5d: MSTORE
00002f5e: PUSH1 0x40
00002f60: DUP5
00002f61: ADD
00002f62: SWAP1
00002f63: PUSH2 0x2f03
00002f66: JUMP
00002f67: JUMPDEST
00002f68: SWAP3
00002f69: ADD
00002f6a: MLOAD
00002f6b: SWAP1
00002f6c: PUSH1 0x20
00002f6e: DUP2
00002f6f: DUP5
00002f70: SUB
00002f71: SWAP2
00002f72: ADD
00002f73: MSTORE
00002f74: PUSH2 0x2f03
00002f77: JUMP
00002f78: JUMPDEST
00002f79: SWAP1
00002f7a: DUP1
00002f7b: PUSH1 0x20
00002f7d: DUP4
00002f7e: MLOAD
00002f7f: SWAP2
00002f80: DUP3
00002f81: DUP2
00002f82: MSTORE
00002f83: ADD
00002f84: SWAP2
00002f85: PUSH1 0x20
00002f87: DUP1
00002f88: DUP4
00002f89: PUSH1 0x05
00002f8b: SHL
00002f8c: DUP4
00002f8d: ADD
00002f8e: ADD
00002f8f: SWAP5
00002f90: ADD
00002f91: SWAP3
00002f92: PUSH0
00002f93: SWAP2
00002f94: JUMPDEST
00002f95: DUP4
00002f96: DUP4
00002f97: LT
00002f98: PUSH2 0x2fa3
00002f9b: JUMPI
00002f9c: POP
00002f9d: POP
00002f9e: POP
00002f9f: POP
00002fa0: POP
00002fa1: SWAP1
00002fa2: JUMP
00002fa3: JUMPDEST
00002fa4: SWAP1
00002fa5: SWAP2
00002fa6: SWAP3
00002fa7: SWAP4
00002fa8: SWAP5
00002fa9: PUSH1 0x20
00002fab: DUP1
00002fac: PUSH2 0x2fc1
00002faf: PUSH1 0x01
00002fb1: SWAP4
00002fb2: PUSH1 0x1f
00002fb4: NOT
00002fb5: DUP7
00002fb6: DUP3
00002fb7: SUB
00002fb8: ADD
00002fb9: DUP8
00002fba: MSTORE
00002fbb: DUP10
00002fbc: MLOAD
00002fbd: PUSH2 0x2f4e
00002fc0: JUMP
00002fc1: JUMPDEST
00002fc2: SWAP8
00002fc3: ADD
00002fc4: SWAP4
00002fc5: ADD
00002fc6: SWAP4
00002fc7: ADD
00002fc8: SWAP2
00002fc9: SWAP4
00002fca: SWAP3
00002fcb: SWAP1
00002fcc: PUSH2 0x2f94
00002fcf: JUMP
00002fd0: JUMPDEST
00002fd1: PUSH1 0x01
00002fd3: PUSH1 0x01
00002fd5: PUSH1 0xa0
00002fd7: SHL
00002fd8: SUB
00002fd9: AND
00002fda: PUSH0
00002fdb: SWAP1
00002fdc: DUP2
00002fdd: MSTORE
00002fde: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00
00002fff: PUSH1 0x20
00003001: MSTORE
00003002: PUSH1 0x40
00003004: SWAP1
00003005: KECCAK256
00003006: SLOAD
00003007: SWAP1
00003008: JUMP
00003009: JUMPDEST
0000300a: SWAP1
0000300b: DUP2
0000300c: PUSH1 0x20
0000300e: SWAP2
0000300f: SUB
00003010: SLT
00003011: PUSH2 0x0504
00003014: JUMPI
00003015: MLOAD
00003016: SWAP1
00003017: JUMP
00003018: JUMPDEST
00003019: PUSH0
0000301a: MLOAD
0000301b: PUSH1 0x20
0000301d: PUSH2 0x4833
00003020: PUSH0
00003021: CODECOPY
00003022: PUSH0
00003023: MLOAD
00003024: SWAP1
00003025: PUSH0
00003026: MSTORE
00003027: SLOAD
00003028: SWAP1
00003029: PUSH1 0x01
0000302b: PUSH1 0x01
0000302d: PUSH1 0x40
0000302f: SHL
00003030: SUB
00003031: PUSH2 0x3049
00003034: PUSH1 0x40
00003036: DUP5
00003037: SWAP1
00003038: SHR
00003039: PUSH1 0xff
0000303b: AND
0000303c: ISZERO
0000303d: SWAP4
0000303e: PUSH1 0x01
00003040: PUSH1 0x01
00003042: PUSH1 0x40
00003044: SHL
00003045: SUB
00003046: AND
00003047: SWAP1
00003048: JUMP
00003049: JUMPDEST
0000304a: AND
0000304b: DUP1
0000304c: ISZERO
0000304d: SWAP1
0000304e: DUP2
0000304f: PUSH2 0x3163
00003052: JUMPI
00003053: JUMPDEST
00003054: PUSH1 0x01
00003056: EQ
00003057: SWAP1
00003058: DUP2
00003059: PUSH2 0x3159
0000305c: JUMPI
0000305d: JUMPDEST
0000305e: ISZERO
0000305f: SWAP1
00003060: DUP2
00003061: PUSH2 0x3150
00003064: JUMPI
00003065: JUMPDEST
00003066: POP
00003067: PUSH2 0x3141
0000306a: JUMPI
0000306b: PUSH2 0x30a8
0000306e: SWAP1
0000306f: DUP3
00003070: PUSH2 0x309f
00003073: PUSH1 0x01
00003075: PUSH1 0x01
00003077: PUSH1 0x01
00003079: PUSH1 0x40
0000307b: SHL
0000307c: SUB
0000307d: NOT
0000307e: PUSH0
0000307f: MLOAD
00003080: PUSH1 0x20
00003082: PUSH2 0x4833
00003085: PUSH0
00003086: CODECOPY
00003087: PUSH0
00003088: MLOAD
00003089: SWAP1
0000308a: PUSH0
0000308b: MSTORE
0000308c: SLOAD
0000308d: AND
0000308e: OR
0000308f: PUSH0
00003090: MLOAD
00003091: PUSH1 0x20
00003093: PUSH2 0x4833
00003096: PUSH0
00003097: CODECOPY
00003098: PUSH0
00003099: MLOAD
0000309a: SWAP1
0000309b: PUSH0
0000309c: MSTORE
0000309d: SSTORE
0000309e: JUMP
0000309f: JUMPDEST
000030a0: PUSH2 0x310c
000030a3: JUMPI
000030a4: PUSH2 0x316b
000030a7: JUMP
000030a8: JUMPDEST
000030a9: PUSH2 0x30ae
000030ac: JUMPI
000030ad: JUMP
000030ae: JUMPDEST
000030af: PUSH2 0x30d8
000030b2: PUSH1 0xff
000030b4: PUSH1 0x40
000030b6: SHL
000030b7: NOT
000030b8: PUSH0
000030b9: MLOAD
000030ba: PUSH1 0x20
000030bc: PUSH2 0x4833
000030bf: PUSH0
000030c0: CODECOPY
000030c1: PUSH0
000030c2: MLOAD
000030c3: SWAP1
000030c4: PUSH0
000030c5: MSTORE
000030c6: SLOAD
000030c7: AND
000030c8: PUSH0
000030c9: MLOAD
000030ca: PUSH1 0x20
000030cc: PUSH2 0x4833
000030cf: PUSH0
000030d0: CODECOPY
000030d1: PUSH0
000030d2: MLOAD
000030d3: SWAP1
000030d4: PUSH0
000030d5: MSTORE
000030d6: SSTORE
000030d7: JUMP
000030d8: JUMPDEST
000030d9: PUSH1 0x40
000030db: MLOAD
000030dc: PUSH1 0x01
000030de: DUP2
000030df: MSTORE
000030e0: PUSH32 0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2
00003101: SWAP1
00003102: DUP1
00003103: PUSH1 0x20
00003105: DUP2
00003106: ADD
00003107: JUMPDEST
00003108: SUB
00003109: SWAP1
0000310a: LOG1
0000310b: JUMP
0000310c: JUMPDEST
0000310d: PUSH2 0x313c
00003110: PUSH1 0x01
00003112: PUSH1 0x40
00003114: SHL
00003115: PUSH1 0xff
00003117: PUSH1 0x40
00003119: SHL
0000311a: NOT
0000311b: PUSH0
0000311c: MLOAD
0000311d: PUSH1 0x20
0000311f: PUSH2 0x4833
00003122: PUSH0
00003123: CODECOPY
00003124: PUSH0
00003125: MLOAD
00003126: SWAP1
00003127: PUSH0
00003128: MSTORE
00003129: SLOAD
0000312a: AND
0000312b: OR
0000312c: PUSH0
0000312d: MLOAD
0000312e: PUSH1 0x20
00003130: PUSH2 0x4833
00003133: PUSH0
00003134: CODECOPY
00003135: PUSH0
00003136: MLOAD
00003137: SWAP1
00003138: PUSH0
00003139: MSTORE
0000313a: SSTORE
0000313b: JUMP
0000313c: JUMPDEST
0000313d: PUSH2 0x316b
00003140: JUMP
00003141: JUMPDEST
00003142: PUSH4 0xf92ee8a9
00003147: PUSH1 0xe0
00003149: SHL
0000314a: PUSH0
0000314b: MSTORE
0000314c: PUSH1 0x04
0000314e: PUSH0
0000314f: REVERT
00003150: JUMPDEST
00003151: SWAP1
00003152: POP
00003153: ISZERO
00003154: PUSH0
00003155: PUSH2 0x3065
00003158: JUMP
00003159: JUMPDEST
0000315a: ADDRESS
0000315b: EXTCODESIZE
0000315c: ISZERO
0000315d: SWAP2
0000315e: POP
0000315f: PUSH2 0x305d
00003162: JUMP
00003163: JUMPDEST
00003164: DUP4
00003165: SWAP2
00003166: POP
00003167: PUSH2 0x3053
0000316a: JUMP
0000316b: JUMPDEST
0000316c: SWAP1
0000316d: PUSH1 0xa0
0000316f: DUP3
00003170: ADD
00003171: MLOAD
00003172: SWAP2
00003173: PUSH1 0xc0
00003175: DUP2
00003176: ADD
00003177: MLOAD
00003178: PUSH2 0x317f
0000317b: PUSH2 0x446e
0000317e: JUMP
0000317f: JUMPDEST
00003180: PUSH2 0x3187
00003183: PUSH2 0x446e
00003186: JUMP
00003187: JUMPDEST
00003188: DUP4
00003189: MLOAD
0000318a: PUSH1 0x01
0000318c: PUSH1 0x01
0000318e: PUSH1 0x40
00003190: SHL
00003191: SUB
00003192: DUP2
00003193: GT
00003194: PUSH2 0x0cab
00003197: JUMPI
00003198: PUSH2 0x31b7
0000319b: DUP2
0000319c: PUSH2 0x31b2
0000319f: PUSH0
000031a0: MLOAD
000031a1: PUSH1 0x20
000031a3: PUSH2 0x4753
000031a6: PUSH0
000031a7: CODECOPY
000031a8: PUSH0
000031a9: MLOAD
000031aa: SWAP1
000031ab: PUSH0
000031ac: MSTORE
000031ad: SLOAD
000031ae: PUSH2 0x2c0c
000031b1: JUMP
000031b2: JUMPDEST
000031b3: PUSH2 0x4499
000031b6: JUMP
000031b7: JUMPDEST
000031b8: PUSH1 0x20
000031ba: PUSH1 0x1f
000031bc: DUP3
000031bd: GT
000031be: PUSH1 0x01
000031c0: EQ
000031c1: PUSH2 0x32b4
000031c4: JUMPI
000031c5: PUSH1 0x20
000031c7: SWAP3
000031c8: PUSH2 0x31f4
000031cb: DUP4
000031cc: PUSH2 0x328c
000031cf: SWAP7
000031d0: SWAP5
000031d1: PUSH2 0x3208
000031d4: SWAP5
000031d5: PUSH2 0x0692
000031d8: SWAP10
000031d9: SWAP11
000031da: PUSH0
000031db: SWAP3
000031dc: PUSH2 0x32a9
000031df: JUMPI
000031e0: JUMPDEST
000031e1: POP
000031e2: POP
000031e3: DUP2
000031e4: PUSH1 0x01
000031e6: SHL
000031e7: SWAP2
000031e8: PUSH0
000031e9: NOT
000031ea: SWAP1
000031eb: PUSH1 0x03
000031ed: SHL
000031ee: SHR
000031ef: NOT
000031f0: AND
000031f1: OR
000031f2: SWAP1
000031f3: JUMP
000031f4: JUMPDEST
000031f5: PUSH0
000031f6: MLOAD
000031f7: PUSH1 0x20
000031f9: PUSH2 0x4753
000031fc: PUSH0
000031fd: CODECOPY
000031fe: PUSH0
000031ff: MLOAD
00003200: SWAP1
00003201: PUSH0
00003202: MSTORE
00003203: SSTORE
00003204: PUSH2 0x4520
00003207: JUMP
00003208: JUMPDEST
00003209: DUP1
0000320a: MLOAD
0000320b: PUSH2 0x321c
0000320e: SWAP1
0000320f: PUSH1 0x01
00003211: PUSH1 0x01
00003213: PUSH1 0xa0
00003215: SHL
00003216: SUB
00003217: AND
00003218: PUSH2 0x3f6d
0000321b: JUMP
0000321c: JUMPDEST
0000321d: PUSH1 0x60
0000321f: DUP2
00003220: ADD
00003221: MLOAD
00003222: PUSH2 0x3233
00003225: SWAP1
00003226: PUSH1 0x01
00003228: PUSH1 0x01
0000322a: PUSH1 0xa0
0000322c: SHL
0000322d: SUB
0000322e: AND
0000322f: PUSH2 0x3fa8
00003232: JUMP
00003233: JUMPDEST
00003234: PUSH2 0x323b
00003237: PUSH2 0x400c
0000323a: JUMP
0000323b: JUMPDEST
0000323c: PUSH2 0x3243
0000323f: PUSH2 0x402f
00003242: JUMP
00003243: JUMPDEST
00003244: PUSH2 0x325a
00003247: PUSH2 0x261c
0000324a: PUSH1 0xe0
0000324c: DUP4
0000324d: ADD
0000324e: MLOAD
0000324f: PUSH1 0x01
00003251: PUSH1 0x01
00003253: PUSH1 0x40
00003255: SHL
00003256: SUB
00003257: AND
00003258: SWAP1
00003259: JUMP
0000325a: JUMPDEST
0000325b: PUSH2 0x3271
0000325e: PUSH1 0x40
00003260: DUP3
00003261: ADD
00003262: PUSH2 0x326b
00003265: DUP2
00003266: MLOAD
00003267: PUSH2 0x3f04
0000326a: JUMP
0000326b: JUMPDEST
0000326c: MLOAD
0000326d: PUSH1 0x08
0000326f: SSTORE
00003270: JUMP
00003271: JUMPDEST
00003272: PUSH2 0x327e
00003275: PUSH1 0x80
00003277: DUP3
00003278: ADD
00003279: MLOAD
0000327a: PUSH1 0x09
0000327c: SSTORE
0000327d: JUMP
0000327e: JUMPDEST
0000327f: ADD
00003280: MLOAD
00003281: PUSH1 0x01
00003283: PUSH1 0x01
00003285: PUSH1 0xa0
00003287: SHL
00003288: SUB
00003289: AND
0000328a: SWAP1
0000328b: JUMP
0000328c: JUMPDEST
0000328d: PUSH1 0x01
0000328f: DUP1
00003290: PUSH1 0xa0
00003292: SHL
00003293: SUB
00003294: AND
00003295: PUSH1 0x01
00003297: PUSH1 0x01
00003299: PUSH1 0x60
0000329b: SHL
0000329c: SUB
0000329d: PUSH1 0xa0
0000329f: SHL
000032a0: PUSH1 0x01
000032a2: SLOAD
000032a3: AND
000032a4: OR
000032a5: PUSH1 0x01
000032a7: SSTORE
000032a8: JUMP
000032a9: JUMPDEST
000032aa: ADD
000032ab: MLOAD
000032ac: SWAP1
000032ad: POP
000032ae: PUSH0
000032af: DUP1
000032b0: PUSH2 0x31e0
000032b3: JUMP
000032b4: JUMPDEST
000032b5: PUSH0
000032b6: MLOAD
000032b7: PUSH1 0x20
000032b9: PUSH2 0x4753
000032bc: PUSH0
000032bd: CODECOPY
000032be: PUSH0
000032bf: MLOAD
000032c0: SWAP1
000032c1: PUSH0
000032c2: MSTORE
000032c3: PUSH0
000032c4: MSTORE
000032c5: PUSH1 0x1f
000032c7: NOT
000032c8: DUP3
000032c9: AND
000032ca: SWAP6
000032cb: PUSH32 0x2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0
000032ec: SWAP7
000032ed: PUSH0
000032ee: JUMPDEST
000032ef: DUP2
000032f0: DUP2
000032f1: LT
000032f2: PUSH2 0x3344
000032f5: JUMPI
000032f6: POP
000032f7: DUP4
000032f8: PUSH2 0x0692
000032fb: SWAP8
000032fc: SWAP9
000032fd: PUSH2 0x3208
00003300: SWAP5
00003301: PUSH1 0x20
00003303: SWAP8
00003304: SWAP5
00003305: PUSH2 0x328c
00003308: SWAP10
00003309: SWAP8
0000330a: PUSH1 0x01
0000330c: SWAP6
0000330d: LT
0000330e: PUSH2 0x332c
00003311: JUMPI
00003312: JUMPDEST
00003313: POP
00003314: POP
00003315: POP
00003316: DUP2
00003317: SHL
00003318: ADD
00003319: PUSH0
0000331a: MLOAD
0000331b: PUSH1 0x20
0000331d: PUSH2 0x4753
00003320: PUSH0
00003321: CODECOPY
00003322: PUSH0
00003323: MLOAD
00003324: SWAP1
00003325: PUSH0
00003326: MSTORE
00003327: SSTORE
00003328: PUSH2 0x4520
0000332b: JUMP
0000332c: JUMPDEST
0000332d: ADD
0000332e: MLOAD
0000332f: PUSH0
00003330: NOT
00003331: PUSH1 0xf8
00003333: DUP5
00003334: PUSH1 0x03
00003336: SHL
00003337: AND
00003338: SHR
00003339: NOT
0000333a: AND
0000333b: SWAP1
0000333c: SSTORE
0000333d: PUSH0
0000333e: DUP1
0000333f: DUP1
00003340: PUSH2 0x3312
00003343: JUMP
00003344: JUMPDEST
00003345: DUP4
00003346: DUP4
00003347: ADD
00003348: MLOAD
00003349: DUP10
0000334a: SSTORE
0000334b: PUSH1 0x01
0000334d: SWAP1
0000334e: SWAP9
0000334f: ADD
00003350: SWAP8
00003351: PUSH1 0x20
00003353: SWAP4
00003354: DUP5
00003355: ADD
00003356: SWAP4
00003357: ADD
00003358: PUSH2 0x32ee
0000335b: JUMP
0000335c: JUMPDEST
0000335d: PUSH2 0x3371
00003360: PUSH2 0x21d4
00003363: PUSH1 0x0e
00003365: SLOAD
00003366: PUSH1 0x01
00003368: PUSH1 0x01
0000336a: PUSH1 0x40
0000336c: SHL
0000336d: SUB
0000336e: AND
0000336f: SWAP1
00003370: JUMP
00003371: JUMPDEST
00003372: PUSH1 0x01
00003374: PUSH1 0x01
00003376: PUSH1 0xb8
00003378: SHL
00003379: SUB
0000337a: DUP3
0000337b: AND
0000337c: SWAP1
0000337d: DUP1
0000337e: DUP3
0000337f: EQ
00003380: PUSH2 0x0930
00003383: JUMPI
00003384: PUSH1 0x01
00003386: PUSH1 0x01
00003388: PUSH1 0x40
0000338a: SHL
0000338b: SUB
0000338c: PUSH2 0x3397
0000338f: PUSH1 0x06
00003391: SLOAD
00003392: PUSH1 0xc0
00003394: SHR
00003395: SWAP1
00003396: JUMP
00003397: JUMPDEST
00003398: AND
00003399: PUSH2 0x0921
0000339c: JUMPI
0000339d: PUSH4 0x02faf080
000033a2: DUP3
000033a3: GT
000033a4: PUSH2 0x3458
000033a7: JUMPI
000033a8: DUP2
000033a9: LT
000033aa: ISZERO
000033ab: PUSH2 0x33f9
000033ae: JUMPI
000033af: PUSH2 0x261c
000033b2: PUSH2 0x33ba
000033b5: SWAP2
000033b6: PUSH2 0x4199
000033b9: JUMP
000033ba: JUMPDEST
000033bb: PUSH1 0x40
000033bd: MLOAD
000033be: PUSH1 0x01
000033c0: PUSH1 0x01
000033c2: PUSH1 0xb8
000033c4: SHL
000033c5: SUB
000033c6: SWAP1
000033c7: SWAP2
000033c8: AND
000033c9: DUP2
000033ca: MSTORE
000033cb: CALLER
000033cc: SWAP1
000033cd: PUSH32 0x20affe2401825617c69366f8c3a3493d9822d1021d0b3023c4e77ea5b3d0fbc5
000033ee: SWAP1
000033ef: DUP1
000033f0: PUSH1 0x20
000033f2: DUP2
000033f3: ADD
000033f4: JUMPDEST
000033f5: SUB
000033f6: SWAP1
000033f7: LOG2
000033f8: JUMP
000033f9: JUMPDEST
000033fa: POP
000033fb: PUSH32 0x7424f23ff556b5fe97d2f5a4b22548445b948e612029151105b441519f1bfb99
0000341c: SWAP1
0000341d: PUSH2 0x3428
00003420: PUSH1 0x08
00003422: SLOAD
00003423: DUP3
00003424: PUSH2 0x382b
00003427: JUMP
00003428: JUMPDEST
00003429: PUSH1 0x06
0000342b: SLOAD
0000342c: PUSH1 0xc0
0000342e: SHR
0000342f: PUSH1 0x40
00003431: DUP1
00003432: MLOAD
00003433: PUSH1 0x01
00003435: PUSH1 0x01
00003437: PUSH1 0xb8
00003439: SHL
0000343a: SUB
0000343b: SWAP1
0000343c: SWAP4
0000343d: AND
0000343e: DUP4
0000343f: MSTORE
00003440: PUSH1 0x01
00003442: PUSH1 0x01
00003444: PUSH1 0x40
00003446: SHL
00003447: SUB
00003448: SWAP1
00003449: SWAP2
0000344a: AND
0000344b: PUSH1 0x20
0000344d: DUP4
0000344e: ADD
0000344f: MSTORE
00003450: DUP2
00003451: SWAP1
00003452: DUP2
00003453: ADD
00003454: PUSH2 0x3107
00003457: JUMP
00003458: JUMPDEST
00003459: PUSH4 0x062f00d5
0000345e: PUSH1 0xe5
00003460: SHL
00003461: PUSH0
00003462: MSTORE
00003463: PUSH1 0x04
00003465: PUSH0
00003466: REVERT
00003467: JUMPDEST
00003468: SWAP2
00003469: SWAP1
0000346a: PUSH2 0x1377
0000346d: PUSH2 0x34d5
00003470: SWAP5
00003471: PUSH2 0x1385
00003474: SWAP4
00003475: PUSH2 0x347c
00003478: PUSH2 0x3d2d
0000347b: JUMP
0000347c: JUMPDEST
0000347d: PUSH0
0000347e: MLOAD
0000347f: PUSH1 0x20
00003481: PUSH2 0x47d3
00003484: PUSH0
00003485: CODECOPY
00003486: PUSH0
00003487: MLOAD
00003488: SWAP1
00003489: PUSH0
0000348a: MSTORE
0000348b: SLOAD
0000348c: PUSH1 0x40
0000348e: MLOAD
0000348f: PUSH4 0xdb449c91
00003494: PUSH1 0xe0
00003496: SHL
00003497: PUSH1 0x20
00003499: DUP3
0000349a: ADD
0000349b: MSTORE
0000349c: PUSH1 0x01
0000349e: PUSH1 0x01
000034a0: PUSH1 0xa0
000034a2: SHL
000034a3: SUB
000034a4: SWAP2
000034a5: DUP3
000034a6: AND
000034a7: PUSH1 0x24
000034a9: DUP3
000034aa: ADD
000034ab: MSTORE
000034ac: SWAP7
000034ad: AND
000034ae: PUSH1 0x44
000034b0: DUP8
000034b1: ADD
000034b2: MSTORE
000034b3: PUSH1 0x64
000034b5: DUP7
000034b6: ADD
000034b7: SWAP4
000034b8: SWAP1
000034b9: SWAP4
000034ba: MSTORE
000034bb: PUSH1 0x84
000034bd: DUP6
000034be: ADD
000034bf: SWAP3
000034c0: SWAP1
000034c1: SWAP3
000034c2: MSTORE
000034c3: PUSH1 0xa0
000034c5: PUSH1 0xa4
000034c7: DUP6
000034c8: ADD
000034c9: MSTORE
000034ca: DUP4
000034cb: SWAP2
000034cc: PUSH1 0xc4
000034ce: DUP4
000034cf: ADD
000034d0: SWAP1
000034d1: PUSH2 0x2f4e
000034d4: JUMP
000034d5: JUMPDEST
000034d6: PUSH1 0x20
000034d8: DUP2
000034d9: MLOAD
000034da: SWAP2
000034db: DUP2
000034dc: DUP1
000034dd: DUP3
000034de: ADD
000034df: SWAP4
000034e0: DUP5
000034e1: SWAP3
000034e2: ADD
000034e3: ADD
000034e4: SUB
000034e5: SLT
000034e6: PUSH2 0x0504
000034e9: JUMPI
000034ea: MLOAD
000034eb: PUSH2 0x0db5
000034ee: DUP2
000034ef: PUSH2 0x0676
000034f2: JUMP
000034f3: JUMPDEST
000034f4: PUSH1 0xff
000034f6: PUSH0
000034f7: MLOAD
000034f8: PUSH1 0x20
000034fa: PUSH2 0x47f3
000034fd: PUSH0
000034fe: CODECOPY
000034ff: PUSH0
00003500: MLOAD
00003501: SWAP1
00003502: PUSH0
00003503: MSTORE
00003504: SLOAD
00003505: AND
00003506: PUSH2 0x2d7e
00003509: JUMPI
0000350a: PUSH2 0x0db5
0000350d: PUSH2 0x3514
00003510: PUSH2 0x2d28
00003513: JUMP
00003514: JUMPDEST
00003515: PUSH2 0x3784
00003518: JUMP
00003519: JUMPDEST
0000351a: PUSH1 0x01
0000351c: PUSH1 0x01
0000351e: PUSH1 0xa0
00003520: SHL
00003521: SUB
00003522: AND
00003523: PUSH0
00003524: SWAP1
00003525: DUP2
00003526: MSTORE
00003527: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00
00003548: PUSH1 0x20
0000354a: MSTORE
0000354b: PUSH1 0x40
0000354d: SWAP1
0000354e: KECCAK256
0000354f: SLOAD
00003550: PUSH2 0x0db5
00003553: SWAP1
00003554: PUSH2 0x36b9
00003557: JUMP
00003558: JUMPDEST
00003559: SWAP2
0000355a: SWAP1
0000355b: DUP3
0000355c: ADD
0000355d: DUP1
0000355e: SWAP3
0000355f: GT
00003560: PUSH2 0x0ae5
00003563: JUMPI
00003564: JUMP
00003565: JUMPDEST
00003566: PUSH2 0x356e
00003569: TIMESTAMP
0000356a: PUSH2 0x4199
0000356d: JUMP
0000356e: JUMPDEST
0000356f: PUSH2 0x3583
00003572: PUSH2 0x21d4
00003575: PUSH1 0x13
00003577: SLOAD
00003578: PUSH1 0x01
0000357a: PUSH1 0x01
0000357c: PUSH1 0x40
0000357e: SHL
0000357f: SUB
00003580: AND
00003581: SWAP1
00003582: JUMP
00003583: JUMPDEST
00003584: SWAP2
00003585: DUP3
00003586: ISZERO
00003587: PUSH2 0x36ac
0000358a: JUMPI
0000358b: PUSH0
0000358c: DUP1
0000358d: MSTORE
0000358e: PUSH1 0x14
00003590: PUSH1 0x20
00003592: MSTORE
00003593: SWAP1
00003594: SWAP2
00003595: PUSH2 0x35c6
00003598: PUSH32 0x4f26c3876aa9f4b92579780beea1161a61f87ebf1ec6ee865b299e447ecba99c
000035b9: JUMPDEST
000035ba: SLOAD
000035bb: PUSH1 0x01
000035bd: PUSH1 0x01
000035bf: PUSH1 0x40
000035c1: SHL
000035c2: SUB
000035c3: AND
000035c4: SWAP1
000035c5: JUMP
000035c6: JUMPDEST
000035c7: SWAP3
000035c8: PUSH1 0x0d
000035ca: SLOAD
000035cb: SWAP2
000035cc: PUSH1 0x0b
000035ce: SLOAD
000035cf: SWAP1
000035d0: PUSH1 0x01
000035d2: PUSH1 0x01
000035d4: PUSH1 0x40
000035d6: SHL
000035d7: SUB
000035d8: PUSH1 0x0c
000035da: SLOAD
000035db: SWAP4
000035dc: AND
000035dd: SWAP4
000035de: JUMPDEST
000035df: PUSH1 0x01
000035e1: PUSH1 0x01
000035e3: PUSH1 0x40
000035e5: SHL
000035e6: SUB
000035e7: DUP8
000035e8: AND
000035e9: SWAP2
000035ea: DUP3
000035eb: DUP7
000035ec: LT
000035ed: ISZERO
000035ee: DUP1
000035ef: PUSH2 0x36a3
000035f2: JUMPI
000035f3: JUMPDEST
000035f4: ISZERO
000035f5: PUSH2 0x3666
000035f8: JUMPI
000035f9: SWAP2
000035fa: PUSH2 0x3659
000035fd: PUSH2 0x35b9
00003600: PUSH2 0x3653
00003603: DUP5
00003604: PUSH2 0x364c
00003607: PUSH2 0x3634
0000360a: PUSH2 0x3619
0000360d: PUSH2 0x365f
00003610: SWAP9
00003611: DUP16
00003612: SWAP11
00003613: DUP10
00003614: SWAP1
00003615: PUSH2 0x4281
00003618: JUMP
00003619: JUMPDEST
0000361a: SWAP6
0000361b: SWAP1
0000361c: SWAP8
0000361d: SWAP10
0000361e: PUSH1 0x01
00003620: PUSH1 0x01
00003622: PUSH1 0x40
00003624: SHL
00003625: SUB
00003626: AND
00003627: PUSH0
00003628: MSTORE
00003629: PUSH1 0x14
0000362b: PUSH1 0x20
0000362d: MSTORE
0000362e: PUSH1 0x40
00003630: PUSH0
00003631: KECCAK256
00003632: SWAP1
00003633: JUMP
00003634: JUMPDEST
00003635: SWAP13
00003636: PUSH1 0x01
00003638: PUSH1 0x01
0000363a: PUSH1 0x40
0000363c: SHL
0000363d: SUB
0000363e: AND
0000363f: PUSH0
00003640: MSTORE
00003641: PUSH1 0x15
00003643: PUSH1 0x20
00003645: MSTORE
00003646: PUSH1 0x40
00003648: PUSH0
00003649: KECCAK256
0000364a: SWAP1
0000364b: JUMP
0000364c: JUMPDEST
0000364d: SLOAD
0000364e: SWAP1
0000364f: PUSH2 0x2d1b
00003652: JUMP
00003653: JUMPDEST
00003654: SWAP7
00003655: PUSH2 0x3558
00003658: JUMP
00003659: JUMPDEST
0000365a: SWAP4
0000365b: PUSH2 0x3558
0000365e: JUMP
0000365f: JUMPDEST
00003660: SWAP2
00003661: SWAP3
00003662: PUSH2 0x35de
00003665: JUMP
00003666: JUMPDEST
00003667: SWAP2
00003668: POP
00003669: SWAP3
0000366a: SWAP5
0000366b: SWAP4
0000366c: SWAP2
0000366d: SWAP6
0000366e: PUSH1 0x01
00003670: PUSH1 0x01
00003672: PUSH1 0x40
00003674: SHL
00003675: SUB
00003676: AND
00003677: PUSH2 0x367f
0000367a: JUMPI
0000367b: POP
0000367c: POP
0000367d: POP
0000367e: JUMP
0000367f: JUMPDEST
00003680: PUSH2 0x36a0
00003683: SWAP4
00003684: SWAP6
00003685: SWAP5
00003686: SWAP3
00003687: PUSH2 0x369a
0000368a: SWAP3
0000368b: PUSH2 0x3693
0000368e: SWAP3
0000368f: PUSH2 0x4281
00003692: JUMP
00003693: JUMPDEST
00003694: SWAP1
00003695: SWAP3
00003696: PUSH2 0x3558
00003699: JUMP
0000369a: JUMPDEST
0000369b: SWAP3
0000369c: PUSH2 0x3558
0000369f: JUMP
000036a0: JUMPDEST
000036a1: SWAP2
000036a2: JUMP
000036a3: JUMPDEST
000036a4: POP
000036a5: DUP3
000036a6: ISZERO
000036a7: ISZERO
000036a8: PUSH2 0x35f3
000036ab: JUMP
000036ac: JUMPDEST
000036ad: SWAP2
000036ae: POP
000036af: POP
000036b0: PUSH1 0x0b
000036b2: SLOAD
000036b3: SWAP1
000036b4: PUSH1 0x0c
000036b6: SLOAD
000036b7: SWAP1
000036b8: JUMP
000036b9: JUMPDEST
000036ba: PUSH7 0x2386f26fc10000
000036c2: PUSH2 0x36c9
000036c5: PUSH2 0x3565
000036c8: JUMP
000036c9: JUMPDEST
000036ca: POP
000036cb: DIV
000036cc: SWAP1
000036cd: PUSH1 0x01
000036cf: DUP3
000036d0: ADD
000036d1: DUP1
000036d2: SWAP3
000036d3: GT
000036d4: PUSH2 0x0ae5
000036d7: JUMPI
000036d8: PUSH0
000036d9: MLOAD
000036da: PUSH1 0x20
000036dc: PUSH2 0x47b3
000036df: PUSH0
000036e0: CODECOPY
000036e1: PUSH0
000036e2: MLOAD
000036e3: SWAP1
000036e4: PUSH0
000036e5: MSTORE
000036e6: SLOAD
000036e7: PUSH1 0x01
000036e9: DUP2
000036ea: ADD
000036eb: DUP1
000036ec: SWAP2
000036ed: GT
000036ee: PUSH2 0x0ae5
000036f1: JUMPI
000036f2: PUSH2 0x0db5
000036f5: SWAP3
000036f6: PUSH0
000036f7: SWAP3
000036f8: PUSH2 0x42c6
000036fb: JUMP
000036fc: JUMPDEST
000036fd: PUSH7 0x2386f26fc10000
00003705: PUSH2 0x370c
00003708: PUSH2 0x3565
0000370b: JUMP
0000370c: JUMPDEST
0000370d: POP
0000370e: DIV
0000370f: SWAP1
00003710: PUSH1 0x01
00003712: DUP3
00003713: ADD
00003714: DUP1
00003715: SWAP3
00003716: GT
00003717: PUSH2 0x0ae5
0000371a: JUMPI
0000371b: PUSH0
0000371c: MLOAD
0000371d: PUSH1 0x20
0000371f: PUSH2 0x47b3
00003722: PUSH0
00003723: CODECOPY
00003724: PUSH0
00003725: MLOAD
00003726: SWAP1
00003727: PUSH0
00003728: MSTORE
00003729: SLOAD
0000372a: PUSH1 0x01
0000372c: DUP2
0000372d: ADD
0000372e: DUP1
0000372f: SWAP2
00003730: GT
00003731: PUSH2 0x0ae5
00003734: JUMPI
00003735: PUSH2 0x0db5
00003738: SWAP3
00003739: PUSH1 0x01
0000373b: SWAP3
0000373c: PUSH2 0x42c6
0000373f: JUMP
00003740: JUMPDEST
00003741: PUSH0
00003742: MLOAD
00003743: PUSH1 0x20
00003745: PUSH2 0x47b3
00003748: PUSH0
00003749: CODECOPY
0000374a: PUSH0
0000374b: MLOAD
0000374c: SWAP1
0000374d: PUSH0
0000374e: MSTORE
0000374f: SLOAD
00003750: SWAP1
00003751: PUSH1 0x01
00003753: DUP3
00003754: ADD
00003755: DUP1
00003756: SWAP3
00003757: GT
00003758: PUSH2 0x0ae5
0000375b: JUMPI
0000375c: PUSH7 0x2386f26fc10000
00003764: PUSH2 0x376b
00003767: PUSH2 0x3565
0000376a: JUMP
0000376b: JUMPDEST
0000376c: POP
0000376d: DIV
0000376e: PUSH1 0x01
00003770: DUP2
00003771: ADD
00003772: DUP1
00003773: SWAP2
00003774: GT
00003775: PUSH2 0x0ae5
00003778: JUMPI
00003779: PUSH2 0x0db5
0000377c: SWAP3
0000377d: PUSH1 0x01
0000377f: SWAP3
00003780: PUSH2 0x42c6
00003783: JUMP
00003784: JUMPDEST
00003785: PUSH0
00003786: MLOAD
00003787: PUSH1 0x20
00003789: PUSH2 0x47b3
0000378c: PUSH0
0000378d: CODECOPY
0000378e: PUSH0
0000378f: MLOAD
00003790: SWAP1
00003791: PUSH0
00003792: MSTORE
00003793: SLOAD
00003794: SWAP1
00003795: PUSH1 0x01
00003797: DUP3
00003798: ADD
00003799: DUP1
0000379a: SWAP3
0000379b: GT
0000379c: PUSH2 0x0ae5
0000379f: JUMPI
000037a0: PUSH7 0x2386f26fc10000
000037a8: PUSH2 0x37af
000037ab: PUSH2 0x3565
000037ae: JUMP
000037af: JUMPDEST
000037b0: POP
000037b1: DIV
000037b2: PUSH1 0x01
000037b4: DUP2
000037b5: ADD
000037b6: DUP1
000037b7: SWAP2
000037b8: GT
000037b9: PUSH2 0x0ae5
000037bc: JUMPI
000037bd: PUSH2 0x0db5
000037c0: SWAP3
000037c1: PUSH0
000037c2: SWAP3
000037c3: PUSH2 0x42c6
000037c6: JUMP
000037c7: JUMPDEST
000037c8: SWAP1
000037c9: PUSH1 0x01
000037cb: PUSH1 0x01
000037cd: PUSH1 0x40
000037cf: SHL
000037d0: SUB
000037d1: PUSH1 0xc0
000037d3: SHL
000037d4: DUP3
000037d5: SLOAD
000037d6: AND
000037d7: DUP3
000037d8: SSTORE
000037d9: TIMESTAMP
000037da: ADD
000037db: DUP1
000037dc: TIMESTAMP
000037dd: GT
000037de: PUSH2 0x0ae5
000037e1: JUMPI
000037e2: PUSH1 0xc0
000037e4: SHL
000037e5: PUSH1 0x01
000037e7: PUSH1 0x01
000037e9: PUSH1 0xc0
000037eb: SHL
000037ec: SUB
000037ed: NOT
000037ee: AND
000037ef: SWAP1
000037f0: SSTORE
000037f1: JUMP
000037f2: JUMPDEST
000037f3: PUSH1 0x01
000037f5: DUP1
000037f6: PUSH1 0xb8
000037f8: SHL
000037f9: SUB
000037fa: AND
000037fb: SWAP1
000037fc: DUP2
000037fd: PUSH1 0x01
000037ff: PUSH1 0x01
00003801: PUSH1 0x40
00003803: SHL
00003804: SUB
00003805: PUSH1 0xc0
00003807: SHL
00003808: PUSH1 0x05
0000380a: SLOAD
0000380b: AND
0000380c: OR
0000380d: PUSH1 0x05
0000380f: SSTORE
00003810: TIMESTAMP
00003811: ADD
00003812: DUP1
00003813: TIMESTAMP
00003814: GT
00003815: PUSH2 0x0ae5
00003818: JUMPI
00003819: PUSH1 0xc0
0000381b: SHL
0000381c: PUSH1 0x01
0000381e: PUSH1 0x01
00003820: PUSH1 0xc0
00003822: SHL
00003823: SUB
00003824: NOT
00003825: AND
00003826: OR
00003827: PUSH1 0x05
00003829: SSTORE
0000382a: JUMP
0000382b: JUMPDEST
0000382c: PUSH1 0x01
0000382e: DUP1
0000382f: PUSH1 0xb8
00003831: SHL
00003832: SUB
00003833: AND
00003834: SWAP1
00003835: DUP2
00003836: PUSH1 0x01
00003838: PUSH1 0x01
0000383a: PUSH1 0x40
0000383c: SHL
0000383d: SUB
0000383e: PUSH1 0xc0
00003840: SHL
00003841: PUSH1 0x06
00003843: SLOAD
00003844: AND
00003845: OR
00003846: PUSH1 0x06
00003848: SSTORE
00003849: TIMESTAMP
0000384a: ADD
0000384b: DUP1
0000384c: TIMESTAMP
0000384d: GT
0000384e: PUSH2 0x0ae5
00003851: JUMPI
00003852: PUSH1 0xc0
00003854: SHL
00003855: PUSH1 0x01
00003857: PUSH1 0x01
00003859: PUSH1 0xc0
0000385b: SHL
0000385c: SUB
0000385d: NOT
0000385e: AND
0000385f: OR
00003860: PUSH1 0x06
00003862: SSTORE
00003863: JUMP
00003864: JUMPDEST
00003865: PUSH1 0x01
00003867: PUSH1 0x01
00003869: PUSH1 0xa0
0000386b: SHL
0000386c: SUB
0000386d: AND
0000386e: PUSH0
0000386f: DUP2
00003870: DUP2
00003871: MSTORE
00003872: PUSH1 0x03
00003874: PUSH1 0x20
00003876: MSTORE
00003877: PUSH1 0x40
00003879: SWAP1
0000387a: KECCAK256
0000387b: DUP1
0000387c: SLOAD
0000387d: PUSH1 0xff
0000387f: NOT
00003880: AND
00003881: PUSH1 0xff
00003883: DUP5
00003884: ISZERO
00003885: ISZERO
00003886: AND
00003887: OR
00003888: SWAP1
00003889: SSTORE
0000388a: SWAP1
0000388b: DUP2
0000388c: SWAP1
0000388d: PUSH1 0x40
0000388f: MLOAD
00003890: SWAP1
00003891: ISZERO
00003892: ISZERO
00003893: DUP2
00003894: MSTORE
00003895: PUSH32 0x7276f1d77fbb1794919362294fb870305193d894417c47c88716aa858f4272d3
000038b6: PUSH1 0x20
000038b8: CALLER
000038b9: SWAP3
000038ba: LOG3
000038bb: PUSH0
000038bc: MSTORE
000038bd: PUSH1 0x04
000038bf: PUSH1 0x20
000038c1: MSTORE
000038c2: PUSH0
000038c3: PUSH1 0x40
000038c5: DUP2
000038c6: KECCAK256
000038c7: SSTORE
000038c8: JUMP
000038c9: JUMPDEST
000038ca: SWAP2
000038cb: SWAP1
000038cc: PUSH2 0x38d8
000038cf: DUP2
000038d0: PUSH2 0x06d9
000038d3: DUP6
000038d4: PUSH2 0x2c44
000038d7: JUMP
000038d8: JUMPDEST
000038d9: SLOAD
000038da: PUSH1 0x01
000038dc: DUP2
000038dd: ADD
000038de: PUSH2 0x38e8
000038e1: JUMPI
000038e2: JUMPDEST
000038e3: POP
000038e4: POP
000038e5: POP
000038e6: POP
000038e7: JUMP
000038e8: JUMPDEST
000038e9: DUP3
000038ea: DUP2
000038eb: LT
000038ec: PUSH2 0x3926
000038ef: JUMPI
000038f0: PUSH1 0x01
000038f2: PUSH1 0x01
000038f4: PUSH1 0xa0
000038f6: SHL
000038f7: SUB
000038f8: DUP5
000038f9: AND
000038fa: ISZERO
000038fb: PUSH2 0x0739
000038fe: JUMPI
000038ff: PUSH1 0x01
00003901: PUSH1 0x01
00003903: PUSH1 0xa0
00003905: SHL
00003906: SUB
00003907: DUP3
00003908: AND
00003909: ISZERO
0000390a: PUSH2 0x0726
0000390d: JUMPI
0000390e: PUSH2 0x391c
00003911: SWAP3
00003912: PUSH2 0x06d9
00003915: SWAP2
00003916: SUB
00003917: SWAP4
00003918: PUSH2 0x2c44
0000391b: JUMP
0000391c: JUMPDEST
0000391d: SSTORE
0000391e: PUSH0
0000391f: DUP1
00003920: DUP1
00003921: DUP1
00003922: PUSH2 0x38e2
00003925: JUMP
00003926: JUMPDEST
00003927: SWAP1
00003928: PUSH4 0x7dc7a0d9
0000392d: PUSH1 0xe1
0000392f: SHL
00003930: PUSH0
00003931: MSTORE
00003932: PUSH1 0x01
00003934: DUP1
00003935: PUSH1 0xa0
00003937: SHL
00003938: SUB
00003939: AND
0000393a: PUSH1 0x04
0000393c: MSTORE
0000393d: PUSH1 0x24
0000393f: MSTORE
00003940: PUSH1 0x44
00003942: MSTORE
00003943: PUSH1 0x64
00003945: PUSH0
00003946: REVERT
00003947: JUMPDEST
00003948: SWAP2
00003949: PUSH1 0x01
0000394b: PUSH1 0x01
0000394d: PUSH1 0xa0
0000394f: SHL
00003950: SUB
00003951: DUP4
00003952: AND
00003953: SWAP2
00003954: DUP3
00003955: ISZERO
00003956: PUSH2 0x39fe
00003959: JUMPI
0000395a: PUSH1 0x01
0000395c: PUSH1 0x01
0000395e: PUSH1 0xa0
00003960: SHL
00003961: SUB
00003962: DUP2
00003963: AND
00003964: SWAP4
00003965: DUP5
00003966: ISZERO
00003967: PUSH2 0x39eb
0000396a: JUMPI
0000396b: PUSH2 0x3973
0000396e: DUP2
0000396f: PUSH2 0x2c7c
00003972: JUMP
00003973: JUMPDEST
00003974: SLOAD
00003975: DUP4
00003976: DUP2
00003977: LT
00003978: PUSH2 0x39c6
0000397b: JUMPI
0000397c: SWAP2
0000397d: PUSH2 0x39b4
00003980: SWAP2
00003981: PUSH2 0x39ae
00003984: DUP6
00003985: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
000039a6: SWAP7
000039a7: SWAP6
000039a8: SUB
000039a9: SWAP2
000039aa: PUSH2 0x2c7c
000039ad: JUMP
000039ae: JUMPDEST
000039af: SSTORE
000039b0: PUSH2 0x2c7c
000039b3: JUMP
000039b4: JUMPDEST
000039b5: DUP1
000039b6: SLOAD
000039b7: DUP3
000039b8: ADD
000039b9: SWAP1
000039ba: SSTORE
000039bb: PUSH1 0x40
000039bd: MLOAD
000039be: SWAP1
000039bf: DUP2
000039c0: MSTORE
000039c1: PUSH1 0x20
000039c3: SWAP1
000039c4: LOG3
000039c5: JUMP
000039c6: JUMPDEST
000039c7: PUSH4 0x391434e3
000039cc: PUSH1 0xe2
000039ce: SHL
000039cf: PUSH0
000039d0: MSTORE
000039d1: PUSH1 0x01
000039d3: PUSH1 0x01
000039d5: PUSH1 0xa0
000039d7: SHL
000039d8: SUB
000039d9: SWAP1
000039da: SWAP2
000039db: AND
000039dc: PUSH1 0x04
000039de: MSTORE
000039df: PUSH1 0x24
000039e1: MSTORE
000039e2: PUSH1 0x44
000039e4: DUP3
000039e5: SWAP1
000039e6: MSTORE
000039e7: PUSH1 0x64
000039e9: PUSH0
000039ea: REVERT
000039eb: JUMPDEST
000039ec: PUSH4 0xec442f05
000039f1: PUSH1 0xe0
000039f3: SHL
000039f4: PUSH0
000039f5: MSTORE
000039f6: PUSH0
000039f7: PUSH1 0x04
000039f9: MSTORE
000039fa: PUSH1 0x24
000039fc: PUSH0
000039fd: REVERT
000039fe: JUMPDEST
000039ff: PUSH4 0x4b637e8f
00003a04: PUSH1 0xe1
00003a06: SHL
00003a07: PUSH0
00003a08: MSTORE
00003a09: PUSH0
00003a0a: PUSH1 0x04
00003a0c: MSTORE
00003a0d: PUSH1 0x24
00003a0f: PUSH0
00003a10: REVERT
00003a11: JUMPDEST
00003a12: PUSH0
00003a13: MLOAD
00003a14: PUSH1 0x20
00003a16: PUSH2 0x4793
00003a19: PUSH0
00003a1a: CODECOPY
00003a1b: PUSH0
00003a1c: MLOAD
00003a1d: SWAP1
00003a1e: PUSH0
00003a1f: MSTORE
00003a20: SLOAD
00003a21: PUSH1 0x01
00003a23: PUSH1 0x01
00003a25: PUSH1 0xa0
00003a27: SHL
00003a28: SUB
00003a29: AND
00003a2a: CALLER
00003a2b: SUB
00003a2c: PUSH2 0x18f4
00003a2f: JUMPI
00003a30: JUMP
00003a31: JUMPDEST
00003a32: PUSH0
00003a33: MLOAD
00003a34: PUSH1 0x20
00003a36: PUSH2 0x47f3
00003a39: PUSH0
00003a3a: CODECOPY
00003a3b: PUSH0
00003a3c: MLOAD
00003a3d: SWAP1
00003a3e: PUSH0
00003a3f: MSTORE
00003a40: SLOAD
00003a41: PUSH1 0xff
00003a43: DUP2
00003a44: AND
00003a45: ISZERO
00003a46: PUSH2 0x3a88
00003a49: JUMPI
00003a4a: PUSH1 0xff
00003a4c: NOT
00003a4d: AND
00003a4e: PUSH0
00003a4f: MLOAD
00003a50: PUSH1 0x20
00003a52: PUSH2 0x47f3
00003a55: PUSH0
00003a56: CODECOPY
00003a57: PUSH0
00003a58: MLOAD
00003a59: SWAP1
00003a5a: PUSH0
00003a5b: MSTORE
00003a5c: SSTORE
00003a5d: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa
00003a7e: PUSH1 0x20
00003a80: PUSH1 0x40
00003a82: MLOAD
00003a83: CALLER
00003a84: DUP2
00003a85: MSTORE
00003a86: LOG1
00003a87: JUMP
00003a88: JUMPDEST
00003a89: PUSH4 0x8dfc202b
00003a8e: PUSH1 0xe0
00003a90: SHL
00003a91: PUSH0
00003a92: MSTORE
00003a93: PUSH1 0x04
00003a95: PUSH0
00003a96: REVERT
00003a97: JUMPDEST
00003a98: SWAP1
00003a99: PUSH2 0x3aa1
00003a9c: DUP3
00003a9d: PUSH2 0x0d17
00003aa0: JUMP
00003aa1: JUMPDEST
00003aa2: PUSH2 0x3aae
00003aa5: PUSH1 0x40
00003aa7: MLOAD
00003aa8: SWAP2
00003aa9: DUP3
00003aaa: PUSH2 0x0ce6
00003aad: JUMP
00003aae: JUMPDEST
00003aaf: DUP3
00003ab0: DUP2
00003ab1: MSTORE
00003ab2: DUP1
00003ab3: SWAP3
00003ab4: PUSH2 0x3abf
00003ab7: PUSH1 0x1f
00003ab9: NOT
00003aba: SWAP2
00003abb: PUSH2 0x0d17
00003abe: JUMP
00003abf: JUMPDEST
00003ac0: ADD
00003ac1: SWAP1
00003ac2: PUSH1 0x20
00003ac4: CALLDATASIZE
00003ac5: SWAP2
00003ac6: ADD
00003ac7: CALLDATACOPY
00003ac8: JUMP
00003ac9: JUMPDEST
00003aca: DUP1
00003acb: MLOAD
00003acc: DUP3
00003acd: LT
00003ace: ISZERO
00003acf: PUSH2 0x127e
00003ad2: JUMPI
00003ad3: PUSH1 0x20
00003ad5: SWAP2
00003ad6: PUSH1 0x05
00003ad8: SHL
00003ad9: ADD
00003ada: ADD
00003adb: SWAP1
00003adc: JUMP
00003add: JUMPDEST
00003ade: DUP2
00003adf: DUP2
00003ae0: LT
00003ae1: PUSH2 0x3ae8
00003ae4: JUMPI
00003ae5: POP
00003ae6: POP
00003ae7: JUMP
00003ae8: JUMPDEST
00003ae9: PUSH0
00003aea: DUP2
00003aeb: SSTORE
00003aec: PUSH1 0x01
00003aee: ADD
00003aef: PUSH2 0x3add
00003af2: JUMP
00003af3: JUMPDEST
00003af4: DUP1
00003af5: MLOAD
00003af6: SWAP1
00003af7: PUSH1 0x01
00003af9: PUSH1 0x01
00003afb: PUSH1 0x40
00003afd: SHL
00003afe: SUB
00003aff: DUP3
00003b00: GT
00003b01: PUSH2 0x0cab
00003b04: JUMPI
00003b05: PUSH1 0x01
00003b07: PUSH1 0x40
00003b09: SHL
00003b0a: DUP3
00003b0b: GT
00003b0c: PUSH2 0x0cab
00003b0f: JUMPI
00003b10: PUSH1 0x20
00003b12: SWAP1
00003b13: PUSH1 0x10
00003b15: SLOAD
00003b16: DUP4
00003b17: PUSH1 0x10
00003b19: SSTORE
00003b1a: DUP1
00003b1b: DUP5
00003b1c: LT
00003b1d: PUSH2 0x3b57
00003b20: JUMPI
00003b21: JUMPDEST
00003b22: POP
00003b23: ADD
00003b24: PUSH1 0x10
00003b26: PUSH0
00003b27: MSTORE
00003b28: PUSH1 0x20
00003b2a: PUSH0
00003b2b: KECCAK256
00003b2c: PUSH0
00003b2d: JUMPDEST
00003b2e: DUP4
00003b2f: DUP2
00003b30: LT
00003b31: PUSH2 0x3b3a
00003b34: JUMPI
00003b35: POP
00003b36: POP
00003b37: POP
00003b38: POP
00003b39: JUMP
00003b3a: JUMPDEST
00003b3b: DUP3
00003b3c: MLOAD
00003b3d: PUSH1 0x01
00003b3f: PUSH1 0x01
00003b41: PUSH1 0xa0
00003b43: SHL
00003b44: SUB
00003b45: AND
00003b46: DUP3
00003b47: DUP3
00003b48: ADD
00003b49: SSTORE
00003b4a: PUSH1 0x20
00003b4c: SWAP1
00003b4d: SWAP3
00003b4e: ADD
00003b4f: SWAP2
00003b50: PUSH1 0x01
00003b52: ADD
00003b53: PUSH2 0x3b2d
00003b56: JUMP
00003b57: JUMPDEST
00003b58: PUSH2 0x3b6d
00003b5b: SWAP1
00003b5c: PUSH1 0x10
00003b5e: PUSH0
00003b5f: MSTORE
00003b60: DUP5
00003b61: DUP5
00003b62: PUSH0
00003b63: KECCAK256
00003b64: SWAP2
00003b65: DUP3
00003b66: ADD
00003b67: SWAP2
00003b68: ADD
00003b69: PUSH2 0x3add
00003b6c: JUMP
00003b6d: JUMPDEST
00003b6e: PUSH0
00003b6f: PUSH2 0x3b21
00003b72: JUMP
00003b73: JUMPDEST
00003b74: DUP1
00003b75: MLOAD
00003b76: SWAP1
00003b77: PUSH1 0x01
00003b79: PUSH1 0x01
00003b7b: PUSH1 0x40
00003b7d: SHL
00003b7e: SUB
00003b7f: DUP3
00003b80: GT
00003b81: PUSH2 0x0cab
00003b84: JUMPI
00003b85: PUSH1 0x01
00003b87: PUSH1 0x40
00003b89: SHL
00003b8a: DUP3
00003b8b: GT
00003b8c: PUSH2 0x0cab
00003b8f: JUMPI
00003b90: PUSH1 0x20
00003b92: SWAP1
00003b93: PUSH1 0x0f
00003b95: SLOAD
00003b96: DUP4
00003b97: PUSH1 0x0f
00003b99: SSTORE
00003b9a: DUP1
00003b9b: DUP5
00003b9c: LT
00003b9d: PUSH2 0x3bd7
00003ba0: JUMPI
00003ba1: JUMPDEST
00003ba2: POP
00003ba3: ADD
00003ba4: PUSH1 0x0f
00003ba6: PUSH0
00003ba7: MSTORE
00003ba8: PUSH1 0x20
00003baa: PUSH0
00003bab: KECCAK256
00003bac: PUSH0
00003bad: JUMPDEST
00003bae: DUP4
00003baf: DUP2
00003bb0: LT
00003bb1: PUSH2 0x3bba
00003bb4: JUMPI
00003bb5: POP
00003bb6: POP
00003bb7: POP
00003bb8: POP
00003bb9: JUMP
00003bba: JUMPDEST
00003bbb: DUP3
00003bbc: MLOAD
00003bbd: PUSH1 0x01
00003bbf: PUSH1 0x01
00003bc1: PUSH1 0xa0
00003bc3: SHL
00003bc4: SUB
00003bc5: AND
00003bc6: DUP3
00003bc7: DUP3
00003bc8: ADD
00003bc9: SSTORE
00003bca: PUSH1 0x20
00003bcc: SWAP1
00003bcd: SWAP3
00003bce: ADD
00003bcf: SWAP2
00003bd0: PUSH1 0x01
00003bd2: ADD
00003bd3: PUSH2 0x3bad
00003bd6: JUMP
00003bd7: JUMPDEST
00003bd8: PUSH2 0x3bed
00003bdb: SWAP1
00003bdc: PUSH1 0x0f
00003bde: PUSH0
00003bdf: MSTORE
00003be0: DUP5
00003be1: DUP5
00003be2: PUSH0
00003be3: KECCAK256
00003be4: SWAP2
00003be5: DUP3
00003be6: ADD
00003be7: SWAP2
00003be8: ADD
00003be9: PUSH2 0x3add
00003bec: JUMP
00003bed: JUMPDEST
00003bee: PUSH0
00003bef: PUSH2 0x3ba1
00003bf2: JUMP
00003bf3: JUMPDEST
00003bf4: PUSH1 0x20
00003bf6: PUSH1 0x40
00003bf8: DUP2
00003bf9: DUP4
00003bfa: ADD
00003bfb: SWAP3
00003bfc: DUP3
00003bfd: DUP2
00003bfe: MSTORE
00003bff: DUP5
00003c00: MLOAD
00003c01: DUP1
00003c02: SWAP5
00003c03: MSTORE
00003c04: ADD
00003c05: SWAP3
00003c06: ADD
00003c07: SWAP1
00003c08: PUSH0
00003c09: JUMPDEST
00003c0a: DUP2
00003c0b: DUP2
00003c0c: LT
00003c0d: PUSH2 0x3c16
00003c10: JUMPI
00003c11: POP
00003c12: POP
00003c13: POP
00003c14: SWAP1
00003c15: JUMP
00003c16: JUMPDEST
00003c17: DUP3
00003c18: MLOAD
00003c19: PUSH1 0x01
00003c1b: PUSH1 0x01
00003c1d: PUSH1 0xa0
00003c1f: SHL
00003c20: SUB
00003c21: AND
00003c22: DUP5
00003c23: MSTORE
00003c24: PUSH1 0x20
00003c26: SWAP4
00003c27: DUP5
00003c28: ADD
00003c29: SWAP4
00003c2a: SWAP1
00003c2b: SWAP3
00003c2c: ADD
00003c2d: SWAP2
00003c2e: PUSH1 0x01
00003c30: ADD
00003c31: PUSH2 0x3c09
00003c34: JUMP
00003c35: JUMPDEST
00003c36: PUSH1 0x10
00003c38: SLOAD
00003c39: DUP1
00003c3a: DUP3
00003c3b: MLOAD
00003c3c: SUB
00003c3d: PUSH2 0x3d1e
00003c40: JUMPI
00003c41: PUSH2 0x3c49
00003c44: DUP2
00003c45: PUSH2 0x3a97
00003c48: JUMP
00003c49: JUMPDEST
00003c4a: SWAP1
00003c4b: PUSH2 0x3c53
00003c4e: DUP2
00003c4f: PUSH2 0x3a97
00003c52: JUMP
00003c53: JUMPDEST
00003c54: SWAP3
00003c55: PUSH0
00003c56: JUMPDEST
00003c57: DUP3
00003c58: DUP2
00003c59: LT
00003c5a: PUSH2 0x3c9a
00003c5d: JUMPI
00003c5e: POP
00003c5f: POP
00003c60: POP
00003c61: POP
00003c62: PUSH2 0x3c6a
00003c65: DUP2
00003c66: PUSH2 0x3af3
00003c69: JUMP
00003c6a: JUMPDEST
00003c6b: PUSH32 0xc618a15cb59b7ae9a202a339c6d0b97c4752b6e1a27e06f7b7e7b1d062f6688f
00003c8c: PUSH1 0x40
00003c8e: MLOAD
00003c8f: DUP1
00003c90: PUSH2 0x33f4
00003c93: CALLER
00003c94: SWAP5
00003c95: DUP3
00003c96: PUSH2 0x3bf3
00003c99: JUMP
00003c9a: JUMPDEST
00003c9b: PUSH2 0x3ca4
00003c9e: DUP2
00003c9f: DUP4
00003ca0: PUSH2 0x3ac9
00003ca3: JUMP
00003ca4: JUMPDEST
00003ca5: MLOAD
00003ca6: PUSH2 0x3cb1
00003ca9: PUSH2 0x0be0
00003cac: DUP3
00003cad: PUSH2 0x2cf8
00003cb0: JUMP
00003cb1: JUMPDEST
00003cb2: SWAP1
00003cb3: PUSH2 0x3cc5
00003cb6: PUSH2 0x3cbf
00003cb9: DUP3
00003cba: DUP9
00003cbb: PUSH2 0x3ac9
00003cbe: JUMP
00003cbf: JUMPDEST
00003cc0: MLOAD
00003cc1: ISZERO
00003cc2: ISZERO
00003cc3: SWAP1
00003cc4: JUMP
00003cc5: JUMPDEST
00003cc6: PUSH2 0x3d02
00003cc9: JUMPI
00003cca: PUSH1 0x01
00003ccc: SWAP3
00003ccd: SWAP2
00003cce: PUSH2 0x3ce3
00003cd1: PUSH2 0x3cdd
00003cd4: PUSH2 0x3cfc
00003cd7: SWAP4
00003cd8: DUP10
00003cd9: PUSH2 0x3ac9
00003cdc: JUMP
00003cdd: JUMPDEST
00003cde: PUSH1 0x01
00003ce0: SWAP1
00003ce1: MSTORE
00003ce2: JUMP
00003ce3: JUMPDEST
00003ce4: PUSH2 0x3ced
00003ce7: DUP4
00003ce8: DUP10
00003ce9: PUSH2 0x3ac9
00003cec: JUMP
00003ced: JUMPDEST
00003cee: PUSH1 0x01
00003cf0: PUSH1 0x01
00003cf2: PUSH1 0xa0
00003cf4: SHL
00003cf5: SUB
00003cf6: SWAP1
00003cf7: SWAP2
00003cf8: AND
00003cf9: SWAP1
00003cfa: MSTORE
00003cfb: JUMP
00003cfc: JUMPDEST
00003cfd: ADD
00003cfe: PUSH2 0x3c56
00003d01: JUMP
00003d02: JUMPDEST
00003d03: PUSH4 0xca499047
00003d08: PUSH1 0xe0
00003d0a: SHL
00003d0b: PUSH0
00003d0c: MSTORE
00003d0d: PUSH1 0x01
00003d0f: PUSH1 0x01
00003d11: PUSH1 0xa0
00003d13: SHL
00003d14: SUB
00003d15: DUP3
00003d16: AND
00003d17: PUSH1 0x04
00003d19: MSTORE
00003d1a: PUSH1 0x24
00003d1c: PUSH0
00003d1d: REVERT
00003d1e: JUMPDEST
00003d1f: PUSH4 0x51dc6c19
00003d24: PUSH1 0xe0
00003d26: SHL
00003d27: PUSH0
00003d28: MSTORE
00003d29: PUSH1 0x04
00003d2b: PUSH0
00003d2c: REVERT
00003d2d: JUMPDEST
00003d2e: PUSH1 0xff
00003d30: PUSH0
00003d31: MLOAD
00003d32: PUSH1 0x20
00003d34: PUSH2 0x47f3
00003d37: PUSH0
00003d38: CODECOPY
00003d39: PUSH0
00003d3a: MLOAD
00003d3b: SWAP1
00003d3c: PUSH0
00003d3d: MSTORE
00003d3e: SLOAD
00003d3f: AND
00003d40: PUSH2 0x3d45
00003d43: JUMPI
00003d44: JUMP
00003d45: JUMPDEST
00003d46: PUSH4 0xd93c0665
00003d4b: PUSH1 0xe0
00003d4d: SHL
00003d4e: PUSH0
00003d4f: MSTORE
00003d50: PUSH1 0x04
00003d52: PUSH0
00003d53: REVERT
00003d54: JUMPDEST
00003d55: RETURNDATASIZE
00003d56: ISZERO
00003d57: PUSH2 0x3d7e
00003d5a: JUMPI
00003d5b: RETURNDATASIZE
00003d5c: SWAP1
00003d5d: PUSH2 0x3d65
00003d60: DUP3
00003d61: PUSH2 0x175f
00003d64: JUMP
00003d65: JUMPDEST
00003d66: SWAP2
00003d67: PUSH2 0x3d73
00003d6a: PUSH1 0x40
00003d6c: MLOAD
00003d6d: SWAP4
00003d6e: DUP5
00003d6f: PUSH2 0x0ce6
00003d72: JUMP
00003d73: JUMPDEST
00003d74: DUP3
00003d75: MSTORE
00003d76: RETURNDATASIZE
00003d77: PUSH0
00003d78: PUSH1 0x20
00003d7a: DUP5
00003d7b: ADD
00003d7c: RETURNDATACOPY
00003d7d: JUMP
00003d7e: JUMPDEST
00003d7f: PUSH1 0x60
00003d81: SWAP1
00003d82: JUMP
00003d83: JUMPDEST
00003d84: PUSH0
00003d85: DUP1
00003d86: SWAP2
00003d87: PUSH1 0x20
00003d89: DUP2
00003d8a: MLOAD
00003d8b: SWAP2
00003d8c: ADD
00003d8d: PUSH32 0x00000000000000000000000025afa58ba32bec9daa32ba7f6a1cd0941b699310
00003dae: GAS
00003daf: DELEGATECALL
00003db0: PUSH2 0x3db7
00003db3: PUSH2 0x3d54
00003db6: JUMP
00003db7: JUMPDEST
00003db8: SWAP1
00003db9: ISZERO
00003dba: PUSH2 0x3dc0
00003dbd: JUMPI
00003dbe: SWAP1
00003dbf: JUMP
00003dc0: JUMPDEST
00003dc1: PUSH1 0x20
00003dc3: DUP2
00003dc4: MLOAD
00003dc5: SWAP2
00003dc6: ADD
00003dc7: REVERT
00003dc8: JUMPDEST
00003dc9: PUSH0
00003dca: MLOAD
00003dcb: PUSH1 0x20
00003dcd: PUSH2 0x4853
00003dd0: PUSH0
00003dd1: CODECOPY
00003dd2: PUSH0
00003dd3: MLOAD
00003dd4: SWAP1
00003dd5: PUSH0
00003dd6: MSTORE
00003dd7: DUP1
00003dd8: SLOAD
00003dd9: PUSH1 0x01
00003ddb: PUSH1 0x01
00003ddd: PUSH1 0xa0
00003ddf: SHL
00003de0: SUB
00003de1: NOT
00003de2: SWAP1
00003de3: DUP2
00003de4: AND
00003de5: SWAP1
00003de6: SWAP2
00003de7: SSTORE
00003de8: PUSH0
00003de9: MLOAD
00003dea: PUSH1 0x20
00003dec: PUSH2 0x4793
00003def: PUSH0
00003df0: CODECOPY
00003df1: PUSH0
00003df2: MLOAD
00003df3: SWAP1
00003df4: PUSH0
00003df5: MSTORE
00003df6: DUP1
00003df7: SLOAD
00003df8: SWAP2
00003df9: DUP3
00003dfa: AND
00003dfb: PUSH1 0x01
00003dfd: PUSH1 0x01
00003dff: PUSH1 0xa0
00003e01: SHL
00003e02: SUB
00003e03: SWAP4
00003e04: DUP5
00003e05: AND
00003e06: SWAP1
00003e07: DUP2
00003e08: OR
00003e09: SWAP1
00003e0a: SWAP2
00003e0b: SSTORE
00003e0c: SWAP2
00003e0d: AND
00003e0e: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00003e2f: PUSH0
00003e30: DUP1
00003e31: LOG3
00003e32: JUMP
00003e33: JUMPDEST
00003e34: PUSH1 0x02
00003e36: PUSH0
00003e37: MLOAD
00003e38: PUSH1 0x20
00003e3a: PUSH2 0x4813
00003e3d: PUSH0
00003e3e: CODECOPY
00003e3f: PUSH0
00003e40: MLOAD
00003e41: SWAP1
00003e42: PUSH0
00003e43: MSTORE
00003e44: SLOAD
00003e45: EQ
00003e46: PUSH2 0x3e5c
00003e49: JUMPI
00003e4a: PUSH1 0x02
00003e4c: PUSH0
00003e4d: MLOAD
00003e4e: PUSH1 0x20
00003e50: PUSH2 0x4813
00003e53: PUSH0
00003e54: CODECOPY
00003e55: PUSH0
00003e56: MLOAD
00003e57: SWAP1
00003e58: PUSH0
00003e59: MSTORE
00003e5a: SSTORE
00003e5b: JUMP
00003e5c: JUMPDEST
00003e5d: PUSH4 0x3ee5aeb5
00003e62: PUSH1 0xe0
00003e64: SHL
00003e65: PUSH0
00003e66: MSTORE
00003e67: PUSH1 0x04
00003e69: PUSH0
00003e6a: REVERT
00003e6b: JUMPDEST
00003e6c: PUSH1 0x01
00003e6e: PUSH1 0x01
00003e70: PUSH1 0xa0
00003e72: SHL
00003e73: SUB
00003e74: DUP2
00003e75: AND
00003e76: SWAP2
00003e77: SWAP1
00003e78: DUP3
00003e79: ISZERO
00003e7a: PUSH2 0x39fe
00003e7d: JUMPI
00003e7e: PUSH2 0x3e86
00003e81: DUP2
00003e82: PUSH2 0x2c7c
00003e85: JUMP
00003e86: JUMPDEST
00003e87: SLOAD
00003e88: DUP3
00003e89: DUP2
00003e8a: LT
00003e8b: PUSH2 0x3ee1
00003e8e: JUMPI
00003e8f: SWAP2
00003e90: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00003eb1: SWAP2
00003eb2: PUSH2 0x3ebf
00003eb5: DUP3
00003eb6: PUSH0
00003eb7: SWAP7
00003eb8: SWAP6
00003eb9: SUB
00003eba: SWAP2
00003ebb: PUSH2 0x2c7c
00003ebe: JUMP
00003ebf: JUMPDEST
00003ec0: SSTORE
00003ec1: PUSH0
00003ec2: MLOAD
00003ec3: PUSH1 0x20
00003ec5: PUSH2 0x47b3
00003ec8: PUSH0
00003ec9: CODECOPY
00003eca: PUSH0
00003ecb: MLOAD
00003ecc: SWAP1
00003ecd: PUSH0
00003ece: MSTORE
00003ecf: DUP1
00003ed0: SLOAD
00003ed1: DUP3
00003ed2: SWAP1
00003ed3: SUB
00003ed4: SWAP1
00003ed5: SSTORE
00003ed6: PUSH1 0x40
00003ed8: MLOAD
00003ed9: SWAP1
00003eda: DUP2
00003edb: MSTORE
00003edc: PUSH1 0x20
00003ede: SWAP1
00003edf: LOG3
00003ee0: JUMP
00003ee1: JUMPDEST
00003ee2: PUSH4 0x391434e3
00003ee7: PUSH1 0xe2
00003ee9: SHL
00003eea: PUSH0
00003eeb: MSTORE
00003eec: PUSH1 0x01
00003eee: PUSH1 0x01
00003ef0: PUSH1 0xa0
00003ef2: SHL
00003ef3: SUB
00003ef4: SWAP1
00003ef5: SWAP2
00003ef6: AND
00003ef7: PUSH1 0x04
00003ef9: MSTORE
00003efa: PUSH1 0x24
00003efc: MSTORE
00003efd: PUSH1 0x44
00003eff: MSTORE
00003f00: PUSH1 0x64
00003f02: PUSH0
00003f03: REVERT
00003f04: JUMPDEST
00003f05: PUSH3 0x127500
00003f09: DUP2
00003f0a: GT
00003f0b: PUSH2 0x3f28
00003f0e: JUMPI
00003f0f: PUSH3 0x015180
00003f13: GT
00003f14: PUSH2 0x3f19
00003f17: JUMPI
00003f18: JUMP
00003f19: JUMPDEST
00003f1a: PUSH4 0x1a1593df
00003f1f: PUSH1 0xe1
00003f21: SHL
00003f22: PUSH0
00003f23: MSTORE
00003f24: PUSH1 0x04
00003f26: PUSH0
00003f27: REVERT
00003f28: JUMPDEST
00003f29: PUSH4 0x46fedb57
00003f2e: PUSH1 0xe0
00003f30: SHL
00003f31: PUSH0
00003f32: MSTORE
00003f33: PUSH1 0x04
00003f35: PUSH0
00003f36: REVERT
00003f37: JUMPDEST
00003f38: DUP1
00003f39: PUSH1 0x08
00003f3b: SSTORE
00003f3c: PUSH1 0x40
00003f3e: MLOAD
00003f3f: SWAP1
00003f40: DUP2
00003f41: MSTORE
00003f42: PUSH32 0xd28e9b90ee9b37c5936ff84392d71f29ff18117d7e76bcee60615262a90a3f75
00003f63: PUSH1 0x20
00003f65: CALLER
00003f66: SWAP3
00003f67: LOG2
00003f68: PUSH0
00003f69: PUSH1 0x05
00003f6b: SSTORE
00003f6c: JUMP
00003f6d: JUMPDEST
00003f6e: PUSH2 0x3f75
00003f71: PUSH2 0x446e
00003f74: JUMP
00003f75: JUMPDEST
00003f76: PUSH2 0x3f7d
00003f79: PUSH2 0x446e
00003f7c: JUMP
00003f7d: JUMPDEST
00003f7e: PUSH1 0x01
00003f80: PUSH1 0x01
00003f82: PUSH1 0xa0
00003f84: SHL
00003f85: SUB
00003f86: DUP2
00003f87: AND
00003f88: ISZERO
00003f89: PUSH2 0x3f95
00003f8c: JUMPI
00003f8d: PUSH2 0x0692
00003f90: SWAP1
00003f91: PUSH2 0x3dc8
00003f94: JUMP
00003f95: JUMPDEST
00003f96: PUSH4 0x1e4fbdf7
00003f9b: PUSH1 0xe0
00003f9d: SHL
00003f9e: PUSH0
00003f9f: MSTORE
00003fa0: PUSH0
00003fa1: PUSH1 0x04
00003fa3: MSTORE
00003fa4: PUSH1 0x24
00003fa6: PUSH0
00003fa7: REVERT
00003fa8: JUMPDEST
00003fa9: PUSH2 0x3fb0
00003fac: PUSH2 0x446e
00003faf: JUMP
00003fb0: JUMPDEST
00003fb1: PUSH2 0x3fb8
00003fb4: PUSH2 0x446e
00003fb7: JUMP
00003fb8: JUMPDEST
00003fb9: PUSH2 0x3fc1
00003fbc: DUP2
00003fbd: PUSH2 0x46c5
00003fc0: JUMP
00003fc1: JUMPDEST
00003fc2: SWAP1
00003fc3: ISZERO
00003fc4: PUSH2 0x4003
00003fc7: JUMPI
00003fc8: SWAP1
00003fc9: JUMPDEST
00003fca: PUSH0
00003fcb: MLOAD
00003fcc: PUSH1 0x20
00003fce: PUSH2 0x47d3
00003fd1: PUSH0
00003fd2: CODECOPY
00003fd3: PUSH0
00003fd4: MLOAD
00003fd5: SWAP1
00003fd6: PUSH0
00003fd7: MSTORE
00003fd8: DUP1
00003fd9: SLOAD
00003fda: PUSH1 0x01
00003fdc: PUSH1 0x01
00003fde: PUSH1 0xa8
00003fe0: SHL
00003fe1: SUB
00003fe2: NOT
00003fe3: AND
00003fe4: PUSH1 0xa0
00003fe6: SWAP4
00003fe7: SWAP1
00003fe8: SWAP4
00003fe9: SHL
00003fea: PUSH1 0xff
00003fec: PUSH1 0xa0
00003fee: SHL
00003fef: AND
00003ff0: SWAP3
00003ff1: SWAP1
00003ff2: SWAP3
00003ff3: OR
00003ff4: PUSH1 0x01
00003ff6: PUSH1 0x01
00003ff8: PUSH1 0xa0
00003ffa: SHL
00003ffb: SUB
00003ffc: SWAP1
00003ffd: SWAP2
00003ffe: AND
00003fff: OR
00004000: SWAP1
00004001: SSTORE
00004002: JUMP
00004003: JUMPDEST
00004004: POP
00004005: PUSH1 0x12
00004007: SWAP1
00004008: PUSH2 0x3fc9
0000400b: JUMP
0000400c: JUMPDEST
0000400d: PUSH2 0x4014
00004010: PUSH2 0x446e
00004013: JUMP
00004014: JUMPDEST
00004015: PUSH2 0x401c
00004018: PUSH2 0x446e
0000401b: JUMP
0000401c: JUMPDEST
0000401d: PUSH1 0x01
0000401f: PUSH0
00004020: MLOAD
00004021: PUSH1 0x20
00004023: PUSH2 0x4813
00004026: PUSH0
00004027: CODECOPY
00004028: PUSH0
00004029: MLOAD
0000402a: SWAP1
0000402b: PUSH0
0000402c: MSTORE
0000402d: SSTORE
0000402e: JUMP
0000402f: JUMPDEST
00004030: PUSH2 0x4037
00004033: PUSH2 0x446e
00004036: JUMP
00004037: JUMPDEST
00004038: PUSH2 0x403f
0000403b: PUSH2 0x446e
0000403e: JUMP
0000403f: JUMPDEST
00004040: PUSH1 0xff
00004042: NOT
00004043: PUSH0
00004044: MLOAD
00004045: PUSH1 0x20
00004047: PUSH2 0x47f3
0000404a: PUSH0
0000404b: CODECOPY
0000404c: PUSH0
0000404d: MLOAD
0000404e: SWAP1
0000404f: PUSH0
00004050: MSTORE
00004051: SLOAD
00004052: AND
00004053: PUSH0
00004054: MLOAD
00004055: PUSH1 0x20
00004057: PUSH2 0x47f3
0000405a: PUSH0
0000405b: CODECOPY
0000405c: PUSH0
0000405d: MLOAD
0000405e: SWAP1
0000405f: PUSH0
00004060: MSTORE
00004061: SSTORE
00004062: JUMP
00004063: JUMPDEST
00004064: PUSH1 0x01
00004066: PUSH1 0x01
00004068: PUSH1 0x40
0000406a: SHL
0000406b: SUB
0000406c: SWAP1
0000406d: PUSH2 0x408e
00004070: PUSH1 0x40
00004072: MLOAD
00004073: PUSH4 0x45fe329f
00004078: PUSH1 0xe0
0000407a: SHL
0000407b: PUSH1 0x20
0000407d: DUP3
0000407e: ADD
0000407f: MSTORE
00004080: PUSH1 0x04
00004082: DUP2
00004083: MSTORE
00004084: PUSH2 0x1385
00004087: PUSH1 0x24
00004089: DUP3
0000408a: PUSH2 0x0ce6
0000408d: JUMP
0000408e: JUMPDEST
0000408f: POP
00004090: AND
00004091: PUSH1 0x01
00004093: PUSH1 0x01
00004095: PUSH1 0x40
00004097: SHL
00004098: SUB
00004099: NOT
0000409a: PUSH1 0x0e
0000409c: SLOAD
0000409d: AND
0000409e: OR
0000409f: PUSH1 0x0e
000040a1: SSTORE
000040a2: JUMP
000040a3: JUMPDEST
000040a4: PUSH2 0x40ab
000040a7: PUSH2 0x3d2d
000040aa: JUMP
000040ab: JUMPDEST
000040ac: PUSH1 0x01
000040ae: PUSH1 0xff
000040b0: NOT
000040b1: PUSH0
000040b2: MLOAD
000040b3: PUSH1 0x20
000040b5: PUSH2 0x47f3
000040b8: PUSH0
000040b9: CODECOPY
000040ba: PUSH0
000040bb: MLOAD
000040bc: SWAP1
000040bd: PUSH0
000040be: MSTORE
000040bf: SLOAD
000040c0: AND
000040c1: OR
000040c2: PUSH0
000040c3: MLOAD
000040c4: PUSH1 0x20
000040c6: PUSH2 0x47f3
000040c9: PUSH0
000040ca: CODECOPY
000040cb: PUSH0
000040cc: MLOAD
000040cd: SWAP1
000040ce: PUSH0
000040cf: MSTORE
000040d0: SSTORE
000040d1: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258
000040f2: PUSH1 0x20
000040f4: PUSH1 0x40
000040f6: MLOAD
000040f7: CALLER
000040f8: DUP2
000040f9: MSTORE
000040fa: LOG1
000040fb: JUMP
000040fc: JUMPDEST
000040fd: PUSH1 0x01
000040ff: DUP1
00004100: PUSH1 0xa0
00004102: SHL
00004103: SUB
00004104: AND
00004105: PUSH1 0x01
00004107: PUSH1 0x01
00004109: PUSH1 0x60
0000410b: SHL
0000410c: SUB
0000410d: PUSH1 0xa0
0000410f: SHL
00004110: PUSH1 0x07
00004112: SLOAD
00004113: AND
00004114: OR
00004115: PUSH1 0x07
00004117: SSTORE
00004118: TIMESTAMP
00004119: ADD
0000411a: DUP1
0000411b: TIMESTAMP
0000411c: GT
0000411d: PUSH2 0x0ae5
00004120: JUMPI
00004121: PUSH1 0x07
00004123: DUP1
00004124: SLOAD
00004125: PUSH8 0xffffffffffffffff
0000412e: PUSH1 0xa0
00004130: SHL
00004131: NOT
00004132: AND
00004133: PUSH1 0xa0
00004135: SWAP3
00004136: SWAP1
00004137: SWAP3
00004138: SHL
00004139: PUSH8 0xffffffffffffffff
00004142: PUSH1 0xa0
00004144: SHL
00004145: AND
00004146: SWAP2
00004147: SWAP1
00004148: SWAP2
00004149: OR
0000414a: SWAP1
0000414b: SSTORE
0000414c: JUMP
0000414d: JUMPDEST
0000414e: PUSH1 0x01
00004150: DUP1
00004151: PUSH1 0xa0
00004153: SHL
00004154: SUB
00004155: AND
00004156: DUP1
00004157: PUSH1 0x01
00004159: PUSH1 0x01
0000415b: PUSH1 0x60
0000415d: SHL
0000415e: SUB
0000415f: PUSH1 0xa0
00004161: SHL
00004162: PUSH0
00004163: SLOAD
00004164: AND
00004165: OR
00004166: PUSH0
00004167: SSTORE
00004168: PUSH1 0x40
0000416a: MLOAD
0000416b: SWAP1
0000416c: DUP2
0000416d: MSTORE
0000416e: PUSH32 0xcb11cc8aade2f5a556749d1b2380d108a16fac3431e6a5d5ce12ef9de0bd76e3
0000418f: PUSH1 0x20
00004191: CALLER
00004192: SWAP3
00004193: LOG2
00004194: PUSH0
00004195: PUSH1 0x07
00004197: SSTORE
00004198: JUMP
00004199: JUMPDEST
0000419a: PUSH1 0x01
0000419c: PUSH1 0x01
0000419e: PUSH1 0x40
000041a0: SHL
000041a1: SUB
000041a2: DUP2
000041a3: GT
000041a4: PUSH2 0x41b3
000041a7: JUMPI
000041a8: PUSH1 0x01
000041aa: PUSH1 0x01
000041ac: PUSH1 0x40
000041ae: SHL
000041af: SUB
000041b0: AND
000041b1: SWAP1
000041b2: JUMP
000041b3: JUMPDEST
000041b4: PUSH4 0x06dfcc65
000041b9: PUSH1 0xe4
000041bb: SHL
000041bc: PUSH0
000041bd: MSTORE
000041be: PUSH1 0x40
000041c0: PUSH1 0x04
000041c2: MSTORE
000041c3: PUSH1 0x24
000041c5: MSTORE
000041c6: PUSH1 0x44
000041c8: PUSH0
000041c9: REVERT
000041ca: JUMPDEST
000041cb: PUSH1 0x0f
000041cd: SLOAD
000041ce: DUP1
000041cf: DUP3
000041d0: MLOAD
000041d1: SUB
000041d2: PUSH2 0x4272
000041d5: JUMPI
000041d6: PUSH2 0x41de
000041d9: DUP2
000041da: PUSH2 0x3a97
000041dd: JUMP
000041de: JUMPDEST
000041df: SWAP1
000041e0: PUSH2 0x41e8
000041e3: DUP2
000041e4: PUSH2 0x3a97
000041e7: JUMP
000041e8: JUMPDEST
000041e9: SWAP3
000041ea: PUSH0
000041eb: JUMPDEST
000041ec: DUP3
000041ed: DUP2
000041ee: LT
000041ef: PUSH2 0x422f
000041f2: JUMPI
000041f3: POP
000041f4: POP
000041f5: POP
000041f6: POP
000041f7: PUSH2 0x41ff
000041fa: DUP2
000041fb: PUSH2 0x3b73
000041fe: JUMP
000041ff: JUMPDEST
00004200: PUSH32 0x823a01301c8a565de5c9d7aa034ab0841b6bfb2c3a497218fa6226b9c65d3550
00004221: PUSH1 0x40
00004223: MLOAD
00004224: DUP1
00004225: PUSH2 0x33f4
00004228: CALLER
00004229: SWAP5
0000422a: DUP3
0000422b: PUSH2 0x3bf3
0000422e: JUMP
0000422f: JUMPDEST
00004230: PUSH2 0x4239
00004233: DUP2
00004234: DUP4
00004235: PUSH2 0x3ac9
00004238: JUMP
00004239: JUMPDEST
0000423a: MLOAD
0000423b: PUSH2 0x4246
0000423e: PUSH2 0x0be0
00004241: DUP3
00004242: PUSH2 0x2ce0
00004245: JUMP
00004246: JUMPDEST
00004247: SWAP1
00004248: PUSH2 0x4254
0000424b: PUSH2 0x3cbf
0000424e: DUP3
0000424f: DUP9
00004250: PUSH2 0x3ac9
00004253: JUMP
00004254: JUMPDEST
00004255: PUSH2 0x3d02
00004258: JUMPI
00004259: PUSH1 0x01
0000425b: SWAP3
0000425c: SWAP2
0000425d: PUSH2 0x3ce3
00004260: PUSH2 0x3cdd
00004263: PUSH2 0x426c
00004266: SWAP4
00004267: DUP10
00004268: PUSH2 0x3ac9
0000426b: JUMP
0000426c: JUMPDEST
0000426d: ADD
0000426e: PUSH2 0x41eb
00004271: JUMP
00004272: JUMPDEST
00004273: PUSH4 0xdb7fb4e1
00004278: PUSH1 0xe0
0000427a: SHL
0000427b: PUSH0
0000427c: MSTORE
0000427d: PUSH1 0x04
0000427f: PUSH0
00004280: REVERT
00004281: JUMPDEST
00004282: DUP2
00004283: SUB
00004284: SWAP2
00004285: SWAP1
00004286: DUP3
00004287: GT
00004288: PUSH2 0x0ae5
0000428b: JUMPI
0000428c: PUSH4 0x01e13380
00004291: SWAP2
00004292: PUSH2 0x429a
00004295: SWAP2
00004296: PUSH2 0x2d82
00004299: JUMP
0000429a: JUMPDEST
0000429b: DIV
0000429c: SWAP1
0000429d: PUSH4 0x05f5e100
000042a2: PUSH2 0x42b6
000042a5: PUSH1 0x01
000042a7: PUSH1 0x01
000042a9: PUSH1 0x40
000042ab: SHL
000042ac: SUB
000042ad: PUSH1 0x0e
000042af: SLOAD
000042b0: AND
000042b1: DUP5
000042b2: PUSH2 0x2d82
000042b5: JUMP
000042b6: JUMPDEST
000042b7: DIV
000042b8: SWAP2
000042b9: DUP3
000042ba: DUP2
000042bb: SUB
000042bc: SWAP1
000042bd: DUP2
000042be: GT
000042bf: PUSH2 0x0ae5
000042c2: JUMPI
000042c3: SWAP2
000042c4: SWAP1
000042c5: JUMP
000042c6: JUMPDEST
000042c7: SWAP2
000042c8: SWAP1
000042c9: PUSH2 0x42d3
000042cc: DUP3
000042cd: DUP3
000042ce: DUP6
000042cf: PUSH2 0x4633
000042d2: JUMP
000042d3: JUMPDEST
000042d4: SWAP4
000042d5: PUSH1 0x04
000042d7: DUP2
000042d8: LT
000042d9: ISZERO
000042da: PUSH2 0x4310
000042dd: JUMPI
000042de: PUSH1 0x01
000042e0: DUP1
000042e1: SWAP2
000042e2: AND
000042e3: EQ
000042e4: SWAP3
000042e5: DUP4
000042e6: PUSH2 0x42fb
000042e9: JUMPI
000042ea: JUMPDEST
000042eb: POP
000042ec: POP
000042ed: POP
000042ee: ISZERO
000042ef: ISZERO
000042f0: DUP2
000042f1: ADD
000042f2: DUP1
000042f3: SWAP2
000042f4: GT
000042f5: PUSH2 0x0ae5
000042f8: JUMPI
000042f9: SWAP1
000042fa: JUMP
000042fb: JUMPDEST
000042fc: SWAP1
000042fd: SWAP2
000042fe: DUP1
000042ff: SWAP4
00004300: POP
00004301: ISZERO
00004302: PUSH2 0x2c07
00004305: JUMPI
00004306: MULMOD
00004307: ISZERO
00004308: ISZERO
00004309: PUSH0
0000430a: DUP1
0000430b: DUP1
0000430c: PUSH2 0x42ea
0000430f: JUMP
00004310: JUMPDEST
00004311: PUSH4 0x4e487b71
00004316: PUSH1 0xe0
00004318: SHL
00004319: PUSH0
0000431a: MSTORE
0000431b: PUSH1 0x21
0000431d: PUSH1 0x04
0000431f: MSTORE
00004320: PUSH1 0x24
00004322: PUSH0
00004323: REVERT
00004324: JUMPDEST
00004325: SWAP3
00004326: SWAP2
00004327: SWAP1
00004328: PUSH0
00004329: NOT
0000432a: DUP4
0000432b: EQ
0000432c: PUSH2 0x43e6
0000432f: JUMPI
00004330: PUSH1 0x01
00004332: PUSH1 0x01
00004334: PUSH1 0xa0
00004336: SHL
00004337: SUB
00004338: DUP2
00004339: DUP2
0000433a: AND
0000433b: SWAP1
0000433c: DUP4
0000433d: AND
0000433e: EQ
0000433f: DUP1
00004340: ISZERO
00004341: PUSH2 0x43de
00004344: JUMPI
00004345: JUMPDEST
00004346: PUSH2 0x38e2
00004349: JUMPI
0000434a: PUSH1 0x40
0000434c: MLOAD
0000434d: PUSH4 0x23b872dd
00004352: PUSH1 0xe0
00004354: SHL
00004355: PUSH1 0x20
00004357: DUP3
00004358: DUP2
00004359: ADD
0000435a: SWAP2
0000435b: DUP3
0000435c: MSTORE
0000435d: PUSH1 0x01
0000435f: PUSH1 0x01
00004361: PUSH1 0xa0
00004363: SHL
00004364: SUB
00004365: SWAP4
00004366: DUP5
00004367: AND
00004368: PUSH1 0x24
0000436a: DUP5
0000436b: ADD
0000436c: MSTORE
0000436d: SWAP3
0000436e: SWAP1
0000436f: SWAP4
00004370: AND
00004371: PUSH1 0x44
00004373: DUP3
00004374: ADD
00004375: MSTORE
00004376: PUSH1 0x64
00004378: DUP2
00004379: ADD
0000437a: SWAP4
0000437b: SWAP1
0000437c: SWAP4
0000437d: MSTORE
0000437e: SWAP2
0000437f: PUSH0
00004380: SWAP2
00004381: SWAP1
00004382: PUSH2 0x438e
00004385: DUP2
00004386: PUSH1 0x84
00004388: DUP2
00004389: ADD
0000438a: PUSH2 0x1377
0000438d: JUMP
0000438e: JUMPDEST
0000438f: MLOAD
00004390: SWAP1
00004391: DUP3
00004392: DUP6
00004393: GAS
00004394: CALL
00004395: ISZERO
00004396: PUSH2 0x2d10
00004399: JUMPI
0000439a: PUSH0
0000439b: MLOAD
0000439c: RETURNDATASIZE
0000439d: PUSH2 0x43d5
000043a0: JUMPI
000043a1: POP
000043a2: PUSH1 0x01
000043a4: PUSH1 0x01
000043a6: PUSH1 0xa0
000043a8: SHL
000043a9: SUB
000043aa: DUP2
000043ab: AND
000043ac: EXTCODESIZE
000043ad: ISZERO
000043ae: JUMPDEST
000043af: PUSH2 0x43b5
000043b2: JUMPI
000043b3: POP
000043b4: JUMP
000043b5: JUMPDEST
000043b6: PUSH4 0x5274afe7
000043bb: PUSH1 0xe0
000043bd: SHL
000043be: PUSH0
000043bf: SWAP1
000043c0: DUP2
000043c1: MSTORE
000043c2: PUSH1 0x01
000043c4: PUSH1 0x01
000043c6: PUSH1 0xa0
000043c8: SHL
000043c9: SUB
000043ca: SWAP2
000043cb: SWAP1
000043cc: SWAP2
000043cd: AND
000043ce: PUSH1 0x04
000043d0: MSTORE
000043d1: PUSH1 0x24
000043d3: SWAP1
000043d4: REVERT
000043d5: JUMPDEST
000043d6: PUSH1 0x01
000043d8: EQ
000043d9: ISZERO
000043da: PUSH2 0x43ae
000043dd: JUMP
000043de: JUMPDEST
000043df: POP
000043e0: DUP3
000043e1: ISZERO
000043e2: PUSH2 0x4345
000043e5: JUMP
000043e6: JUMPDEST
000043e7: PUSH4 0x0d550c3b
000043ec: PUSH1 0xe1
000043ee: SHL
000043ef: PUSH0
000043f0: MSTORE
000043f1: PUSH1 0x04
000043f3: PUSH0
000043f4: REVERT
000043f5: JUMPDEST
000043f6: PUSH1 0x01
000043f8: PUSH1 0x01
000043fa: PUSH1 0xa0
000043fc: SHL
000043fd: SUB
000043fe: DUP2
000043ff: AND
00004400: SWAP2
00004401: SWAP1
00004402: DUP3
00004403: ISZERO
00004404: PUSH2 0x39eb
00004407: JUMPI
00004408: PUSH0
00004409: MLOAD
0000440a: PUSH1 0x20
0000440c: PUSH2 0x47b3
0000440f: PUSH0
00004410: CODECOPY
00004411: PUSH0
00004412: MLOAD
00004413: SWAP1
00004414: PUSH0
00004415: MSTORE
00004416: SLOAD
00004417: SWAP1
00004418: DUP3
00004419: DUP3
0000441a: ADD
0000441b: DUP1
0000441c: SWAP3
0000441d: GT
0000441e: PUSH2 0x0ae5
00004421: JUMPI
00004422: PUSH0
00004423: SWAP3
00004424: PUSH2 0x445f
00004427: PUSH1 0x20
00004429: SWAP3
0000442a: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
0000444b: SWAP5
0000444c: PUSH0
0000444d: MLOAD
0000444e: PUSH1 0x20
00004450: PUSH2 0x47b3
00004453: PUSH0
00004454: CODECOPY
00004455: PUSH0
00004456: MLOAD
00004457: SWAP1
00004458: PUSH0
00004459: MSTORE
0000445a: SSTORE
0000445b: PUSH2 0x2c7c
0000445e: JUMP
0000445f: JUMPDEST
00004460: DUP2
00004461: DUP2
00004462: SLOAD
00004463: ADD
00004464: SWAP1
00004465: SSTORE
00004466: PUSH1 0x40
00004468: MLOAD
00004469: SWAP1
0000446a: DUP2
0000446b: MSTORE
0000446c: LOG3
0000446d: JUMP
0000446e: JUMPDEST
0000446f: PUSH1 0xff
00004471: PUSH0
00004472: MLOAD
00004473: PUSH1 0x20
00004475: PUSH2 0x4833
00004478: PUSH0
00004479: CODECOPY
0000447a: PUSH0
0000447b: MLOAD
0000447c: SWAP1
0000447d: PUSH0
0000447e: MSTORE
0000447f: SLOAD
00004480: PUSH1 0x40
00004482: SHR
00004483: AND
00004484: ISZERO
00004485: PUSH2 0x448a
00004488: JUMPI
00004489: JUMP
0000448a: JUMPDEST
0000448b: PUSH4 0x1afcd79f
00004490: PUSH1 0xe3
00004492: SHL
00004493: PUSH0
00004494: MSTORE
00004495: PUSH1 0x04
00004497: PUSH0
00004498: REVERT
00004499: JUMPDEST
0000449a: SWAP1
0000449b: PUSH1 0x1f
0000449d: DUP3
0000449e: GT
0000449f: PUSH2 0x44a6
000044a2: JUMPI
000044a3: POP
000044a4: POP
000044a5: JUMP
000044a6: JUMPDEST
000044a7: PUSH2 0x0692
000044aa: SWAP2
000044ab: PUSH0
000044ac: MLOAD
000044ad: PUSH1 0x20
000044af: PUSH2 0x4753
000044b2: PUSH0
000044b3: CODECOPY
000044b4: PUSH0
000044b5: MLOAD
000044b6: SWAP1
000044b7: PUSH0
000044b8: MSTORE
000044b9: PUSH0
000044ba: MSTORE
000044bb: PUSH1 0x20
000044bd: PUSH0
000044be: KECCAK256
000044bf: SWAP1
000044c0: PUSH1 0x20
000044c2: PUSH1 0x1f
000044c4: DUP5
000044c5: ADD
000044c6: PUSH1 0x05
000044c8: SHR
000044c9: DUP4
000044ca: ADD
000044cb: SWAP4
000044cc: LT
000044cd: PUSH2 0x44de
000044d0: JUMPI
000044d1: JUMPDEST
000044d2: PUSH1 0x1f
000044d4: ADD
000044d5: PUSH1 0x05
000044d7: SHR
000044d8: ADD
000044d9: SWAP1
000044da: PUSH2 0x3add
000044dd: JUMP
000044de: JUMPDEST
000044df: SWAP1
000044e0: SWAP2
000044e1: POP
000044e2: DUP2
000044e3: SWAP1
000044e4: PUSH2 0x44d1
000044e7: JUMP
000044e8: JUMPDEST
000044e9: SWAP2
000044ea: SWAP1
000044eb: PUSH1 0x1f
000044ed: DUP2
000044ee: GT
000044ef: PUSH2 0x44f7
000044f2: JUMPI
000044f3: POP
000044f4: POP
000044f5: POP
000044f6: JUMP
000044f7: JUMPDEST
000044f8: PUSH2 0x0692
000044fb: SWAP3
000044fc: PUSH0
000044fd: MSTORE
000044fe: PUSH1 0x20
00004500: PUSH0
00004501: KECCAK256
00004502: SWAP1
00004503: PUSH1 0x20
00004505: PUSH1 0x1f
00004507: DUP5
00004508: ADD
00004509: PUSH1 0x05
0000450b: SHR
0000450c: DUP4
0000450d: ADD
0000450e: SWAP4
0000450f: LT
00004510: PUSH2 0x44de
00004513: JUMPI
00004514: PUSH1 0x1f
00004516: ADD
00004517: PUSH1 0x05
00004519: SHR
0000451a: ADD
0000451b: SWAP1
0000451c: PUSH2 0x3add
0000451f: JUMP
00004520: JUMPDEST
00004521: SWAP1
00004522: DUP2
00004523: MLOAD
00004524: PUSH1 0x01
00004526: PUSH1 0x01
00004528: PUSH1 0x40
0000452a: SHL
0000452b: SUB
0000452c: DUP2
0000452d: GT
0000452e: PUSH2 0x0cab
00004531: JUMPI
00004532: PUSH2 0x455f
00004535: DUP2
00004536: PUSH2 0x454c
00004539: PUSH0
0000453a: MLOAD
0000453b: PUSH1 0x20
0000453d: PUSH2 0x4773
00004540: PUSH0
00004541: CODECOPY
00004542: PUSH0
00004543: MLOAD
00004544: SWAP1
00004545: PUSH0
00004546: MSTORE
00004547: SLOAD
00004548: PUSH2 0x2c0c
0000454b: JUMP
0000454c: JUMPDEST
0000454d: PUSH0
0000454e: MLOAD
0000454f: PUSH1 0x20
00004551: PUSH2 0x4773
00004554: PUSH0
00004555: CODECOPY
00004556: PUSH0
00004557: MLOAD
00004558: SWAP1
00004559: PUSH0
0000455a: MSTORE
0000455b: PUSH2 0x44e8
0000455e: JUMP
0000455f: JUMPDEST
00004560: PUSH1 0x20
00004562: SWAP3
00004563: PUSH1 0x1f
00004565: DUP3
00004566: GT
00004567: PUSH1 0x01
00004569: EQ
0000456a: PUSH2 0x459f
0000456d: JUMPI
0000456e: PUSH2 0x458e
00004571: SWAP3
00004572: SWAP4
00004573: DUP3
00004574: SWAP2
00004575: PUSH0
00004576: SWAP3
00004577: PUSH2 0x32a9
0000457a: JUMPI
0000457b: POP
0000457c: POP
0000457d: DUP2
0000457e: PUSH1 0x01
00004580: SHL
00004581: SWAP2
00004582: PUSH0
00004583: NOT
00004584: SWAP1
00004585: PUSH1 0x03
00004587: SHL
00004588: SHR
00004589: NOT
0000458a: AND
0000458b: OR
0000458c: SWAP1
0000458d: JUMP
0000458e: JUMPDEST
0000458f: PUSH0
00004590: MLOAD
00004591: PUSH1 0x20
00004593: PUSH2 0x4773
00004596: PUSH0
00004597: CODECOPY
00004598: PUSH0
00004599: MLOAD
0000459a: SWAP1
0000459b: PUSH0
0000459c: MSTORE
0000459d: SSTORE
0000459e: JUMP
0000459f: JUMPDEST
000045a0: PUSH0
000045a1: MLOAD
000045a2: PUSH1 0x20
000045a4: PUSH2 0x4773
000045a7: PUSH0
000045a8: CODECOPY
000045a9: PUSH0
000045aa: MLOAD
000045ab: SWAP1
000045ac: PUSH0
000045ad: MSTORE
000045ae: PUSH0
000045af: MSTORE
000045b0: PUSH1 0x1f
000045b2: NOT
000045b3: DUP3
000045b4: AND
000045b5: SWAP4
000045b6: PUSH32 0x46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa
000045d7: SWAP2
000045d8: PUSH0
000045d9: JUMPDEST
000045da: DUP7
000045db: DUP2
000045dc: LT
000045dd: PUSH2 0x461b
000045e0: JUMPI
000045e1: POP
000045e2: DUP4
000045e3: PUSH1 0x01
000045e5: SWAP6
000045e6: SWAP7
000045e7: LT
000045e8: PUSH2 0x4603
000045eb: JUMPI
000045ec: JUMPDEST
000045ed: POP
000045ee: POP
000045ef: POP
000045f0: DUP2
000045f1: SHL
000045f2: ADD
000045f3: PUSH0
000045f4: MLOAD
000045f5: PUSH1 0x20
000045f7: PUSH2 0x4773
000045fa: PUSH0
000045fb: CODECOPY
000045fc: PUSH0
000045fd: MLOAD
000045fe: SWAP1
000045ff: PUSH0
00004600: MSTORE
00004601: SSTORE
00004602: JUMP
00004603: JUMPDEST
00004604: ADD
00004605: MLOAD
00004606: PUSH0
00004607: NOT
00004608: PUSH1 0xf8
0000460a: DUP5
0000460b: PUSH1 0x03
0000460d: SHL
0000460e: AND
0000460f: SHR
00004610: NOT
00004611: AND
00004612: SWAP1
00004613: SSTORE
00004614: PUSH0
00004615: DUP1
00004616: DUP1
00004617: PUSH2 0x45ec
0000461a: JUMP
0000461b: JUMPDEST
0000461c: SWAP2
0000461d: SWAP3
0000461e: PUSH1 0x20
00004620: PUSH1 0x01
00004622: DUP2
00004623: SWAP3
00004624: DUP7
00004625: DUP6
00004626: ADD
00004627: MLOAD
00004628: DUP2
00004629: SSTORE
0000462a: ADD
0000462b: SWAP5
0000462c: ADD
0000462d: SWAP3
0000462e: ADD
0000462f: PUSH2 0x45d9
00004632: JUMP
00004633: JUMPDEST
00004634: SWAP2
00004635: DUP2
00004636: DUP4
00004637: MUL
00004638: SWAP2
00004639: PUSH0
0000463a: NOT
0000463b: DUP2
0000463c: DUP6
0000463d: MULMOD
0000463e: SWAP4
0000463f: DUP4
00004640: DUP1
00004641: DUP7
00004642: LT
00004643: SWAP6
00004644: SUB
00004645: SWAP5
00004646: DUP1
00004647: DUP7
00004648: SUB
00004649: SWAP6
0000464a: EQ
0000464b: PUSH2 0x46b8
0000464e: JUMPI
0000464f: DUP5
00004650: DUP4
00004651: GT
00004652: ISZERO
00004653: PUSH2 0x46ab
00004656: JUMPI
00004657: SWAP1
00004658: DUP3
00004659: SWAP2
0000465a: MULMOD
0000465b: DUP2
0000465c: PUSH0
0000465d: SUB
0000465e: DUP3
0000465f: AND
00004660: DUP1
00004661: SWAP3
00004662: DIV
00004663: PUSH1 0x02
00004665: DUP2
00004666: PUSH1 0x03
00004668: MUL
00004669: XOR
0000466a: DUP1
0000466b: DUP3
0000466c: MUL
0000466d: PUSH1 0x02
0000466f: SUB
00004670: MUL
00004671: DUP1
00004672: DUP3
00004673: MUL
00004674: PUSH1 0x02
00004676: SUB
00004677: MUL
00004678: DUP1
00004679: DUP3
0000467a: MUL
0000467b: PUSH1 0x02
0000467d: SUB
0000467e: MUL
0000467f: DUP1
00004680: DUP3
00004681: MUL
00004682: PUSH1 0x02
00004684: SUB
00004685: MUL
00004686: DUP1
00004687: DUP3
00004688: MUL
00004689: PUSH1 0x02
0000468b: SUB
0000468c: MUL
0000468d: DUP1
0000468e: SWAP2
0000468f: MUL
00004690: PUSH1 0x02
00004692: SUB
00004693: MUL
00004694: SWAP4
00004695: PUSH1 0x01
00004697: DUP4
00004698: DUP1
00004699: PUSH0
0000469a: SUB
0000469b: DIV
0000469c: ADD
0000469d: SWAP1
0000469e: DUP5
0000469f: DUP4
000046a0: GT
000046a1: SWAP1
000046a2: SUB
000046a3: MUL
000046a4: SWAP3
000046a5: SUB
000046a6: DIV
000046a7: OR
000046a8: MUL
000046a9: SWAP1
000046aa: JUMP
000046ab: JUMPDEST
000046ac: PUSH1 0x11
000046ae: PUSH1 0x03
000046b0: DUP5
000046b1: ISZERO
000046b2: MUL
000046b3: XOR
000046b4: PUSH2 0x4742
000046b7: JUMP
000046b8: JUMPDEST
000046b9: POP
000046ba: POP
000046bb: SWAP1
000046bc: PUSH2 0x0db5
000046bf: SWAP3
000046c0: POP
000046c1: PUSH2 0x2bfd
000046c4: JUMP
000046c5: JUMPDEST
000046c6: PUSH0
000046c7: DUP1
000046c8: SWAP2
000046c9: PUSH1 0x40
000046cb: MLOAD
000046cc: PUSH1 0x20
000046ce: DUP2
000046cf: ADD
000046d0: SWAP1
000046d1: PUSH4 0x313ce567
000046d6: PUSH1 0xe0
000046d8: SHL
000046d9: DUP3
000046da: MSTORE
000046db: PUSH1 0x04
000046dd: DUP2
000046de: MSTORE
000046df: PUSH2 0x46e9
000046e2: PUSH1 0x24
000046e4: DUP3
000046e5: PUSH2 0x0ce6
000046e8: JUMP
000046e9: JUMPDEST
000046ea: MLOAD
000046eb: SWAP2
000046ec: PUSH1 0x01
000046ee: PUSH1 0x01
000046f0: PUSH1 0xa0
000046f2: SHL
000046f3: SUB
000046f4: AND
000046f5: GAS
000046f6: STATICCALL
000046f7: PUSH2 0x46fe
000046fa: PUSH2 0x3d54
000046fd: JUMP
000046fe: JUMPDEST
000046ff: SWAP1
00004700: DUP1
00004701: PUSH2 0x4736
00004704: JUMPI
00004705: JUMPDEST
00004706: PUSH2 0x4711
00004709: JUMPI
0000470a: JUMPDEST
0000470b: POP
0000470c: PUSH0
0000470d: SWAP1
0000470e: PUSH0
0000470f: SWAP1
00004710: JUMP
00004711: JUMPDEST
00004712: DUP1
00004713: PUSH1 0x20
00004715: DUP1
00004716: PUSH2 0x4724
00004719: SWAP4
0000471a: MLOAD
0000471b: DUP4
0000471c: ADD
0000471d: ADD
0000471e: SWAP2
0000471f: ADD
00004720: PUSH2 0x3009
00004723: JUMP
00004724: JUMPDEST
00004725: PUSH1 0xff
00004727: DUP2
00004728: GT
00004729: PUSH2 0x470a
0000472c: JUMPI
0000472d: SWAP1
0000472e: PUSH1 0xff
00004730: PUSH1 0x01
00004732: SWAP3
00004733: AND
00004734: SWAP1
00004735: JUMP
00004736: JUMPDEST
00004737: POP
00004738: PUSH1 0x20
0000473a: DUP2
0000473b: MLOAD
0000473c: LT
0000473d: ISZERO
0000473e: PUSH2 0x4705
00004741: JUMP
00004742: JUMPDEST
00004743: PUSH4 0x4e487b71
00004748: PUSH0
00004749: MSTORE
0000474a: PUSH1 0x20
0000474c: MSTORE
0000474d: PUSH1 0x24
0000474f: PUSH1 0x1c
00004751: REVERT
00004752: INVALID
00004753: MSTORE
00004754: UNKNOWN(0xC6)
00004755: ORIGIN
00004756: SELFBALANCE
00004757: UNKNOWN(0xE1)
00004758: DELEGATECALL
00004759: PUSH30 0xb19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1
00004778: DELEGATECALL
00004779: PUSH30 0xb19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace049016d09d72
00004798: UNKNOWN(0xD4)
00004799: UNKNOWN(0x0F)
0000479a: UNKNOWN(0xDA)
0000479b: UNKNOWN(0xE2)
0000479c: REVERT
0000479d: DUP13
0000479e: UNKNOWN(0xEA)
0000479f: UNKNOWN(0xC6)
000047a0: UNKNOWN(0xB6)
000047a1: UNKNOWN(0x23)
000047a2: UNKNOWN(0x4C)
000047a3: PUSH24 0x06214fd39c1cd1e609a0528c19930052c63247e1f47db19d
000047bc: TLOAD
000047bd: UNKNOWN(0xE0)
000047be: CHAINID
000047bf: STOP
000047c0: ADDRESS
000047c1: UNKNOWN(0xC4)
000047c2: SWAP8
000047c3: CREATE
000047c4: PUSH8 0xca4cebf71ba98eea
000047cd: UNKNOWN(0xDA)
000047ce: UNKNOWN(0xBE)
000047cf: KECCAK256
000047d0: UNKNOWN(0xBA)
000047d1: UNKNOWN(0xCE)
000047d2: MUL
000047d3: SMOD
000047d4: PUSH20 0xe532dfede91f04b12a73d3d2acd361424f41f76b
000047e9: UNKNOWN(0x4F)
000047ea: UNKNOWN(0xB7)
000047eb: SWAP16
000047ec: MULMOD
000047ed: ADD
000047ee: PUSH2 0xe36b
000047f1: UNKNOWN(0x4E)
000047f2: STOP
000047f3: UNKNOWN(0xCD)
000047f4: MCOPY
000047f5: UNKNOWN(0xD1)
000047f6: TLOAD
000047f7: PUSH15 0x187e77e9aee88184c21f4f2182ab58
00004807: UNKNOWN(0x27)
00004808: UNKNOWN(0xCB)
00004809: EXTCODESIZE
0000480a: PUSH31 0x07fbedcd63f033009b779b17422d0df92223018b32b4d1fa46e071723d6817
0000482a: UNKNOWN(0xE2)
0000482b: BASEFEE
0000482c: PUSH14 0x003becc55f00f0c57e16840df040
0000483b: CALL
0000483c: POP
0000483d: DUP9
0000483e: UNKNOWN(0xDC)
0000483f: UNKNOWN(0x2F)
00004840: DUP2
00004841: INVALID
00004842: CODECOPY
00004843: SHR
00004844: CODECOPY
00004845: UNKNOWN(0x23)
00004846: UNKNOWN(0xBE)
00004847: UNKNOWN(0xC7)
00004848: RETURNDATACOPY
00004849: UNKNOWN(0x23)
0000484a: UNKNOWN(0xA9)
0000484b: PUSH7 0x2efc9c229c6a00
00004853: UNKNOWN(0x23)
00004854: PUSH31 0x158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00a2
00004874: PUSH5 0x6970667358
0000487a: UNKNOWN(0x22)
0000487b: SLT
0000487c: KECCAK256
0000487d: LT
0000487e: EXTCODESIZE
0000487f: SELFBALANCE
00004880: DUP11
00004881: PUSH5 0x47169ebcf2
00004887: UNKNOWN(0xCC)
00004888: DUP3
00004889: PUSH31

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high upgradeability detector Untrusted DELEGATECALL target reachable 55 no no
view
trace_id: 0x4436519e54532f636e9c517a1491c1e133090ac405698beef61cb8e9ce5a3955
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0x4436519e54532f636e9c517a1491c1e133090ac405698beef61cb8e9ce5a3955",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x01e1d114",
            "selector": "0x01e1d114",
            "calldata_variants": [
                "0x01e1d114",
                "0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x07a2d13a",
            "selector": "0x07a2d13a",
            "calldata_variants": [
                "0x07a2d13a",
                "0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0a28a477",
            "selector": "0x0a28a477",
            "calldata_variants": [
                "0x0a28a477",
                "0x0a28a4770000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0f4f0c32",
            "selector": "0x0f4f0c32",
            "calldata_variants": [
                "0x0f4f0c32",
                "0x0f4f0c320000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0ffbfda4",
            "selector": "0x0ffbfda4",
            "calldata_variants": [
                "0x0ffbfda4",
                "0x0ffbfda40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1124f92c",
            "selector": "0x1124f92c",
            "calldata_variants": [
                "0x1124f92c",
                "0x1124f92c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 15791,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 18264,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 18296,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [
        {
            "pc": 18261,
            "type": "tx_origin_used"
        }
    ],
    "delegatecall_count": 3,
    "untrusted_delegatecall_count": 3
}
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": "0x01e1d114",
            "selector": "0x01e1d114",
            "calldata_variants": [
                "0x01e1d114",
                "0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x07a2d13a",
            "selector": "0x07a2d13a",
            "calldata_variants": [
                "0x07a2d13a",
                "0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0a28a477",
            "selector": "0x0a28a477",
            "calldata_variants": [
                "0x0a28a477",
                "0x0a28a4770000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0f4f0c32",
            "selector": "0x0f4f0c32",
            "calldata_variants": [
                "0x0f4f0c32",
                "0x0f4f0c320000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0ffbfda4",
            "selector": "0x0ffbfda4",
            "calldata_variants": [
                "0x0ffbfda4",
                "0x0ffbfda40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1124f92c",
            "selector": "0x1124f92c",
            "calldata_variants": [
                "0x1124f92c",
                "0x1124f92c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 18261,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x1d42a9fc8439278d1ecdf3d40beb915c7c4920a9c0cce13b0230b1b1ccfac052
call_targets: 0x6ac78b7d787b5ddde1b342a1346fb545acf44e01
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x1d42a9fc8439278d1ecdf3d40beb915c7c4920a9c0cce13b0230b1b1ccfac052",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x6ac78b7d787b5ddde1b342a1346fb545acf44e01"
    ],
    "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": "0x01e1d114",
            "selector": "0x01e1d114",
            "calldata_variants": [
                "0x01e1d114",
                "0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x07a2d13a",
            "selector": "0x07a2d13a",
            "calldata_variants": [
                "0x07a2d13a",
                "0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0a28a477",
            "selector": "0x0a28a477",
            "calldata_variants": [
                "0x0a28a477",
                "0x0a28a4770000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0f4f0c32",
            "selector": "0x0f4f0c32",
            "calldata_variants": [
                "0x0f4f0c32",
                "0x0f4f0c320000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0ffbfda4",
            "selector": "0x0ffbfda4",
            "calldata_variants": [
                "0x0ffbfda4",
                "0x0ffbfda40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1124f92c",
            "selector": "0x1124f92c",
            "calldata_variants": [
                "0x1124f92c",
                "0x1124f92c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3105,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6720,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 17300,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 4,
    "guards_detected": [
        {
            "pc": 18261,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0x59e6c17c38037f86721b6d0f71c82205bba738202057da8a67c3615106cb473f
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0x59e6c17c38037f86721b6d0f71c82205bba738202057da8a67c3615106cb473f",
    "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": "0x01e1d114",
            "selector": "0x01e1d114",
            "calldata_variants": [
                "0x01e1d114",
                "0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x07a2d13a",
            "selector": "0x07a2d13a",
            "calldata_variants": [
                "0x07a2d13a",
                "0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0a28a477",
            "selector": "0x0a28a477",
            "calldata_variants": [
                "0x0a28a477",
                "0x0a28a4770000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0f4f0c32",
            "selector": "0x0f4f0c32",
            "calldata_variants": [
                "0x0f4f0c32",
                "0x0f4f0c320000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0ffbfda4",
            "selector": "0x0ffbfda4",
            "calldata_variants": [
                "0x0ffbfda4",
                "0x0ffbfda40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1124f92c",
            "selector": "0x1124f92c",
            "calldata_variants": [
                "0x1124f92c",
                "0x1124f92c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 1,
    "create2_count": 0
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x1d42a9fc8439278d1ecdf3d40beb915c7c4920a9c0cce13b0230b1b1ccfac052
call_targets: 0x6ac78b7d787b5ddde1b342a1346fb545acf44e01
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x1d42a9fc8439278d1ecdf3d40beb915c7c4920a9c0cce13b0230b1b1ccfac052",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x6ac78b7d787b5ddde1b342a1346fb545acf44e01"
    ],
    "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": "0x01e1d114",
            "selector": "0x01e1d114",
            "calldata_variants": [
                "0x01e1d114",
                "0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x07a2d13a",
            "selector": "0x07a2d13a",
            "calldata_variants": [
                "0x07a2d13a",
                "0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0a28a477",
            "selector": "0x0a28a477",
            "calldata_variants": [
                "0x0a28a477",
                "0x0a28a4770000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0f4f0c32",
            "selector": "0x0f4f0c32",
            "calldata_variants": [
                "0x0f4f0c32",
                "0x0f4f0c320000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0ffbfda4",
            "selector": "0x0ffbfda4",
            "calldata_variants": [
                "0x0ffbfda4",
                "0x0ffbfda40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1124f92c",
            "selector": "0x1124f92c",
            "calldata_variants": [
                "0x1124f92c",
                "0x1124f92c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3105,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6720,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 17300,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 4,
    "guards_detected": [
        {
            "pc": 18261,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 4
}
medium access_control codex Unrestricted swap callback can spoof reserves and corrupt vault accounting 75 no
view
evidence_json
{
    "evidence": "`afterSwap` is `external` with no access control and forwards user-supplied values into a delegatecall.",
    "locations": [
        "contracts/contracts/vault/TermMaxVault.sol:743",
        "contracts/contracts/vault/TermMaxVault.sol:744"
    ],
    "recommendation": "Restrict `afterSwap` to authorized order contracts (e.g., require `msg.sender` is a known order in `_orderMapping` or a whitelisted market) and validate the reserve/delta values against on-chain balances before updating accounting.",
    "exploit_scenario": "An attacker calls `afterSwap` directly with fabricated `ftReserve`, `xtReserve`, and `deltaFt` values. The vault forwards these values via delegatecall; if the OrderManager relies on the inputs without validating `msg.sender` and reserves, it can update interest/principal accounting based on attacker-controlled data, letting the attacker manipulate share pricing and withdraw more assets or extract collateral via bad-debt handling."
}
medium upgradeability codex Delegatecall to external OrderManager gives it full control of vault storage 75 no
view
evidence_json
{
    "evidence": "The vault delegates critical operations to `ORDER_MANAGER_SINGLETON` via `delegatecall`.",
    "locations": [
        "contracts/contracts/vault/TermMaxVault.sol:379",
        "contracts/contracts/vault/TermMaxVault.sol:380"
    ],
    "recommendation": "Ensure `ORDER_MANAGER_SINGLETON` is a non-upgradeable, immutable implementation (or pin its codehash), or add a timelocked, auditable upgrade path with governance approvals and an emergency pause/replace mechanism.",
    "exploit_scenario": "If `ORDER_MANAGER_SINGLETON` is a proxy or its admin is compromised, its implementation can be upgraded to malicious code. Because the vault uses `delegatecall`, that code executes in the vault\u2019s context and can rewrite balances, mint/burn shares, or transfer assets out, effectively draining the vault."
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 3
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 1,
    "create2_count": 0
}
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": 6
}