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

Analysis Run

dc874f74-a1be-495d-a37a-0a8993a903eb

complete
Chain ID
1
Address
Block Number
Created
Tue, Dec 30, 2025 2:22 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 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30699 report.consolidate complete 1 / 1 3 months ago
75190 artifact.fetch complete 1 / 3 1 week ago
75191 tool.cast_disasm complete 1 / 3 1 week ago
75192 analysis.bundle complete 1 / 3 1 week ago
75193 capability.graph complete 1 / 3 1 week ago
75194 detector.run complete 1 / 3 1 week ago
75195 validation.fork complete 1 / 3 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no
Implementation:
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 two issues: a zero-supply division-by-zero edge case that can permanently halt new deposits, and a permit signature malleability gap in ERC20Permit.
View stderr
[codex:884905] OpenAI Codex v0.77.0 (research preview)
[codex:884905] --------
[codex:884905] workdir: /tmp/codex-multi-lc27a1jl
[codex:884905] model: gpt-5.2-codex
[codex:884905] provider: openai
[codex:884905] approval: never
[codex:884905] sandbox: read-only
[codex:884905] reasoning effort: xhigh
[codex:884905] reasoning summaries: auto
[codex:884905] session id: 019b6f9d-087b-7df0-8b63-1d1a64480652
[codex:884905] --------
[codex:884905] user
[codex:884905] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:884905] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:884905] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:884905] 
[codex:884905] Scope rules:
[codex:884905] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:884905] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:884905] 
[codex:884905] Output MUST be valid JSON matching the provided schema.
[codex:884905] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:884905] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:884905] 
[codex:884905] Output constraints (IMPORTANT):
[codex:884905] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:884905] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:884905] mcp startup: no servers
[codex:884905] 
[codex:884905] thinking
[codex:884905] **Preparing to audit with file reading**
[codex:884905] exec
[codex:884905] /bin/bash -lc ls in /tmp/codex-multi-lc27a1jl succeeded in 5ms:
[codex:884905] AUDIT_BUNDLE.txt
[codex:884905] codex-output-schema.json
[codex:884905] contracts
[codex:884905] exec
[codex:884905] /bin/bash -lc 'wc -l AUDIT_BUNDLE.txt' in /tmp/codex-multi-lc27a1jl succeeded in 6ms:
[codex:884905] 2509 AUDIT_BUNDLE.txt
[codex:884905] exec
[codex:884905] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-lc27a1jl succeeded in 5ms:
[codex:884905] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:884905] 
[codex:884905] ================================================================================
[codex:884905] FILE: contracts/@yield-protocol/strategy-v2/src/Strategy.sol
[codex:884905] ================================================================================
[codex:884905] // SPDX-License-Identifier: BUSL-1.1
[codex:884905] // Audit of commit 9e6a33d at https://hackmd.io/7YB8QorOSs-nAAaz_f8EbQ
[codex:884905] 
[codex:884905] pragma solidity >=0.8.13;
[codex:884905] 
[codex:884905] import { IStrategy } from "./interfaces/IStrategy.sol";
[codex:884905] import { StrategyMigrator } from "./StrategyMigrator.sol";
[codex:884905] import { AccessControl } from "@yield-protocol/utils-v2/src/access/AccessControl.sol";
[codex:884905] import { SafeERC20Namer } from "@yield-protocol/utils-v2/src/token/SafeERC20Namer.sol";
[codex:884905] import { MinimalTransferHelper } from "@yield-protocol/utils-v2/src/token/MinimalTransferHelper.sol";
[codex:884905] import { IERC20 } from "@yield-protocol/utils-v2/src/token/IERC20.sol";
[codex:884905] import { ERC20Rewards } from "@yield-protocol/utils-v2/src/token/ERC20Rewards.sol";
[codex:884905] import { IFYToken } from "@yield-protocol/vault-v2/src/interfaces/IFYToken.sol";
[codex:884905] import { IPool } from "@yield-protocol/yieldspace-tv/src/interfaces/IPool.sol";
[codex:884905] 
[codex:884905] 
[codex:884905] thinking
[codex:884905] **Requesting full file content**
[codex:884905] exec
[codex:884905] /bin/bash -lc "sed -n '200,400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-lc27a1jl succeeded in 5ms:
[codex:884905]     /// @notice The caller must take care of slippage when selling fyToken, if relevant.
[codex:884905]     function eject()
[codex:884905]         external
[codex:884905]         auth
[codex:884905]         isState(State.INVESTED)
[codex:884905]         returns (uint256 baseReceived, uint256 fyTokenReceived)
[codex:884905]     {
[codex:884905]         // Caching
[codex:884905]         IPool pool_ = pool;
[codex:884905]         uint256 toDivest = pool_.balanceOf(address(this));
[codex:884905] 
[codex:884905]         // Burn lpTokens, if not possible, eject the pool tokens out. Slippage should be managed by the caller.
[codex:884905]         delete poolCached;
[codex:884905]         try this.burnPoolTokens(pool_, toDivest) returns (uint256 baseReceived_, uint256 fyTokenReceived_) {
[codex:884905]             baseCached = baseReceived = baseReceived_;
[codex:884905]             fyTokenCached = fyTokenReceived = fyTokenReceived_;
[codex:884905]             if (fyTokenReceived > 0) {
[codex:884905]                 _transition(State.EJECTED, pool_);
[codex:884905]                 emit Ejected(address(pool_), toDivest, baseReceived, fyTokenReceived);
[codex:884905]             } else {
[codex:884905] 
[codex:884905] thinking
[codex:884905] **Continuing bundle review**
[codex:884905] exec
[codex:884905] /bin/bash -lc "sed -n '400,800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-lc27a1jl succeeded in 5ms:
[codex:884905] }
[codex:884905] 
[codex:884905] ================================================================================
[codex:884905] FILE: contracts/@yield-protocol/strategy-v2/src/StrategyMigrator.sol
[codex:884905] ================================================================================
[codex:884905] // SPDX-License-Identifier: BUSL-1.1
[codex:884905] pragma solidity ^0.8.13;
[codex:884905] 
[codex:884905] import {IStrategyMigrator} from "./interfaces/IStrategyMigrator.sol";
[codex:884905] import {IFYToken} from "@yield-protocol/vault-v2/src/interfaces/IFYToken.sol";
[codex:884905] import {IERC20} from "@yield-protocol/utils-v2/src/token/IERC20.sol";
[codex:884905] 
[codex:884905] 
[codex:884905] /// @dev The Migrator contract poses as a Pool to receive all assets from a Strategy during an invest call.
[codex:884905] /// TODO: For this to work, the implementing class must inherit from ERC20.
[codex:884905] abstract contract StrategyMigrator is IStrategyMigrator {
[codex:884905] 
[codex:884905]     /// Mock pool base - Must match that of the calling strategy
[codex:884905]     IERC20 public immutable base;
[codex:884905] 
[codex:884905] 
[codex:884905] thinking
[codex:884905] **Clarifying third-party boundaries**
[codex:884905] exec
[codex:884905] /bin/bash -lc "sed -n '800,1200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-lc27a1jl succeeded in 5ms:
[codex:884905]      * @dev Revokes all of `role` in `roles` from `account`.
[codex:884905]      *
[codex:884905]      * If `account` had been granted `role`, emits a {RoleRevoked} event.
[codex:884905]      *
[codex:884905]      * Requirements:
[codex:884905]      *
[codex:884905]      * - For each `role` in `roles`, the caller must have ``role``'s admin role.
[codex:884905]      */
[codex:884905]     function revokeRoles(bytes4[] memory roles, address account) external virtual {
[codex:884905]         for (uint256 i = 0; i < roles.length; i++) {
[codex:884905]             require (_hasRole(_getRoleAdmin(roles[i]), msg.sender), "Only admin");
[codex:884905]             _revokeRole(roles[i], account);
[codex:884905]         }
[codex:884905]     }
[codex:884905] 
[codex:884905]     /**
[codex:884905]      * @dev Revokes `role` from the calling account.
[codex:884905]      *
[codex:884905]      * Roles are often managed via {grantRole} and {revokeRole}: this function's
[codex:884905]      * purpose is to provide a mechanism for accounts to lose their privileges
[codex:884905] 
[codex:884905] thinking
[codex:884905] **Continuing exploration**
[codex:884905] exec
[codex:884905] /bin/bash -lc "sed -n '1200,1600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-lc27a1jl succeeded in 5ms:
[codex:884905]         uint32 start;                                   // Start time for the current rewardsToken schedule
[codex:884905]         uint32 end;                                     // End time for the current rewardsToken schedule
[codex:884905]     }
[codex:884905] 
[codex:884905]     struct RewardsPerToken {
[codex:884905]         uint128 accumulated;                            // Accumulated rewards per token for the period, scaled up by 1e18
[codex:884905]         uint32 lastUpdated;                             // Last time the rewards per token accumulator was updated
[codex:884905]         uint96 rate;                                    // Wei rewarded per second among all token holders
[codex:884905]     }
[codex:884905] 
[codex:884905]     struct UserRewards {
[codex:884905]         uint128 accumulated;                            // Accumulated rewards for the user until the checkpoint
[codex:884905]         uint128 checkpoint;                             // RewardsPerToken the last time the user rewards were updated
[codex:884905]     }
[codex:884905] 
[codex:884905]     IERC20 public rewardsToken;                         // Token used as rewards
[codex:884905]     RewardsPeriod public rewardsPeriod;                 // Period in which rewards are accumulated by users
[codex:884905] 
[codex:884905]     RewardsPerToken public rewardsPerToken;             // Accumulator to track rewards per token               
[codex:884905]     mapping (address => UserRewards) public rewards;    // Rewards accumulated by users
[codex:884905] 
[codex:884905] thinking
[codex:884905] **Continuing to review contracts**
[codex:884905] exec
[codex:884905] /bin/bash -lc "sed -n '1600,2000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-lc27a1jl succeeded in 5ms:
[codex:884905]             charCount <<= 8;
[codex:884905]             charCount += uint8(b[i]);
[codex:884905]         }
[codex:884905] 
[codex:884905]         bytes memory bytesStringTrimmed = new bytes(charCount);
[codex:884905]         for (uint256 i = 0; i < charCount; i++) {
[codex:884905]             bytesStringTrimmed[i] = b[i + 64];
[codex:884905]         }
[codex:884905] 
[codex:884905]         return string(bytesStringTrimmed);
[codex:884905]     }
[codex:884905] 
[codex:884905]     // uses a heuristic to produce a token name from the address
[codex:884905]     // the heuristic returns the full hex of the address string in upper case
[codex:884905]     function addressToName(address token) private pure returns (string memory) {
[codex:884905]         return AddressStringUtil.toAsciiString(token, 40);
[codex:884905]     }
[codex:884905] 
[codex:884905]     // uses a heuristic to produce a token symbol from the address
[codex:884905]     // the heuristic returns the first 6 hex of the address string in upper case
[codex:884905] 
[codex:884905] thinking
[codex:884905] **Continuing to scan contract bundle**
[codex:884905] exec
[codex:884905] /bin/bash -lc "sed -n '2000,2400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-lc27a1jl succeeded in 6ms:
[codex:884905] 
[codex:884905]     /// @dev Move collateral and debt between vaults.
[codex:884905]     function stir(
[codex:884905]         bytes12 from,
[codex:884905]         bytes12 to,
[codex:884905]         uint128 ink,
[codex:884905]         uint128 art
[codex:884905]     ) external returns (DataTypes.Balances memory, DataTypes.Balances memory);
[codex:884905] 
[codex:884905]     /// @dev Manipulate a vault debt and collateral.
[codex:884905]     function pour(
[codex:884905]         bytes12 vaultId,
[codex:884905]         int128 ink,
[codex:884905]         int128 art
[codex:884905]     ) external returns (DataTypes.Balances memory);
[codex:884905] 
[codex:884905]     /// @dev Change series and debt of a vault.
[codex:884905]     /// The module calling this function also needs to buy underlying in the pool for the new series, and sell it in pool for the old series.
[codex:884905]     function roll(
[codex:884905]         bytes12 vaultId,
[codex:884905] 
[codex:884905] thinking
[codex:884905] **Continuing to review interfaces and libraries**
[codex:884905] exec
[codex:884905] /bin/bash -lc "sed -n '2400,2600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-lc27a1jl succeeded in 5ms:
[codex:884905] 
[codex:884905] ================================================================================
[codex:884905] FILE: contracts/@yield-protocol/vault-v2/src/interfaces/IOracle.sol
[codex:884905] ================================================================================
[codex:884905] // SPDX-License-Identifier: MIT
[codex:884905] pragma solidity ^0.8.0;
[codex:884905] 
[codex:884905] interface IOracle {
[codex:884905]     /**
[codex:884905]      * @notice Doesn't refresh the price, but returns the latest value available without doing any transactional operations
[codex:884905]      * @param base The asset in which the `amount` to be converted is represented
[codex:884905]      * @param quote The asset in which the converted `value` will be represented
[codex:884905]      * @param amount The amount to be converted from `base` to `quote`
[codex:884905]      * @return value The converted value of `amount` from `base` to `quote`
[codex:884905]      * @return updateTime The timestamp when the conversion price was taken
[codex:884905]      */
[codex:884905]     function peek(
[codex:884905]         bytes32 base,
[codex:884905]         bytes32 quote,
[codex:884905]         uint256 amount
[codex:884905] 
[codex:884905] thinking
[codex:884905] **Confirming bundle file end**
[codex:884905] exec
[codex:884905] /bin/bash -lc 'tail -n 20 AUDIT_BUNDLE.txt' in /tmp/codex-multi-lc27a1jl succeeded in 5ms:
[codex:884905]     function sellFYTokenPreview(uint128 fyTokenIn) external view returns(uint128);
[codex:884905]     function setFees(uint16 g1Fee_) external;
[codex:884905]     function sharesToken() external view returns(IERC20Metadata);
[codex:884905]     function ts() external view returns(int128);
[codex:884905]     function wrap(address receiver) external returns (uint256 shares);
[codex:884905]     function wrapPreview(uint256 assets) external view returns (uint256 shares);
[codex:884905]     function unwrap(address receiver) external returns (uint256 assets);
[codex:884905]     function unwrapPreview(uint256 shares) external view returns (uint256 assets);
[codex:884905]     /// Returns the max amount of FYTokens that can be sold to the pool
[codex:884905]     function maxFYTokenIn() external view returns (uint128) ;
[codex:884905]     /// Returns the max amount of FYTokens that can be bought from the pool
[codex:884905]     function maxFYTokenOut() external view returns (uint128) ;
[codex:884905]     /// Returns the max amount of Base that can be sold to the pool
[codex:884905]     function maxBaseIn() external view returns (uint128) ;
[codex:884905]     /// Returns the max amount of Base that can be bought from the pool
[codex:884905]     function maxBaseOut() external view returns (uint128);
[codex:884905]     /// Returns the result of the total supply invariant function
[codex:884905]     function invariant() external view returns (uint128);
[codex:884905] }
[codex:884905] 
[codex:884905] 
[codex:884905] 
[codex:884905] 
[codex:884905] thinking
[codex:884905] **Analyzing contract security and vulnerabilities**
[codex:884905] 
[codex:884905] I'm carefully reviewing key contracts like Strategy and ERC20Rewards for risks such as reentrancy, access control flaws, division by zero, and improper state updates around external calls. There are nuanced edge cases—like potential DoS via zero supply in mintDivested and subtle reentrancy paths involving token transfers—that I'm evaluating to distinguish real vulnerabilities from intended behavior. This deep dive balances contract logic, external calls, and role-based protections to understand where weaknesses might exist.
[codex:884905] thinking
[codex:884905] **Evaluating token caching and access nuances**
[codex:884905] 
[codex:884905] I'm examining how cached balances like poolCached and baseCached may desynchronize from actual token holdings, creating potential discrepancies in minting, burning, and buying logic. This includes considering fee-on-transfer tokens and whether direct token transfers to the contract can lead to unintended benefits or griefing. I’m also studying subtle access controls, function visibility, signature handling in permits, and how multiple inheritance might affect behavior across Strategy and migrator contracts. There’s a lot going on with careful edge cases to validate!
[codex:884905] thinking
[codex:884905] **Reviewing function access and external calls**
[codex:884905] exec
[codex:884905] /bin/bash -lc "rg -n \"delegatecall|call\\(|transfer\\(|safeTransfer\\(|permit\\(\" -S contracts/@yield-protocol/strategy-v2/src/Strategy.sol" in /tmp/codex-multi-lc27a1jl succeeded in 10ms:
[codex:884905] 145:        base.safeTransfer(address(pool_), baseCached_);
[codex:884905] 174:        pool_.safeTransfer(address(pool_), toDivest);
[codex:884905] 220:            pool_.safeTransfer(msg.sender, toDivest);
[codex:884905] 239:        pool_.safeTransfer(address(pool_), poolTokens);
[codex:884905] 277:        fyToken_.safeTransfer(fyTokenTo, soldFYToken);
[codex:884905] 279:            base.safeTransfer(baseTo, baseIn - soldFYToken);
[codex:884905] 299:    function call(address target, bytes calldata data) external auth returns (bytes memory) {
[codex:884905] 300:        (bool success, bytes memory returndata) = target.call(data);
[codex:884905] 352:        pool_.safeTransfer(address(to), poolTokensObtained);
[codex:884905] 393:        base.safeTransfer(to, baseObtained);
[codex:884905] 
[codex:884905] thinking
[codex:884905] **Checking for additional risky patterns**
[codex:884905] exec
[codex:884905] /bin/bash -lc 'rg -n "tx.origin|selfdestruct|suicide|delegatecall" -S contracts' in /tmp/codex-multi-lc27a1jl exited 1 in 14ms:
[codex:884905] 
[codex:884905] 
[codex:884905] Reconnecting... 1/5
[codex:884905] 
[codex:884905] 
[codex:884905] thinking
[codex:884905] **Analyzing potential vulnerabilities and key risks**
[codex:884905] thinking
[codex:884905] **Examining inheritance order and edge reinitialization cases**
[codex:884905] 
[codex:884905] I'll check how the multiple inheritance of AccessControl behaves in Strategy and ERC20Rewards to ensure constructors and storage are handled correctly. I’m also considering the edge case where total supply is zero but base tokens remain, which can brick the strategy by preventing reinitialization and new deposits. This might be a DoS if someone holds all tokens and burns them.
[codex:884905] exec
[codex:884905] /bin/bash -lc "nl -ba contracts/@yield-protocol/strategy-v2/src/Strategy.sol | sed -n '300,420p'" in /tmp/codex-multi-lc27a1jl succeeded in 7ms:
[codex:884905]    300	        (bool success, bytes memory returndata) = target.call(data);
[codex:884905]    301	        require(success, "Call failed");
[codex:884905]    302	        return returndata;
[codex:884905]    303	    }
[codex:884905]    304	
[codex:884905]    305	    // ----------------------- MINT & BURN --------------------------- //
[codex:884905]    306	
[codex:884905]    307	    /// @notice Mint strategy tokens with pool tokens. It can be called only when invested.
[codex:884905]    308	    /// @param to Recipient for the strategy tokens
[codex:884905]    309	    /// @return minted Amount of strategy tokens minted
[codex:884905]    310	    /// @notice The pool tokens that the user contributes need to have been transferred previously, using a batchable router.
[codex:884905]    311	    function mint(address to)
[codex:884905]    312	        external
[codex:884905]    313	        isState(State.INVESTED)
[codex:884905]    314	        returns (uint256 minted)
[codex:884905]    315	    {
[codex:884905]    316	        // Caching
[codex:884905]    317	        IPool pool_ = pool;
[codex:884905]    318	        uint256 poolCached_ = poolCached;
[codex:884905]    319	
[codex:884905] 
[codex:884905] thinking
[codex:884905] **Reviewing potential division by zero**
[codex:884905] exec
[codex:884905] /bin/bash -lc "nl -ba contracts/@yield-protocol/utils-v2/src/token/ERC20Permit.sol | sed -n '40,140p'" in /tmp/codex-multi-lc27a1jl succeeded in 7ms:
[codex:884905]     40	
[codex:884905]     41	    /// @dev Return the DOMAIN_SEPARATOR.
[codex:884905]     42	    function DOMAIN_SEPARATOR() external view returns (bytes32) {
[codex:884905]     43	        return block.chainid == deploymentChainId ? _DOMAIN_SEPARATOR : _calculateDomainSeparator(block.chainid);
[codex:884905]     44	    }
[codex:884905]     45	
[codex:884905]     46	    /// @dev Setting the version as a function so that it can be overriden
[codex:884905]     47	    function version() public pure virtual returns(string memory) { return "1"; }
[codex:884905]     48	
[codex:884905]     49	    /**
[codex:884905]     50	     * @dev See {IERC2612-permit}.
[codex:884905]     51	     *
[codex:884905]     52	     * In cases where the free option is not a concern, deadline can simply be
[codex:884905]     53	     * set to uint(-1), so it should be seen as an optional parameter
[codex:884905]     54	     */
[codex:884905]     55	    function permit(address owner, address spender, uint256 amount, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external virtual override {
[codex:884905]     56	        require(deadline >= block.timestamp, "ERC20Permit: expired deadline");
[codex:884905]     57	
[codex:884905]     58	        bytes32 hashStruct = keccak256(
[codex:884905]     59	            abi.encode(
[codex:884905] 
[codex:884905] thinking
[codex:884905] **Composing vulnerability report findings**
[codex:884905] codex
[codex:884905] {"no_findings":false,"summary":"Found two issues: a zero-supply division-by-zero edge case that can permanently halt new deposits, and a permit signature malleability gap in ERC20Permit.","findings":[{"severity":"low","category":"math","title":"Strategy can be permanently bricked after total supply hits zero (division by zero on mint/burn paths)","exploit_scenario":"If all strategy tokens are burned (e.g., the last LP exits), `_totalSupply` becomes 0 and `baseCached`/`poolCached` can also become 0. Any later `mint`/`mintDivested` call will revert on division by zero, preventing new deposits and effectively bricking the strategy. A malicious or simply last LP can trigger this by withdrawing all liquidity, leaving the strategy unusable for future users.","recommendation":"Add explicit zero-supply handling: if `_totalSupply == 0`, mint 1:1 to deposit (and initialize cached values), or allow a guarded re-initialization path. Also guard divisions by ensuring cached balances are nonzero before dividing.","evidence":"Share minting uses cached balances as denominators without zero checks.","locations":["contracts/@yield-protocol/strategy-v2/src/Strategy.sol:329","contracts/@yield-protocol/strategy-v2/src/Strategy.sol:372","contracts/@yield-protocol/strategy-v2/src/Strategy.sol:351","contracts/@yield-protocol/strategy-v2/src/Strategy.sol:389"]},{"severity":"low","category":"auth","title":"ERC20Permit does not enforce EIP-2 lower‑s / v range checks (signature malleability)","exploit_scenario":"An attacker who observes a valid permit signature can derive a second, malleable signature for the same message and front‑run the permit. While nonces prevent multiple uses, this breaks strict signature uniqueness and can complicate off‑chain logic or signature tracking.","recommendation":"Validate `v` is 27/28 and require `s` to be in the lower half‑order (per EIP-2) before accepting the signature, or use OpenZeppelin’s `ECDSA.recover` helpers.","evidence":"`permit` accepts any `(v, r, s)` that recovers the owner without enforcing lower‑s or v range checks.","locations":["contracts/@yield-protocol/utils-v2/src/token/ERC20Permit.sol:55"]}]}
[codex:884905] tokens used
[codex:884905] 47,476
[codex:884905] {"no_findings":false,"summary":"Found two issues: a zero-supply division-by-zero edge case that can permanently halt new deposits, and a permit signature malleability gap in ERC20Permit.","findings":[{"severity":"low","category":"math","title":"Strategy can be permanently bricked after total supply hits zero (division by zero on mint/burn paths)","exploit_scenario":"If all strategy tokens are burned (e.g., the last LP exits), `_totalSupply` becomes 0 and `baseCached`/`poolCached` can also become 0. Any later `mint`/`mintDivested` call will revert on division by zero, preventing new deposits and effectively bricking the strategy. A malicious or simply last LP can trigger this by withdrawing all liquidity, leaving the strategy unusable for future users.","recommendation":"Add explicit zero-supply handling: if `_totalSupply == 0`, mint 1:1 to deposit (and initialize cached values), or allow a guarded re-initialization path. Also guard divisions by ensuring cached balances are nonzero before dividing.","evidence":"Share minting uses cached balances as denominators without zero checks.","locations":["contracts/@yield-protocol/strategy-v2/src/Strategy.sol:329","contracts/@yield-protocol/strategy-v2/src/Strategy.sol:372","contracts/@yield-protocol/strategy-v2/src/Strategy.sol:351","contracts/@yield-protocol/strategy-v2/src/Strategy.sol:389"]},{"severity":"low","category":"auth","title":"ERC20Permit does not enforce EIP-2 lower‑s / v range checks (signature malleability)","exploit_scenario":"An attacker who observes a valid permit signature can derive a second, malleable signature for the same message and front‑run the permit. While nonces prevent multiple uses, this breaks strict signature uniqueness and can complicate off‑chain logic or signature tracking.","recommendation":"Validate `v` is 27/28 and require `s` to be in the lower half‑order (per EIP-2) before accepting the signature, or use OpenZeppelin’s `ECDSA.recover` helpers.","evidence":"`permit` accepts any `(v, r, s)` that recovers the owner without enforcing lower‑s or v range checks.","locations":["contracts/@yield-protocol/utils-v2/src/token/ERC20Permit.sol:55"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-30T14:22:30.091063+00:00",
        "returncode": 0
    },
    "summary": "Found two issues: a zero-supply division-by-zero edge case that can permanently halt new deposits, and a permit signature malleability gap in ERC20Permit.",
    "raw_final": {
        "summary": "Found two issues: a zero-supply division-by-zero edge case that can permanently halt new deposits, and a permit signature malleability gap in ERC20Permit.",
        "findings": [
            {
                "title": "Strategy can be permanently bricked after total supply hits zero (division by zero on mint/burn paths)",
                "category": "math",
                "evidence": "Share minting uses cached balances as denominators without zero checks.",
                "severity": "low",
                "locations": [
                    "contracts/@yield-protocol/strategy-v2/src/Strategy.sol:329",
                    "contracts/@yield-protocol/strategy-v2/src/Strategy.sol:372",
                    "contracts/@yield-protocol/strategy-v2/src/Strategy.sol:351",
                    "contracts/@yield-protocol/strategy-v2/src/Strategy.sol:389"
                ],
                "recommendation": "Add explicit zero-supply handling: if `_totalSupply == 0`, mint 1:1 to deposit (and initialize cached values), or allow a guarded re-initialization path. Also guard divisions by ensuring cached balances are nonzero before dividing.",
                "exploit_scenario": "If all strategy tokens are burned (e.g., the last LP exits), `_totalSupply` becomes 0 and `baseCached`/`poolCached` can also become 0. Any later `mint`/`mintDivested` call will revert on division by zero, preventing new deposits and effectively bricking the strategy. A malicious or simply last LP can trigger this by withdrawing all liquidity, leaving the strategy unusable for future users."
            },
            {
                "title": "ERC20Permit does not enforce EIP-2 lower\u2011s / v range checks (signature malleability)",
                "category": "auth",
                "evidence": "`permit` accepts any `(v, r, s)` that recovers the owner without enforcing lower\u2011s or v range checks.",
                "severity": "low",
                "locations": [
                    "contracts/@yield-protocol/utils-v2/src/token/ERC20Permit.sol:55"
                ],
                "recommendation": "Validate `v` is 27/28 and require `s` to be in the lower half\u2011order (per EIP-2) before accepting the signature, or use OpenZeppelin\u2019s `ECDSA.recover` helpers.",
                "exploit_scenario": "An attacker who observes a valid permit signature can derive a second, malleable signature for the same message and front\u2011run the permit. While nonces prevent multiple uses, this breaks strict signature uniqueness and can complicate off\u2011chain logic or signature tracking."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
2
Selfdestruct
0
CREATE2
2
CALL-family (heavy)
26
EXT*/BALANCE
1
Total opcodes
10228
Flags
delegatecall_present create_opcodes_present call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLVALUE
00000006: DUP1
00000007: ISZERO
00000008: PUSH2 0x0010
0000000b: JUMPI
0000000c: PUSH1 0x00
0000000e: DUP1
0000000f: REVERT
00000010: JUMPDEST
00000011: POP
00000012: PUSH1 0x04
00000014: CALLDATASIZE
00000015: LT
00000016: PUSH2 0x02fe
00000019: JUMPI
0000001a: PUSH1 0x00
0000001c: CALLDATALOAD
0000001d: PUSH1 0xe0
0000001f: SHR
00000020: DUP1
00000021: PUSH4 0x687f0e4c
00000026: GT
00000027: PUSH2 0x019e
0000002a: JUMPI
0000002b: DUP1
0000002c: PUSH4 0xae93c1b5
00000031: GT
00000032: PUSH2 0x00ef
00000035: JUMPI
00000036: DUP1
00000037: PUSH4 0xd7020d0a
0000003c: GT
0000003d: PUSH2 0x009d
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0xd7020d0a
00000047: EQ
00000048: PUSH2 0x07eb
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0xdc3bfba9
00000052: EQ
00000053: PUSH2 0x07f9
00000056: JUMPI
00000057: DUP1
00000058: PUSH4 0xdd62ed3e
0000005d: EQ
0000005e: PUSH2 0x080c
00000061: JUMPI
00000062: DUP1
00000063: PUSH4 0xde02cde7
00000068: EQ
00000069: PUSH2 0x0845
0000006c: JUMPI
0000006d: DUP1
0000006e: PUSH4 0xde320cc1
00000073: EQ
00000074: PUSH2 0x0858
00000077: JUMPI
00000078: DUP1
00000079: PUSH4 0xeffae353
0000007e: EQ
0000007f: PUSH2 0x086b
00000082: JUMPI
00000083: DUP1
00000084: PUSH4 0xf8f80017
00000089: EQ
0000008a: PUSH2 0x087e
0000008d: JUMPI
0000008e: DUP1
0000008f: PUSH4 0xffffffff
00000094: EQ
00000095: PUSH2 0x070f
00000098: JUMPI
00000099: PUSH1 0x00
0000009b: DUP1
0000009c: REVERT
0000009d: JUMPDEST
0000009e: DUP1
0000009f: PUSH4 0xae93c1b5
000000a4: EQ
000000a5: PUSH2 0x0744
000000a8: JUMPI
000000a9: DUP1
000000aa: PUSH4 0xafeba119
000000af: EQ
000000b0: PUSH2 0x0757
000000b3: JUMPI
000000b4: DUP1
000000b5: PUSH4 0xc19d93fb
000000ba: EQ
000000bb: PUSH2 0x076a
000000be: JUMPI
000000bf: DUP1
000000c0: PUSH4 0xcd0d0096
000000c5: EQ
000000c6: PUSH2 0x078b
000000c9: JUMPI
000000ca: DUP1
000000cb: PUSH4 0xd1af0c7d
000000d0: EQ
000000d1: PUSH2 0x07b2
000000d4: JUMPI
000000d5: DUP1
000000d6: PUSH4 0xd505accf
000000db: EQ
000000dc: PUSH2 0x07c5
000000df: JUMPI
000000e0: DUP1
000000e1: PUSH4 0xd51c2828
000000e6: EQ
000000e7: PUSH2 0x07d8
000000ea: JUMPI
000000eb: PUSH1 0x00
000000ed: DUP1
000000ee: REVERT
000000ef: JUMPDEST
000000f0: DUP1
000000f1: PUSH4 0x95d89b41
000000f6: GT
000000f7: PUSH2 0x014c
000000fa: JUMPI
000000fb: DUP1
000000fc: PUSH4 0x95d89b41
00000101: EQ
00000102: PUSH2 0x06d8
00000105: JUMPI
00000106: DUP1
00000107: PUSH4 0x97f980c3
0000010c: EQ
0000010d: PUSH2 0x06e0
00000110: JUMPI
00000111: DUP1
00000112: PUSH4 0x9d5cf374
00000117: EQ
00000118: PUSH2 0x06f3
0000011b: JUMPI
0000011c: DUP1
0000011d: PUSH4 0xa354f39e
00000122: EQ
00000123: PUSH2 0x06fc
00000126: JUMPI
00000127: DUP1
00000128: PUSH4 0xa4f0d7d0
0000012d: EQ
0000012e: PUSH2 0x070f
00000131: JUMPI
00000132: DUP1
00000133: PUSH4 0xa9059cbb
00000138: EQ
00000139: PUSH2 0x071e
0000013c: JUMPI
0000013d: DUP1
0000013e: PUSH4 0xad82110f
00000143: EQ
00000144: PUSH2 0x0731
00000147: JUMPI
00000148: PUSH1 0x00
0000014a: DUP1
0000014b: REVERT
0000014c: JUMPDEST
0000014d: DUP1
0000014e: PUSH4 0x687f0e4c
00000153: EQ
00000154: PUSH2 0x05e8
00000157: JUMPI
00000158: DUP1
00000159: PUSH4 0x6a627842
0000015e: EQ
0000015f: PUSH2 0x05fb
00000162: JUMPI
00000163: DUP1
00000164: PUSH4 0x70641a36
00000169: EQ
0000016a: PUSH2 0x060e
0000016d: JUMPI
0000016e: DUP1
0000016f: PUSH4 0x70a08231
00000174: EQ
00000175: PUSH2 0x0674
00000178: JUMPI
00000179: DUP1
0000017a: PUSH4 0x7ecebe00
0000017f: EQ
00000180: PUSH2 0x069d
00000183: JUMPI
00000184: DUP1
00000185: PUSH4 0x82e94ac5
0000018a: EQ
0000018b: PUSH2 0x06bd
0000018e: JUMPI
0000018f: DUP1
00000190: PUSH4 0x89afcb44
00000195: EQ
00000196: PUSH2 0x06c5
00000199: JUMPI
0000019a: PUSH1 0x00
0000019c: DUP1
0000019d: REVERT
0000019e: JUMPDEST
0000019f: DUP1
000001a0: PUSH4 0x23b872dd
000001a5: GT
000001a6: PUSH2 0x0258
000001a9: JUMPI
000001aa: DUP1
000001ab: PUSH4 0x54fd4d50
000001b0: GT
000001b1: PUSH2 0x0206
000001b4: JUMPI
000001b5: DUP1
000001b6: PUSH4 0x54fd4d50
000001bb: EQ
000001bc: PUSH2 0x0576
000001bf: JUMPI
000001c0: DUP1
000001c1: PUSH4 0x559742d9
000001c6: EQ
000001c7: PUSH2 0x057e
000001ca: JUMPI
000001cb: DUP1
000001cc: PUSH4 0x58969ab9
000001d1: EQ
000001d2: PUSH2 0x0591
000001d5: JUMPI
000001d6: DUP1
000001d7: PUSH4 0x5909c12f
000001dc: EQ
000001dd: PUSH2 0x0303
000001e0: JUMPI
000001e1: DUP1
000001e2: PUSH4 0x592db8b1
000001e7: EQ
000001e8: PUSH2 0x05b9
000001eb: JUMPI
000001ec: DUP1
000001ed: PUSH4 0x5ba5e9f0
000001f2: EQ
000001f3: PUSH2 0x05c2
000001f6: JUMPI
000001f7: DUP1
000001f8: PUSH4 0x5c859956
000001fd: EQ
000001fe: PUSH2 0x05d5
00000201: JUMPI
00000202: PUSH1 0x00
00000204: DUP1
00000205: REVERT
00000206: JUMPDEST
00000207: DUP1
00000208: PUSH4 0x23b872dd
0000020d: EQ
0000020e: PUSH2 0x04a1
00000211: JUMPI
00000212: DUP1
00000213: PUSH4 0x26ae2b78
00000218: EQ
00000219: PUSH2 0x04b4
0000021c: JUMPI
0000021d: DUP1
0000021e: PUSH4 0x30adf81f
00000223: EQ
00000224: PUSH2 0x04ec
00000227: JUMPI
00000228: DUP1
00000229: PUSH4 0x313ce567
0000022e: EQ
0000022f: PUSH2 0x0513
00000232: JUMPI
00000233: DUP1
00000234: PUSH4 0x3644e515
00000239: EQ
0000023a: PUSH2 0x0532
0000023d: JUMPI
0000023e: DUP1
0000023f: PUSH4 0x44faded0
00000244: EQ
00000245: PUSH2 0x053a
00000248: JUMPI
00000249: DUP1
0000024a: PUSH4 0x5001f3b5
0000024f: EQ
00000250: PUSH2 0x054f
00000253: JUMPI
00000254: PUSH1 0x00
00000256: DUP1
00000257: REVERT
00000258: JUMPDEST
00000259: DUP1
0000025a: PUSH4 0x16f0115b
0000025f: GT
00000260: PUSH2 0x02b5
00000263: JUMPI
00000264: DUP1
00000265: PUSH4 0x16f0115b
0000026a: EQ
0000026b: PUSH2 0x03f1
0000026e: JUMPI
0000026f: DUP1
00000270: PUSH4 0x18160ddd
00000275: EQ
00000276: PUSH2 0x0411
00000279: JUMPI
0000027a: DUP1
0000027b: PUSH4 0x19ab453c
00000280: EQ
00000281: PUSH2 0x0419
00000284: JUMPI
00000285: DUP1
00000286: PUSH4 0x1b8b921d
0000028b: EQ
0000028c: PUSH2 0x0447
0000028f: JUMPI
00000290: DUP1
00000291: PUSH4 0x1e83409a
00000296: EQ
00000297: PUSH2 0x045a
0000029a: JUMPI
0000029b: DUP1
0000029c: PUSH4 0x1ef3755d
000002a1: EQ
000002a2: PUSH2 0x046d
000002a5: JUMPI
000002a6: DUP1
000002a7: PUSH4 0x204f83f9
000002ac: EQ
000002ad: PUSH2 0x0475
000002b0: JUMPI
000002b1: PUSH1 0x00
000002b3: DUP1
000002b4: REVERT
000002b5: JUMPDEST
000002b6: DUP1
000002b7: ISZERO
000002b8: PUSH2 0x0303
000002bb: JUMPI
000002bc: DUP1
000002bd: PUSH4 0x03f9c793
000002c2: EQ
000002c3: PUSH2 0x0329
000002c6: JUMPI
000002c7: DUP1
000002c8: PUSH4 0x058aace1
000002cd: EQ
000002ce: PUSH2 0x034a
000002d1: JUMPI
000002d2: DUP1
000002d3: PUSH4 0x06fdde03
000002d8: EQ
000002d9: PUSH2 0x0352
000002dc: JUMPI
000002dd: DUP1
000002de: PUSH4 0x0700037d
000002e3: EQ
000002e4: PUSH2 0x0367
000002e7: JUMPI
000002e8: DUP1
000002e9: PUSH4 0x095ea7b3
000002ee: EQ
000002ef: PUSH2 0x03bb
000002f2: JUMPI
000002f3: DUP1
000002f4: PUSH4 0x10ab9432
000002f9: EQ
000002fa: PUSH2 0x03de
000002fd: JUMPI
000002fe: JUMPDEST
000002ff: PUSH1 0x00
00000301: DUP1
00000302: REVERT
00000303: JUMPDEST
00000304: PUSH2 0x030b
00000307: PUSH1 0x00
00000309: DUP2
0000030a: JUMP
0000030b: JUMPDEST
0000030c: PUSH1 0x40
0000030e: MLOAD
0000030f: PUSH1 0x01
00000311: PUSH1 0x01
00000313: PUSH1 0xe0
00000315: SHL
00000316: SUB
00000317: NOT
00000318: SWAP1
00000319: SWAP2
0000031a: AND
0000031b: DUP2
0000031c: MSTORE
0000031d: PUSH1 0x20
0000031f: ADD
00000320: JUMPDEST
00000321: PUSH1 0x40
00000323: MLOAD
00000324: DUP1
00000325: SWAP2
00000326: SUB
00000327: SWAP1
00000328: RETURN
00000329: JUMPDEST
0000032a: PUSH2 0x033c
0000032d: PUSH2 0x0337
00000330: CALLDATASIZE
00000331: PUSH1 0x04
00000333: PUSH2 0x3641
00000336: JUMP
00000337: JUMPDEST
00000338: PUSH2 0x0887
0000033b: JUMP
0000033c: JUMPDEST
0000033d: PUSH1 0x40
0000033f: MLOAD
00000340: SWAP1
00000341: DUP2
00000342: MSTORE
00000343: PUSH1 0x20
00000345: ADD
00000346: PUSH2 0x0320
00000349: JUMP
0000034a: JUMPDEST
0000034b: PUSH2 0x033c
0000034e: PUSH2 0x0c22
00000351: JUMP
00000352: JUMPDEST
00000353: PUSH2 0x035a
00000356: PUSH2 0x0f45
00000359: JUMP
0000035a: JUMPDEST
0000035b: PUSH1 0x40
0000035d: MLOAD
0000035e: PUSH2 0x0320
00000361: SWAP2
00000362: SWAP1
00000363: PUSH2 0x36ba
00000366: JUMP
00000367: JUMPDEST
00000368: PUSH2 0x039b
0000036b: PUSH2 0x0375
0000036e: CALLDATASIZE
0000036f: PUSH1 0x04
00000371: PUSH2 0x3641
00000374: JUMP
00000375: JUMPDEST
00000376: PUSH1 0x0b
00000378: PUSH1 0x20
0000037a: MSTORE
0000037b: PUSH1 0x00
0000037d: SWAP1
0000037e: DUP2
0000037f: MSTORE
00000380: PUSH1 0x40
00000382: SWAP1
00000383: KECCAK256
00000384: SLOAD
00000385: PUSH1 0x01
00000387: PUSH1 0x01
00000389: PUSH1 0x80
0000038b: SHL
0000038c: SUB
0000038d: DUP1
0000038e: DUP3
0000038f: AND
00000390: SWAP2
00000391: PUSH1 0x01
00000393: PUSH1 0x80
00000395: SHL
00000396: SWAP1
00000397: DIV
00000398: AND
00000399: DUP3
0000039a: JUMP
0000039b: JUMPDEST
0000039c: PUSH1 0x40
0000039e: DUP1
0000039f: MLOAD
000003a0: PUSH1 0x01
000003a2: PUSH1 0x01
000003a4: PUSH1 0x80
000003a6: SHL
000003a7: SUB
000003a8: SWAP4
000003a9: DUP5
000003aa: AND
000003ab: DUP2
000003ac: MSTORE
000003ad: SWAP3
000003ae: SWAP1
000003af: SWAP2
000003b0: AND
000003b1: PUSH1 0x20
000003b3: DUP4
000003b4: ADD
000003b5: MSTORE
000003b6: ADD
000003b7: PUSH2 0x0320
000003ba: JUMP
000003bb: JUMPDEST
000003bc: PUSH2 0x03ce
000003bf: PUSH2 0x03c9
000003c2: CALLDATASIZE
000003c3: PUSH1 0x04
000003c5: PUSH2 0x36dd
000003c8: JUMP
000003c9: JUMPDEST
000003ca: PUSH2 0x0fd3
000003cd: JUMP
000003ce: JUMPDEST
000003cf: PUSH1 0x40
000003d1: MLOAD
000003d2: SWAP1
000003d3: ISZERO
000003d4: ISZERO
000003d5: DUP2
000003d6: MSTORE
000003d7: PUSH1 0x20
000003d9: ADD
000003da: PUSH2 0x0320
000003dd: JUMP
000003de: JUMPDEST
000003df: PUSH2 0x03ce
000003e2: PUSH2 0x03ec
000003e5: CALLDATASIZE
000003e6: PUSH1 0x04
000003e8: PUSH2 0x3721
000003eb: JUMP
000003ec: JUMPDEST
000003ed: PUSH2 0x0fe7
000003f0: JUMP
000003f1: JUMPDEST
000003f2: PUSH1 0x0d
000003f4: SLOAD
000003f5: PUSH2 0x0404
000003f8: SWAP1
000003f9: PUSH1 0x01
000003fb: PUSH1 0x01
000003fd: PUSH1 0xa0
000003ff: SHL
00000400: SUB
00000401: AND
00000402: DUP2
00000403: JUMP
00000404: JUMPDEST
00000405: PUSH1 0x40
00000407: MLOAD
00000408: PUSH2 0x0320
0000040b: SWAP2
0000040c: SWAP1
0000040d: PUSH2 0x3758
00000410: JUMP
00000411: JUMPDEST
00000412: PUSH1 0x01
00000414: SLOAD
00000415: PUSH2 0x033c
00000418: JUMP
00000419: JUMPDEST
0000041a: PUSH2 0x042c
0000041d: PUSH2 0x0427
00000420: CALLDATASIZE
00000421: PUSH1 0x04
00000423: PUSH2 0x3641
00000426: JUMP
00000427: JUMPDEST
00000428: PUSH2 0x0ff3
0000042b: JUMP
0000042c: JUMPDEST
0000042d: PUSH1 0x40
0000042f: DUP1
00000430: MLOAD
00000431: SWAP4
00000432: DUP5
00000433: MSTORE
00000434: PUSH1 0x20
00000436: DUP5
00000437: ADD
00000438: SWAP3
00000439: SWAP1
0000043a: SWAP3
0000043b: MSTORE
0000043c: SWAP1
0000043d: DUP3
0000043e: ADD
0000043f: MSTORE
00000440: PUSH1 0x60
00000442: ADD
00000443: PUSH2 0x0320
00000446: JUMP
00000447: JUMPDEST
00000448: PUSH2 0x035a
0000044b: PUSH2 0x0455
0000044e: CALLDATASIZE
0000044f: PUSH1 0x04
00000451: PUSH2 0x376c
00000454: JUMP
00000455: JUMPDEST
00000456: PUSH2 0x1041
00000459: JUMP
0000045a: JUMPDEST
0000045b: PUSH2 0x033c
0000045e: PUSH2 0x0468
00000461: CALLDATASIZE
00000462: PUSH1 0x04
00000464: PUSH2 0x3641
00000467: JUMP
00000468: JUMPDEST
00000469: PUSH2 0x111d
0000046c: JUMP
0000046d: JUMPDEST
0000046e: PUSH2 0x033c
00000471: PUSH2 0x112f
00000474: JUMP
00000475: JUMPDEST
00000476: PUSH1 0x0c
00000478: SLOAD
00000479: PUSH2 0x048c
0000047c: SWAP1
0000047d: PUSH1 0x01
0000047f: PUSH1 0xa0
00000481: SHL
00000482: SWAP1
00000483: DIV
00000484: PUSH4 0xffffffff
00000489: AND
0000048a: DUP2
0000048b: JUMP
0000048c: JUMPDEST
0000048d: PUSH1 0x40
0000048f: MLOAD
00000490: PUSH4 0xffffffff
00000495: SWAP1
00000496: SWAP2
00000497: AND
00000498: DUP2
00000499: MSTORE
0000049a: PUSH1 0x20
0000049c: ADD
0000049d: PUSH2 0x0320
000004a0: JUMP
000004a1: JUMPDEST
000004a2: PUSH2 0x03ce
000004a5: PUSH2 0x04af
000004a8: CALLDATASIZE
000004a9: PUSH1 0x04
000004ab: PUSH2 0x37f1
000004ae: JUMP
000004af: JUMPDEST
000004b0: PUSH2 0x12c4
000004b3: JUMP
000004b4: JUMPDEST
000004b5: PUSH1 0x09
000004b7: SLOAD
000004b8: PUSH2 0x04cf
000004bb: SWAP1
000004bc: PUSH4 0xffffffff
000004c1: DUP1
000004c2: DUP3
000004c3: AND
000004c4: SWAP2
000004c5: PUSH1 0x01
000004c7: PUSH1 0x20
000004c9: SHL
000004ca: SWAP1
000004cb: DIV
000004cc: AND
000004cd: DUP3
000004ce: JUMP
000004cf: JUMPDEST
000004d0: PUSH1 0x40
000004d2: DUP1
000004d3: MLOAD
000004d4: PUSH4 0xffffffff
000004d9: SWAP4
000004da: DUP5
000004db: AND
000004dc: DUP2
000004dd: MSTORE
000004de: SWAP3
000004df: SWAP1
000004e0: SWAP2
000004e1: AND
000004e2: PUSH1 0x20
000004e4: DUP4
000004e5: ADD
000004e6: MSTORE
000004e7: ADD
000004e8: PUSH2 0x0320
000004eb: JUMP
000004ec: JUMPDEST
000004ed: PUSH2 0x033c
000004f0: PUSH32 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9
00000511: DUP2
00000512: JUMP
00000513: JUMPDEST
00000514: PUSH1 0x06
00000516: SLOAD
00000517: PUSH2 0x0520
0000051a: SWAP1
0000051b: PUSH1 0xff
0000051d: AND
0000051e: DUP2
0000051f: JUMP
00000520: JUMPDEST
00000521: PUSH1 0x40
00000523: MLOAD
00000524: PUSH1 0xff
00000526: SWAP1
00000527: SWAP2
00000528: AND
00000529: DUP2
0000052a: MSTORE
0000052b: PUSH1 0x20
0000052d: ADD
0000052e: PUSH2 0x0320
00000531: JUMP
00000532: JUMPDEST
00000533: PUSH2 0x033c
00000536: PUSH2 0x12e4
00000539: JUMP
0000053a: JUMPDEST
0000053b: PUSH2 0x054d
0000053e: PUSH2 0x0548
00000541: CALLDATASIZE
00000542: PUSH1 0x04
00000544: PUSH2 0x3721
00000547: JUMP
00000548: JUMPDEST
00000549: PUSH2 0x1340
0000054c: JUMP
0000054d: JUMPDEST
0000054e: STOP
0000054f: JUMPDEST
00000550: PUSH2 0x0404
00000553: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000574: DUP2
00000575: JUMP
00000576: JUMPDEST
00000577: PUSH2 0x035a
0000057a: PUSH2 0x137e
0000057d: JUMP
0000057e: JUMPDEST
0000057f: PUSH2 0x054d
00000582: PUSH2 0x058c
00000585: CALLDATASIZE
00000586: PUSH1 0x04
00000588: PUSH2 0x3832
0000058b: JUMP
0000058c: JUMPDEST
0000058d: PUSH2 0x1399
00000590: JUMP
00000591: JUMPDEST
00000592: PUSH2 0x05a4
00000595: PUSH2 0x059f
00000598: CALLDATASIZE
00000599: PUSH1 0x04
0000059b: PUSH2 0x36dd
0000059e: JUMP
0000059f: JUMPDEST
000005a0: PUSH2 0x13d8
000005a3: JUMP
000005a4: JUMPDEST
000005a5: PUSH1 0x40
000005a7: DUP1
000005a8: MLOAD
000005a9: SWAP3
000005aa: DUP4
000005ab: MSTORE
000005ac: PUSH1 0x20
000005ae: DUP4
000005af: ADD
000005b0: SWAP2
000005b1: SWAP1
000005b2: SWAP2
000005b3: MSTORE
000005b4: ADD
000005b5: PUSH2 0x0320
000005b8: JUMP
000005b9: JUMPDEST
000005ba: PUSH2 0x033c
000005bd: PUSH1 0x10
000005bf: SLOAD
000005c0: DUP2
000005c1: JUMP
000005c2: JUMPDEST
000005c3: PUSH2 0x030b
000005c6: PUSH2 0x05d0
000005c9: CALLDATASIZE
000005ca: PUSH1 0x04
000005cc: PUSH2 0x3832
000005cf: JUMP
000005d0: JUMPDEST
000005d1: PUSH2 0x175f
000005d4: JUMP
000005d5: JUMPDEST
000005d6: PUSH2 0x05a4
000005d9: PUSH2 0x05e3
000005dc: CALLDATASIZE
000005dd: PUSH1 0x04
000005df: PUSH2 0x384d
000005e2: JUMP
000005e3: JUMPDEST
000005e4: PUSH2 0x176a
000005e7: JUMP
000005e8: JUMPDEST
000005e9: PUSH2 0x054d
000005ec: PUSH2 0x05f6
000005ef: CALLDATASIZE
000005f0: PUSH1 0x04
000005f2: PUSH2 0x3721
000005f5: JUMP
000005f6: JUMPDEST
000005f7: PUSH2 0x1985
000005fa: JUMP
000005fb: JUMPDEST
000005fc: PUSH2 0x033c
000005ff: PUSH2 0x0609
00000602: CALLDATASIZE
00000603: PUSH1 0x04
00000605: PUSH2 0x3641
00000608: JUMP
00000609: JUMPDEST
0000060a: PUSH2 0x19e0
0000060d: JUMP
0000060e: JUMPDEST
0000060f: PUSH1 0x0a
00000611: SLOAD
00000612: PUSH2 0x0641
00000615: SWAP1
00000616: PUSH1 0x01
00000618: PUSH1 0x01
0000061a: PUSH1 0x80
0000061c: SHL
0000061d: SUB
0000061e: DUP2
0000061f: AND
00000620: SWAP1
00000621: PUSH1 0x01
00000623: PUSH1 0x80
00000625: SHL
00000626: DUP2
00000627: DIV
00000628: PUSH4 0xffffffff
0000062d: AND
0000062e: SWAP1
0000062f: PUSH1 0x01
00000631: PUSH1 0xa0
00000633: SHL
00000634: SWAP1
00000635: DIV
00000636: PUSH1 0x01
00000638: PUSH1 0x01
0000063a: PUSH1 0x60
0000063c: SHL
0000063d: SUB
0000063e: AND
0000063f: DUP4
00000640: JUMP
00000641: JUMPDEST
00000642: PUSH1 0x40
00000644: DUP1
00000645: MLOAD
00000646: PUSH1 0x01
00000648: PUSH1 0x01
0000064a: PUSH1 0x80
0000064c: SHL
0000064d: SUB
0000064e: SWAP1
0000064f: SWAP5
00000650: AND
00000651: DUP5
00000652: MSTORE
00000653: PUSH4 0xffffffff
00000658: SWAP1
00000659: SWAP3
0000065a: AND
0000065b: PUSH1 0x20
0000065d: DUP5
0000065e: ADD
0000065f: MSTORE
00000660: PUSH1 0x01
00000662: PUSH1 0x01
00000664: PUSH1 0x60
00000666: SHL
00000667: SUB
00000668: AND
00000669: SWAP1
0000066a: DUP3
0000066b: ADD
0000066c: MSTORE
0000066d: PUSH1 0x60
0000066f: ADD
00000670: PUSH2 0x0320
00000673: JUMP
00000674: JUMPDEST
00000675: PUSH2 0x033c
00000678: PUSH2 0x0682
0000067b: CALLDATASIZE
0000067c: PUSH1 0x04
0000067e: PUSH2 0x3641
00000681: JUMP
00000682: JUMPDEST
00000683: PUSH1 0x01
00000685: PUSH1 0x01
00000687: PUSH1 0xa0
00000689: SHL
0000068a: SUB
0000068b: AND
0000068c: PUSH1 0x00
0000068e: SWAP1
0000068f: DUP2
00000690: MSTORE
00000691: PUSH1 0x02
00000693: PUSH1 0x20
00000695: MSTORE
00000696: PUSH1 0x40
00000698: SWAP1
00000699: KECCAK256
0000069a: SLOAD
0000069b: SWAP1
0000069c: JUMP
0000069d: JUMPDEST
0000069e: PUSH2 0x033c
000006a1: PUSH2 0x06ab
000006a4: CALLDATASIZE
000006a5: PUSH1 0x04
000006a7: PUSH2 0x3641
000006aa: JUMP
000006ab: JUMPDEST
000006ac: PUSH1 0x07
000006ae: PUSH1 0x20
000006b0: MSTORE
000006b1: PUSH1 0x00
000006b3: SWAP1
000006b4: DUP2
000006b5: MSTORE
000006b6: PUSH1 0x40
000006b8: SWAP1
000006b9: KECCAK256
000006ba: SLOAD
000006bb: DUP2
000006bc: JUMP
000006bd: JUMPDEST
000006be: PUSH2 0x05a4
000006c1: PUSH2 0x1af7
000006c4: JUMP
000006c5: JUMPDEST
000006c6: PUSH2 0x033c
000006c9: PUSH2 0x06d3
000006cc: CALLDATASIZE
000006cd: PUSH1 0x04
000006cf: PUSH2 0x3641
000006d2: JUMP
000006d3: JUMPDEST
000006d4: PUSH2 0x1d7f
000006d7: JUMP
000006d8: JUMPDEST
000006d9: PUSH2 0x035a
000006dc: PUSH2 0x1e46
000006df: JUMP
000006e0: JUMPDEST
000006e1: PUSH2 0x033c
000006e4: PUSH2 0x06ee
000006e7: CALLDATASIZE
000006e8: PUSH1 0x04
000006ea: PUSH2 0x3641
000006ed: JUMP
000006ee: JUMPDEST
000006ef: PUSH2 0x1e53
000006f2: JUMP
000006f3: JUMPDEST
000006f4: PUSH2 0x033c
000006f7: PUSH1 0x0f
000006f9: SLOAD
000006fa: DUP2
000006fb: JUMP
000006fc: JUMPDEST
000006fd: PUSH2 0x054d
00000700: PUSH2 0x070a
00000703: CALLDATASIZE
00000704: PUSH1 0x04
00000706: PUSH2 0x387d
00000709: JUMP
0000070a: JUMPDEST
0000070b: PUSH2 0x1f26
0000070e: JUMP
0000070f: JUMPDEST
00000710: PUSH2 0x030b
00000713: PUSH1 0x01
00000715: PUSH1 0x01
00000717: PUSH1 0xe0
00000719: SHL
0000071a: SUB
0000071b: NOT
0000071c: DUP2
0000071d: JUMP
0000071e: JUMPDEST
0000071f: PUSH2 0x03ce
00000722: PUSH2 0x072c
00000725: CALLDATASIZE
00000726: PUSH1 0x04
00000728: PUSH2 0x36dd
0000072b: JUMP
0000072c: JUMPDEST
0000072d: PUSH2 0x2125
00000730: JUMP
00000731: JUMPDEST
00000732: PUSH2 0x054d
00000735: PUSH2 0x073f
00000738: CALLDATASIZE
00000739: PUSH1 0x04
0000073b: PUSH2 0x391b
0000073e: JUMP
0000073f: JUMPDEST
00000740: PUSH2 0x2132
00000743: JUMP
00000744: JUMPDEST
00000745: PUSH2 0x054d
00000748: PUSH2 0x0752
0000074b: CALLDATASIZE
0000074c: PUSH1 0x04
0000074e: PUSH2 0x39da
00000751: JUMP
00000752: JUMPDEST
00000753: PUSH2 0x21b4
00000756: JUMP
00000757: JUMPDEST
00000758: PUSH2 0x033c
0000075b: PUSH2 0x0765
0000075e: CALLDATASIZE
0000075f: PUSH1 0x04
00000761: PUSH2 0x3641
00000764: JUMP
00000765: JUMPDEST
00000766: PUSH2 0x21e7
00000769: JUMP
0000076a: JUMPDEST
0000076b: PUSH1 0x0c
0000076d: SLOAD
0000076e: PUSH2 0x077e
00000771: SWAP1
00000772: PUSH1 0x01
00000774: PUSH1 0xc0
00000776: SHL
00000777: SWAP1
00000778: DIV
00000779: PUSH1 0xff
0000077b: AND
0000077c: DUP2
0000077d: JUMP
0000077e: JUMPDEST
0000077f: PUSH1 0x40
00000781: MLOAD
00000782: PUSH2 0x0320
00000785: SWAP2
00000786: SWAP1
00000787: PUSH2 0x3a23
0000078a: JUMP
0000078b: JUMPDEST
0000078c: PUSH2 0x033c
0000078f: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001
000007b0: DUP2
000007b1: JUMP
000007b2: JUMPDEST
000007b3: PUSH1 0x08
000007b5: SLOAD
000007b6: PUSH2 0x0404
000007b9: SWAP1
000007ba: PUSH1 0x01
000007bc: PUSH1 0x01
000007be: PUSH1 0xa0
000007c0: SHL
000007c1: SUB
000007c2: AND
000007c3: DUP2
000007c4: JUMP
000007c5: JUMPDEST
000007c6: PUSH2 0x054d
000007c9: PUSH2 0x07d3
000007cc: CALLDATASIZE
000007cd: PUSH1 0x04
000007cf: PUSH2 0x3a4b
000007d2: JUMP
000007d3: JUMPDEST
000007d4: PUSH2 0x2317
000007d7: JUMP
000007d8: JUMPDEST
000007d9: PUSH2 0x033c
000007dc: PUSH2 0x07e6
000007df: CALLDATASIZE
000007e0: PUSH1 0x04
000007e2: PUSH2 0x3641
000007e5: JUMP
000007e6: JUMPDEST
000007e7: PUSH2 0x2586
000007ea: JUMP
000007eb: JUMPDEST
000007ec: PUSH2 0x042c
000007ef: PUSH2 0x02fe
000007f2: CALLDATASIZE
000007f3: PUSH1 0x04
000007f5: PUSH2 0x3ac2
000007f8: JUMP
000007f9: JUMPDEST
000007fa: PUSH1 0x0c
000007fc: SLOAD
000007fd: PUSH2 0x0404
00000800: SWAP1
00000801: PUSH1 0x01
00000803: PUSH1 0x01
00000805: PUSH1 0xa0
00000807: SHL
00000808: SUB
00000809: AND
0000080a: DUP2
0000080b: JUMP
0000080c: JUMPDEST
0000080d: PUSH2 0x033c
00000810: PUSH2 0x081a
00000813: CALLDATASIZE
00000814: PUSH1 0x04
00000816: PUSH2 0x384d
00000819: JUMP
0000081a: JUMPDEST
0000081b: PUSH1 0x01
0000081d: PUSH1 0x01
0000081f: PUSH1 0xa0
00000821: SHL
00000822: SUB
00000823: SWAP2
00000824: DUP3
00000825: AND
00000826: PUSH1 0x00
00000828: SWAP1
00000829: DUP2
0000082a: MSTORE
0000082b: PUSH1 0x03
0000082d: PUSH1 0x20
0000082f: SWAP1
00000830: DUP2
00000831: MSTORE
00000832: PUSH1 0x40
00000834: DUP1
00000835: DUP4
00000836: KECCAK256
00000837: SWAP4
00000838: SWAP1
00000839: SWAP5
0000083a: AND
0000083b: DUP3
0000083c: MSTORE
0000083d: SWAP2
0000083e: SWAP1
0000083f: SWAP2
00000840: MSTORE
00000841: KECCAK256
00000842: SLOAD
00000843: SWAP1
00000844: JUMP
00000845: JUMPDEST
00000846: PUSH2 0x054d
00000849: PUSH2 0x0853
0000084c: CALLDATASIZE
0000084d: PUSH1 0x04
0000084f: PUSH2 0x3721
00000852: JUMP
00000853: JUMPDEST
00000854: PUSH2 0x2592
00000857: JUMP
00000858: JUMPDEST
00000859: PUSH2 0x054d
0000085c: PUSH2 0x0866
0000085f: CALLDATASIZE
00000860: PUSH1 0x04
00000862: PUSH2 0x3641
00000865: JUMP
00000866: JUMPDEST
00000867: PUSH2 0x25c5
0000086a: JUMP
0000086b: JUMPDEST
0000086c: PUSH2 0x054d
0000086f: PUSH2 0x0879
00000872: CALLDATASIZE
00000873: PUSH1 0x04
00000875: PUSH2 0x391b
00000878: JUMP
00000879: JUMPDEST
0000087a: PUSH2 0x26a2
0000087d: JUMP
0000087e: JUMPDEST
0000087f: PUSH2 0x033c
00000882: PUSH1 0x0e
00000884: SLOAD
00000885: DUP2
00000886: JUMP
00000887: JUMPDEST
00000888: PUSH1 0x00
0000088a: PUSH2 0x089f
0000088d: PUSH1 0x00
0000088f: CALLDATALOAD
00000890: PUSH1 0x01
00000892: PUSH1 0x01
00000894: PUSH1 0xe0
00000896: SHL
00000897: SUB
00000898: NOT
00000899: AND
0000089a: CALLER
0000089b: PUSH2 0x2717
0000089e: JUMP
0000089f: JUMPDEST
000008a0: PUSH2 0x08c4
000008a3: JUMPI
000008a4: PUSH1 0x40
000008a6: MLOAD
000008a7: PUSH3 0x461bcd
000008ab: PUSH1 0xe5
000008ad: SHL
000008ae: DUP2
000008af: MSTORE
000008b0: PUSH1 0x04
000008b2: ADD
000008b3: PUSH2 0x08bb
000008b6: SWAP1
000008b7: PUSH2 0x3b08
000008ba: JUMP
000008bb: JUMPDEST
000008bc: PUSH1 0x40
000008be: MLOAD
000008bf: DUP1
000008c0: SWAP2
000008c1: SUB
000008c2: SWAP1
000008c3: REVERT
000008c4: JUMPDEST
000008c5: PUSH1 0x0c
000008c7: SLOAD
000008c8: PUSH1 0x01
000008ca: SWAP1
000008cb: PUSH1 0x01
000008cd: PUSH1 0xc0
000008cf: SHL
000008d0: SWAP1
000008d1: DIV
000008d2: PUSH1 0xff
000008d4: AND
000008d5: PUSH1 0x04
000008d7: DUP2
000008d8: GT
000008d9: ISZERO
000008da: PUSH2 0x08e5
000008dd: JUMPI
000008de: PUSH2 0x08e5
000008e1: PUSH2 0x3a0d
000008e4: JUMP
000008e5: JUMPDEST
000008e6: DUP2
000008e7: PUSH1 0x04
000008e9: DUP2
000008ea: GT
000008eb: ISZERO
000008ec: PUSH2 0x08f7
000008ef: JUMPI
000008f0: PUSH2 0x08f7
000008f3: PUSH2 0x3a0d
000008f6: JUMP
000008f7: JUMPDEST
000008f8: EQ
000008f9: PUSH2 0x0914
000008fc: JUMPI
000008fd: PUSH1 0x40
000008ff: MLOAD
00000900: PUSH3 0x461bcd
00000904: PUSH1 0xe5
00000906: SHL
00000907: DUP2
00000908: MSTORE
00000909: PUSH1 0x04
0000090b: ADD
0000090c: PUSH2 0x08bb
0000090f: SWAP1
00000910: PUSH2 0x3b2f
00000913: JUMP
00000914: JUMPDEST
00000915: PUSH1 0x00
00000917: DUP4
00000918: PUSH1 0x01
0000091a: PUSH1 0x01
0000091c: PUSH1 0xa0
0000091e: SHL
0000091f: SUB
00000920: AND
00000921: PUSH4 0xdc3bfba9
00000926: PUSH1 0x40
00000928: MLOAD
00000929: DUP2
0000092a: PUSH4 0xffffffff
0000092f: AND
00000930: PUSH1 0xe0
00000932: SHL
00000933: DUP2
00000934: MSTORE
00000935: PUSH1 0x04
00000937: ADD
00000938: PUSH1 0x20
0000093a: PUSH1 0x40
0000093c: MLOAD
0000093d: DUP1
0000093e: DUP4
0000093f: SUB
00000940: DUP2
00000941: DUP7
00000942: GAS
00000943: STATICCALL
00000944: ISZERO
00000945: DUP1
00000946: ISZERO
00000947: PUSH2 0x0954
0000094a: JUMPI
0000094b: RETURNDATASIZE
0000094c: PUSH1 0x00
0000094e: DUP1
0000094f: RETURNDATACOPY
00000950: RETURNDATASIZE
00000951: PUSH1 0x00
00000953: REVERT
00000954: JUMPDEST
00000955: POP
00000956: POP
00000957: POP
00000958: POP
00000959: PUSH1 0x40
0000095b: MLOAD
0000095c: RETURNDATASIZE
0000095d: PUSH1 0x1f
0000095f: NOT
00000960: PUSH1 0x1f
00000962: DUP3
00000963: ADD
00000964: AND
00000965: DUP3
00000966: ADD
00000967: DUP1
00000968: PUSH1 0x40
0000096a: MSTORE
0000096b: POP
0000096c: DUP2
0000096d: ADD
0000096e: SWAP1
0000096f: PUSH2 0x0978
00000972: SWAP2
00000973: SWAP1
00000974: PUSH2 0x3b62
00000977: JUMP
00000978: JUMPDEST
00000979: SWAP1
0000097a: POP
0000097b: PUSH1 0x00
0000097d: PUSH1 0x0e
0000097f: SLOAD
00000980: SWAP1
00000981: POP
00000982: DUP5
00000983: PUSH1 0x01
00000985: PUSH1 0x01
00000987: PUSH1 0xa0
00000989: SHL
0000098a: SUB
0000098b: AND
0000098c: PUSH4 0x5001f3b5
00000991: PUSH1 0x40
00000993: MLOAD
00000994: DUP2
00000995: PUSH4 0xffffffff
0000099a: AND
0000099b: PUSH1 0xe0
0000099d: SHL
0000099e: DUP2
0000099f: MSTORE
000009a0: PUSH1 0x04
000009a2: ADD
000009a3: PUSH1 0x20
000009a5: PUSH1 0x40
000009a7: MLOAD
000009a8: DUP1
000009a9: DUP4
000009aa: SUB
000009ab: DUP2
000009ac: DUP7
000009ad: GAS
000009ae: STATICCALL
000009af: ISZERO
000009b0: DUP1
000009b1: ISZERO
000009b2: PUSH2 0x09bf
000009b5: JUMPI
000009b6: RETURNDATASIZE
000009b7: PUSH1 0x00
000009b9: DUP1
000009ba: RETURNDATACOPY
000009bb: RETURNDATASIZE
000009bc: PUSH1 0x00
000009be: REVERT
000009bf: JUMPDEST
000009c0: POP
000009c1: POP
000009c2: POP
000009c3: POP
000009c4: PUSH1 0x40
000009c6: MLOAD
000009c7: RETURNDATASIZE
000009c8: PUSH1 0x1f
000009ca: NOT
000009cb: PUSH1 0x1f
000009cd: DUP3
000009ce: ADD
000009cf: AND
000009d0: DUP3
000009d1: ADD
000009d2: DUP1
000009d3: PUSH1 0x40
000009d5: MSTORE
000009d6: POP
000009d7: DUP2
000009d8: ADD
000009d9: SWAP1
000009da: PUSH2 0x09e3
000009dd: SWAP2
000009de: SWAP1
000009df: PUSH2 0x3b62
000009e2: JUMP
000009e3: JUMPDEST
000009e4: PUSH1 0x01
000009e6: PUSH1 0x01
000009e8: PUSH1 0xa0
000009ea: SHL
000009eb: SUB
000009ec: AND
000009ed: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000a0e: PUSH1 0x01
00000a10: PUSH1 0x01
00000a12: PUSH1 0xa0
00000a14: SHL
00000a15: SUB
00000a16: AND
00000a17: EQ
00000a18: PUSH2 0x0a55
00000a1b: JUMPI
00000a1c: PUSH1 0x40
00000a1e: MLOAD
00000a1f: PUSH3 0x461bcd
00000a23: PUSH1 0xe5
00000a25: SHL
00000a26: DUP2
00000a27: MSTORE
00000a28: PUSH1 0x20
00000a2a: PUSH1 0x04
00000a2c: DUP3
00000a2d: ADD
00000a2e: MSTORE
00000a2f: PUSH1 0x0f
00000a31: PUSH1 0x24
00000a33: DUP3
00000a34: ADD
00000a35: MSTORE
00000a36: PUSH15 0x4d69736d6174636865642062617365
00000a46: PUSH1 0x88
00000a48: SHL
00000a49: PUSH1 0x44
00000a4b: DUP3
00000a4c: ADD
00000a4d: MSTORE
00000a4e: PUSH1 0x64
00000a50: ADD
00000a51: PUSH2 0x08bb
00000a54: JUMP
00000a55: JUMPDEST
00000a56: PUSH1 0x00
00000a58: PUSH1 0x0e
00000a5a: SSTORE
00000a5b: PUSH2 0x0a8e
00000a5e: PUSH1 0x01
00000a60: PUSH1 0x01
00000a62: PUSH1 0xa0
00000a64: SHL
00000a65: SUB
00000a66: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000a87: AND
00000a88: DUP7
00000a89: DUP4
00000a8a: PUSH2 0x274c
00000a8d: JUMP
00000a8e: JUMPDEST
00000a8f: PUSH1 0x40
00000a91: MLOAD
00000a92: PUSH4 0x066ad14f
00000a97: PUSH1 0xe2
00000a99: SHL
00000a9a: DUP2
00000a9b: MSTORE
00000a9c: PUSH1 0x01
00000a9e: PUSH1 0x01
00000aa0: PUSH1 0xa0
00000aa2: SHL
00000aa3: SUB
00000aa4: DUP7
00000aa5: AND
00000aa6: SWAP1
00000aa7: PUSH4 0x19ab453c
00000aac: SWAP1
00000aad: PUSH2 0x0aba
00000ab0: SWAP1
00000ab1: ADDRESS
00000ab2: SWAP1
00000ab3: PUSH1 0x04
00000ab5: ADD
00000ab6: PUSH2 0x3758
00000ab9: JUMP
00000aba: JUMPDEST
00000abb: PUSH1 0x60
00000abd: PUSH1 0x40
00000abf: MLOAD
00000ac0: DUP1
00000ac1: DUP4
00000ac2: SUB
00000ac3: DUP2
00000ac4: PUSH1 0x00
00000ac6: DUP8
00000ac7: GAS
00000ac8: CALL
00000ac9: ISZERO
00000aca: DUP1
00000acb: ISZERO
00000acc: PUSH2 0x0ad9
00000acf: JUMPI
00000ad0: RETURNDATASIZE
00000ad1: PUSH1 0x00
00000ad3: DUP1
00000ad4: RETURNDATACOPY
00000ad5: RETURNDATASIZE
00000ad6: PUSH1 0x00
00000ad8: REVERT
00000ad9: JUMPDEST
00000ada: POP
00000adb: POP
00000adc: POP
00000add: POP
00000ade: PUSH1 0x40
00000ae0: MLOAD
00000ae1: RETURNDATASIZE
00000ae2: PUSH1 0x1f
00000ae4: NOT
00000ae5: PUSH1 0x1f
00000ae7: DUP3
00000ae8: ADD
00000ae9: AND
00000aea: DUP3
00000aeb: ADD
00000aec: DUP1
00000aed: PUSH1 0x40
00000aef: MSTORE
00000af0: POP
00000af1: DUP2
00000af2: ADD
00000af3: SWAP1
00000af4: PUSH2 0x0afd
00000af7: SWAP2
00000af8: SWAP1
00000af9: PUSH2 0x3b7f
00000afc: JUMP
00000afd: JUMPDEST
00000afe: PUSH1 0x0f
00000b00: DUP2
00000b01: SWAP1
00000b02: SSTORE
00000b03: PUSH1 0x0c
00000b05: DUP1
00000b06: SLOAD
00000b07: PUSH1 0x01
00000b09: PUSH1 0x01
00000b0b: PUSH1 0xa0
00000b0d: SHL
00000b0e: SUB
00000b0f: NOT
00000b10: AND
00000b11: PUSH1 0x01
00000b13: PUSH1 0x01
00000b15: PUSH1 0xa0
00000b17: SHL
00000b18: SUB
00000b19: DUP8
00000b1a: DUP2
00000b1b: AND
00000b1c: SWAP2
00000b1d: SWAP1
00000b1e: SWAP2
00000b1f: OR
00000b20: SWAP1
00000b21: SWAP2
00000b22: SSTORE
00000b23: PUSH1 0x40
00000b25: DUP1
00000b26: MLOAD
00000b27: PUSH4 0x204f83f9
00000b2c: PUSH1 0xe0
00000b2e: SHL
00000b2f: DUP2
00000b30: MSTORE
00000b31: SWAP1
00000b32: MLOAD
00000b33: SWAP3
00000b34: SWAP9
00000b35: POP
00000b36: SWAP1
00000b37: DUP10
00000b38: AND
00000b39: SWAP4
00000b3a: POP
00000b3b: PUSH4 0x204f83f9
00000b40: SWAP3
00000b41: POP
00000b42: PUSH1 0x04
00000b44: DUP1
00000b45: DUP3
00000b46: ADD
00000b47: SWAP3
00000b48: PUSH1 0x20
00000b4a: SWAP3
00000b4b: SWAP1
00000b4c: SWAP2
00000b4d: SWAP1
00000b4e: DUP3
00000b4f: SWAP1
00000b50: SUB
00000b51: ADD
00000b52: DUP2
00000b53: DUP7
00000b54: GAS
00000b55: STATICCALL
00000b56: ISZERO
00000b57: DUP1
00000b58: ISZERO
00000b59: PUSH2 0x0b66
00000b5c: JUMPI
00000b5d: RETURNDATASIZE
00000b5e: PUSH1 0x00
00000b60: DUP1
00000b61: RETURNDATACOPY
00000b62: RETURNDATASIZE
00000b63: PUSH1 0x00
00000b65: REVERT
00000b66: JUMPDEST
00000b67: POP
00000b68: POP
00000b69: POP
00000b6a: POP
00000b6b: PUSH1 0x40
00000b6d: MLOAD
00000b6e: RETURNDATASIZE
00000b6f: PUSH1 0x1f
00000b71: NOT
00000b72: PUSH1 0x1f
00000b74: DUP3
00000b75: ADD
00000b76: AND
00000b77: DUP3
00000b78: ADD
00000b79: DUP1
00000b7a: PUSH1 0x40
00000b7c: MSTORE
00000b7d: POP
00000b7e: DUP2
00000b7f: ADD
00000b80: SWAP1
00000b81: PUSH2 0x0b8a
00000b84: SWAP2
00000b85: SWAP1
00000b86: PUSH2 0x3bad
00000b89: JUMP
00000b8a: JUMPDEST
00000b8b: PUSH1 0x0c
00000b8d: DUP1
00000b8e: SLOAD
00000b8f: PUSH4 0xffffffff
00000b94: PUSH1 0xa0
00000b96: SHL
00000b97: NOT
00000b98: AND
00000b99: PUSH1 0x01
00000b9b: PUSH1 0xa0
00000b9d: SHL
00000b9e: PUSH4 0xffffffff
00000ba3: SWAP4
00000ba4: SWAP1
00000ba5: SWAP4
00000ba6: AND
00000ba7: SWAP3
00000ba8: SWAP1
00000ba9: SWAP3
00000baa: MUL
00000bab: SWAP2
00000bac: SWAP1
00000bad: SWAP2
00000bae: OR
00000baf: SWAP1
00000bb0: SSTORE
00000bb1: PUSH1 0x0d
00000bb3: DUP1
00000bb4: SLOAD
00000bb5: PUSH1 0x01
00000bb7: PUSH1 0x01
00000bb9: PUSH1 0xa0
00000bbb: SHL
00000bbc: SUB
00000bbd: NOT
00000bbe: AND
00000bbf: PUSH1 0x01
00000bc1: PUSH1 0x01
00000bc3: PUSH1 0xa0
00000bc5: SHL
00000bc6: SUB
00000bc7: DUP8
00000bc8: AND
00000bc9: OR
00000bca: SWAP1
00000bcb: SSTORE
00000bcc: PUSH2 0x0bd6
00000bcf: PUSH1 0x02
00000bd1: DUP7
00000bd2: PUSH2 0x284b
00000bd5: JUMP
00000bd6: JUMPDEST
00000bd7: PUSH1 0x40
00000bd9: DUP1
00000bda: MLOAD
00000bdb: DUP3
00000bdc: DUP2
00000bdd: MSTORE
00000bde: PUSH1 0x20
00000be0: DUP2
00000be1: ADD
00000be2: DUP7
00000be3: SWAP1
00000be4: MSTORE
00000be5: PUSH1 0x01
00000be7: PUSH1 0x01
00000be9: PUSH1 0xa0
00000beb: SHL
00000bec: SUB
00000bed: DUP8
00000bee: AND
00000bef: SWAP2
00000bf0: PUSH32 0x9e9d071824fd57d062ca63fd8b786d8da48a6807eebbcb2d83f9e8d21398e28c
00000c11: SWAP2
00000c12: ADD
00000c13: PUSH1 0x40
00000c15: MLOAD
00000c16: DUP1
00000c17: SWAP2
00000c18: SUB
00000c19: SWAP1
00000c1a: LOG2
00000c1b: POP
00000c1c: POP
00000c1d: POP
00000c1e: SWAP2
00000c1f: SWAP1
00000c20: POP
00000c21: JUMP
00000c22: JUMPDEST
00000c23: PUSH1 0x0c
00000c25: SLOAD
00000c26: PUSH1 0x00
00000c28: SWAP1
00000c29: PUSH1 0x02
00000c2b: SWAP1
00000c2c: PUSH1 0x01
00000c2e: PUSH1 0xc0
00000c30: SHL
00000c31: SWAP1
00000c32: DIV
00000c33: PUSH1 0xff
00000c35: AND
00000c36: PUSH1 0x04
00000c38: DUP2
00000c39: GT
00000c3a: ISZERO
00000c3b: PUSH2 0x0c46
00000c3e: JUMPI
00000c3f: PUSH2 0x0c46
00000c42: PUSH2 0x3a0d
00000c45: JUMP
00000c46: JUMPDEST
00000c47: DUP2
00000c48: PUSH1 0x04
00000c4a: DUP2
00000c4b: GT
00000c4c: ISZERO
00000c4d: PUSH2 0x0c58
00000c50: JUMPI
00000c51: PUSH2 0x0c58
00000c54: PUSH2 0x3a0d
00000c57: JUMP
00000c58: JUMPDEST
00000c59: EQ
00000c5a: PUSH2 0x0c75
00000c5d: JUMPI
00000c5e: PUSH1 0x40
00000c60: MLOAD
00000c61: PUSH3 0x461bcd
00000c65: PUSH1 0xe5
00000c67: SHL
00000c68: DUP2
00000c69: MSTORE
00000c6a: PUSH1 0x04
00000c6c: ADD
00000c6d: PUSH2 0x08bb
00000c70: SWAP1
00000c71: PUSH2 0x3b2f
00000c74: JUMP
00000c75: JUMPDEST
00000c76: PUSH1 0x0d
00000c78: SLOAD
00000c79: PUSH1 0x0c
00000c7b: SLOAD
00000c7c: PUSH1 0x01
00000c7e: PUSH1 0x01
00000c80: PUSH1 0xa0
00000c82: SHL
00000c83: SUB
00000c84: SWAP2
00000c85: DUP3
00000c86: AND
00000c87: SWAP2
00000c88: DUP2
00000c89: AND
00000c8a: SWAP1
00000c8b: PUSH4 0xffffffff
00000c90: PUSH1 0x01
00000c92: PUSH1 0xa0
00000c94: SHL
00000c95: SWAP1
00000c96: SWAP2
00000c97: DIV
00000c98: DUP2
00000c99: AND
00000c9a: TIMESTAMP
00000c9b: SWAP1
00000c9c: SWAP2
00000c9d: AND
00000c9e: LT
00000c9f: ISZERO
00000ca0: PUSH2 0x0ce1
00000ca3: JUMPI
00000ca4: PUSH1 0x40
00000ca6: MLOAD
00000ca7: PUSH3 0x461bcd
00000cab: PUSH1 0xe5
00000cad: SHL
00000cae: DUP2
00000caf: MSTORE
00000cb0: PUSH1 0x20
00000cb2: PUSH1 0x04
00000cb4: DUP3
00000cb5: ADD
00000cb6: MSTORE
00000cb7: PUSH1 0x13
00000cb9: PUSH1 0x24
00000cbb: DUP3
00000cbc: ADD
00000cbd: MSTORE
00000cbe: PUSH19 0x4f6e6c79206166746572206d61747572697479
00000cd2: PUSH1 0x68
00000cd4: SHL
00000cd5: PUSH1 0x44
00000cd7: DUP3
00000cd8: ADD
00000cd9: MSTORE
00000cda: PUSH1 0x64
00000cdc: ADD
00000cdd: PUSH2 0x08bb
00000ce0: JUMP
00000ce1: JUMPDEST
00000ce2: PUSH1 0x40
00000ce4: MLOAD
00000ce5: PUSH4 0x70a08231
00000cea: PUSH1 0xe0
00000cec: SHL
00000ced: DUP2
00000cee: MSTORE
00000cef: PUSH1 0x00
00000cf1: SWAP1
00000cf2: PUSH1 0x01
00000cf4: PUSH1 0x01
00000cf6: PUSH1 0xa0
00000cf8: SHL
00000cf9: SUB
00000cfa: DUP5
00000cfb: AND
00000cfc: SWAP1
00000cfd: PUSH4 0x70a08231
00000d02: SWAP1
00000d03: PUSH2 0x0d10
00000d06: SWAP1
00000d07: ADDRESS
00000d08: SWAP1
00000d09: PUSH1 0x04
00000d0b: ADD
00000d0c: PUSH2 0x3758
00000d0f: JUMP
00000d10: JUMPDEST
00000d11: PUSH1 0x20
00000d13: PUSH1 0x40
00000d15: MLOAD
00000d16: DUP1
00000d17: DUP4
00000d18: SUB
00000d19: DUP2
00000d1a: DUP7
00000d1b: GAS
00000d1c: STATICCALL
00000d1d: ISZERO
00000d1e: DUP1
00000d1f: ISZERO
00000d20: PUSH2 0x0d2d
00000d23: JUMPI
00000d24: RETURNDATASIZE
00000d25: PUSH1 0x00
00000d27: DUP1
00000d28: RETURNDATACOPY
00000d29: RETURNDATASIZE
00000d2a: PUSH1 0x00
00000d2c: REVERT
00000d2d: JUMPDEST
00000d2e: POP
00000d2f: POP
00000d30: POP
00000d31: POP
00000d32: PUSH1 0x40
00000d34: MLOAD
00000d35: RETURNDATASIZE
00000d36: PUSH1 0x1f
00000d38: NOT
00000d39: PUSH1 0x1f
00000d3b: DUP3
00000d3c: ADD
00000d3d: AND
00000d3e: DUP3
00000d3f: ADD
00000d40: DUP1
00000d41: PUSH1 0x40
00000d43: MSTORE
00000d44: POP
00000d45: DUP2
00000d46: ADD
00000d47: SWAP1
00000d48: PUSH2 0x0d51
00000d4b: SWAP2
00000d4c: SWAP1
00000d4d: PUSH2 0x3bca
00000d50: JUMP
00000d51: JUMPDEST
00000d52: PUSH1 0x00
00000d54: PUSH1 0x0f
00000d56: SSTORE
00000d57: SWAP1
00000d58: POP
00000d59: PUSH2 0x0d6c
00000d5c: PUSH1 0x01
00000d5e: PUSH1 0x01
00000d60: PUSH1 0xa0
00000d62: SHL
00000d63: SUB
00000d64: DUP5
00000d65: AND
00000d66: DUP5
00000d67: DUP4
00000d68: PUSH2 0x274c
00000d6b: JUMP
00000d6c: JUMPDEST
00000d6d: PUSH1 0x00
00000d6f: DUP1
00000d70: DUP5
00000d71: PUSH1 0x01
00000d73: PUSH1 0x01
00000d75: PUSH1 0xa0
00000d77: SHL
00000d78: SUB
00000d79: AND
00000d7a: PUSH4 0xd7020d0a
00000d7f: ADDRESS
00000d80: ADDRESS
00000d81: PUSH1 0x00
00000d83: PUSH1 0x00
00000d85: NOT
00000d86: PUSH1 0x40
00000d88: MLOAD
00000d89: DUP6
00000d8a: PUSH4 0xffffffff
00000d8f: AND
00000d90: PUSH1 0xe0
00000d92: SHL
00000d93: DUP2
00000d94: MSTORE
00000d95: PUSH1 0x04
00000d97: ADD
00000d98: PUSH2 0x0da4
00000d9b: SWAP5
00000d9c: SWAP4
00000d9d: SWAP3
00000d9e: SWAP2
00000d9f: SWAP1
00000da0: PUSH2 0x3be3
00000da3: JUMP
00000da4: JUMPDEST
00000da5: PUSH1 0x60
00000da7: PUSH1 0x40
00000da9: MLOAD
00000daa: DUP1
00000dab: DUP4
00000dac: SUB
00000dad: DUP2
00000dae: PUSH1 0x00
00000db0: DUP8
00000db1: GAS
00000db2: CALL
00000db3: ISZERO
00000db4: DUP1
00000db5: ISZERO
00000db6: PUSH2 0x0dc3
00000db9: JUMPI
00000dba: RETURNDATASIZE
00000dbb: PUSH1 0x00
00000dbd: DUP1
00000dbe: RETURNDATACOPY
00000dbf: RETURNDATASIZE
00000dc0: PUSH1 0x00
00000dc2: REVERT
00000dc3: JUMPDEST
00000dc4: POP
00000dc5: POP
00000dc6: POP
00000dc7: POP
00000dc8: PUSH1 0x40
00000dca: MLOAD
00000dcb: RETURNDATASIZE
00000dcc: PUSH1 0x1f
00000dce: NOT
00000dcf: PUSH1 0x1f
00000dd1: DUP3
00000dd2: ADD
00000dd3: AND
00000dd4: DUP3
00000dd5: ADD
00000dd6: DUP1
00000dd7: PUSH1 0x40
00000dd9: MSTORE
00000dda: POP
00000ddb: DUP2
00000ddc: ADD
00000ddd: SWAP1
00000dde: PUSH2 0x0de7
00000de1: SWAP2
00000de2: SWAP1
00000de3: PUSH2 0x3b7f
00000de6: JUMP
00000de7: JUMPDEST
00000de8: SWAP3
00000de9: POP
00000dea: SWAP3
00000deb: POP
00000dec: POP
00000ded: PUSH1 0x00
00000def: DUP5
00000df0: PUSH1 0x01
00000df2: PUSH1 0x01
00000df4: PUSH1 0xa0
00000df6: SHL
00000df7: SUB
00000df8: AND
00000df9: PUSH4 0x1e9a6950
00000dfe: ADDRESS
00000dff: DUP5
00000e00: PUSH1 0x40
00000e02: MLOAD
00000e03: DUP4
00000e04: PUSH4 0xffffffff
00000e09: AND
00000e0a: PUSH1 0xe0
00000e0c: SHL
00000e0d: DUP2
00000e0e: MSTORE
00000e0f: PUSH1 0x04
00000e11: ADD
00000e12: PUSH2 0x0e1c
00000e15: SWAP3
00000e16: SWAP2
00000e17: SWAP1
00000e18: PUSH2 0x3c0c
00000e1b: JUMP
00000e1c: JUMPDEST
00000e1d: PUSH1 0x20
00000e1f: PUSH1 0x40
00000e21: MLOAD
00000e22: DUP1
00000e23: DUP4
00000e24: SUB
00000e25: DUP2
00000e26: PUSH1 0x00
00000e28: DUP8
00000e29: GAS
00000e2a: CALL
00000e2b: ISZERO
00000e2c: DUP1
00000e2d: ISZERO
00000e2e: PUSH2 0x0e3b
00000e31: JUMPI
00000e32: RETURNDATASIZE
00000e33: PUSH1 0x00
00000e35: DUP1
00000e36: RETURNDATACOPY
00000e37: RETURNDATASIZE
00000e38: PUSH1 0x00
00000e3a: REVERT
00000e3b: JUMPDEST
00000e3c: POP
00000e3d: POP
00000e3e: POP
00000e3f: POP
00000e40: PUSH1 0x40
00000e42: MLOAD
00000e43: RETURNDATASIZE
00000e44: PUSH1 0x1f
00000e46: NOT
00000e47: PUSH1 0x1f
00000e49: DUP3
00000e4a: ADD
00000e4b: AND
00000e4c: DUP3
00000e4d: ADD
00000e4e: DUP1
00000e4f: PUSH1 0x40
00000e51: MSTORE
00000e52: POP
00000e53: DUP2
00000e54: ADD
00000e55: SWAP1
00000e56: PUSH2 0x0e5f
00000e59: SWAP2
00000e5a: SWAP1
00000e5b: PUSH2 0x3bca
00000e5e: JUMP
00000e5f: JUMPDEST
00000e60: PUSH1 0x40
00000e62: MLOAD
00000e63: PUSH4 0x70a08231
00000e68: PUSH1 0xe0
00000e6a: SHL
00000e6b: DUP2
00000e6c: MSTORE
00000e6d: SWAP1
00000e6e: SWAP2
00000e6f: POP
00000e70: PUSH1 0x01
00000e72: PUSH1 0x01
00000e74: PUSH1 0xa0
00000e76: SHL
00000e77: SUB
00000e78: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000e99: AND
00000e9a: SWAP1
00000e9b: PUSH4 0x70a08231
00000ea0: SWAP1
00000ea1: PUSH2 0x0eae
00000ea4: SWAP1
00000ea5: ADDRESS
00000ea6: SWAP1
00000ea7: PUSH1 0x04
00000ea9: ADD
00000eaa: PUSH2 0x3758
00000ead: JUMP
00000eae: JUMPDEST
00000eaf: PUSH1 0x20
00000eb1: PUSH1 0x40
00000eb3: MLOAD
00000eb4: DUP1
00000eb5: DUP4
00000eb6: SUB
00000eb7: DUP2
00000eb8: DUP7
00000eb9: GAS
00000eba: STATICCALL
00000ebb: ISZERO
00000ebc: DUP1
00000ebd: ISZERO
00000ebe: PUSH2 0x0ecb
00000ec1: JUMPI
00000ec2: RETURNDATASIZE
00000ec3: PUSH1 0x00
00000ec5: DUP1
00000ec6: RETURNDATACOPY
00000ec7: RETURNDATASIZE
00000ec8: PUSH1 0x00
00000eca: REVERT
00000ecb: JUMPDEST
00000ecc: POP
00000ecd: POP
00000ece: POP
00000ecf: POP
00000ed0: PUSH1 0x40
00000ed2: MLOAD
00000ed3: RETURNDATASIZE
00000ed4: PUSH1 0x1f
00000ed6: NOT
00000ed7: PUSH1 0x1f
00000ed9: DUP3
00000eda: ADD
00000edb: AND
00000edc: DUP3
00000edd: ADD
00000ede: DUP1
00000edf: PUSH1 0x40
00000ee1: MSTORE
00000ee2: POP
00000ee3: DUP2
00000ee4: ADD
00000ee5: SWAP1
00000ee6: PUSH2 0x0eef
00000ee9: SWAP2
00000eea: SWAP1
00000eeb: PUSH2 0x3bca
00000eee: JUMP
00000eef: JUMPDEST
00000ef0: PUSH1 0x0e
00000ef2: SSTORE
00000ef3: PUSH2 0x0efd
00000ef6: PUSH1 0x01
00000ef8: DUP8
00000ef9: PUSH2 0x284b
00000efc: JUMP
00000efd: JUMPDEST
00000efe: PUSH1 0x01
00000f00: PUSH1 0x01
00000f02: PUSH1 0xa0
00000f04: SHL
00000f05: SUB
00000f06: DUP7
00000f07: AND
00000f08: PUSH1 0x00
00000f0a: DUP1
00000f0b: MLOAD
00000f0c: PUSH1 0x20
00000f0e: PUSH2 0x3f7b
00000f11: DUP4
00000f12: CODECOPY
00000f13: DUP2
00000f14: MLOAD
00000f15: SWAP2
00000f16: MSTORE
00000f17: DUP6
00000f18: PUSH2 0x0f21
00000f1b: DUP5
00000f1c: DUP8
00000f1d: PUSH2 0x3c3b
00000f20: JUMP
00000f21: JUMPDEST
00000f22: PUSH1 0x40
00000f24: DUP1
00000f25: MLOAD
00000f26: SWAP3
00000f27: DUP4
00000f28: MSTORE
00000f29: PUSH1 0x20
00000f2b: DUP4
00000f2c: ADD
00000f2d: DUP3
00000f2e: SWAP1
00000f2f: MSTORE
00000f30: SWAP1
00000f31: SWAP12
00000f32: POP
00000f33: ADD
00000f34: PUSH1 0x40
00000f36: MLOAD
00000f37: DUP1
00000f38: SWAP2
00000f39: SUB
00000f3a: SWAP1
00000f3b: LOG2
00000f3c: POP
00000f3d: POP
00000f3e: POP
00000f3f: POP
00000f40: POP
00000f41: POP
00000f42: POP
00000f43: SWAP1
00000f44: JUMP
00000f45: JUMPDEST
00000f46: PUSH1 0x04
00000f48: DUP1
00000f49: SLOAD
00000f4a: PUSH2 0x0f52
00000f4d: SWAP1
00000f4e: PUSH2 0x3c53
00000f51: JUMP
00000f52: JUMPDEST
00000f53: DUP1
00000f54: PUSH1 0x1f
00000f56: ADD
00000f57: PUSH1 0x20
00000f59: DUP1
00000f5a: SWAP2
00000f5b: DIV
00000f5c: MUL
00000f5d: PUSH1 0x20
00000f5f: ADD
00000f60: PUSH1 0x40
00000f62: MLOAD
00000f63: SWAP1
00000f64: DUP2
00000f65: ADD
00000f66: PUSH1 0x40
00000f68: MSTORE
00000f69: DUP1
00000f6a: SWAP3
00000f6b: SWAP2
00000f6c: SWAP1
00000f6d: DUP2
00000f6e: DUP2
00000f6f: MSTORE
00000f70: PUSH1 0x20
00000f72: ADD
00000f73: DUP3
00000f74: DUP1
00000f75: SLOAD
00000f76: PUSH2 0x0f7e
00000f79: SWAP1
00000f7a: PUSH2 0x3c53
00000f7d: JUMP
00000f7e: JUMPDEST
00000f7f: DUP1
00000f80: ISZERO
00000f81: PUSH2 0x0fcb
00000f84: JUMPI
00000f85: DUP1
00000f86: PUSH1 0x1f
00000f88: LT
00000f89: PUSH2 0x0fa0
00000f8c: JUMPI
00000f8d: PUSH2 0x0100
00000f90: DUP1
00000f91: DUP4
00000f92: SLOAD
00000f93: DIV
00000f94: MUL
00000f95: DUP4
00000f96: MSTORE
00000f97: SWAP2
00000f98: PUSH1 0x20
00000f9a: ADD
00000f9b: SWAP2
00000f9c: PUSH2 0x0fcb
00000f9f: JUMP
00000fa0: JUMPDEST
00000fa1: DUP3
00000fa2: ADD
00000fa3: SWAP2
00000fa4: SWAP1
00000fa5: PUSH1 0x00
00000fa7: MSTORE
00000fa8: PUSH1 0x20
00000faa: PUSH1 0x00
00000fac: KECCAK256
00000fad: SWAP1
00000fae: JUMPDEST
00000faf: DUP2
00000fb0: SLOAD
00000fb1: DUP2
00000fb2: MSTORE
00000fb3: SWAP1
00000fb4: PUSH1 0x01
00000fb6: ADD
00000fb7: SWAP1
00000fb8: PUSH1 0x20
00000fba: ADD
00000fbb: DUP1
00000fbc: DUP4
00000fbd: GT
00000fbe: PUSH2 0x0fae
00000fc1: JUMPI
00000fc2: DUP3
00000fc3: SWAP1
00000fc4: SUB
00000fc5: PUSH1 0x1f
00000fc7: AND
00000fc8: DUP3
00000fc9: ADD
00000fca: SWAP2
00000fcb: JUMPDEST
00000fcc: POP
00000fcd: POP
00000fce: POP
00000fcf: POP
00000fd0: POP
00000fd1: DUP2
00000fd2: JUMP
00000fd3: JUMPDEST
00000fd4: PUSH1 0x00
00000fd6: PUSH2 0x0fe0
00000fd9: CALLER
00000fda: DUP5
00000fdb: DUP5
00000fdc: PUSH2 0x2a72
00000fdf: JUMP
00000fe0: JUMPDEST
00000fe1: SWAP4
00000fe2: SWAP3
00000fe3: POP
00000fe4: POP
00000fe5: POP
00000fe6: JUMP
00000fe7: JUMPDEST
00000fe8: PUSH1 0x00
00000fea: PUSH2 0x0fe0
00000fed: DUP4
00000fee: DUP4
00000fef: PUSH2 0x2717
00000ff2: JUMP
00000ff3: JUMPDEST
00000ff4: PUSH1 0x00
00000ff6: DUP1
00000ff7: PUSH1 0x00
00000ff9: PUSH2 0x100e
00000ffc: PUSH1 0x00
00000ffe: CALLDATALOAD
00000fff: PUSH1 0x01
00001001: PUSH1 0x01
00001003: PUSH1 0xe0
00001005: SHL
00001006: SUB
00001007: NOT
00001008: AND
00001009: CALLER
0000100a: PUSH2 0x2717
0000100d: JUMP
0000100e: JUMPDEST
0000100f: PUSH2 0x102a
00001012: JUMPI
00001013: PUSH1 0x40
00001015: MLOAD
00001016: PUSH3 0x461bcd
0000101a: PUSH1 0xe5
0000101c: SHL
0000101d: DUP2
0000101e: MSTORE
0000101f: PUSH1 0x04
00001021: ADD
00001022: PUSH2 0x08bb
00001025: SWAP1
00001026: PUSH2 0x3b08
00001029: JUMP
0000102a: JUMPDEST
0000102b: PUSH1 0x00
0000102d: SWAP2
0000102e: POP
0000102f: PUSH2 0x1037
00001032: DUP5
00001033: PUSH2 0x2adb
00001036: JUMP
00001037: JUMPDEST
00001038: SWAP5
00001039: SWAP2
0000103a: SWAP4
0000103b: POP
0000103c: DUP5
0000103d: SWAP3
0000103e: POP
0000103f: POP
00001040: JUMP
00001041: JUMPDEST
00001042: PUSH1 0x60
00001044: PUSH2 0x1059
00001047: PUSH1 0x00
00001049: CALLDATALOAD
0000104a: PUSH1 0x01
0000104c: PUSH1 0x01
0000104e: PUSH1 0xe0
00001050: SHL
00001051: SUB
00001052: NOT
00001053: AND
00001054: CALLER
00001055: PUSH2 0x2717
00001058: JUMP
00001059: JUMPDEST
0000105a: PUSH2 0x1075
0000105d: JUMPI
0000105e: PUSH1 0x40
00001060: MLOAD
00001061: PUSH3 0x461bcd
00001065: PUSH1 0xe5
00001067: SHL
00001068: DUP2
00001069: MSTORE
0000106a: PUSH1 0x04
0000106c: ADD
0000106d: PUSH2 0x08bb
00001070: SWAP1
00001071: PUSH2 0x3b08
00001074: JUMP
00001075: JUMPDEST
00001076: PUSH1 0x00
00001078: DUP1
00001079: DUP6
0000107a: PUSH1 0x01
0000107c: PUSH1 0x01
0000107e: PUSH1 0xa0
00001080: SHL
00001081: SUB
00001082: AND
00001083: DUP6
00001084: DUP6
00001085: PUSH1 0x40
00001087: MLOAD
00001088: PUSH2 0x1092
0000108b: SWAP3
0000108c: SWAP2
0000108d: SWAP1
0000108e: PUSH2 0x3c87
00001091: JUMP
00001092: JUMPDEST
00001093: PUSH1 0x00
00001095: PUSH1 0x40
00001097: MLOAD
00001098: DUP1
00001099: DUP4
0000109a: SUB
0000109b: DUP2
0000109c: PUSH1 0x00
0000109e: DUP7
0000109f: GAS
000010a0: CALL
000010a1: SWAP2
000010a2: POP
000010a3: POP
000010a4: RETURNDATASIZE
000010a5: DUP1
000010a6: PUSH1 0x00
000010a8: DUP2
000010a9: EQ
000010aa: PUSH2 0x10cf
000010ad: JUMPI
000010ae: PUSH1 0x40
000010b0: MLOAD
000010b1: SWAP2
000010b2: POP
000010b3: PUSH1 0x1f
000010b5: NOT
000010b6: PUSH1 0x3f
000010b8: RETURNDATASIZE
000010b9: ADD
000010ba: AND
000010bb: DUP3
000010bc: ADD
000010bd: PUSH1 0x40
000010bf: MSTORE
000010c0: RETURNDATASIZE
000010c1: DUP3
000010c2: MSTORE
000010c3: RETURNDATASIZE
000010c4: PUSH1 0x00
000010c6: PUSH1 0x20
000010c8: DUP5
000010c9: ADD
000010ca: RETURNDATACOPY
000010cb: PUSH2 0x10d4
000010ce: JUMP
000010cf: JUMPDEST
000010d0: PUSH1 0x60
000010d2: SWAP2
000010d3: POP
000010d4: JUMPDEST
000010d5: POP
000010d6: SWAP2
000010d7: POP
000010d8: SWAP2
000010d9: POP
000010da: DUP2
000010db: PUSH2 0x1114
000010de: JUMPI
000010df: PUSH1 0x40
000010e1: MLOAD
000010e2: PUSH3 0x461bcd
000010e6: PUSH1 0xe5
000010e8: SHL
000010e9: DUP2
000010ea: MSTORE
000010eb: PUSH1 0x20
000010ed: PUSH1 0x04
000010ef: DUP3
000010f0: ADD
000010f1: MSTORE
000010f2: PUSH1 0x0b
000010f4: PUSH1 0x24
000010f6: DUP3
000010f7: ADD
000010f8: MSTORE
000010f9: PUSH11 0x10d85b1b0819985a5b1959
00001105: PUSH1 0xaa
00001107: SHL
00001108: PUSH1 0x44
0000110a: DUP3
0000110b: ADD
0000110c: MSTORE
0000110d: PUSH1 0x64
0000110f: ADD
00001110: PUSH2 0x08bb
00001113: JUMP
00001114: JUMPDEST
00001115: SWAP6
00001116: SWAP5
00001117: POP
00001118: POP
00001119: POP
0000111a: POP
0000111b: POP
0000111c: JUMP
0000111d: JUMPDEST
0000111e: PUSH1 0x00
00001120: PUSH2 0x1129
00001123: CALLER
00001124: DUP4
00001125: PUSH2 0x2c2e
00001128: JUMP
00001129: JUMPDEST
0000112a: SWAP3
0000112b: SWAP2
0000112c: POP
0000112d: POP
0000112e: JUMP
0000112f: JUMPDEST
00001130: PUSH1 0x00
00001132: PUSH2 0x1147
00001135: PUSH1 0x00
00001137: CALLDATALOAD
00001138: PUSH1 0x01
0000113a: PUSH1 0x01
0000113c: PUSH1 0xe0
0000113e: SHL
0000113f: SUB
00001140: NOT
00001141: AND
00001142: CALLER
00001143: PUSH2 0x2717
00001146: JUMP
00001147: JUMPDEST
00001148: PUSH2 0x1163
0000114b: JUMPI
0000114c: PUSH1 0x40
0000114e: MLOAD
0000114f: PUSH3 0x461bcd
00001153: PUSH1 0xe5
00001155: SHL
00001156: DUP2
00001157: MSTORE
00001158: PUSH1 0x04
0000115a: ADD
0000115b: PUSH2 0x08bb
0000115e: SWAP1
0000115f: PUSH2 0x3b08
00001162: JUMP
00001163: JUMPDEST
00001164: PUSH1 0x0c
00001166: SLOAD
00001167: PUSH1 0x04
00001169: SWAP1
0000116a: PUSH1 0x01
0000116c: PUSH1 0xc0
0000116e: SHL
0000116f: SWAP1
00001170: DIV
00001171: PUSH1 0xff
00001173: AND
00001174: DUP2
00001175: DUP2
00001176: GT
00001177: ISZERO
00001178: PUSH2 0x1183
0000117b: JUMPI
0000117c: PUSH2 0x1183
0000117f: PUSH2 0x3a0d
00001182: JUMP
00001183: JUMPDEST
00001184: DUP2
00001185: PUSH1 0x04
00001187: DUP2
00001188: GT
00001189: ISZERO
0000118a: PUSH2 0x1195
0000118d: JUMPI
0000118e: PUSH2 0x1195
00001191: PUSH2 0x3a0d
00001194: JUMP
00001195: JUMPDEST
00001196: EQ
00001197: PUSH2 0x11b2
0000119a: JUMPI
0000119b: PUSH1 0x40
0000119d: MLOAD
0000119e: PUSH3 0x461bcd
000011a2: PUSH1 0xe5
000011a4: SHL
000011a5: DUP2
000011a6: MSTORE
000011a7: PUSH1 0x04
000011a9: ADD
000011aa: PUSH2 0x08bb
000011ad: SWAP1
000011ae: PUSH2 0x3b2f
000011b1: JUMP
000011b2: JUMPDEST
000011b3: PUSH1 0x40
000011b5: MLOAD
000011b6: PUSH4 0x70a08231
000011bb: PUSH1 0xe0
000011bd: SHL
000011be: DUP2
000011bf: MSTORE
000011c0: PUSH1 0x00
000011c2: SWAP1
000011c3: PUSH1 0x01
000011c5: PUSH1 0x01
000011c7: PUSH1 0xa0
000011c9: SHL
000011ca: SUB
000011cb: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000011ec: AND
000011ed: SWAP1
000011ee: PUSH4 0x70a08231
000011f3: SWAP1
000011f4: PUSH2 0x1201
000011f7: SWAP1
000011f8: ADDRESS
000011f9: SWAP1
000011fa: PUSH1 0x04
000011fc: ADD
000011fd: PUSH2 0x3758
00001200: JUMP
00001201: JUMPDEST
00001202: PUSH1 0x20
00001204: PUSH1 0x40
00001206: MLOAD
00001207: DUP1
00001208: DUP4
00001209: SUB
0000120a: DUP2
0000120b: DUP7
0000120c: GAS
0000120d: STATICCALL
0000120e: ISZERO
0000120f: DUP1
00001210: ISZERO
00001211: PUSH2 0x121e
00001214: JUMPI
00001215: RETURNDATASIZE
00001216: PUSH1 0x00
00001218: DUP1
00001219: RETURNDATACOPY
0000121a: RETURNDATASIZE
0000121b: PUSH1 0x00
0000121d: REVERT
0000121e: JUMPDEST
0000121f: POP
00001220: POP
00001221: POP
00001222: POP
00001223: PUSH1 0x40
00001225: MLOAD
00001226: RETURNDATASIZE
00001227: PUSH1 0x1f
00001229: NOT
0000122a: PUSH1 0x1f
0000122c: DUP3
0000122d: ADD
0000122e: AND
0000122f: DUP3
00001230: ADD
00001231: DUP1
00001232: PUSH1 0x40
00001234: MSTORE
00001235: POP
00001236: DUP2
00001237: ADD
00001238: SWAP1
00001239: PUSH2 0x1242
0000123c: SWAP2
0000123d: SWAP1
0000123e: PUSH2 0x3bca
00001241: JUMP
00001242: JUMPDEST
00001243: SWAP3
00001244: POP
00001245: DUP3
00001246: PUSH1 0x0e
00001248: DUP2
00001249: SWAP1
0000124a: SSTORE
0000124b: GT
0000124c: PUSH2 0x128c
0000124f: JUMPI
00001250: PUSH1 0x40
00001252: MLOAD
00001253: PUSH3 0x461bcd
00001257: PUSH1 0xe5
00001259: SHL
0000125a: DUP2
0000125b: MSTORE
0000125c: PUSH1 0x20
0000125e: PUSH1 0x04
00001260: DUP3
00001261: ADD
00001262: MSTORE
00001263: PUSH1 0x12
00001265: PUSH1 0x24
00001267: DUP3
00001268: ADD
00001269: MSTORE
0000126a: PUSH18 0x139bc818985cd9481d1bc81c995cdd185c9d
0000127d: PUSH1 0x72
0000127f: SHL
00001280: PUSH1 0x44
00001282: DUP3
00001283: ADD
00001284: MSTORE
00001285: PUSH1 0x64
00001287: ADD
00001288: PUSH2 0x08bb
0000128b: JUMP
0000128c: JUMPDEST
0000128d: PUSH2 0x1296
00001290: PUSH1 0x01
00001292: PUSH2 0x2cd6
00001295: JUMP
00001296: JUMPDEST
00001297: PUSH1 0x40
00001299: DUP1
0000129a: MLOAD
0000129b: PUSH1 0x00
0000129d: DUP1
0000129e: DUP3
0000129f: MSTORE
000012a0: PUSH1 0x20
000012a2: DUP3
000012a3: ADD
000012a4: DUP2
000012a5: SWAP1
000012a6: MSTORE
000012a7: SWAP2
000012a8: PUSH1 0x00
000012aa: DUP1
000012ab: MLOAD
000012ac: PUSH1 0x20
000012ae: PUSH2 0x3f7b
000012b1: DUP4
000012b2: CODECOPY
000012b3: DUP2
000012b4: MLOAD
000012b5: SWAP2
000012b6: MSTORE
000012b7: SWAP2
000012b8: ADD
000012b9: PUSH1 0x40
000012bb: MLOAD
000012bc: DUP1
000012bd: SWAP2
000012be: SUB
000012bf: SWAP1
000012c0: LOG2
000012c1: POP
000012c2: SWAP1
000012c3: JUMP
000012c4: JUMPDEST
000012c5: PUSH1 0x00
000012c7: PUSH2 0x12d0
000012ca: DUP5
000012cb: DUP4
000012cc: PUSH2 0x2d3b
000012cf: JUMP
000012d0: JUMPDEST
000012d1: POP
000012d2: PUSH2 0x12dc
000012d5: DUP5
000012d6: DUP5
000012d7: DUP5
000012d8: PUSH2 0x2de4
000012db: JUMP
000012dc: JUMPDEST
000012dd: SWAP5
000012de: SWAP4
000012df: POP
000012e0: POP
000012e1: POP
000012e2: POP
000012e3: JUMP
000012e4: JUMPDEST
000012e5: PUSH1 0x00
000012e7: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001
00001308: CHAINID
00001309: EQ
0000130a: PUSH2 0x131b
0000130d: JUMPI
0000130e: PUSH2 0x1316
00001311: CHAINID
00001312: PUSH2 0x2e0d
00001315: JUMP
00001316: JUMPDEST
00001317: SWAP1
00001318: POP
00001319: SWAP1
0000131a: JUMP
0000131b: JUMPDEST
0000131c: POP
0000131d: PUSH32 0x368325f84d7af525e3c442477383ea970bd6b2aecc63fa28b483aa729535fa98
0000133e: SWAP1
0000133f: JUMP
00001340: JUMPDEST
00001341: DUP2
00001342: PUSH2 0x1353
00001345: PUSH2 0x134d
00001348: DUP3
00001349: PUSH2 0x2e9e
0000134c: JUMP
0000134d: JUMPDEST
0000134e: CALLER
0000134f: PUSH2 0x2717
00001352: JUMP
00001353: JUMPDEST
00001354: PUSH2 0x136f
00001357: JUMPI
00001358: PUSH1 0x40
0000135a: MLOAD
0000135b: PUSH3 0x461bcd
0000135f: PUSH1 0xe5
00001361: SHL
00001362: DUP2
00001363: MSTORE
00001364: PUSH1 0x04
00001366: ADD
00001367: PUSH2 0x08bb
0000136a: SWAP1
0000136b: PUSH2 0x3c97
0000136e: JUMP
0000136f: JUMPDEST
00001370: PUSH2 0x1379
00001373: DUP4
00001374: DUP4
00001375: PUSH2 0x2ec0
00001378: JUMP
00001379: JUMPDEST
0000137a: POP
0000137b: POP
0000137c: POP
0000137d: JUMP
0000137e: JUMPDEST
0000137f: PUSH1 0x40
00001381: DUP1
00001382: MLOAD
00001383: DUP1
00001384: DUP3
00001385: ADD
00001386: SWAP1
00001387: SWAP2
00001388: MSTORE
00001389: PUSH1 0x01
0000138b: DUP2
0000138c: MSTORE
0000138d: PUSH1 0x31
0000138f: PUSH1 0xf8
00001391: SHL
00001392: PUSH1 0x20
00001394: DUP3
00001395: ADD
00001396: MSTORE
00001397: SWAP1
00001398: JUMP
00001399: JUMPDEST
0000139a: DUP1
0000139b: PUSH2 0x13a6
0000139e: PUSH2 0x134d
000013a1: DUP3
000013a2: PUSH2 0x2e9e
000013a5: JUMP
000013a6: JUMPDEST
000013a7: PUSH2 0x13c2
000013aa: JUMPI
000013ab: PUSH1 0x40
000013ad: MLOAD
000013ae: PUSH3 0x461bcd
000013b2: PUSH1 0xe5
000013b4: SHL
000013b5: DUP2
000013b6: MSTORE
000013b7: PUSH1 0x04
000013b9: ADD
000013ba: PUSH2 0x08bb
000013bd: SWAP1
000013be: PUSH2 0x3c97
000013c1: JUMP
000013c2: JUMPDEST
000013c3: PUSH2 0x13d4
000013c6: DUP3
000013c7: PUSH1 0x01
000013c9: PUSH1 0x01
000013cb: PUSH1 0xe0
000013cd: SHL
000013ce: SUB
000013cf: NOT
000013d0: PUSH2 0x2f2f
000013d3: JUMP
000013d4: JUMPDEST
000013d5: POP
000013d6: POP
000013d7: JUMP
000013d8: JUMPDEST
000013d9: PUSH1 0x00
000013db: DUP1
000013dc: CALLER
000013dd: ADDRESS
000013de: EQ
000013df: PUSH2 0x1419
000013e2: JUMPI
000013e3: PUSH1 0x40
000013e5: MLOAD
000013e6: PUSH3 0x461bcd
000013ea: PUSH1 0xe5
000013ec: SHL
000013ed: DUP2
000013ee: MSTORE
000013ef: PUSH1 0x20
000013f1: PUSH1 0x04
000013f3: DUP3
000013f4: ADD
000013f5: MSTORE
000013f6: PUSH1 0x0c
000013f8: PUSH1 0x24
000013fa: DUP3
000013fb: ADD
000013fc: MSTORE
000013fd: PUSH12 0x155b985d5d1a1bdc9a5e9959
0000140a: PUSH1 0xa2
0000140c: SHL
0000140d: PUSH1 0x44
0000140f: DUP3
00001410: ADD
00001411: MSTORE
00001412: PUSH1 0x64
00001414: ADD
00001415: PUSH2 0x08bb
00001418: JUMP
00001419: JUMPDEST
0000141a: PUSH2 0x142d
0000141d: PUSH1 0x01
0000141f: PUSH1 0x01
00001421: PUSH1 0xa0
00001423: SHL
00001424: SUB
00001425: DUP6
00001426: AND
00001427: DUP6
00001428: DUP6
00001429: PUSH2 0x274c
0000142c: JUMP
0000142d: JUMPDEST
0000142e: PUSH1 0x40
00001430: MLOAD
00001431: PUSH4 0x70a08231
00001436: PUSH1 0xe0
00001438: SHL
00001439: DUP2
0000143a: MSTORE
0000143b: PUSH1 0x00
0000143d: SWAP1
0000143e: PUSH1 0x01
00001440: PUSH1 0x01
00001442: PUSH1 0xa0
00001444: SHL
00001445: SUB
00001446: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001467: AND
00001468: SWAP1
00001469: PUSH4 0x70a08231
0000146e: SWAP1
0000146f: PUSH2 0x147c
00001472: SWAP1
00001473: ADDRESS
00001474: SWAP1
00001475: PUSH1 0x04
00001477: ADD
00001478: PUSH2 0x3758
0000147b: JUMP
0000147c: JUMPDEST
0000147d: PUSH1 0x20
0000147f: PUSH1 0x40
00001481: MLOAD
00001482: DUP1
00001483: DUP4
00001484: SUB
00001485: DUP2
00001486: DUP7
00001487: GAS
00001488: STATICCALL
00001489: ISZERO
0000148a: DUP1
0000148b: ISZERO
0000148c: PUSH2 0x1499
0000148f: JUMPI
00001490: RETURNDATASIZE
00001491: PUSH1 0x00
00001493: DUP1
00001494: RETURNDATACOPY
00001495: RETURNDATASIZE
00001496: PUSH1 0x00
00001498: REVERT
00001499: JUMPDEST
0000149a: POP
0000149b: POP
0000149c: POP
0000149d: POP
0000149e: PUSH1 0x40
000014a0: MLOAD
000014a1: RETURNDATASIZE
000014a2: PUSH1 0x1f
000014a4: NOT
000014a5: PUSH1 0x1f
000014a7: DUP3
000014a8: ADD
000014a9: AND
000014aa: DUP3
000014ab: ADD
000014ac: DUP1
000014ad: PUSH1 0x40
000014af: MSTORE
000014b0: POP
000014b1: DUP2
000014b2: ADD
000014b3: SWAP1
000014b4: PUSH2 0x14bd
000014b7: SWAP2
000014b8: SWAP1
000014b9: PUSH2 0x3bca
000014bc: JUMP
000014bd: JUMPDEST
000014be: PUSH1 0x0c
000014c0: SLOAD
000014c1: PUSH1 0x40
000014c3: MLOAD
000014c4: PUSH4 0x70a08231
000014c9: PUSH1 0xe0
000014cb: SHL
000014cc: DUP2
000014cd: MSTORE
000014ce: SWAP2
000014cf: SWAP3
000014d0: POP
000014d1: PUSH1 0x00
000014d3: SWAP2
000014d4: PUSH1 0x01
000014d6: PUSH1 0x01
000014d8: PUSH1 0xa0
000014da: SHL
000014db: SUB
000014dc: SWAP1
000014dd: SWAP2
000014de: AND
000014df: SWAP1
000014e0: PUSH4 0x70a08231
000014e5: SWAP1
000014e6: PUSH2 0x14f3
000014e9: SWAP1
000014ea: ADDRESS
000014eb: SWAP1
000014ec: PUSH1 0x04
000014ee: ADD
000014ef: PUSH2 0x3758
000014f2: JUMP
000014f3: JUMPDEST
000014f4: PUSH1 0x20
000014f6: PUSH1 0x40
000014f8: MLOAD
000014f9: DUP1
000014fa: DUP4
000014fb: SUB
000014fc: DUP2
000014fd: DUP7
000014fe: GAS
000014ff: STATICCALL
00001500: ISZERO
00001501: DUP1
00001502: ISZERO
00001503: PUSH2 0x1510
00001506: JUMPI
00001507: RETURNDATASIZE
00001508: PUSH1 0x00
0000150a: DUP1
0000150b: RETURNDATACOPY
0000150c: RETURNDATASIZE
0000150d: PUSH1 0x00
0000150f: REVERT
00001510: JUMPDEST
00001511: POP
00001512: POP
00001513: POP
00001514: POP
00001515: PUSH1 0x40
00001517: MLOAD
00001518: RETURNDATASIZE
00001519: PUSH1 0x1f
0000151b: NOT
0000151c: PUSH1 0x1f
0000151e: DUP3
0000151f: ADD
00001520: AND
00001521: DUP3
00001522: ADD
00001523: DUP1
00001524: PUSH1 0x40
00001526: MSTORE
00001527: POP
00001528: DUP2
00001529: ADD
0000152a: SWAP1
0000152b: PUSH2 0x1534
0000152e: SWAP2
0000152f: SWAP1
00001530: PUSH2 0x3bca
00001533: JUMP
00001534: JUMPDEST
00001535: PUSH1 0x40
00001537: MLOAD
00001538: PUSH4 0x6b810685
0000153d: PUSH1 0xe1
0000153f: SHL
00001540: DUP2
00001541: MSTORE
00001542: SWAP1
00001543: SWAP2
00001544: POP
00001545: PUSH1 0x01
00001547: PUSH1 0x01
00001549: PUSH1 0xa0
0000154b: SHL
0000154c: SUB
0000154d: DUP8
0000154e: AND
0000154f: SWAP1
00001550: PUSH4 0xd7020d0a
00001555: SWAP1
00001556: PUSH2 0x156c
00001559: SWAP1
0000155a: ADDRESS
0000155b: SWAP1
0000155c: DUP2
0000155d: SWAP1
0000155e: PUSH1 0x00
00001560: SWAP1
00001561: PUSH1 0x00
00001563: NOT
00001564: SWAP1
00001565: PUSH1 0x04
00001567: ADD
00001568: PUSH2 0x3be3
0000156b: JUMP
0000156c: JUMPDEST
0000156d: PUSH1 0x60
0000156f: PUSH1 0x40
00001571: MLOAD
00001572: DUP1
00001573: DUP4
00001574: SUB
00001575: DUP2
00001576: PUSH1 0x00
00001578: DUP8
00001579: GAS
0000157a: CALL
0000157b: ISZERO
0000157c: DUP1
0000157d: ISZERO
0000157e: PUSH2 0x158b
00001581: JUMPI
00001582: RETURNDATASIZE
00001583: PUSH1 0x00
00001585: DUP1
00001586: RETURNDATACOPY
00001587: RETURNDATASIZE
00001588: PUSH1 0x00
0000158a: REVERT
0000158b: JUMPDEST
0000158c: POP
0000158d: POP
0000158e: POP
0000158f: POP
00001590: PUSH1 0x40
00001592: MLOAD
00001593: RETURNDATASIZE
00001594: PUSH1 0x1f
00001596: NOT
00001597: PUSH1 0x1f
00001599: DUP3
0000159a: ADD
0000159b: AND
0000159c: DUP3
0000159d: ADD
0000159e: DUP1
0000159f: PUSH1 0x40
000015a1: MSTORE
000015a2: POP
000015a3: DUP2
000015a4: ADD
000015a5: SWAP1
000015a6: PUSH2 0x15af
000015a9: SWAP2
000015aa: SWAP1
000015ab: PUSH2 0x3b7f
000015ae: JUMP
000015af: JUMPDEST
000015b0: PUSH1 0x40
000015b2: MLOAD
000015b3: PUSH4 0x70a08231
000015b8: PUSH1 0xe0
000015ba: SHL
000015bb: DUP2
000015bc: MSTORE
000015bd: SWAP2
000015be: SWAP7
000015bf: POP
000015c0: SWAP5
000015c1: POP
000015c2: DUP6
000015c3: SWAP2
000015c4: POP
000015c5: DUP4
000015c6: SWAP1
000015c7: PUSH1 0x01
000015c9: PUSH1 0x01
000015cb: PUSH1 0xa0
000015cd: SHL
000015ce: SUB
000015cf: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000015f0: AND
000015f1: SWAP1
000015f2: PUSH4 0x70a08231
000015f7: SWAP1
000015f8: PUSH2 0x1605
000015fb: SWAP1
000015fc: ADDRESS
000015fd: SWAP1
000015fe: PUSH1 0x04
00001600: ADD
00001601: PUSH2 0x3758
00001604: JUMP
00001605: JUMPDEST
00001606: PUSH1 0x20
00001608: PUSH1 0x40
0000160a: MLOAD
0000160b: DUP1
0000160c: DUP4
0000160d: SUB
0000160e: DUP2
0000160f: DUP7
00001610: GAS
00001611: STATICCALL
00001612: ISZERO
00001613: DUP1
00001614: ISZERO
00001615: PUSH2 0x1622
00001618: JUMPI
00001619: RETURNDATASIZE
0000161a: PUSH1 0x00
0000161c: DUP1
0000161d: RETURNDATACOPY
0000161e: RETURNDATASIZE
0000161f: PUSH1 0x00
00001621: REVERT
00001622: JUMPDEST
00001623: POP
00001624: POP
00001625: POP
00001626: POP
00001627: PUSH1 0x40
00001629: MLOAD
0000162a: RETURNDATASIZE
0000162b: PUSH1 0x1f
0000162d: NOT
0000162e: PUSH1 0x1f
00001630: DUP3
00001631: ADD
00001632: AND
00001633: DUP3
00001634: ADD
00001635: DUP1
00001636: PUSH1 0x40
00001638: MSTORE
00001639: POP
0000163a: DUP2
0000163b: ADD
0000163c: SWAP1
0000163d: PUSH2 0x1646
00001640: SWAP2
00001641: SWAP1
00001642: PUSH2 0x3bca
00001645: JUMP
00001646: JUMPDEST
00001647: PUSH2 0x1650
0000164a: SWAP2
0000164b: SWAP1
0000164c: PUSH2 0x3cbb
0000164f: JUMP
00001650: JUMPDEST
00001651: EQ
00001652: PUSH2 0x1692
00001655: JUMPI
00001656: PUSH1 0x40
00001658: MLOAD
00001659: PUSH3 0x461bcd
0000165d: PUSH1 0xe5
0000165f: SHL
00001660: DUP2
00001661: MSTORE
00001662: PUSH1 0x20
00001664: PUSH1 0x04
00001666: DUP3
00001667: ADD
00001668: MSTORE
00001669: PUSH1 0x12
0000166b: PUSH1 0x24
0000166d: DUP3
0000166e: ADD
0000166f: MSTORE
00001670: PUSH18 0x4275726e206661696c6564202d2062617365
00001683: PUSH1 0x70
00001685: SHL
00001686: PUSH1 0x44
00001688: DUP3
00001689: ADD
0000168a: MSTORE
0000168b: PUSH1 0x64
0000168d: ADD
0000168e: PUSH2 0x08bb
00001691: JUMP
00001692: JUMPDEST
00001693: PUSH1 0x0c
00001695: SLOAD
00001696: PUSH1 0x40
00001698: MLOAD
00001699: PUSH4 0x70a08231
0000169e: PUSH1 0xe0
000016a0: SHL
000016a1: DUP2
000016a2: MSTORE
000016a3: DUP5
000016a4: SWAP2
000016a5: DUP4
000016a6: SWAP2
000016a7: PUSH1 0x01
000016a9: PUSH1 0x01
000016ab: PUSH1 0xa0
000016ad: SHL
000016ae: SUB
000016af: SWAP1
000016b0: SWAP2
000016b1: AND
000016b2: SWAP1
000016b3: PUSH4 0x70a08231
000016b8: SWAP1
000016b9: PUSH2 0x16c6
000016bc: SWAP1
000016bd: ADDRESS
000016be: SWAP1
000016bf: PUSH1 0x04
000016c1: ADD
000016c2: PUSH2 0x3758
000016c5: JUMP
000016c6: JUMPDEST
000016c7: PUSH1 0x20
000016c9: PUSH1 0x40
000016cb: MLOAD
000016cc: DUP1
000016cd: DUP4
000016ce: SUB
000016cf: DUP2
000016d0: DUP7
000016d1: GAS
000016d2: STATICCALL
000016d3: ISZERO
000016d4: DUP1
000016d5: ISZERO
000016d6: PUSH2 0x16e3
000016d9: JUMPI
000016da: RETURNDATASIZE
000016db: PUSH1 0x00
000016dd: DUP1
000016de: RETURNDATACOPY
000016df: RETURNDATASIZE
000016e0: PUSH1 0x00
000016e2: REVERT
000016e3: JUMPDEST
000016e4: POP
000016e5: POP
000016e6: POP
000016e7: POP
000016e8: PUSH1 0x40
000016ea: MLOAD
000016eb: RETURNDATASIZE
000016ec: PUSH1 0x1f
000016ee: NOT
000016ef: PUSH1 0x1f
000016f1: DUP3
000016f2: ADD
000016f3: AND
000016f4: DUP3
000016f5: ADD
000016f6: DUP1
000016f7: PUSH1 0x40
000016f9: MSTORE
000016fa: POP
000016fb: DUP2
000016fc: ADD
000016fd: SWAP1
000016fe: PUSH2 0x1707
00001701: SWAP2
00001702: SWAP1
00001703: PUSH2 0x3bca
00001706: JUMP
00001707: JUMPDEST
00001708: PUSH2 0x1711
0000170b: SWAP2
0000170c: SWAP1
0000170d: PUSH2 0x3cbb
00001710: JUMP
00001711: JUMPDEST
00001712: EQ
00001713: PUSH2 0x1756
00001716: JUMPI
00001717: PUSH1 0x40
00001719: MLOAD
0000171a: PUSH3 0x461bcd
0000171e: PUSH1 0xe5
00001720: SHL
00001721: DUP2
00001722: MSTORE
00001723: PUSH1 0x20
00001725: PUSH1 0x04
00001727: DUP3
00001728: ADD
00001729: MSTORE
0000172a: PUSH1 0x15
0000172c: PUSH1 0x24
0000172e: DUP3
0000172f: ADD
00001730: MSTORE
00001731: PUSH21 0x213ab937103330b4b632b2101690333caa37b5b2b7
00001747: PUSH1 0x59
00001749: SHL
0000174a: PUSH1 0x44
0000174c: DUP3
0000174d: ADD
0000174e: MSTORE
0000174f: PUSH1 0x64
00001751: ADD
00001752: PUSH2 0x08bb
00001755: JUMP
00001756: JUMPDEST
00001757: POP
00001758: POP
00001759: SWAP3
0000175a: POP
0000175b: SWAP3
0000175c: SWAP1
0000175d: POP
0000175e: JUMP
0000175f: JUMPDEST
00001760: PUSH1 0x00
00001762: PUSH2 0x1129
00001765: DUP3
00001766: PUSH2 0x2e9e
00001769: JUMP
0000176a: JUMPDEST
0000176b: PUSH1 0x00
0000176d: DUP1
0000176e: PUSH1 0x03
00001770: PUSH1 0x0c
00001772: PUSH1 0x18
00001774: SWAP1
00001775: SLOAD
00001776: SWAP1
00001777: PUSH2 0x0100
0000177a: EXP
0000177b: SWAP1
0000177c: DIV
0000177d: PUSH1 0xff
0000177f: AND
00001780: PUSH1 0x04
00001782: DUP2
00001783: GT
00001784: ISZERO
00001785: PUSH2 0x1790
00001788: JUMPI
00001789: PUSH2 0x1790
0000178c: PUSH2 0x3a0d
0000178f: JUMP
00001790: JUMPDEST
00001791: DUP2
00001792: PUSH1 0x04
00001794: DUP2
00001795: GT
00001796: ISZERO
00001797: PUSH2 0x17a2
0000179a: JUMPI
0000179b: PUSH2 0x17a2
0000179e: PUSH2 0x3a0d
000017a1: JUMP
000017a2: JUMPDEST
000017a3: EQ
000017a4: PUSH2 0x17bf
000017a7: JUMPI
000017a8: PUSH1 0x40
000017aa: MLOAD
000017ab: PUSH3 0x461bcd
000017af: PUSH1 0xe5
000017b1: SHL
000017b2: DUP2
000017b3: MSTORE
000017b4: PUSH1 0x04
000017b6: ADD
000017b7: PUSH2 0x08bb
000017ba: SWAP1
000017bb: PUSH2 0x3b2f
000017be: JUMP
000017bf: JUMPDEST
000017c0: PUSH1 0x0c
000017c2: SLOAD
000017c3: PUSH1 0x0e
000017c5: SLOAD
000017c6: PUSH1 0x10
000017c8: SLOAD
000017c9: PUSH1 0x40
000017cb: MLOAD
000017cc: PUSH4 0x70a08231
000017d1: PUSH1 0xe0
000017d3: SHL
000017d4: DUP2
000017d5: MSTORE
000017d6: PUSH1 0x01
000017d8: PUSH1 0x01
000017da: PUSH1 0xa0
000017dc: SHL
000017dd: SUB
000017de: SWAP4
000017df: DUP5
000017e0: AND
000017e1: SWAP4
000017e2: PUSH1 0x00
000017e4: SWAP2
000017e5: DUP5
000017e6: SWAP2
000017e7: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001808: AND
00001809: SWAP1
0000180a: PUSH4 0x70a08231
0000180f: SWAP1
00001810: PUSH2 0x181d
00001813: SWAP1
00001814: ADDRESS
00001815: SWAP1
00001816: PUSH1 0x04
00001818: ADD
00001819: PUSH2 0x3758
0000181c: JUMP
0000181d: JUMPDEST
0000181e: PUSH1 0x20
00001820: PUSH1 0x40
00001822: MLOAD
00001823: DUP1
00001824: DUP4
00001825: SUB
00001826: DUP2
00001827: DUP7
00001828: GAS
00001829: STATICCALL
0000182a: ISZERO
0000182b: DUP1
0000182c: ISZERO
0000182d: PUSH2 0x183a
00001830: JUMPI
00001831: RETURNDATASIZE
00001832: PUSH1 0x00
00001834: DUP1
00001835: RETURNDATACOPY
00001836: RETURNDATASIZE
00001837: PUSH1 0x00
00001839: REVERT
0000183a: JUMPDEST
0000183b: POP
0000183c: POP
0000183d: POP
0000183e: POP
0000183f: PUSH1 0x40
00001841: MLOAD
00001842: RETURNDATASIZE
00001843: PUSH1 0x1f
00001845: NOT
00001846: PUSH1 0x1f
00001848: DUP3
00001849: ADD
0000184a: AND
0000184b: DUP3
0000184c: ADD
0000184d: DUP1
0000184e: PUSH1 0x40
00001850: MSTORE
00001851: POP
00001852: DUP2
00001853: ADD
00001854: SWAP1
00001855: PUSH2 0x185e
00001858: SWAP2
00001859: SWAP1
0000185a: PUSH2 0x3bca
0000185d: JUMP
0000185e: JUMPDEST
0000185f: PUSH2 0x1868
00001862: SWAP2
00001863: SWAP1
00001864: PUSH2 0x3cbb
00001867: JUMP
00001868: JUMPDEST
00001869: SWAP1
0000186a: POP
0000186b: DUP2
0000186c: DUP2
0000186d: GT
0000186e: PUSH2 0x1879
00001871: JUMPI
00001872: DUP1
00001873: PUSH1 0x00
00001875: PUSH2 0x1884
00001878: JUMP
00001879: JUMPDEST
0000187a: DUP2
0000187b: PUSH2 0x1884
0000187e: DUP2
0000187f: DUP4
00001880: PUSH2 0x3cbb
00001883: JUMP
00001884: JUMPDEST
00001885: SWAP1
00001886: SWAP8
00001887: POP
00001888: SWAP6
00001889: POP
0000188a: PUSH2 0x1893
0000188d: DUP8
0000188e: DUP5
0000188f: PUSH2 0x3c3b
00001892: JUMP
00001893: JUMPDEST
00001894: PUSH1 0x0e
00001896: SSTORE
00001897: PUSH2 0x18a0
0000189a: DUP8
0000189b: DUP4
0000189c: PUSH2 0x3cbb
0000189f: JUMP
000018a0: JUMPDEST
000018a1: PUSH1 0x10
000018a3: DUP2
000018a4: SWAP1
000018a5: SSTORE
000018a6: SWAP2
000018a7: POP
000018a8: PUSH1 0x00
000018aa: DUP3
000018ab: SWAP1
000018ac: SUB
000018ad: PUSH2 0x18e5
000018b0: JUMPI
000018b1: PUSH2 0x18ba
000018b4: PUSH1 0x01
000018b6: PUSH2 0x2cd6
000018b9: JUMP
000018ba: JUMPDEST
000018bb: PUSH1 0x40
000018bd: DUP1
000018be: MLOAD
000018bf: PUSH1 0x00
000018c1: DUP1
000018c2: DUP3
000018c3: MSTORE
000018c4: PUSH1 0x20
000018c6: DUP3
000018c7: ADD
000018c8: DUP2
000018c9: SWAP1
000018ca: MSTORE
000018cb: SWAP2
000018cc: PUSH1 0x00
000018ce: DUP1
000018cf: MLOAD
000018d0: PUSH1 0x20
000018d2: PUSH2 0x3f7b
000018d5: DUP4
000018d6: CODECOPY
000018d7: DUP2
000018d8: MLOAD
000018d9: SWAP2
000018da: MSTORE
000018db: SWAP2
000018dc: ADD
000018dd: PUSH1 0x40
000018df: MLOAD
000018e0: DUP1
000018e1: SWAP2
000018e2: SUB
000018e3: SWAP1
000018e4: LOG2
000018e5: JUMPDEST
000018e6: PUSH2 0x18f9
000018e9: PUSH1 0x01
000018eb: PUSH1 0x01
000018ed: PUSH1 0xa0
000018ef: SHL
000018f0: SUB
000018f1: DUP6
000018f2: AND
000018f3: DUP11
000018f4: DUP10
000018f5: PUSH2 0x274c
000018f8: JUMP
000018f9: JUMPDEST
000018fa: DUP1
000018fb: DUP8
000018fc: LT
000018fd: ISZERO
000018fe: PUSH2 0x1940
00001901: JUMPI
00001902: PUSH2 0x1940
00001905: DUP9
00001906: PUSH2 0x190f
00001909: DUP10
0000190a: DUP5
0000190b: PUSH2 0x3cbb
0000190e: JUMP
0000190f: JUMPDEST
00001910: PUSH1 0x01
00001912: PUSH1 0x01
00001914: PUSH1 0xa0
00001916: SHL
00001917: SUB
00001918: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001939: AND
0000193a: SWAP2
0000193b: SWAP1
0000193c: PUSH2 0x274c
0000193f: JUMP
00001940: JUMPDEST
00001941: PUSH1 0x40
00001943: DUP1
00001944: MLOAD
00001945: DUP9
00001946: DUP2
00001947: MSTORE
00001948: PUSH1 0x20
0000194a: DUP2
0000194b: ADD
0000194c: DUP9
0000194d: SWAP1
0000194e: MSTORE
0000194f: PUSH32 0xc507be2ec3f5cf464d2bb8665d035a25c6156a546684fb273e1fa95906cd7fd1
00001970: SWAP2
00001971: ADD
00001972: PUSH1 0x40
00001974: MLOAD
00001975: DUP1
00001976: SWAP2
00001977: SUB
00001978: SWAP1
00001979: LOG1
0000197a: POP
0000197b: POP
0000197c: POP
0000197d: POP
0000197e: POP
0000197f: SWAP3
00001980: POP
00001981: SWAP3
00001982: SWAP1
00001983: POP
00001984: JUMP
00001985: JUMPDEST
00001986: PUSH1 0x01
00001988: PUSH1 0x01
0000198a: PUSH1 0xa0
0000198c: SHL
0000198d: SUB
0000198e: DUP2
0000198f: AND
00001990: CALLER
00001991: EQ
00001992: PUSH2 0x19d6
00001995: JUMPI
00001996: PUSH1 0x40
00001998: MLOAD
00001999: PUSH3 0x461bcd
0000199d: PUSH1 0xe5
0000199f: SHL
000019a0: DUP2
000019a1: MSTORE
000019a2: PUSH1 0x20
000019a4: PUSH1 0x04
000019a6: DUP3
000019a7: ADD
000019a8: MSTORE
000019a9: PUSH1 0x16
000019ab: PUSH1 0x24
000019ad: DUP3
000019ae: ADD
000019af: MSTORE
000019b0: PUSH22 0x2932b737bab731b29037b7363c903337b91039b2b633
000019c7: PUSH1 0x51
000019c9: SHL
000019ca: PUSH1 0x44
000019cc: DUP3
000019cd: ADD
000019ce: MSTORE
000019cf: PUSH1 0x64
000019d1: ADD
000019d2: PUSH2 0x08bb
000019d5: JUMP
000019d6: JUMPDEST
000019d7: PUSH2 0x13d4
000019da: DUP3
000019db: DUP3
000019dc: PUSH2 0x2ec0
000019df: JUMP
000019e0: JUMPDEST
000019e1: PUSH1 0x0c
000019e3: SLOAD
000019e4: PUSH1 0x00
000019e6: SWAP1
000019e7: PUSH1 0x02
000019e9: SWAP1
000019ea: PUSH1 0x01
000019ec: PUSH1 0xc0
000019ee: SHL
000019ef: SWAP1
000019f0: DIV
000019f1: PUSH1 0xff
000019f3: AND
000019f4: PUSH1 0x04
000019f6: DUP2
000019f7: GT
000019f8: ISZERO
000019f9: PUSH2 0x1a04
000019fc: JUMPI
000019fd: PUSH2 0x1a04
00001a00: PUSH2 0x3a0d
00001a03: JUMP
00001a04: JUMPDEST
00001a05: DUP2
00001a06: PUSH1 0x04
00001a08: DUP2
00001a09: GT
00001a0a: ISZERO
00001a0b: PUSH2 0x1a16
00001a0e: JUMPI
00001a0f: PUSH2 0x1a16
00001a12: PUSH2 0x3a0d
00001a15: JUMP
00001a16: JUMPDEST
00001a17: EQ
00001a18: PUSH2 0x1a33
00001a1b: JUMPI
00001a1c: PUSH1 0x40
00001a1e: MLOAD
00001a1f: PUSH3 0x461bcd
00001a23: PUSH1 0xe5
00001a25: SHL
00001a26: DUP2
00001a27: MSTORE
00001a28: PUSH1 0x04
00001a2a: ADD
00001a2b: PUSH2 0x08bb
00001a2e: SWAP1
00001a2f: PUSH2 0x3b2f
00001a32: JUMP
00001a33: JUMPDEST
00001a34: PUSH1 0x0d
00001a36: SLOAD
00001a37: PUSH1 0x0f
00001a39: SLOAD
00001a3a: PUSH1 0x40
00001a3c: MLOAD
00001a3d: PUSH4 0x70a08231
00001a42: PUSH1 0xe0
00001a44: SHL
00001a45: DUP2
00001a46: MSTORE
00001a47: PUSH1 0x01
00001a49: PUSH1 0x01
00001a4b: PUSH1 0xa0
00001a4d: SHL
00001a4e: SUB
00001a4f: SWAP1
00001a50: SWAP3
00001a51: AND
00001a52: SWAP2
00001a53: PUSH1 0x00
00001a55: SWAP1
00001a56: DUP3
00001a57: SWAP1
00001a58: DUP5
00001a59: SWAP1
00001a5a: PUSH4 0x70a08231
00001a5f: SWAP1
00001a60: PUSH2 0x1a6d
00001a63: SWAP1
00001a64: ADDRESS
00001a65: SWAP1
00001a66: PUSH1 0x04
00001a68: ADD
00001a69: PUSH2 0x3758
00001a6c: JUMP
00001a6d: JUMPDEST
00001a6e: PUSH1 0x20
00001a70: PUSH1 0x40
00001a72: MLOAD
00001a73: DUP1
00001a74: DUP4
00001a75: SUB
00001a76: DUP2
00001a77: DUP7
00001a78: GAS
00001a79: STATICCALL
00001a7a: ISZERO
00001a7b: DUP1
00001a7c: ISZERO
00001a7d: PUSH2 0x1a8a
00001a80: JUMPI
00001a81: RETURNDATASIZE
00001a82: PUSH1 0x00
00001a84: DUP1
00001a85: RETURNDATACOPY
00001a86: RETURNDATASIZE
00001a87: PUSH1 0x00
00001a89: REVERT
00001a8a: JUMPDEST
00001a8b: POP
00001a8c: POP
00001a8d: POP
00001a8e: POP
00001a8f: PUSH1 0x40
00001a91: MLOAD
00001a92: RETURNDATASIZE
00001a93: PUSH1 0x1f
00001a95: NOT
00001a96: PUSH1 0x1f
00001a98: DUP3
00001a99: ADD
00001a9a: AND
00001a9b: DUP3
00001a9c: ADD
00001a9d: DUP1
00001a9e: PUSH1 0x40
00001aa0: MSTORE
00001aa1: POP
00001aa2: DUP2
00001aa3: ADD
00001aa4: SWAP1
00001aa5: PUSH2 0x1aae
00001aa8: SWAP2
00001aa9: SWAP1
00001aaa: PUSH2 0x3bca
00001aad: JUMP
00001aae: JUMPDEST
00001aaf: PUSH2 0x1ab8
00001ab2: SWAP2
00001ab3: SWAP1
00001ab4: PUSH2 0x3cbb
00001ab7: JUMP
00001ab8: JUMPDEST
00001ab9: SWAP1
00001aba: POP
00001abb: PUSH2 0x1ac4
00001abe: DUP2
00001abf: DUP4
00001ac0: PUSH2 0x3c3b
00001ac3: JUMP
00001ac4: JUMPDEST
00001ac5: PUSH1 0x0f
00001ac7: SSTORE
00001ac8: PUSH1 0x01
00001aca: SLOAD
00001acb: DUP3
00001acc: SWAP1
00001acd: PUSH2 0x1ad7
00001ad0: SWAP1
00001ad1: DUP4
00001ad2: SWAP1
00001ad3: PUSH2 0x3cd2
00001ad6: JUMP
00001ad7: JUMPDEST
00001ad8: PUSH2 0x1ae1
00001adb: SWAP2
00001adc: SWAP1
00001add: PUSH2 0x3cf1
00001ae0: JUMP
00001ae1: JUMPDEST
00001ae2: SWAP5
00001ae3: POP
00001ae4: PUSH2 0x1aed
00001ae7: DUP7
00001ae8: DUP7
00001ae9: PUSH2 0x2fae
00001aec: JUMP
00001aed: JUMPDEST
00001aee: POP
00001aef: POP
00001af0: POP
00001af1: POP
00001af2: POP
00001af3: SWAP2
00001af4: SWAP1
00001af5: POP
00001af6: JUMP
00001af7: JUMPDEST
00001af8: PUSH1 0x00
00001afa: DUP1
00001afb: PUSH2 0x1b10
00001afe: PUSH1 0x00
00001b00: CALLDATALOAD
00001b01: PUSH1 0x01
00001b03: PUSH1 0x01
00001b05: PUSH1 0xe0
00001b07: SHL
00001b08: SUB
00001b09: NOT
00001b0a: AND
00001b0b: CALLER
00001b0c: PUSH2 0x2717
00001b0f: JUMP
00001b10: JUMPDEST
00001b11: PUSH2 0x1b2c
00001b14: JUMPI
00001b15: PUSH1 0x40
00001b17: MLOAD
00001b18: PUSH3 0x461bcd
00001b1c: PUSH1 0xe5
00001b1e: SHL
00001b1f: DUP2
00001b20: MSTORE
00001b21: PUSH1 0x04
00001b23: ADD
00001b24: PUSH2 0x08bb
00001b27: SWAP1
00001b28: PUSH2 0x3b08
00001b2b: JUMP
00001b2c: JUMPDEST
00001b2d: PUSH1 0x0c
00001b2f: SLOAD
00001b30: PUSH1 0x02
00001b32: SWAP1
00001b33: PUSH1 0x01
00001b35: PUSH1 0xc0
00001b37: SHL
00001b38: SWAP1
00001b39: DIV
00001b3a: PUSH1 0xff
00001b3c: AND
00001b3d: PUSH1 0x04
00001b3f: DUP2
00001b40: GT
00001b41: ISZERO
00001b42: PUSH2 0x1b4d
00001b45: JUMPI
00001b46: PUSH2 0x1b4d
00001b49: PUSH2 0x3a0d
00001b4c: JUMP
00001b4d: JUMPDEST
00001b4e: DUP2
00001b4f: PUSH1 0x04
00001b51: DUP2
00001b52: GT
00001b53: ISZERO
00001b54: PUSH2 0x1b5f
00001b57: JUMPI
00001b58: PUSH2 0x1b5f
00001b5b: PUSH2 0x3a0d
00001b5e: JUMP
00001b5f: JUMPDEST
00001b60: EQ
00001b61: PUSH2 0x1b7c
00001b64: JUMPI
00001b65: PUSH1 0x40
00001b67: MLOAD
00001b68: PUSH3 0x461bcd
00001b6c: PUSH1 0xe5
00001b6e: SHL
00001b6f: DUP2
00001b70: MSTORE
00001b71: PUSH1 0x04
00001b73: ADD
00001b74: PUSH2 0x08bb
00001b77: SWAP1
00001b78: PUSH2 0x3b2f
00001b7b: JUMP
00001b7c: JUMPDEST
00001b7d: PUSH1 0x0d
00001b7f: SLOAD
00001b80: PUSH1 0x40
00001b82: MLOAD
00001b83: PUSH4 0x70a08231
00001b88: PUSH1 0xe0
00001b8a: SHL
00001b8b: DUP2
00001b8c: MSTORE
00001b8d: PUSH1 0x01
00001b8f: PUSH1 0x01
00001b91: PUSH1 0xa0
00001b93: SHL
00001b94: SUB
00001b95: SWAP1
00001b96: SWAP2
00001b97: AND
00001b98: SWAP1
00001b99: PUSH1 0x00
00001b9b: SWAP1
00001b9c: DUP3
00001b9d: SWAP1
00001b9e: PUSH4 0x70a08231
00001ba3: SWAP1
00001ba4: PUSH2 0x1bb1
00001ba7: SWAP1
00001ba8: ADDRESS
00001ba9: SWAP1
00001baa: PUSH1 0x04
00001bac: ADD
00001bad: PUSH2 0x3758
00001bb0: JUMP
00001bb1: JUMPDEST
00001bb2: PUSH1 0x20
00001bb4: PUSH1 0x40
00001bb6: MLOAD
00001bb7: DUP1
00001bb8: DUP4
00001bb9: SUB
00001bba: DUP2
00001bbb: DUP7
00001bbc: GAS
00001bbd: STATICCALL
00001bbe: ISZERO
00001bbf: DUP1
00001bc0: ISZERO
00001bc1: PUSH2 0x1bce
00001bc4: JUMPI
00001bc5: RETURNDATASIZE
00001bc6: PUSH1 0x00
00001bc8: DUP1
00001bc9: RETURNDATACOPY
00001bca: RETURNDATASIZE
00001bcb: PUSH1 0x00
00001bcd: REVERT
00001bce: JUMPDEST
00001bcf: POP
00001bd0: POP
00001bd1: POP
00001bd2: POP
00001bd3: PUSH1 0x40
00001bd5: MLOAD
00001bd6: RETURNDATASIZE
00001bd7: PUSH1 0x1f
00001bd9: NOT
00001bda: PUSH1 0x1f
00001bdc: DUP3
00001bdd: ADD
00001bde: AND
00001bdf: DUP3
00001be0: ADD
00001be1: DUP1
00001be2: PUSH1 0x40
00001be4: MSTORE
00001be5: POP
00001be6: DUP2
00001be7: ADD
00001be8: SWAP1
00001be9: PUSH2 0x1bf2
00001bec: SWAP2
00001bed: SWAP1
00001bee: PUSH2 0x3bca
00001bf1: JUMP
00001bf2: JUMPDEST
00001bf3: PUSH1 0x00
00001bf5: PUSH1 0x0f
00001bf7: SSTORE
00001bf8: PUSH1 0x40
00001bfa: MLOAD
00001bfb: PUSH4 0x58969ab9
00001c00: PUSH1 0xe0
00001c02: SHL
00001c03: DUP2
00001c04: MSTORE
00001c05: SWAP1
00001c06: SWAP2
00001c07: POP
00001c08: ADDRESS
00001c09: SWAP1
00001c0a: PUSH4 0x58969ab9
00001c0f: SWAP1
00001c10: PUSH2 0x1c1f
00001c13: SWAP1
00001c14: DUP6
00001c15: SWAP1
00001c16: DUP6
00001c17: SWAP1
00001c18: PUSH1 0x04
00001c1a: ADD
00001c1b: PUSH2 0x3c0c
00001c1e: JUMP
00001c1f: JUMPDEST
00001c20: PUSH1 0x40
00001c22: DUP1
00001c23: MLOAD
00001c24: DUP1
00001c25: DUP4
00001c26: SUB
00001c27: DUP2
00001c28: PUSH1 0x00
00001c2a: DUP8
00001c2b: GAS
00001c2c: CALL
00001c2d: SWAP3
00001c2e: POP
00001c2f: POP
00001c30: POP
00001c31: DUP1
00001c32: ISZERO
00001c33: PUSH2 0x1c59
00001c36: JUMPI
00001c37: POP
00001c38: PUSH1 0x40
00001c3a: DUP1
00001c3b: MLOAD
00001c3c: PUSH1 0x1f
00001c3e: RETURNDATASIZE
00001c3f: SWAP1
00001c40: DUP2
00001c41: ADD
00001c42: PUSH1 0x1f
00001c44: NOT
00001c45: AND
00001c46: DUP3
00001c47: ADD
00001c48: SWAP1
00001c49: SWAP3
00001c4a: MSTORE
00001c4b: PUSH2 0x1c56
00001c4e: SWAP2
00001c4f: DUP2
00001c50: ADD
00001c51: SWAP1
00001c52: PUSH2 0x3d13
00001c55: JUMP
00001c56: JUMPDEST
00001c57: PUSH1 0x01
00001c59: JUMPDEST
00001c5a: PUSH2 0x1cc4
00001c5d: JUMPI
00001c5e: PUSH2 0x1c71
00001c61: PUSH1 0x01
00001c63: PUSH1 0x01
00001c65: PUSH1 0xa0
00001c67: SHL
00001c68: SUB
00001c69: DUP4
00001c6a: AND
00001c6b: CALLER
00001c6c: DUP4
00001c6d: PUSH2 0x274c
00001c70: JUMP
00001c71: JUMPDEST
00001c72: PUSH2 0x1c7c
00001c75: PUSH1 0x04
00001c77: DUP4
00001c78: PUSH2 0x284b
00001c7b: JUMP
00001c7c: JUMPDEST
00001c7d: DUP2
00001c7e: PUSH1 0x01
00001c80: PUSH1 0x01
00001c82: PUSH1 0xa0
00001c84: SHL
00001c85: SUB
00001c86: AND
00001c87: PUSH32 0xb2559daa129ad136aac2133ac6a0c75920abbef7d6663a017a94e181b13786c3
00001ca8: DUP3
00001ca9: PUSH1 0x40
00001cab: MLOAD
00001cac: PUSH2 0x1cb7
00001caf: SWAP2
00001cb0: DUP2
00001cb1: MSTORE
00001cb2: PUSH1 0x20
00001cb4: ADD
00001cb5: SWAP1
00001cb6: JUMP
00001cb7: JUMPDEST
00001cb8: PUSH1 0x40
00001cba: MLOAD
00001cbb: DUP1
00001cbc: SWAP2
00001cbd: SUB
00001cbe: SWAP1
00001cbf: LOG2
00001cc0: PUSH2 0x1d78
00001cc3: JUMP
00001cc4: JUMPDEST
00001cc5: PUSH1 0x0e
00001cc7: DUP3
00001cc8: SWAP1
00001cc9: SSTORE
00001cca: PUSH1 0x10
00001ccc: DUP2
00001ccd: SWAP1
00001cce: SSTORE
00001ccf: SWAP1
00001cd0: SWAP6
00001cd1: POP
00001cd2: SWAP4
00001cd3: POP
00001cd4: DUP5
00001cd5: DUP5
00001cd6: DUP1
00001cd7: ISZERO
00001cd8: PUSH2 0x1d37
00001cdb: JUMPI
00001cdc: PUSH2 0x1ce6
00001cdf: PUSH1 0x03
00001ce1: DUP6
00001ce2: PUSH2 0x284b
00001ce5: JUMP
00001ce6: JUMPDEST
00001ce7: PUSH1 0x40
00001ce9: DUP1
00001cea: MLOAD
00001ceb: DUP5
00001cec: DUP2
00001ced: MSTORE
00001cee: PUSH1 0x20
00001cf0: DUP2
00001cf1: ADD
00001cf2: DUP10
00001cf3: SWAP1
00001cf4: MSTORE
00001cf5: SWAP1
00001cf6: DUP2
00001cf7: ADD
00001cf8: DUP8
00001cf9: SWAP1
00001cfa: MSTORE
00001cfb: PUSH1 0x01
00001cfd: PUSH1 0x01
00001cff: PUSH1 0xa0
00001d01: SHL
00001d02: SUB
00001d03: DUP6
00001d04: AND
00001d05: SWAP1
00001d06: PUSH32 0xa4934663617b597bfe6baf57cd7218dfe65e68ad58d417b92ed0bce047cf562a
00001d27: SWAP1
00001d28: PUSH1 0x60
00001d2a: ADD
00001d2b: PUSH1 0x40
00001d2d: MLOAD
00001d2e: DUP1
00001d2f: SWAP2
00001d30: SUB
00001d31: SWAP1
00001d32: LOG2
00001d33: PUSH2 0x1d75
00001d36: JUMP
00001d37: JUMPDEST
00001d38: PUSH2 0x1d42
00001d3b: PUSH1 0x01
00001d3d: DUP6
00001d3e: PUSH2 0x284b
00001d41: JUMP
00001d42: JUMPDEST
00001d43: PUSH1 0x40
00001d45: DUP1
00001d46: MLOAD
00001d47: DUP5
00001d48: DUP2
00001d49: MSTORE
00001d4a: PUSH1 0x20
00001d4c: DUP2
00001d4d: ADD
00001d4e: DUP10
00001d4f: SWAP1
00001d50: MSTORE
00001d51: PUSH1 0x01
00001d53: PUSH1 0x01
00001d55: PUSH1 0xa0
00001d57: SHL
00001d58: SUB
00001d59: DUP7
00001d5a: AND
00001d5b: SWAP2
00001d5c: PUSH1 0x00
00001d5e: DUP1
00001d5f: MLOAD
00001d60: PUSH1 0x20
00001d62: PUSH2 0x3f7b
00001d65: DUP4
00001d66: CODECOPY
00001d67: DUP2
00001d68: MLOAD
00001d69: SWAP2
00001d6a: MSTORE
00001d6b: SWAP2
00001d6c: ADD
00001d6d: PUSH1 0x40
00001d6f: MLOAD
00001d70: DUP1
00001d71: SWAP2
00001d72: SUB
00001d73: SWAP1
00001d74: LOG2
00001d75: JUMPDEST
00001d76: POP
00001d77: POP
00001d78: JUMPDEST
00001d79: POP
00001d7a: POP
00001d7b: POP
00001d7c: SWAP1
00001d7d: SWAP2
00001d7e: JUMP
00001d7f: JUMPDEST
00001d80: PUSH1 0x0c
00001d82: SLOAD
00001d83: PUSH1 0x00
00001d85: SWAP1
00001d86: PUSH1 0x02
00001d88: SWAP1
00001d89: PUSH1 0x01
00001d8b: PUSH1 0xc0
00001d8d: SHL
00001d8e: SWAP1
00001d8f: DIV
00001d90: PUSH1 0xff
00001d92: AND
00001d93: PUSH1 0x04
00001d95: DUP2
00001d96: GT
00001d97: ISZERO
00001d98: PUSH2 0x1da3
00001d9b: JUMPI
00001d9c: PUSH2 0x1da3
00001d9f: PUSH2 0x3a0d
00001da2: JUMP
00001da3: JUMPDEST
00001da4: DUP2
00001da5: PUSH1 0x04
00001da7: DUP2
00001da8: GT
00001da9: ISZERO
00001daa: PUSH2 0x1db5
00001dad: JUMPI
00001dae: PUSH2 0x1db5
00001db1: PUSH2 0x3a0d
00001db4: JUMP
00001db5: JUMPDEST
00001db6: EQ
00001db7: PUSH2 0x1dd2
00001dba: JUMPI
00001dbb: PUSH1 0x40
00001dbd: MLOAD
00001dbe: PUSH3 0x461bcd
00001dc2: PUSH1 0xe5
00001dc4: SHL
00001dc5: DUP2
00001dc6: MSTORE
00001dc7: PUSH1 0x04
00001dc9: ADD
00001dca: PUSH2 0x08bb
00001dcd: SWAP1
00001dce: PUSH2 0x3b2f
00001dd1: JUMP
00001dd2: JUMPDEST
00001dd3: PUSH1 0x0d
00001dd5: SLOAD
00001dd6: PUSH1 0x0f
00001dd8: SLOAD
00001dd9: PUSH1 0x01
00001ddb: SLOAD
00001ddc: ADDRESS
00001ddd: PUSH1 0x00
00001ddf: DUP2
00001de0: DUP2
00001de1: MSTORE
00001de2: PUSH1 0x02
00001de4: PUSH1 0x20
00001de6: MSTORE
00001de7: PUSH1 0x40
00001de9: SWAP1
00001dea: KECCAK256
00001deb: SLOAD
00001dec: PUSH1 0x01
00001dee: PUSH1 0x01
00001df0: PUSH1 0xa0
00001df2: SHL
00001df3: SUB
00001df4: SWAP1
00001df5: SWAP5
00001df6: AND
00001df7: SWAP4
00001df8: SWAP1
00001df9: PUSH2 0x1e02
00001dfc: SWAP1
00001dfd: DUP3
00001dfe: PUSH2 0x2fcc
00001e01: JUMP
00001e02: JUMPDEST
00001e03: POP
00001e04: DUP2
00001e05: PUSH2 0x1e0e
00001e08: DUP3
00001e09: DUP6
00001e0a: PUSH2 0x3cd2
00001e0d: JUMP
00001e0e: JUMPDEST
00001e0f: PUSH2 0x1e18
00001e12: SWAP2
00001e13: SWAP1
00001e14: PUSH2 0x3cf1
00001e17: JUMP
00001e18: JUMPDEST
00001e19: SWAP6
00001e1a: POP
00001e1b: PUSH2 0x1e2e
00001e1e: PUSH1 0x01
00001e20: PUSH1 0x01
00001e22: PUSH1 0xa0
00001e24: SHL
00001e25: SUB
00001e26: DUP6
00001e27: AND
00001e28: DUP9
00001e29: DUP9
00001e2a: PUSH2 0x274c
00001e2d: JUMP
00001e2e: JUMPDEST
00001e2f: PUSH2 0x1e38
00001e32: DUP7
00001e33: DUP5
00001e34: PUSH2 0x3cbb
00001e37: JUMP
00001e38: JUMPDEST
00001e39: PUSH1 0x0f
00001e3b: SSTORE
00001e3c: POP
00001e3d: SWAP4
00001e3e: SWAP6
00001e3f: SWAP5
00001e40: POP
00001e41: POP
00001e42: POP
00001e43: POP
00001e44: POP
00001e45: JUMP
00001e46: JUMPDEST
00001e47: PUSH1 0x05
00001e49: DUP1
00001e4a: SLOAD
00001e4b: PUSH2 0x0f52
00001e4e: SWAP1
00001e4f: PUSH2 0x3c53
00001e52: JUMP
00001e53: JUMPDEST
00001e54: PUSH1 0x0c
00001e56: SLOAD
00001e57: PUSH1 0x00
00001e59: SWAP1
00001e5a: PUSH1 0x01
00001e5c: SWAP1
00001e5d: PUSH1 0x01
00001e5f: PUSH1 0xc0
00001e61: SHL
00001e62: SWAP1
00001e63: DIV
00001e64: PUSH1 0xff
00001e66: AND
00001e67: PUSH1 0x04
00001e69: DUP2
00001e6a: GT
00001e6b: ISZERO
00001e6c: PUSH2 0x1e77
00001e6f: JUMPI
00001e70: PUSH2 0x1e77
00001e73: PUSH2 0x3a0d
00001e76: JUMP
00001e77: JUMPDEST
00001e78: DUP2
00001e79: PUSH1 0x04
00001e7b: DUP2
00001e7c: GT
00001e7d: ISZERO
00001e7e: PUSH2 0x1e89
00001e81: JUMPI
00001e82: PUSH2 0x1e89
00001e85: PUSH2 0x3a0d
00001e88: JUMP
00001e89: JUMPDEST
00001e8a: EQ
00001e8b: PUSH2 0x1ea6
00001e8e: JUMPI
00001e8f: PUSH1 0x40
00001e91: MLOAD
00001e92: PUSH3 0x461bcd
00001e96: PUSH1 0xe5
00001e98: SHL
00001e99: DUP2
00001e9a: MSTORE
00001e9b: PUSH1 0x04
00001e9d: ADD
00001e9e: PUSH2 0x08bb
00001ea1: SWAP1
00001ea2: PUSH2 0x3b2f
00001ea5: JUMP
00001ea6: JUMPDEST
00001ea7: PUSH1 0x0e
00001ea9: SLOAD
00001eaa: ADDRESS
00001eab: PUSH1 0x00
00001ead: SWAP1
00001eae: DUP2
00001eaf: MSTORE
00001eb0: PUSH1 0x02
00001eb2: PUSH1 0x20
00001eb4: MSTORE
00001eb5: PUSH1 0x40
00001eb7: SWAP1
00001eb8: KECCAK256
00001eb9: SLOAD
00001eba: PUSH1 0x01
00001ebc: SLOAD
00001ebd: PUSH2 0x1ec6
00001ec0: DUP3
00001ec1: DUP5
00001ec2: PUSH2 0x3cd2
00001ec5: JUMP
00001ec6: JUMPDEST
00001ec7: PUSH2 0x1ed0
00001eca: SWAP2
00001ecb: SWAP1
00001ecc: PUSH2 0x3cf1
00001ecf: JUMP
00001ed0: JUMPDEST
00001ed1: SWAP4
00001ed2: POP
00001ed3: PUSH2 0x1edc
00001ed6: DUP5
00001ed7: DUP4
00001ed8: PUSH2 0x3cbb
00001edb: JUMP
00001edc: JUMPDEST
00001edd: PUSH1 0x0e
00001edf: SSTORE
00001ee0: PUSH2 0x1ee9
00001ee3: ADDRESS
00001ee4: DUP3
00001ee5: PUSH2 0x2fcc
00001ee8: JUMP
00001ee9: JUMPDEST
00001eea: POP
00001eeb: PUSH2 0x1f1e
00001eee: PUSH1 0x01
00001ef0: PUSH1 0x01
00001ef2: PUSH1 0xa0
00001ef4: SHL
00001ef5: SUB
00001ef6: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001f17: AND
00001f18: DUP7
00001f19: DUP7
00001f1a: PUSH2 0x274c
00001f1d: JUMP
00001f1e: JUMPDEST
00001f1f: POP
00001f20: POP
00001f21: POP
00001f22: SWAP2
00001f23: SWAP1
00001f24: POP
00001f25: JUMP
00001f26: JUMPDEST
00001f27: PUSH2 0x1f3c
00001f2a: PUSH1 0x00
00001f2c: CALLDATALOAD
00001f2d: PUSH1 0x01
00001f2f: PUSH1 0x01
00001f31: PUSH1 0xe0
00001f33: SHL
00001f34: SUB
00001f35: NOT
00001f36: AND
00001f37: CALLER
00001f38: PUSH2 0x2717
00001f3b: JUMP
00001f3c: JUMPDEST
00001f3d: PUSH2 0x1f58
00001f40: JUMPI
00001f41: PUSH1 0x40
00001f43: MLOAD
00001f44: PUSH3 0x461bcd
00001f48: PUSH1 0xe5
00001f4a: SHL
00001f4b: DUP2
00001f4c: MSTORE
00001f4d: PUSH1 0x04
00001f4f: ADD
00001f50: PUSH2 0x08bb
00001f53: SWAP1
00001f54: PUSH2 0x3b08
00001f57: JUMP
00001f58: JUMPDEST
00001f59: DUP2
00001f5a: PUSH4 0xffffffff
00001f5f: AND
00001f60: DUP4
00001f61: PUSH4 0xffffffff
00001f66: AND
00001f67: GT
00001f68: ISZERO
00001f69: PUSH2 0x1fa6
00001f6c: JUMPI
00001f6d: PUSH1 0x40
00001f6f: MLOAD
00001f70: PUSH3 0x461bcd
00001f74: PUSH1 0xe5
00001f76: SHL
00001f77: DUP2
00001f78: MSTORE
00001f79: PUSH1 0x20
00001f7b: PUSH1 0x04
00001f7d: DUP3
00001f7e: ADD
00001f7f: MSTORE
00001f80: PUSH1 0x0f
00001f82: PUSH1 0x24
00001f84: DUP3
00001f85: ADD
00001f86: MSTORE
00001f87: PUSH15 0x125b98dbdc9c9958dd081a5b9c1d5d
00001f97: PUSH1 0x8a
00001f99: SHL
00001f9a: PUSH1 0x44
00001f9c: DUP3
00001f9d: ADD
00001f9e: MSTORE
00001f9f: PUSH1 0x64
00001fa1: ADD
00001fa2: PUSH2 0x08bb
00001fa5: JUMP
00001fa6: JUMPDEST
00001fa7: PUSH1 0x08
00001fa9: SLOAD
00001faa: PUSH1 0x01
00001fac: PUSH1 0x01
00001fae: PUSH1 0xa0
00001fb0: SHL
00001fb1: SUB
00001fb2: AND
00001fb3: PUSH2 0x1ff6
00001fb6: JUMPI
00001fb7: PUSH1 0x40
00001fb9: MLOAD
00001fba: PUSH3 0x461bcd
00001fbe: PUSH1 0xe5
00001fc0: SHL
00001fc1: DUP2
00001fc2: MSTORE
00001fc3: PUSH1 0x20
00001fc5: PUSH1 0x04
00001fc7: DUP3
00001fc8: ADD
00001fc9: MSTORE
00001fca: PUSH1 0x15
00001fcc: PUSH1 0x24
00001fce: DUP3
00001fcf: ADD
00001fd0: MSTORE
00001fd1: PUSH21 0x14995dd85c991cc81d1bdad95b881b9bdd081cd95d
00001fe7: PUSH1 0x5a
00001fe9: SHL
00001fea: PUSH1 0x44
00001fec: DUP3
00001fed: ADD
00001fee: MSTORE
00001fef: PUSH1 0x64
00001ff1: ADD
00001ff2: PUSH2 0x08bb
00001ff5: JUMP
00001ff6: JUMPDEST
00001ff7: PUSH1 0x09
00001ff9: SLOAD
00001ffa: PUSH4 0xffffffff
00001fff: AND
00002000: PUSH2 0x2008
00002003: TIMESTAMP
00002004: PUSH2 0x2fea
00002007: JUMP
00002008: JUMPDEST
00002009: PUSH4 0xffffffff
0000200e: AND
0000200f: LT
00002010: DUP1
00002011: PUSH2 0x2036
00002014: JUMPI
00002015: POP
00002016: PUSH1 0x09
00002018: SLOAD
00002019: PUSH1 0x01
0000201b: PUSH1 0x20
0000201d: SHL
0000201e: SWAP1
0000201f: DIV
00002020: PUSH4 0xffffffff
00002025: AND
00002026: PUSH2 0x202e
00002029: TIMESTAMP
0000202a: PUSH2 0x2fea
0000202d: JUMP
0000202e: JUMPDEST
0000202f: PUSH4 0xffffffff
00002034: AND
00002035: GT
00002036: JUMPDEST
00002037: PUSH2 0x2074
0000203a: JUMPI
0000203b: PUSH1 0x40
0000203d: MLOAD
0000203e: PUSH3 0x461bcd
00002042: PUSH1 0xe5
00002044: SHL
00002045: DUP2
00002046: MSTORE
00002047: PUSH1 0x20
00002049: PUSH1 0x04
0000204b: DUP3
0000204c: ADD
0000204d: MSTORE
0000204e: PUSH1 0x0f
00002050: PUSH1 0x24
00002052: DUP3
00002053: ADD
00002054: MSTORE
00002055: PUSH15 0x4f6e676f696e672072657761726473
00002065: PUSH1 0x88
00002067: SHL
00002068: PUSH1 0x44
0000206a: DUP3
0000206b: ADD
0000206c: MSTORE
0000206d: PUSH1 0x64
0000206f: ADD
00002070: PUSH2 0x08bb
00002073: JUMP
00002074: JUMPDEST
00002075: PUSH2 0x207c
00002078: PUSH2 0x3014
0000207b: JUMP
0000207c: JUMPDEST
0000207d: PUSH1 0x09
0000207f: DUP1
00002080: SLOAD
00002081: PUSH4 0xffffffff
00002086: DUP6
00002087: DUP2
00002088: AND
00002089: PUSH8 0xffffffffffffffff
00002092: NOT
00002093: SWAP1
00002094: SWAP3
00002095: AND
00002096: DUP3
00002097: OR
00002098: PUSH1 0x01
0000209a: PUSH1 0x20
0000209c: SHL
0000209d: SWAP2
0000209e: DUP7
0000209f: AND
000020a0: SWAP2
000020a1: DUP3
000020a2: MUL
000020a3: OR
000020a4: SWAP1
000020a5: SWAP3
000020a6: SSTORE
000020a7: PUSH1 0x0a
000020a9: DUP1
000020aa: SLOAD
000020ab: PUSH1 0x01
000020ad: PUSH1 0x01
000020af: PUSH1 0x80
000020b1: SHL
000020b2: SUB
000020b3: AND
000020b4: PUSH1 0x01
000020b6: PUSH1 0x80
000020b8: SHL
000020b9: DUP4
000020ba: MUL
000020bb: PUSH1 0x01
000020bd: PUSH1 0x01
000020bf: PUSH1 0xa0
000020c1: SHL
000020c2: SUB
000020c3: AND
000020c4: OR
000020c5: PUSH1 0x01
000020c7: PUSH1 0xa0
000020c9: SHL
000020ca: PUSH1 0x01
000020cc: PUSH1 0x01
000020ce: PUSH1 0x60
000020d0: SHL
000020d1: SUB
000020d2: DUP7
000020d3: AND
000020d4: SWAP1
000020d5: DUP2
000020d6: MUL
000020d7: SWAP2
000020d8: SWAP1
000020d9: SWAP2
000020da: OR
000020db: SWAP1
000020dc: SWAP2
000020dd: SSTORE
000020de: PUSH1 0x40
000020e0: DUP1
000020e1: MLOAD
000020e2: SWAP3
000020e3: DUP4
000020e4: MSTORE
000020e5: PUSH1 0x20
000020e7: DUP4
000020e8: ADD
000020e9: SWAP4
000020ea: SWAP1
000020eb: SWAP4
000020ec: MSTORE
000020ed: SWAP2
000020ee: DUP2
000020ef: ADD
000020f0: SWAP2
000020f1: SWAP1
000020f2: SWAP2
000020f3: MSTORE
000020f4: PUSH32 0x95efd8a2a0aa591f48fd9673cf5d13c2150ca7a1fe1cbe438dd3f0ae47064663
00002115: SWAP1
00002116: PUSH1 0x60
00002118: ADD
00002119: PUSH1 0x40
0000211b: MLOAD
0000211c: DUP1
0000211d: SWAP2
0000211e: SUB
0000211f: SWAP1
00002120: LOG1
00002121: POP
00002122: POP
00002123: POP
00002124: JUMP
00002125: JUMPDEST
00002126: PUSH1 0x00
00002128: PUSH2 0x0fe0
0000212b: CALLER
0000212c: DUP5
0000212d: DUP5
0000212e: PUSH2 0x2de4
00002131: JUMP
00002132: JUMPDEST
00002133: PUSH1 0x00
00002135: JUMPDEST
00002136: DUP3
00002137: MLOAD
00002138: DUP2
00002139: LT
0000213a: ISZERO
0000213b: PUSH2 0x1379
0000213e: JUMPI
0000213f: PUSH2 0x2163
00002142: PUSH2 0x134d
00002145: DUP5
00002146: DUP4
00002147: DUP2
00002148: MLOAD
00002149: DUP2
0000214a: LT
0000214b: PUSH2 0x2156
0000214e: JUMPI
0000214f: PUSH2 0x2156
00002152: PUSH2 0x3d37
00002155: JUMP
00002156: JUMPDEST
00002157: PUSH1 0x20
00002159: MUL
0000215a: PUSH1 0x20
0000215c: ADD
0000215d: ADD
0000215e: MLOAD
0000215f: PUSH2 0x2e9e
00002162: JUMP
00002163: JUMPDEST
00002164: PUSH2 0x217f
00002167: JUMPI
00002168: PUSH1 0x40
0000216a: MLOAD
0000216b: PUSH3 0x461bcd
0000216f: PUSH1 0xe5
00002171: SHL
00002172: DUP2
00002173: MSTORE
00002174: PUSH1 0x04
00002176: ADD
00002177: PUSH2 0x08bb
0000217a: SWAP1
0000217b: PUSH2 0x3c97
0000217e: JUMP
0000217f: JUMPDEST
00002180: PUSH2 0x21a2
00002183: DUP4
00002184: DUP3
00002185: DUP2
00002186: MLOAD
00002187: DUP2
00002188: LT
00002189: PUSH2 0x2194
0000218c: JUMPI
0000218d: PUSH2 0x2194
00002190: PUSH2 0x3d37
00002193: JUMP
00002194: JUMPDEST
00002195: PUSH1 0x20
00002197: MUL
00002198: PUSH1 0x20
0000219a: ADD
0000219b: ADD
0000219c: MLOAD
0000219d: DUP4
0000219e: PUSH2 0x2ec0
000021a1: JUMP
000021a2: JUMPDEST
000021a3: DUP1
000021a4: PUSH2 0x21ac
000021a7: DUP2
000021a8: PUSH2 0x3d4d
000021ab: JUMP
000021ac: JUMPDEST
000021ad: SWAP2
000021ae: POP
000021af: POP
000021b0: PUSH2 0x2135
000021b3: JUMP
000021b4: JUMPDEST
000021b5: DUP2
000021b6: PUSH2 0x21c1
000021b9: PUSH2 0x134d
000021bc: DUP3
000021bd: PUSH2 0x2e9e
000021c0: JUMP
000021c1: JUMPDEST
000021c2: PUSH2 0x21dd
000021c5: JUMPI
000021c6: PUSH1 0x40
000021c8: MLOAD
000021c9: PUSH3 0x461bcd
000021cd: PUSH1 0xe5
000021cf: SHL
000021d0: DUP2
000021d1: MSTORE
000021d2: PUSH1 0x04
000021d4: ADD
000021d5: PUSH2 0x08bb
000021d8: SWAP1
000021d9: PUSH2 0x3c97
000021dc: JUMP
000021dd: JUMPDEST
000021de: PUSH2 0x1379
000021e1: DUP4
000021e2: DUP4
000021e3: PUSH2 0x2f2f
000021e6: JUMP
000021e7: JUMPDEST
000021e8: PUSH1 0x0c
000021ea: SLOAD
000021eb: PUSH1 0x00
000021ed: SWAP1
000021ee: PUSH1 0x01
000021f0: SWAP1
000021f1: PUSH1 0x01
000021f3: PUSH1 0xc0
000021f5: SHL
000021f6: SWAP1
000021f7: DIV
000021f8: PUSH1 0xff
000021fa: AND
000021fb: PUSH1 0x04
000021fd: DUP2
000021fe: GT
000021ff: ISZERO
00002200: PUSH2 0x220b
00002203: JUMPI
00002204: PUSH2 0x220b
00002207: PUSH2 0x3a0d
0000220a: JUMP
0000220b: JUMPDEST
0000220c: DUP2
0000220d: PUSH1 0x04
0000220f: DUP2
00002210: GT
00002211: ISZERO
00002212: PUSH2 0x221d
00002215: JUMPI
00002216: PUSH2 0x221d
00002219: PUSH2 0x3a0d
0000221c: JUMP
0000221d: JUMPDEST
0000221e: EQ
0000221f: PUSH2 0x223a
00002222: JUMPI
00002223: PUSH1 0x40
00002225: MLOAD
00002226: PUSH3 0x461bcd
0000222a: PUSH1 0xe5
0000222c: SHL
0000222d: DUP2
0000222e: MSTORE
0000222f: PUSH1 0x04
00002231: ADD
00002232: PUSH2 0x08bb
00002235: SWAP1
00002236: PUSH2 0x3b2f
00002239: JUMP
0000223a: JUMPDEST
0000223b: PUSH1 0x0e
0000223d: SLOAD
0000223e: PUSH1 0x40
00002240: MLOAD
00002241: PUSH4 0x70a08231
00002246: PUSH1 0xe0
00002248: SHL
00002249: DUP2
0000224a: MSTORE
0000224b: PUSH1 0x00
0000224d: SWAP1
0000224e: DUP3
0000224f: SWAP1
00002250: PUSH1 0x01
00002252: PUSH1 0x01
00002254: PUSH1 0xa0
00002256: SHL
00002257: SUB
00002258: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00002279: AND
0000227a: SWAP1
0000227b: PUSH4 0x70a08231
00002280: SWAP1
00002281: PUSH2 0x228e
00002284: SWAP1
00002285: ADDRESS
00002286: SWAP1
00002287: PUSH1 0x04
00002289: ADD
0000228a: PUSH2 0x3758
0000228d: JUMP
0000228e: JUMPDEST
0000228f: PUSH1 0x20
00002291: PUSH1 0x40
00002293: MLOAD
00002294: DUP1
00002295: DUP4
00002296: SUB
00002297: DUP2
00002298: DUP7
00002299: GAS
0000229a: STATICCALL
0000229b: ISZERO
0000229c: DUP1
0000229d: ISZERO
0000229e: PUSH2 0x22ab
000022a1: JUMPI
000022a2: RETURNDATASIZE
000022a3: PUSH1 0x00
000022a5: DUP1
000022a6: RETURNDATACOPY
000022a7: RETURNDATASIZE
000022a8: PUSH1 0x00
000022aa: REVERT
000022ab: JUMPDEST
000022ac: POP
000022ad: POP
000022ae: POP
000022af: POP
000022b0: PUSH1 0x40
000022b2: MLOAD
000022b3: RETURNDATASIZE
000022b4: PUSH1 0x1f
000022b6: NOT
000022b7: PUSH1 0x1f
000022b9: DUP3
000022ba: ADD
000022bb: AND
000022bc: DUP3
000022bd: ADD
000022be: DUP1
000022bf: PUSH1 0x40
000022c1: MSTORE
000022c2: POP
000022c3: DUP2
000022c4: ADD
000022c5: SWAP1
000022c6: PUSH2 0x22cf
000022c9: SWAP2
000022ca: SWAP1
000022cb: PUSH2 0x3bca
000022ce: JUMP
000022cf: JUMPDEST
000022d0: PUSH2 0x22d9
000022d3: SWAP2
000022d4: SWAP1
000022d5: PUSH2 0x3cbb
000022d8: JUMP
000022d9: JUMPDEST
000022da: SWAP1
000022db: POP
000022dc: PUSH2 0x22e5
000022df: DUP2
000022e0: DUP4
000022e1: PUSH2 0x3c3b
000022e4: JUMP
000022e5: JUMPDEST
000022e6: PUSH1 0x0e
000022e8: SSTORE
000022e9: PUSH1 0x01
000022eb: SLOAD
000022ec: DUP3
000022ed: SWAP1
000022ee: PUSH2 0x22f8
000022f1: SWAP1
000022f2: DUP4
000022f3: SWAP1
000022f4: PUSH2 0x3cd2
000022f7: JUMP
000022f8: JUMPDEST
000022f9: PUSH2 0x2302
000022fc: SWAP2
000022fd: SWAP1
000022fe: PUSH2 0x3cf1
00002301: JUMP
00002302: JUMPDEST
00002303: SWAP4
00002304: POP
00002305: PUSH2 0x230e
00002308: DUP6
00002309: DUP6
0000230a: PUSH2 0x2fae
0000230d: JUMP
0000230e: JUMPDEST
0000230f: POP
00002310: POP
00002311: POP
00002312: POP
00002313: SWAP2
00002314: SWAP1
00002315: POP
00002316: JUMP
00002317: JUMPDEST
00002318: TIMESTAMP
00002319: DUP5
0000231a: LT
0000231b: ISZERO
0000231c: PUSH2 0x2367
0000231f: JUMPI
00002320: PUSH1 0x40
00002322: MLOAD
00002323: PUSH3 0x461bcd
00002327: PUSH1 0xe5
00002329: SHL
0000232a: DUP2
0000232b: MSTORE
0000232c: PUSH1 0x20
0000232e: PUSH1 0x04
00002330: DUP3
00002331: ADD
00002332: MSTORE
00002333: PUSH1 0x1d
00002335: PUSH1 0x24
00002337: DUP3
00002338: ADD
00002339: MSTORE
0000233a: PUSH32 0x45524332305065726d69743a206578706972656420646561646c696e65000000
0000235b: PUSH1 0x44
0000235d: DUP3
0000235e: ADD
0000235f: MSTORE
00002360: PUSH1 0x64
00002362: ADD
00002363: PUSH2 0x08bb
00002366: JUMP
00002367: JUMPDEST
00002368: PUSH1 0x01
0000236a: PUSH1 0x01
0000236c: PUSH1 0xa0
0000236e: SHL
0000236f: SUB
00002370: DUP8
00002371: AND
00002372: PUSH1 0x00
00002374: SWAP1
00002375: DUP2
00002376: MSTORE
00002377: PUSH1 0x07
00002379: PUSH1 0x20
0000237b: MSTORE
0000237c: PUSH1 0x40
0000237e: DUP2
0000237f: KECCAK256
00002380: DUP1
00002381: SLOAD
00002382: PUSH32 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9
000023a3: SWAP2
000023a4: DUP11
000023a5: SWAP2
000023a6: DUP11
000023a7: SWAP2
000023a8: DUP11
000023a9: SWAP2
000023aa: SWAP1
000023ab: DUP7
000023ac: PUSH2 0x23b4
000023af: DUP4
000023b0: PUSH2 0x3d4d
000023b3: JUMP
000023b4: JUMPDEST
000023b5: SWAP1
000023b6: SWAP2
000023b7: SSTORE
000023b8: POP
000023b9: PUSH1 0x40
000023bb: DUP1
000023bc: MLOAD
000023bd: PUSH1 0x20
000023bf: DUP2
000023c0: ADD
000023c1: SWAP7
000023c2: SWAP1
000023c3: SWAP7
000023c4: MSTORE
000023c5: PUSH1 0x01
000023c7: PUSH1 0x01
000023c9: PUSH1 0xa0
000023cb: SHL
000023cc: SUB
000023cd: SWAP5
000023ce: DUP6
000023cf: AND
000023d0: SWAP1
000023d1: DUP7
000023d2: ADD
000023d3: MSTORE
000023d4: SWAP3
000023d5: SWAP1
000023d6: SWAP2
000023d7: AND
000023d8: PUSH1 0x60
000023da: DUP5
000023db: ADD
000023dc: MSTORE
000023dd: PUSH1 0x80
000023df: DUP4
000023e0: ADD
000023e1: MSTORE
000023e2: PUSH1 0xa0
000023e4: DUP3
000023e5: ADD
000023e6: MSTORE
000023e7: PUSH1 0xc0
000023e9: DUP2
000023ea: ADD
000023eb: DUP7
000023ec: SWAP1
000023ed: MSTORE
000023ee: PUSH1 0xe0
000023f0: ADD
000023f1: PUSH1 0x40
000023f3: MLOAD
000023f4: PUSH1 0x20
000023f6: DUP2
000023f7: DUP4
000023f8: SUB
000023f9: SUB
000023fa: DUP2
000023fb: MSTORE
000023fc: SWAP1
000023fd: PUSH1 0x40
000023ff: MSTORE
00002400: DUP1
00002401: MLOAD
00002402: SWAP1
00002403: PUSH1 0x20
00002405: ADD
00002406: KECCAK256
00002407: SWAP1
00002408: POP
00002409: PUSH1 0x00
0000240b: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001
0000242c: CHAINID
0000242d: EQ
0000242e: PUSH2 0x243f
00002431: JUMPI
00002432: PUSH2 0x243a
00002435: CHAINID
00002436: PUSH2 0x2e0d
00002439: JUMP
0000243a: JUMPDEST
0000243b: PUSH2 0x2461
0000243e: JUMP
0000243f: JUMPDEST
00002440: PUSH32 0x368325f84d7af525e3c442477383ea970bd6b2aecc63fa28b483aa729535fa98
00002461: JUMPDEST
00002462: PUSH1 0x40
00002464: MLOAD
00002465: PUSH2 0x1901
00002468: PUSH1 0xf0
0000246a: SHL
0000246b: PUSH1 0x20
0000246d: DUP3
0000246e: ADD
0000246f: MSTORE
00002470: PUSH1 0x22
00002472: DUP2
00002473: ADD
00002474: SWAP2
00002475: SWAP1
00002476: SWAP2
00002477: MSTORE
00002478: PUSH1 0x42
0000247a: DUP2
0000247b: ADD
0000247c: DUP4
0000247d: SWAP1
0000247e: MSTORE
0000247f: PUSH1 0x62
00002481: ADD
00002482: PUSH1 0x40
00002484: DUP1
00002485: MLOAD
00002486: PUSH1 0x1f
00002488: NOT
00002489: DUP2
0000248a: DUP5
0000248b: SUB
0000248c: ADD
0000248d: DUP2
0000248e: MSTORE
0000248f: DUP3
00002490: DUP3
00002491: MSTORE
00002492: DUP1
00002493: MLOAD
00002494: PUSH1 0x20
00002496: SWAP2
00002497: DUP3
00002498: ADD
00002499: KECCAK256
0000249a: PUSH1 0x00
0000249c: DUP1
0000249d: DUP6
0000249e: MSTORE
0000249f: SWAP2
000024a0: DUP5
000024a1: ADD
000024a2: DUP1
000024a3: DUP5
000024a4: MSTORE
000024a5: DUP2
000024a6: SWAP1
000024a7: MSTORE
000024a8: PUSH1 0xff
000024aa: DUP10
000024ab: AND
000024ac: SWAP3
000024ad: DUP5
000024ae: ADD
000024af: SWAP3
000024b0: SWAP1
000024b1: SWAP3
000024b2: MSTORE
000024b3: PUSH1 0x60
000024b5: DUP4
000024b6: ADD
000024b7: DUP8
000024b8: SWAP1
000024b9: MSTORE
000024ba: PUSH1 0x80
000024bc: DUP4
000024bd: ADD
000024be: DUP7
000024bf: SWAP1
000024c0: MSTORE
000024c1: SWAP1
000024c2: SWAP3
000024c3: POP
000024c4: SWAP1
000024c5: PUSH1 0x01
000024c7: SWAP1
000024c8: PUSH1 0xa0
000024ca: ADD
000024cb: PUSH1 0x20
000024cd: PUSH1 0x40
000024cf: MLOAD
000024d0: PUSH1 0x20
000024d2: DUP2
000024d3: SUB
000024d4: SWAP1
000024d5: DUP1
000024d6: DUP5
000024d7: SUB
000024d8: SWAP1
000024d9: DUP6
000024da: GAS
000024db: STATICCALL
000024dc: ISZERO
000024dd: DUP1
000024de: ISZERO
000024df: PUSH2 0x24ec
000024e2: JUMPI
000024e3: RETURNDATASIZE
000024e4: PUSH1 0x00
000024e6: DUP1
000024e7: RETURNDATACOPY
000024e8: RETURNDATASIZE
000024e9: PUSH1 0x00
000024eb: REVERT
000024ec: JUMPDEST
000024ed: POP
000024ee: POP
000024ef: PUSH1 0x40
000024f1: MLOAD
000024f2: PUSH1 0x1f
000024f4: NOT
000024f5: ADD
000024f6: MLOAD
000024f7: SWAP2
000024f8: POP
000024f9: POP
000024fa: PUSH1 0x01
000024fc: PUSH1 0x01
000024fe: PUSH1 0xa0
00002500: SHL
00002501: SUB
00002502: DUP2
00002503: AND
00002504: ISZERO
00002505: DUP1
00002506: ISZERO
00002507: SWAP1
00002508: PUSH2 0x2522
0000250b: JUMPI
0000250c: POP
0000250d: DUP10
0000250e: PUSH1 0x01
00002510: PUSH1 0x01
00002512: PUSH1 0xa0
00002514: SHL
00002515: SUB
00002516: AND
00002517: DUP2
00002518: PUSH1 0x01
0000251a: PUSH1 0x01
0000251c: PUSH1 0xa0
0000251e: SHL
0000251f: SUB
00002520: AND
00002521: EQ
00002522: JUMPDEST
00002523: PUSH2 0x256e
00002526: JUMPI
00002527: PUSH1 0x40
00002529: MLOAD
0000252a: PUSH3 0x461bcd
0000252e: PUSH1 0xe5
00002530: SHL
00002531: DUP2
00002532: MSTORE
00002533: PUSH1 0x20
00002535: PUSH1 0x04
00002537: DUP3
00002538: ADD
00002539: MSTORE
0000253a: PUSH1 0x1e
0000253c: PUSH1 0x24
0000253e: DUP3
0000253f: ADD
00002540: MSTORE
00002541: PUSH32 0x45524332305065726d69743a20696e76616c6964207369676e61747572650000
00002562: PUSH1 0x44
00002564: DUP3
00002565: ADD
00002566: MSTORE
00002567: PUSH1 0x64
00002569: ADD
0000256a: PUSH2 0x08bb
0000256d: JUMP
0000256e: JUMPDEST
0000256f: PUSH2 0x2579
00002572: DUP11
00002573: DUP11
00002574: DUP11
00002575: PUSH2 0x2a72
00002578: JUMP
00002579: JUMPDEST
0000257a: POP
0000257b: POP
0000257c: POP
0000257d: POP
0000257e: POP
0000257f: POP
00002580: POP
00002581: POP
00002582: POP
00002583: POP
00002584: POP
00002585: JUMP
00002586: JUMPDEST
00002587: PUSH1 0x00
00002589: PUSH2 0x1129
0000258c: DUP3
0000258d: DUP4
0000258e: PUSH2 0x2c2e
00002591: JUMP
00002592: JUMPDEST
00002593: DUP2
00002594: PUSH2 0x259f
00002597: PUSH2 0x134d
0000259a: DUP3
0000259b: PUSH2 0x2e9e
0000259e: JUMP
0000259f: JUMPDEST
000025a0: PUSH2 0x25bb
000025a3: JUMPI
000025a4: PUSH1 0x40
000025a6: MLOAD
000025a7: PUSH3 0x461bcd
000025ab: PUSH1 0xe5
000025ad: SHL
000025ae: DUP2
000025af: MSTORE
000025b0: PUSH1 0x04
000025b2: ADD
000025b3: PUSH2 0x08bb
000025b6: SWAP1
000025b7: PUSH2 0x3c97
000025ba: JUMP
000025bb: JUMPDEST
000025bc: PUSH2 0x1379
000025bf: DUP4
000025c0: DUP4
000025c1: PUSH2 0x31ed
000025c4: JUMP
000025c5: JUMPDEST
000025c6: PUSH2 0x25db
000025c9: PUSH1 0x00
000025cb: CALLDATALOAD
000025cc: PUSH1 0x01
000025ce: PUSH1 0x01
000025d0: PUSH1 0xe0
000025d2: SHL
000025d3: SUB
000025d4: NOT
000025d5: AND
000025d6: CALLER
000025d7: PUSH2 0x2717
000025da: JUMP
000025db: JUMPDEST
000025dc: PUSH2 0x25f7
000025df: JUMPI
000025e0: PUSH1 0x40
000025e2: MLOAD
000025e3: PUSH3 0x461bcd
000025e7: PUSH1 0xe5
000025e9: SHL
000025ea: DUP2
000025eb: MSTORE
000025ec: PUSH1 0x04
000025ee: ADD
000025ef: PUSH2 0x08bb
000025f2: SWAP1
000025f3: PUSH2 0x3b08
000025f6: JUMP
000025f7: JUMPDEST
000025f8: PUSH1 0x08
000025fa: SLOAD
000025fb: PUSH1 0x01
000025fd: PUSH1 0x01
000025ff: PUSH1 0xa0
00002601: SHL
00002602: SUB
00002603: AND
00002604: ISZERO
00002605: PUSH2 0x264c
00002608: JUMPI
00002609: PUSH1 0x40
0000260b: MLOAD
0000260c: PUSH3 0x461bcd
00002610: PUSH1 0xe5
00002612: SHL
00002613: DUP2
00002614: MSTORE
00002615: PUSH1 0x20
00002617: PUSH1 0x04
00002619: DUP3
0000261a: ADD
0000261b: MSTORE
0000261c: PUSH1 0x19
0000261e: PUSH1 0x24
00002620: DUP3
00002621: ADD
00002622: MSTORE
00002623: PUSH25 0x14995dd85c991cc81d1bdad95b88185b1c9958591e481cd95d
0000263d: PUSH1 0x3a
0000263f: SHL
00002640: PUSH1 0x44
00002642: DUP3
00002643: ADD
00002644: MSTORE
00002645: PUSH1 0x64
00002647: ADD
00002648: PUSH2 0x08bb
0000264b: JUMP
0000264c: JUMPDEST
0000264d: PUSH1 0x08
0000264f: DUP1
00002650: SLOAD
00002651: PUSH1 0x01
00002653: PUSH1 0x01
00002655: PUSH1 0xa0
00002657: SHL
00002658: SUB
00002659: NOT
0000265a: AND
0000265b: PUSH1 0x01
0000265d: PUSH1 0x01
0000265f: PUSH1 0xa0
00002661: SHL
00002662: SUB
00002663: DUP4
00002664: AND
00002665: OR
00002666: SWAP1
00002667: SSTORE
00002668: PUSH1 0x40
0000266a: MLOAD
0000266b: PUSH32 0x45a4cbe003c343d60028e5acd63eecf588647b0eb369733afa2c0482180d4f74
0000268c: SWAP1
0000268d: PUSH2 0x2697
00002690: SWAP1
00002691: DUP4
00002692: SWAP1
00002693: PUSH2 0x3758
00002696: JUMP
00002697: JUMPDEST
00002698: PUSH1 0x40
0000269a: MLOAD
0000269b: DUP1
0000269c: SWAP2
0000269d: SUB
0000269e: SWAP1
0000269f: LOG1
000026a0: POP
000026a1: JUMP
000026a2: JUMPDEST
000026a3: PUSH1 0x00
000026a5: JUMPDEST
000026a6: DUP3
000026a7: MLOAD
000026a8: DUP2
000026a9: LT
000026aa: ISZERO
000026ab: PUSH2 0x1379
000026ae: JUMPI
000026af: PUSH2 0x26c6
000026b2: PUSH2 0x134d
000026b5: DUP5
000026b6: DUP4
000026b7: DUP2
000026b8: MLOAD
000026b9: DUP2
000026ba: LT
000026bb: PUSH2 0x2156
000026be: JUMPI
000026bf: PUSH2 0x2156
000026c2: PUSH2 0x3d37
000026c5: JUMP
000026c6: JUMPDEST
000026c7: PUSH2 0x26e2
000026ca: JUMPI
000026cb: PUSH1 0x40
000026cd: MLOAD
000026ce: PUSH3 0x461bcd
000026d2: PUSH1 0xe5
000026d4: SHL
000026d5: DUP2
000026d6: MSTORE
000026d7: PUSH1 0x04
000026d9: ADD
000026da: PUSH2 0x08bb
000026dd: SWAP1
000026de: PUSH2 0x3c97
000026e1: JUMP
000026e2: JUMPDEST
000026e3: PUSH2 0x2705
000026e6: DUP4
000026e7: DUP3
000026e8: DUP2
000026e9: MLOAD
000026ea: DUP2
000026eb: LT
000026ec: PUSH2 0x26f7
000026ef: JUMPI
000026f0: PUSH2 0x26f7
000026f3: PUSH2 0x3d37
000026f6: JUMP
000026f7: JUMPDEST
000026f8: PUSH1 0x20
000026fa: MUL
000026fb: PUSH1 0x20
000026fd: ADD
000026fe: ADD
000026ff: MLOAD
00002700: DUP4
00002701: PUSH2 0x31ed
00002704: JUMP
00002705: JUMPDEST
00002706: DUP1
00002707: PUSH2 0x270f
0000270a: DUP2
0000270b: PUSH2 0x3d4d
0000270e: JUMP
0000270f: JUMPDEST
00002710: SWAP2
00002711: POP
00002712: POP
00002713: PUSH2 0x26a5
00002716: JUMP
00002717: JUMPDEST
00002718: PUSH1 0x01
0000271a: PUSH1 0x01
0000271c: PUSH1 0xe0
0000271e: SHL
0000271f: SUB
00002720: NOT
00002721: DUP3
00002722: AND
00002723: PUSH1 0x00
00002725: SWAP1
00002726: DUP2
00002727: MSTORE
00002728: PUSH1 0x20
0000272a: DUP2
0000272b: DUP2
0000272c: MSTORE
0000272d: PUSH1 0x40
0000272f: DUP1
00002730: DUP4
00002731: KECCAK256
00002732: PUSH1 0x01
00002734: PUSH1 0x01
00002736: PUSH1 0xa0
00002738: SHL
00002739: SUB
0000273a: DUP6
0000273b: AND
0000273c: DUP5
0000273d: MSTORE
0000273e: SWAP1
0000273f: SWAP2
00002740: MSTORE
00002741: SWAP1
00002742: KECCAK256
00002743: SLOAD
00002744: PUSH1 0xff
00002746: AND
00002747: SWAP3
00002748: SWAP2
00002749: POP
0000274a: POP
0000274b: JUMP
0000274c: JUMPDEST
0000274d: PUSH1 0x00
0000274f: DUP1
00002750: DUP5
00002751: PUSH1 0x01
00002753: PUSH1 0x01
00002755: PUSH1 0xa0
00002757: SHL
00002758: SUB
00002759: AND
0000275a: PUSH4 0xa9059cbb
0000275f: PUSH1 0xe0
00002761: SHL
00002762: DUP6
00002763: DUP6
00002764: PUSH1 0x40
00002766: MLOAD
00002767: PUSH1 0x24
00002769: ADD
0000276a: PUSH2 0x2774
0000276d: SWAP3
0000276e: SWAP2
0000276f: SWAP1
00002770: PUSH2 0x3c0c
00002773: JUMP
00002774: JUMPDEST
00002775: PUSH1 0x40
00002777: DUP1
00002778: MLOAD
00002779: PUSH1 0x1f
0000277b: NOT
0000277c: DUP2
0000277d: DUP5
0000277e: SUB
0000277f: ADD
00002780: DUP2
00002781: MSTORE
00002782: SWAP2
00002783: DUP2
00002784: MSTORE
00002785: PUSH1 0x20
00002787: DUP3
00002788: ADD
00002789: DUP1
0000278a: MLOAD
0000278b: PUSH1 0x01
0000278d: PUSH1 0x01
0000278f: PUSH1 0xe0
00002791: SHL
00002792: SUB
00002793: AND
00002794: PUSH1 0x01
00002796: PUSH1 0x01
00002798: PUSH1 0xe0
0000279a: SHL
0000279b: SUB
0000279c: NOT
0000279d: SWAP1
0000279e: SWAP5
0000279f: AND
000027a0: SWAP4
000027a1: SWAP1
000027a2: SWAP4
000027a3: OR
000027a4: SWAP1
000027a5: SWAP3
000027a6: MSTORE
000027a7: SWAP1
000027a8: MLOAD
000027a9: PUSH2 0x27b2
000027ac: SWAP2
000027ad: SWAP1
000027ae: PUSH2 0x3d66
000027b1: JUMP
000027b2: JUMPDEST
000027b3: PUSH1 0x00
000027b5: PUSH1 0x40
000027b7: MLOAD
000027b8: DUP1
000027b9: DUP4
000027ba: SUB
000027bb: DUP2
000027bc: PUSH1 0x00
000027be: DUP7
000027bf: GAS
000027c0: CALL
000027c1: SWAP2
000027c2: POP
000027c3: POP
000027c4: RETURNDATASIZE
000027c5: DUP1
000027c6: PUSH1 0x00
000027c8: DUP2
000027c9: EQ
000027ca: PUSH2 0x27ef
000027cd: JUMPI
000027ce: PUSH1 0x40
000027d0: MLOAD
000027d1: SWAP2
000027d2: POP
000027d3: PUSH1 0x1f
000027d5: NOT
000027d6: PUSH1 0x3f
000027d8: RETURNDATASIZE
000027d9: ADD
000027da: AND
000027db: DUP3
000027dc: ADD
000027dd: PUSH1 0x40
000027df: MSTORE
000027e0: RETURNDATASIZE
000027e1: DUP3
000027e2: MSTORE
000027e3: RETURNDATASIZE
000027e4: PUSH1 0x00
000027e6: PUSH1 0x20
000027e8: DUP5
000027e9: ADD
000027ea: RETURNDATACOPY
000027eb: PUSH2 0x27f4
000027ee: JUMP
000027ef: JUMPDEST
000027f0: PUSH1 0x60
000027f2: SWAP2
000027f3: POP
000027f4: JUMPDEST
000027f5: POP
000027f6: SWAP2
000027f7: POP
000027f8: SWAP2
000027f9: POP
000027fa: DUP2
000027fb: DUP1
000027fc: ISZERO
000027fd: PUSH2 0x281e
00002800: JUMPI
00002801: POP
00002802: DUP1
00002803: MLOAD
00002804: ISZERO
00002805: DUP1
00002806: PUSH2 0x281e
00002809: JUMPI
0000280a: POP
0000280b: DUP1
0000280c: DUP1
0000280d: PUSH1 0x20
0000280f: ADD
00002810: SWAP1
00002811: MLOAD
00002812: DUP2
00002813: ADD
00002814: SWAP1
00002815: PUSH2 0x281e
00002818: SWAP2
00002819: SWAP1
0000281a: PUSH2 0x3d82
0000281d: JUMP
0000281e: JUMPDEST
0000281f: PUSH2 0x2844
00002822: JUMPI
00002823: PUSH2 0x282b
00002826: DUP2
00002827: PUSH2 0x325e
0000282a: JUMP
0000282b: JUMPDEST
0000282c: PUSH1 0x40
0000282e: MLOAD
0000282f: PUSH3 0x461bcd
00002833: PUSH1 0xe5
00002835: SHL
00002836: DUP2
00002837: MSTORE
00002838: PUSH1 0x04
0000283a: ADD
0000283b: PUSH2 0x08bb
0000283e: SWAP2
0000283f: SWAP1
00002840: PUSH2 0x36ba
00002843: JUMP
00002844: JUMPDEST
00002845: POP
00002846: POP
00002847: POP
00002848: POP
00002849: POP
0000284a: JUMP
0000284b: JUMPDEST
0000284c: PUSH1 0x02
0000284e: DUP3
0000284f: PUSH1 0x04
00002851: DUP2
00002852: GT
00002853: ISZERO
00002854: PUSH2 0x285f
00002857: JUMPI
00002858: PUSH2 0x285f
0000285b: PUSH2 0x3a0d
0000285e: JUMP
0000285f: JUMPDEST
00002860: SUB
00002861: PUSH2 0x298e
00002864: JUMPI
00002865: PUSH1 0x0d
00002867: DUP1
00002868: SLOAD
00002869: PUSH1 0x01
0000286b: PUSH1 0x01
0000286d: PUSH1 0xa0
0000286f: SHL
00002870: SUB
00002871: NOT
00002872: AND
00002873: PUSH1 0x01
00002875: PUSH1 0x01
00002877: PUSH1 0xa0
00002879: SHL
0000287a: SUB
0000287b: DUP4
0000287c: AND
0000287d: SWAP1
0000287e: DUP2
0000287f: OR
00002880: SWAP1
00002881: SWAP2
00002882: SSTORE
00002883: PUSH1 0x40
00002885: DUP1
00002886: MLOAD
00002887: PUSH4 0xdc3bfba9
0000288c: PUSH1 0xe0
0000288e: SHL
0000288f: DUP2
00002890: MSTORE
00002891: SWAP1
00002892: MLOAD
00002893: PUSH4 0xdc3bfba9
00002898: SWAP2
00002899: PUSH1 0x04
0000289b: DUP1
0000289c: DUP3
0000289d: ADD
0000289e: SWAP3
0000289f: PUSH1 0x20
000028a1: SWAP3
000028a2: SWAP1
000028a3: SWAP2
000028a4: SWAP1
000028a5: DUP3
000028a6: SWAP1
000028a7: SUB
000028a8: ADD
000028a9: DUP2
000028aa: DUP7
000028ab: GAS
000028ac: STATICCALL
000028ad: ISZERO
000028ae: DUP1
000028af: ISZERO
000028b0: PUSH2 0x28bd
000028b3: JUMPI
000028b4: RETURNDATASIZE
000028b5: PUSH1 0x00
000028b7: DUP1
000028b8: RETURNDATACOPY
000028b9: RETURNDATASIZE
000028ba: PUSH1 0x00
000028bc: REVERT
000028bd: JUMPDEST
000028be: POP
000028bf: POP
000028c0: POP
000028c1: POP
000028c2: PUSH1 0x40
000028c4: MLOAD
000028c5: RETURNDATASIZE
000028c6: PUSH1 0x1f
000028c8: NOT
000028c9: PUSH1 0x1f
000028cb: DUP3
000028cc: ADD
000028cd: AND
000028ce: DUP3
000028cf: ADD
000028d0: DUP1
000028d1: PUSH1 0x40
000028d3: MSTORE
000028d4: POP
000028d5: DUP2
000028d6: ADD
000028d7: SWAP1
000028d8: PUSH2 0x28e1
000028db: SWAP2
000028dc: SWAP1
000028dd: PUSH2 0x3b62
000028e0: JUMP
000028e1: JUMPDEST
000028e2: PUSH1 0x0c
000028e4: PUSH1 0x00
000028e6: PUSH2 0x0100
000028e9: EXP
000028ea: DUP2
000028eb: SLOAD
000028ec: DUP2
000028ed: PUSH1 0x01
000028ef: PUSH1 0x01
000028f1: PUSH1 0xa0
000028f3: SHL
000028f4: SUB
000028f5: MUL
000028f6: NOT
000028f7: AND
000028f8: SWAP1
000028f9: DUP4
000028fa: PUSH1 0x01
000028fc: PUSH1 0x01
000028fe: PUSH1 0xa0
00002900: SHL
00002901: SUB
00002902: AND
00002903: MUL
00002904: OR
00002905: SWAP1
00002906: SSTORE
00002907: POP
00002908: DUP1
00002909: PUSH1 0x01
0000290b: PUSH1 0x01
0000290d: PUSH1 0xa0
0000290f: SHL
00002910: SUB
00002911: AND
00002912: PUSH4 0x204f83f9
00002917: PUSH1 0x40
00002919: MLOAD
0000291a: DUP2
0000291b: PUSH4 0xffffffff
00002920: AND
00002921: PUSH1 0xe0
00002923: SHL
00002924: DUP2
00002925: MSTORE
00002926: PUSH1 0x04
00002928: ADD
00002929: PUSH1 0x20
0000292b: PUSH1 0x40
0000292d: MLOAD
0000292e: DUP1
0000292f: DUP4
00002930: SUB
00002931: DUP2
00002932: DUP7
00002933: GAS
00002934: STATICCALL
00002935: ISZERO
00002936: DUP1
00002937: ISZERO
00002938: PUSH2 0x2945
0000293b: JUMPI
0000293c: RETURNDATASIZE
0000293d: PUSH1 0x00
0000293f: DUP1
00002940: RETURNDATACOPY
00002941: RETURNDATASIZE
00002942: PUSH1 0x00
00002944: REVERT
00002945: JUMPDEST
00002946: POP
00002947: POP
00002948: POP
00002949: POP
0000294a: PUSH1 0x40
0000294c: MLOAD
0000294d: RETURNDATASIZE
0000294e: PUSH1 0x1f
00002950: NOT
00002951: PUSH1 0x1f
00002953: DUP3
00002954: ADD
00002955: AND
00002956: DUP3
00002957: ADD
00002958: DUP1
00002959: PUSH1 0x40
0000295b: MSTORE
0000295c: POP
0000295d: DUP2
0000295e: ADD
0000295f: SWAP1
00002960: PUSH2 0x2969
00002963: SWAP2
00002964: SWAP1
00002965: PUSH2 0x3bad
00002968: JUMP
00002969: JUMPDEST
0000296a: PUSH1 0x0c
0000296c: PUSH1 0x14
0000296e: PUSH2 0x0100
00002971: EXP
00002972: DUP2
00002973: SLOAD
00002974: DUP2
00002975: PUSH4 0xffffffff
0000297a: MUL
0000297b: NOT
0000297c: AND
0000297d: SWAP1
0000297e: DUP4
0000297f: PUSH4 0xffffffff
00002984: AND
00002985: MUL
00002986: OR
00002987: SWAP1
00002988: SSTORE
00002989: POP
0000298a: PUSH2 0x2a44
0000298d: JUMP
0000298e: JUMPDEST
0000298f: PUSH1 0x01
00002991: DUP3
00002992: PUSH1 0x04
00002994: DUP2
00002995: GT
00002996: ISZERO
00002997: PUSH2 0x29a2
0000299a: JUMPI
0000299b: PUSH2 0x29a2
0000299e: PUSH2 0x3a0d
000029a1: JUMP
000029a2: JUMPDEST
000029a3: SUB
000029a4: PUSH2 0x29cc
000029a7: JUMPI
000029a8: PUSH1 0x0c
000029aa: DUP1
000029ab: SLOAD
000029ac: PUSH1 0x01
000029ae: PUSH1 0x01
000029b0: PUSH1 0xc0
000029b2: SHL
000029b3: SUB
000029b4: NOT
000029b5: AND
000029b6: SWAP1
000029b7: SSTORE
000029b8: PUSH1 0x0d
000029ba: DUP1
000029bb: SLOAD
000029bc: PUSH1 0x01
000029be: PUSH1 0x01
000029c0: PUSH1 0xa0
000029c2: SHL
000029c3: SUB
000029c4: NOT
000029c5: AND
000029c6: SWAP1
000029c7: SSTORE
000029c8: PUSH2 0x2a44
000029cb: JUMP
000029cc: JUMPDEST
000029cd: PUSH1 0x03
000029cf: DUP3
000029d0: PUSH1 0x04
000029d2: DUP2
000029d3: GT
000029d4: ISZERO
000029d5: PUSH2 0x29e0
000029d8: JUMPI
000029d9: PUSH2 0x29e0
000029dc: PUSH2 0x3a0d
000029df: JUMP
000029e0: JUMPDEST
000029e1: SUB
000029e2: PUSH2 0x2a0a
000029e5: JUMPI
000029e6: PUSH1 0x0c
000029e8: DUP1
000029e9: SLOAD
000029ea: PUSH4 0xffffffff
000029ef: PUSH1 0xa0
000029f1: SHL
000029f2: NOT
000029f3: AND
000029f4: SWAP1
000029f5: SSTORE
000029f6: PUSH1 0x0d
000029f8: DUP1
000029f9: SLOAD
000029fa: PUSH1 0x01
000029fc: PUSH1 0x01
000029fe: PUSH1 0xa0
00002a00: SHL
00002a01: SUB
00002a02: NOT
00002a03: AND
00002a04: SWAP1
00002a05: SSTORE
00002a06: PUSH2 0x2a44
00002a09: JUMP
00002a0a: JUMPDEST
00002a0b: PUSH1 0x04
00002a0d: DUP3
00002a0e: PUSH1 0x04
00002a10: DUP2
00002a11: GT
00002a12: ISZERO
00002a13: PUSH2 0x2a1e
00002a16: JUMPI
00002a17: PUSH2 0x2a1e
00002a1a: PUSH2 0x3a0d
00002a1d: JUMP
00002a1e: JUMPDEST
00002a1f: SUB
00002a20: PUSH2 0x2a44
00002a23: JUMPI
00002a24: PUSH1 0x0c
00002a26: DUP1
00002a27: SLOAD
00002a28: PUSH4 0xffffffff
00002a2d: PUSH1 0xa0
00002a2f: SHL
00002a30: NOT
00002a31: AND
00002a32: SWAP1
00002a33: SSTORE
00002a34: PUSH1 0x0d
00002a36: DUP1
00002a37: SLOAD
00002a38: PUSH1 0x01
00002a3a: PUSH1 0x01
00002a3c: PUSH1 0xa0
00002a3e: SHL
00002a3f: SUB
00002a40: NOT
00002a41: AND
00002a42: SWAP1
00002a43: SSTORE
00002a44: JUMPDEST
00002a45: PUSH1 0x0c
00002a47: DUP1
00002a48: SLOAD
00002a49: DUP4
00002a4a: SWAP2
00002a4b: SWAP1
00002a4c: PUSH1 0xff
00002a4e: PUSH1 0xc0
00002a50: SHL
00002a51: NOT
00002a52: AND
00002a53: PUSH1 0x01
00002a55: PUSH1 0xc0
00002a57: SHL
00002a58: DUP4
00002a59: PUSH1 0x04
00002a5b: DUP2
00002a5c: GT
00002a5d: ISZERO
00002a5e: PUSH2 0x2a69
00002a61: JUMPI
00002a62: PUSH2 0x2a69
00002a65: PUSH2 0x3a0d
00002a68: JUMP
00002a69: JUMPDEST
00002a6a: MUL
00002a6b: OR
00002a6c: SWAP1
00002a6d: SSTORE
00002a6e: POP
00002a6f: POP
00002a70: POP
00002a71: JUMP
00002a72: JUMPDEST
00002a73: PUSH1 0x01
00002a75: PUSH1 0x01
00002a77: PUSH1 0xa0
00002a79: SHL
00002a7a: SUB
00002a7b: DUP4
00002a7c: DUP2
00002a7d: AND
00002a7e: PUSH1 0x00
00002a80: DUP2
00002a81: DUP2
00002a82: MSTORE
00002a83: PUSH1 0x03
00002a85: PUSH1 0x20
00002a87: SWAP1
00002a88: DUP2
00002a89: MSTORE
00002a8a: PUSH1 0x40
00002a8c: DUP1
00002a8d: DUP4
00002a8e: KECCAK256
00002a8f: SWAP5
00002a90: DUP8
00002a91: AND
00002a92: DUP1
00002a93: DUP5
00002a94: MSTORE
00002a95: SWAP5
00002a96: DUP3
00002a97: MSTORE
00002a98: DUP1
00002a99: DUP4
00002a9a: KECCAK256
00002a9b: DUP7
00002a9c: SWAP1
00002a9d: SSTORE
00002a9e: MLOAD
00002a9f: DUP6
00002aa0: DUP2
00002aa1: MSTORE
00002aa2: SWAP2
00002aa3: SWAP4
00002aa4: SWAP3
00002aa5: SWAP2
00002aa6: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
00002ac7: SWAP2
00002ac8: ADD
00002ac9: JUMPDEST
00002aca: PUSH1 0x40
00002acc: MLOAD
00002acd: DUP1
00002ace: SWAP2
00002acf: SUB
00002ad0: SWAP1
00002ad1: LOG3
00002ad2: POP
00002ad3: PUSH1 0x01
00002ad5: SWAP4
00002ad6: SWAP3
00002ad7: POP
00002ad8: POP
00002ad9: POP
00002ada: JUMP
00002adb: JUMPDEST
00002adc: PUSH1 0x0c
00002ade: SLOAD
00002adf: PUSH1 0x00
00002ae1: SWAP1
00002ae2: DUP2
00002ae3: SWAP1
00002ae4: PUSH1 0x01
00002ae6: PUSH1 0xc0
00002ae8: SHL
00002ae9: SWAP1
00002aea: DIV
00002aeb: PUSH1 0xff
00002aed: AND
00002aee: PUSH1 0x04
00002af0: DUP2
00002af1: GT
00002af2: ISZERO
00002af3: PUSH2 0x2afe
00002af6: JUMPI
00002af7: PUSH2 0x2afe
00002afa: PUSH2 0x3a0d
00002afd: JUMP
00002afe: JUMPDEST
00002aff: DUP2
00002b00: PUSH1 0x04
00002b02: DUP2
00002b03: GT
00002b04: ISZERO
00002b05: PUSH2 0x2b10
00002b08: JUMPI
00002b09: PUSH2 0x2b10
00002b0c: PUSH2 0x3a0d
00002b0f: JUMP
00002b10: JUMPDEST
00002b11: EQ
00002b12: PUSH2 0x2b2d
00002b15: JUMPI
00002b16: PUSH1 0x40
00002b18: MLOAD
00002b19: PUSH3 0x461bcd
00002b1d: PUSH1 0xe5
00002b1f: SHL
00002b20: DUP2
00002b21: MSTORE
00002b22: PUSH1 0x04
00002b24: ADD
00002b25: PUSH2 0x08bb
00002b28: SWAP1
00002b29: PUSH2 0x3b2f
00002b2c: JUMP
00002b2d: JUMPDEST
00002b2e: PUSH1 0x0c
00002b30: DUP1
00002b31: SLOAD
00002b32: PUSH1 0x01
00002b34: PUSH1 0x01
00002b36: PUSH1 0xa0
00002b38: SHL
00002b39: SUB
00002b3a: NOT
00002b3b: AND
00002b3c: SWAP1
00002b3d: SSTORE
00002b3e: PUSH1 0x40
00002b40: MLOAD
00002b41: PUSH4 0x70a08231
00002b46: PUSH1 0xe0
00002b48: SHL
00002b49: DUP2
00002b4a: MSTORE
00002b4b: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00002b6c: PUSH1 0x01
00002b6e: PUSH1 0x01
00002b70: PUSH1 0xa0
00002b72: SHL
00002b73: SUB
00002b74: AND
00002b75: SWAP1
00002b76: PUSH4 0x70a08231
00002b7b: SWAP1
00002b7c: PUSH2 0x2b89
00002b7f: SWAP1
00002b80: ADDRESS
00002b81: SWAP1
00002b82: PUSH1 0x04
00002b84: ADD
00002b85: PUSH2 0x3758
00002b88: JUMP
00002b89: JUMPDEST
00002b8a: PUSH1 0x20
00002b8c: PUSH1 0x40
00002b8e: MLOAD
00002b8f: DUP1
00002b90: DUP4
00002b91: SUB
00002b92: DUP2
00002b93: DUP7
00002b94: GAS
00002b95: STATICCALL
00002b96: ISZERO
00002b97: DUP1
00002b98: ISZERO
00002b99: PUSH2 0x2ba6
00002b9c: JUMPI
00002b9d: RETURNDATASIZE
00002b9e: PUSH1 0x00
00002ba0: DUP1
00002ba1: RETURNDATACOPY
00002ba2: RETURNDATASIZE
00002ba3: PUSH1 0x00
00002ba5: REVERT
00002ba6: JUMPDEST
00002ba7: POP
00002ba8: POP
00002ba9: POP
00002baa: POP
00002bab: PUSH1 0x40
00002bad: MLOAD
00002bae: RETURNDATASIZE
00002baf: PUSH1 0x1f
00002bb1: NOT
00002bb2: PUSH1 0x1f
00002bb4: DUP3
00002bb5: ADD
00002bb6: AND
00002bb7: DUP3
00002bb8: ADD
00002bb9: DUP1
00002bba: PUSH1 0x40
00002bbc: MSTORE
00002bbd: POP
00002bbe: DUP2
00002bbf: ADD
00002bc0: SWAP1
00002bc1: PUSH2 0x2bca
00002bc4: SWAP2
00002bc5: SWAP1
00002bc6: PUSH2 0x3bca
00002bc9: JUMP
00002bca: JUMPDEST
00002bcb: PUSH1 0x0e
00002bcd: DUP2
00002bce: SWAP1
00002bcf: SSTORE
00002bd0: SWAP2
00002bd1: POP
00002bd2: DUP2
00002bd3: PUSH2 0x2c13
00002bd6: JUMPI
00002bd7: PUSH1 0x40
00002bd9: MLOAD
00002bda: PUSH3 0x461bcd
00002bde: PUSH1 0xe5
00002be0: SHL
00002be1: DUP2
00002be2: MSTORE
00002be3: PUSH1 0x20
00002be5: PUSH1 0x04
00002be7: DUP3
00002be8: ADD
00002be9: MSTORE
00002bea: PUSH1 0x12
00002bec: PUSH1 0x24
00002bee: DUP3
00002bef: ADD
00002bf0: MSTORE
00002bf1: PUSH18 0x2737ba1032b737bab3b4103130b9b29034b7
00002c04: PUSH1 0x71
00002c06: SHL
00002c07: PUSH1 0x44
00002c09: DUP3
00002c0a: ADD
00002c0b: MSTORE
00002c0c: PUSH1 0x64
00002c0e: ADD
00002c0f: PUSH2 0x08bb
00002c12: JUMP
00002c13: JUMPDEST
00002c14: PUSH2 0x2c1d
00002c17: DUP4
00002c18: DUP4
00002c19: PUSH2 0x2fae
00002c1c: JUMP
00002c1d: JUMPDEST
00002c1e: POP
00002c1f: PUSH2 0x2c28
00002c22: PUSH1 0x01
00002c24: PUSH2 0x2cd6
00002c27: JUMP
00002c28: JUMPDEST
00002c29: POP
00002c2a: SWAP2
00002c2b: SWAP1
00002c2c: POP
00002c2d: JUMP
00002c2e: JUMPDEST
00002c2f: PUSH1 0x00
00002c31: PUSH2 0x2c38
00002c34: PUSH2 0x3014
00002c37: JUMP
00002c38: JUMPDEST
00002c39: PUSH2 0x2c41
00002c3c: DUP4
00002c3d: PUSH2 0x32bd
00002c40: JUMP
00002c41: JUMPDEST
00002c42: PUSH1 0x01
00002c44: PUSH1 0x01
00002c46: PUSH1 0xa0
00002c48: SHL
00002c49: SUB
00002c4a: DUP1
00002c4b: DUP6
00002c4c: AND
00002c4d: PUSH1 0x00
00002c4f: SWAP1
00002c50: DUP2
00002c51: MSTORE
00002c52: PUSH1 0x0b
00002c54: PUSH1 0x20
00002c56: MSTORE
00002c57: PUSH1 0x40
00002c59: SWAP1
00002c5a: KECCAK256
00002c5b: DUP1
00002c5c: SLOAD
00002c5d: PUSH1 0x01
00002c5f: PUSH1 0x01
00002c61: PUSH1 0x80
00002c63: SHL
00002c64: SUB
00002c65: NOT
00002c66: AND
00002c67: SWAP1
00002c68: SSTORE
00002c69: PUSH1 0x08
00002c6b: SLOAD
00002c6c: PUSH1 0x01
00002c6e: PUSH1 0x01
00002c70: PUSH1 0x80
00002c72: SHL
00002c73: SUB
00002c74: SWAP3
00002c75: SWAP1
00002c76: SWAP3
00002c77: AND
00002c78: SWAP3
00002c79: POP
00002c7a: PUSH2 0x2c85
00002c7d: SWAP2
00002c7e: AND
00002c7f: DUP4
00002c80: DUP4
00002c81: PUSH2 0x274c
00002c84: JUMP
00002c85: JUMPDEST
00002c86: PUSH1 0x40
00002c88: DUP1
00002c89: MLOAD
00002c8a: PUSH1 0x01
00002c8c: PUSH1 0x01
00002c8e: PUSH1 0xa0
00002c90: SHL
00002c91: SUB
00002c92: DUP1
00002c93: DUP7
00002c94: AND
00002c95: DUP3
00002c96: MSTORE
00002c97: DUP5
00002c98: AND
00002c99: PUSH1 0x20
00002c9b: DUP3
00002c9c: ADD
00002c9d: MSTORE
00002c9e: SWAP1
00002c9f: DUP2
00002ca0: ADD
00002ca1: DUP3
00002ca2: SWAP1
00002ca3: MSTORE
00002ca4: PUSH32 0xf7a40077ff7a04c7e61f6f26fb13774259ddf1b6bce9ecf26a8276cdd3992683
00002cc5: SWAP1
00002cc6: PUSH1 0x60
00002cc8: ADD
00002cc9: PUSH1 0x40
00002ccb: MLOAD
00002ccc: DUP1
00002ccd: SWAP2
00002cce: SUB
00002ccf: SWAP1
00002cd0: LOG1
00002cd1: SWAP3
00002cd2: SWAP2
00002cd3: POP
00002cd4: POP
00002cd5: JUMP
00002cd6: JUMPDEST
00002cd7: PUSH1 0x02
00002cd9: DUP2
00002cda: PUSH1 0x04
00002cdc: DUP2
00002cdd: GT
00002cde: ISZERO
00002cdf: PUSH2 0x2cea
00002ce2: JUMPI
00002ce3: PUSH2 0x2cea
00002ce6: PUSH2 0x3a0d
00002ce9: JUMP
00002cea: JUMPDEST
00002ceb: SUB
00002cec: PUSH2 0x2d2d
00002cef: JUMPI
00002cf0: PUSH1 0x40
00002cf2: MLOAD
00002cf3: PUSH3 0x461bcd
00002cf7: PUSH1 0xe5
00002cf9: SHL
00002cfa: DUP2
00002cfb: MSTORE
00002cfc: PUSH1 0x20
00002cfe: PUSH1 0x04
00002d00: DUP3
00002d01: ADD
00002d02: MSTORE
00002d03: PUSH1 0x13
00002d05: PUSH1 0x24
00002d07: DUP3
00002d08: ADD
00002d09: MSTORE
00002d0a: PUSH19 0x135d5cdd081c1c9bdd9a59194818481c1bdbdb
00002d1e: PUSH1 0x6a
00002d20: SHL
00002d21: PUSH1 0x44
00002d23: DUP3
00002d24: ADD
00002d25: MSTORE
00002d26: PUSH1 0x64
00002d28: ADD
00002d29: PUSH2 0x08bb
00002d2c: JUMP
00002d2d: JUMPDEST
00002d2e: PUSH2 0x2d38
00002d31: DUP2
00002d32: PUSH1 0x00
00002d34: PUSH2 0x284b
00002d37: JUMP
00002d38: JUMPDEST
00002d39: POP
00002d3a: JUMP
00002d3b: JUMPDEST
00002d3c: PUSH1 0x00
00002d3e: PUSH1 0x01
00002d40: PUSH1 0x01
00002d42: PUSH1 0xa0
00002d44: SHL
00002d45: SUB
00002d46: DUP4
00002d47: AND
00002d48: CALLER
00002d49: EQ
00002d4a: PUSH2 0x2ddb
00002d4d: JUMPI
00002d4e: PUSH1 0x01
00002d50: PUSH1 0x01
00002d52: PUSH1 0xa0
00002d54: SHL
00002d55: SUB
00002d56: DUP4
00002d57: AND
00002d58: PUSH1 0x00
00002d5a: SWAP1
00002d5b: DUP2
00002d5c: MSTORE
00002d5d: PUSH1 0x03
00002d5f: PUSH1 0x20
00002d61: SWAP1
00002d62: DUP2
00002d63: MSTORE
00002d64: PUSH1 0x40
00002d66: DUP1
00002d67: DUP4
00002d68: KECCAK256
00002d69: CALLER
00002d6a: DUP5
00002d6b: MSTORE
00002d6c: SWAP1
00002d6d: SWAP2
00002d6e: MSTORE
00002d6f: SWAP1
00002d70: KECCAK256
00002d71: SLOAD
00002d72: PUSH1 0x00
00002d74: NOT
00002d75: DUP2
00002d76: EQ
00002d77: PUSH2 0x2dd9
00002d7a: JUMPI
00002d7b: DUP3
00002d7c: DUP2
00002d7d: LT
00002d7e: ISZERO
00002d7f: PUSH2 0x2dca
00002d82: JUMPI
00002d83: PUSH1 0x40
00002d85: MLOAD
00002d86: PUSH3 0x461bcd
00002d8a: PUSH1 0xe5
00002d8c: SHL
00002d8d: DUP2
00002d8e: MSTORE
00002d8f: PUSH1 0x20
00002d91: PUSH1 0x04
00002d93: DUP3
00002d94: ADD
00002d95: MSTORE
00002d96: PUSH1 0x1c
00002d98: PUSH1 0x24
00002d9a: DUP3
00002d9b: ADD
00002d9c: MSTORE
00002d9d: PUSH32 0x45524332303a20496e73756666696369656e7420617070726f76616c00000000
00002dbe: PUSH1 0x44
00002dc0: DUP3
00002dc1: ADD
00002dc2: MSTORE
00002dc3: PUSH1 0x64
00002dc5: ADD
00002dc6: PUSH2 0x08bb
00002dc9: JUMP
00002dca: JUMPDEST
00002dcb: PUSH2 0x2dd7
00002dce: DUP5
00002dcf: CALLER
00002dd0: DUP6
00002dd1: DUP5
00002dd2: SUB
00002dd3: PUSH2 0x2a72
00002dd6: JUMP
00002dd7: JUMPDEST
00002dd8: POP
00002dd9: JUMPDEST
00002dda: POP
00002ddb: JUMPDEST
00002ddc: POP
00002ddd: PUSH1 0x01
00002ddf: SWAP3
00002de0: SWAP2
00002de1: POP
00002de2: POP
00002de3: JUMP
00002de4: JUMPDEST
00002de5: PUSH1 0x00
00002de7: PUSH2 0x2dee
00002dea: PUSH2 0x3014
00002ded: JUMP
00002dee: JUMPDEST
00002def: PUSH2 0x2df7
00002df2: DUP5
00002df3: PUSH2 0x32bd
00002df6: JUMP
00002df7: JUMPDEST
00002df8: POP
00002df9: PUSH2 0x2e01
00002dfc: DUP4
00002dfd: PUSH2 0x32bd
00002e00: JUMP
00002e01: JUMPDEST
00002e02: POP
00002e03: PUSH2 0x12dc
00002e06: DUP5
00002e07: DUP5
00002e08: DUP5
00002e09: PUSH2 0x342d
00002e0c: JUMP
00002e0d: JUMPDEST
00002e0e: PUSH1 0x00
00002e10: PUSH32 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f
00002e31: PUSH1 0x04
00002e33: PUSH1 0x40
00002e35: MLOAD
00002e36: PUSH2 0x2e3f
00002e39: SWAP2
00002e3a: SWAP1
00002e3b: PUSH2 0x3da4
00002e3e: JUMP
00002e3f: JUMPDEST
00002e40: PUSH1 0x40
00002e42: MLOAD
00002e43: DUP1
00002e44: SWAP2
00002e45: SUB
00002e46: SWAP1
00002e47: KECCAK256
00002e48: PUSH2 0x2e4f
00002e4b: PUSH2 0x137e
00002e4e: JUMP
00002e4f: JUMPDEST
00002e50: DUP1
00002e51: MLOAD
00002e52: PUSH1 0x20
00002e54: SWAP2
00002e55: DUP3
00002e56: ADD
00002e57: KECCAK256
00002e58: PUSH1 0x40
00002e5a: DUP1
00002e5b: MLOAD
00002e5c: SWAP3
00002e5d: DUP4
00002e5e: ADD
00002e5f: SWAP5
00002e60: SWAP1
00002e61: SWAP5
00002e62: MSTORE
00002e63: SWAP3
00002e64: DUP2
00002e65: ADD
00002e66: SWAP2
00002e67: SWAP1
00002e68: SWAP2
00002e69: MSTORE
00002e6a: PUSH1 0x60
00002e6c: DUP2
00002e6d: ADD
00002e6e: SWAP2
00002e6f: SWAP1
00002e70: SWAP2
00002e71: MSTORE
00002e72: PUSH1 0x80
00002e74: DUP2
00002e75: ADD
00002e76: DUP4
00002e77: SWAP1
00002e78: MSTORE
00002e79: ADDRESS
00002e7a: PUSH1 0xa0
00002e7c: DUP3
00002e7d: ADD
00002e7e: MSTORE
00002e7f: PUSH1 0xc0
00002e81: ADD
00002e82: PUSH1 0x40
00002e84: MLOAD
00002e85: PUSH1 0x20
00002e87: DUP2
00002e88: DUP4
00002e89: SUB
00002e8a: SUB
00002e8b: DUP2
00002e8c: MSTORE
00002e8d: SWAP1
00002e8e: PUSH1 0x40
00002e90: MSTORE
00002e91: DUP1
00002e92: MLOAD
00002e93: SWAP1
00002e94: PUSH1 0x20
00002e96: ADD
00002e97: KECCAK256
00002e98: SWAP1
00002e99: POP
00002e9a: SWAP2
00002e9b: SWAP1
00002e9c: POP
00002e9d: JUMP
00002e9e: JUMPDEST
00002e9f: PUSH1 0x01
00002ea1: PUSH1 0x01
00002ea3: PUSH1 0xe0
00002ea5: SHL
00002ea6: SUB
00002ea7: NOT
00002ea8: AND
00002ea9: PUSH1 0x00
00002eab: SWAP1
00002eac: DUP2
00002ead: MSTORE
00002eae: PUSH1 0x20
00002eb0: DUP2
00002eb1: SWAP1
00002eb2: MSTORE
00002eb3: PUSH1 0x40
00002eb5: SWAP1
00002eb6: KECCAK256
00002eb7: PUSH1 0x01
00002eb9: ADD
00002eba: SLOAD
00002ebb: PUSH1 0xe0
00002ebd: SHL
00002ebe: SWAP1
00002ebf: JUMP
00002ec0: JUMPDEST
00002ec1: PUSH2 0x2eca
00002ec4: DUP3
00002ec5: DUP3
00002ec6: PUSH2 0x2717
00002ec9: JUMP
00002eca: JUMPDEST
00002ecb: ISZERO
00002ecc: PUSH2 0x13d4
00002ecf: JUMPI
00002ed0: PUSH1 0x01
00002ed2: PUSH1 0x01
00002ed4: PUSH1 0xe0
00002ed6: SHL
00002ed7: SUB
00002ed8: NOT
00002ed9: DUP3
00002eda: AND
00002edb: PUSH1 0x00
00002edd: DUP2
00002ede: DUP2
00002edf: MSTORE
00002ee0: PUSH1 0x20
00002ee2: DUP2
00002ee3: DUP2
00002ee4: MSTORE
00002ee5: PUSH1 0x40
00002ee7: DUP1
00002ee8: DUP4
00002ee9: KECCAK256
00002eea: PUSH1 0x01
00002eec: PUSH1 0x01
00002eee: PUSH1 0xa0
00002ef0: SHL
00002ef1: SUB
00002ef2: DUP7
00002ef3: AND
00002ef4: DUP1
00002ef5: DUP6
00002ef6: MSTORE
00002ef7: SWAP3
00002ef8: MSTORE
00002ef9: DUP1
00002efa: DUP4
00002efb: KECCAK256
00002efc: DUP1
00002efd: SLOAD
00002efe: PUSH1 0xff
00002f00: NOT
00002f01: AND
00002f02: SWAP1
00002f03: SSTORE
00002f04: MLOAD
00002f05: CALLER
00002f06: SWAP4
00002f07: SWAP2
00002f08: SWAP3
00002f09: PUSH32 0x4ddc7b757e7bdd7254a9cd39452d307a52761bc824625c6a33104a075d8099e6
00002f2a: SWAP2
00002f2b: LOG4
00002f2c: POP
00002f2d: POP
00002f2e: JUMP
00002f2f: JUMPDEST
00002f30: PUSH1 0x01
00002f32: PUSH1 0x01
00002f34: PUSH1 0xe0
00002f36: SHL
00002f37: SUB
00002f38: NOT
00002f39: DUP2
00002f3a: AND
00002f3b: PUSH2 0x2f43
00002f3e: DUP4
00002f3f: PUSH2 0x2e9e
00002f42: JUMP
00002f43: JUMPDEST
00002f44: PUSH1 0x01
00002f46: PUSH1 0x01
00002f48: PUSH1 0xe0
00002f4a: SHL
00002f4b: SUB
00002f4c: NOT
00002f4d: AND
00002f4e: EQ
00002f4f: PUSH2 0x13d4
00002f52: JUMPI
00002f53: PUSH1 0x01
00002f55: PUSH1 0x01
00002f57: PUSH1 0xe0
00002f59: SHL
00002f5a: SUB
00002f5b: NOT
00002f5c: DUP3
00002f5d: DUP2
00002f5e: AND
00002f5f: PUSH1 0x00
00002f61: DUP2
00002f62: DUP2
00002f63: MSTORE
00002f64: PUSH1 0x20
00002f66: DUP2
00002f67: SWAP1
00002f68: MSTORE
00002f69: PUSH1 0x40
00002f6b: DUP1
00002f6c: DUP3
00002f6d: KECCAK256
00002f6e: PUSH1 0x01
00002f70: ADD
00002f71: DUP1
00002f72: SLOAD
00002f73: PUSH4 0xffffffff
00002f78: NOT
00002f79: AND
00002f7a: PUSH1 0xe0
00002f7c: DUP8
00002f7d: SWAP1
00002f7e: SHR
00002f7f: OR
00002f80: SWAP1
00002f81: SSTORE
00002f82: MLOAD
00002f83: SWAP3
00002f84: DUP5
00002f85: AND
00002f86: SWAP3
00002f87: PUSH32 0xd348e2220a50b4500ec353f6e802d2f14dd1b5d6786148fd1bbcc570bf92d473
00002fa8: SWAP2
00002fa9: SWAP1
00002faa: LOG3
00002fab: POP
00002fac: POP
00002fad: JUMP
00002fae: JUMPDEST
00002faf: PUSH1 0x00
00002fb1: PUSH2 0x2fb8
00002fb4: PUSH2 0x3014
00002fb7: JUMP
00002fb8: JUMPDEST
00002fb9: PUSH2 0x2fc1
00002fbc: DUP4
00002fbd: PUSH2 0x32bd
00002fc0: JUMP
00002fc1: JUMPDEST
00002fc2: POP
00002fc3: PUSH2 0x0fe0
00002fc6: DUP4
00002fc7: DUP4
00002fc8: PUSH2 0x34da
00002fcb: JUMP
00002fcc: JUMPDEST
00002fcd: PUSH1 0x00
00002fcf: PUSH2 0x2fd6
00002fd2: PUSH2 0x3014
00002fd5: JUMP
00002fd6: JUMPDEST
00002fd7: PUSH2 0x2fdf
00002fda: DUP4
00002fdb: PUSH2 0x32bd
00002fde: JUMP
00002fdf: JUMPDEST
00002fe0: POP
00002fe1: PUSH2 0x0fe0
00002fe4: DUP4
00002fe5: DUP4
00002fe6: PUSH2 0x3561
00002fe9: JUMP
00002fea: JUMPDEST
00002feb: PUSH1 0x00
00002fed: PUSH4 0xffffffff
00002ff2: DUP3
00002ff3: GT
00002ff4: ISZERO
00002ff5: PUSH2 0x3010
00002ff8: JUMPI
00002ff9: PUSH1 0x40
00002ffb: MLOAD
00002ffc: PUSH3 0x461bcd
00003000: PUSH1 0xe5
00003002: SHL
00003003: DUP2
00003004: MSTORE
00003005: PUSH1 0x04
00003007: ADD
00003008: PUSH2 0x08bb
0000300b: SWAP1
0000300c: PUSH2 0x3e43
0000300f: JUMP
00003010: JUMPDEST
00003011: POP
00003012: SWAP1
00003013: JUMP
00003014: JUMPDEST
00003015: PUSH1 0x40
00003017: DUP1
00003018: MLOAD
00003019: PUSH1 0x60
0000301b: DUP2
0000301c: ADD
0000301d: DUP3
0000301e: MSTORE
0000301f: PUSH1 0x0a
00003021: SLOAD
00003022: PUSH1 0x01
00003024: PUSH1 0x01
00003026: PUSH1 0x80
00003028: SHL
00003029: SUB
0000302a: DUP2
0000302b: AND
0000302c: DUP3
0000302d: MSTORE
0000302e: PUSH1 0x01
00003030: PUSH1 0x80
00003032: SHL
00003033: DUP2
00003034: DIV
00003035: PUSH4 0xffffffff
0000303a: SWAP1
0000303b: DUP2
0000303c: AND
0000303d: PUSH1 0x20
0000303f: DUP1
00003040: DUP6
00003041: ADD
00003042: SWAP2
00003043: SWAP1
00003044: SWAP2
00003045: MSTORE
00003046: PUSH1 0x01
00003048: PUSH1 0xa0
0000304a: SHL
0000304b: SWAP1
0000304c: SWAP3
0000304d: DIV
0000304e: PUSH1 0x01
00003050: PUSH1 0x01
00003052: PUSH1 0x60
00003054: SHL
00003055: SUB
00003056: AND
00003057: DUP4
00003058: DUP6
00003059: ADD
0000305a: MSTORE
0000305b: DUP4
0000305c: MLOAD
0000305d: DUP1
0000305e: DUP6
0000305f: ADD
00003060: SWAP1
00003061: SWAP5
00003062: MSTORE
00003063: PUSH1 0x09
00003065: SLOAD
00003066: DUP1
00003067: DUP3
00003068: AND
00003069: DUP1
0000306a: DUP7
0000306b: MSTORE
0000306c: PUSH1 0x01
0000306e: PUSH1 0x20
00003070: SHL
00003071: SWAP1
00003072: SWAP2
00003073: DIV
00003074: SWAP1
00003075: SWAP2
00003076: AND
00003077: SWAP2
00003078: DUP5
00003079: ADD
0000307a: SWAP2
0000307b: SWAP1
0000307c: SWAP2
0000307d: MSTORE
0000307e: PUSH1 0x01
00003080: SLOAD
00003081: SWAP2
00003082: SWAP3
00003083: SWAP2
00003084: SWAP1
00003085: PUSH2 0x308d
00003088: TIMESTAMP
00003089: PUSH2 0x2fea
0000308c: JUMP
0000308d: JUMPDEST
0000308e: PUSH4 0xffffffff
00003093: AND
00003094: LT
00003095: ISZERO
00003096: PUSH2 0x309e
00003099: JUMPI
0000309a: POP
0000309b: POP
0000309c: POP
0000309d: JUMP
0000309e: JUMPDEST
0000309f: PUSH1 0x00
000030a1: PUSH2 0x30b6
000030a4: PUSH2 0x30ac
000030a7: TIMESTAMP
000030a8: PUSH2 0x2fea
000030ab: JUMP
000030ac: JUMPDEST
000030ad: DUP5
000030ae: PUSH1 0x20
000030b0: ADD
000030b1: MLOAD
000030b2: PUSH2 0x35e1
000030b5: JUMP
000030b6: JUMPDEST
000030b7: SWAP1
000030b8: POP
000030b9: PUSH1 0x00
000030bb: DUP5
000030bc: PUSH1 0x20
000030be: ADD
000030bf: MLOAD
000030c0: DUP3
000030c1: PUSH2 0x30ca
000030c4: SWAP2
000030c5: SWAP1
000030c6: PUSH2 0x3e6a
000030c9: JUMP
000030ca: JUMPDEST
000030cb: PUSH4 0xffffffff
000030d0: AND
000030d1: SWAP1
000030d2: POP
000030d3: DUP1
000030d4: PUSH1 0x00
000030d6: SUB
000030d7: PUSH2 0x30e1
000030da: JUMPI
000030db: POP
000030dc: POP
000030dd: POP
000030de: POP
000030df: POP
000030e0: JUMP
000030e1: JUMPDEST
000030e2: DUP3
000030e3: ISZERO
000030e4: PUSH2 0x3147
000030e7: JUMPI
000030e8: PUSH2 0x313b
000030eb: DUP4
000030ec: DUP7
000030ed: PUSH1 0x40
000030ef: ADD
000030f0: MLOAD
000030f1: PUSH1 0x01
000030f3: PUSH1 0x01
000030f5: PUSH1 0x60
000030f7: SHL
000030f8: SUB
000030f9: AND
000030fa: DUP4
000030fb: PUSH8 0x0de0b6b3a7640000
00003104: PUSH2 0x310d
00003107: SWAP2
00003108: SWAP1
00003109: PUSH2 0x3cd2
0000310c: JUMP
0000310d: JUMPDEST
0000310e: PUSH2 0x3117
00003111: SWAP2
00003112: SWAP1
00003113: PUSH2 0x3cd2
00003116: JUMP
00003117: JUMPDEST
00003118: PUSH2 0x3121
0000311b: SWAP2
0000311c: SWAP1
0000311d: PUSH2 0x3cf1
00003120: JUMP
00003121: JUMPDEST
00003122: DUP7
00003123: MLOAD
00003124: PUSH2 0x3136
00003127: SWAP2
00003128: SWAP1
00003129: PUSH1 0x01
0000312b: PUSH1 0x01
0000312d: PUSH1 0x80
0000312f: SHL
00003130: SUB
00003131: AND
00003132: PUSH2 0x3c3b
00003135: JUMP
00003136: JUMPDEST
00003137: PUSH2 0x3603
0000313a: JUMP
0000313b: JUMPDEST
0000313c: PUSH1 0x01
0000313e: PUSH1 0x01
00003140: PUSH1 0x80
00003142: SHL
00003143: SUB
00003144: AND
00003145: DUP6
00003146: MSTORE
00003147: JUMPDEST
00003148: PUSH4 0xffffffff
0000314d: DUP3
0000314e: AND
0000314f: PUSH1 0x20
00003151: DUP7
00003152: ADD
00003153: DUP2
00003154: SWAP1
00003155: MSTORE
00003156: DUP6
00003157: MLOAD
00003158: PUSH1 0x0a
0000315a: DUP1
0000315b: SLOAD
0000315c: PUSH1 0x40
0000315e: DUP1
0000315f: DUP11
00003160: ADD
00003161: MLOAD
00003162: PUSH1 0x01
00003164: PUSH1 0x01
00003166: PUSH1 0x60
00003168: SHL
00003169: SUB
0000316a: AND
0000316b: PUSH1 0x01
0000316d: PUSH1 0xa0
0000316f: SHL
00003170: MUL
00003171: PUSH1 0x01
00003173: PUSH1 0x01
00003175: PUSH1 0xa0
00003177: SHL
00003178: SUB
00003179: PUSH1 0x01
0000317b: PUSH1 0x80
0000317d: SHL
0000317e: SWAP1
0000317f: SWAP7
00003180: MUL
00003181: PUSH1 0x01
00003183: PUSH1 0x01
00003185: PUSH1 0xa0
00003187: SHL
00003188: SUB
00003189: NOT
0000318a: SWAP1
0000318b: SWAP4
0000318c: AND
0000318d: PUSH1 0x01
0000318f: PUSH1 0x01
00003191: PUSH1 0x80
00003193: SHL
00003194: SUB
00003195: DUP7
00003196: AND
00003197: OR
00003198: SWAP3
00003199: SWAP1
0000319a: SWAP3
0000319b: OR
0000319c: SWAP5
0000319d: SWAP1
0000319e: SWAP5
0000319f: AND
000031a0: OR
000031a1: SWAP1
000031a2: SSTORE
000031a3: SWAP1
000031a4: MLOAD
000031a5: PUSH32 0xe972555b20cae8150e291bb40efce3ef4e3ed6b6b2c39c029346600e95469d48
000031c6: SWAP2
000031c7: PUSH2 0x31de
000031ca: SWAP2
000031cb: PUSH1 0x01
000031cd: PUSH1 0x01
000031cf: PUSH1 0x80
000031d1: SHL
000031d2: SUB
000031d3: SWAP2
000031d4: SWAP1
000031d5: SWAP2
000031d6: AND
000031d7: DUP2
000031d8: MSTORE
000031d9: PUSH1 0x20
000031db: ADD
000031dc: SWAP1
000031dd: JUMP
000031de: JUMPDEST
000031df: PUSH1 0x40
000031e1: MLOAD
000031e2: DUP1
000031e3: SWAP2
000031e4: SUB
000031e5: SWAP1
000031e6: LOG1
000031e7: POP
000031e8: POP
000031e9: POP
000031ea: POP
000031eb: POP
000031ec: JUMP
000031ed: JUMPDEST
000031ee: PUSH2 0x31f7
000031f1: DUP3
000031f2: DUP3
000031f3: PUSH2 0x2717
000031f6: JUMP
000031f7: JUMPDEST
000031f8: PUSH2 0x13d4
000031fb: JUMPI
000031fc: PUSH1 0x01
000031fe: PUSH1 0x01
00003200: PUSH1 0xe0
00003202: SHL
00003203: SUB
00003204: NOT
00003205: DUP3
00003206: AND
00003207: PUSH1 0x00
00003209: DUP2
0000320a: DUP2
0000320b: MSTORE
0000320c: PUSH1 0x20
0000320e: DUP2
0000320f: DUP2
00003210: MSTORE
00003211: PUSH1 0x40
00003213: DUP1
00003214: DUP4
00003215: KECCAK256
00003216: PUSH1 0x01
00003218: PUSH1 0x01
0000321a: PUSH1 0xa0
0000321c: SHL
0000321d: SUB
0000321e: DUP7
0000321f: AND
00003220: DUP1
00003221: DUP6
00003222: MSTORE
00003223: SWAP3
00003224: MSTORE
00003225: DUP1
00003226: DUP4
00003227: KECCAK256
00003228: DUP1
00003229: SLOAD
0000322a: PUSH1 0xff
0000322c: NOT
0000322d: AND
0000322e: PUSH1 0x01
00003230: OR
00003231: SWAP1
00003232: SSTORE
00003233: MLOAD
00003234: CALLER
00003235: SWAP4
00003236: SWAP2
00003237: SWAP3
00003238: PUSH32 0xe6231789d19137da31d0550f4ba9ee379020a8cfb64cb79bf1790c996d2e6165
00003259: SWAP2
0000325a: LOG4
0000325b: POP
0000325c: POP
0000325d: JUMP
0000325e: JUMPDEST
0000325f: PUSH1 0x60
00003261: PUSH1 0x44
00003263: DUP3
00003264: MLOAD
00003265: LT
00003266: ISZERO
00003267: PUSH2 0x32a3
0000326a: JUMPI
0000326b: POP
0000326c: POP
0000326d: PUSH1 0x40
0000326f: DUP1
00003270: MLOAD
00003271: DUP1
00003272: DUP3
00003273: ADD
00003274: SWAP1
00003275: SWAP2
00003276: MSTORE
00003277: PUSH1 0x1d
00003279: DUP2
0000327a: MSTORE
0000327b: PUSH32 0x5472616e73616374696f6e2072657665727465642073696c656e746c79000000
0000329c: PUSH1 0x20
0000329e: DUP3
0000329f: ADD
000032a0: MSTORE
000032a1: SWAP1
000032a2: JUMP
000032a3: JUMPDEST
000032a4: PUSH1 0x04
000032a6: DUP3
000032a7: ADD
000032a8: SWAP2
000032a9: POP
000032aa: DUP2
000032ab: DUP1
000032ac: PUSH1 0x20
000032ae: ADD
000032af: SWAP1
000032b0: MLOAD
000032b1: DUP2
000032b2: ADD
000032b3: SWAP1
000032b4: PUSH2 0x1129
000032b7: SWAP2
000032b8: SWAP1
000032b9: PUSH2 0x3e8f
000032bc: JUMP
000032bd: JUMPDEST
000032be: PUSH1 0x01
000032c0: PUSH1 0x01
000032c2: PUSH1 0xa0
000032c4: SHL
000032c5: SUB
000032c6: DUP2
000032c7: AND
000032c8: PUSH1 0x00
000032ca: SWAP1
000032cb: DUP2
000032cc: MSTORE
000032cd: PUSH1 0x0b
000032cf: PUSH1 0x20
000032d1: SWAP1
000032d2: DUP2
000032d3: MSTORE
000032d4: PUSH1 0x40
000032d6: DUP1
000032d7: DUP4
000032d8: KECCAK256
000032d9: DUP2
000032da: MLOAD
000032db: DUP1
000032dc: DUP4
000032dd: ADD
000032de: DUP4
000032df: MSTORE
000032e0: SWAP1
000032e1: SLOAD
000032e2: PUSH1 0x01
000032e4: PUSH1 0x01
000032e6: PUSH1 0x80
000032e8: SHL
000032e9: SUB
000032ea: DUP1
000032eb: DUP3
000032ec: AND
000032ed: DUP4
000032ee: MSTORE
000032ef: PUSH1 0x01
000032f1: PUSH1 0x80
000032f3: SHL
000032f4: SWAP2
000032f5: DUP3
000032f6: SWAP1
000032f7: DIV
000032f8: DUP2
000032f9: AND
000032fa: DUP4
000032fb: DUP7
000032fc: ADD
000032fd: SWAP1
000032fe: DUP2
000032ff: MSTORE
00003300: DUP5
00003301: MLOAD
00003302: PUSH1 0x60
00003304: DUP2
00003305: ADD
00003306: DUP7
00003307: MSTORE
00003308: PUSH1 0x0a
0000330a: SLOAD
0000330b: SWAP3
0000330c: DUP4
0000330d: AND
0000330e: DUP1
0000330f: DUP3
00003310: MSTORE
00003311: SWAP4
00003312: DUP4
00003313: DIV
00003314: PUSH4 0xffffffff
00003319: AND
0000331a: SWAP7
0000331b: DUP2
0000331c: ADD
0000331d: SWAP7
0000331e: SWAP1
0000331f: SWAP7
00003320: MSTORE
00003321: PUSH1 0x01
00003323: PUSH1 0xa0
00003325: SHL
00003326: SWAP1
00003327: SWAP2
00003328: DIV
00003329: PUSH1 0x01
0000332b: PUSH1 0x01
0000332d: PUSH1 0x60
0000332f: SHL
00003330: SUB
00003331: AND
00003332: SWAP4
00003333: DUP6
00003334: ADD
00003335: SWAP4
00003336: SWAP1
00003337: SWAP4
00003338: MSTORE
00003339: SWAP2
0000333a: MLOAD
0000333b: SWAP1
0000333c: SWAP3
0000333d: SWAP2
0000333e: PUSH2 0x33a0
00003341: SWAP2
00003342: PUSH8 0x0de0b6b3a7640000
0000334b: SWAP2
0000334c: PUSH2 0x3355
0000334f: SWAP2
00003350: SWAP1
00003351: PUSH2 0x3f23
00003354: JUMP
00003355: JUMPDEST
00003356: PUSH1 0x01
00003358: PUSH1 0x01
0000335a: PUSH1 0xa0
0000335c: SHL
0000335d: SUB
0000335e: DUP8
0000335f: AND
00003360: PUSH1 0x00
00003362: SWAP1
00003363: DUP2
00003364: MSTORE
00003365: PUSH1 0x02
00003367: PUSH1 0x20
00003369: MSTORE
0000336a: PUSH1 0x40
0000336c: SWAP1
0000336d: KECCAK256
0000336e: SLOAD
0000336f: PUSH2 0x3381
00003372: SWAP2
00003373: PUSH1 0x01
00003375: PUSH1 0x01
00003377: PUSH1 0x80
00003379: SHL
0000337a: SUB
0000337b: AND
0000337c: SWAP1
0000337d: PUSH2 0x3cd2
00003380: JUMP
00003381: JUMPDEST
00003382: PUSH2 0x338b
00003385: SWAP2
00003386: SWAP1
00003387: PUSH2 0x3cf1
0000338a: JUMP
0000338b: JUMPDEST
0000338c: DUP4
0000338d: MLOAD
0000338e: PUSH2 0x3136
00003391: SWAP2
00003392: SWAP1
00003393: PUSH1 0x01
00003395: PUSH1 0x01
00003397: PUSH1 0x80
00003399: SHL
0000339a: SUB
0000339b: AND
0000339c: PUSH2 0x3c3b
0000339f: JUMP
000033a0: JUMPDEST
000033a1: PUSH1 0x01
000033a3: PUSH1 0x01
000033a5: PUSH1 0x80
000033a7: SHL
000033a8: SUB
000033a9: SWAP1
000033aa: DUP2
000033ab: AND
000033ac: DUP4
000033ad: MSTORE
000033ae: DUP2
000033af: MLOAD
000033b0: DUP2
000033b1: AND
000033b2: PUSH1 0x20
000033b4: DUP1
000033b5: DUP6
000033b6: ADD
000033b7: SWAP2
000033b8: DUP3
000033b9: MSTORE
000033ba: PUSH1 0x01
000033bc: PUSH1 0x01
000033be: PUSH1 0xa0
000033c0: SHL
000033c1: SUB
000033c2: DUP8
000033c3: AND
000033c4: PUSH1 0x00
000033c6: DUP2
000033c7: DUP2
000033c8: MSTORE
000033c9: PUSH1 0x0b
000033cb: DUP4
000033cc: MSTORE
000033cd: PUSH1 0x40
000033cf: SWAP1
000033d0: DUP2
000033d1: SWAP1
000033d2: KECCAK256
000033d3: DUP8
000033d4: MLOAD
000033d5: SWAP5
000033d6: MLOAD
000033d7: SWAP5
000033d8: DUP7
000033d9: AND
000033da: PUSH1 0x01
000033dc: PUSH1 0x80
000033de: SHL
000033df: SWAP6
000033e0: SWAP1
000033e1: SWAP7
000033e2: AND
000033e3: SWAP5
000033e4: DUP6
000033e5: MUL
000033e6: DUP7
000033e7: OR
000033e8: SWAP1
000033e9: SSTORE
000033ea: DUP1
000033eb: MLOAD
000033ec: SWAP2
000033ed: DUP3
000033ee: MSTORE
000033ef: SWAP2
000033f0: DUP2
000033f1: ADD
000033f2: SWAP4
000033f3: SWAP1
000033f4: SWAP4
000033f5: MSTORE
000033f6: DUP3
000033f7: ADD
000033f8: MSTORE
000033f9: PUSH32 0x5b9aaf4cc5141c090a75f8b8a627863eba92df81f0c83c096350da9b79aedd04
0000341a: SWAP1
0000341b: PUSH1 0x60
0000341d: ADD
0000341e: PUSH1 0x40
00003420: MLOAD
00003421: DUP1
00003422: SWAP2
00003423: SUB
00003424: SWAP1
00003425: LOG1
00003426: POP
00003427: MLOAD
00003428: SWAP3
00003429: SWAP2
0000342a: POP
0000342b: POP
0000342c: JUMP
0000342d: JUMPDEST
0000342e: PUSH1 0x01
00003430: PUSH1 0x01
00003432: PUSH1 0xa0
00003434: SHL
00003435: SUB
00003436: DUP4
00003437: AND
00003438: PUSH1 0x00
0000343a: SWAP1
0000343b: DUP2
0000343c: MSTORE
0000343d: PUSH1 0x02
0000343f: PUSH1 0x20
00003441: MSTORE
00003442: PUSH1 0x40
00003444: DUP2
00003445: KECCAK256
00003446: SLOAD
00003447: DUP3
00003448: GT
00003449: ISZERO
0000344a: PUSH2 0x3465
0000344d: JUMPI
0000344e: PUSH1 0x40
00003450: MLOAD
00003451: PUSH3 0x461bcd
00003455: PUSH1 0xe5
00003457: SHL
00003458: DUP2
00003459: MSTORE
0000345a: PUSH1 0x04
0000345c: ADD
0000345d: PUSH2 0x08bb
00003460: SWAP1
00003461: PUSH2 0x3f43
00003464: JUMP
00003465: JUMPDEST
00003466: PUSH1 0x01
00003468: PUSH1 0x01
0000346a: PUSH1 0xa0
0000346c: SHL
0000346d: SUB
0000346e: DUP1
0000346f: DUP6
00003470: AND
00003471: PUSH1 0x00
00003473: SWAP1
00003474: DUP2
00003475: MSTORE
00003476: PUSH1 0x02
00003478: PUSH1 0x20
0000347a: MSTORE
0000347b: PUSH1 0x40
0000347d: DUP1
0000347e: DUP3
0000347f: KECCAK256
00003480: DUP1
00003481: SLOAD
00003482: DUP7
00003483: SWAP1
00003484: SUB
00003485: SWAP1
00003486: SSTORE
00003487: SWAP2
00003488: DUP6
00003489: AND
0000348a: DUP2
0000348b: MSTORE
0000348c: KECCAK256
0000348d: SLOAD
0000348e: PUSH2 0x3498
00003491: SWAP1
00003492: DUP4
00003493: SWAP1
00003494: PUSH2 0x3c3b
00003497: JUMP
00003498: JUMPDEST
00003499: PUSH1 0x01
0000349b: PUSH1 0x01
0000349d: PUSH1 0xa0
0000349f: SHL
000034a0: SUB
000034a1: DUP1
000034a2: DUP6
000034a3: AND
000034a4: PUSH1 0x00
000034a6: DUP2
000034a7: DUP2
000034a8: MSTORE
000034a9: PUSH1 0x02
000034ab: PUSH1 0x20
000034ad: MSTORE
000034ae: PUSH1 0x40
000034b0: SWAP1
000034b1: DUP2
000034b2: SWAP1
000034b3: KECCAK256
000034b4: SWAP4
000034b5: SWAP1
000034b6: SWAP4
000034b7: SSTORE
000034b8: SWAP2
000034b9: MLOAD
000034ba: SWAP1
000034bb: DUP7
000034bc: AND
000034bd: SWAP1
000034be: PUSH1 0x00
000034c0: DUP1
000034c1: MLOAD
000034c2: PUSH1 0x20
000034c4: PUSH2 0x3f9b
000034c7: DUP4
000034c8: CODECOPY
000034c9: DUP2
000034ca: MLOAD
000034cb: SWAP2
000034cc: MSTORE
000034cd: SWAP1
000034ce: PUSH2 0x2ac9
000034d1: SWAP1
000034d2: DUP7
000034d3: DUP2
000034d4: MSTORE
000034d5: PUSH1 0x20
000034d7: ADD
000034d8: SWAP1
000034d9: JUMP
000034da: JUMPDEST
000034db: PUSH1 0x01
000034dd: PUSH1 0x01
000034df: PUSH1 0xa0
000034e1: SHL
000034e2: SUB
000034e3: DUP3
000034e4: AND
000034e5: PUSH1 0x00
000034e7: SWAP1
000034e8: DUP2
000034e9: MSTORE
000034ea: PUSH1 0x02
000034ec: PUSH1 0x20
000034ee: MSTORE
000034ef: PUSH1 0x40
000034f1: DUP2
000034f2: KECCAK256
000034f3: SLOAD
000034f4: PUSH2 0x34fe
000034f7: SWAP1
000034f8: DUP4
000034f9: SWAP1
000034fa: PUSH2 0x3c3b
000034fd: JUMP
000034fe: JUMPDEST
000034ff: PUSH1 0x01
00003501: PUSH1 0x01
00003503: PUSH1 0xa0
00003505: SHL
00003506: SUB
00003507: DUP5
00003508: AND
00003509: PUSH1 0x00
0000350b: SWAP1
0000350c: DUP2
0000350d: MSTORE
0000350e: PUSH1 0x02
00003510: PUSH1 0x20
00003512: MSTORE
00003513: PUSH1 0x40
00003515: SWAP1
00003516: KECCAK256
00003517: SSTORE
00003518: PUSH1 0x01
0000351a: SLOAD
0000351b: PUSH2 0x3525
0000351e: SWAP1
0000351f: DUP4
00003520: SWAP1
00003521: PUSH2 0x3c3b
00003524: JUMP
00003525: JUMPDEST
00003526: PUSH1 0x01
00003528: SSTORE
00003529: PUSH1 0x40
0000352b: MLOAD
0000352c: DUP3
0000352d: DUP2
0000352e: MSTORE
0000352f: PUSH1 0x01
00003531: PUSH1 0x01
00003533: PUSH1 0xa0
00003535: SHL
00003536: SUB
00003537: DUP5
00003538: AND
00003539: SWAP1
0000353a: PUSH1 0x00
0000353c: SWAP1
0000353d: PUSH1 0x00
0000353f: DUP1
00003540: MLOAD
00003541: PUSH1 0x20
00003543: PUSH2 0x3f9b
00003546: DUP4
00003547: CODECOPY
00003548: DUP2
00003549: MLOAD
0000354a: SWAP2
0000354b: MSTORE
0000354c: SWAP1
0000354d: PUSH1 0x20
0000354f: ADD
00003550: JUMPDEST
00003551: PUSH1 0x40
00003553: MLOAD
00003554: DUP1
00003555: SWAP2
00003556: SUB
00003557: SWAP1
00003558: LOG3
00003559: POP
0000355a: PUSH1 0x01
0000355c: SWAP3
0000355d: SWAP2
0000355e: POP
0000355f: POP
00003560: JUMP
00003561: JUMPDEST
00003562: PUSH1 0x01
00003564: PUSH1 0x01
00003566: PUSH1 0xa0
00003568: SHL
00003569: SUB
0000356a: DUP3
0000356b: AND
0000356c: PUSH1 0x00
0000356e: SWAP1
0000356f: DUP2
00003570: MSTORE
00003571: PUSH1 0x02
00003573: PUSH1 0x20
00003575: MSTORE
00003576: PUSH1 0x40
00003578: DUP2
00003579: KECCAK256
0000357a: SLOAD
0000357b: DUP3
0000357c: GT
0000357d: ISZERO
0000357e: PUSH2 0x3599
00003581: JUMPI
00003582: PUSH1 0x40
00003584: MLOAD
00003585: PUSH3 0x461bcd
00003589: PUSH1 0xe5
0000358b: SHL
0000358c: DUP2
0000358d: MSTORE
0000358e: PUSH1 0x04
00003590: ADD
00003591: PUSH2 0x08bb
00003594: SWAP1
00003595: PUSH2 0x3f43
00003598: JUMP
00003599: JUMPDEST
0000359a: PUSH1 0x01
0000359c: PUSH1 0x01
0000359e: PUSH1 0xa0
000035a0: SHL
000035a1: SUB
000035a2: DUP4
000035a3: AND
000035a4: PUSH1 0x00
000035a6: DUP2
000035a7: DUP2
000035a8: MSTORE
000035a9: PUSH1 0x02
000035ab: PUSH1 0x20
000035ad: SWAP1
000035ae: DUP2
000035af: MSTORE
000035b0: PUSH1 0x40
000035b2: DUP1
000035b3: DUP4
000035b4: KECCAK256
000035b5: DUP1
000035b6: SLOAD
000035b7: DUP8
000035b8: SWAP1
000035b9: SUB
000035ba: SWAP1
000035bb: SSTORE
000035bc: PUSH1 0x01
000035be: DUP1
000035bf: SLOAD
000035c0: DUP8
000035c1: SWAP1
000035c2: SUB
000035c3: SWAP1
000035c4: SSTORE
000035c5: MLOAD
000035c6: DUP6
000035c7: DUP2
000035c8: MSTORE
000035c9: SWAP2
000035ca: SWAP3
000035cb: SWAP2
000035cc: PUSH1 0x00
000035ce: DUP1
000035cf: MLOAD
000035d0: PUSH1 0x20
000035d2: PUSH2 0x3f9b
000035d5: DUP4
000035d6: CODECOPY
000035d7: DUP2
000035d8: MLOAD
000035d9: SWAP2
000035da: MSTORE
000035db: SWAP2
000035dc: ADD
000035dd: PUSH2 0x3550
000035e0: JUMP
000035e1: JUMPDEST
000035e2: PUSH1 0x00
000035e4: DUP2
000035e5: PUSH4 0xffffffff
000035ea: AND
000035eb: DUP4
000035ec: PUSH4 0xffffffff
000035f1: AND
000035f2: LT
000035f3: PUSH2 0x35fc
000035f6: JUMPI
000035f7: DUP2
000035f8: PUSH2 0x0fe0
000035fb: JUMP
000035fc: JUMPDEST
000035fd: POP
000035fe: SWAP1
000035ff: SWAP2
00003600: SWAP1
00003601: POP
00003602: JUMP
00003603: JUMPDEST
00003604: PUSH1 0x00
00003606: PUSH1 0x01
00003608: PUSH1 0x01
0000360a: PUSH1 0x80
0000360c: SHL
0000360d: SUB
0000360e: DUP3
0000360f: GT
00003610: ISZERO
00003611: PUSH2 0x3010
00003614: JUMPI
00003615: PUSH1 0x40
00003617: MLOAD
00003618: PUSH3 0x461bcd
0000361c: PUSH1 0xe5
0000361e: SHL
0000361f: DUP2
00003620: MSTORE
00003621: PUSH1 0x04
00003623: ADD
00003624: PUSH2 0x08bb
00003627: SWAP1
00003628: PUSH2 0x3e43
0000362b: JUMP
0000362c: JUMPDEST
0000362d: PUSH1 0x01
0000362f: PUSH1 0x01
00003631: PUSH1 0xa0
00003633: SHL
00003634: SUB
00003635: DUP2
00003636: AND
00003637: DUP2
00003638: EQ
00003639: PUSH2 0x2d38
0000363c: JUMPI
0000363d: PUSH1 0x00
0000363f: DUP1
00003640: REVERT
00003641: JUMPDEST
00003642: PUSH1 0x00
00003644: PUSH1 0x20
00003646: DUP3
00003647: DUP5
00003648: SUB
00003649: SLT
0000364a: ISZERO
0000364b: PUSH2 0x3653
0000364e: JUMPI
0000364f: PUSH1 0x00
00003651: DUP1
00003652: REVERT
00003653: JUMPDEST
00003654: DUP2
00003655: CALLDATALOAD
00003656: PUSH2 0x0fe0
00003659: DUP2
0000365a: PUSH2 0x362c
0000365d: JUMP
0000365e: JUMPDEST
0000365f: PUSH1 0x00
00003661: JUMPDEST
00003662: DUP4
00003663: DUP2
00003664: LT
00003665: ISZERO
00003666: PUSH2 0x3679
00003669: JUMPI
0000366a: DUP2
0000366b: DUP2
0000366c: ADD
0000366d: MLOAD
0000366e: DUP4
0000366f: DUP3
00003670: ADD
00003671: MSTORE
00003672: PUSH1 0x20
00003674: ADD
00003675: PUSH2 0x3661
00003678: JUMP
00003679: JUMPDEST
0000367a: DUP4
0000367b: DUP2
0000367c: GT
0000367d: ISZERO
0000367e: PUSH2 0x3688
00003681: JUMPI
00003682: PUSH1 0x00
00003684: DUP5
00003685: DUP5
00003686: ADD
00003687: MSTORE
00003688: JUMPDEST
00003689: POP
0000368a: POP
0000368b: POP
0000368c: POP
0000368d: JUMP
0000368e: JUMPDEST
0000368f: PUSH1 0x00
00003691: DUP2
00003692: MLOAD
00003693: DUP1
00003694: DUP5
00003695: MSTORE
00003696: PUSH2 0x36a6
00003699: DUP2
0000369a: PUSH1 0x20
0000369c: DUP7
0000369d: ADD
0000369e: PUSH1 0x20
000036a0: DUP7
000036a1: ADD
000036a2: PUSH2 0x365e
000036a5: JUMP
000036a6: JUMPDEST
000036a7: PUSH1 0x1f
000036a9: ADD
000036aa: PUSH1 0x1f
000036ac: NOT
000036ad: AND
000036ae: SWAP3
000036af: SWAP1
000036b0: SWAP3
000036b1: ADD
000036b2: PUSH1 0x20
000036b4: ADD
000036b5: SWAP3
000036b6: SWAP2
000036b7: POP
000036b8: POP
000036b9: JUMP
000036ba: JUMPDEST
000036bb: PUSH1 0x20
000036bd: DUP2
000036be: MSTORE
000036bf: PUSH1 0x00
000036c1: PUSH2 0x0fe0
000036c4: PUSH1 0x20
000036c6: DUP4
000036c7: ADD
000036c8: DUP5
000036c9: PUSH2 0x368e
000036cc: JUMP
000036cd: JUMPDEST
000036ce: DUP1
000036cf: CALLDATALOAD
000036d0: PUSH2 0x36d8
000036d3: DUP2
000036d4: PUSH2 0x362c
000036d7: JUMP
000036d8: JUMPDEST
000036d9: SWAP2
000036da: SWAP1
000036db: POP
000036dc: JUMP
000036dd: JUMPDEST
000036de: PUSH1 0x00
000036e0: DUP1
000036e1: PUSH1 0x40
000036e3: DUP4
000036e4: DUP6
000036e5: SUB
000036e6: SLT
000036e7: ISZERO
000036e8: PUSH2 0x36f0
000036eb: JUMPI
000036ec: PUSH1 0x00
000036ee: DUP1
000036ef: REVERT
000036f0: JUMPDEST
000036f1: DUP3
000036f2: CALLDATALOAD
000036f3: PUSH2 0x36fb
000036f6: DUP2
000036f7: PUSH2 0x362c
000036fa: JUMP
000036fb: JUMPDEST
000036fc: SWAP5
000036fd: PUSH1 0x20
000036ff: SWAP4
00003700: SWAP1
00003701: SWAP4
00003702: ADD
00003703: CALLDATALOAD
00003704: SWAP4
00003705: POP
00003706: POP
00003707: POP
00003708: JUMP
00003709: JUMPDEST
0000370a: DUP1
0000370b: CALLDATALOAD
0000370c: PUSH1 0x01
0000370e: PUSH1 0x01
00003710: PUSH1 0xe0
00003712: SHL
00003713: SUB
00003714: NOT
00003715: DUP2
00003716: AND
00003717: DUP2
00003718: EQ
00003719: PUSH2 0x36d8
0000371c: JUMPI
0000371d: PUSH1 0x00
0000371f: DUP1
00003720: REVERT
00003721: JUMPDEST
00003722: PUSH1 0x00
00003724: DUP1
00003725: PUSH1 0x40
00003727: DUP4
00003728: DUP6
00003729: SUB
0000372a: SLT
0000372b: ISZERO
0000372c: PUSH2 0x3734
0000372f: JUMPI
00003730: PUSH1 0x00
00003732: DUP1
00003733: REVERT
00003734: JUMPDEST
00003735: PUSH2 0x373d
00003738: DUP4
00003739: PUSH2 0x3709
0000373c: JUMP
0000373d: JUMPDEST
0000373e: SWAP2
0000373f: POP
00003740: PUSH1 0x20
00003742: DUP4
00003743: ADD
00003744: CALLDATALOAD
00003745: PUSH2 0x374d
00003748: DUP2
00003749: PUSH2 0x362c
0000374c: JUMP
0000374d: JUMPDEST
0000374e: DUP1
0000374f: SWAP2
00003750: POP
00003751: POP
00003752: SWAP3
00003753: POP
00003754: SWAP3
00003755: SWAP1
00003756: POP
00003757: JUMP
00003758: JUMPDEST
00003759: PUSH1 0x01
0000375b: PUSH1 0x01
0000375d: PUSH1 0xa0
0000375f: SHL
00003760: SUB
00003761: SWAP2
00003762: SWAP1
00003763: SWAP2
00003764: AND
00003765: DUP2
00003766: MSTORE
00003767: PUSH1 0x20
00003769: ADD
0000376a: SWAP1
0000376b: JUMP
0000376c: JUMPDEST
0000376d: PUSH1 0x00
0000376f: DUP1
00003770: PUSH1 0x00
00003772: PUSH1 0x40
00003774: DUP5
00003775: DUP7
00003776: SUB
00003777: SLT
00003778: ISZERO
00003779: PUSH2 0x3781
0000377c: JUMPI
0000377d: PUSH1 0x00
0000377f: DUP1
00003780: REVERT
00003781: JUMPDEST
00003782: DUP4
00003783: CALLDATALOAD
00003784: PUSH2 0x378c
00003787: DUP2
00003788: PUSH2 0x362c
0000378b: JUMP
0000378c: JUMPDEST
0000378d: SWAP3
0000378e: POP
0000378f: PUSH1 0x20
00003791: DUP5
00003792: ADD
00003793: CALLDATALOAD
00003794: PUSH8 0xffffffffffffffff
0000379d: DUP1
0000379e: DUP3
0000379f: GT
000037a0: ISZERO
000037a1: PUSH2 0x37a9
000037a4: JUMPI
000037a5: PUSH1 0x00
000037a7: DUP1
000037a8: REVERT
000037a9: JUMPDEST
000037aa: DUP2
000037ab: DUP7
000037ac: ADD
000037ad: SWAP2
000037ae: POP
000037af: DUP7
000037b0: PUSH1 0x1f
000037b2: DUP4
000037b3: ADD
000037b4: SLT
000037b5: PUSH2 0x37bd
000037b8: JUMPI
000037b9: PUSH1 0x00
000037bb: DUP1
000037bc: REVERT
000037bd: JUMPDEST
000037be: DUP2
000037bf: CALLDATALOAD
000037c0: DUP2
000037c1: DUP2
000037c2: GT
000037c3: ISZERO
000037c4: PUSH2 0x37cc
000037c7: JUMPI
000037c8: PUSH1 0x00
000037ca: DUP1
000037cb: REVERT
000037cc: JUMPDEST
000037cd: DUP8
000037ce: PUSH1 0x20
000037d0: DUP3
000037d1: DUP6
000037d2: ADD
000037d3: ADD
000037d4: GT
000037d5: ISZERO
000037d6: PUSH2 0x37de
000037d9: JUMPI
000037da: PUSH1 0x00
000037dc: DUP1
000037dd: REVERT
000037de: JUMPDEST
000037df: PUSH1 0x20
000037e1: DUP4
000037e2: ADD
000037e3: SWAP5
000037e4: POP
000037e5: DUP1
000037e6: SWAP4
000037e7: POP
000037e8: POP
000037e9: POP
000037ea: POP
000037eb: SWAP3
000037ec: POP
000037ed: SWAP3
000037ee: POP
000037ef: SWAP3
000037f0: JUMP
000037f1: JUMPDEST
000037f2: PUSH1 0x00
000037f4: DUP1
000037f5: PUSH1 0x00
000037f7: PUSH1 0x60
000037f9: DUP5
000037fa: DUP7
000037fb: SUB
000037fc: SLT
000037fd: ISZERO
000037fe: PUSH2 0x3806
00003801: JUMPI
00003802: PUSH1 0x00
00003804: DUP1
00003805: REVERT
00003806: JUMPDEST
00003807: DUP4
00003808: CALLDATALOAD
00003809: PUSH2 0x3811
0000380c: DUP2
0000380d: PUSH2 0x362c
00003810: JUMP
00003811: JUMPDEST
00003812: SWAP3
00003813: POP
00003814: PUSH1 0x20
00003816: DUP5
00003817: ADD
00003818: CALLDATALOAD
00003819: PUSH2 0x3821
0000381c: DUP2
0000381d: PUSH2 0x362c
00003820: JUMP
00003821: JUMPDEST
00003822: SWAP3
00003823: SWAP6
00003824: SWAP3
00003825: SWAP5
00003826: POP
00003827: POP
00003828: POP
00003829: PUSH1 0x40
0000382b: SWAP2
0000382c: SWAP1
0000382d: SWAP2
0000382e: ADD
0000382f: CALLDATALOAD
00003830: SWAP1
00003831: JUMP
00003832: JUMPDEST
00003833: PUSH1 0x00
00003835: PUSH1 0x20
00003837: DUP3
00003838: DUP5
00003839: SUB
0000383a: SLT
0000383b: ISZERO
0000383c: PUSH2 0x3844
0000383f: JUMPI
00003840: PUSH1 0x00
00003842: DUP1
00003843: REVERT
00003844: JUMPDEST
00003845: PUSH2 0x0fe0
00003848: DUP3
00003849: PUSH2 0x3709
0000384c: JUMP
0000384d: JUMPDEST
0000384e: PUSH1 0x00
00003850: DUP1
00003851: PUSH1 0x40
00003853: DUP4
00003854: DUP6
00003855: SUB
00003856: SLT
00003857: ISZERO
00003858: PUSH2 0x3860
0000385b: JUMPI
0000385c: PUSH1 0x00
0000385e: DUP1
0000385f: REVERT
00003860: JUMPDEST
00003861: DUP3
00003862: CALLDATALOAD
00003863: PUSH2 0x373d
00003866: DUP2
00003867: PUSH2 0x362c
0000386a: JUMP
0000386b: JUMPDEST
0000386c: PUSH4 0xffffffff
00003871: DUP2
00003872: AND
00003873: DUP2
00003874: EQ
00003875: PUSH2 0x2d38
00003878: JUMPI
00003879: PUSH1 0x00
0000387b: DUP1
0000387c: REVERT
0000387d: JUMPDEST
0000387e: PUSH1 0x00
00003880: DUP1
00003881: PUSH1 0x00
00003883: PUSH1 0x60
00003885: DUP5
00003886: DUP7
00003887: SUB
00003888: SLT
00003889: ISZERO
0000388a: PUSH2 0x3892
0000388d: JUMPI
0000388e: PUSH1 0x00
00003890: DUP1
00003891: REVERT
00003892: JUMPDEST
00003893: DUP4
00003894: CALLDATALOAD
00003895: PUSH2 0x389d
00003898: DUP2
00003899: PUSH2 0x386b
0000389c: JUMP
0000389d: JUMPDEST
0000389e: SWAP3
0000389f: POP
000038a0: PUSH1 0x20
000038a2: DUP5
000038a3: ADD
000038a4: CALLDATALOAD
000038a5: PUSH2 0x38ad
000038a8: DUP2
000038a9: PUSH2 0x386b
000038ac: JUMP
000038ad: JUMPDEST
000038ae: SWAP2
000038af: POP
000038b0: PUSH1 0x40
000038b2: DUP5
000038b3: ADD
000038b4: CALLDATALOAD
000038b5: PUSH1 0x01
000038b7: PUSH1 0x01
000038b9: PUSH1 0x60
000038bb: SHL
000038bc: SUB
000038bd: DUP2
000038be: AND
000038bf: DUP2
000038c0: EQ
000038c1: PUSH2 0x38c9
000038c4: JUMPI
000038c5: PUSH1 0x00
000038c7: DUP1
000038c8: REVERT
000038c9: JUMPDEST
000038ca: DUP1
000038cb: SWAP2
000038cc: POP
000038cd: POP
000038ce: SWAP3
000038cf: POP
000038d0: SWAP3
000038d1: POP
000038d2: SWAP3
000038d3: JUMP
000038d4: JUMPDEST
000038d5: PUSH4 0x4e487b71
000038da: PUSH1 0xe0
000038dc: SHL
000038dd: PUSH1 0x00
000038df: MSTORE
000038e0: PUSH1 0x41
000038e2: PUSH1 0x04
000038e4: MSTORE
000038e5: PUSH1 0x24
000038e7: PUSH1 0x00
000038e9: REVERT
000038ea: JUMPDEST
000038eb: PUSH1 0x40
000038ed: MLOAD
000038ee: PUSH1 0x1f
000038f0: DUP3
000038f1: ADD
000038f2: PUSH1 0x1f
000038f4: NOT
000038f5: AND
000038f6: DUP2
000038f7: ADD
000038f8: PUSH8 0xffffffffffffffff
00003901: DUP2
00003902: GT
00003903: DUP3
00003904: DUP3
00003905: LT
00003906: OR
00003907: ISZERO
00003908: PUSH2 0x3913
0000390b: JUMPI
0000390c: PUSH2 0x3913
0000390f: PUSH2 0x38d4
00003912: JUMP
00003913: JUMPDEST
00003914: PUSH1 0x40
00003916: MSTORE
00003917: SWAP2
00003918: SWAP1
00003919: POP
0000391a: JUMP
0000391b: JUMPDEST
0000391c: PUSH1 0x00
0000391e: DUP1
0000391f: PUSH1 0x40
00003921: DUP4
00003922: DUP6
00003923: SUB
00003924: SLT
00003925: ISZERO
00003926: PUSH2 0x392e
00003929: JUMPI
0000392a: PUSH1 0x00
0000392c: DUP1
0000392d: REVERT
0000392e: JUMPDEST
0000392f: DUP3
00003930: CALLDATALOAD
00003931: PUSH8 0xffffffffffffffff
0000393a: DUP1
0000393b: DUP3
0000393c: GT
0000393d: ISZERO
0000393e: PUSH2 0x3946
00003941: JUMPI
00003942: PUSH1 0x00
00003944: DUP1
00003945: REVERT
00003946: JUMPDEST
00003947: DUP2
00003948: DUP6
00003949: ADD
0000394a: SWAP2
0000394b: POP
0000394c: DUP6
0000394d: PUSH1 0x1f
0000394f: DUP4
00003950: ADD
00003951: SLT
00003952: PUSH2 0x395a
00003955: JUMPI
00003956: PUSH1 0x00
00003958: DUP1
00003959: REVERT
0000395a: JUMPDEST
0000395b: DUP2
0000395c: CALLDATALOAD
0000395d: PUSH1 0x20
0000395f: DUP3
00003960: DUP3
00003961: GT
00003962: ISZERO
00003963: PUSH2 0x396e
00003966: JUMPI
00003967: PUSH2 0x396e
0000396a: PUSH2 0x38d4
0000396d: JUMP
0000396e: JUMPDEST
0000396f: DUP2
00003970: PUSH1 0x05
00003972: SHL
00003973: SWAP3
00003974: POP
00003975: PUSH2 0x397f
00003978: DUP2
00003979: DUP5
0000397a: ADD
0000397b: PUSH2 0x38ea
0000397e: JUMP
0000397f: JUMPDEST
00003980: DUP3
00003981: DUP2
00003982: MSTORE
00003983: SWAP3
00003984: DUP5
00003985: ADD
00003986: DUP2
00003987: ADD
00003988: SWAP3
00003989: DUP2
0000398a: DUP2
0000398b: ADD
0000398c: SWAP1
0000398d: DUP10
0000398e: DUP6
0000398f: GT
00003990: ISZERO
00003991: PUSH2 0x3999
00003994: JUMPI
00003995: PUSH1 0x00
00003997: DUP1
00003998: REVERT
00003999: JUMPDEST
0000399a: SWAP5
0000399b: DUP3
0000399c: ADD
0000399d: SWAP5
0000399e: JUMPDEST
0000399f: DUP5
000039a0: DUP7
000039a1: LT
000039a2: ISZERO
000039a3: PUSH2 0x39be
000039a6: JUMPI
000039a7: PUSH2 0x39af
000039aa: DUP7
000039ab: PUSH2 0x3709
000039ae: JUMP
000039af: JUMPDEST
000039b0: DUP3
000039b1: MSTORE
000039b2: SWAP5
000039b3: DUP3
000039b4: ADD
000039b5: SWAP5
000039b6: SWAP1
000039b7: DUP3
000039b8: ADD
000039b9: SWAP1
000039ba: PUSH2 0x399e
000039bd: JUMP
000039be: JUMPDEST
000039bf: SWAP7
000039c0: POP
000039c1: PUSH2 0x39cd
000039c4: SWAP1
000039c5: POP
000039c6: DUP8
000039c7: DUP3
000039c8: ADD
000039c9: PUSH2 0x36cd
000039cc: JUMP
000039cd: JUMPDEST
000039ce: SWAP5
000039cf: POP
000039d0: POP
000039d1: POP
000039d2: POP
000039d3: POP
000039d4: SWAP3
000039d5: POP
000039d6: SWAP3
000039d7: SWAP1
000039d8: POP
000039d9: JUMP
000039da: JUMPDEST
000039db: PUSH1 0x00
000039dd: DUP1
000039de: PUSH1 0x40
000039e0: DUP4
000039e1: DUP6
000039e2: SUB
000039e3: SLT
000039e4: ISZERO
000039e5: PUSH2 0x39ed
000039e8: JUMPI
000039e9: PUSH1 0x00
000039eb: DUP1
000039ec: REVERT
000039ed: JUMPDEST
000039ee: PUSH2 0x39f6
000039f1: DUP4
000039f2: PUSH2 0x3709
000039f5: JUMP
000039f6: JUMPDEST
000039f7: SWAP2
000039f8: POP
000039f9: PUSH2 0x3a04
000039fc: PUSH1 0x20
000039fe: DUP5
000039ff: ADD
00003a00: PUSH2 0x3709
00003a03: JUMP
00003a04: JUMPDEST
00003a05: SWAP1
00003a06: POP
00003a07: SWAP3
00003a08: POP
00003a09: SWAP3
00003a0a: SWAP1
00003a0b: POP
00003a0c: JUMP
00003a0d: JUMPDEST
00003a0e: PUSH4 0x4e487b71
00003a13: PUSH1 0xe0
00003a15: SHL
00003a16: PUSH1 0x00
00003a18: MSTORE
00003a19: PUSH1 0x21
00003a1b: PUSH1 0x04
00003a1d: MSTORE
00003a1e: PUSH1 0x24
00003a20: PUSH1 0x00
00003a22: REVERT
00003a23: JUMPDEST
00003a24: PUSH1 0x20
00003a26: DUP2
00003a27: ADD
00003a28: PUSH1 0x05
00003a2a: DUP4
00003a2b: LT
00003a2c: PUSH2 0x3a45
00003a2f: JUMPI
00003a30: PUSH4 0x4e487b71
00003a35: PUSH1 0xe0
00003a37: SHL
00003a38: PUSH1 0x00
00003a3a: MSTORE
00003a3b: PUSH1 0x21
00003a3d: PUSH1 0x04
00003a3f: MSTORE
00003a40: PUSH1 0x24
00003a42: PUSH1 0x00
00003a44: REVERT
00003a45: JUMPDEST
00003a46: SWAP2
00003a47: SWAP1
00003a48: MSTORE
00003a49: SWAP1
00003a4a: JUMP
00003a4b: JUMPDEST
00003a4c: PUSH1 0x00
00003a4e: DUP1
00003a4f: PUSH1 0x00
00003a51: DUP1
00003a52: PUSH1 0x00
00003a54: DUP1
00003a55: PUSH1 0x00
00003a57: PUSH1 0xe0
00003a59: DUP9
00003a5a: DUP11
00003a5b: SUB
00003a5c: SLT
00003a5d: ISZERO
00003a5e: PUSH2 0x3a66
00003a61: JUMPI
00003a62: PUSH1 0x00
00003a64: DUP1
00003a65: REVERT
00003a66: JUMPDEST
00003a67: DUP8
00003a68: CALLDATALOAD
00003a69: PUSH2 0x3a71
00003a6c: DUP2
00003a6d: PUSH2 0x362c
00003a70: JUMP
00003a71: JUMPDEST
00003a72: SWAP7
00003a73: POP
00003a74: PUSH1 0x20
00003a76: DUP9
00003a77: ADD
00003a78: CALLDATALOAD
00003a79: PUSH2 0x3a81
00003a7c: DUP2
00003a7d: PUSH2 0x362c
00003a80: JUMP
00003a81: JUMPDEST
00003a82: SWAP6
00003a83: POP
00003a84: PUSH1 0x40
00003a86: DUP9
00003a87: ADD
00003a88: CALLDATALOAD
00003a89: SWAP5
00003a8a: POP
00003a8b: PUSH1 0x60
00003a8d: DUP9
00003a8e: ADD
00003a8f: CALLDATALOAD
00003a90: SWAP4
00003a91: POP
00003a92: PUSH1 0x80
00003a94: DUP9
00003a95: ADD
00003a96: CALLDATALOAD
00003a97: PUSH1 0xff
00003a99: DUP2
00003a9a: AND
00003a9b: DUP2
00003a9c: EQ
00003a9d: PUSH2 0x3aa5
00003aa0: JUMPI
00003aa1: PUSH1 0x00
00003aa3: DUP1
00003aa4: REVERT
00003aa5: JUMPDEST
00003aa6: SWAP7
00003aa7: SWAP10
00003aa8: SWAP6
00003aa9: SWAP9
00003aaa: POP
00003aab: SWAP4
00003aac: SWAP7
00003aad: SWAP3
00003aae: SWAP6
00003aaf: SWAP5
00003ab0: PUSH1 0xa0
00003ab2: DUP5
00003ab3: ADD
00003ab4: CALLDATALOAD
00003ab5: SWAP5
00003ab6: POP
00003ab7: PUSH1 0xc0
00003ab9: SWAP1
00003aba: SWAP4
00003abb: ADD
00003abc: CALLDATALOAD
00003abd: SWAP3
00003abe: SWAP2
00003abf: POP
00003ac0: POP
00003ac1: JUMP
00003ac2: JUMPDEST
00003ac3: PUSH1 0x00
00003ac5: DUP1
00003ac6: PUSH1 0x00
00003ac8: DUP1
00003ac9: PUSH1 0x80
00003acb: DUP6
00003acc: DUP8
00003acd: SUB
00003ace: SLT
00003acf: ISZERO
00003ad0: PUSH2 0x3ad8
00003ad3: JUMPI
00003ad4: PUSH1 0x00
00003ad6: DUP1
00003ad7: REVERT
00003ad8: JUMPDEST
00003ad9: DUP5
00003ada: CALLDATALOAD
00003adb: PUSH2 0x3ae3
00003ade: DUP2
00003adf: PUSH2 0x362c
00003ae2: JUMP
00003ae3: JUMPDEST
00003ae4: SWAP4
00003ae5: POP
00003ae6: PUSH1 0x20
00003ae8: DUP6
00003ae9: ADD
00003aea: CALLDATALOAD
00003aeb: PUSH2 0x3af3
00003aee: DUP2
00003aef: PUSH2 0x362c
00003af2: JUMP
00003af3: JUMPDEST
00003af4: SWAP4
00003af5: SWAP7
00003af6: SWAP4
00003af7: SWAP6
00003af8: POP
00003af9: POP
00003afa: POP
00003afb: POP
00003afc: PUSH1 0x40
00003afe: DUP3
00003aff: ADD
00003b00: CALLDATALOAD
00003b01: SWAP2
00003b02: PUSH1 0x60
00003b04: ADD
00003b05: CALLDATALOAD
00003b06: SWAP1
00003b07: JUMP
00003b08: JUMPDEST
00003b09: PUSH1 0x20
00003b0b: DUP1
00003b0c: DUP3
00003b0d: MSTORE
00003b0e: PUSH1 0x0d
00003b10: SWAP1
00003b11: DUP3
00003b12: ADD
00003b13: MSTORE
00003b14: PUSH13 0x1058d8d95cdcc819195b9a5959
00003b22: PUSH1 0x9a
00003b24: SHL
00003b25: PUSH1 0x40
00003b27: DUP3
00003b28: ADD
00003b29: MSTORE
00003b2a: PUSH1 0x60
00003b2c: ADD
00003b2d: SWAP1
00003b2e: JUMP
00003b2f: JUMPDEST
00003b30: PUSH1 0x20
00003b32: DUP1
00003b33: DUP3
00003b34: MSTORE
00003b35: PUSH1 0x19
00003b37: SWAP1
00003b38: DUP3
00003b39: ADD
00003b3a: MSTORE
00003b3b: PUSH25 0x4e6f7420616c6c6f77656420696e2074686973207374617465
00003b55: PUSH1 0x38
00003b57: SHL
00003b58: PUSH1 0x40
00003b5a: DUP3
00003b5b: ADD
00003b5c: MSTORE
00003b5d: PUSH1 0x60
00003b5f: ADD
00003b60: SWAP1
00003b61: JUMP
00003b62: JUMPDEST
00003b63: PUSH1 0x00
00003b65: PUSH1 0x20
00003b67: DUP3
00003b68: DUP5
00003b69: SUB
00003b6a: SLT
00003b6b: ISZERO
00003b6c: PUSH2 0x3b74
00003b6f: JUMPI
00003b70: PUSH1 0x00
00003b72: DUP1
00003b73: REVERT
00003b74: JUMPDEST
00003b75: DUP2
00003b76: MLOAD
00003b77: PUSH2 0x0fe0
00003b7a: DUP2
00003b7b: PUSH2 0x362c
00003b7e: JUMP
00003b7f: JUMPDEST
00003b80: PUSH1 0x00
00003b82: DUP1
00003b83: PUSH1 0x00
00003b85: PUSH1 0x60
00003b87: DUP5
00003b88: DUP7
00003b89: SUB
00003b8a: SLT
00003b8b: ISZERO
00003b8c: PUSH2 0x3b94
00003b8f: JUMPI
00003b90: PUSH1 0x00
00003b92: DUP1
00003b93: REVERT
00003b94: JUMPDEST
00003b95: DUP4
00003b96: MLOAD
00003b97: SWAP3
00003b98: POP
00003b99: PUSH1 0x20
00003b9b: DUP5
00003b9c: ADD
00003b9d: MLOAD
00003b9e: SWAP2
00003b9f: POP
00003ba0: PUSH1 0x40
00003ba2: DUP5
00003ba3: ADD
00003ba4: MLOAD
00003ba5: SWAP1
00003ba6: POP
00003ba7: SWAP3
00003ba8: POP
00003ba9: SWAP3
00003baa: POP
00003bab: SWAP3
00003bac: JUMP
00003bad: JUMPDEST
00003bae: PUSH1 0x00
00003bb0: PUSH1 0x20
00003bb2: DUP3
00003bb3: DUP5
00003bb4: SUB
00003bb5: SLT
00003bb6: ISZERO
00003bb7: PUSH2 0x3bbf
00003bba: JUMPI
00003bbb: PUSH1 0x00
00003bbd: DUP1
00003bbe: REVERT
00003bbf: JUMPDEST
00003bc0: DUP2
00003bc1: MLOAD
00003bc2: PUSH2 0x0fe0
00003bc5: DUP2
00003bc6: PUSH2 0x386b
00003bc9: JUMP
00003bca: JUMPDEST
00003bcb: PUSH1 0x00
00003bcd: PUSH1 0x20
00003bcf: DUP3
00003bd0: DUP5
00003bd1: SUB
00003bd2: SLT
00003bd3: ISZERO
00003bd4: PUSH2 0x3bdc
00003bd7: JUMPI
00003bd8: PUSH1 0x00
00003bda: DUP1
00003bdb: REVERT
00003bdc: JUMPDEST
00003bdd: POP
00003bde: MLOAD
00003bdf: SWAP2
00003be0: SWAP1
00003be1: POP
00003be2: JUMP
00003be3: JUMPDEST
00003be4: PUSH1 0x01
00003be6: PUSH1 0x01
00003be8: PUSH1 0xa0
00003bea: SHL
00003beb: SUB
00003bec: SWAP5
00003bed: DUP6
00003bee: AND
00003bef: DUP2
00003bf0: MSTORE
00003bf1: SWAP3
00003bf2: SWAP1
00003bf3: SWAP4
00003bf4: AND
00003bf5: PUSH1 0x20
00003bf7: DUP4
00003bf8: ADD
00003bf9: MSTORE
00003bfa: PUSH1 0x40
00003bfc: DUP3
00003bfd: ADD
00003bfe: MSTORE
00003bff: PUSH1 0x60
00003c01: DUP2
00003c02: ADD
00003c03: SWAP2
00003c04: SWAP1
00003c05: SWAP2
00003c06: MSTORE
00003c07: PUSH1 0x80
00003c09: ADD
00003c0a: SWAP1
00003c0b: JUMP
00003c0c: JUMPDEST
00003c0d: PUSH1 0x01
00003c0f: PUSH1 0x01
00003c11: PUSH1 0xa0
00003c13: SHL
00003c14: SUB
00003c15: SWAP3
00003c16: SWAP1
00003c17: SWAP3
00003c18: AND
00003c19: DUP3
00003c1a: MSTORE
00003c1b: PUSH1 0x20
00003c1d: DUP3
00003c1e: ADD
00003c1f: MSTORE
00003c20: PUSH1 0x40
00003c22: ADD
00003c23: SWAP1
00003c24: JUMP
00003c25: JUMPDEST
00003c26: PUSH4 0x4e487b71
00003c2b: PUSH1 0xe0
00003c2d: SHL
00003c2e: PUSH1 0x00
00003c30: MSTORE
00003c31: PUSH1 0x11
00003c33: PUSH1 0x04
00003c35: MSTORE
00003c36: PUSH1 0x24
00003c38: PUSH1 0x00
00003c3a: REVERT
00003c3b: JUMPDEST
00003c3c: PUSH1 0x00
00003c3e: DUP3
00003c3f: NOT
00003c40: DUP3
00003c41: GT
00003c42: ISZERO
00003c43: PUSH2 0x3c4e
00003c46: JUMPI
00003c47: PUSH2 0x3c4e
00003c4a: PUSH2 0x3c25
00003c4d: JUMP
00003c4e: JUMPDEST
00003c4f: POP
00003c50: ADD
00003c51: SWAP1
00003c52: JUMP
00003c53: JUMPDEST
00003c54: PUSH1 0x01
00003c56: DUP2
00003c57: DUP2
00003c58: SHR
00003c59: SWAP1
00003c5a: DUP3
00003c5b: AND
00003c5c: DUP1
00003c5d: PUSH2 0x3c67
00003c60: JUMPI
00003c61: PUSH1 0x7f
00003c63: DUP3
00003c64: AND
00003c65: SWAP2
00003c66: POP
00003c67: JUMPDEST
00003c68: PUSH1 0x20
00003c6a: DUP3
00003c6b: LT
00003c6c: DUP2
00003c6d: SUB
00003c6e: PUSH2 0x2c28
00003c71: JUMPI
00003c72: PUSH4 0x4e487b71
00003c77: PUSH1 0xe0
00003c79: SHL
00003c7a: PUSH1 0x00
00003c7c: MSTORE
00003c7d: PUSH1 0x22
00003c7f: PUSH1 0x04
00003c81: MSTORE
00003c82: PUSH1 0x24
00003c84: PUSH1 0x00
00003c86: REVERT
00003c87: JUMPDEST
00003c88: DUP2
00003c89: DUP4
00003c8a: DUP3
00003c8b: CALLDATACOPY
00003c8c: PUSH1 0x00
00003c8e: SWAP2
00003c8f: ADD
00003c90: SWAP1
00003c91: DUP2
00003c92: MSTORE
00003c93: SWAP2
00003c94: SWAP1
00003c95: POP
00003c96: JUMP
00003c97: JUMPDEST
00003c98: PUSH1 0x20
00003c9a: DUP1
00003c9b: DUP3
00003c9c: MSTORE
00003c9d: PUSH1 0x0a
00003c9f: SWAP1
00003ca0: DUP3
00003ca1: ADD
00003ca2: MSTORE
00003ca3: PUSH10 0x27b7363c9030b236b4b7
00003cae: PUSH1 0xb1
00003cb0: SHL
00003cb1: PUSH1 0x40
00003cb3: DUP3
00003cb4: ADD
00003cb5: MSTORE
00003cb6: PUSH1 0x60
00003cb8: ADD
00003cb9: SWAP1
00003cba: JUMP
00003cbb: JUMPDEST
00003cbc: PUSH1 0x00
00003cbe: DUP3
00003cbf: DUP3
00003cc0: LT
00003cc1: ISZERO
00003cc2: PUSH2 0x3ccd
00003cc5: JUMPI
00003cc6: PUSH2 0x3ccd
00003cc9: PUSH2 0x3c25
00003ccc: JUMP
00003ccd: JUMPDEST
00003cce: POP
00003ccf: SUB
00003cd0: SWAP1
00003cd1: JUMP
00003cd2: JUMPDEST
00003cd3: PUSH1 0x00
00003cd5: DUP2
00003cd6: PUSH1 0x00
00003cd8: NOT
00003cd9: DIV
00003cda: DUP4
00003cdb: GT
00003cdc: DUP3
00003cdd: ISZERO
00003cde: ISZERO
00003cdf: AND
00003ce0: ISZERO
00003ce1: PUSH2 0x3cec
00003ce4: JUMPI
00003ce5: PUSH2 0x3cec
00003ce8: PUSH2 0x3c25
00003ceb: JUMP
00003cec: JUMPDEST
00003ced: POP
00003cee: MUL
00003cef: SWAP1
00003cf0: JUMP
00003cf1: JUMPDEST
00003cf2: PUSH1 0x00
00003cf4: DUP3
00003cf5: PUSH2 0x3d0e
00003cf8: JUMPI
00003cf9: PUSH4 0x4e487b71
00003cfe: PUSH1 0xe0
00003d00: SHL
00003d01: PUSH1 0x00
00003d03: MSTORE
00003d04: PUSH1 0x12
00003d06: PUSH1 0x04
00003d08: MSTORE
00003d09: PUSH1 0x24
00003d0b: PUSH1 0x00
00003d0d: REVERT
00003d0e: JUMPDEST
00003d0f: POP
00003d10: DIV
00003d11: SWAP1
00003d12: JUMP
00003d13: JUMPDEST
00003d14: PUSH1 0x00
00003d16: DUP1
00003d17: PUSH1 0x40
00003d19: DUP4
00003d1a: DUP6
00003d1b: SUB
00003d1c: SLT
00003d1d: ISZERO
00003d1e: PUSH2 0x3d26
00003d21: JUMPI
00003d22: PUSH1 0x00
00003d24: DUP1
00003d25: REVERT
00003d26: JUMPDEST
00003d27: POP
00003d28: POP
00003d29: DUP1
00003d2a: MLOAD
00003d2b: PUSH1 0x20
00003d2d: SWAP1
00003d2e: SWAP2
00003d2f: ADD
00003d30: MLOAD
00003d31: SWAP1
00003d32: SWAP3
00003d33: SWAP1
00003d34: SWAP2
00003d35: POP
00003d36: JUMP
00003d37: JUMPDEST
00003d38: PUSH4 0x4e487b71
00003d3d: PUSH1 0xe0
00003d3f: SHL
00003d40: PUSH1 0x00
00003d42: MSTORE
00003d43: PUSH1 0x32
00003d45: PUSH1 0x04
00003d47: MSTORE
00003d48: PUSH1 0x24
00003d4a: PUSH1 0x00
00003d4c: REVERT
00003d4d: JUMPDEST
00003d4e: PUSH1 0x00
00003d50: PUSH1 0x01
00003d52: DUP3
00003d53: ADD
00003d54: PUSH2 0x3d5f
00003d57: JUMPI
00003d58: PUSH2 0x3d5f
00003d5b: PUSH2 0x3c25
00003d5e: JUMP
00003d5f: JUMPDEST
00003d60: POP
00003d61: PUSH1 0x01
00003d63: ADD
00003d64: SWAP1
00003d65: JUMP
00003d66: JUMPDEST
00003d67: PUSH1 0x00
00003d69: DUP3
00003d6a: MLOAD
00003d6b: PUSH2 0x3d78
00003d6e: DUP2
00003d6f: DUP5
00003d70: PUSH1 0x20
00003d72: DUP8
00003d73: ADD
00003d74: PUSH2 0x365e
00003d77: JUMP
00003d78: JUMPDEST
00003d79: SWAP2
00003d7a: SWAP1
00003d7b: SWAP2
00003d7c: ADD
00003d7d: SWAP3
00003d7e: SWAP2
00003d7f: POP
00003d80: POP
00003d81: JUMP
00003d82: JUMPDEST
00003d83: PUSH1 0x00
00003d85: PUSH1 0x20
00003d87: DUP3
00003d88: DUP5
00003d89: SUB
00003d8a: SLT
00003d8b: ISZERO
00003d8c: PUSH2 0x3d94
00003d8f: JUMPI
00003d90: PUSH1 0x00
00003d92: DUP1
00003d93: REVERT
00003d94: JUMPDEST
00003d95: DUP2
00003d96: MLOAD
00003d97: DUP1
00003d98: ISZERO
00003d99: ISZERO
00003d9a: DUP2
00003d9b: EQ
00003d9c: PUSH2 0x0fe0
00003d9f: JUMPI
00003da0: PUSH1 0x00
00003da2: DUP1
00003da3: REVERT
00003da4: JUMPDEST
00003da5: PUSH1 0x00
00003da7: DUP1
00003da8: DUP4
00003da9: SLOAD
00003daa: DUP2
00003dab: PUSH1 0x01
00003dad: DUP3
00003dae: DUP2
00003daf: SHR
00003db0: SWAP2
00003db1: POP
00003db2: DUP1
00003db3: DUP4
00003db4: AND
00003db5: DUP1
00003db6: PUSH2 0x3dc0
00003db9: JUMPI
00003dba: PUSH1 0x7f
00003dbc: DUP4
00003dbd: AND
00003dbe: SWAP3
00003dbf: POP
00003dc0: JUMPDEST
00003dc1: PUSH1 0x20
00003dc3: DUP1
00003dc4: DUP5
00003dc5: LT
00003dc6: DUP3
00003dc7: SUB
00003dc8: PUSH2 0x3ddf
00003dcb: JUMPI
00003dcc: PUSH4 0x4e487b71
00003dd1: PUSH1 0xe0
00003dd3: SHL
00003dd4: DUP7
00003dd5: MSTORE
00003dd6: PUSH1 0x22
00003dd8: PUSH1 0x04
00003dda: MSTORE
00003ddb: PUSH1 0x24
00003ddd: DUP7
00003dde: REVERT
00003ddf: JUMPDEST
00003de0: DUP2
00003de1: DUP1
00003de2: ISZERO
00003de3: PUSH2 0x3df3
00003de6: JUMPI
00003de7: PUSH1 0x01
00003de9: DUP2
00003dea: EQ
00003deb: PUSH2 0x3e08
00003dee: JUMPI
00003def: PUSH2 0x3e35
00003df2: JUMP
00003df3: JUMPDEST
00003df4: PUSH1 0xff
00003df6: NOT
00003df7: DUP7
00003df8: AND
00003df9: DUP10
00003dfa: MSTORE
00003dfb: DUP5
00003dfc: ISZERO
00003dfd: ISZERO
00003dfe: DUP6
00003dff: MUL
00003e00: DUP10
00003e01: ADD
00003e02: SWAP7
00003e03: POP
00003e04: PUSH2 0x3e35
00003e07: JUMP
00003e08: JUMPDEST
00003e09: PUSH1 0x00
00003e0b: DUP11
00003e0c: DUP2
00003e0d: MSTORE
00003e0e: PUSH1 0x20
00003e10: SWAP1
00003e11: KECCAK256
00003e12: PUSH1 0x00
00003e14: JUMPDEST
00003e15: DUP7
00003e16: DUP2
00003e17: LT
00003e18: ISZERO
00003e19: PUSH2 0x3e2d
00003e1c: JUMPI
00003e1d: DUP2
00003e1e: SLOAD
00003e1f: DUP12
00003e20: DUP3
00003e21: ADD
00003e22: MSTORE
00003e23: SWAP1
00003e24: DUP6
00003e25: ADD
00003e26: SWAP1
00003e27: DUP4
00003e28: ADD
00003e29: PUSH2 0x3e14
00003e2c: JUMP
00003e2d: JUMPDEST
00003e2e: POP
00003e2f: POP
00003e30: DUP5
00003e31: DUP10
00003e32: ADD
00003e33: SWAP7
00003e34: POP
00003e35: JUMPDEST
00003e36: POP
00003e37: SWAP5
00003e38: SWAP9
00003e39: SWAP8
00003e3a: POP
00003e3b: POP
00003e3c: POP
00003e3d: POP
00003e3e: POP
00003e3f: POP
00003e40: POP
00003e41: POP
00003e42: JUMP
00003e43: JUMPDEST
00003e44: PUSH1 0x20
00003e46: DUP1
00003e47: DUP3
00003e48: MSTORE
00003e49: PUSH1 0x0d
00003e4b: SWAP1
00003e4c: DUP3
00003e4d: ADD
00003e4e: MSTORE
00003e4f: PUSH13 0x43617374206f766572666c6f77
00003e5d: PUSH1 0x98
00003e5f: SHL
00003e60: PUSH1 0x40
00003e62: DUP3
00003e63: ADD
00003e64: MSTORE
00003e65: PUSH1 0x60
00003e67: ADD
00003e68: SWAP1
00003e69: JUMP
00003e6a: JUMPDEST
00003e6b: PUSH1 0x00
00003e6d: PUSH4 0xffffffff
00003e72: DUP4
00003e73: DUP2
00003e74: AND
00003e75: SWAP1
00003e76: DUP4
00003e77: AND
00003e78: DUP2
00003e79: DUP2
00003e7a: LT
00003e7b: ISZERO
00003e7c: PUSH2 0x3e87
00003e7f: JUMPI
00003e80: PUSH2 0x3e87
00003e83: PUSH2 0x3c25
00003e86: JUMP
00003e87: JUMPDEST
00003e88: SUB
00003e89: SWAP4
00003e8a: SWAP3
00003e8b: POP
00003e8c: POP
00003e8d: POP
00003e8e: JUMP
00003e8f: JUMPDEST
00003e90: PUSH1 0x00
00003e92: PUSH1 0x20
00003e94: DUP3
00003e95: DUP5
00003e96: SUB
00003e97: SLT
00003e98: ISZERO
00003e99: PUSH2 0x3ea1
00003e9c: JUMPI
00003e9d: PUSH1 0x00
00003e9f: DUP1
00003ea0: REVERT
00003ea1: JUMPDEST
00003ea2: DUP2
00003ea3: MLOAD
00003ea4: PUSH8 0xffffffffffffffff
00003ead: DUP1
00003eae: DUP3
00003eaf: GT
00003eb0: ISZERO
00003eb1: PUSH2 0x3eb9
00003eb4: JUMPI
00003eb5: PUSH1 0x00
00003eb7: DUP1
00003eb8: REVERT
00003eb9: JUMPDEST
00003eba: DUP2
00003ebb: DUP5
00003ebc: ADD
00003ebd: SWAP2
00003ebe: POP
00003ebf: DUP5
00003ec0: PUSH1 0x1f
00003ec2: DUP4
00003ec3: ADD
00003ec4: SLT
00003ec5: PUSH2 0x3ecd
00003ec8: JUMPI
00003ec9: PUSH1 0x00
00003ecb: DUP1
00003ecc: REVERT
00003ecd: JUMPDEST
00003ece: DUP2
00003ecf: MLOAD
00003ed0: DUP2
00003ed1: DUP2
00003ed2: GT
00003ed3: ISZERO
00003ed4: PUSH2 0x3edf
00003ed7: JUMPI
00003ed8: PUSH2 0x3edf
00003edb: PUSH2 0x38d4
00003ede: JUMP
00003edf: JUMPDEST
00003ee0: PUSH2 0x3ef2
00003ee3: PUSH1 0x1f
00003ee5: DUP3
00003ee6: ADD
00003ee7: PUSH1 0x1f
00003ee9: NOT
00003eea: AND
00003eeb: PUSH1 0x20
00003eed: ADD
00003eee: PUSH2 0x38ea
00003ef1: JUMP
00003ef2: JUMPDEST
00003ef3: SWAP2
00003ef4: POP
00003ef5: DUP1
00003ef6: DUP3
00003ef7: MSTORE
00003ef8: DUP6
00003ef9: PUSH1 0x20
00003efb: DUP3
00003efc: DUP6
00003efd: ADD
00003efe: ADD
00003eff: GT
00003f00: ISZERO
00003f01: PUSH2 0x3f09
00003f04: JUMPI
00003f05: PUSH1 0x00
00003f07: DUP1
00003f08: REVERT
00003f09: JUMPDEST
00003f0a: PUSH2 0x3f1a
00003f0d: DUP2
00003f0e: PUSH1 0x20
00003f10: DUP5
00003f11: ADD
00003f12: PUSH1 0x20
00003f14: DUP7
00003f15: ADD
00003f16: PUSH2 0x365e
00003f19: JUMP
00003f1a: JUMPDEST
00003f1b: POP
00003f1c: SWAP5
00003f1d: SWAP4
00003f1e: POP
00003f1f: POP
00003f20: POP
00003f21: POP
00003f22: JUMP
00003f23: JUMPDEST
00003f24: PUSH1 0x00
00003f26: PUSH1 0x01
00003f28: PUSH1 0x01
00003f2a: PUSH1 0x80
00003f2c: SHL
00003f2d: SUB
00003f2e: DUP4
00003f2f: DUP2
00003f30: AND
00003f31: SWAP1
00003f32: DUP4
00003f33: AND
00003f34: DUP2
00003f35: DUP2
00003f36: LT
00003f37: ISZERO
00003f38: PUSH2 0x3e87
00003f3b: JUMPI
00003f3c: PUSH2 0x3e87
00003f3f: PUSH2 0x3c25
00003f42: JUMP
00003f43: JUMPDEST
00003f44: PUSH1 0x20
00003f46: DUP1
00003f47: DUP3
00003f48: MSTORE
00003f49: PUSH1 0x1b
00003f4b: SWAP1
00003f4c: DUP3
00003f4d: ADD
00003f4e: MSTORE
00003f4f: PUSH32 0x45524332303a20496e73756666696369656e742062616c616e63650000000000
00003f70: PUSH1 0x40
00003f72: DUP3
00003f73: ADD
00003f74: MSTORE
00003f75: PUSH1 0x60
00003f77: ADD
00003f78: SWAP1
00003f79: JUMP
00003f7a: INVALID
00003f7b: DELEGATECALL
00003f7c: UNKNOWN(0x4B)
00003f7d: PUSH15 0xcb6421462dee6400bd4e3bb57864c0
00003f8d: DELEGATECALL
00003f8e: UNKNOWN(0x28)
00003f8f: UNKNOWN(0xD0)
00003f90: UNKNOWN(0xF7)
00003f91: UNKNOWN(0xE7)
00003f92: UNKNOWN(0xD4)
00003f93: SWAP8
00003f94: PUSH18 0xf9fd7c30d4faddf252ad1be2c89b69c2b068
00003fa7: UNKNOWN(0xFC)
00003fa8: CALLDATACOPY
00003fa9: DUP14
00003faa: UNKNOWN(0xAA)
00003fab: SWAP6
00003fac: UNKNOWN(0x2B)
00003fad: UNKNOWN(0xA7)
00003fae: CALL
00003faf: PUSH4 0xc4a11628
00003fb4: CREATE2
00003fb5: GAS
00003fb6: UNKNOWN(0x4D)
00003fb7: CREATE2
00003fb8: UNKNOWN(0x23)
00003fb9: UNKNOWN(0xB3)
00003fba: UNKNOWN(0xEF)
00003fbb: LOG2
00003fbc: PUSH5 0x6970667358
00003fc2: UNKNOWN(0x22)
00003fc3: SLT
00003fc4: KECCAK256
00003fc5: UNKNOWN(0xB1)
00003fc6: EXTCODESIZE
00003fc7: PUSH16 0x1a20a6b787e1b7c87a84f7f85eb6c255
00003fd8: UNKNOWN(0xD3)
00003fd9: UNKNOWN(0xC2)
00003fda: MSTORE
00003fdb: DUP6
00003fdc: POP
00003fdd: SUB
00003fde: RETURNDATACOPY
00003fdf: PUSH7 0x796d4d042d6473
00003fe7: PUSH16

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: 0x1d6615b1bedda3b66ee205deaebdb539dc9d9efed4bc335aae63da7c6ada788b
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0x1d6615b1bedda3b66ee205deaebdb539dc9d9efed4bc335aae63da7c6ada788b",
    "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": "0xd7020d0a",
            "selector": "0xd7020d0a",
            "calldata_variants": [
                "0xd7020d0a",
                "0xd7020d0a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdc3bfba9",
            "selector": "0xdc3bfba9",
            "calldata_variants": [
                "0xdc3bfba9",
                "0xdc3bfba90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xde02cde7",
            "selector": "0xde02cde7",
            "calldata_variants": [
                "0xde02cde7",
                "0xde02cde70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xde320cc1",
            "selector": "0xde320cc1",
            "calldata_variants": [
                "0xde320cc1",
                "0xde320cc10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xeffae353",
            "selector": "0xeffae353",
            "calldata_variants": [
                "0xeffae353",
                "0xeffae3530000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf8f80017",
            "selector": "0xf8f80017",
            "calldata_variants": [
                "0xf8f80017",
                "0xf8f800170000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xffffffff",
            "selector": "0xffffffff",
            "calldata_variants": [
                "0xffffffff",
                "0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 16251,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 16269,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [
        {
            "pc": 5086,
            "type": "msg_sender_eq_const",
            "value": 0
        }
    ],
    "delegatecall_count": 2,
    "untrusted_delegatecall_count": 2
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0xcef48351e934634264710e89ac71c6095d7a86a19f2d8afd88af674665926659
call_targets: 0x3ae72b6f5fb854eaa2b2b862359b6fca7e4bc2fc
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xcef48351e934634264710e89ac71c6095d7a86a19f2d8afd88af674665926659",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x3ae72b6f5fb854eaa2b2b862359b6fca7e4bc2fc"
    ],
    "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": "0xd7020d0a",
            "selector": "0xd7020d0a",
            "calldata_variants": [
                "0xd7020d0a",
                "0xd7020d0a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdc3bfba9",
            "selector": "0xdc3bfba9",
            "calldata_variants": [
                "0xdc3bfba9",
                "0xdc3bfba90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xde02cde7",
            "selector": "0xde02cde7",
            "calldata_variants": [
                "0xde02cde7",
                "0xde02cde70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xde320cc1",
            "selector": "0xde320cc1",
            "calldata_variants": [
                "0xde320cc1",
                "0xde320cc10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xeffae353",
            "selector": "0xeffae353",
            "calldata_variants": [
                "0xeffae353",
                "0xeffae3530000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf8f80017",
            "selector": "0xf8f80017",
            "calldata_variants": [
                "0xf8f80017",
                "0xf8f800170000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xffffffff",
            "selector": "0xffffffff",
            "calldata_variants": [
                "0xffffffff",
                "0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2760,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3506,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3626,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 8,
    "guards_detected": [
        {
            "pc": 5086,
            "type": "msg_sender_eq_const",
            "value": 0
        }
    ]
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 2
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0x8781fdb7b617bd07ad28932195715898eb1b5252f891db2b1fdaf3be70de5664
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0x8781fdb7b617bd07ad28932195715898eb1b5252f891db2b1fdaf3be70de5664",
    "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": "0xd7020d0a",
            "selector": "0xd7020d0a",
            "calldata_variants": [
                "0xd7020d0a",
                "0xd7020d0a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdc3bfba9",
            "selector": "0xdc3bfba9",
            "calldata_variants": [
                "0xdc3bfba9",
                "0xdc3bfba90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xde02cde7",
            "selector": "0xde02cde7",
            "calldata_variants": [
                "0xde02cde7",
                "0xde02cde70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xde320cc1",
            "selector": "0xde320cc1",
            "calldata_variants": [
                "0xde320cc1",
                "0xde320cc10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xeffae353",
            "selector": "0xeffae353",
            "calldata_variants": [
                "0xeffae353",
                "0xeffae3530000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf8f80017",
            "selector": "0xf8f80017",
            "calldata_variants": [
                "0xf8f80017",
                "0xf8f800170000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xffffffff",
            "selector": "0xffffffff",
            "calldata_variants": [
                "0xffffffff",
                "0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 0,
    "create2_count": 2
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0xcef48351e934634264710e89ac71c6095d7a86a19f2d8afd88af674665926659
call_targets: 0x3ae72b6f5fb854eaa2b2b862359b6fca7e4bc2fc
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xcef48351e934634264710e89ac71c6095d7a86a19f2d8afd88af674665926659",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x3ae72b6f5fb854eaa2b2b862359b6fca7e4bc2fc"
    ],
    "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": "0xd7020d0a",
            "selector": "0xd7020d0a",
            "calldata_variants": [
                "0xd7020d0a",
                "0xd7020d0a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdc3bfba9",
            "selector": "0xdc3bfba9",
            "calldata_variants": [
                "0xdc3bfba9",
                "0xdc3bfba90000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xde02cde7",
            "selector": "0xde02cde7",
            "calldata_variants": [
                "0xde02cde7",
                "0xde02cde70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xde320cc1",
            "selector": "0xde320cc1",
            "calldata_variants": [
                "0xde320cc1",
                "0xde320cc10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xeffae353",
            "selector": "0xeffae353",
            "calldata_variants": [
                "0xeffae353",
                "0xeffae3530000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf8f80017",
            "selector": "0xf8f80017",
            "calldata_variants": [
                "0xf8f80017",
                "0xf8f800170000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xffffffff",
            "selector": "0xffffffff",
            "calldata_variants": [
                "0xffffffff",
                "0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2760,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3506,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 3626,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 8,
    "guards_detected": [
        {
            "pc": 5086,
            "type": "msg_sender_eq_const",
            "value": 0
        }
    ],
    "untrusted_call_count": 8
}
low math codex Strategy can be permanently bricked after total supply hits zero (division by zero on mint/burn paths) 65 no
view
evidence_json
{
    "evidence": "Share minting uses cached balances as denominators without zero checks.",
    "locations": [
        "contracts/@yield-protocol/strategy-v2/src/Strategy.sol:329",
        "contracts/@yield-protocol/strategy-v2/src/Strategy.sol:372",
        "contracts/@yield-protocol/strategy-v2/src/Strategy.sol:351",
        "contracts/@yield-protocol/strategy-v2/src/Strategy.sol:389"
    ],
    "recommendation": "Add explicit zero-supply handling: if `_totalSupply == 0`, mint 1:1 to deposit (and initialize cached values), or allow a guarded re-initialization path. Also guard divisions by ensuring cached balances are nonzero before dividing.",
    "exploit_scenario": "If all strategy tokens are burned (e.g., the last LP exits), `_totalSupply` becomes 0 and `baseCached`/`poolCached` can also become 0. Any later `mint`/`mintDivested` call will revert on division by zero, preventing new deposits and effectively bricking the strategy. A malicious or simply last LP can trigger this by withdrawing all liquidity, leaving the strategy unusable for future users."
}
low auth codex ERC20Permit does not enforce EIP-2 lower‑s / v range checks (signature malleability) 65 no
view
evidence_json
{
    "evidence": "`permit` accepts any `(v, r, s)` that recovers the owner without enforcing lower\u2011s or v range checks.",
    "locations": [
        "contracts/@yield-protocol/utils-v2/src/token/ERC20Permit.sol:55"
    ],
    "recommendation": "Validate `v` is 27/28 and require `s` to be in the lower half\u2011order (per EIP-2) before accepting the signature, or use OpenZeppelin\u2019s `ECDSA.recover` helpers.",
    "exploit_scenario": "An attacker who observes a valid permit signature can derive a second, malleable signature for the same message and front\u2011run the permit. While nonces prevent multiple uses, this breaks strict signature uniqueness and can complicate off\u2011chain logic or signature tracking."
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 0,
    "create2_count": 2
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 26
}