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

Analysis Run

dc08fc38-6d54-4fb0-8a86-bb65f82abb39

complete
Chain ID
1
Address
Block Number
Created
Sat, Dec 27, 2025 8:26 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
LP share accounting ignores trader PnL and vault asset flows, enabling over-redemption
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
30189 report.consolidate complete 1 / 1 3 months ago
93733 artifact.fetch complete 1 / 3 1 week ago
93734 tool.cast_disasm complete 1 / 3 1 week ago
93735 analysis.bundle complete 1 / 3 1 week ago
93736 capability.graph complete 1 / 3 1 week ago
93737 detector.run complete 1 / 3 1 week ago
93738 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
1
No findings?
no
Summary
Found 1 high-severity accounting/invariant issue where LP share accounting can diverge from actual vault balances, enabling over-redemption against trader collateral or insolvency.
View stderr
[codex:1289139] OpenAI Codex v0.77.0 (research preview)
[codex:1289139] --------
[codex:1289139] workdir: /tmp/codex-multi-yscmxex3
[codex:1289139] model: gpt-5.2-codex
[codex:1289139] provider: openai
[codex:1289139] approval: never
[codex:1289139] sandbox: read-only
[codex:1289139] reasoning effort: xhigh
[codex:1289139] reasoning summaries: auto
[codex:1289139] session id: 019b6176-d4d0-7052-9caa-00778fccfb41
[codex:1289139] --------
[codex:1289139] user
[codex:1289139] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1289139] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1289139] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1289139] 
[codex:1289139] Scope rules:
[codex:1289139] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1289139] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1289139] 
[codex:1289139] Output MUST be valid JSON matching the provided schema.
[codex:1289139] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1289139] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1289139] 
[codex:1289139] Output constraints (IMPORTANT):
[codex:1289139] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1289139] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1289139] mcp startup: no servers
[codex:1289139] 
[codex:1289139] thinking
[codex:1289139] **Preparing to locate audit files**
[codex:1289139] exec
[codex:1289139] /bin/bash -lc ls in /tmp/codex-multi-yscmxex3 succeeded in 6ms:
[codex:1289139] AUDIT_BUNDLE.txt
[codex:1289139] codex-output-schema.json
[codex:1289139] contracts
[codex:1289139] 
[codex:1289139] thinking
[codex:1289139] **Reading AUDIT_BUNDLE file**
[codex:1289139] exec
[codex:1289139] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-yscmxex3 succeeded in 6ms:
[codex:1289139] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1289139] 
[codex:1289139] ================================================================================
[codex:1289139] FILE: contracts/lib/openzeppelin-contracts/contracts/access/Ownable.sol
[codex:1289139] ================================================================================
[codex:1289139] // SPDX-License-Identifier: MIT
[codex:1289139] // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)
[codex:1289139] 
[codex:1289139] pragma solidity ^0.8.0;
[codex:1289139] 
[codex:1289139] import "../utils/Context.sol";
[codex:1289139] 
[codex:1289139] /**
[codex:1289139]  * @dev Contract module which provides a basic access control mechanism, where
[codex:1289139]  * there is an account (an owner) that can be granted exclusive access to
[codex:1289139]  * specific functions.
[codex:1289139]  *
[codex:1289139]  * By default, the owner account will be the one that deploys the contract. This
[codex:1289139]  * can later be changed with {transferOwnership}.
[codex:1289139]  *
[codex:1289139] 
[codex:1289139] thinking
[codex:1289139] **Searching for first-party contracts**
[codex:1289139] exec
[codex:1289139] /bin/bash -lc 'rg "''^FILE:" -n AUDIT_BUNDLE.txt' in /tmp/codex-multi-yscmxex3 succeeded in 7ms:
[codex:1289139] 4:FILE: contracts/lib/openzeppelin-contracts/contracts/access/Ownable.sol
[codex:1289139] 91:FILE: contracts/lib/openzeppelin-contracts/contracts/access/Ownable2Step.sol
[codex:1289139] 152:FILE: contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol
[codex:1289139] 184:FILE: contracts/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol
[codex:1289139] 553:FILE: contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol
[codex:1289139] 635:FILE: contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol
[codex:1289139] 667:FILE: contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol
[codex:1289139] 761:FILE: contracts/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol
[codex:1289139] 908:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/Address.sol
[codex:1289139] 1156:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/Context.sol
[codex:1289139] 1188:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol
[codex:1289139] 1314:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol
[codex:1289139] 1456:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/Strings.sol
[codex:1289139] 1545:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol
[codex:1289139] 1766:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol
[codex:1289139] 1912:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/math/Math.sol
[codex:1289139] 2255:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol
[codex:1289139] 3395:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol
[codex:1289139] 3442:FILE: contracts/src/CreditVault.sol
[codex:1289139] 4079:FILE: contracts/src/NativeLPToken.sol
[codex:1289139] 
[codex:1289139] thinking
[codex:1289139] **Extracting first-party contract segments**
[codex:1289139] exec
[codex:1289139] /bin/bash -lc "sed -n '3442,4078p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-yscmxex3 succeeded in 6ms:
[codex:1289139] FILE: contracts/src/CreditVault.sol
[codex:1289139] ================================================================================
[codex:1289139] // SPDX-License-Identifier: UNLICENSED
[codex:1289139] pragma solidity 0.8.28;
[codex:1289139] 
[codex:1289139] import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1289139] import {SafeCast} from "@openzeppelin/contracts/utils/math/SafeCast.sol";
[codex:1289139] import {Ownable2Step} from "@openzeppelin/contracts/access/Ownable2Step.sol";
[codex:1289139] import {EIP712, ECDSA} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";
[codex:1289139] 
[codex:1289139] import "./libraries/ConstantsLib.sol";
[codex:1289139] import {ErrorsLib} from "./libraries/ErrorsLib.sol";
[codex:1289139] import {SafeERC20} from "./libraries/SafeERC20.sol";
[codex:1289139] import {ICreditVault} from "./interfaces/ICreditVault.sol";
[codex:1289139] import {ReentrancyGuardTransient} from "./libraries/ReentrancyGuardTransient.sol";
[codex:1289139] 
[codex:1289139] import {NativeLPToken} from "./NativeLPToken.sol";
[codex:1289139] 
[codex:1289139] /// @title CreditVault - Manages trader positions and collateral
[codex:1289139] /// @notice Handles asset custody, position settlement, and LP token integration
[codex:1289139] 
[codex:1289139] thinking
[codex:1289139] **Starting NativeLPToken implementation**
[codex:1289139] exec
[codex:1289139] /bin/bash -lc "sed -n '4079,4533p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-yscmxex3 succeeded in 5ms:
[codex:1289139] FILE: contracts/src/NativeLPToken.sol
[codex:1289139] ================================================================================
[codex:1289139] // SPDX-License-Identifier: UNLICENSED
[codex:1289139] pragma solidity 0.8.28;
[codex:1289139] 
[codex:1289139] import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
[codex:1289139] import {Ownable2Step} from "@openzeppelin/contracts/access/Ownable2Step.sol";
[codex:1289139] import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1289139] import {IERC20Metadata as IERC20} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
[codex:1289139] 
[codex:1289139] import "./libraries/ConstantsLib.sol";
[codex:1289139] import {CreditVault} from "./CreditVault.sol";
[codex:1289139] import {ErrorsLib} from "./libraries/ErrorsLib.sol";
[codex:1289139] import {ReentrancyGuardTransient} from "./libraries/ReentrancyGuardTransient.sol";
[codex:1289139] 
[codex:1289139] /// @title NativeLPToken - Yield-bearing LP token contract
[codex:1289139] /// @notice A token contract that represents liquidity provider positions and distributes yield
[codex:1289139] /// @dev This contract manages LP shares and underlying assets, accruing yield based on protocol revenue
[codex:1289139] contract NativeLPToken is ERC20, Ownable2Step, ReentrancyGuardTransient {
[codex:1289139]     using SafeERC20 for IERC20;
[codex:1289139] 
[codex:1289139] thinking
[codex:1289139] **Identifying interface need**
[codex:1289139] exec
[codex:1289139] /bin/bash -lc "sed -n '4534,4703p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-yscmxex3 succeeded in 6ms:
[codex:1289139] FILE: contracts/src/interfaces/ICreditVault.sol
[codex:1289139] ================================================================================
[codex:1289139] // SPDX-License-Identifier: UNLICENSED
[codex:1289139] pragma solidity 0.8.28;
[codex:1289139] 
[codex:1289139] interface ICreditVault {
[codex:1289139]     function swapCallback(
[codex:1289139]         address signer,
[codex:1289139]         address sellerToken,
[codex:1289139]         int256 amount0Delta,
[codex:1289139]         address buyerToken,
[codex:1289139]         int256 amount1Delta
[codex:1289139]     ) external;
[codex:1289139] 
[codex:1289139]     /// @notice Struct for tracking daily rebalance limits per trader/liquidator and token
[codex:1289139]     /// @param limit Daily rebalance limit
[codex:1289139]     /// @param used Amount rebalanced today
[codex:1289139]     /// @param lastDay Last rebalance day timestamp
[codex:1289139]     struct RebalanceCap {
[codex:1289139]         uint256 limit;
[codex:1289139] 
[codex:1289139] 
[codex:1289139] 
[codex:1289139] 
[codex:1289139] 
[codex:1289139] thinking
[codex:1289139] **Analyzing security vulnerabilities in contract logic**
[codex:1289139] 
[codex:1289139] I'm walking through potential vulnerabilities including reentrancy, access control, signature handling, and accounting logic; I notice careful uses of nonReentrant, some minor inconsistencies like a faulty addCollateral check, and ERC20 approval race concerns. I'm also verifying if token transfers and state updates could cause replay or griefing issues, focusing on how totalUnderlying accounting aligns with trading activities and vault balances.
[codex:1289139] thinking
[codex:1289139] **Examining nuanced accounting and access patterns**
[codex:1289139] 
[codex:1289139] There's a lot here on rebalance caps, signature checks, settler vs trader token flows, and especially how underlying balances and share accounting might misalign due to untracked PnL from trading and collateral. I’m exploring how token movement, permissions, and cooldowns interact, and I’m curious how these design choices impact economic fairness and fund availability.
[codex:1289139] thinking
[codex:1289139] **Analyzing token flow nuances and potential economic edge cases**
[codex:1289139] 
[codex:1289139] There’s a deep dive into how token movements in settle/repay/liquidate bypass updates to totalUnderlying, possibly leading to accounting imbalances. I’m also inspecting approval mechanics, reentrancy risks around reserve withdrawals, and subtle quirks in share transfers and early withdrawal fee handling that might let savvy actors recapture fees or exploit timing. The signature schemes and nonce management add further complexity to authorization checks and replay protections.
[codex:1289139] thinking
[codex:1289139] **Evaluating authorization nuances and state consistency checks**
[codex:1289139] 
[codex:1289139] I'm examining how recipient mappings and signatures affect who can execute liquidations and settlements, plus potential race conditions in position updates via `swapCallback`. The interplay of collateral handling, token allowance management, and position validations suggests subtle inconsistencies rather than direct exploits. There’s also focus on fee accounting versus actual funds and permissions around LP tokens that might be sensitive to careful ownership and trust assumptions.
[codex:1289139] thinking
[codex:1289139] **Identifying LP token accounting inconsistencies affecting collateral**
[codex:1289139] 
[codex:1289139] I’m analyzing how totalUnderlying isn’t updated when traders settle, repay, or trigger vault payouts, causing LP shares to misrepresent actual vault funds. This misalignment can let LPs withdraw more than their fair share by draining trader collateral, revealing a core accounting flaw needing careful attention in CreditVault and NativeLPToken logic.
[codex:1289139] exec
[codex:1289139] /bin/bash -lc "nl -ba contracts/src/CreditVault.sol | sed -n '80,240p'" in /tmp/codex-multi-yscmxex3 succeeded in 7ms:
[codex:1289139]     80	
[codex:1289139]     81	    /// @notice maps liquidator to their recipient address for liquidations
[codex:1289139]     82	    mapping(address => address) public liquidatorToRecipient;
[codex:1289139]     83	
[codex:1289139]     84	    /// @notice Tracks rebalance caps for each trader/liquidator and token
[codex:1289139]     85	    mapping(address => mapping(address => RebalanceCap)) public rebalanceCaps;
[codex:1289139]     86	
[codex:1289139]     87	    /*//////////////////////////////////////////////////////////////////////////
[codex:1289139]     88	                                     CONSTRUCTOR
[codex:1289139]     89	    //////////////////////////////////////////////////////////////////////////*/
[codex:1289139]     90	
[codex:1289139]     91	    constructor() EIP712("Native Credit Vault", "1") {}
[codex:1289139]     92	
[codex:1289139]     93	    /// @notice Callback function called by NativeRFQPool after swap execution to update trader positions
[codex:1289139]     94	    /// @dev Only callable by whitelisted NativePools, it's called after the swap is executed
[codex:1289139]     95	    /// @param trader The address of the market maker
[codex:1289139]     96	    /// @param tokenIn The address of the token that is selling
[codex:1289139]     97	    /// @param amountIn The amount of the token that is selling
[codex:1289139]     98	    /// @param tokenOut The address of the token that is buying
[codex:1289139]     99	    /// @param amountOut The amount of the token that is buying
[codex:1289139] 
[codex:1289139] thinking
[codex:1289139] **Continuing with liquidation tasks**
[codex:1289139] exec
[codex:1289139] /bin/bash -lc "nl -ba contracts/src/CreditVault.sol | sed -n '240,420p'" in /tmp/codex-multi-yscmxex3 succeeded in 6ms:
[codex:1289139]    240	            );
[codex:1289139]    241	        }
[codex:1289139]    242	
[codex:1289139]    243	        emit Repaid(trader, positionUpdates);
[codex:1289139]    244	    }
[codex:1289139]    245	
[codex:1289139]    246	    /// @notice Called by liquidators to liquidate the underwater positions
[codex:1289139]    247	    /// @dev This transaction requires off-chain calculation to verify if the trader's credit meets the criteria.
[codex:1289139]    248	    /// @param request The struct of the liquidation request containing info of long and short positions to liquidate
[codex:1289139]    249	    /// @param signature The signature of the liquidation request
[codex:1289139]    250	    function liquidate(
[codex:1289139]    251	        LiquidationRequest calldata request,
[codex:1289139]    252	        bytes calldata signature
[codex:1289139]    253	    ) external onlyLiquidator nonReentrant {
[codex:1289139]    254	        _verifyLiquidationSignature(request, signature);
[codex:1289139]    255	
[codex:1289139]    256	        _updatePositions(request.positionUpdates, request.trader);
[codex:1289139]    257	
[codex:1289139]    258	        address recipient = liquidatorToRecipient[msg.sender];
[codex:1289139]    259	
[codex:1289139] 
[codex:1289139] thinking
[codex:1289139] **Searching for line numbers in NativeLPToken**
[codex:1289139] exec
[codex:1289139] /bin/bash -lc "nl -ba contracts/src/NativeLPToken.sol | sed -n '120,320p'" in /tmp/codex-multi-yscmxex3 succeeded in 6ms:
[codex:1289139]    120	        underlying = IERC20(_underlying);
[codex:1289139]    121	        creditVault = _creditVault;
[codex:1289139]    122	
[codex:1289139]    123	        _decimals = IERC20(address(underlying)).decimals();
[codex:1289139]    124	    }
[codex:1289139]    125	
[codex:1289139]    126	    /// @notice Deposit underlying tokens to mint LP tokens
[codex:1289139]    127	    /// @param amount Amount of underlying tokens to deposit
[codex:1289139]    128	    /// @return sharesToMint Amount of LP tokens minted
[codex:1289139]    129	    function deposit(uint256 amount)
[codex:1289139]    130	        external
[codex:1289139]    131	        nonReentrant
[codex:1289139]    132	        whenNotPaused(depositPaused)
[codex:1289139]    133	        returns (uint256 sharesToMint)
[codex:1289139]    134	    {
[codex:1289139]    135	        sharesToMint = _deposit(msg.sender, msg.sender, amount);
[codex:1289139]    136	    }
[codex:1289139]    137	
[codex:1289139]    138	    /// @notice Deposit underlying tokens on behalf of another address
[codex:1289139]    139	    /// @param to The address to mint shares to
[codex:1289139] 
[codex:1289139] thinking
[codex:1289139] **Checking for _deposit and _redeem implementations**
[codex:1289139] exec
[codex:1289139] /bin/bash -lc "nl -ba contracts/src/NativeLPToken.sol | sed -n '320,520p'" in /tmp/codex-multi-yscmxex3 succeeded in 6ms:
[codex:1289139]    320	    }
[codex:1289139]    321	
[codex:1289139]    322	    /// @notice Function to pause redeem operation
[codex:1289139]    323	    function pauseRedeem() external onlyOwner {
[codex:1289139]    324	        redeemPaused = true;
[codex:1289139]    325	        emit RedeemPaused();
[codex:1289139]    326	    }
[codex:1289139]    327	
[codex:1289139]    328	    /// @notice Function to unpause redeem operation
[codex:1289139]    329	    function unpauseRedeem() external onlyOwner {
[codex:1289139]    330	        redeemPaused = false;
[codex:1289139]    331	        emit RedeemUnpaused();
[codex:1289139]    332	    }
[codex:1289139]    333	
[codex:1289139]    334	    modifier whenNotPaused(bool feature) {
[codex:1289139]    335	        if (feature) {
[codex:1289139]    336	            revert ErrorsLib.FeaturePaused();
[codex:1289139]    337	        }
[codex:1289139]    338	        _;
[codex:1289139]    339	    }
[codex:1289139] 
[codex:1289139] 
[codex:1289139] thinking
[codex:1289139] **Analyzing potential accounting and collateral issues**
[codex:1289139] thinking
[codex:1289139] **Summarizing accounting vulnerability with evidence**
[codex:1289139] 
[codex:1289139] I’m preparing a detailed summary of the high-severity accounting issue where the LP share totalUnderlying is not updated on vault token transfers related to trader positions, enabling LPs to withdraw more than their fair share and potentially drain collateral. I’m collecting exact line numbers from CreditVault and NativeLPToken contracts to cite key functions where updates happen or are missing. I’m also considering a secondary low-to-medium severity issue with ERC20 allowances lingering after credit pool removal, which could allow a removed pool to still transfer tokens if owner doesn’t revoke allowance. Finally, I’m crafting a JSON report matching the schema, including a concise summary, one major finding with exploit and recommendations, and precise evidence locations from the source code.
[codex:1289139] codex
[codex:1289139] {"no_findings":false,"summary":"Found 1 high-severity accounting/invariant issue where LP share accounting can diverge from actual vault balances, enabling over-redemption against trader collateral or insolvency.","findings":[{"severity":"high","category":"math","title":"LP share accounting ignores trader PnL and vault asset flows, enabling over-redemption","exploit_scenario":"A trader settles a profitable position, causing the vault to transfer underlying out via `settle`/`liquidate` without updating the LP token’s `totalUnderlying`. LP shares are still valued at the pre‑payout exchange rate, so an LP can redeem based on an overstated `totalUnderlying`. `CreditVault.pay` only checks against the LP token’s `totalUnderlying`, so the redemption succeeds as long as the vault balance (including trader collateral) is sufficient, draining collateral and leaving the vault insolvent for traders. The opposite case (repays) strands assets because `totalUnderlying` never increases.","recommendation":"Track LP pool balances in the vault and update `totalUnderlying` whenever vault balances change due to trading/settlement/repay/liquidation/swaps, or segregate collateral from LP funds and have `pay` enforce withdrawals only against available LP liquidity (vault balance minus collateral/reserves). Ensure any fee/yield distribution only reflects assets actually collected.","evidence":"`totalUnderlying` is only mutated in `NativeLPToken._deposit`, `_redeem`, and `distributeYield`, while vault outflows/inflows from trader settlements/repays/liquidations happen in `CreditVault` without any corresponding LP accounting updates.","locations":["contracts/src/CreditVault.sol:171","contracts/src/CreditVault.sol:230","contracts/src/CreditVault.sol:250","contracts/src/CreditVault.sol:294","contracts/src/NativeLPToken.sol:190","contracts/src/NativeLPToken.sol:345","contracts/src/NativeLPToken.sol:371"]}]}
[codex:1289139] tokens used
[codex:1289139] 102,503
[codex:1289139] {"no_findings":false,"summary":"Found 1 high-severity accounting/invariant issue where LP share accounting can diverge from actual vault balances, enabling over-redemption against trader collateral or insolvency.","findings":[{"severity":"high","category":"math","title":"LP share accounting ignores trader PnL and vault asset flows, enabling over-redemption","exploit_scenario":"A trader settles a profitable position, causing the vault to transfer underlying out via `settle`/`liquidate` without updating the LP token’s `totalUnderlying`. LP shares are still valued at the pre‑payout exchange rate, so an LP can redeem based on an overstated `totalUnderlying`. `CreditVault.pay` only checks against the LP token’s `totalUnderlying`, so the redemption succeeds as long as the vault balance (including trader collateral) is sufficient, draining collateral and leaving the vault insolvent for traders. The opposite case (repays) strands assets because `totalUnderlying` never increases.","recommendation":"Track LP pool balances in the vault and update `totalUnderlying` whenever vault balances change due to trading/settlement/repay/liquidation/swaps, or segregate collateral from LP funds and have `pay` enforce withdrawals only against available LP liquidity (vault balance minus collateral/reserves). Ensure any fee/yield distribution only reflects assets actually collected.","evidence":"`totalUnderlying` is only mutated in `NativeLPToken._deposit`, `_redeem`, and `distributeYield`, while vault outflows/inflows from trader settlements/repays/liquidations happen in `CreditVault` without any corresponding LP accounting updates.","locations":["contracts/src/CreditVault.sol:171","contracts/src/CreditVault.sol:230","contracts/src/CreditVault.sol:250","contracts/src/CreditVault.sol:294","contracts/src/NativeLPToken.sol:190","contracts/src/NativeLPToken.sol:345","contracts/src/NativeLPToken.sol:371"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-27T20:26:38.146107+00:00",
        "returncode": 0
    },
    "summary": "Found 1 high-severity accounting/invariant issue where LP share accounting can diverge from actual vault balances, enabling over-redemption against trader collateral or insolvency.",
    "raw_final": {
        "summary": "Found 1 high-severity accounting/invariant issue where LP share accounting can diverge from actual vault balances, enabling over-redemption against trader collateral or insolvency.",
        "findings": [
            {
                "title": "LP share accounting ignores trader PnL and vault asset flows, enabling over-redemption",
                "category": "math",
                "evidence": "`totalUnderlying` is only mutated in `NativeLPToken._deposit`, `_redeem`, and `distributeYield`, while vault outflows/inflows from trader settlements/repays/liquidations happen in `CreditVault` without any corresponding LP accounting updates.",
                "severity": "high",
                "locations": [
                    "contracts/src/CreditVault.sol:171",
                    "contracts/src/CreditVault.sol:230",
                    "contracts/src/CreditVault.sol:250",
                    "contracts/src/CreditVault.sol:294",
                    "contracts/src/NativeLPToken.sol:190",
                    "contracts/src/NativeLPToken.sol:345",
                    "contracts/src/NativeLPToken.sol:371"
                ],
                "recommendation": "Track LP pool balances in the vault and update `totalUnderlying` whenever vault balances change due to trading/settlement/repay/liquidation/swaps, or segregate collateral from LP funds and have `pay` enforce withdrawals only against available LP liquidity (vault balance minus collateral/reserves). Ensure any fee/yield distribution only reflects assets actually collected.",
                "exploit_scenario": "A trader settles a profitable position, causing the vault to transfer underlying out via `settle`/`liquidate` without updating the LP token\u2019s `totalUnderlying`. LP shares are still valued at the pre\u2011payout exchange rate, so an LP can redeem based on an overstated `totalUnderlying`. `CreditVault.pay` only checks against the LP token\u2019s `totalUnderlying`, so the redemption succeeds as long as the vault balance (including trader collateral) is sufficient, draining collateral and leaving the vault insolvent for traders. The opposite case (repays) strands assets because `totalUnderlying` never increases."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
9
EXT*/BALANCE
3
Total opcodes
10019
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLVALUE
00000006: DUP1
00000007: ISZERO
00000008: PUSH2 0x000f
0000000b: JUMPI
0000000c: PUSH0
0000000d: PUSH0
0000000e: REVERT
0000000f: JUMPDEST
00000010: POP
00000011: PUSH1 0x04
00000013: CALLDATASIZE
00000014: LT
00000015: PUSH2 0x02d7
00000018: JUMPI
00000019: PUSH0
0000001a: CALLDATALOAD
0000001b: PUSH1 0xe0
0000001d: SHR
0000001e: DUP1
0000001f: PUSH4 0x79ba5097
00000024: GT
00000025: PUSH2 0x0187
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xb17b658d
0000002f: GT
00000030: PUSH2 0x00dd
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xcab4f84c
0000003a: GT
0000003b: PUSH2 0x0093
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xf2fde38b
00000045: GT
00000046: PUSH2 0x006e
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xf2fde38b
00000050: EQ
00000051: PUSH2 0x0784
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xf6d95efd
0000005b: EQ
0000005c: PUSH2 0x0797
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0xf90cdb36
00000066: EQ
00000067: PUSH2 0x07cc
0000006a: JUMPI
0000006b: PUSH0
0000006c: PUSH0
0000006d: REVERT
0000006e: JUMPDEST
0000006f: DUP1
00000070: PUSH4 0xcab4f84c
00000075: EQ
00000076: PUSH2 0x0729
00000079: JUMPI
0000007a: DUP1
0000007b: PUSH4 0xcc218ece
00000080: EQ
00000081: PUSH2 0x073c
00000084: JUMPI
00000085: DUP1
00000086: PUSH4 0xe30c3978
0000008b: EQ
0000008c: PUSH2 0x0766
0000008f: JUMPI
00000090: PUSH0
00000091: PUSH0
00000092: REVERT
00000093: JUMPDEST
00000094: DUP1
00000095: PUSH4 0xb7477674
0000009a: GT
0000009b: PUSH2 0x00c3
0000009e: JUMPI
0000009f: DUP1
000000a0: PUSH4 0xb7477674
000000a5: EQ
000000a6: PUSH2 0x06af
000000a9: JUMPI
000000aa: DUP1
000000ab: PUSH4 0xc2b73076
000000b0: EQ
000000b1: PUSH2 0x0703
000000b4: JUMPI
000000b5: DUP1
000000b6: PUSH4 0xc4076876
000000bb: EQ
000000bc: PUSH2 0x0716
000000bf: JUMPI
000000c0: PUSH0
000000c1: PUSH0
000000c2: REVERT
000000c3: JUMPDEST
000000c4: DUP1
000000c5: PUSH4 0xb17b658d
000000ca: EQ
000000cb: PUSH2 0x0667
000000ce: JUMPI
000000cf: DUP1
000000d0: PUSH4 0xb6bdff03
000000d5: EQ
000000d6: PUSH2 0x069c
000000d9: JUMPI
000000da: PUSH0
000000db: PUSH0
000000dc: REVERT
000000dd: JUMPDEST
000000de: DUP1
000000df: PUSH4 0x92a88fa2
000000e4: GT
000000e5: PUSH2 0x013d
000000e8: JUMPI
000000e9: DUP1
000000ea: PUSH4 0xabb49f19
000000ef: GT
000000f0: PUSH2 0x0118
000000f3: JUMPI
000000f4: DUP1
000000f5: PUSH4 0xabb49f19
000000fa: EQ
000000fb: PUSH2 0x0622
000000fe: JUMPI
000000ff: DUP1
00000100: PUSH4 0xae1914f8
00000105: EQ
00000106: PUSH2 0x0635
00000109: JUMPI
0000010a: DUP1
0000010b: PUSH4 0xb0ab63ec
00000110: EQ
00000111: PUSH2 0x0648
00000114: JUMPI
00000115: PUSH0
00000116: PUSH0
00000117: REVERT
00000118: JUMPDEST
00000119: DUP1
0000011a: PUSH4 0x92a88fa2
0000011f: EQ
00000120: PUSH2 0x05da
00000123: JUMPI
00000124: DUP1
00000125: PUSH4 0x98221e94
0000012a: EQ
0000012b: PUSH2 0x05fc
0000012e: JUMPI
0000012f: DUP1
00000130: PUSH4 0x9be41fdb
00000135: EQ
00000136: PUSH2 0x060f
00000139: JUMPI
0000013a: PUSH0
0000013b: PUSH0
0000013c: REVERT
0000013d: JUMPDEST
0000013e: DUP1
0000013f: PUSH4 0x84b0196e
00000144: GT
00000145: PUSH2 0x016d
00000148: JUMPI
00000149: DUP1
0000014a: PUSH4 0x84b0196e
0000014f: EQ
00000150: PUSH2 0x058e
00000153: JUMPI
00000154: DUP1
00000155: PUSH4 0x8da5cb5b
0000015a: EQ
0000015b: PUSH2 0x05a9
0000015e: JUMPI
0000015f: DUP1
00000160: PUSH4 0x9246261c
00000165: EQ
00000166: PUSH2 0x05c7
00000169: JUMPI
0000016a: PUSH0
0000016b: PUSH0
0000016c: REVERT
0000016d: JUMPDEST
0000016e: DUP1
0000016f: PUSH4 0x79ba5097
00000174: EQ
00000175: PUSH2 0x0573
00000178: JUMPI
00000179: DUP1
0000017a: PUSH4 0x81377bfd
0000017f: EQ
00000180: PUSH2 0x057b
00000183: JUMPI
00000184: PUSH0
00000185: PUSH0
00000186: REVERT
00000187: JUMPDEST
00000188: DUP1
00000189: PUSH4 0x41b1fa76
0000018e: GT
0000018f: PUSH2 0x023c
00000192: JUMPI
00000193: DUP1
00000194: PUSH4 0x4e293ee9
00000199: GT
0000019a: PUSH2 0x01f2
0000019d: JUMPI
0000019e: DUP1
0000019f: PUSH4 0x715018a6
000001a4: GT
000001a5: PUSH2 0x01cd
000001a8: JUMPI
000001a9: DUP1
000001aa: PUSH4 0x715018a6
000001af: EQ
000001b0: PUSH2 0x0545
000001b3: JUMPI
000001b4: DUP1
000001b5: PUSH4 0x7362ecbe
000001ba: EQ
000001bb: PUSH2 0x054d
000001be: JUMPI
000001bf: DUP1
000001c0: PUSH4 0x73eb5133
000001c5: EQ
000001c6: PUSH2 0x0560
000001c9: JUMPI
000001ca: PUSH0
000001cb: PUSH0
000001cc: REVERT
000001cd: JUMPDEST
000001ce: DUP1
000001cf: PUSH4 0x4e293ee9
000001d4: EQ
000001d5: PUSH2 0x04ff
000001d8: JUMPI
000001d9: DUP1
000001da: PUSH4 0x4f487eb8
000001df: EQ
000001e0: PUSH2 0x0512
000001e3: JUMPI
000001e4: DUP1
000001e5: PUSH4 0x6c19e783
000001ea: EQ
000001eb: PUSH2 0x0532
000001ee: JUMPI
000001ef: PUSH0
000001f0: PUSH0
000001f1: REVERT
000001f2: JUMPDEST
000001f3: DUP1
000001f4: PUSH4 0x464b38bc
000001f9: GT
000001fa: PUSH2 0x0222
000001fd: JUMPI
000001fe: DUP1
000001ff: PUSH4 0x464b38bc
00000204: EQ
00000205: PUSH2 0x0495
00000208: JUMPI
00000209: DUP1
0000020a: PUSH4 0x47de43e2
0000020f: EQ
00000210: PUSH2 0x04c2
00000213: JUMPI
00000214: DUP1
00000215: PUSH4 0x4bd21445
0000021a: EQ
0000021b: PUSH2 0x04d5
0000021e: JUMPI
0000021f: PUSH0
00000220: PUSH0
00000221: REVERT
00000222: JUMPDEST
00000223: DUP1
00000224: PUSH4 0x41b1fa76
00000229: EQ
0000022a: PUSH2 0x043e
0000022d: JUMPI
0000022e: DUP1
0000022f: PUSH4 0x422e0af0
00000234: EQ
00000235: PUSH2 0x0460
00000238: JUMPI
00000239: PUSH0
0000023a: PUSH0
0000023b: REVERT
0000023c: JUMPDEST
0000023d: DUP1
0000023e: PUSH4 0x141a468c
00000243: GT
00000244: PUSH2 0x0291
00000247: JUMPI
00000248: DUP1
00000249: PUSH4 0x20761fc4
0000024e: GT
0000024f: PUSH2 0x0277
00000252: JUMPI
00000253: DUP1
00000254: PUSH4 0x20761fc4
00000259: EQ
0000025a: PUSH2 0x03dc
0000025d: JUMPI
0000025e: DUP1
0000025f: PUSH4 0x238ac933
00000264: EQ
00000265: PUSH2 0x03fe
00000268: JUMPI
00000269: DUP1
0000026a: PUSH4 0x32b4fa6b
0000026f: EQ
00000270: PUSH2 0x041e
00000273: JUMPI
00000274: PUSH0
00000275: PUSH0
00000276: REVERT
00000277: JUMPDEST
00000278: DUP1
00000279: PUSH4 0x141a468c
0000027e: EQ
0000027f: PUSH2 0x03a7
00000282: JUMPI
00000283: DUP1
00000284: PUSH4 0x1e777ad3
00000289: EQ
0000028a: PUSH2 0x03c9
0000028d: JUMPI
0000028e: PUSH0
0000028f: PUSH0
00000290: REVERT
00000291: JUMPDEST
00000292: DUP1
00000293: PUSH4 0x0d2a7ae8
00000298: GT
00000299: PUSH2 0x02c1
0000029c: JUMPI
0000029d: DUP1
0000029e: PUSH4 0x0d2a7ae8
000002a3: EQ
000002a4: PUSH2 0x0303
000002a7: JUMPI
000002a8: DUP1
000002a9: PUSH4 0x0dfbe91b
000002ae: EQ
000002af: PUSH2 0x0362
000002b2: JUMPI
000002b3: DUP1
000002b4: PUSH4 0x12411772
000002b9: EQ
000002ba: PUSH2 0x0394
000002bd: JUMPI
000002be: PUSH0
000002bf: PUSH0
000002c0: REVERT
000002c1: JUMPDEST
000002c2: DUP1
000002c3: PUSH3 0xfc59c0
000002c7: EQ
000002c8: PUSH2 0x02db
000002cb: JUMPI
000002cc: DUP1
000002cd: PUSH4 0x097a8ec4
000002d2: EQ
000002d3: PUSH2 0x02f0
000002d6: JUMPI
000002d7: JUMPDEST
000002d8: PUSH0
000002d9: PUSH0
000002da: REVERT
000002db: JUMPDEST
000002dc: PUSH2 0x02ee
000002df: PUSH2 0x02e9
000002e2: CALLDATASIZE
000002e3: PUSH1 0x04
000002e5: PUSH2 0x44e9
000002e8: JUMP
000002e9: JUMPDEST
000002ea: PUSH2 0x07ee
000002ed: JUMP
000002ee: JUMPDEST
000002ef: STOP
000002f0: JUMPDEST
000002f1: PUSH2 0x02ee
000002f4: PUSH2 0x02fe
000002f7: CALLDATASIZE
000002f8: PUSH1 0x04
000002fa: PUSH2 0x450b
000002fd: JUMP
000002fe: JUMPDEST
000002ff: PUSH2 0x08bd
00000302: JUMP
00000303: JUMPDEST
00000304: PUSH2 0x0338
00000307: PUSH2 0x0311
0000030a: CALLDATASIZE
0000030b: PUSH1 0x04
0000030d: PUSH2 0x44e9
00000310: JUMP
00000311: JUMPDEST
00000312: PUSH1 0x11
00000314: PUSH1 0x20
00000316: MSTORE
00000317: PUSH0
00000318: SWAP1
00000319: DUP2
0000031a: MSTORE
0000031b: PUSH1 0x40
0000031d: SWAP1
0000031e: KECCAK256
0000031f: SLOAD
00000320: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000335: AND
00000336: DUP2
00000337: JUMP
00000338: JUMPDEST
00000339: PUSH1 0x40
0000033b: MLOAD
0000033c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000351: SWAP1
00000352: SWAP2
00000353: AND
00000354: DUP2
00000355: MSTORE
00000356: PUSH1 0x20
00000358: ADD
00000359: JUMPDEST
0000035a: PUSH1 0x40
0000035c: MLOAD
0000035d: DUP1
0000035e: SWAP2
0000035f: SUB
00000360: SWAP1
00000361: RETURN
00000362: JUMPDEST
00000363: PUSH2 0x0384
00000366: PUSH2 0x0370
00000369: CALLDATASIZE
0000036a: PUSH1 0x04
0000036c: PUSH2 0x44e9
0000036f: JUMP
00000370: JUMPDEST
00000371: PUSH1 0x08
00000373: PUSH1 0x20
00000375: MSTORE
00000376: PUSH0
00000377: SWAP1
00000378: DUP2
00000379: MSTORE
0000037a: PUSH1 0x40
0000037c: SWAP1
0000037d: KECCAK256
0000037e: SLOAD
0000037f: PUSH1 0xff
00000381: AND
00000382: DUP2
00000383: JUMP
00000384: JUMPDEST
00000385: PUSH1 0x40
00000387: MLOAD
00000388: SWAP1
00000389: ISZERO
0000038a: ISZERO
0000038b: DUP2
0000038c: MSTORE
0000038d: PUSH1 0x20
0000038f: ADD
00000390: PUSH2 0x0359
00000393: JUMP
00000394: JUMPDEST
00000395: PUSH2 0x02ee
00000398: PUSH2 0x03a2
0000039b: CALLDATASIZE
0000039c: PUSH1 0x04
0000039e: PUSH2 0x4587
000003a1: JUMP
000003a2: JUMPDEST
000003a3: PUSH2 0x0a4b
000003a6: JUMP
000003a7: JUMPDEST
000003a8: PUSH2 0x0384
000003ab: PUSH2 0x03b5
000003ae: CALLDATASIZE
000003af: PUSH1 0x04
000003b1: PUSH2 0x45f4
000003b4: JUMP
000003b5: JUMPDEST
000003b6: PUSH1 0x0c
000003b8: PUSH1 0x20
000003ba: MSTORE
000003bb: PUSH0
000003bc: SWAP1
000003bd: DUP2
000003be: MSTORE
000003bf: PUSH1 0x40
000003c1: SWAP1
000003c2: KECCAK256
000003c3: SLOAD
000003c4: PUSH1 0xff
000003c6: AND
000003c7: DUP2
000003c8: JUMP
000003c9: JUMPDEST
000003ca: PUSH2 0x02ee
000003cd: PUSH2 0x03d7
000003d0: CALLDATASIZE
000003d1: PUSH1 0x04
000003d3: PUSH2 0x464c
000003d6: JUMP
000003d7: JUMPDEST
000003d8: PUSH2 0x0e9b
000003db: JUMP
000003dc: JUMPDEST
000003dd: PUSH2 0x0384
000003e0: PUSH2 0x03ea
000003e3: CALLDATASIZE
000003e4: PUSH1 0x04
000003e6: PUSH2 0x44e9
000003e9: JUMP
000003ea: JUMPDEST
000003eb: PUSH1 0x0f
000003ed: PUSH1 0x20
000003ef: MSTORE
000003f0: PUSH0
000003f1: SWAP1
000003f2: DUP2
000003f3: MSTORE
000003f4: PUSH1 0x40
000003f6: SWAP1
000003f7: KECCAK256
000003f8: SLOAD
000003f9: PUSH1 0xff
000003fb: AND
000003fc: DUP2
000003fd: JUMP
000003fe: JUMPDEST
000003ff: PUSH1 0x05
00000401: SLOAD
00000402: PUSH2 0x0338
00000405: SWAP1
00000406: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000041b: AND
0000041c: DUP2
0000041d: JUMP
0000041e: JUMPDEST
0000041f: PUSH1 0x04
00000421: SLOAD
00000422: PUSH2 0x0338
00000425: SWAP1
00000426: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000043b: AND
0000043c: DUP2
0000043d: JUMP
0000043e: JUMPDEST
0000043f: PUSH2 0x0384
00000442: PUSH2 0x044c
00000445: CALLDATASIZE
00000446: PUSH1 0x04
00000448: PUSH2 0x44e9
0000044b: JUMP
0000044c: JUMPDEST
0000044d: PUSH1 0x13
0000044f: PUSH1 0x20
00000451: MSTORE
00000452: PUSH0
00000453: SWAP1
00000454: DUP2
00000455: MSTORE
00000456: PUSH1 0x40
00000458: SWAP1
00000459: KECCAK256
0000045a: SLOAD
0000045b: PUSH1 0xff
0000045d: AND
0000045e: DUP2
0000045f: JUMP
00000460: JUMPDEST
00000461: PUSH2 0x0338
00000464: PUSH2 0x046e
00000467: CALLDATASIZE
00000468: PUSH1 0x04
0000046a: PUSH2 0x44e9
0000046d: JUMP
0000046e: JUMPDEST
0000046f: PUSH1 0x12
00000471: PUSH1 0x20
00000473: MSTORE
00000474: PUSH0
00000475: SWAP1
00000476: DUP2
00000477: MSTORE
00000478: PUSH1 0x40
0000047a: SWAP1
0000047b: KECCAK256
0000047c: SLOAD
0000047d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000492: AND
00000493: DUP2
00000494: JUMP
00000495: JUMPDEST
00000496: PUSH2 0x04b4
00000499: PUSH2 0x04a3
0000049c: CALLDATASIZE
0000049d: PUSH1 0x04
0000049f: PUSH2 0x44e9
000004a2: JUMP
000004a3: JUMPDEST
000004a4: PUSH1 0x09
000004a6: PUSH1 0x20
000004a8: MSTORE
000004a9: PUSH0
000004aa: SWAP1
000004ab: DUP2
000004ac: MSTORE
000004ad: PUSH1 0x40
000004af: SWAP1
000004b0: KECCAK256
000004b1: SLOAD
000004b2: DUP2
000004b3: JUMP
000004b4: JUMPDEST
000004b5: PUSH1 0x40
000004b7: MLOAD
000004b8: SWAP1
000004b9: DUP2
000004ba: MSTORE
000004bb: PUSH1 0x20
000004bd: ADD
000004be: PUSH2 0x0359
000004c1: JUMP
000004c2: JUMPDEST
000004c3: PUSH2 0x02ee
000004c6: PUSH2 0x04d0
000004c9: CALLDATASIZE
000004ca: PUSH1 0x04
000004cc: PUSH2 0x46ac
000004cf: JUMP
000004d0: JUMPDEST
000004d1: PUSH2 0x0fac
000004d4: JUMP
000004d5: JUMPDEST
000004d6: PUSH2 0x04b4
000004d9: PUSH2 0x04e3
000004dc: CALLDATASIZE
000004dd: PUSH1 0x04
000004df: PUSH2 0x46e9
000004e2: JUMP
000004e3: JUMPDEST
000004e4: PUSH1 0x0d
000004e6: PUSH1 0x20
000004e8: SWAP1
000004e9: DUP2
000004ea: MSTORE
000004eb: PUSH0
000004ec: SWAP3
000004ed: DUP4
000004ee: MSTORE
000004ef: PUSH1 0x40
000004f1: DUP1
000004f2: DUP5
000004f3: KECCAK256
000004f4: SWAP1
000004f5: SWAP2
000004f6: MSTORE
000004f7: SWAP1
000004f8: DUP3
000004f9: MSTORE
000004fa: SWAP1
000004fb: KECCAK256
000004fc: SLOAD
000004fd: DUP2
000004fe: JUMP
000004ff: JUMPDEST
00000500: PUSH2 0x02ee
00000503: PUSH2 0x050d
00000506: CALLDATASIZE
00000507: PUSH1 0x04
00000509: PUSH2 0x4736
0000050c: JUMP
0000050d: JUMPDEST
0000050e: PUSH2 0x114d
00000511: JUMP
00000512: JUMPDEST
00000513: PUSH1 0x06
00000515: SLOAD
00000516: PUSH2 0x0338
00000519: SWAP1
0000051a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000052f: AND
00000530: DUP2
00000531: JUMP
00000532: JUMPDEST
00000533: PUSH2 0x02ee
00000536: PUSH2 0x0540
00000539: CALLDATASIZE
0000053a: PUSH1 0x04
0000053c: PUSH2 0x44e9
0000053f: JUMP
00000540: JUMPDEST
00000541: PUSH2 0x14b4
00000544: JUMP
00000545: JUMPDEST
00000546: PUSH2 0x02ee
00000549: PUSH2 0x157c
0000054c: JUMP
0000054d: JUMPDEST
0000054e: PUSH2 0x02ee
00000551: PUSH2 0x055b
00000554: CALLDATASIZE
00000555: PUSH1 0x04
00000557: PUSH2 0x4786
0000055a: JUMP
0000055b: JUMPDEST
0000055c: PUSH2 0x158f
0000055f: JUMP
00000560: JUMPDEST
00000561: PUSH2 0x02ee
00000564: PUSH2 0x056e
00000567: CALLDATASIZE
00000568: PUSH1 0x04
0000056a: PUSH2 0x44e9
0000056d: JUMP
0000056e: JUMPDEST
0000056f: PUSH2 0x16fe
00000572: JUMP
00000573: JUMPDEST
00000574: PUSH2 0x02ee
00000577: PUSH2 0x17c6
0000057a: JUMP
0000057b: JUMPDEST
0000057c: PUSH2 0x02ee
0000057f: PUSH2 0x0589
00000582: CALLDATASIZE
00000583: PUSH1 0x04
00000585: PUSH2 0x464c
00000588: JUMP
00000589: JUMPDEST
0000058a: PUSH2 0x1880
0000058d: JUMP
0000058e: JUMPDEST
0000058f: PUSH2 0x0596
00000592: PUSH2 0x1a88
00000595: JUMP
00000596: JUMPDEST
00000597: PUSH1 0x40
00000599: MLOAD
0000059a: PUSH2 0x0359
0000059d: SWAP8
0000059e: SWAP7
0000059f: SWAP6
000005a0: SWAP5
000005a1: SWAP4
000005a2: SWAP3
000005a3: SWAP2
000005a4: SWAP1
000005a5: PUSH2 0x4829
000005a8: JUMP
000005a9: JUMPDEST
000005aa: PUSH1 0x02
000005ac: SLOAD
000005ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005c2: AND
000005c3: PUSH2 0x0338
000005c6: JUMP
000005c7: JUMPDEST
000005c8: PUSH2 0x0338
000005cb: PUSH2 0x05d5
000005ce: CALLDATASIZE
000005cf: PUSH1 0x04
000005d1: PUSH2 0x45f4
000005d4: JUMP
000005d5: JUMPDEST
000005d6: PUSH2 0x1b2a
000005d9: JUMP
000005da: JUMPDEST
000005db: PUSH2 0x0384
000005de: PUSH2 0x05e8
000005e1: CALLDATASIZE
000005e2: PUSH1 0x04
000005e4: PUSH2 0x44e9
000005e7: JUMP
000005e8: JUMPDEST
000005e9: PUSH1 0x10
000005eb: PUSH1 0x20
000005ed: MSTORE
000005ee: PUSH0
000005ef: SWAP1
000005f0: DUP2
000005f1: MSTORE
000005f2: PUSH1 0x40
000005f4: SWAP1
000005f5: KECCAK256
000005f6: SLOAD
000005f7: PUSH1 0xff
000005f9: AND
000005fa: DUP2
000005fb: JUMP
000005fc: JUMPDEST
000005fd: PUSH2 0x02ee
00000600: PUSH2 0x060a
00000603: CALLDATASIZE
00000604: PUSH1 0x04
00000606: PUSH2 0x48e8
00000609: JUMP
0000060a: JUMPDEST
0000060b: PUSH2 0x1b5f
0000060e: JUMP
0000060f: JUMPDEST
00000610: PUSH2 0x02ee
00000613: PUSH2 0x061d
00000616: CALLDATASIZE
00000617: PUSH1 0x04
00000619: PUSH2 0x4736
0000061c: JUMP
0000061d: JUMPDEST
0000061e: PUSH2 0x213f
00000621: JUMP
00000622: JUMPDEST
00000623: PUSH2 0x02ee
00000626: PUSH2 0x0630
00000629: CALLDATASIZE
0000062a: PUSH1 0x04
0000062c: PUSH2 0x4959
0000062f: JUMP
00000630: JUMPDEST
00000631: PUSH2 0x23f3
00000634: JUMP
00000635: JUMPDEST
00000636: PUSH2 0x02ee
00000639: PUSH2 0x0643
0000063c: CALLDATASIZE
0000063d: PUSH1 0x04
0000063f: PUSH2 0x450b
00000642: JUMP
00000643: JUMPDEST
00000644: PUSH2 0x24d1
00000647: JUMP
00000648: JUMPDEST
00000649: PUSH2 0x04b4
0000064c: PUSH2 0x0656
0000064f: CALLDATASIZE
00000650: PUSH1 0x04
00000652: PUSH2 0x44e9
00000655: JUMP
00000656: JUMPDEST
00000657: PUSH1 0x0a
00000659: PUSH1 0x20
0000065b: MSTORE
0000065c: PUSH0
0000065d: SWAP1
0000065e: DUP2
0000065f: MSTORE
00000660: PUSH1 0x40
00000662: SWAP1
00000663: KECCAK256
00000664: SLOAD
00000665: DUP2
00000666: JUMP
00000667: JUMPDEST
00000668: PUSH2 0x0338
0000066b: PUSH2 0x0675
0000066e: CALLDATASIZE
0000066f: PUSH1 0x04
00000671: PUSH2 0x44e9
00000674: JUMP
00000675: JUMPDEST
00000676: PUSH1 0x0b
00000678: PUSH1 0x20
0000067a: MSTORE
0000067b: PUSH0
0000067c: SWAP1
0000067d: DUP2
0000067e: MSTORE
0000067f: PUSH1 0x40
00000681: SWAP1
00000682: KECCAK256
00000683: SLOAD
00000684: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000699: AND
0000069a: DUP2
0000069b: JUMP
0000069c: JUMPDEST
0000069d: PUSH2 0x02ee
000006a0: PUSH2 0x06aa
000006a3: CALLDATASIZE
000006a4: PUSH1 0x04
000006a6: PUSH2 0x464c
000006a9: JUMP
000006aa: JUMPDEST
000006ab: PUSH2 0x267d
000006ae: JUMP
000006af: JUMPDEST
000006b0: PUSH2 0x06e8
000006b3: PUSH2 0x06bd
000006b6: CALLDATASIZE
000006b7: PUSH1 0x04
000006b9: PUSH2 0x46e9
000006bc: JUMP
000006bd: JUMPDEST
000006be: PUSH1 0x16
000006c0: PUSH1 0x20
000006c2: SWAP1
000006c3: DUP2
000006c4: MSTORE
000006c5: PUSH0
000006c6: SWAP3
000006c7: DUP4
000006c8: MSTORE
000006c9: PUSH1 0x40
000006cb: DUP1
000006cc: DUP5
000006cd: KECCAK256
000006ce: SWAP1
000006cf: SWAP2
000006d0: MSTORE
000006d1: SWAP1
000006d2: DUP3
000006d3: MSTORE
000006d4: SWAP1
000006d5: KECCAK256
000006d6: DUP1
000006d7: SLOAD
000006d8: PUSH1 0x01
000006da: DUP3
000006db: ADD
000006dc: SLOAD
000006dd: PUSH1 0x02
000006df: SWAP1
000006e0: SWAP3
000006e1: ADD
000006e2: SLOAD
000006e3: SWAP1
000006e4: SWAP2
000006e5: SWAP1
000006e6: DUP4
000006e7: JUMP
000006e8: JUMPDEST
000006e9: PUSH1 0x40
000006eb: DUP1
000006ec: MLOAD
000006ed: SWAP4
000006ee: DUP5
000006ef: MSTORE
000006f0: PUSH1 0x20
000006f2: DUP5
000006f3: ADD
000006f4: SWAP3
000006f5: SWAP1
000006f6: SWAP3
000006f7: MSTORE
000006f8: SWAP1
000006f9: DUP3
000006fa: ADD
000006fb: MSTORE
000006fc: PUSH1 0x60
000006fe: ADD
000006ff: PUSH2 0x0359
00000702: JUMP
00000703: JUMPDEST
00000704: PUSH2 0x02ee
00000707: PUSH2 0x0711
0000070a: CALLDATASIZE
0000070b: PUSH1 0x04
0000070d: PUSH2 0x4985
00000710: JUMP
00000711: JUMPDEST
00000712: PUSH2 0x2893
00000715: JUMP
00000716: JUMPDEST
00000717: PUSH2 0x02ee
0000071a: PUSH2 0x0724
0000071d: CALLDATASIZE
0000071e: PUSH1 0x04
00000720: PUSH2 0x49f2
00000723: JUMP
00000724: JUMPDEST
00000725: PUSH2 0x2acb
00000728: JUMP
00000729: JUMPDEST
0000072a: PUSH2 0x02ee
0000072d: PUSH2 0x0737
00000730: CALLDATASIZE
00000731: PUSH1 0x04
00000733: PUSH2 0x44e9
00000736: JUMP
00000737: JUMPDEST
00000738: PUSH2 0x2c4c
0000073b: JUMP
0000073c: JUMPDEST
0000073d: PUSH2 0x04b4
00000740: PUSH2 0x074a
00000743: CALLDATASIZE
00000744: PUSH1 0x04
00000746: PUSH2 0x46e9
00000749: JUMP
0000074a: JUMPDEST
0000074b: PUSH1 0x0e
0000074d: PUSH1 0x20
0000074f: SWAP1
00000750: DUP2
00000751: MSTORE
00000752: PUSH0
00000753: SWAP3
00000754: DUP4
00000755: MSTORE
00000756: PUSH1 0x40
00000758: DUP1
00000759: DUP5
0000075a: KECCAK256
0000075b: SWAP1
0000075c: SWAP2
0000075d: MSTORE
0000075e: SWAP1
0000075f: DUP3
00000760: MSTORE
00000761: SWAP1
00000762: KECCAK256
00000763: SLOAD
00000764: DUP2
00000765: JUMP
00000766: JUMPDEST
00000767: PUSH1 0x03
00000769: SLOAD
0000076a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000077f: AND
00000780: PUSH2 0x0338
00000783: JUMP
00000784: JUMPDEST
00000785: PUSH2 0x02ee
00000788: PUSH2 0x0792
0000078b: CALLDATASIZE
0000078c: PUSH1 0x04
0000078e: PUSH2 0x44e9
00000791: JUMP
00000792: JUMPDEST
00000793: PUSH2 0x2f65
00000796: JUMP
00000797: JUMPDEST
00000798: PUSH2 0x0338
0000079b: PUSH2 0x07a5
0000079e: CALLDATASIZE
0000079f: PUSH1 0x04
000007a1: PUSH2 0x44e9
000007a4: JUMP
000007a5: JUMPDEST
000007a6: PUSH1 0x15
000007a8: PUSH1 0x20
000007aa: MSTORE
000007ab: PUSH0
000007ac: SWAP1
000007ad: DUP2
000007ae: MSTORE
000007af: PUSH1 0x40
000007b1: SWAP1
000007b2: KECCAK256
000007b3: SLOAD
000007b4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007c9: AND
000007ca: DUP2
000007cb: JUMP
000007cc: JUMPDEST
000007cd: PUSH2 0x0384
000007d0: PUSH2 0x07da
000007d3: CALLDATASIZE
000007d4: PUSH1 0x04
000007d6: PUSH2 0x44e9
000007d9: JUMP
000007da: JUMPDEST
000007db: PUSH1 0x14
000007dd: PUSH1 0x20
000007df: MSTORE
000007e0: PUSH0
000007e1: SWAP1
000007e2: DUP2
000007e3: MSTORE
000007e4: PUSH1 0x40
000007e6: SWAP1
000007e7: KECCAK256
000007e8: SLOAD
000007e9: PUSH1 0xff
000007eb: AND
000007ec: DUP2
000007ed: JUMP
000007ee: JUMPDEST
000007ef: PUSH2 0x07f6
000007f2: PUSH2 0x3015
000007f5: JUMP
000007f6: JUMPDEST
000007f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000080c: DUP2
0000080d: AND
0000080e: PUSH2 0x0843
00000811: JUMPI
00000812: PUSH1 0x40
00000814: MLOAD
00000815: PUSH32 0xd92e233d00000000000000000000000000000000000000000000000000000000
00000836: DUP2
00000837: MSTORE
00000838: PUSH1 0x04
0000083a: ADD
0000083b: PUSH1 0x40
0000083d: MLOAD
0000083e: DUP1
0000083f: SWAP2
00000840: SUB
00000841: SWAP1
00000842: REVERT
00000843: JUMPDEST
00000844: PUSH1 0x04
00000846: DUP1
00000847: SLOAD
00000848: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00000869: AND
0000086a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000087f: DUP4
00000880: AND
00000881: SWAP1
00000882: DUP2
00000883: OR
00000884: SWAP1
00000885: SWAP2
00000886: SSTORE
00000887: PUSH1 0x40
00000889: MLOAD
0000088a: SWAP1
0000088b: DUP2
0000088c: MSTORE
0000088d: PUSH32 0x15d0b1a02a4902c4788ceda199eb43e4a753d86c0dbb7412e8ba63feecb070fa
000008ae: SWAP1
000008af: PUSH1 0x20
000008b1: ADD
000008b2: JUMPDEST
000008b3: PUSH1 0x40
000008b5: MLOAD
000008b6: DUP1
000008b7: SWAP2
000008b8: SUB
000008b9: SWAP1
000008ba: LOG1
000008bb: POP
000008bc: JUMP
000008bd: JUMPDEST
000008be: PUSH2 0x08c5
000008c1: PUSH2 0x3015
000008c4: JUMP
000008c5: JUMPDEST
000008c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008db: DUP3
000008dc: AND
000008dd: PUSH2 0x0912
000008e0: JUMPI
000008e1: PUSH1 0x40
000008e3: MLOAD
000008e4: PUSH32 0xd92e233d00000000000000000000000000000000000000000000000000000000
00000905: DUP2
00000906: MSTORE
00000907: PUSH1 0x04
00000909: ADD
0000090a: PUSH1 0x40
0000090c: MLOAD
0000090d: DUP1
0000090e: SWAP2
0000090f: SUB
00000910: SWAP1
00000911: REVERT
00000912: JUMPDEST
00000913: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000928: DUP4
00000929: AND
0000092a: PUSH0
0000092b: SWAP1
0000092c: DUP2
0000092d: MSTORE
0000092e: PUSH1 0x10
00000930: PUSH1 0x20
00000932: MSTORE
00000933: PUSH1 0x40
00000935: SWAP1
00000936: KECCAK256
00000937: SLOAD
00000938: PUSH1 0xff
0000093a: AND
0000093b: DUP1
0000093c: PUSH2 0x0969
0000093f: JUMPI
00000940: POP
00000941: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000956: DUP4
00000957: AND
00000958: PUSH0
00000959: SWAP1
0000095a: DUP2
0000095b: MSTORE
0000095c: PUSH1 0x14
0000095e: PUSH1 0x20
00000960: MSTORE
00000961: PUSH1 0x40
00000963: SWAP1
00000964: KECCAK256
00000965: SLOAD
00000966: PUSH1 0xff
00000968: AND
00000969: JUMPDEST
0000096a: PUSH2 0x099f
0000096d: JUMPI
0000096e: PUSH1 0x40
00000970: MLOAD
00000971: PUSH32 0x3be3aba200000000000000000000000000000000000000000000000000000000
00000992: DUP2
00000993: MSTORE
00000994: PUSH1 0x04
00000996: ADD
00000997: PUSH1 0x40
00000999: MLOAD
0000099a: DUP1
0000099b: SWAP2
0000099c: SUB
0000099d: SWAP1
0000099e: REVERT
0000099f: JUMPDEST
000009a0: PUSH1 0x40
000009a2: DUP1
000009a3: MLOAD
000009a4: PUSH1 0x60
000009a6: DUP2
000009a7: ADD
000009a8: DUP3
000009a9: MSTORE
000009aa: DUP3
000009ab: DUP2
000009ac: MSTORE
000009ad: PUSH0
000009ae: PUSH1 0x20
000009b0: DUP3
000009b1: ADD
000009b2: MSTORE
000009b3: SWAP1
000009b4: DUP2
000009b5: ADD
000009b6: PUSH2 0x09c2
000009b9: PUSH3 0x015180
000009bd: TIMESTAMP
000009be: PUSH2 0x4a49
000009c1: JUMP
000009c2: JUMPDEST
000009c3: SWAP1
000009c4: MSTORE
000009c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009da: DUP5
000009db: DUP2
000009dc: AND
000009dd: PUSH0
000009de: DUP2
000009df: DUP2
000009e0: MSTORE
000009e1: PUSH1 0x16
000009e3: PUSH1 0x20
000009e5: SWAP1
000009e6: DUP2
000009e7: MSTORE
000009e8: PUSH1 0x40
000009ea: DUP1
000009eb: DUP4
000009ec: KECCAK256
000009ed: SWAP5
000009ee: DUP9
000009ef: AND
000009f0: DUP1
000009f1: DUP5
000009f2: MSTORE
000009f3: SWAP5
000009f4: DUP3
000009f5: MSTORE
000009f6: SWAP2
000009f7: DUP3
000009f8: SWAP1
000009f9: KECCAK256
000009fa: DUP6
000009fb: MLOAD
000009fc: DUP2
000009fd: SSTORE
000009fe: DUP6
000009ff: DUP3
00000a00: ADD
00000a01: MLOAD
00000a02: PUSH1 0x01
00000a04: DUP3
00000a05: ADD
00000a06: SSTORE
00000a07: SWAP5
00000a08: DUP3
00000a09: ADD
00000a0a: MLOAD
00000a0b: PUSH1 0x02
00000a0d: SWAP1
00000a0e: SWAP6
00000a0f: ADD
00000a10: SWAP5
00000a11: SWAP1
00000a12: SWAP5
00000a13: SSTORE
00000a14: MLOAD
00000a15: DUP5
00000a16: DUP2
00000a17: MSTORE
00000a18: SWAP2
00000a19: SWAP3
00000a1a: SWAP1
00000a1b: SWAP2
00000a1c: PUSH32 0x39ff4a05a64bdf7e1dcb0b2d6b7e35b6a720a9412386a9e193c0e93d29a18470
00000a3d: SWAP2
00000a3e: ADD
00000a3f: PUSH1 0x40
00000a41: MLOAD
00000a42: DUP1
00000a43: SWAP2
00000a44: SUB
00000a45: SWAP1
00000a46: LOG3
00000a47: POP
00000a48: POP
00000a49: POP
00000a4a: JUMP
00000a4b: JUMPDEST
00000a4c: CALLER
00000a4d: PUSH0
00000a4e: SWAP1
00000a4f: DUP2
00000a50: MSTORE
00000a51: PUSH1 0x14
00000a53: PUSH1 0x20
00000a55: MSTORE
00000a56: PUSH1 0x40
00000a58: SWAP1
00000a59: KECCAK256
00000a5a: SLOAD
00000a5b: PUSH1 0xff
00000a5d: AND
00000a5e: PUSH2 0x0a93
00000a61: JUMPI
00000a62: PUSH1 0x40
00000a64: MLOAD
00000a65: PUSH32 0x99b01c4700000000000000000000000000000000000000000000000000000000
00000a86: DUP2
00000a87: MSTORE
00000a88: PUSH1 0x04
00000a8a: ADD
00000a8b: PUSH1 0x40
00000a8d: MLOAD
00000a8e: DUP1
00000a8f: SWAP2
00000a90: SUB
00000a91: SWAP1
00000a92: REVERT
00000a93: JUMPDEST
00000a94: PUSH2 0x0a9b
00000a97: PUSH2 0x3096
00000a9a: JUMP
00000a9b: JUMPDEST
00000a9c: PUSH2 0x0aa6
00000a9f: DUP4
00000aa0: DUP4
00000aa1: DUP4
00000aa2: PUSH2 0x311a
00000aa5: JUMP
00000aa6: JUMPDEST
00000aa7: PUSH2 0x0b1d
00000aaa: PUSH2 0x0ab6
00000aad: PUSH1 0x60
00000aaf: DUP6
00000ab0: ADD
00000ab1: DUP6
00000ab2: PUSH2 0x4a81
00000ab5: JUMP
00000ab6: JUMPDEST
00000ab7: DUP1
00000ab8: DUP1
00000ab9: PUSH1 0x20
00000abb: MUL
00000abc: PUSH1 0x20
00000abe: ADD
00000abf: PUSH1 0x40
00000ac1: MLOAD
00000ac2: SWAP1
00000ac3: DUP2
00000ac4: ADD
00000ac5: PUSH1 0x40
00000ac7: MSTORE
00000ac8: DUP1
00000ac9: SWAP4
00000aca: SWAP3
00000acb: SWAP2
00000acc: SWAP1
00000acd: DUP2
00000ace: DUP2
00000acf: MSTORE
00000ad0: PUSH1 0x20
00000ad2: ADD
00000ad3: PUSH0
00000ad4: SWAP1
00000ad5: JUMPDEST
00000ad6: DUP3
00000ad7: DUP3
00000ad8: LT
00000ad9: ISZERO
00000ada: PUSH2 0x0b01
00000add: JUMPI
00000ade: PUSH2 0x0af2
00000ae1: PUSH1 0x40
00000ae3: DUP4
00000ae4: MUL
00000ae5: DUP7
00000ae6: ADD
00000ae7: CALLDATASIZE
00000ae8: DUP2
00000ae9: SWAP1
00000aea: SUB
00000aeb: DUP2
00000aec: ADD
00000aed: SWAP1
00000aee: PUSH2 0x4ae5
00000af1: JUMP
00000af2: JUMPDEST
00000af3: DUP2
00000af4: MSTORE
00000af5: PUSH1 0x20
00000af7: ADD
00000af8: SWAP1
00000af9: PUSH1 0x01
00000afb: ADD
00000afc: SWAP1
00000afd: PUSH2 0x0ad5
00000b00: JUMP
00000b01: JUMPDEST
00000b02: POP
00000b03: PUSH2 0x0b18
00000b06: SWAP4
00000b07: POP
00000b08: POP
00000b09: PUSH1 0x60
00000b0b: DUP9
00000b0c: ADD
00000b0d: SWAP2
00000b0e: POP
00000b0f: POP
00000b10: PUSH1 0x40
00000b12: DUP8
00000b13: ADD
00000b14: PUSH2 0x44e9
00000b17: JUMP
00000b18: JUMPDEST
00000b19: PUSH2 0x335f
00000b1c: JUMP
00000b1d: JUMPDEST
00000b1e: CALLER
00000b1f: PUSH0
00000b20: SWAP1
00000b21: DUP2
00000b22: MSTORE
00000b23: PUSH1 0x15
00000b25: PUSH1 0x20
00000b27: MSTORE
00000b28: PUSH1 0x40
00000b2a: DUP2
00000b2b: KECCAK256
00000b2c: SLOAD
00000b2d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b42: AND
00000b43: SWAP1
00000b44: JUMPDEST
00000b45: PUSH2 0x0b51
00000b48: PUSH1 0x80
00000b4a: DUP7
00000b4b: ADD
00000b4c: DUP7
00000b4d: PUSH2 0x4a81
00000b50: JUMP
00000b51: JUMPDEST
00000b52: SWAP1
00000b53: POP
00000b54: DUP2
00000b55: LT
00000b56: ISZERO
00000b57: PUSH2 0x0c46
00000b5a: JUMPI
00000b5b: PUSH2 0x0b67
00000b5e: PUSH1 0x80
00000b60: DUP7
00000b61: ADD
00000b62: DUP7
00000b63: PUSH2 0x4a81
00000b66: JUMP
00000b67: JUMPDEST
00000b68: DUP3
00000b69: DUP2
00000b6a: DUP2
00000b6b: LT
00000b6c: PUSH2 0x0b77
00000b6f: JUMPI
00000b70: PUSH2 0x0b77
00000b73: PUSH2 0x4b62
00000b76: JUMP
00000b77: JUMPDEST
00000b78: SWAP1
00000b79: POP
00000b7a: PUSH1 0x40
00000b7c: MUL
00000b7d: ADD
00000b7e: PUSH1 0x20
00000b80: ADD
00000b81: CALLDATALOAD
00000b82: PUSH1 0x0e
00000b84: PUSH0
00000b85: DUP8
00000b86: PUSH1 0x40
00000b88: ADD
00000b89: PUSH1 0x20
00000b8b: DUP2
00000b8c: ADD
00000b8d: SWAP1
00000b8e: PUSH2 0x0b97
00000b91: SWAP2
00000b92: SWAP1
00000b93: PUSH2 0x44e9
00000b96: JUMP
00000b97: JUMPDEST
00000b98: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bad: AND
00000bae: DUP2
00000baf: MSTORE
00000bb0: PUSH1 0x20
00000bb2: DUP2
00000bb3: ADD
00000bb4: SWAP2
00000bb5: SWAP1
00000bb6: SWAP2
00000bb7: MSTORE
00000bb8: PUSH1 0x40
00000bba: ADD
00000bbb: PUSH0
00000bbc: SWAP1
00000bbd: DUP2
00000bbe: KECCAK256
00000bbf: SWAP1
00000bc0: PUSH2 0x0bcc
00000bc3: PUSH1 0x80
00000bc5: DUP10
00000bc6: ADD
00000bc7: DUP10
00000bc8: PUSH2 0x4a81
00000bcb: JUMP
00000bcc: JUMPDEST
00000bcd: DUP6
00000bce: DUP2
00000bcf: DUP2
00000bd0: LT
00000bd1: PUSH2 0x0bdc
00000bd4: JUMPI
00000bd5: PUSH2 0x0bdc
00000bd8: PUSH2 0x4b62
00000bdb: JUMP
00000bdc: JUMPDEST
00000bdd: PUSH2 0x0bf2
00000be0: SWAP3
00000be1: PUSH1 0x20
00000be3: PUSH1 0x40
00000be5: SWAP1
00000be6: SWAP3
00000be7: MUL
00000be8: ADD
00000be9: SWAP1
00000bea: DUP2
00000beb: ADD
00000bec: SWAP2
00000bed: POP
00000bee: PUSH2 0x44e9
00000bf1: JUMP
00000bf2: JUMPDEST
00000bf3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c08: AND
00000c09: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c1e: AND
00000c1f: DUP2
00000c20: MSTORE
00000c21: PUSH1 0x20
00000c23: ADD
00000c24: SWAP1
00000c25: DUP2
00000c26: MSTORE
00000c27: PUSH1 0x20
00000c29: ADD
00000c2a: PUSH0
00000c2b: KECCAK256
00000c2c: PUSH0
00000c2d: DUP3
00000c2e: DUP3
00000c2f: SLOAD
00000c30: PUSH2 0x0c39
00000c33: SWAP2
00000c34: SWAP1
00000c35: PUSH2 0x4b8f
00000c38: JUMP
00000c39: JUMPDEST
00000c3a: SWAP1
00000c3b: SWAP2
00000c3c: SSTORE
00000c3d: POP
00000c3e: POP
00000c3f: PUSH1 0x01
00000c41: ADD
00000c42: PUSH2 0x0b44
00000c45: JUMP
00000c46: JUMPDEST
00000c47: POP
00000c48: PUSH0
00000c49: JUMPDEST
00000c4a: PUSH2 0x0c56
00000c4d: PUSH1 0x60
00000c4f: DUP7
00000c50: ADD
00000c51: DUP7
00000c52: PUSH2 0x4a81
00000c55: JUMP
00000c56: JUMPDEST
00000c57: SWAP1
00000c58: POP
00000c59: DUP2
00000c5a: LT
00000c5b: ISZERO
00000c5c: PUSH2 0x0d4c
00000c5f: JUMPI
00000c60: PUSH0
00000c61: PUSH2 0x0c6d
00000c64: PUSH1 0x60
00000c66: DUP8
00000c67: ADD
00000c68: DUP8
00000c69: PUSH2 0x4a81
00000c6c: JUMP
00000c6d: JUMPDEST
00000c6e: DUP4
00000c6f: DUP2
00000c70: DUP2
00000c71: LT
00000c72: PUSH2 0x0c7d
00000c75: JUMPI
00000c76: PUSH2 0x0c7d
00000c79: PUSH2 0x4b62
00000c7c: JUMP
00000c7d: JUMPDEST
00000c7e: PUSH2 0x0c93
00000c81: SWAP3
00000c82: PUSH1 0x20
00000c84: PUSH1 0x40
00000c86: SWAP1
00000c87: SWAP3
00000c88: MUL
00000c89: ADD
00000c8a: SWAP1
00000c8b: DUP2
00000c8c: ADD
00000c8d: SWAP2
00000c8e: POP
00000c8f: PUSH2 0x44e9
00000c92: JUMP
00000c93: JUMPDEST
00000c94: SWAP1
00000c95: POP
00000c96: PUSH0
00000c97: PUSH2 0x0ca3
00000c9a: PUSH1 0x60
00000c9c: DUP9
00000c9d: ADD
00000c9e: DUP9
00000c9f: PUSH2 0x4a81
00000ca2: JUMP
00000ca3: JUMPDEST
00000ca4: DUP5
00000ca5: DUP2
00000ca6: DUP2
00000ca7: LT
00000ca8: PUSH2 0x0cb3
00000cab: JUMPI
00000cac: PUSH2 0x0cb3
00000caf: PUSH2 0x4b62
00000cb2: JUMP
00000cb3: JUMPDEST
00000cb4: SWAP1
00000cb5: POP
00000cb6: PUSH1 0x40
00000cb8: MUL
00000cb9: ADD
00000cba: PUSH1 0x20
00000cbc: ADD
00000cbd: CALLDATALOAD
00000cbe: SWAP1
00000cbf: POP
00000cc0: PUSH0
00000cc1: DUP2
00000cc2: SGT
00000cc3: ISZERO
00000cc4: PUSH2 0x0cf9
00000cc7: JUMPI
00000cc8: PUSH2 0x0cf4
00000ccb: CALLER
00000ccc: ADDRESS
00000ccd: PUSH2 0x0cd5
00000cd0: DUP5
00000cd1: PUSH2 0x354d
00000cd4: JUMP
00000cd5: JUMPDEST
00000cd6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ceb: DUP7
00000cec: AND
00000ced: SWAP3
00000cee: SWAP2
00000cef: SWAP1
00000cf0: PUSH2 0x35bc
00000cf3: JUMP
00000cf4: JUMPDEST
00000cf5: PUSH2 0x0d42
00000cf8: JUMP
00000cf9: JUMPDEST
00000cfa: PUSH2 0x0d14
00000cfd: CALLER
00000cfe: DUP4
00000cff: PUSH2 0x0d0f
00000d02: PUSH2 0x0d0a
00000d05: DUP6
00000d06: PUSH2 0x4ba2
00000d09: JUMP
00000d0a: JUMPDEST
00000d0b: PUSH2 0x354d
00000d0e: JUMP
00000d0f: JUMPDEST
00000d10: PUSH2 0x3698
00000d13: JUMP
00000d14: JUMPDEST
00000d15: PUSH2 0x0d42
00000d18: DUP5
00000d19: PUSH2 0x0d24
00000d1c: PUSH2 0x0d0a
00000d1f: DUP5
00000d20: PUSH2 0x4ba2
00000d23: JUMP
00000d24: JUMPDEST
00000d25: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d3a: DUP6
00000d3b: AND
00000d3c: SWAP2
00000d3d: SWAP1
00000d3e: PUSH2 0x37aa
00000d41: JUMP
00000d42: JUMPDEST
00000d43: POP
00000d44: POP
00000d45: PUSH1 0x01
00000d47: ADD
00000d48: PUSH2 0x0c49
00000d4b: JUMP
00000d4c: JUMPDEST
00000d4d: POP
00000d4e: PUSH0
00000d4f: JUMPDEST
00000d50: PUSH2 0x0d5c
00000d53: PUSH1 0x80
00000d55: DUP7
00000d56: ADD
00000d57: DUP7
00000d58: PUSH2 0x4a81
00000d5b: JUMP
00000d5c: JUMPDEST
00000d5d: SWAP1
00000d5e: POP
00000d5f: DUP2
00000d60: LT
00000d61: ISZERO
00000d62: PUSH2 0x0e26
00000d65: JUMPI
00000d66: PUSH0
00000d67: PUSH2 0x0d73
00000d6a: PUSH1 0x80
00000d6c: DUP8
00000d6d: ADD
00000d6e: DUP8
00000d6f: PUSH2 0x4a81
00000d72: JUMP
00000d73: JUMPDEST
00000d74: DUP4
00000d75: DUP2
00000d76: DUP2
00000d77: LT
00000d78: PUSH2 0x0d83
00000d7b: JUMPI
00000d7c: PUSH2 0x0d83
00000d7f: PUSH2 0x4b62
00000d82: JUMP
00000d83: JUMPDEST
00000d84: PUSH2 0x0d99
00000d87: SWAP3
00000d88: PUSH1 0x20
00000d8a: PUSH1 0x40
00000d8c: SWAP1
00000d8d: SWAP3
00000d8e: MUL
00000d8f: ADD
00000d90: SWAP1
00000d91: DUP2
00000d92: ADD
00000d93: SWAP2
00000d94: POP
00000d95: PUSH2 0x44e9
00000d98: JUMP
00000d99: JUMPDEST
00000d9a: SWAP1
00000d9b: POP
00000d9c: PUSH2 0x0dcc
00000d9f: CALLER
00000da0: DUP3
00000da1: PUSH2 0x0dad
00000da4: PUSH1 0x80
00000da6: DUP11
00000da7: ADD
00000da8: DUP11
00000da9: PUSH2 0x4a81
00000dac: JUMP
00000dad: JUMPDEST
00000dae: DUP7
00000daf: DUP2
00000db0: DUP2
00000db1: LT
00000db2: PUSH2 0x0dbd
00000db5: JUMPI
00000db6: PUSH2 0x0dbd
00000db9: PUSH2 0x4b62
00000dbc: JUMP
00000dbd: JUMPDEST
00000dbe: SWAP1
00000dbf: POP
00000dc0: PUSH1 0x40
00000dc2: MUL
00000dc3: ADD
00000dc4: PUSH1 0x20
00000dc6: ADD
00000dc7: CALLDATALOAD
00000dc8: PUSH2 0x3698
00000dcb: JUMP
00000dcc: JUMPDEST
00000dcd: PUSH2 0x0e1d
00000dd0: DUP4
00000dd1: PUSH2 0x0ddd
00000dd4: PUSH1 0x80
00000dd6: DUP10
00000dd7: ADD
00000dd8: DUP10
00000dd9: PUSH2 0x4a81
00000ddc: JUMP
00000ddd: JUMPDEST
00000dde: DUP6
00000ddf: DUP2
00000de0: DUP2
00000de1: LT
00000de2: PUSH2 0x0ded
00000de5: JUMPI
00000de6: PUSH2 0x0ded
00000de9: PUSH2 0x4b62
00000dec: JUMP
00000ded: JUMPDEST
00000dee: SWAP1
00000def: POP
00000df0: PUSH1 0x40
00000df2: MUL
00000df3: ADD
00000df4: PUSH1 0x20
00000df6: ADD
00000df7: CALLDATALOAD
00000df8: DUP4
00000df9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e0e: AND
00000e0f: PUSH2 0x37aa
00000e12: SWAP1
00000e13: SWAP3
00000e14: SWAP2
00000e15: SWAP1
00000e16: PUSH4 0xffffffff
00000e1b: AND
00000e1c: JUMP
00000e1d: JUMPDEST
00000e1e: POP
00000e1f: PUSH1 0x01
00000e21: ADD
00000e22: PUSH2 0x0d4f
00000e25: JUMP
00000e26: JUMPDEST
00000e27: POP
00000e28: PUSH32 0xb5689a012cf77dd0a99ac07ed6f83009d7fbfca323bca73b34d6ed02bf413ab8
00000e49: PUSH2 0x0e58
00000e4c: PUSH1 0x60
00000e4e: DUP7
00000e4f: ADD
00000e50: PUSH1 0x40
00000e52: DUP8
00000e53: ADD
00000e54: PUSH2 0x44e9
00000e57: JUMP
00000e58: JUMPDEST
00000e59: CALLER
00000e5a: PUSH2 0x0e66
00000e5d: PUSH1 0x60
00000e5f: DUP9
00000e60: ADD
00000e61: DUP9
00000e62: PUSH2 0x4a81
00000e65: JUMP
00000e66: JUMPDEST
00000e67: PUSH2 0x0e73
00000e6a: PUSH1 0x80
00000e6c: DUP11
00000e6d: ADD
00000e6e: DUP11
00000e6f: PUSH2 0x4a81
00000e72: JUMP
00000e73: JUMPDEST
00000e74: PUSH1 0x40
00000e76: MLOAD
00000e77: PUSH2 0x0e85
00000e7a: SWAP7
00000e7b: SWAP6
00000e7c: SWAP5
00000e7d: SWAP4
00000e7e: SWAP3
00000e7f: SWAP2
00000e80: SWAP1
00000e81: PUSH2 0x4c36
00000e84: JUMP
00000e85: JUMPDEST
00000e86: PUSH1 0x40
00000e88: MLOAD
00000e89: DUP1
00000e8a: SWAP2
00000e8b: SUB
00000e8c: SWAP1
00000e8d: LOG1
00000e8e: POP
00000e8f: PUSH2 0x0e96
00000e92: PUSH2 0x3800
00000e95: JUMP
00000e96: JUMPDEST
00000e97: POP
00000e98: POP
00000e99: POP
00000e9a: JUMP
00000e9b: JUMPDEST
00000e9c: PUSH2 0x0ea3
00000e9f: PUSH2 0x3015
00000ea2: JUMP
00000ea3: JUMPDEST
00000ea4: PUSH0
00000ea5: JUMPDEST
00000ea6: DUP3
00000ea7: DUP2
00000ea8: LT
00000ea9: ISZERO
00000eaa: PUSH2 0x0fa6
00000ead: JUMPI
00000eae: PUSH0
00000eaf: PUSH1 0x0b
00000eb1: DUP2
00000eb2: DUP7
00000eb3: DUP7
00000eb4: DUP6
00000eb5: DUP2
00000eb6: DUP2
00000eb7: LT
00000eb8: PUSH2 0x0ec3
00000ebb: JUMPI
00000ebc: PUSH2 0x0ec3
00000ebf: PUSH2 0x4b62
00000ec2: JUMP
00000ec3: JUMPDEST
00000ec4: PUSH2 0x0ed9
00000ec7: SWAP3
00000ec8: PUSH1 0x20
00000eca: PUSH1 0x40
00000ecc: SWAP1
00000ecd: SWAP3
00000ece: MUL
00000ecf: ADD
00000ed0: SWAP1
00000ed1: DUP2
00000ed2: ADD
00000ed3: SWAP2
00000ed4: POP
00000ed5: PUSH2 0x44e9
00000ed8: JUMP
00000ed9: JUMPDEST
00000eda: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000eef: SWAP1
00000ef0: DUP2
00000ef1: AND
00000ef2: DUP3
00000ef3: MSTORE
00000ef4: PUSH1 0x20
00000ef6: DUP3
00000ef7: ADD
00000ef8: SWAP3
00000ef9: SWAP1
00000efa: SWAP3
00000efb: MSTORE
00000efc: PUSH1 0x40
00000efe: ADD
00000eff: PUSH0
00000f00: KECCAK256
00000f01: SLOAD
00000f02: AND
00000f03: SUB
00000f04: PUSH2 0x0f39
00000f07: JUMPI
00000f08: PUSH1 0x40
00000f0a: MLOAD
00000f0b: PUSH32 0xa7466cd800000000000000000000000000000000000000000000000000000000
00000f2c: DUP2
00000f2d: MSTORE
00000f2e: PUSH1 0x04
00000f30: ADD
00000f31: PUSH1 0x40
00000f33: MLOAD
00000f34: DUP1
00000f35: SWAP2
00000f36: SUB
00000f37: SWAP1
00000f38: REVERT
00000f39: JUMPDEST
00000f3a: PUSH2 0x0f9e
00000f3d: DUP3
00000f3e: DUP6
00000f3f: DUP6
00000f40: DUP5
00000f41: DUP2
00000f42: DUP2
00000f43: LT
00000f44: PUSH2 0x0f4f
00000f47: JUMPI
00000f48: PUSH2 0x0f4f
00000f4b: PUSH2 0x4b62
00000f4e: JUMP
00000f4f: JUMPDEST
00000f50: SWAP1
00000f51: POP
00000f52: PUSH1 0x40
00000f54: MUL
00000f55: ADD
00000f56: PUSH1 0x20
00000f58: ADD
00000f59: CALLDATALOAD
00000f5a: DUP7
00000f5b: DUP7
00000f5c: DUP6
00000f5d: DUP2
00000f5e: DUP2
00000f5f: LT
00000f60: PUSH2 0x0f6b
00000f63: JUMPI
00000f64: PUSH2 0x0f6b
00000f67: PUSH2 0x4b62
00000f6a: JUMP
00000f6b: JUMPDEST
00000f6c: PUSH2 0x0f81
00000f6f: SWAP3
00000f70: PUSH1 0x20
00000f72: PUSH1 0x40
00000f74: SWAP1
00000f75: SWAP3
00000f76: MUL
00000f77: ADD
00000f78: SWAP1
00000f79: DUP2
00000f7a: ADD
00000f7b: SWAP2
00000f7c: POP
00000f7d: PUSH2 0x44e9
00000f80: JUMP
00000f81: JUMPDEST
00000f82: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f97: AND
00000f98: SWAP2
00000f99: SWAP1
00000f9a: PUSH2 0x382a
00000f9d: JUMP
00000f9e: JUMPDEST
00000f9f: PUSH1 0x01
00000fa1: ADD
00000fa2: PUSH2 0x0ea5
00000fa5: JUMP
00000fa6: JUMPDEST
00000fa7: POP
00000fa8: POP
00000fa9: POP
00000faa: POP
00000fab: JUMP
00000fac: JUMPDEST
00000fad: PUSH2 0x0fb4
00000fb0: PUSH2 0x3015
00000fb3: JUMP
00000fb4: JUMPDEST
00000fb5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fca: DUP4
00000fcb: AND
00000fcc: ISZERO
00000fcd: DUP1
00000fce: ISZERO
00000fcf: SWAP1
00000fd0: PUSH2 0x0fee
00000fd3: JUMPI
00000fd4: POP
00000fd5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fea: DUP3
00000feb: AND
00000fec: ISZERO
00000fed: ISZERO
00000fee: JUMPDEST
00000fef: PUSH2 0x1024
00000ff2: JUMPI
00000ff3: PUSH1 0x40
00000ff5: MLOAD
00000ff6: PUSH32 0xd92e233d00000000000000000000000000000000000000000000000000000000
00001017: DUP2
00001018: MSTORE
00001019: PUSH1 0x04
0000101b: ADD
0000101c: PUSH1 0x40
0000101e: MLOAD
0000101f: DUP1
00001020: SWAP2
00001021: SUB
00001022: SWAP1
00001023: REVERT
00001024: JUMPDEST
00001025: DUP2
00001026: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000103b: AND
0000103c: DUP4
0000103d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001052: AND
00001053: SUB
00001054: PUSH2 0x1089
00001057: JUMPI
00001058: PUSH1 0x40
0000105a: MLOAD
0000105b: PUSH32 0x88b43fad00000000000000000000000000000000000000000000000000000000
0000107c: DUP2
0000107d: MSTORE
0000107e: PUSH1 0x04
00001080: ADD
00001081: PUSH1 0x40
00001083: MLOAD
00001084: DUP1
00001085: SWAP2
00001086: SUB
00001087: SWAP1
00001088: REVERT
00001089: JUMPDEST
0000108a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000109f: DUP4
000010a0: DUP2
000010a1: AND
000010a2: PUSH0
000010a3: DUP2
000010a4: DUP2
000010a5: MSTORE
000010a6: PUSH1 0x14
000010a8: PUSH1 0x20
000010aa: SWAP1
000010ab: DUP2
000010ac: MSTORE
000010ad: PUSH1 0x40
000010af: DUP1
000010b0: DUP4
000010b1: KECCAK256
000010b2: DUP1
000010b3: SLOAD
000010b4: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
000010d5: AND
000010d6: DUP8
000010d7: ISZERO
000010d8: ISZERO
000010d9: SWAP1
000010da: DUP2
000010db: OR
000010dc: SWAP1
000010dd: SWAP2
000010de: SSTORE
000010df: PUSH1 0x15
000010e1: DUP4
000010e2: MSTORE
000010e3: SWAP3
000010e4: DUP2
000010e5: SWAP1
000010e6: KECCAK256
000010e7: DUP1
000010e8: SLOAD
000010e9: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
0000110a: AND
0000110b: SWAP6
0000110c: DUP9
0000110d: AND
0000110e: SWAP6
0000110f: SWAP1
00001110: SWAP6
00001111: OR
00001112: SWAP1
00001113: SWAP5
00001114: SSTORE
00001115: DUP4
00001116: MLOAD
00001117: SWAP3
00001118: DUP4
00001119: MSTORE
0000111a: DUP3
0000111b: ADD
0000111c: MSTORE
0000111d: PUSH32 0x81e020344174972c59f6c11a8f6c90b141866214e3d9b544d030f0b532f5a10f
0000113e: SWAP2
0000113f: ADD
00001140: JUMPDEST
00001141: PUSH1 0x40
00001143: MLOAD
00001144: DUP1
00001145: SWAP2
00001146: SUB
00001147: SWAP1
00001148: LOG1
00001149: POP
0000114a: POP
0000114b: POP
0000114c: JUMP
0000114d: JUMPDEST
0000114e: PUSH2 0x115d
00001151: PUSH1 0x60
00001153: DUP5
00001154: ADD
00001155: PUSH1 0x40
00001157: DUP6
00001158: ADD
00001159: PUSH2 0x44e9
0000115c: JUMP
0000115d: JUMPDEST
0000115e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001173: DUP2
00001174: AND
00001175: PUSH0
00001176: SWAP1
00001177: DUP2
00001178: MSTORE
00001179: PUSH1 0x10
0000117b: PUSH1 0x20
0000117d: MSTORE
0000117e: PUSH1 0x40
00001180: SWAP1
00001181: KECCAK256
00001182: SLOAD
00001183: PUSH1 0xff
00001185: AND
00001186: DUP1
00001187: ISZERO
00001188: PUSH2 0x11a6
0000118b: JUMPI
0000118c: POP
0000118d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011a2: DUP2
000011a3: AND
000011a4: CALLER
000011a5: EQ
000011a6: JUMPDEST
000011a7: DUP1
000011a8: PUSH2 0x1205
000011ab: JUMPI
000011ac: POP
000011ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011c2: DUP2
000011c3: AND
000011c4: PUSH0
000011c5: SWAP1
000011c6: DUP2
000011c7: MSTORE
000011c8: PUSH1 0x10
000011ca: PUSH1 0x20
000011cc: MSTORE
000011cd: PUSH1 0x40
000011cf: SWAP1
000011d0: KECCAK256
000011d1: SLOAD
000011d2: PUSH1 0xff
000011d4: AND
000011d5: DUP1
000011d6: ISZERO
000011d7: PUSH2 0x1205
000011da: JUMPI
000011db: POP
000011dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011f1: DUP2
000011f2: DUP2
000011f3: AND
000011f4: PUSH0
000011f5: SWAP1
000011f6: DUP2
000011f7: MSTORE
000011f8: PUSH1 0x11
000011fa: PUSH1 0x20
000011fc: MSTORE
000011fd: PUSH1 0x40
000011ff: SWAP1
00001200: KECCAK256
00001201: SLOAD
00001202: AND
00001203: CALLER
00001204: EQ
00001205: JUMPDEST
00001206: PUSH2 0x123b
00001209: JUMPI
0000120a: PUSH1 0x40
0000120c: MLOAD
0000120d: PUSH32 0x897e65bd00000000000000000000000000000000000000000000000000000000
0000122e: DUP2
0000122f: MSTORE
00001230: PUSH1 0x04
00001232: ADD
00001233: PUSH1 0x40
00001235: MLOAD
00001236: DUP1
00001237: SWAP2
00001238: SUB
00001239: SWAP1
0000123a: REVERT
0000123b: JUMPDEST
0000123c: PUSH2 0x1243
0000123f: PUSH2 0x3096
00001242: JUMP
00001243: JUMPDEST
00001244: PUSH2 0x124e
00001247: DUP5
00001248: DUP5
00001249: DUP5
0000124a: PUSH2 0x3880
0000124d: JUMP
0000124e: JUMPDEST
0000124f: PUSH0
00001250: JUMPDEST
00001251: PUSH2 0x125d
00001254: PUSH1 0x60
00001256: DUP7
00001257: ADD
00001258: DUP7
00001259: PUSH2 0x4a81
0000125c: JUMP
0000125d: JUMPDEST
0000125e: SWAP1
0000125f: POP
00001260: DUP2
00001261: LT
00001262: ISZERO
00001263: PUSH2 0x1352
00001266: JUMPI
00001267: PUSH2 0x1273
0000126a: PUSH1 0x60
0000126c: DUP7
0000126d: ADD
0000126e: DUP7
0000126f: PUSH2 0x4a81
00001272: JUMP
00001273: JUMPDEST
00001274: DUP3
00001275: DUP2
00001276: DUP2
00001277: LT
00001278: PUSH2 0x1283
0000127b: JUMPI
0000127c: PUSH2 0x1283
0000127f: PUSH2 0x4b62
00001282: JUMP
00001283: JUMPDEST
00001284: SWAP1
00001285: POP
00001286: PUSH1 0x40
00001288: MUL
00001289: ADD
0000128a: PUSH1 0x20
0000128c: ADD
0000128d: CALLDATALOAD
0000128e: PUSH1 0x0e
00001290: PUSH0
00001291: DUP8
00001292: PUSH1 0x40
00001294: ADD
00001295: PUSH1 0x20
00001297: DUP2
00001298: ADD
00001299: SWAP1
0000129a: PUSH2 0x12a3
0000129d: SWAP2
0000129e: SWAP1
0000129f: PUSH2 0x44e9
000012a2: JUMP
000012a3: JUMPDEST
000012a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012b9: AND
000012ba: DUP2
000012bb: MSTORE
000012bc: PUSH1 0x20
000012be: DUP2
000012bf: ADD
000012c0: SWAP2
000012c1: SWAP1
000012c2: SWAP2
000012c3: MSTORE
000012c4: PUSH1 0x40
000012c6: ADD
000012c7: PUSH0
000012c8: SWAP1
000012c9: DUP2
000012ca: KECCAK256
000012cb: SWAP1
000012cc: PUSH2 0x12d8
000012cf: PUSH1 0x60
000012d1: DUP10
000012d2: ADD
000012d3: DUP10
000012d4: PUSH2 0x4a81
000012d7: JUMP
000012d8: JUMPDEST
000012d9: DUP6
000012da: DUP2
000012db: DUP2
000012dc: LT
000012dd: PUSH2 0x12e8
000012e0: JUMPI
000012e1: PUSH2 0x12e8
000012e4: PUSH2 0x4b62
000012e7: JUMP
000012e8: JUMPDEST
000012e9: PUSH2 0x12fe
000012ec: SWAP3
000012ed: PUSH1 0x20
000012ef: PUSH1 0x40
000012f1: SWAP1
000012f2: SWAP3
000012f3: MUL
000012f4: ADD
000012f5: SWAP1
000012f6: DUP2
000012f7: ADD
000012f8: SWAP2
000012f9: POP
000012fa: PUSH2 0x44e9
000012fd: JUMP
000012fe: JUMPDEST
000012ff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001314: AND
00001315: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000132a: AND
0000132b: DUP2
0000132c: MSTORE
0000132d: PUSH1 0x20
0000132f: ADD
00001330: SWAP1
00001331: DUP2
00001332: MSTORE
00001333: PUSH1 0x20
00001335: ADD
00001336: PUSH0
00001337: KECCAK256
00001338: PUSH0
00001339: DUP3
0000133a: DUP3
0000133b: SLOAD
0000133c: PUSH2 0x1345
0000133f: SWAP2
00001340: SWAP1
00001341: PUSH2 0x4b8f
00001344: JUMP
00001345: JUMPDEST
00001346: SWAP1
00001347: SWAP2
00001348: SSTORE
00001349: POP
0000134a: POP
0000134b: PUSH1 0x01
0000134d: ADD
0000134e: PUSH2 0x1250
00001351: JUMP
00001352: JUMPDEST
00001353: POP
00001354: PUSH0
00001355: PUSH1 0x12
00001357: DUP2
00001358: PUSH2 0x1367
0000135b: PUSH1 0x60
0000135d: DUP9
0000135e: ADD
0000135f: PUSH1 0x40
00001361: DUP10
00001362: ADD
00001363: PUSH2 0x44e9
00001366: JUMP
00001367: JUMPDEST
00001368: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000137d: SWAP1
0000137e: DUP2
0000137f: AND
00001380: DUP3
00001381: MSTORE
00001382: PUSH1 0x20
00001384: DUP3
00001385: ADD
00001386: SWAP3
00001387: SWAP1
00001388: SWAP3
00001389: MSTORE
0000138a: PUSH1 0x40
0000138c: ADD
0000138d: PUSH0
0000138e: SWAP1
0000138f: DUP2
00001390: KECCAK256
00001391: SLOAD
00001392: SWAP1
00001393: SWAP2
00001394: AND
00001395: SWAP2
00001396: POP
00001397: JUMPDEST
00001398: PUSH2 0x13a4
0000139b: PUSH1 0x60
0000139d: DUP8
0000139e: ADD
0000139f: DUP8
000013a0: PUSH2 0x4a81
000013a3: JUMP
000013a4: JUMPDEST
000013a5: SWAP1
000013a6: POP
000013a7: DUP2
000013a8: LT
000013a9: ISZERO
000013aa: PUSH2 0x1455
000013ad: JUMPI
000013ae: PUSH0
000013af: PUSH2 0x13bb
000013b2: PUSH1 0x60
000013b4: DUP9
000013b5: ADD
000013b6: DUP9
000013b7: PUSH2 0x4a81
000013ba: JUMP
000013bb: JUMPDEST
000013bc: DUP4
000013bd: DUP2
000013be: DUP2
000013bf: LT
000013c0: PUSH2 0x13cb
000013c3: JUMPI
000013c4: PUSH2 0x13cb
000013c7: PUSH2 0x4b62
000013ca: JUMP
000013cb: JUMPDEST
000013cc: PUSH2 0x13e1
000013cf: SWAP3
000013d0: PUSH1 0x20
000013d2: PUSH1 0x40
000013d4: SWAP1
000013d5: SWAP3
000013d6: MUL
000013d7: ADD
000013d8: SWAP1
000013d9: DUP2
000013da: ADD
000013db: SWAP2
000013dc: POP
000013dd: PUSH2 0x44e9
000013e0: JUMP
000013e1: JUMPDEST
000013e2: SWAP1
000013e3: POP
000013e4: PUSH0
000013e5: PUSH2 0x13f1
000013e8: PUSH1 0x60
000013ea: DUP10
000013eb: ADD
000013ec: DUP10
000013ed: PUSH2 0x4a81
000013f0: JUMP
000013f1: JUMPDEST
000013f2: DUP5
000013f3: DUP2
000013f4: DUP2
000013f5: LT
000013f6: PUSH2 0x1401
000013f9: JUMPI
000013fa: PUSH2 0x1401
000013fd: PUSH2 0x4b62
00001400: JUMP
00001401: JUMPDEST
00001402: SWAP1
00001403: POP
00001404: PUSH1 0x40
00001406: MUL
00001407: ADD
00001408: PUSH1 0x20
0000140a: ADD
0000140b: CALLDATALOAD
0000140c: SWAP1
0000140d: POP
0000140e: PUSH2 0x142a
00001411: DUP9
00001412: PUSH1 0x40
00001414: ADD
00001415: PUSH1 0x20
00001417: DUP2
00001418: ADD
00001419: SWAP1
0000141a: PUSH2 0x1423
0000141d: SWAP2
0000141e: SWAP1
0000141f: PUSH2 0x44e9
00001422: JUMP
00001423: JUMPDEST
00001424: DUP4
00001425: DUP4
00001426: PUSH2 0x3698
00001429: JUMP
0000142a: JUMPDEST
0000142b: PUSH2 0x144b
0000142e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001443: DUP4
00001444: AND
00001445: DUP6
00001446: DUP4
00001447: PUSH2 0x37aa
0000144a: JUMP
0000144b: JUMPDEST
0000144c: POP
0000144d: POP
0000144e: PUSH1 0x01
00001450: ADD
00001451: PUSH2 0x1397
00001454: JUMP
00001455: JUMPDEST
00001456: POP
00001457: PUSH32 0x455917442c530b052ee826d2556fad794f64a294e455930a63599688abbffa3c
00001478: PUSH2 0x1487
0000147b: PUSH1 0x60
0000147d: DUP8
0000147e: ADD
0000147f: PUSH1 0x40
00001481: DUP9
00001482: ADD
00001483: PUSH2 0x44e9
00001486: JUMP
00001487: JUMPDEST
00001488: PUSH2 0x1494
0000148b: PUSH1 0x60
0000148d: DUP9
0000148e: ADD
0000148f: DUP9
00001490: PUSH2 0x4a81
00001493: JUMP
00001494: JUMPDEST
00001495: PUSH1 0x40
00001497: MLOAD
00001498: PUSH2 0x14a3
0000149b: SWAP4
0000149c: SWAP3
0000149d: SWAP2
0000149e: SWAP1
0000149f: PUSH2 0x4ca1
000014a2: JUMP
000014a3: JUMPDEST
000014a4: PUSH1 0x40
000014a6: MLOAD
000014a7: DUP1
000014a8: SWAP2
000014a9: SUB
000014aa: SWAP1
000014ab: LOG1
000014ac: POP
000014ad: PUSH2 0x0fa6
000014b0: PUSH2 0x3800
000014b3: JUMP
000014b4: JUMPDEST
000014b5: PUSH2 0x14bc
000014b8: PUSH2 0x3015
000014bb: JUMP
000014bc: JUMPDEST
000014bd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014d2: DUP2
000014d3: AND
000014d4: PUSH2 0x1509
000014d7: JUMPI
000014d8: PUSH1 0x40
000014da: MLOAD
000014db: PUSH32 0xd92e233d00000000000000000000000000000000000000000000000000000000
000014fc: DUP2
000014fd: MSTORE
000014fe: PUSH1 0x04
00001500: ADD
00001501: PUSH1 0x40
00001503: MLOAD
00001504: DUP1
00001505: SWAP2
00001506: SUB
00001507: SWAP1
00001508: REVERT
00001509: JUMPDEST
0000150a: PUSH1 0x05
0000150c: DUP1
0000150d: SLOAD
0000150e: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
0000152f: AND
00001530: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001545: DUP4
00001546: AND
00001547: SWAP1
00001548: DUP2
00001549: OR
0000154a: SWAP1
0000154b: SWAP2
0000154c: SSTORE
0000154d: PUSH1 0x40
0000154f: MLOAD
00001550: SWAP1
00001551: DUP2
00001552: MSTORE
00001553: PUSH32 0x9eaa897564d022fb8c5efaf0acdb5d9d27b440b2aad44400b6e1c702e65b9ed3
00001574: SWAP1
00001575: PUSH1 0x20
00001577: ADD
00001578: PUSH2 0x08b2
0000157b: JUMP
0000157c: JUMPDEST
0000157d: PUSH2 0x1584
00001580: PUSH2 0x3015
00001583: JUMP
00001584: JUMPDEST
00001585: PUSH2 0x158d
00001588: PUSH0
00001589: PUSH2 0x39aa
0000158c: JUMP
0000158d: JUMPDEST
0000158e: JUMP
0000158f: JUMPDEST
00001590: CALLER
00001591: PUSH0
00001592: SWAP1
00001593: DUP2
00001594: MSTORE
00001595: PUSH1 0x08
00001597: PUSH1 0x20
00001599: MSTORE
0000159a: PUSH1 0x40
0000159c: SWAP1
0000159d: KECCAK256
0000159e: SLOAD
0000159f: PUSH1 0xff
000015a1: AND
000015a2: PUSH2 0x15d7
000015a5: JUMPI
000015a6: PUSH1 0x40
000015a8: MLOAD
000015a9: PUSH32 0xd687c5f200000000000000000000000000000000000000000000000000000000
000015ca: DUP2
000015cb: MSTORE
000015cc: PUSH1 0x04
000015ce: ADD
000015cf: PUSH1 0x40
000015d1: MLOAD
000015d2: DUP1
000015d3: SWAP2
000015d4: SUB
000015d5: SWAP1
000015d6: REVERT
000015d7: JUMPDEST
000015d8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015ed: DUP5
000015ee: DUP2
000015ef: AND
000015f0: PUSH0
000015f1: SWAP1
000015f2: DUP2
000015f3: MSTORE
000015f4: PUSH1 0x0b
000015f6: PUSH1 0x20
000015f8: MSTORE
000015f9: PUSH1 0x40
000015fb: SWAP1
000015fc: KECCAK256
000015fd: SLOAD
000015fe: AND
000015ff: ISZERO
00001600: DUP1
00001601: ISZERO
00001602: SWAP1
00001603: PUSH2 0x1631
00001606: JUMPI
00001607: POP
00001608: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000161d: DUP3
0000161e: DUP2
0000161f: AND
00001620: PUSH0
00001621: SWAP1
00001622: DUP2
00001623: MSTORE
00001624: PUSH1 0x0b
00001626: PUSH1 0x20
00001628: MSTORE
00001629: PUSH1 0x40
0000162b: SWAP1
0000162c: KECCAK256
0000162d: SLOAD
0000162e: AND
0000162f: ISZERO
00001630: ISZERO
00001631: JUMPDEST
00001632: PUSH2 0x1667
00001635: JUMPI
00001636: PUSH1 0x40
00001638: MLOAD
00001639: PUSH32 0xa7466cd800000000000000000000000000000000000000000000000000000000
0000165a: DUP2
0000165b: MSTORE
0000165c: PUSH1 0x04
0000165e: ADD
0000165f: PUSH1 0x40
00001661: MLOAD
00001662: DUP1
00001663: SWAP2
00001664: SUB
00001665: SWAP1
00001666: REVERT
00001667: JUMPDEST
00001668: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000167d: DUP1
0000167e: DUP7
0000167f: AND
00001680: PUSH0
00001681: SWAP1
00001682: DUP2
00001683: MSTORE
00001684: PUSH1 0x0d
00001686: PUSH1 0x20
00001688: SWAP1
00001689: DUP2
0000168a: MSTORE
0000168b: PUSH1 0x40
0000168d: DUP1
0000168e: DUP4
0000168f: KECCAK256
00001690: SWAP4
00001691: DUP9
00001692: AND
00001693: DUP4
00001694: MSTORE
00001695: SWAP3
00001696: SWAP1
00001697: MSTORE
00001698: SWAP1
00001699: DUP2
0000169a: KECCAK256
0000169b: DUP1
0000169c: SLOAD
0000169d: DUP6
0000169e: SWAP3
0000169f: SWAP1
000016a0: PUSH2 0x16aa
000016a3: SWAP1
000016a4: DUP5
000016a5: SWAP1
000016a6: PUSH2 0x4cd9
000016a9: JUMP
000016aa: JUMPDEST
000016ab: SWAP1
000016ac: SWAP2
000016ad: SSTORE
000016ae: POP
000016af: POP
000016b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016c5: DUP1
000016c6: DUP7
000016c7: AND
000016c8: PUSH0
000016c9: SWAP1
000016ca: DUP2
000016cb: MSTORE
000016cc: PUSH1 0x0d
000016ce: PUSH1 0x20
000016d0: SWAP1
000016d1: DUP2
000016d2: MSTORE
000016d3: PUSH1 0x40
000016d5: DUP1
000016d6: DUP4
000016d7: KECCAK256
000016d8: SWAP4
000016d9: DUP7
000016da: AND
000016db: DUP4
000016dc: MSTORE
000016dd: SWAP3
000016de: SWAP1
000016df: MSTORE
000016e0: SWAP1
000016e1: DUP2
000016e2: KECCAK256
000016e3: DUP1
000016e4: SLOAD
000016e5: DUP4
000016e6: SWAP3
000016e7: SWAP1
000016e8: PUSH2 0x16f2
000016eb: SWAP1
000016ec: DUP5
000016ed: SWAP1
000016ee: PUSH2 0x4d00
000016f1: JUMP
000016f2: JUMPDEST
000016f3: SWAP1
000016f4: SWAP2
000016f5: SSTORE
000016f6: POP
000016f7: POP
000016f8: POP
000016f9: POP
000016fa: POP
000016fb: POP
000016fc: POP
000016fd: JUMP
000016fe: JUMPDEST
000016ff: PUSH2 0x1706
00001702: PUSH2 0x3015
00001705: JUMP
00001706: JUMPDEST
00001707: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000171c: DUP2
0000171d: AND
0000171e: PUSH2 0x1753
00001721: JUMPI
00001722: PUSH1 0x40
00001724: MLOAD
00001725: PUSH32 0xd92e233d00000000000000000000000000000000000000000000000000000000
00001746: DUP2
00001747: MSTORE
00001748: PUSH1 0x04
0000174a: ADD
0000174b: PUSH1 0x40
0000174d: MLOAD
0000174e: DUP1
0000174f: SWAP2
00001750: SUB
00001751: SWAP1
00001752: REVERT
00001753: JUMPDEST
00001754: PUSH1 0x06
00001756: DUP1
00001757: SLOAD
00001758: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00001779: AND
0000177a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000178f: DUP4
00001790: AND
00001791: SWAP1
00001792: DUP2
00001793: OR
00001794: SWAP1
00001795: SWAP2
00001796: SSTORE
00001797: PUSH1 0x40
00001799: MLOAD
0000179a: SWAP1
0000179b: DUP2
0000179c: MSTORE
0000179d: PUSH32 0x538bd377a1e0d2ceca49908f540bafa1d8616cf49a7bcefcd0b479e7531ff8aa
000017be: SWAP1
000017bf: PUSH1 0x20
000017c1: ADD
000017c2: PUSH2 0x08b2
000017c5: JUMP
000017c6: JUMPDEST
000017c7: PUSH1 0x03
000017c9: SLOAD
000017ca: CALLER
000017cb: SWAP1
000017cc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017e1: AND
000017e2: DUP2
000017e3: EQ
000017e4: PUSH2 0x1874
000017e7: JUMPI
000017e8: PUSH1 0x40
000017ea: MLOAD
000017eb: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000180c: DUP2
0000180d: MSTORE
0000180e: PUSH1 0x20
00001810: PUSH1 0x04
00001812: DUP3
00001813: ADD
00001814: MSTORE
00001815: PUSH1 0x29
00001817: PUSH1 0x24
00001819: DUP3
0000181a: ADD
0000181b: MSTORE
0000181c: PUSH32 0x4f776e61626c6532537465703a2063616c6c6572206973206e6f742074686520
0000183d: PUSH1 0x44
0000183f: DUP3
00001840: ADD
00001841: MSTORE
00001842: PUSH32 0x6e6577206f776e65720000000000000000000000000000000000000000000000
00001863: PUSH1 0x64
00001865: DUP3
00001866: ADD
00001867: MSTORE
00001868: PUSH1 0x84
0000186a: ADD
0000186b: JUMPDEST
0000186c: PUSH1 0x40
0000186e: MLOAD
0000186f: DUP1
00001870: SWAP2
00001871: SUB
00001872: SWAP1
00001873: REVERT
00001874: JUMPDEST
00001875: PUSH2 0x187d
00001878: DUP2
00001879: PUSH2 0x39aa
0000187c: JUMP
0000187d: JUMPDEST
0000187e: POP
0000187f: JUMP
00001880: JUMPDEST
00001881: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001896: DUP2
00001897: AND
00001898: PUSH0
00001899: SWAP1
0000189a: DUP2
0000189b: MSTORE
0000189c: PUSH1 0x10
0000189e: PUSH1 0x20
000018a0: MSTORE
000018a1: PUSH1 0x40
000018a3: SWAP1
000018a4: KECCAK256
000018a5: SLOAD
000018a6: DUP2
000018a7: SWAP1
000018a8: PUSH1 0xff
000018aa: AND
000018ab: DUP1
000018ac: ISZERO
000018ad: PUSH2 0x18cb
000018b0: JUMPI
000018b1: POP
000018b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018c7: DUP2
000018c8: AND
000018c9: CALLER
000018ca: EQ
000018cb: JUMPDEST
000018cc: DUP1
000018cd: PUSH2 0x192a
000018d0: JUMPI
000018d1: POP
000018d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018e7: DUP2
000018e8: AND
000018e9: PUSH0
000018ea: SWAP1
000018eb: DUP2
000018ec: MSTORE
000018ed: PUSH1 0x10
000018ef: PUSH1 0x20
000018f1: MSTORE
000018f2: PUSH1 0x40
000018f4: SWAP1
000018f5: KECCAK256
000018f6: SLOAD
000018f7: PUSH1 0xff
000018f9: AND
000018fa: DUP1
000018fb: ISZERO
000018fc: PUSH2 0x192a
000018ff: JUMPI
00001900: POP
00001901: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001916: DUP2
00001917: DUP2
00001918: AND
00001919: PUSH0
0000191a: SWAP1
0000191b: DUP2
0000191c: MSTORE
0000191d: PUSH1 0x11
0000191f: PUSH1 0x20
00001921: MSTORE
00001922: PUSH1 0x40
00001924: SWAP1
00001925: KECCAK256
00001926: SLOAD
00001927: AND
00001928: CALLER
00001929: EQ
0000192a: JUMPDEST
0000192b: PUSH2 0x1960
0000192e: JUMPI
0000192f: PUSH1 0x40
00001931: MLOAD
00001932: PUSH32 0x897e65bd00000000000000000000000000000000000000000000000000000000
00001953: DUP2
00001954: MSTORE
00001955: PUSH1 0x04
00001957: ADD
00001958: PUSH1 0x40
0000195a: MLOAD
0000195b: DUP1
0000195c: SWAP2
0000195d: SUB
0000195e: SWAP1
0000195f: REVERT
00001960: JUMPDEST
00001961: PUSH2 0x1968
00001964: PUSH2 0x3096
00001967: JUMP
00001968: JUMPDEST
00001969: PUSH2 0x19c3
0000196c: DUP5
0000196d: DUP5
0000196e: DUP1
0000196f: DUP1
00001970: PUSH1 0x20
00001972: MUL
00001973: PUSH1 0x20
00001975: ADD
00001976: PUSH1 0x40
00001978: MLOAD
00001979: SWAP1
0000197a: DUP2
0000197b: ADD
0000197c: PUSH1 0x40
0000197e: MSTORE
0000197f: DUP1
00001980: SWAP4
00001981: SWAP3
00001982: SWAP2
00001983: SWAP1
00001984: DUP2
00001985: DUP2
00001986: MSTORE
00001987: PUSH1 0x20
00001989: ADD
0000198a: PUSH0
0000198b: SWAP1
0000198c: JUMPDEST
0000198d: DUP3
0000198e: DUP3
0000198f: LT
00001990: ISZERO
00001991: PUSH2 0x19b8
00001994: JUMPI
00001995: PUSH2 0x19a9
00001998: PUSH1 0x40
0000199a: DUP4
0000199b: MUL
0000199c: DUP7
0000199d: ADD
0000199e: CALLDATASIZE
0000199f: DUP2
000019a0: SWAP1
000019a1: SUB
000019a2: DUP2
000019a3: ADD
000019a4: SWAP1
000019a5: PUSH2 0x4ae5
000019a8: JUMP
000019a9: JUMPDEST
000019aa: DUP2
000019ab: MSTORE
000019ac: PUSH1 0x20
000019ae: ADD
000019af: SWAP1
000019b0: PUSH1 0x01
000019b2: ADD
000019b3: SWAP1
000019b4: PUSH2 0x198c
000019b7: JUMP
000019b8: JUMPDEST
000019b9: POP
000019ba: POP
000019bb: POP
000019bc: POP
000019bd: POP
000019be: DUP4
000019bf: PUSH2 0x335f
000019c2: JUMP
000019c3: JUMPDEST
000019c4: PUSH0
000019c5: JUMPDEST
000019c6: DUP4
000019c7: DUP2
000019c8: LT
000019c9: ISZERO
000019ca: PUSH2 0x1a44
000019cd: JUMPI
000019ce: PUSH2 0x1a3c
000019d1: CALLER
000019d2: ADDRESS
000019d3: PUSH2 0x19f6
000019d6: DUP9
000019d7: DUP9
000019d8: DUP7
000019d9: DUP2
000019da: DUP2
000019db: LT
000019dc: PUSH2 0x19e7
000019df: JUMPI
000019e0: PUSH2 0x19e7
000019e3: PUSH2 0x4b62
000019e6: JUMP
000019e7: JUMPDEST
000019e8: SWAP1
000019e9: POP
000019ea: PUSH1 0x40
000019ec: MUL
000019ed: ADD
000019ee: PUSH1 0x20
000019f0: ADD
000019f1: CALLDATALOAD
000019f2: PUSH2 0x354d
000019f5: JUMP
000019f6: JUMPDEST
000019f7: DUP9
000019f8: DUP9
000019f9: DUP7
000019fa: DUP2
000019fb: DUP2
000019fc: LT
000019fd: PUSH2 0x1a08
00001a00: JUMPI
00001a01: PUSH2 0x1a08
00001a04: PUSH2 0x4b62
00001a07: JUMP
00001a08: JUMPDEST
00001a09: PUSH2 0x1a1e
00001a0c: SWAP3
00001a0d: PUSH1 0x20
00001a0f: PUSH1 0x40
00001a11: SWAP1
00001a12: SWAP3
00001a13: MUL
00001a14: ADD
00001a15: SWAP1
00001a16: DUP2
00001a17: ADD
00001a18: SWAP2
00001a19: POP
00001a1a: PUSH2 0x44e9
00001a1d: JUMP
00001a1e: JUMPDEST
00001a1f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a34: AND
00001a35: SWAP3
00001a36: SWAP2
00001a37: SWAP1
00001a38: PUSH2 0x35bc
00001a3b: JUMP
00001a3c: JUMPDEST
00001a3d: PUSH1 0x01
00001a3f: ADD
00001a40: PUSH2 0x19c5
00001a43: JUMP
00001a44: JUMPDEST
00001a45: POP
00001a46: PUSH32 0xc8aa82285b2a9e22e0bda601a759e4f578e78f18015e543a4f66bb120a726953
00001a67: DUP3
00001a68: DUP6
00001a69: DUP6
00001a6a: PUSH1 0x40
00001a6c: MLOAD
00001a6d: PUSH2 0x1a78
00001a70: SWAP4
00001a71: SWAP3
00001a72: SWAP2
00001a73: SWAP1
00001a74: PUSH2 0x4ca1
00001a77: JUMP
00001a78: JUMPDEST
00001a79: PUSH1 0x40
00001a7b: MLOAD
00001a7c: DUP1
00001a7d: SWAP2
00001a7e: SUB
00001a7f: SWAP1
00001a80: LOG1
00001a81: PUSH2 0x0fa6
00001a84: PUSH2 0x3800
00001a87: JUMP
00001a88: JUMPDEST
00001a89: PUSH0
00001a8a: PUSH1 0x60
00001a8c: DUP1
00001a8d: DUP3
00001a8e: DUP1
00001a8f: DUP1
00001a90: DUP4
00001a91: PUSH2 0x1aba
00001a94: PUSH32 0x4e617469766520437265646974205661756c7400000000000000000000000013
00001ab5: DUP4
00001ab6: PUSH2 0x39db
00001ab9: JUMP
00001aba: JUMPDEST
00001abb: PUSH2 0x1ae5
00001abe: PUSH32 0x3100000000000000000000000000000000000000000000000000000000000001
00001adf: PUSH1 0x01
00001ae1: PUSH2 0x39db
00001ae4: JUMP
00001ae5: JUMPDEST
00001ae6: PUSH1 0x40
00001ae8: DUP1
00001ae9: MLOAD
00001aea: PUSH0
00001aeb: DUP1
00001aec: DUP3
00001aed: MSTORE
00001aee: PUSH1 0x20
00001af0: DUP3
00001af1: ADD
00001af2: SWAP1
00001af3: SWAP3
00001af4: MSTORE
00001af5: PUSH32 0x0f00000000000000000000000000000000000000000000000000000000000000
00001b16: SWAP12
00001b17: SWAP4
00001b18: SWAP11
00001b19: POP
00001b1a: SWAP2
00001b1b: SWAP9
00001b1c: POP
00001b1d: CHAINID
00001b1e: SWAP8
00001b1f: POP
00001b20: ADDRESS
00001b21: SWAP7
00001b22: POP
00001b23: SWAP5
00001b24: POP
00001b25: SWAP3
00001b26: POP
00001b27: SWAP1
00001b28: POP
00001b29: JUMP
00001b2a: JUMPDEST
00001b2b: PUSH1 0x07
00001b2d: DUP2
00001b2e: DUP2
00001b2f: SLOAD
00001b30: DUP2
00001b31: LT
00001b32: PUSH2 0x1b39
00001b35: JUMPI
00001b36: PUSH0
00001b37: DUP1
00001b38: REVERT
00001b39: JUMPDEST
00001b3a: PUSH0
00001b3b: SWAP2
00001b3c: DUP3
00001b3d: MSTORE
00001b3e: PUSH1 0x20
00001b40: SWAP1
00001b41: SWAP2
00001b42: KECCAK256
00001b43: ADD
00001b44: SLOAD
00001b45: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b5a: AND
00001b5b: SWAP1
00001b5c: POP
00001b5d: DUP2
00001b5e: JUMP
00001b5f: JUMPDEST
00001b60: PUSH1 0x06
00001b62: SLOAD
00001b63: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b78: AND
00001b79: CALLER
00001b7a: EQ
00001b7b: PUSH2 0x1bb0
00001b7e: JUMPI
00001b7f: PUSH1 0x40
00001b81: MLOAD
00001b82: PUSH32 0x16ced9a800000000000000000000000000000000000000000000000000000000
00001ba3: DUP2
00001ba4: MSTORE
00001ba5: PUSH1 0x04
00001ba7: ADD
00001ba8: PUSH1 0x40
00001baa: MLOAD
00001bab: DUP1
00001bac: SWAP2
00001bad: SUB
00001bae: SWAP1
00001baf: REVERT
00001bb0: JUMPDEST
00001bb1: PUSH0
00001bb2: JUMPDEST
00001bb3: DUP2
00001bb4: DUP2
00001bb5: LT
00001bb6: ISZERO
00001bb7: PUSH2 0x2101
00001bba: JUMPI
00001bbb: PUSH0
00001bbc: DUP4
00001bbd: DUP4
00001bbe: DUP4
00001bbf: DUP2
00001bc0: DUP2
00001bc1: LT
00001bc2: PUSH2 0x1bcd
00001bc5: JUMPI
00001bc6: PUSH2 0x1bcd
00001bc9: PUSH2 0x4b62
00001bcc: JUMP
00001bcd: JUMPDEST
00001bce: SWAP1
00001bcf: POP
00001bd0: PUSH1 0x20
00001bd2: MUL
00001bd3: DUP2
00001bd4: ADD
00001bd5: SWAP1
00001bd6: PUSH2 0x1bdf
00001bd9: SWAP2
00001bda: SWAP1
00001bdb: PUSH2 0x4d26
00001bde: JUMP
00001bdf: JUMPDEST
00001be0: PUSH2 0x1bed
00001be3: SWAP1
00001be4: PUSH1 0x20
00001be6: DUP2
00001be7: ADD
00001be8: SWAP1
00001be9: PUSH2 0x44e9
00001bec: JUMP
00001bed: JUMPDEST
00001bee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c03: DUP2
00001c04: AND
00001c05: PUSH0
00001c06: SWAP1
00001c07: DUP2
00001c08: MSTORE
00001c09: PUSH1 0x0a
00001c0b: PUSH1 0x20
00001c0d: MSTORE
00001c0e: PUSH1 0x40
00001c10: SWAP1
00001c11: KECCAK256
00001c12: SLOAD
00001c13: SWAP1
00001c14: SWAP2
00001c15: POP
00001c16: PUSH2 0x7080
00001c19: SWAP1
00001c1a: PUSH2 0x1c23
00001c1d: SWAP1
00001c1e: TIMESTAMP
00001c1f: PUSH2 0x4b8f
00001c22: JUMP
00001c23: JUMPDEST
00001c24: LT
00001c25: ISZERO
00001c26: PUSH2 0x1c5b
00001c29: JUMPI
00001c2a: PUSH1 0x40
00001c2c: MLOAD
00001c2d: PUSH32 0x0dc2dde400000000000000000000000000000000000000000000000000000000
00001c4e: DUP2
00001c4f: MSTORE
00001c50: PUSH1 0x04
00001c52: ADD
00001c53: PUSH1 0x40
00001c55: MLOAD
00001c56: DUP1
00001c57: SWAP2
00001c58: SUB
00001c59: SWAP1
00001c5a: REVERT
00001c5b: JUMPDEST
00001c5c: PUSH0
00001c5d: JUMPDEST
00001c5e: DUP5
00001c5f: DUP5
00001c60: DUP5
00001c61: DUP2
00001c62: DUP2
00001c63: LT
00001c64: PUSH2 0x1c6f
00001c67: JUMPI
00001c68: PUSH2 0x1c6f
00001c6b: PUSH2 0x4b62
00001c6e: JUMP
00001c6f: JUMPDEST
00001c70: SWAP1
00001c71: POP
00001c72: PUSH1 0x20
00001c74: MUL
00001c75: DUP2
00001c76: ADD
00001c77: SWAP1
00001c78: PUSH2 0x1c81
00001c7b: SWAP2
00001c7c: SWAP1
00001c7d: PUSH2 0x4d26
00001c80: JUMP
00001c81: JUMPDEST
00001c82: PUSH2 0x1c8f
00001c85: SWAP1
00001c86: PUSH1 0x20
00001c88: DUP2
00001c89: ADD
00001c8a: SWAP1
00001c8b: PUSH2 0x4d62
00001c8e: JUMP
00001c8f: JUMPDEST
00001c90: SWAP1
00001c91: POP
00001c92: DUP2
00001c93: LT
00001c94: ISZERO
00001c95: PUSH2 0x20d2
00001c98: JUMPI
00001c99: PUSH0
00001c9a: DUP6
00001c9b: DUP6
00001c9c: DUP6
00001c9d: DUP2
00001c9e: DUP2
00001c9f: LT
00001ca0: PUSH2 0x1cab
00001ca3: JUMPI
00001ca4: PUSH2 0x1cab
00001ca7: PUSH2 0x4b62
00001caa: JUMP
00001cab: JUMPDEST
00001cac: SWAP1
00001cad: POP
00001cae: PUSH1 0x20
00001cb0: MUL
00001cb1: DUP2
00001cb2: ADD
00001cb3: SWAP1
00001cb4: PUSH2 0x1cbd
00001cb7: SWAP2
00001cb8: SWAP1
00001cb9: PUSH2 0x4d26
00001cbc: JUMP
00001cbd: JUMPDEST
00001cbe: PUSH2 0x1ccb
00001cc1: SWAP1
00001cc2: PUSH1 0x20
00001cc4: DUP2
00001cc5: ADD
00001cc6: SWAP1
00001cc7: PUSH2 0x4d62
00001cca: JUMP
00001ccb: JUMPDEST
00001ccc: DUP4
00001ccd: DUP2
00001cce: DUP2
00001ccf: LT
00001cd0: PUSH2 0x1cdb
00001cd3: JUMPI
00001cd4: PUSH2 0x1cdb
00001cd7: PUSH2 0x4b62
00001cda: JUMP
00001cdb: JUMPDEST
00001cdc: PUSH2 0x1cf1
00001cdf: SWAP3
00001ce0: PUSH1 0x20
00001ce2: PUSH1 0x60
00001ce4: SWAP1
00001ce5: SWAP3
00001ce6: MUL
00001ce7: ADD
00001ce8: SWAP1
00001ce9: DUP2
00001cea: ADD
00001ceb: SWAP2
00001cec: POP
00001ced: PUSH2 0x44e9
00001cf0: JUMP
00001cf1: JUMPDEST
00001cf2: SWAP1
00001cf3: POP
00001cf4: PUSH0
00001cf5: DUP7
00001cf6: DUP7
00001cf7: DUP7
00001cf8: DUP2
00001cf9: DUP2
00001cfa: LT
00001cfb: PUSH2 0x1d06
00001cfe: JUMPI
00001cff: PUSH2 0x1d06
00001d02: PUSH2 0x4b62
00001d05: JUMP
00001d06: JUMPDEST
00001d07: SWAP1
00001d08: POP
00001d09: PUSH1 0x20
00001d0b: MUL
00001d0c: DUP2
00001d0d: ADD
00001d0e: SWAP1
00001d0f: PUSH2 0x1d18
00001d12: SWAP2
00001d13: SWAP1
00001d14: PUSH2 0x4d26
00001d17: JUMP
00001d18: JUMPDEST
00001d19: PUSH2 0x1d26
00001d1c: SWAP1
00001d1d: PUSH1 0x20
00001d1f: DUP2
00001d20: ADD
00001d21: SWAP1
00001d22: PUSH2 0x4d62
00001d25: JUMP
00001d26: JUMPDEST
00001d27: DUP5
00001d28: DUP2
00001d29: DUP2
00001d2a: LT
00001d2b: PUSH2 0x1d36
00001d2e: JUMPI
00001d2f: PUSH2 0x1d36
00001d32: PUSH2 0x4b62
00001d35: JUMP
00001d36: JUMPDEST
00001d37: SWAP1
00001d38: POP
00001d39: PUSH1 0x60
00001d3b: MUL
00001d3c: ADD
00001d3d: PUSH1 0x20
00001d3f: ADD
00001d40: CALLDATALOAD
00001d41: SWAP1
00001d42: POP
00001d43: PUSH0
00001d44: DUP8
00001d45: DUP8
00001d46: DUP8
00001d47: DUP2
00001d48: DUP2
00001d49: LT
00001d4a: PUSH2 0x1d55
00001d4d: JUMPI
00001d4e: PUSH2 0x1d55
00001d51: PUSH2 0x4b62
00001d54: JUMP
00001d55: JUMPDEST
00001d56: SWAP1
00001d57: POP
00001d58: PUSH1 0x20
00001d5a: MUL
00001d5b: DUP2
00001d5c: ADD
00001d5d: SWAP1
00001d5e: PUSH2 0x1d67
00001d61: SWAP2
00001d62: SWAP1
00001d63: PUSH2 0x4d26
00001d66: JUMP
00001d67: JUMPDEST
00001d68: PUSH2 0x1d75
00001d6b: SWAP1
00001d6c: PUSH1 0x20
00001d6e: DUP2
00001d6f: ADD
00001d70: SWAP1
00001d71: PUSH2 0x4d62
00001d74: JUMP
00001d75: JUMPDEST
00001d76: DUP6
00001d77: DUP2
00001d78: DUP2
00001d79: LT
00001d7a: PUSH2 0x1d85
00001d7d: JUMPI
00001d7e: PUSH2 0x1d85
00001d81: PUSH2 0x4b62
00001d84: JUMP
00001d85: JUMPDEST
00001d86: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d9b: DUP7
00001d9c: DUP2
00001d9d: AND
00001d9e: PUSH0
00001d9f: SWAP1
00001da0: DUP2
00001da1: MSTORE
00001da2: PUSH1 0x0b
00001da4: PUSH1 0x20
00001da6: MSTORE
00001da7: PUSH1 0x40
00001da9: SWAP1
00001daa: DUP2
00001dab: SWAP1
00001dac: KECCAK256
00001dad: SLOAD
00001dae: PUSH1 0x60
00001db0: SWAP1
00001db1: SWAP4
00001db2: MUL
00001db3: SWAP5
00001db4: SWAP1
00001db5: SWAP5
00001db6: ADD
00001db7: SWAP4
00001db8: SWAP1
00001db9: SWAP4
00001dba: ADD
00001dbb: CALLDATALOAD
00001dbc: SWAP4
00001dbd: POP
00001dbe: SWAP1
00001dbf: SWAP2
00001dc0: AND
00001dc1: SWAP1
00001dc2: POP
00001dc3: PUSH2 0x1df8
00001dc6: JUMPI
00001dc7: PUSH1 0x40
00001dc9: MLOAD
00001dca: PUSH32 0xa7466cd800000000000000000000000000000000000000000000000000000000
00001deb: DUP2
00001dec: MSTORE
00001ded: PUSH1 0x04
00001def: ADD
00001df0: PUSH1 0x40
00001df2: MLOAD
00001df3: DUP1
00001df4: SWAP2
00001df5: SUB
00001df6: SWAP1
00001df7: REVERT
00001df8: JUMPDEST
00001df9: DUP2
00001dfa: ISZERO
00001dfb: PUSH2 0x2029
00001dfe: JUMPI
00001dff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e14: DUP1
00001e15: DUP5
00001e16: AND
00001e17: PUSH0
00001e18: SWAP1
00001e19: DUP2
00001e1a: MSTORE
00001e1b: PUSH1 0x0b
00001e1d: PUSH1 0x20
00001e1f: SWAP1
00001e20: DUP2
00001e21: MSTORE
00001e22: PUSH1 0x40
00001e24: DUP1
00001e25: DUP4
00001e26: KECCAK256
00001e27: SLOAD
00001e28: DUP2
00001e29: MLOAD
00001e2a: PUSH32 0x3ba0b9a900000000000000000000000000000000000000000000000000000000
00001e4b: DUP2
00001e4c: MSTORE
00001e4d: SWAP2
00001e4e: MLOAD
00001e4f: SWAP4
00001e50: SWAP5
00001e51: AND
00001e52: SWAP3
00001e53: PUSH4 0x3ba0b9a9
00001e58: SWAP3
00001e59: PUSH1 0x04
00001e5b: DUP1
00001e5c: DUP5
00001e5d: ADD
00001e5e: SWAP4
00001e5f: SWAP2
00001e60: SWAP3
00001e61: SWAP2
00001e62: DUP3
00001e63: SWAP1
00001e64: SUB
00001e65: ADD
00001e66: DUP2
00001e67: DUP7
00001e68: GAS
00001e69: STATICCALL
00001e6a: ISZERO
00001e6b: DUP1
00001e6c: ISZERO
00001e6d: PUSH2 0x1e78
00001e70: JUMPI
00001e71: RETURNDATASIZE
00001e72: PUSH0
00001e73: PUSH0
00001e74: RETURNDATACOPY
00001e75: RETURNDATASIZE
00001e76: PUSH0
00001e77: REVERT
00001e78: JUMPDEST
00001e79: POP
00001e7a: POP
00001e7b: POP
00001e7c: POP
00001e7d: PUSH1 0x40
00001e7f: MLOAD
00001e80: RETURNDATASIZE
00001e81: PUSH1 0x1f
00001e83: NOT
00001e84: PUSH1 0x1f
00001e86: DUP3
00001e87: ADD
00001e88: AND
00001e89: DUP3
00001e8a: ADD
00001e8b: DUP1
00001e8c: PUSH1 0x40
00001e8e: MSTORE
00001e8f: POP
00001e90: DUP2
00001e91: ADD
00001e92: SWAP1
00001e93: PUSH2 0x1e9c
00001e96: SWAP2
00001e97: SWAP1
00001e98: PUSH2 0x4dc5
00001e9b: JUMP
00001e9c: JUMPDEST
00001e9d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001eb2: DUP6
00001eb3: DUP2
00001eb4: AND
00001eb5: PUSH0
00001eb6: SWAP1
00001eb7: DUP2
00001eb8: MSTORE
00001eb9: PUSH1 0x0b
00001ebb: PUSH1 0x20
00001ebd: MSTORE
00001ebe: PUSH1 0x40
00001ec0: SWAP1
00001ec1: DUP2
00001ec2: SWAP1
00001ec3: KECCAK256
00001ec4: SLOAD
00001ec5: SWAP1
00001ec6: MLOAD
00001ec7: PUSH32 0xc8cc5cd800000000000000000000000000000000000000000000000000000000
00001ee8: DUP2
00001ee9: MSTORE
00001eea: PUSH1 0x04
00001eec: DUP2
00001eed: ADD
00001eee: DUP8
00001eef: SWAP1
00001ef0: MSTORE
00001ef1: SWAP3
00001ef2: SWAP4
00001ef3: POP
00001ef4: AND
00001ef5: SWAP1
00001ef6: PUSH4 0xc8cc5cd8
00001efb: SWAP1
00001efc: PUSH1 0x24
00001efe: ADD
00001eff: PUSH0
00001f00: PUSH1 0x40
00001f02: MLOAD
00001f03: DUP1
00001f04: DUP4
00001f05: SUB
00001f06: DUP2
00001f07: PUSH0
00001f08: DUP8
00001f09: DUP1
00001f0a: EXTCODESIZE
00001f0b: ISZERO
00001f0c: DUP1
00001f0d: ISZERO
00001f0e: PUSH2 0x1f15
00001f11: JUMPI
00001f12: PUSH0
00001f13: PUSH0
00001f14: REVERT
00001f15: JUMPDEST
00001f16: POP
00001f17: GAS
00001f18: CALL
00001f19: ISZERO
00001f1a: DUP1
00001f1b: ISZERO
00001f1c: PUSH2 0x1f27
00001f1f: JUMPI
00001f20: RETURNDATASIZE
00001f21: PUSH0
00001f22: PUSH0
00001f23: RETURNDATACOPY
00001f24: RETURNDATASIZE
00001f25: PUSH0
00001f26: REVERT
00001f27: JUMPDEST
00001f28: POP
00001f29: POP
00001f2a: POP
00001f2b: POP
00001f2c: DUP1
00001f2d: PUSH1 0x64
00001f2f: PUSH2 0x1f38
00001f32: SWAP2
00001f33: SWAP1
00001f34: PUSH2 0x4ddc
00001f37: JUMP
00001f38: JUMPDEST
00001f39: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f4e: DUP1
00001f4f: DUP7
00001f50: AND
00001f51: PUSH0
00001f52: SWAP1
00001f53: DUP2
00001f54: MSTORE
00001f55: PUSH1 0x0b
00001f57: PUSH1 0x20
00001f59: SWAP1
00001f5a: DUP2
00001f5b: MSTORE
00001f5c: PUSH1 0x40
00001f5e: SWAP2
00001f5f: DUP3
00001f60: SWAP1
00001f61: KECCAK256
00001f62: SLOAD
00001f63: DUP3
00001f64: MLOAD
00001f65: PUSH32 0x3ba0b9a900000000000000000000000000000000000000000000000000000000
00001f86: DUP2
00001f87: MSTORE
00001f88: SWAP3
00001f89: MLOAD
00001f8a: DUP7
00001f8b: SWAP5
00001f8c: SWAP2
00001f8d: SWAP1
00001f8e: SWAP2
00001f8f: AND
00001f90: SWAP3
00001f91: PUSH4 0x3ba0b9a9
00001f96: SWAP3
00001f97: PUSH1 0x04
00001f99: DUP1
00001f9a: DUP4
00001f9b: ADD
00001f9c: SWAP4
00001f9d: SWAP2
00001f9e: SWAP3
00001f9f: DUP3
00001fa0: SWAP1
00001fa1: SUB
00001fa2: ADD
00001fa3: DUP2
00001fa4: DUP7
00001fa5: GAS
00001fa6: STATICCALL
00001fa7: ISZERO
00001fa8: DUP1
00001fa9: ISZERO
00001faa: PUSH2 0x1fb5
00001fad: JUMPI
00001fae: RETURNDATASIZE
00001faf: PUSH0
00001fb0: PUSH0
00001fb1: RETURNDATACOPY
00001fb2: RETURNDATASIZE
00001fb3: PUSH0
00001fb4: REVERT
00001fb5: JUMPDEST
00001fb6: POP
00001fb7: POP
00001fb8: POP
00001fb9: POP
00001fba: PUSH1 0x40
00001fbc: MLOAD
00001fbd: RETURNDATASIZE
00001fbe: PUSH1 0x1f
00001fc0: NOT
00001fc1: PUSH1 0x1f
00001fc3: DUP3
00001fc4: ADD
00001fc5: AND
00001fc6: DUP3
00001fc7: ADD
00001fc8: DUP1
00001fc9: PUSH1 0x40
00001fcb: MSTORE
00001fcc: POP
00001fcd: DUP2
00001fce: ADD
00001fcf: SWAP1
00001fd0: PUSH2 0x1fd9
00001fd3: SWAP2
00001fd4: SWAP1
00001fd5: PUSH2 0x4dc5
00001fd8: JUMP
00001fd9: JUMPDEST
00001fda: PUSH2 0x1fe3
00001fdd: SWAP2
00001fde: SWAP1
00001fdf: PUSH2 0x4b8f
00001fe2: JUMP
00001fe3: JUMPDEST
00001fe4: PUSH2 0x1fef
00001fe7: SWAP1
00001fe8: PUSH2 0x2710
00001feb: PUSH2 0x4ddc
00001fee: JUMP
00001fef: JUMPDEST
00001ff0: GT
00001ff1: ISZERO
00001ff2: PUSH2 0x2027
00001ff5: JUMPI
00001ff6: PUSH1 0x40
00001ff8: MLOAD
00001ff9: PUSH32 0x0aa1e28500000000000000000000000000000000000000000000000000000000
0000201a: DUP2
0000201b: MSTORE
0000201c: PUSH1 0x04
0000201e: ADD
0000201f: PUSH1 0x40
00002021: MLOAD
00002022: DUP1
00002023: SWAP2
00002024: SUB
00002025: SWAP1
00002026: REVERT
00002027: JUMPDEST
00002028: POP
00002029: JUMPDEST
0000202a: DUP1
0000202b: ISZERO
0000202c: PUSH2 0x2069
0000202f: JUMPI
00002030: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002045: DUP4
00002046: AND
00002047: PUSH0
00002048: SWAP1
00002049: DUP2
0000204a: MSTORE
0000204b: PUSH1 0x09
0000204d: PUSH1 0x20
0000204f: MSTORE
00002050: PUSH1 0x40
00002052: DUP2
00002053: KECCAK256
00002054: DUP1
00002055: SLOAD
00002056: DUP4
00002057: SWAP3
00002058: SWAP1
00002059: PUSH2 0x2063
0000205c: SWAP1
0000205d: DUP5
0000205e: SWAP1
0000205f: PUSH2 0x4df3
00002062: JUMP
00002063: JUMPDEST
00002064: SWAP1
00002065: SWAP2
00002066: SSTORE
00002067: POP
00002068: POP
00002069: JUMPDEST
0000206a: PUSH2 0x207b
0000206d: PUSH2 0x2076
00002070: DUP4
00002071: DUP4
00002072: PUSH2 0x4df3
00002075: JUMP
00002076: JUMPDEST
00002077: PUSH2 0x3a86
0000207a: JUMP
0000207b: JUMPDEST
0000207c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002091: DUP1
00002092: DUP8
00002093: AND
00002094: PUSH0
00002095: SWAP1
00002096: DUP2
00002097: MSTORE
00002098: PUSH1 0x0d
0000209a: PUSH1 0x20
0000209c: SWAP1
0000209d: DUP2
0000209e: MSTORE
0000209f: PUSH1 0x40
000020a1: DUP1
000020a2: DUP4
000020a3: KECCAK256
000020a4: SWAP4
000020a5: DUP9
000020a6: AND
000020a7: DUP4
000020a8: MSTORE
000020a9: SWAP3
000020aa: SWAP1
000020ab: MSTORE
000020ac: SWAP1
000020ad: DUP2
000020ae: KECCAK256
000020af: DUP1
000020b0: SLOAD
000020b1: SWAP1
000020b2: SWAP2
000020b3: SWAP1
000020b4: PUSH2 0x20be
000020b7: SWAP1
000020b8: DUP5
000020b9: SWAP1
000020ba: PUSH2 0x4d00
000020bd: JUMP
000020be: JUMPDEST
000020bf: SWAP1
000020c0: SWAP2
000020c1: SSTORE
000020c2: POP
000020c3: POP
000020c4: PUSH1 0x01
000020c6: SWAP1
000020c7: SWAP4
000020c8: ADD
000020c9: SWAP3
000020ca: POP
000020cb: PUSH2 0x1c5d
000020ce: SWAP2
000020cf: POP
000020d0: POP
000020d1: JUMP
000020d2: JUMPDEST
000020d3: POP
000020d4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020e9: AND
000020ea: PUSH0
000020eb: SWAP1
000020ec: DUP2
000020ed: MSTORE
000020ee: PUSH1 0x0a
000020f0: PUSH1 0x20
000020f2: MSTORE
000020f3: PUSH1 0x40
000020f5: SWAP1
000020f6: KECCAK256
000020f7: TIMESTAMP
000020f8: SWAP1
000020f9: SSTORE
000020fa: PUSH1 0x01
000020fc: ADD
000020fd: PUSH2 0x1bb2
00002100: JUMP
00002101: JUMPDEST
00002102: POP
00002103: PUSH32 0x90e0333a7f11b37e50e152c45bb5ebfc2ce2ace82e290567861d3ae852968874
00002124: DUP3
00002125: DUP3
00002126: PUSH1 0x40
00002128: MLOAD
00002129: PUSH2 0x2133
0000212c: SWAP3
0000212d: SWAP2
0000212e: SWAP1
0000212f: PUSH2 0x4e06
00002132: JUMP
00002133: JUMPDEST
00002134: PUSH1 0x40
00002136: MLOAD
00002137: DUP1
00002138: SWAP2
00002139: SUB
0000213a: SWAP1
0000213b: LOG1
0000213c: POP
0000213d: POP
0000213e: JUMP
0000213f: JUMPDEST
00002140: PUSH2 0x214f
00002143: PUSH1 0x60
00002145: DUP5
00002146: ADD
00002147: PUSH1 0x40
00002149: DUP6
0000214a: ADD
0000214b: PUSH2 0x44e9
0000214e: JUMP
0000214f: JUMPDEST
00002150: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002165: DUP2
00002166: AND
00002167: PUSH0
00002168: SWAP1
00002169: DUP2
0000216a: MSTORE
0000216b: PUSH1 0x10
0000216d: PUSH1 0x20
0000216f: MSTORE
00002170: PUSH1 0x40
00002172: SWAP1
00002173: KECCAK256
00002174: SLOAD
00002175: PUSH1 0xff
00002177: AND
00002178: DUP1
00002179: ISZERO
0000217a: PUSH2 0x2198
0000217d: JUMPI
0000217e: POP
0000217f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002194: DUP2
00002195: AND
00002196: CALLER
00002197: EQ
00002198: JUMPDEST
00002199: DUP1
0000219a: PUSH2 0x21f7
0000219d: JUMPI
0000219e: POP
0000219f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000021b4: DUP2
000021b5: AND
000021b6: PUSH0
000021b7: SWAP1
000021b8: DUP2
000021b9: MSTORE
000021ba: PUSH1 0x10
000021bc: PUSH1 0x20
000021be: MSTORE
000021bf: PUSH1 0x40
000021c1: SWAP1
000021c2: KECCAK256
000021c3: SLOAD
000021c4: PUSH1 0xff
000021c6: AND
000021c7: DUP1
000021c8: ISZERO
000021c9: PUSH2 0x21f7
000021cc: JUMPI
000021cd: POP
000021ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000021e3: DUP2
000021e4: DUP2
000021e5: AND
000021e6: PUSH0
000021e7: SWAP1
000021e8: DUP2
000021e9: MSTORE
000021ea: PUSH1 0x11
000021ec: PUSH1 0x20
000021ee: MSTORE
000021ef: PUSH1 0x40
000021f1: SWAP1
000021f2: KECCAK256
000021f3: SLOAD
000021f4: AND
000021f5: CALLER
000021f6: EQ
000021f7: JUMPDEST
000021f8: PUSH2 0x222d
000021fb: JUMPI
000021fc: PUSH1 0x40
000021fe: MLOAD
000021ff: PUSH32 0x897e65bd00000000000000000000000000000000000000000000000000000000
00002220: DUP2
00002221: MSTORE
00002222: PUSH1 0x04
00002224: ADD
00002225: PUSH1 0x40
00002227: MLOAD
00002228: DUP1
00002229: SWAP2
0000222a: SUB
0000222b: SWAP1
0000222c: REVERT
0000222d: JUMPDEST
0000222e: PUSH2 0x2235
00002231: PUSH2 0x3096
00002234: JUMP
00002235: JUMPDEST
00002236: PUSH2 0x2240
00002239: DUP5
0000223a: DUP5
0000223b: DUP5
0000223c: PUSH2 0x3b37
0000223f: JUMP
00002240: JUMPDEST
00002241: PUSH2 0x22b2
00002244: PUSH2 0x2250
00002247: PUSH1 0x60
00002249: DUP7
0000224a: ADD
0000224b: DUP7
0000224c: PUSH2 0x4a81
0000224f: JUMP
00002250: JUMPDEST
00002251: DUP1
00002252: DUP1
00002253: PUSH1 0x20
00002255: MUL
00002256: PUSH1 0x20
00002258: ADD
00002259: PUSH1 0x40
0000225b: MLOAD
0000225c: SWAP1
0000225d: DUP2
0000225e: ADD
0000225f: PUSH1 0x40
00002261: MSTORE
00002262: DUP1
00002263: SWAP4
00002264: SWAP3
00002265: SWAP2
00002266: SWAP1
00002267: DUP2
00002268: DUP2
00002269: MSTORE
0000226a: PUSH1 0x20
0000226c: ADD
0000226d: PUSH0
0000226e: SWAP1
0000226f: JUMPDEST
00002270: DUP3
00002271: DUP3
00002272: LT
00002273: ISZERO
00002274: PUSH2 0x229b
00002277: JUMPI
00002278: PUSH2 0x228c
0000227b: PUSH1 0x40
0000227d: DUP4
0000227e: MUL
0000227f: DUP7
00002280: ADD
00002281: CALLDATASIZE
00002282: DUP2
00002283: SWAP1
00002284: SUB
00002285: DUP2
00002286: ADD
00002287: SWAP1
00002288: PUSH2 0x4ae5
0000228b: JUMP
0000228c: JUMPDEST
0000228d: DUP2
0000228e: MSTORE
0000228f: PUSH1 0x20
00002291: ADD
00002292: SWAP1
00002293: PUSH1 0x01
00002295: ADD
00002296: SWAP1
00002297: PUSH2 0x226f
0000229a: JUMP
0000229b: JUMPDEST
0000229c: POP
0000229d: PUSH2 0x0b18
000022a0: SWAP4
000022a1: POP
000022a2: POP
000022a3: PUSH1 0x60
000022a5: DUP10
000022a6: ADD
000022a7: SWAP2
000022a8: POP
000022a9: POP
000022aa: PUSH1 0x40
000022ac: DUP9
000022ad: ADD
000022ae: PUSH2 0x44e9
000022b1: JUMP
000022b2: JUMPDEST
000022b3: PUSH0
000022b4: PUSH1 0x12
000022b6: DUP2
000022b7: PUSH2 0x22c6
000022ba: PUSH1 0x60
000022bc: DUP9
000022bd: ADD
000022be: PUSH1 0x40
000022c0: DUP10
000022c1: ADD
000022c2: PUSH2 0x44e9
000022c5: JUMP
000022c6: JUMPDEST
000022c7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022dc: SWAP1
000022dd: DUP2
000022de: AND
000022df: DUP3
000022e0: MSTORE
000022e1: PUSH1 0x20
000022e3: DUP3
000022e4: ADD
000022e5: SWAP3
000022e6: SWAP1
000022e7: SWAP3
000022e8: MSTORE
000022e9: PUSH1 0x40
000022eb: ADD
000022ec: PUSH0
000022ed: SWAP1
000022ee: DUP2
000022ef: KECCAK256
000022f0: SLOAD
000022f1: SWAP1
000022f2: SWAP2
000022f3: AND
000022f4: SWAP2
000022f5: POP
000022f6: JUMPDEST
000022f7: PUSH2 0x2303
000022fa: PUSH1 0x60
000022fc: DUP8
000022fd: ADD
000022fe: DUP8
000022ff: PUSH2 0x4a81
00002302: JUMP
00002303: JUMPDEST
00002304: SWAP1
00002305: POP
00002306: DUP2
00002307: LT
00002308: ISZERO
00002309: PUSH2 0x23c1
0000230c: JUMPI
0000230d: PUSH0
0000230e: PUSH2 0x231a
00002311: PUSH1 0x60
00002313: DUP9
00002314: ADD
00002315: DUP9
00002316: PUSH2 0x4a81
00002319: JUMP
0000231a: JUMPDEST
0000231b: DUP4
0000231c: DUP2
0000231d: DUP2
0000231e: LT
0000231f: PUSH2 0x232a
00002322: JUMPI
00002323: PUSH2 0x232a
00002326: PUSH2 0x4b62
00002329: JUMP
0000232a: JUMPDEST
0000232b: PUSH2 0x2340
0000232e: SWAP3
0000232f: PUSH1 0x20
00002331: PUSH1 0x40
00002333: SWAP1
00002334: SWAP3
00002335: MUL
00002336: ADD
00002337: SWAP1
00002338: DUP2
00002339: ADD
0000233a: SWAP2
0000233b: POP
0000233c: PUSH2 0x44e9
0000233f: JUMP
00002340: JUMPDEST
00002341: SWAP1
00002342: POP
00002343: PUSH0
00002344: PUSH2 0x2350
00002347: PUSH1 0x60
00002349: DUP10
0000234a: ADD
0000234b: DUP10
0000234c: PUSH2 0x4a81
0000234f: JUMP
00002350: JUMPDEST
00002351: DUP5
00002352: DUP2
00002353: DUP2
00002354: LT
00002355: PUSH2 0x2360
00002358: JUMPI
00002359: PUSH2 0x2360
0000235c: PUSH2 0x4b62
0000235f: JUMP
00002360: JUMPDEST
00002361: SWAP1
00002362: POP
00002363: PUSH1 0x40
00002365: MUL
00002366: ADD
00002367: PUSH1 0x20
00002369: ADD
0000236a: CALLDATALOAD
0000236b: SWAP1
0000236c: POP
0000236d: PUSH0
0000236e: DUP2
0000236f: SGT
00002370: ISZERO
00002371: PUSH2 0x2387
00002374: JUMPI
00002375: PUSH2 0x2382
00002378: CALLER
00002379: ADDRESS
0000237a: PUSH2 0x0cd5
0000237d: DUP5
0000237e: PUSH2 0x354d
00002381: JUMP
00002382: JUMPDEST
00002383: PUSH2 0x23b7
00002386: JUMP
00002387: JUMPDEST
00002388: PUSH2 0x23a7
0000238b: PUSH2 0x239a
0000238e: PUSH1 0x60
00002390: DUP11
00002391: ADD
00002392: PUSH1 0x40
00002394: DUP12
00002395: ADD
00002396: PUSH2 0x44e9
00002399: JUMP
0000239a: JUMPDEST
0000239b: DUP4
0000239c: PUSH2 0x0d0f
0000239f: PUSH2 0x0d0a
000023a2: DUP6
000023a3: PUSH2 0x4ba2
000023a6: JUMP
000023a7: JUMPDEST
000023a8: PUSH2 0x23b7
000023ab: DUP5
000023ac: PUSH2 0x0d24
000023af: PUSH2 0x0d0a
000023b2: DUP5
000023b3: PUSH2 0x4ba2
000023b6: JUMP
000023b7: JUMPDEST
000023b8: POP
000023b9: POP
000023ba: PUSH1 0x01
000023bc: ADD
000023bd: PUSH2 0x22f6
000023c0: JUMP
000023c1: JUMPDEST
000023c2: POP
000023c3: PUSH32 0x0279bcc316c233db88e8f3e463dcefc7fa661da21bc66eadc60f3835e41bba11
000023e4: PUSH2 0x1487
000023e7: PUSH1 0x60
000023e9: DUP8
000023ea: ADD
000023eb: PUSH1 0x40
000023ed: DUP9
000023ee: ADD
000023ef: PUSH2 0x44e9
000023f2: JUMP
000023f3: JUMPDEST
000023f4: PUSH2 0x23fb
000023f7: PUSH2 0x3015
000023fa: JUMP
000023fb: JUMPDEST
000023fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002411: DUP3
00002412: AND
00002413: PUSH2 0x2448
00002416: JUMPI
00002417: PUSH1 0x40
00002419: MLOAD
0000241a: PUSH32 0xd92e233d00000000000000000000000000000000000000000000000000000000
0000243b: DUP2
0000243c: MSTORE
0000243d: PUSH1 0x04
0000243f: ADD
00002440: PUSH1 0x40
00002442: MLOAD
00002443: DUP1
00002444: SWAP2
00002445: SUB
00002446: SWAP1
00002447: REVERT
00002448: JUMPDEST
00002449: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000245e: DUP3
0000245f: AND
00002460: PUSH0
00002461: DUP2
00002462: DUP2
00002463: MSTORE
00002464: PUSH1 0x08
00002466: PUSH1 0x20
00002468: SWAP1
00002469: DUP2
0000246a: MSTORE
0000246b: PUSH1 0x40
0000246d: SWAP2
0000246e: DUP3
0000246f: SWAP1
00002470: KECCAK256
00002471: DUP1
00002472: SLOAD
00002473: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00002494: AND
00002495: DUP6
00002496: ISZERO
00002497: ISZERO
00002498: SWAP1
00002499: DUP2
0000249a: OR
0000249b: SWAP1
0000249c: SWAP2
0000249d: SSTORE
0000249e: SWAP2
0000249f: MLOAD
000024a0: SWAP2
000024a1: DUP3
000024a2: MSTORE
000024a3: PUSH32 0x947aca305c9b8d94b31792a7f80d331c9452e743508d61331561378673b50103
000024c4: SWAP2
000024c5: ADD
000024c6: PUSH1 0x40
000024c8: MLOAD
000024c9: DUP1
000024ca: SWAP2
000024cb: SUB
000024cc: SWAP1
000024cd: LOG2
000024ce: POP
000024cf: POP
000024d0: JUMP
000024d1: JUMPDEST
000024d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000024e7: DUP3
000024e8: AND
000024e9: PUSH2 0x251e
000024ec: JUMPI
000024ed: PUSH1 0x40
000024ef: MLOAD
000024f0: PUSH32 0xd92e233d00000000000000000000000000000000000000000000000000000000
00002511: DUP2
00002512: MSTORE
00002513: PUSH1 0x04
00002515: ADD
00002516: PUSH1 0x40
00002518: MLOAD
00002519: DUP1
0000251a: SWAP2
0000251b: SUB
0000251c: SWAP1
0000251d: REVERT
0000251e: JUMPDEST
0000251f: PUSH1 0x04
00002521: SLOAD
00002522: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002537: AND
00002538: CALLER
00002539: EQ
0000253a: PUSH2 0x256f
0000253d: JUMPI
0000253e: PUSH1 0x40
00002540: MLOAD
00002541: PUSH32 0xdcdd32f100000000000000000000000000000000000000000000000000000000
00002562: DUP2
00002563: MSTORE
00002564: PUSH1 0x04
00002566: ADD
00002567: PUSH1 0x40
00002569: MLOAD
0000256a: DUP1
0000256b: SWAP2
0000256c: SUB
0000256d: SWAP1
0000256e: REVERT
0000256f: JUMPDEST
00002570: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002585: DUP4
00002586: AND
00002587: PUSH0
00002588: SWAP1
00002589: DUP2
0000258a: MSTORE
0000258b: PUSH1 0x09
0000258d: PUSH1 0x20
0000258f: MSTORE
00002590: PUSH1 0x40
00002592: SWAP1
00002593: KECCAK256
00002594: SLOAD
00002595: DUP2
00002596: GT
00002597: ISZERO
00002598: PUSH2 0x25cd
0000259b: JUMPI
0000259c: PUSH1 0x40
0000259e: MLOAD
0000259f: PUSH32 0xce11c63900000000000000000000000000000000000000000000000000000000
000025c0: DUP2
000025c1: MSTORE
000025c2: PUSH1 0x04
000025c4: ADD
000025c5: PUSH1 0x40
000025c7: MLOAD
000025c8: DUP1
000025c9: SWAP2
000025ca: SUB
000025cb: SWAP1
000025cc: REVERT
000025cd: JUMPDEST
000025ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000025e3: DUP4
000025e4: AND
000025e5: PUSH0
000025e6: SWAP1
000025e7: DUP2
000025e8: MSTORE
000025e9: PUSH1 0x09
000025eb: PUSH1 0x20
000025ed: MSTORE
000025ee: PUSH1 0x40
000025f0: DUP2
000025f1: KECCAK256
000025f2: DUP1
000025f3: SLOAD
000025f4: DUP4
000025f5: SWAP3
000025f6: SWAP1
000025f7: PUSH2 0x2601
000025fa: SWAP1
000025fb: DUP5
000025fc: SWAP1
000025fd: PUSH2 0x4b8f
00002600: JUMP
00002601: JUMPDEST
00002602: SWAP1
00002603: SWAP2
00002604: SSTORE
00002605: POP
00002606: PUSH2 0x2628
00002609: SWAP1
0000260a: POP
0000260b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002620: DUP5
00002621: AND
00002622: DUP4
00002623: DUP4
00002624: PUSH2 0x37aa
00002627: JUMP
00002628: JUMPDEST
00002629: PUSH1 0x40
0000262b: DUP1
0000262c: MLOAD
0000262d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002642: DUP1
00002643: DUP7
00002644: AND
00002645: DUP3
00002646: MSTORE
00002647: DUP5
00002648: AND
00002649: PUSH1 0x20
0000264b: DUP3
0000264c: ADD
0000264d: MSTORE
0000264e: SWAP1
0000264f: DUP2
00002650: ADD
00002651: DUP3
00002652: SWAP1
00002653: MSTORE
00002654: PUSH32 0xde13184e8cbb6eccbcecfc796bf8820e5ffde0534c01b4fabed4b05982964a44
00002675: SWAP1
00002676: PUSH1 0x60
00002678: ADD
00002679: PUSH2 0x1140
0000267c: JUMP
0000267d: JUMPDEST
0000267e: PUSH2 0x2685
00002681: PUSH2 0x3096
00002684: JUMP
00002685: JUMPDEST
00002686: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000269b: DUP2
0000269c: AND
0000269d: PUSH0
0000269e: SWAP1
0000269f: DUP2
000026a0: MSTORE
000026a1: PUSH1 0x10
000026a3: PUSH1 0x20
000026a5: MSTORE
000026a6: PUSH1 0x40
000026a8: SWAP1
000026a9: KECCAK256
000026aa: SLOAD
000026ab: PUSH1 0xff
000026ad: AND
000026ae: PUSH2 0x26e3
000026b1: JUMPI
000026b2: PUSH1 0x40
000026b4: MLOAD
000026b5: PUSH32 0x897e65bd00000000000000000000000000000000000000000000000000000000
000026d6: DUP2
000026d7: MSTORE
000026d8: PUSH1 0x04
000026da: ADD
000026db: PUSH1 0x40
000026dd: MLOAD
000026de: DUP1
000026df: SWAP2
000026e0: SUB
000026e1: SWAP1
000026e2: REVERT
000026e3: JUMPDEST
000026e4: PUSH0
000026e5: JUMPDEST
000026e6: DUP3
000026e7: DUP2
000026e8: LT
000026e9: ISZERO
000026ea: PUSH2 0x284f
000026ed: JUMPI
000026ee: PUSH0
000026ef: DUP5
000026f0: DUP5
000026f1: DUP4
000026f2: DUP2
000026f3: DUP2
000026f4: LT
000026f5: PUSH2 0x2700
000026f8: JUMPI
000026f9: PUSH2 0x2700
000026fc: PUSH2 0x4b62
000026ff: JUMP
00002700: JUMPDEST
00002701: PUSH2 0x2716
00002704: SWAP3
00002705: PUSH1 0x20
00002707: PUSH1 0x40
00002709: SWAP1
0000270a: SWAP3
0000270b: MUL
0000270c: ADD
0000270d: SWAP1
0000270e: DUP2
0000270f: ADD
00002710: SWAP2
00002711: POP
00002712: PUSH2 0x44e9
00002715: JUMP
00002716: JUMPDEST
00002717: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000272c: DUP2
0000272d: AND
0000272e: PUSH0
0000272f: SWAP1
00002730: DUP2
00002731: MSTORE
00002732: PUSH1 0x0f
00002734: PUSH1 0x20
00002736: MSTORE
00002737: PUSH1 0x40
00002739: SWAP1
0000273a: KECCAK256
0000273b: SLOAD
0000273c: SWAP1
0000273d: SWAP2
0000273e: POP
0000273f: PUSH1 0xff
00002741: AND
00002742: PUSH2 0x2777
00002745: JUMPI
00002746: PUSH1 0x40
00002748: MLOAD
00002749: PUSH32 0x918aa47f00000000000000000000000000000000000000000000000000000000
0000276a: DUP2
0000276b: MSTORE
0000276c: PUSH1 0x04
0000276e: ADD
0000276f: PUSH1 0x40
00002771: MLOAD
00002772: DUP1
00002773: SWAP2
00002774: SUB
00002775: SWAP1
00002776: REVERT
00002777: JUMPDEST
00002778: PUSH0
00002779: DUP6
0000277a: DUP6
0000277b: DUP5
0000277c: DUP2
0000277d: DUP2
0000277e: LT
0000277f: PUSH2 0x278a
00002782: JUMPI
00002783: PUSH2 0x278a
00002786: PUSH2 0x4b62
00002789: JUMP
0000278a: JUMPDEST
0000278b: SWAP1
0000278c: POP
0000278d: PUSH1 0x40
0000278f: MUL
00002790: ADD
00002791: PUSH1 0x20
00002793: ADD
00002794: CALLDATALOAD
00002795: SWAP1
00002796: POP
00002797: DUP1
00002798: PUSH1 0x0e
0000279a: PUSH0
0000279b: DUP7
0000279c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027b1: AND
000027b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027c7: AND
000027c8: DUP2
000027c9: MSTORE
000027ca: PUSH1 0x20
000027cc: ADD
000027cd: SWAP1
000027ce: DUP2
000027cf: MSTORE
000027d0: PUSH1 0x20
000027d2: ADD
000027d3: PUSH0
000027d4: KECCAK256
000027d5: PUSH0
000027d6: DUP5
000027d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027ec: AND
000027ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002802: AND
00002803: DUP2
00002804: MSTORE
00002805: PUSH1 0x20
00002807: ADD
00002808: SWAP1
00002809: DUP2
0000280a: MSTORE
0000280b: PUSH1 0x20
0000280d: ADD
0000280e: PUSH0
0000280f: KECCAK256
00002810: PUSH0
00002811: DUP3
00002812: DUP3
00002813: SLOAD
00002814: PUSH2 0x281d
00002817: SWAP2
00002818: SWAP1
00002819: PUSH2 0x4df3
0000281c: JUMP
0000281d: JUMPDEST
0000281e: SWAP1
0000281f: SWAP2
00002820: SSTORE
00002821: POP
00002822: PUSH2 0x2845
00002825: SWAP1
00002826: POP
00002827: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000283c: DUP4
0000283d: AND
0000283e: CALLER
0000283f: ADDRESS
00002840: DUP5
00002841: PUSH2 0x35bc
00002844: JUMP
00002845: JUMPDEST
00002846: POP
00002847: POP
00002848: PUSH1 0x01
0000284a: ADD
0000284b: PUSH2 0x26e5
0000284e: JUMP
0000284f: JUMPDEST
00002850: POP
00002851: PUSH32 0x770dafe0b413d5c277b5f1a9d1d725e5ebafe92b5a16f3ebaae6e49e43b66499
00002872: DUP2
00002873: DUP5
00002874: DUP5
00002875: PUSH1 0x40
00002877: MLOAD
00002878: PUSH2 0x2883
0000287b: SWAP4
0000287c: SWAP3
0000287d: SWAP2
0000287e: SWAP1
0000287f: PUSH2 0x4ca1
00002882: JUMP
00002883: JUMPDEST
00002884: PUSH1 0x40
00002886: MLOAD
00002887: DUP1
00002888: SWAP2
00002889: SUB
0000288a: SWAP1
0000288b: LOG1
0000288c: PUSH2 0x0e96
0000288f: PUSH2 0x3800
00002892: JUMP
00002893: JUMPDEST
00002894: PUSH2 0x289b
00002897: PUSH2 0x3015
0000289a: JUMP
0000289b: JUMPDEST
0000289c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000028b1: DUP6
000028b2: AND
000028b3: ISZERO
000028b4: DUP1
000028b5: ISZERO
000028b6: SWAP1
000028b7: PUSH2 0x28d5
000028ba: JUMPI
000028bb: POP
000028bc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000028d1: DUP5
000028d2: AND
000028d3: ISZERO
000028d4: ISZERO
000028d5: JUMPDEST
000028d6: DUP1
000028d7: ISZERO
000028d8: PUSH2 0x28f6
000028db: JUMPI
000028dc: POP
000028dd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000028f2: DUP4
000028f3: AND
000028f4: ISZERO
000028f5: ISZERO
000028f6: JUMPDEST
000028f7: PUSH2 0x292c
000028fa: JUMPI
000028fb: PUSH1 0x40
000028fd: MLOAD
000028fe: PUSH32 0xd92e233d00000000000000000000000000000000000000000000000000000000
0000291f: DUP2
00002920: MSTORE
00002921: PUSH1 0x04
00002923: ADD
00002924: PUSH1 0x40
00002926: MLOAD
00002927: DUP1
00002928: SWAP2
00002929: SUB
0000292a: SWAP1
0000292b: REVERT
0000292c: JUMPDEST
0000292d: DUP5
0000292e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002943: AND
00002944: DUP4
00002945: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000295a: AND
0000295b: EQ
0000295c: ISZERO
0000295d: DUP1
0000295e: ISZERO
0000295f: PUSH2 0x2994
00002962: JUMPI
00002963: POP
00002964: DUP4
00002965: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000297a: AND
0000297b: DUP4
0000297c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002991: AND
00002992: EQ
00002993: ISZERO
00002994: JUMPDEST
00002995: PUSH2 0x29ca
00002998: JUMPI
00002999: PUSH1 0x40
0000299b: MLOAD
0000299c: PUSH32 0x5bc7a3a500000000000000000000000000000000000000000000000000000000
000029bd: DUP2
000029be: MSTORE
000029bf: PUSH1 0x04
000029c1: ADD
000029c2: PUSH1 0x40
000029c4: MLOAD
000029c5: DUP1
000029c6: SWAP2
000029c7: SUB
000029c8: SWAP1
000029c9: REVERT
000029ca: JUMPDEST
000029cb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000029e0: DUP6
000029e1: DUP2
000029e2: AND
000029e3: PUSH0
000029e4: DUP2
000029e5: DUP2
000029e6: MSTORE
000029e7: PUSH1 0x10
000029e9: PUSH1 0x20
000029eb: SWAP1
000029ec: DUP2
000029ed: MSTORE
000029ee: PUSH1 0x40
000029f0: DUP1
000029f1: DUP4
000029f2: KECCAK256
000029f3: DUP1
000029f4: SLOAD
000029f5: DUP9
000029f6: ISZERO
000029f7: ISZERO
000029f8: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00002a19: SWAP2
00002a1a: DUP3
00002a1b: AND
00002a1c: DUP2
00002a1d: OR
00002a1e: SWAP1
00002a1f: SWAP3
00002a20: SSTORE
00002a21: PUSH1 0x11
00002a23: DUP5
00002a24: MSTORE
00002a25: DUP3
00002a26: DUP6
00002a27: KECCAK256
00002a28: DUP1
00002a29: SLOAD
00002a2a: DUP13
00002a2b: DUP10
00002a2c: AND
00002a2d: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00002a4e: SWAP2
00002a4f: DUP3
00002a50: AND
00002a51: DUP2
00002a52: OR
00002a53: SWAP1
00002a54: SWAP3
00002a55: SSTORE
00002a56: PUSH1 0x12
00002a58: DUP7
00002a59: MSTORE
00002a5a: DUP5
00002a5b: DUP8
00002a5c: KECCAK256
00002a5d: DUP1
00002a5e: SLOAD
00002a5f: SWAP10
00002a60: DUP14
00002a61: AND
00002a62: SWAP10
00002a63: SWAP1
00002a64: SWAP2
00002a65: AND
00002a66: DUP10
00002a67: OR
00002a68: SWAP1
00002a69: SSTORE
00002a6a: PUSH1 0x13
00002a6c: DUP6
00002a6d: MSTORE
00002a6e: SWAP5
00002a6f: DUP4
00002a70: SWAP1
00002a71: KECCAK256
00002a72: DUP1
00002a73: SLOAD
00002a74: DUP10
00002a75: ISZERO
00002a76: ISZERO
00002a77: SWAP3
00002a78: AND
00002a79: DUP3
00002a7a: OR
00002a7b: SWAP1
00002a7c: SSTORE
00002a7d: DUP3
00002a7e: MLOAD
00002a7f: SWAP2
00002a80: DUP3
00002a81: MSTORE
00002a82: SWAP3
00002a83: DUP2
00002a84: ADD
00002a85: SWAP3
00002a86: SWAP1
00002a87: SWAP3
00002a88: MSTORE
00002a89: DUP2
00002a8a: ADD
00002a8b: SWAP2
00002a8c: SWAP1
00002a8d: SWAP2
00002a8e: MSTORE
00002a8f: PUSH1 0x60
00002a91: DUP2
00002a92: ADD
00002a93: SWAP3
00002a94: SWAP1
00002a95: SWAP3
00002a96: MSTORE
00002a97: SWAP1
00002a98: PUSH32 0x2353ec0fe56a376d3269d3e65521f1ce07dc5f544cc5b0ba4eb2ff03f771a4ad
00002ab9: SWAP1
00002aba: PUSH1 0x80
00002abc: ADD
00002abd: PUSH1 0x40
00002abf: MLOAD
00002ac0: DUP1
00002ac1: SWAP2
00002ac2: SUB
00002ac3: SWAP1
00002ac4: LOG2
00002ac5: POP
00002ac6: POP
00002ac7: POP
00002ac8: POP
00002ac9: POP
00002aca: JUMP
00002acb: JUMPDEST
00002acc: CALLER
00002acd: PUSH0
00002ace: SWAP1
00002acf: DUP2
00002ad0: MSTORE
00002ad1: PUSH1 0x0f
00002ad3: PUSH1 0x20
00002ad5: MSTORE
00002ad6: PUSH1 0x40
00002ad8: SWAP1
00002ad9: KECCAK256
00002ada: SLOAD
00002adb: PUSH1 0xff
00002add: AND
00002ade: PUSH2 0x2b13
00002ae1: JUMPI
00002ae2: PUSH1 0x40
00002ae4: MLOAD
00002ae5: PUSH32 0x918aa47f00000000000000000000000000000000000000000000000000000000
00002b06: DUP2
00002b07: MSTORE
00002b08: PUSH1 0x04
00002b0a: ADD
00002b0b: PUSH1 0x40
00002b0d: MLOAD
00002b0e: DUP1
00002b0f: SWAP2
00002b10: SUB
00002b11: SWAP1
00002b12: REVERT
00002b13: JUMPDEST
00002b14: CALLER
00002b15: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b2a: AND
00002b2b: PUSH4 0xc70920bc
00002b30: PUSH1 0x40
00002b32: MLOAD
00002b33: DUP2
00002b34: PUSH4 0xffffffff
00002b39: AND
00002b3a: PUSH1 0xe0
00002b3c: SHL
00002b3d: DUP2
00002b3e: MSTORE
00002b3f: PUSH1 0x04
00002b41: ADD
00002b42: PUSH1 0x20
00002b44: PUSH1 0x40
00002b46: MLOAD
00002b47: DUP1
00002b48: DUP4
00002b49: SUB
00002b4a: DUP2
00002b4b: DUP7
00002b4c: GAS
00002b4d: STATICCALL
00002b4e: ISZERO
00002b4f: DUP1
00002b50: ISZERO
00002b51: PUSH2 0x2b5c
00002b54: JUMPI
00002b55: RETURNDATASIZE
00002b56: PUSH0
00002b57: PUSH0
00002b58: RETURNDATACOPY
00002b59: RETURNDATASIZE
00002b5a: PUSH0
00002b5b: REVERT
00002b5c: JUMPDEST
00002b5d: POP
00002b5e: POP
00002b5f: POP
00002b60: POP
00002b61: PUSH1 0x40
00002b63: MLOAD
00002b64: RETURNDATASIZE
00002b65: PUSH1 0x1f
00002b67: NOT
00002b68: PUSH1 0x1f
00002b6a: DUP3
00002b6b: ADD
00002b6c: AND
00002b6d: DUP3
00002b6e: ADD
00002b6f: DUP1
00002b70: PUSH1 0x40
00002b72: MSTORE
00002b73: POP
00002b74: DUP2
00002b75: ADD
00002b76: SWAP1
00002b77: PUSH2 0x2b80
00002b7a: SWAP2
00002b7b: SWAP1
00002b7c: PUSH2 0x4dc5
00002b7f: JUMP
00002b80: JUMPDEST
00002b81: DUP2
00002b82: GT
00002b83: ISZERO
00002b84: PUSH2 0x2bb9
00002b87: JUMPI
00002b88: PUSH1 0x40
00002b8a: MLOAD
00002b8b: PUSH32 0xff75bad100000000000000000000000000000000000000000000000000000000
00002bac: DUP2
00002bad: MSTORE
00002bae: PUSH1 0x04
00002bb0: ADD
00002bb1: PUSH1 0x40
00002bb3: MLOAD
00002bb4: DUP1
00002bb5: SWAP2
00002bb6: SUB
00002bb7: SWAP1
00002bb8: REVERT
00002bb9: JUMPDEST
00002bba: PUSH2 0x2c48
00002bbd: DUP3
00002bbe: DUP3
00002bbf: CALLER
00002bc0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002bd5: AND
00002bd6: PUSH4 0x6f307dc3
00002bdb: PUSH1 0x40
00002bdd: MLOAD
00002bde: DUP2
00002bdf: PUSH4 0xffffffff
00002be4: AND
00002be5: PUSH1 0xe0
00002be7: SHL
00002be8: DUP2
00002be9: MSTORE
00002bea: PUSH1 0x04
00002bec: ADD
00002bed: PUSH1 0x20
00002bef: PUSH1 0x40
00002bf1: MLOAD
00002bf2: DUP1
00002bf3: DUP4
00002bf4: SUB
00002bf5: DUP2
00002bf6: DUP7
00002bf7: GAS
00002bf8: STATICCALL
00002bf9: ISZERO
00002bfa: DUP1
00002bfb: ISZERO
00002bfc: PUSH2 0x2c07
00002bff: JUMPI
00002c00: RETURNDATASIZE
00002c01: PUSH0
00002c02: PUSH0
00002c03: RETURNDATACOPY
00002c04: RETURNDATASIZE
00002c05: PUSH0
00002c06: REVERT
00002c07: JUMPDEST
00002c08: POP
00002c09: POP
00002c0a: POP
00002c0b: POP
00002c0c: PUSH1 0x40
00002c0e: MLOAD
00002c0f: RETURNDATASIZE
00002c10: PUSH1 0x1f
00002c12: NOT
00002c13: PUSH1 0x1f
00002c15: DUP3
00002c16: ADD
00002c17: AND
00002c18: DUP3
00002c19: ADD
00002c1a: DUP1
00002c1b: PUSH1 0x40
00002c1d: MSTORE
00002c1e: POP
00002c1f: DUP2
00002c20: ADD
00002c21: SWAP1
00002c22: PUSH2 0x2c2b
00002c25: SWAP2
00002c26: SWAP1
00002c27: PUSH2 0x4f9d
00002c2a: JUMP
00002c2b: JUMPDEST
00002c2c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002c41: AND
00002c42: SWAP2
00002c43: SWAP1
00002c44: PUSH2 0x37aa
00002c47: JUMP
00002c48: JUMPDEST
00002c49: POP
00002c4a: POP
00002c4b: JUMP
00002c4c: JUMPDEST
00002c4d: PUSH2 0x2c54
00002c50: PUSH2 0x3015
00002c53: JUMP
00002c54: JUMPDEST
00002c55: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002c6a: DUP2
00002c6b: AND
00002c6c: PUSH0
00002c6d: SWAP1
00002c6e: DUP2
00002c6f: MSTORE
00002c70: PUSH1 0x0f
00002c72: PUSH1 0x20
00002c74: MSTORE
00002c75: PUSH1 0x40
00002c77: SWAP1
00002c78: KECCAK256
00002c79: SLOAD
00002c7a: PUSH1 0xff
00002c7c: AND
00002c7d: ISZERO
00002c7e: PUSH2 0x2cb3
00002c81: JUMPI
00002c82: PUSH1 0x40
00002c84: MLOAD
00002c85: PUSH32 0xdeaabdc200000000000000000000000000000000000000000000000000000000
00002ca6: DUP2
00002ca7: MSTORE
00002ca8: PUSH1 0x04
00002caa: ADD
00002cab: PUSH1 0x40
00002cad: MLOAD
00002cae: DUP1
00002caf: SWAP2
00002cb0: SUB
00002cb1: SWAP1
00002cb2: REVERT
00002cb3: JUMPDEST
00002cb4: PUSH0
00002cb5: DUP2
00002cb6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ccb: AND
00002ccc: PUSH4 0x6f307dc3
00002cd1: PUSH1 0x40
00002cd3: MLOAD
00002cd4: DUP2
00002cd5: PUSH4 0xffffffff
00002cda: AND
00002cdb: PUSH1 0xe0
00002cdd: SHL
00002cde: DUP2
00002cdf: MSTORE
00002ce0: PUSH1 0x04
00002ce2: ADD
00002ce3: PUSH1 0x20
00002ce5: PUSH1 0x40
00002ce7: MLOAD
00002ce8: DUP1
00002ce9: DUP4
00002cea: SUB
00002ceb: DUP2
00002cec: DUP7
00002ced: GAS
00002cee: STATICCALL
00002cef: ISZERO
00002cf0: DUP1
00002cf1: ISZERO
00002cf2: PUSH2 0x2cfd
00002cf5: JUMPI
00002cf6: RETURNDATASIZE
00002cf7: PUSH0
00002cf8: PUSH0
00002cf9: RETURNDATACOPY
00002cfa: RETURNDATASIZE
00002cfb: PUSH0
00002cfc: REVERT
00002cfd: JUMPDEST
00002cfe: POP
00002cff: POP
00002d00: POP
00002d01: POP
00002d02: PUSH1 0x40
00002d04: MLOAD
00002d05: RETURNDATASIZE
00002d06: PUSH1 0x1f
00002d08: NOT
00002d09: PUSH1 0x1f
00002d0b: DUP3
00002d0c: ADD
00002d0d: AND
00002d0e: DUP3
00002d0f: ADD
00002d10: DUP1
00002d11: PUSH1 0x40
00002d13: MSTORE
00002d14: POP
00002d15: DUP2
00002d16: ADD
00002d17: SWAP1
00002d18: PUSH2 0x2d21
00002d1b: SWAP2
00002d1c: SWAP1
00002d1d: PUSH2 0x4f9d
00002d20: JUMP
00002d21: JUMPDEST
00002d22: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002d37: DUP1
00002d38: DUP3
00002d39: AND
00002d3a: PUSH0
00002d3b: SWAP1
00002d3c: DUP2
00002d3d: MSTORE
00002d3e: PUSH1 0x0b
00002d40: PUSH1 0x20
00002d42: MSTORE
00002d43: PUSH1 0x40
00002d45: SWAP1
00002d46: KECCAK256
00002d47: SLOAD
00002d48: SWAP2
00002d49: SWAP3
00002d4a: POP
00002d4b: AND
00002d4c: ISZERO
00002d4d: DUP1
00002d4e: ISZERO
00002d4f: PUSH2 0x2def
00002d52: JUMPI
00002d53: POP
00002d54: ADDRESS
00002d55: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002d6a: AND
00002d6b: DUP3
00002d6c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002d81: AND
00002d82: PUSH4 0xe2498f72
00002d87: PUSH1 0x40
00002d89: MLOAD
00002d8a: DUP2
00002d8b: PUSH4 0xffffffff
00002d90: AND
00002d91: PUSH1 0xe0
00002d93: SHL
00002d94: DUP2
00002d95: MSTORE
00002d96: PUSH1 0x04
00002d98: ADD
00002d99: PUSH1 0x20
00002d9b: PUSH1 0x40
00002d9d: MLOAD
00002d9e: DUP1
00002d9f: DUP4
00002da0: SUB
00002da1: DUP2
00002da2: DUP7
00002da3: GAS
00002da4: STATICCALL
00002da5: ISZERO
00002da6: DUP1
00002da7: ISZERO
00002da8: PUSH2 0x2db3
00002dab: JUMPI
00002dac: RETURNDATASIZE
00002dad: PUSH0
00002dae: PUSH0
00002daf: RETURNDATACOPY
00002db0: RETURNDATASIZE
00002db1: PUSH0
00002db2: REVERT
00002db3: JUMPDEST
00002db4: POP
00002db5: POP
00002db6: POP
00002db7: POP
00002db8: PUSH1 0x40
00002dba: MLOAD
00002dbb: RETURNDATASIZE
00002dbc: PUSH1 0x1f
00002dbe: NOT
00002dbf: PUSH1 0x1f
00002dc1: DUP3
00002dc2: ADD
00002dc3: AND
00002dc4: DUP3
00002dc5: ADD
00002dc6: DUP1
00002dc7: PUSH1 0x40
00002dc9: MSTORE
00002dca: POP
00002dcb: DUP2
00002dcc: ADD
00002dcd: SWAP1
00002dce: PUSH2 0x2dd7
00002dd1: SWAP2
00002dd2: SWAP1
00002dd3: PUSH2 0x4f9d
00002dd6: JUMP
00002dd7: JUMPDEST
00002dd8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ded: AND
00002dee: EQ
00002def: JUMPDEST
00002df0: PUSH2 0x2e25
00002df3: JUMPI
00002df4: PUSH1 0x40
00002df6: MLOAD
00002df7: PUSH32 0x9db8d5b100000000000000000000000000000000000000000000000000000000
00002e18: DUP2
00002e19: MSTORE
00002e1a: PUSH1 0x04
00002e1c: ADD
00002e1d: PUSH1 0x40
00002e1f: MLOAD
00002e20: DUP1
00002e21: SWAP2
00002e22: SUB
00002e23: SWAP1
00002e24: REVERT
00002e25: JUMPDEST
00002e26: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e3b: DUP2
00002e3c: AND
00002e3d: PUSH2 0x2e72
00002e40: JUMPI
00002e41: PUSH1 0x40
00002e43: MLOAD
00002e44: PUSH32 0xf418616400000000000000000000000000000000000000000000000000000000
00002e65: DUP2
00002e66: MSTORE
00002e67: PUSH1 0x04
00002e69: ADD
00002e6a: PUSH1 0x40
00002e6c: MLOAD
00002e6d: DUP1
00002e6e: SWAP2
00002e6f: SUB
00002e70: SWAP1
00002e71: REVERT
00002e72: JUMPDEST
00002e73: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e88: DUP2
00002e89: DUP2
00002e8a: AND
00002e8b: PUSH0
00002e8c: SWAP1
00002e8d: DUP2
00002e8e: MSTORE
00002e8f: PUSH1 0x0b
00002e91: PUSH1 0x20
00002e93: SWAP1
00002e94: DUP2
00002e95: MSTORE
00002e96: PUSH1 0x40
00002e98: DUP1
00002e99: DUP4
00002e9a: KECCAK256
00002e9b: DUP1
00002e9c: SLOAD
00002e9d: SWAP5
00002e9e: DUP8
00002e9f: AND
00002ea0: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00002ec1: SWAP6
00002ec2: DUP7
00002ec3: AND
00002ec4: DUP2
00002ec5: OR
00002ec6: SWAP1
00002ec7: SWAP2
00002ec8: SSTORE
00002ec9: DUP1
00002eca: DUP5
00002ecb: MSTORE
00002ecc: PUSH1 0x0f
00002ece: DUP4
00002ecf: MSTORE
00002ed0: DUP2
00002ed1: DUP5
00002ed2: KECCAK256
00002ed3: DUP1
00002ed4: SLOAD
00002ed5: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00002ef6: AND
00002ef7: PUSH1 0x01
00002ef9: SWAP1
00002efa: DUP2
00002efb: OR
00002efc: SWAP1
00002efd: SWAP2
00002efe: SSTORE
00002eff: PUSH1 0x07
00002f01: DUP1
00002f02: SLOAD
00002f03: SWAP2
00002f04: DUP3
00002f05: ADD
00002f06: DUP2
00002f07: SSTORE
00002f08: SWAP1
00002f09: SWAP5
00002f0a: MSTORE
00002f0b: PUSH32 0xa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688
00002f2c: SWAP1
00002f2d: SWAP4
00002f2e: ADD
00002f2f: DUP1
00002f30: SLOAD
00002f31: SWAP1
00002f32: SWAP5
00002f33: AND
00002f34: DUP4
00002f35: OR
00002f36: SWAP1
00002f37: SWAP4
00002f38: SSTORE
00002f39: SWAP2
00002f3a: MLOAD
00002f3b: SWAP1
00002f3c: DUP2
00002f3d: MSTORE
00002f3e: PUSH32 0xcf583bb0c569eb967f806b11601c4cb93c10310485c67add5f8362c2f212321f
00002f5f: SWAP2
00002f60: ADD
00002f61: PUSH2 0x2133
00002f64: JUMP
00002f65: JUMPDEST
00002f66: PUSH2 0x2f6d
00002f69: PUSH2 0x3015
00002f6c: JUMP
00002f6d: JUMPDEST
00002f6e: PUSH1 0x03
00002f70: DUP1
00002f71: SLOAD
00002f72: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f87: DUP4
00002f88: AND
00002f89: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00002faa: SWAP1
00002fab: SWAP2
00002fac: AND
00002fad: DUP2
00002fae: OR
00002faf: SWAP1
00002fb0: SWAP2
00002fb1: SSTORE
00002fb2: PUSH2 0x2fd0
00002fb5: PUSH1 0x02
00002fb7: SLOAD
00002fb8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002fcd: AND
00002fce: SWAP1
00002fcf: JUMP
00002fd0: JUMPDEST
00002fd1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002fe6: AND
00002fe7: PUSH32 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700
00003008: PUSH1 0x40
0000300a: MLOAD
0000300b: PUSH1 0x40
0000300d: MLOAD
0000300e: DUP1
0000300f: SWAP2
00003010: SUB
00003011: SWAP1
00003012: LOG3
00003013: POP
00003014: JUMP
00003015: JUMPDEST
00003016: PUSH1 0x02
00003018: SLOAD
00003019: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000302e: AND
0000302f: CALLER
00003030: EQ
00003031: PUSH2 0x158d
00003034: JUMPI
00003035: PUSH1 0x40
00003037: MLOAD
00003038: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003059: DUP2
0000305a: MSTORE
0000305b: PUSH1 0x20
0000305d: PUSH1 0x04
0000305f: DUP3
00003060: ADD
00003061: DUP2
00003062: SWAP1
00003063: MSTORE
00003064: PUSH1 0x24
00003066: DUP3
00003067: ADD
00003068: MSTORE
00003069: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
0000308a: PUSH1 0x44
0000308c: DUP3
0000308d: ADD
0000308e: MSTORE
0000308f: PUSH1 0x64
00003091: ADD
00003092: PUSH2 0x186b
00003095: JUMP
00003096: JUMPDEST
00003097: PUSH32 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00
000030b8: TLOAD
000030b9: ISZERO
000030ba: PUSH2 0x30ef
000030bd: JUMPI
000030be: PUSH1 0x40
000030c0: MLOAD
000030c1: PUSH32 0x3ee5aeb500000000000000000000000000000000000000000000000000000000
000030e2: DUP2
000030e3: MSTORE
000030e4: PUSH1 0x04
000030e6: ADD
000030e7: PUSH1 0x40
000030e9: MLOAD
000030ea: DUP1
000030eb: SWAP2
000030ec: SUB
000030ed: SWAP1
000030ee: REVERT
000030ef: JUMPDEST
000030f0: PUSH2 0x158d
000030f3: PUSH32 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00
00003114: PUSH1 0x01
00003116: PUSH2 0x3bbd
00003119: JUMP
0000311a: JUMPDEST
0000311b: TIMESTAMP
0000311c: DUP4
0000311d: PUSH1 0x20
0000311f: ADD
00003120: CALLDATALOAD
00003121: LT
00003122: ISZERO
00003123: PUSH2 0x3158
00003126: JUMPI
00003127: PUSH1 0x40
00003129: MLOAD
0000312a: PUSH32 0xfef01cd200000000000000000000000000000000000000000000000000000000
0000314b: DUP2
0000314c: MSTORE
0000314d: PUSH1 0x04
0000314f: ADD
00003150: PUSH1 0x40
00003152: MLOAD
00003153: DUP1
00003154: SWAP2
00003155: SUB
00003156: SWAP1
00003157: REVERT
00003158: JUMPDEST
00003159: PUSH2 0x3162
0000315c: DUP4
0000315d: CALLDATALOAD
0000315e: PUSH2 0x3bc4
00003161: JUMP
00003162: JUMPDEST
00003163: PUSH0
00003164: PUSH32 0x76c5f3d53a01a9f0a59b081b22aba3a0f03248e9241993e97d1d025ef2ffaac2
00003185: DUP5
00003186: CALLDATALOAD
00003187: PUSH1 0x20
00003189: DUP7
0000318a: ADD
0000318b: CALLDATALOAD
0000318c: PUSH2 0x319b
0000318f: PUSH1 0x60
00003191: DUP9
00003192: ADD
00003193: PUSH1 0x40
00003195: DUP10
00003196: ADD
00003197: PUSH2 0x44e9
0000319a: JUMP
0000319b: JUMPDEST
0000319c: PUSH2 0x31a8
0000319f: PUSH1 0x60
000031a1: DUP10
000031a2: ADD
000031a3: DUP10
000031a4: PUSH2 0x4a81
000031a7: JUMP
000031a8: JUMPDEST
000031a9: PUSH1 0x40
000031ab: MLOAD
000031ac: PUSH1 0x20
000031ae: ADD
000031af: PUSH2 0x31b9
000031b2: SWAP3
000031b3: SWAP2
000031b4: SWAP1
000031b5: PUSH2 0x4fb8
000031b8: JUMP
000031b9: JUMPDEST
000031ba: PUSH1 0x40
000031bc: DUP1
000031bd: MLOAD
000031be: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
000031df: DUP2
000031e0: DUP5
000031e1: SUB
000031e2: ADD
000031e3: DUP2
000031e4: MSTORE
000031e5: SWAP2
000031e6: SWAP1
000031e7: MSTORE
000031e8: DUP1
000031e9: MLOAD
000031ea: PUSH1 0x20
000031ec: SWAP1
000031ed: SWAP2
000031ee: ADD
000031ef: KECCAK256
000031f0: PUSH2 0x31fc
000031f3: PUSH1 0x80
000031f5: DUP11
000031f6: ADD
000031f7: DUP11
000031f8: PUSH2 0x4a81
000031fb: JUMP
000031fc: JUMPDEST
000031fd: PUSH1 0x40
000031ff: MLOAD
00003200: PUSH1 0x20
00003202: ADD
00003203: PUSH2 0x320d
00003206: SWAP3
00003207: SWAP2
00003208: SWAP1
00003209: PUSH2 0x4fb8
0000320c: JUMP
0000320d: JUMPDEST
0000320e: PUSH1 0x40
00003210: DUP1
00003211: MLOAD
00003212: DUP1
00003213: DUP4
00003214: SUB
00003215: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00003236: ADD
00003237: DUP2
00003238: MSTORE
00003239: DUP3
0000323a: DUP3
0000323b: MSTORE
0000323c: DUP1
0000323d: MLOAD
0000323e: PUSH1 0x20
00003240: SWAP2
00003241: DUP3
00003242: ADD
00003243: KECCAK256
00003244: CALLER
00003245: PUSH0
00003246: SWAP1
00003247: DUP2
00003248: MSTORE
00003249: PUSH1 0x15
0000324b: DUP4
0000324c: MSTORE
0000324d: DUP4
0000324e: SWAP1
0000324f: KECCAK256
00003250: SLOAD
00003251: SWAP2
00003252: DUP5
00003253: ADD
00003254: SWAP9
00003255: SWAP1
00003256: SWAP9
00003257: MSTORE
00003258: SWAP1
00003259: DUP3
0000325a: ADD
0000325b: SWAP6
0000325c: SWAP1
0000325d: SWAP6
0000325e: MSTORE
0000325f: PUSH1 0x60
00003261: DUP2
00003262: ADD
00003263: SWAP4
00003264: SWAP1
00003265: SWAP4
00003266: MSTORE
00003267: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000327c: SWAP2
0000327d: DUP3
0000327e: AND
0000327f: PUSH1 0x80
00003281: DUP5
00003282: ADD
00003283: MSTORE
00003284: PUSH1 0xa0
00003286: DUP4
00003287: ADD
00003288: MSTORE
00003289: PUSH1 0xc0
0000328b: DUP3
0000328c: ADD
0000328d: SWAP4
0000328e: SWAP1
0000328f: SWAP4
00003290: MSTORE
00003291: SWAP2
00003292: AND
00003293: PUSH1 0xe0
00003295: DUP3
00003296: ADD
00003297: MSTORE
00003298: PUSH2 0x0100
0000329b: ADD
0000329c: JUMPDEST
0000329d: PUSH1 0x40
0000329f: MLOAD
000032a0: PUSH1 0x20
000032a2: DUP2
000032a3: DUP4
000032a4: SUB
000032a5: SUB
000032a6: DUP2
000032a7: MSTORE
000032a8: SWAP1
000032a9: PUSH1 0x40
000032ab: MSTORE
000032ac: DUP1
000032ad: MLOAD
000032ae: SWAP1
000032af: PUSH1 0x20
000032b1: ADD
000032b2: KECCAK256
000032b3: SWAP1
000032b4: POP
000032b5: PUSH0
000032b6: PUSH2 0x32be
000032b9: DUP3
000032ba: PUSH2 0x3c44
000032bd: JUMP
000032be: JUMPDEST
000032bf: SWAP1
000032c0: POP
000032c1: PUSH0
000032c2: PUSH2 0x3300
000032c5: DUP3
000032c6: DUP7
000032c7: DUP7
000032c8: DUP1
000032c9: DUP1
000032ca: PUSH1 0x1f
000032cc: ADD
000032cd: PUSH1 0x20
000032cf: DUP1
000032d0: SWAP2
000032d1: DIV
000032d2: MUL
000032d3: PUSH1 0x20
000032d5: ADD
000032d6: PUSH1 0x40
000032d8: MLOAD
000032d9: SWAP1
000032da: DUP2
000032db: ADD
000032dc: PUSH1 0x40
000032de: MSTORE
000032df: DUP1
000032e0: SWAP4
000032e1: SWAP3
000032e2: SWAP2
000032e3: SWAP1
000032e4: DUP2
000032e5: DUP2
000032e6: MSTORE
000032e7: PUSH1 0x20
000032e9: ADD
000032ea: DUP4
000032eb: DUP4
000032ec: DUP1
000032ed: DUP3
000032ee: DUP5
000032ef: CALLDATACOPY
000032f0: PUSH0
000032f1: SWAP3
000032f2: ADD
000032f3: SWAP2
000032f4: SWAP1
000032f5: SWAP2
000032f6: MSTORE
000032f7: POP
000032f8: PUSH2 0x3c8b
000032fb: SWAP3
000032fc: POP
000032fd: POP
000032fe: POP
000032ff: JUMP
00003300: JUMPDEST
00003301: PUSH1 0x05
00003303: SLOAD
00003304: SWAP1
00003305: SWAP2
00003306: POP
00003307: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000331c: DUP1
0000331d: DUP4
0000331e: AND
0000331f: SWAP2
00003320: AND
00003321: EQ
00003322: PUSH2 0x3357
00003325: JUMPI
00003326: PUSH1 0x40
00003328: MLOAD
00003329: PUSH32 0x8baa579f00000000000000000000000000000000000000000000000000000000
0000334a: DUP2
0000334b: MSTORE
0000334c: PUSH1 0x04
0000334e: ADD
0000334f: PUSH1 0x40
00003351: MLOAD
00003352: DUP1
00003353: SWAP2
00003354: SUB
00003355: SWAP1
00003356: REVERT
00003357: JUMPDEST
00003358: POP
00003359: POP
0000335a: POP
0000335b: POP
0000335c: POP
0000335d: POP
0000335e: JUMP
0000335f: JUMPDEST
00003360: DUP2
00003361: MLOAD
00003362: PUSH0
00003363: JUMPDEST
00003364: DUP2
00003365: DUP2
00003366: LT
00003367: ISZERO
00003368: PUSH2 0x0fa6
0000336b: JUMPI
0000336c: PUSH0
0000336d: DUP5
0000336e: DUP3
0000336f: DUP2
00003370: MLOAD
00003371: DUP2
00003372: LT
00003373: PUSH2 0x337e
00003376: JUMPI
00003377: PUSH2 0x337e
0000337a: PUSH2 0x4b62
0000337d: JUMP
0000337e: JUMPDEST
0000337f: PUSH1 0x20
00003381: MUL
00003382: PUSH1 0x20
00003384: ADD
00003385: ADD
00003386: MLOAD
00003387: PUSH0
00003388: ADD
00003389: MLOAD
0000338a: SWAP1
0000338b: POP
0000338c: PUSH0
0000338d: DUP6
0000338e: DUP4
0000338f: DUP2
00003390: MLOAD
00003391: DUP2
00003392: LT
00003393: PUSH2 0x339e
00003396: JUMPI
00003397: PUSH2 0x339e
0000339a: PUSH2 0x4b62
0000339d: JUMP
0000339e: JUMPDEST
0000339f: PUSH1 0x20
000033a1: SWAP1
000033a2: DUP2
000033a3: MUL
000033a4: SWAP2
000033a5: SWAP1
000033a6: SWAP2
000033a7: ADD
000033a8: DUP2
000033a9: ADD
000033aa: MLOAD
000033ab: DUP2
000033ac: ADD
000033ad: MLOAD
000033ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000033c3: DUP1
000033c4: DUP9
000033c5: AND
000033c6: PUSH0
000033c7: SWAP1
000033c8: DUP2
000033c9: MSTORE
000033ca: PUSH1 0x0d
000033cc: DUP5
000033cd: MSTORE
000033ce: PUSH1 0x40
000033d0: DUP1
000033d1: DUP3
000033d2: KECCAK256
000033d3: SWAP3
000033d4: DUP8
000033d5: AND
000033d6: DUP3
000033d7: MSTORE
000033d8: SWAP2
000033d9: SWAP1
000033da: SWAP4
000033db: MSTORE
000033dc: DUP3
000033dd: KECCAK256
000033de: SLOAD
000033df: SWAP1
000033e0: SWAP3
000033e1: POP
000033e2: PUSH2 0x33ec
000033e5: SWAP1
000033e6: DUP4
000033e7: SWAP1
000033e8: PUSH2 0x4cd9
000033eb: JUMP
000033ec: JUMPDEST
000033ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003402: DUP5
00003403: DUP2
00003404: AND
00003405: PUSH0
00003406: SWAP1
00003407: DUP2
00003408: MSTORE
00003409: PUSH1 0x0b
0000340b: PUSH1 0x20
0000340d: MSTORE
0000340e: PUSH1 0x40
00003410: SWAP1
00003411: KECCAK256
00003412: SLOAD
00003413: SWAP2
00003414: SWAP3
00003415: POP
00003416: AND
00003417: PUSH2 0x344c
0000341a: JUMPI
0000341b: PUSH1 0x40
0000341d: MLOAD
0000341e: PUSH32 0xf418616400000000000000000000000000000000000000000000000000000000
0000343f: DUP2
00003440: MSTORE
00003441: PUSH1 0x04
00003443: ADD
00003444: PUSH1 0x40
00003446: MLOAD
00003447: DUP1
00003448: SWAP2
00003449: SUB
0000344a: SWAP1
0000344b: REVERT
0000344c: JUMPDEST
0000344d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003462: DUP1
00003463: DUP8
00003464: AND
00003465: PUSH0
00003466: SWAP1
00003467: DUP2
00003468: MSTORE
00003469: PUSH1 0x0d
0000346b: PUSH1 0x20
0000346d: SWAP1
0000346e: DUP2
0000346f: MSTORE
00003470: PUSH1 0x40
00003472: DUP1
00003473: DUP4
00003474: KECCAK256
00003475: SWAP4
00003476: DUP8
00003477: AND
00003478: DUP4
00003479: MSTORE
0000347a: SWAP3
0000347b: SWAP1
0000347c: MSTORE
0000347d: SWAP1
0000347e: DUP2
0000347f: KECCAK256
00003480: SLOAD
00003481: PUSH2 0x348b
00003484: SWAP1
00003485: DUP5
00003486: SWAP1
00003487: PUSH2 0x4fcb
0000348a: JUMP
0000348b: JUMPDEST
0000348c: SLT
0000348d: ISZERO
0000348e: DUP1
0000348f: PUSH2 0x34d4
00003492: JUMPI
00003493: POP
00003494: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000034a9: DUP1
000034aa: DUP8
000034ab: AND
000034ac: PUSH0
000034ad: SWAP1
000034ae: DUP2
000034af: MSTORE
000034b0: PUSH1 0x0d
000034b2: PUSH1 0x20
000034b4: SWAP1
000034b5: DUP2
000034b6: MSTORE
000034b7: PUSH1 0x40
000034b9: DUP1
000034ba: DUP4
000034bb: KECCAK256
000034bc: SWAP4
000034bd: DUP8
000034be: AND
000034bf: DUP4
000034c0: MSTORE
000034c1: SWAP3
000034c2: SWAP1
000034c3: MSTORE
000034c4: SWAP1
000034c5: DUP2
000034c6: KECCAK256
000034c7: SLOAD
000034c8: PUSH2 0x34d2
000034cb: SWAP1
000034cc: DUP4
000034cd: SWAP1
000034ce: PUSH2 0x4fcb
000034d1: JUMP
000034d2: JUMPDEST
000034d3: SLT
000034d4: JUMPDEST
000034d5: ISZERO
000034d6: PUSH2 0x350b
000034d9: JUMPI
000034da: PUSH1 0x40
000034dc: MLOAD
000034dd: PUSH32 0x09a09f7500000000000000000000000000000000000000000000000000000000
000034fe: DUP2
000034ff: MSTORE
00003500: PUSH1 0x04
00003502: ADD
00003503: PUSH1 0x40
00003505: MLOAD
00003506: DUP1
00003507: SWAP2
00003508: SUB
00003509: SWAP1
0000350a: REVERT
0000350b: JUMPDEST
0000350c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003521: DUP1
00003522: DUP8
00003523: AND
00003524: PUSH0
00003525: SWAP1
00003526: DUP2
00003527: MSTORE
00003528: PUSH1 0x0d
0000352a: PUSH1 0x20
0000352c: SWAP1
0000352d: DUP2
0000352e: MSTORE
0000352f: PUSH1 0x40
00003531: DUP1
00003532: DUP4
00003533: KECCAK256
00003534: SWAP7
00003535: SWAP1
00003536: SWAP4
00003537: AND
00003538: DUP3
00003539: MSTORE
0000353a: SWAP5
0000353b: SWAP1
0000353c: SWAP5
0000353d: MSTORE
0000353e: SWAP1
0000353f: SWAP3
00003540: KECCAK256
00003541: SWAP2
00003542: SWAP1
00003543: SWAP2
00003544: SSTORE
00003545: POP
00003546: PUSH1 0x01
00003548: ADD
00003549: PUSH2 0x3363
0000354c: JUMP
0000354d: JUMPDEST
0000354e: PUSH0
0000354f: PUSH0
00003550: DUP3
00003551: SLT
00003552: ISZERO
00003553: PUSH2 0x35b8
00003556: JUMPI
00003557: PUSH1 0x40
00003559: MLOAD
0000355a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000357b: DUP2
0000357c: MSTORE
0000357d: PUSH1 0x20
0000357f: PUSH1 0x04
00003581: DUP3
00003582: ADD
00003583: DUP2
00003584: SWAP1
00003585: MSTORE
00003586: PUSH1 0x24
00003588: DUP3
00003589: ADD
0000358a: MSTORE
0000358b: PUSH32 0x53616665436173743a2076616c7565206d75737420626520706f736974697665
000035ac: PUSH1 0x44
000035ae: DUP3
000035af: ADD
000035b0: MSTORE
000035b1: PUSH1 0x64
000035b3: ADD
000035b4: PUSH2 0x186b
000035b7: JUMP
000035b8: JUMPDEST
000035b9: POP
000035ba: SWAP1
000035bb: JUMP
000035bc: JUMPDEST
000035bd: PUSH1 0x40
000035bf: MLOAD
000035c0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000035d5: DUP1
000035d6: DUP6
000035d7: AND
000035d8: PUSH1 0x24
000035da: DUP4
000035db: ADD
000035dc: MSTORE
000035dd: DUP4
000035de: AND
000035df: PUSH1 0x44
000035e1: DUP3
000035e2: ADD
000035e3: MSTORE
000035e4: PUSH1 0x64
000035e6: DUP2
000035e7: ADD
000035e8: DUP3
000035e9: SWAP1
000035ea: MSTORE
000035eb: PUSH2 0x0fa6
000035ee: SWAP1
000035ef: DUP6
000035f0: SWAP1
000035f1: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000
00003612: SWAP1
00003613: PUSH1 0x84
00003615: ADD
00003616: JUMPDEST
00003617: PUSH1 0x40
00003619: DUP1
0000361a: MLOAD
0000361b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
0000363c: DUP2
0000363d: DUP5
0000363e: SUB
0000363f: ADD
00003640: DUP2
00003641: MSTORE
00003642: SWAP2
00003643: SWAP1
00003644: MSTORE
00003645: PUSH1 0x20
00003647: DUP2
00003648: ADD
00003649: DUP1
0000364a: MLOAD
0000364b: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003668: AND
00003669: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
0000368a: SWAP1
0000368b: SWAP4
0000368c: AND
0000368d: SWAP3
0000368e: SWAP1
0000368f: SWAP3
00003690: OR
00003691: SWAP1
00003692: SWAP2
00003693: MSTORE
00003694: PUSH2 0x3cad
00003697: JUMP
00003698: JUMPDEST
00003699: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000036ae: DUP1
000036af: DUP5
000036b0: AND
000036b1: PUSH0
000036b2: SWAP1
000036b3: DUP2
000036b4: MSTORE
000036b5: PUSH1 0x16
000036b7: PUSH1 0x20
000036b9: SWAP1
000036ba: DUP2
000036bb: MSTORE
000036bc: PUSH1 0x40
000036be: DUP1
000036bf: DUP4
000036c0: KECCAK256
000036c1: SWAP4
000036c2: DUP7
000036c3: AND
000036c4: DUP4
000036c5: MSTORE
000036c6: SWAP3
000036c7: SWAP1
000036c8: MSTORE
000036c9: SWAP1
000036ca: DUP2
000036cb: KECCAK256
000036cc: SWAP1
000036cd: PUSH2 0x36d9
000036d0: PUSH3 0x015180
000036d4: TIMESTAMP
000036d5: PUSH2 0x4a49
000036d8: JUMP
000036d9: JUMPDEST
000036da: SWAP1
000036db: POP
000036dc: PUSH0
000036dd: DUP3
000036de: PUSH1 0x02
000036e0: ADD
000036e1: SLOAD
000036e2: DUP3
000036e3: GT
000036e4: ISZERO
000036e5: PUSH2 0x36ef
000036e8: JUMPI
000036e9: POP
000036ea: DUP3
000036eb: PUSH2 0x3702
000036ee: JUMP
000036ef: JUMPDEST
000036f0: DUP4
000036f1: DUP4
000036f2: PUSH1 0x01
000036f4: ADD
000036f5: SLOAD
000036f6: PUSH2 0x36ff
000036f9: SWAP2
000036fa: SWAP1
000036fb: PUSH2 0x4df3
000036fe: JUMP
000036ff: JUMPDEST
00003700: SWAP1
00003701: POP
00003702: JUMPDEST
00003703: DUP3
00003704: SLOAD
00003705: ISZERO
00003706: DUP1
00003707: PUSH2 0x3711
0000370a: JUMPI
0000370b: POP
0000370c: DUP3
0000370d: SLOAD
0000370e: DUP2
0000370f: GT
00003710: ISZERO
00003711: JUMPDEST
00003712: PUSH2 0x3747
00003715: JUMPI
00003716: PUSH1 0x40
00003718: MLOAD
00003719: PUSH32 0xf5b71ffc00000000000000000000000000000000000000000000000000000000
0000373a: DUP2
0000373b: MSTORE
0000373c: PUSH1 0x04
0000373e: ADD
0000373f: PUSH1 0x40
00003741: MLOAD
00003742: DUP1
00003743: SWAP2
00003744: SUB
00003745: SWAP1
00003746: REVERT
00003747: JUMPDEST
00003748: PUSH1 0x40
0000374a: DUP1
0000374b: MLOAD
0000374c: PUSH1 0x60
0000374e: DUP2
0000374f: ADD
00003750: DUP3
00003751: MSTORE
00003752: SWAP4
00003753: SLOAD
00003754: DUP5
00003755: MSTORE
00003756: PUSH1 0x20
00003758: DUP1
00003759: DUP6
0000375a: ADD
0000375b: SWAP3
0000375c: DUP4
0000375d: MSTORE
0000375e: DUP5
0000375f: DUP3
00003760: ADD
00003761: SWAP4
00003762: DUP5
00003763: MSTORE
00003764: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003779: SWAP8
0000377a: DUP9
0000377b: AND
0000377c: PUSH0
0000377d: SWAP1
0000377e: DUP2
0000377f: MSTORE
00003780: PUSH1 0x16
00003782: DUP3
00003783: MSTORE
00003784: DUP3
00003785: DUP2
00003786: KECCAK256
00003787: SWAP8
00003788: SWAP1
00003789: SWAP9
0000378a: AND
0000378b: DUP9
0000378c: MSTORE
0000378d: SWAP6
0000378e: SWAP1
0000378f: SWAP6
00003790: MSTORE
00003791: SWAP4
00003792: SWAP1
00003793: SWAP5
00003794: KECCAK256
00003795: SWAP1
00003796: MLOAD
00003797: DUP2
00003798: SSTORE
00003799: SWAP2
0000379a: MLOAD
0000379b: PUSH1 0x01
0000379d: DUP4
0000379e: ADD
0000379f: SSTORE
000037a0: POP
000037a1: SWAP1
000037a2: MLOAD
000037a3: PUSH1 0x02
000037a5: SWAP1
000037a6: SWAP2
000037a7: ADD
000037a8: SSTORE
000037a9: JUMP
000037aa: JUMPDEST
000037ab: PUSH1 0x40
000037ad: MLOAD
000037ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000037c3: DUP4
000037c4: AND
000037c5: PUSH1 0x24
000037c7: DUP3
000037c8: ADD
000037c9: MSTORE
000037ca: PUSH1 0x44
000037cc: DUP2
000037cd: ADD
000037ce: DUP3
000037cf: SWAP1
000037d0: MSTORE
000037d1: PUSH2 0x0e96
000037d4: SWAP1
000037d5: DUP5
000037d6: SWAP1
000037d7: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
000037f8: SWAP1
000037f9: PUSH1 0x64
000037fb: ADD
000037fc: PUSH2 0x3616
000037ff: JUMP
00003800: JUMPDEST
00003801: PUSH2 0x158d
00003804: PUSH32 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00
00003825: PUSH0
00003826: PUSH2 0x3bbd
00003829: JUMP
0000382a: JUMPDEST
0000382b: PUSH1 0x40
0000382d: MLOAD
0000382e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003843: DUP4
00003844: AND
00003845: PUSH1 0x24
00003847: DUP3
00003848: ADD
00003849: MSTORE
0000384a: PUSH1 0x44
0000384c: DUP2
0000384d: ADD
0000384e: DUP3
0000384f: SWAP1
00003850: MSTORE
00003851: PUSH2 0x0e96
00003854: SWAP1
00003855: DUP5
00003856: SWAP1
00003857: PUSH32 0x095ea7b300000000000000000000000000000000000000000000000000000000
00003878: SWAP1
00003879: PUSH1 0x64
0000387b: ADD
0000387c: PUSH2 0x3616
0000387f: JUMP
00003880: JUMPDEST
00003881: TIMESTAMP
00003882: DUP4
00003883: PUSH1 0x20
00003885: ADD
00003886: CALLDATALOAD
00003887: LT
00003888: ISZERO
00003889: PUSH2 0x38be
0000388c: JUMPI
0000388d: PUSH1 0x40
0000388f: MLOAD
00003890: PUSH32 0xfef01cd200000000000000000000000000000000000000000000000000000000
000038b1: DUP2
000038b2: MSTORE
000038b3: PUSH1 0x04
000038b5: ADD
000038b6: PUSH1 0x40
000038b8: MLOAD
000038b9: DUP1
000038ba: SWAP2
000038bb: SUB
000038bc: SWAP1
000038bd: REVERT
000038be: JUMPDEST
000038bf: PUSH2 0x38c8
000038c2: DUP4
000038c3: CALLDATALOAD
000038c4: PUSH2 0x3bc4
000038c7: JUMP
000038c8: JUMPDEST
000038c9: PUSH0
000038ca: PUSH32 0x6b9aa5f8de278806afcc63bb2d2e633b4da3536375ca60f09ae8fae5829b3c46
000038eb: DUP5
000038ec: CALLDATALOAD
000038ed: PUSH1 0x20
000038ef: DUP7
000038f0: ADD
000038f1: CALLDATALOAD
000038f2: PUSH2 0x3901
000038f5: PUSH1 0x60
000038f7: DUP9
000038f8: ADD
000038f9: PUSH1 0x40
000038fb: DUP10
000038fc: ADD
000038fd: PUSH2 0x44e9
00003900: JUMP
00003901: JUMPDEST
00003902: PUSH2 0x390e
00003905: PUSH1 0x60
00003907: DUP10
00003908: ADD
00003909: DUP10
0000390a: PUSH2 0x4a81
0000390d: JUMP
0000390e: JUMPDEST
0000390f: PUSH1 0x40
00003911: MLOAD
00003912: PUSH1 0x20
00003914: ADD
00003915: PUSH2 0x391f
00003918: SWAP3
00003919: SWAP2
0000391a: SWAP1
0000391b: PUSH2 0x4fb8
0000391e: JUMP
0000391f: JUMPDEST
00003920: PUSH1 0x40
00003922: MLOAD
00003923: PUSH1 0x20
00003925: DUP2
00003926: DUP4
00003927: SUB
00003928: SUB
00003929: DUP2
0000392a: MSTORE
0000392b: SWAP1
0000392c: PUSH1 0x40
0000392e: MSTORE
0000392f: DUP1
00003930: MLOAD
00003931: SWAP1
00003932: PUSH1 0x20
00003934: ADD
00003935: KECCAK256
00003936: PUSH1 0x12
00003938: PUSH0
00003939: DUP11
0000393a: PUSH1 0x40
0000393c: ADD
0000393d: PUSH1 0x20
0000393f: DUP2
00003940: ADD
00003941: SWAP1
00003942: PUSH2 0x394b
00003945: SWAP2
00003946: SWAP1
00003947: PUSH2 0x44e9
0000394a: JUMP
0000394b: JUMPDEST
0000394c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003961: SWAP1
00003962: DUP2
00003963: AND
00003964: DUP3
00003965: MSTORE
00003966: PUSH1 0x20
00003968: DUP1
00003969: DUP4
0000396a: ADD
0000396b: SWAP4
0000396c: SWAP1
0000396d: SWAP4
0000396e: MSTORE
0000396f: PUSH1 0x40
00003971: SWAP2
00003972: DUP3
00003973: ADD
00003974: PUSH0
00003975: KECCAK256
00003976: SLOAD
00003977: DUP3
00003978: MLOAD
00003979: SWAP4
0000397a: DUP5
0000397b: ADD
0000397c: SWAP9
0000397d: SWAP1
0000397e: SWAP9
0000397f: MSTORE
00003980: SWAP1
00003981: DUP3
00003982: ADD
00003983: SWAP6
00003984: SWAP1
00003985: SWAP6
00003986: MSTORE
00003987: PUSH1 0x60
00003989: DUP2
0000398a: ADD
0000398b: SWAP4
0000398c: SWAP1
0000398d: SWAP4
0000398e: MSTORE
0000398f: SWAP1
00003990: DUP4
00003991: AND
00003992: PUSH1 0x80
00003994: DUP4
00003995: ADD
00003996: MSTORE
00003997: PUSH1 0xa0
00003999: DUP3
0000399a: ADD
0000399b: MSTORE
0000399c: SWAP2
0000399d: AND
0000399e: PUSH1 0xc0
000039a0: DUP3
000039a1: ADD
000039a2: MSTORE
000039a3: PUSH1 0xe0
000039a5: ADD
000039a6: PUSH2 0x329c
000039a9: JUMP
000039aa: JUMPDEST
000039ab: PUSH1 0x03
000039ad: DUP1
000039ae: SLOAD
000039af: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
000039d0: AND
000039d1: SWAP1
000039d2: SSTORE
000039d3: PUSH2 0x187d
000039d6: DUP2
000039d7: PUSH2 0x3dba
000039da: JUMP
000039db: JUMPDEST
000039dc: PUSH1 0x60
000039de: PUSH1 0xff
000039e0: DUP4
000039e1: EQ
000039e2: PUSH2 0x39f5
000039e5: JUMPI
000039e6: PUSH2 0x39ee
000039e9: DUP4
000039ea: PUSH2 0x3e30
000039ed: JUMP
000039ee: JUMPDEST
000039ef: SWAP1
000039f0: POP
000039f1: PUSH2 0x3a80
000039f4: JUMP
000039f5: JUMPDEST
000039f6: DUP2
000039f7: DUP1
000039f8: SLOAD
000039f9: PUSH2 0x3a01
000039fc: SWAP1
000039fd: PUSH2 0x5016
00003a00: JUMP
00003a01: JUMPDEST
00003a02: DUP1
00003a03: PUSH1 0x1f
00003a05: ADD
00003a06: PUSH1 0x20
00003a08: DUP1
00003a09: SWAP2
00003a0a: DIV
00003a0b: MUL
00003a0c: PUSH1 0x20
00003a0e: ADD
00003a0f: PUSH1 0x40
00003a11: MLOAD
00003a12: SWAP1
00003a13: DUP2
00003a14: ADD
00003a15: PUSH1 0x40
00003a17: MSTORE
00003a18: DUP1
00003a19: SWAP3
00003a1a: SWAP2
00003a1b: SWAP1
00003a1c: DUP2
00003a1d: DUP2
00003a1e: MSTORE
00003a1f: PUSH1 0x20
00003a21: ADD
00003a22: DUP3
00003a23: DUP1
00003a24: SLOAD
00003a25: PUSH2 0x3a2d
00003a28: SWAP1
00003a29: PUSH2 0x5016
00003a2c: JUMP
00003a2d: JUMPDEST
00003a2e: DUP1
00003a2f: ISZERO
00003a30: PUSH2 0x3a78
00003a33: JUMPI
00003a34: DUP1
00003a35: PUSH1 0x1f
00003a37: LT
00003a38: PUSH2 0x3a4f
00003a3b: JUMPI
00003a3c: PUSH2 0x0100
00003a3f: DUP1
00003a40: DUP4
00003a41: SLOAD
00003a42: DIV
00003a43: MUL
00003a44: DUP4
00003a45: MSTORE
00003a46: SWAP2
00003a47: PUSH1 0x20
00003a49: ADD
00003a4a: SWAP2
00003a4b: PUSH2 0x3a78
00003a4e: JUMP
00003a4f: JUMPDEST
00003a50: DUP3
00003a51: ADD
00003a52: SWAP2
00003a53: SWAP1
00003a54: PUSH0
00003a55: MSTORE
00003a56: PUSH1 0x20
00003a58: PUSH0
00003a59: KECCAK256
00003a5a: SWAP1
00003a5b: JUMPDEST
00003a5c: DUP2
00003a5d: SLOAD
00003a5e: DUP2
00003a5f: MSTORE
00003a60: SWAP1
00003a61: PUSH1 0x01
00003a63: ADD
00003a64: SWAP1
00003a65: PUSH1 0x20
00003a67: ADD
00003a68: DUP1
00003a69: DUP4
00003a6a: GT
00003a6b: PUSH2 0x3a5b
00003a6e: JUMPI
00003a6f: DUP3
00003a70: SWAP1
00003a71: SUB
00003a72: PUSH1 0x1f
00003a74: AND
00003a75: DUP3
00003a76: ADD
00003a77: SWAP2
00003a78: JUMPDEST
00003a79: POP
00003a7a: POP
00003a7b: POP
00003a7c: POP
00003a7d: POP
00003a7e: SWAP1
00003a7f: POP
00003a80: JUMPDEST
00003a81: SWAP3
00003a82: SWAP2
00003a83: POP
00003a84: POP
00003a85: JUMP
00003a86: JUMPDEST
00003a87: PUSH0
00003a88: PUSH32 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003aa9: DUP3
00003aaa: GT
00003aab: ISZERO
00003aac: PUSH2 0x35b8
00003aaf: JUMPI
00003ab0: PUSH1 0x40
00003ab2: MLOAD
00003ab3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003ad4: DUP2
00003ad5: MSTORE
00003ad6: PUSH1 0x20
00003ad8: PUSH1 0x04
00003ada: DUP3
00003adb: ADD
00003adc: MSTORE
00003add: PUSH1 0x28
00003adf: PUSH1 0x24
00003ae1: DUP3
00003ae2: ADD
00003ae3: MSTORE
00003ae4: PUSH32 0x53616665436173743a2076616c756520646f65736e27742066697420696e2061
00003b05: PUSH1 0x44
00003b07: DUP3
00003b08: ADD
00003b09: MSTORE
00003b0a: PUSH32 0x6e20696e74323536000000000000000000000000000000000000000000000000
00003b2b: PUSH1 0x64
00003b2d: DUP3
00003b2e: ADD
00003b2f: MSTORE
00003b30: PUSH1 0x84
00003b32: ADD
00003b33: PUSH2 0x186b
00003b36: JUMP
00003b37: JUMPDEST
00003b38: TIMESTAMP
00003b39: DUP4
00003b3a: PUSH1 0x20
00003b3c: ADD
00003b3d: CALLDATALOAD
00003b3e: LT
00003b3f: ISZERO
00003b40: PUSH2 0x3b75
00003b43: JUMPI
00003b44: PUSH1 0x40
00003b46: MLOAD
00003b47: PUSH32 0xfef01cd200000000000000000000000000000000000000000000000000000000
00003b68: DUP2
00003b69: MSTORE
00003b6a: PUSH1 0x04
00003b6c: ADD
00003b6d: PUSH1 0x40
00003b6f: MLOAD
00003b70: DUP1
00003b71: SWAP2
00003b72: SUB
00003b73: SWAP1
00003b74: REVERT
00003b75: JUMPDEST
00003b76: PUSH2 0x3b7f
00003b79: DUP4
00003b7a: CALLDATALOAD
00003b7b: PUSH2 0x3bc4
00003b7e: JUMP
00003b7f: JUMPDEST
00003b80: PUSH0
00003b81: PUSH32 0xe83563cdfbb4d31bd8759eea5a634fbe67ea13b6739d04d2426c621fee979fa4
00003ba2: DUP5
00003ba3: CALLDATALOAD
00003ba4: PUSH1 0x20
00003ba6: DUP7
00003ba7: ADD
00003ba8: CALLDATALOAD
00003ba9: PUSH2 0x3901
00003bac: PUSH1 0x60
00003bae: DUP9
00003baf: ADD
00003bb0: PUSH1 0x40
00003bb2: DUP10
00003bb3: ADD
00003bb4: PUSH2 0x44e9
00003bb7: JUMP
00003bb8: JUMPDEST
00003bb9: SWAP1
00003bba: POP
00003bbb: SWAP1
00003bbc: JUMP
00003bbd: JUMPDEST
00003bbe: DUP1
00003bbf: DUP3
00003bc0: TSTORE
00003bc1: POP
00003bc2: POP
00003bc3: JUMP
00003bc4: JUMPDEST
00003bc5: PUSH0
00003bc6: DUP2
00003bc7: DUP2
00003bc8: MSTORE
00003bc9: PUSH1 0x0c
00003bcb: PUSH1 0x20
00003bcd: MSTORE
00003bce: PUSH1 0x40
00003bd0: SWAP1
00003bd1: KECCAK256
00003bd2: SLOAD
00003bd3: PUSH1 0xff
00003bd5: AND
00003bd6: ISZERO
00003bd7: PUSH2 0x3c0c
00003bda: JUMPI
00003bdb: PUSH1 0x40
00003bdd: MLOAD
00003bde: PUSH32 0x1f6d5aef00000000000000000000000000000000000000000000000000000000
00003bff: DUP2
00003c00: MSTORE
00003c01: PUSH1 0x04
00003c03: ADD
00003c04: PUSH1 0x40
00003c06: MLOAD
00003c07: DUP1
00003c08: SWAP2
00003c09: SUB
00003c0a: SWAP1
00003c0b: REVERT
00003c0c: JUMPDEST
00003c0d: PUSH0
00003c0e: SWAP1
00003c0f: DUP2
00003c10: MSTORE
00003c11: PUSH1 0x0c
00003c13: PUSH1 0x20
00003c15: MSTORE
00003c16: PUSH1 0x40
00003c18: SWAP1
00003c19: KECCAK256
00003c1a: DUP1
00003c1b: SLOAD
00003c1c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00003c3d: AND
00003c3e: PUSH1 0x01
00003c40: OR
00003c41: SWAP1
00003c42: SSTORE
00003c43: JUMP
00003c44: JUMPDEST
00003c45: PUSH0
00003c46: PUSH2 0x3a80
00003c49: PUSH2 0x3c50
00003c4c: PUSH2 0x3e6d
00003c4f: JUMP
00003c50: JUMPDEST
00003c51: DUP4
00003c52: PUSH1 0x40
00003c54: MLOAD
00003c55: PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000
00003c76: DUP2
00003c77: MSTORE
00003c78: PUSH1 0x02
00003c7a: DUP2
00003c7b: ADD
00003c7c: SWAP3
00003c7d: SWAP1
00003c7e: SWAP3
00003c7f: MSTORE
00003c80: PUSH1 0x22
00003c82: DUP3
00003c83: ADD
00003c84: MSTORE
00003c85: PUSH1 0x42
00003c87: SWAP1
00003c88: KECCAK256
00003c89: SWAP1
00003c8a: JUMP
00003c8b: JUMPDEST
00003c8c: PUSH0
00003c8d: PUSH0
00003c8e: PUSH0
00003c8f: PUSH2 0x3c98
00003c92: DUP6
00003c93: DUP6
00003c94: PUSH2 0x3fa3
00003c97: JUMP
00003c98: JUMPDEST
00003c99: SWAP2
00003c9a: POP
00003c9b: SWAP2
00003c9c: POP
00003c9d: PUSH2 0x3ca5
00003ca0: DUP2
00003ca1: PUSH2 0x3fe5
00003ca4: JUMP
00003ca5: JUMPDEST
00003ca6: POP
00003ca7: SWAP4
00003ca8: SWAP3
00003ca9: POP
00003caa: POP
00003cab: POP
00003cac: JUMP
00003cad: JUMPDEST
00003cae: PUSH0
00003caf: PUSH2 0x3d0e
00003cb2: DUP3
00003cb3: PUSH1 0x40
00003cb5: MLOAD
00003cb6: DUP1
00003cb7: PUSH1 0x40
00003cb9: ADD
00003cba: PUSH1 0x40
00003cbc: MSTORE
00003cbd: DUP1
00003cbe: PUSH1 0x20
00003cc0: DUP2
00003cc1: MSTORE
00003cc2: PUSH1 0x20
00003cc4: ADD
00003cc5: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00003ce6: DUP2
00003ce7: MSTORE
00003ce8: POP
00003ce9: DUP6
00003cea: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003cff: AND
00003d00: PUSH2 0x4197
00003d03: SWAP1
00003d04: SWAP3
00003d05: SWAP2
00003d06: SWAP1
00003d07: PUSH4 0xffffffff
00003d0c: AND
00003d0d: JUMP
00003d0e: JUMPDEST
00003d0f: SWAP1
00003d10: POP
00003d11: DUP1
00003d12: MLOAD
00003d13: PUSH0
00003d14: EQ
00003d15: DUP1
00003d16: PUSH2 0x3d2e
00003d19: JUMPI
00003d1a: POP
00003d1b: DUP1
00003d1c: DUP1
00003d1d: PUSH1 0x20
00003d1f: ADD
00003d20: SWAP1
00003d21: MLOAD
00003d22: DUP2
00003d23: ADD
00003d24: SWAP1
00003d25: PUSH2 0x3d2e
00003d28: SWAP2
00003d29: SWAP1
00003d2a: PUSH2 0x5061
00003d2d: JUMP
00003d2e: JUMPDEST
00003d2f: PUSH2 0x0e96
00003d32: JUMPI
00003d33: PUSH1 0x40
00003d35: MLOAD
00003d36: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003d57: DUP2
00003d58: MSTORE
00003d59: PUSH1 0x20
00003d5b: PUSH1 0x04
00003d5d: DUP3
00003d5e: ADD
00003d5f: MSTORE
00003d60: PUSH1 0x2a
00003d62: PUSH1 0x24
00003d64: DUP3
00003d65: ADD
00003d66: MSTORE
00003d67: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
00003d88: PUSH1 0x44
00003d8a: DUP3
00003d8b: ADD
00003d8c: MSTORE
00003d8d: PUSH32 0x6f74207375636365656400000000000000000000000000000000000000000000
00003dae: PUSH1 0x64
00003db0: DUP3
00003db1: ADD
00003db2: MSTORE
00003db3: PUSH1 0x84
00003db5: ADD
00003db6: PUSH2 0x186b
00003db9: JUMP
00003dba: JUMPDEST
00003dbb: PUSH1 0x02
00003dbd: DUP1
00003dbe: SLOAD
00003dbf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003dd4: DUP4
00003dd5: DUP2
00003dd6: AND
00003dd7: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00003df8: DUP4
00003df9: AND
00003dfa: DUP2
00003dfb: OR
00003dfc: SWAP1
00003dfd: SWAP4
00003dfe: SSTORE
00003dff: PUSH1 0x40
00003e01: MLOAD
00003e02: SWAP2
00003e03: AND
00003e04: SWAP2
00003e05: SWAP1
00003e06: DUP3
00003e07: SWAP1
00003e08: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00003e29: SWAP1
00003e2a: PUSH0
00003e2b: SWAP1
00003e2c: LOG3
00003e2d: POP
00003e2e: POP
00003e2f: JUMP
00003e30: JUMPDEST
00003e31: PUSH1 0x60
00003e33: PUSH0
00003e34: PUSH2 0x3e3c
00003e37: DUP4
00003e38: PUSH2 0x41ad
00003e3b: JUMP
00003e3c: JUMPDEST
00003e3d: PUSH1 0x40
00003e3f: DUP1
00003e40: MLOAD
00003e41: PUSH1 0x20
00003e43: DUP1
00003e44: DUP3
00003e45: MSTORE
00003e46: DUP2
00003e47: DUP4
00003e48: ADD
00003e49: SWAP1
00003e4a: SWAP3
00003e4b: MSTORE
00003e4c: SWAP2
00003e4d: SWAP3
00003e4e: POP
00003e4f: PUSH0
00003e50: SWAP2
00003e51: SWAP1
00003e52: PUSH1 0x20
00003e54: DUP3
00003e55: ADD
00003e56: DUP2
00003e57: DUP1
00003e58: CALLDATASIZE
00003e59: DUP4
00003e5a: CALLDATACOPY
00003e5b: POP
00003e5c: POP
00003e5d: POP
00003e5e: SWAP2
00003e5f: DUP3
00003e60: MSTORE
00003e61: POP
00003e62: PUSH1 0x20
00003e64: DUP2
00003e65: ADD
00003e66: SWAP3
00003e67: SWAP1
00003e68: SWAP3
00003e69: MSTORE
00003e6a: POP
00003e6b: SWAP1
00003e6c: JUMP
00003e6d: JUMPDEST
00003e6e: PUSH0
00003e6f: ADDRESS
00003e70: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003e85: PUSH32 0x000000000000000000000000e3d41d19564922c9952f692c5dd0563030f5f2ef
00003ea6: AND
00003ea7: EQ
00003ea8: DUP1
00003ea9: ISZERO
00003eaa: PUSH2 0x3ed2
00003ead: JUMPI
00003eae: POP
00003eaf: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001
00003ed0: CHAINID
00003ed1: EQ
00003ed2: JUMPDEST
00003ed3: ISZERO
00003ed4: PUSH2 0x3efc
00003ed7: JUMPI
00003ed8: POP
00003ed9: PUSH32 0xe0be16eee9239282c6aa211218bd6c70acb346b073f8c9c534be1e19e4ee97e7
00003efa: SWAP1
00003efb: JUMP
00003efc: JUMPDEST
00003efd: PUSH2 0x3bb8
00003f00: PUSH1 0x40
00003f02: DUP1
00003f03: MLOAD
00003f04: PUSH32 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f
00003f25: PUSH1 0x20
00003f27: DUP3
00003f28: ADD
00003f29: MSTORE
00003f2a: PUSH32 0x7d485e7f5909c9fced2f5688fd495e8d13121768f2de07ec12763d84bd75b422
00003f4b: SWAP2
00003f4c: DUP2
00003f4d: ADD
00003f4e: SWAP2
00003f4f: SWAP1
00003f50: SWAP2
00003f51: MSTORE
00003f52: PUSH32 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6
00003f73: PUSH1 0x60
00003f75: DUP3
00003f76: ADD
00003f77: MSTORE
00003f78: CHAINID
00003f79: PUSH1 0x80
00003f7b: DUP3
00003f7c: ADD
00003f7d: MSTORE
00003f7e: ADDRESS
00003f7f: PUSH1 0xa0
00003f81: DUP3
00003f82: ADD
00003f83: MSTORE
00003f84: PUSH0
00003f85: SWAP1
00003f86: PUSH1 0xc0
00003f88: ADD
00003f89: PUSH1 0x40
00003f8b: MLOAD
00003f8c: PUSH1 0x20
00003f8e: DUP2
00003f8f: DUP4
00003f90: SUB
00003f91: SUB
00003f92: DUP2
00003f93: MSTORE
00003f94: SWAP1
00003f95: PUSH1 0x40
00003f97: MSTORE
00003f98: DUP1
00003f99: MLOAD
00003f9a: SWAP1
00003f9b: PUSH1 0x20
00003f9d: ADD
00003f9e: KECCAK256
00003f9f: SWAP1
00003fa0: POP
00003fa1: SWAP1
00003fa2: JUMP
00003fa3: JUMPDEST
00003fa4: PUSH0
00003fa5: PUSH0
00003fa6: DUP3
00003fa7: MLOAD
00003fa8: PUSH1 0x41
00003faa: SUB
00003fab: PUSH2 0x3fd7
00003fae: JUMPI
00003faf: PUSH1 0x20
00003fb1: DUP4
00003fb2: ADD
00003fb3: MLOAD
00003fb4: PUSH1 0x40
00003fb6: DUP5
00003fb7: ADD
00003fb8: MLOAD
00003fb9: PUSH1 0x60
00003fbb: DUP6
00003fbc: ADD
00003fbd: MLOAD
00003fbe: PUSH0
00003fbf: BYTE
00003fc0: PUSH2 0x3fcb
00003fc3: DUP8
00003fc4: DUP3
00003fc5: DUP6
00003fc6: DUP6
00003fc7: PUSH2 0x41ed
00003fca: JUMP
00003fcb: JUMPDEST
00003fcc: SWAP5
00003fcd: POP
00003fce: SWAP5
00003fcf: POP
00003fd0: POP
00003fd1: POP
00003fd2: POP
00003fd3: PUSH2 0x3fde
00003fd6: JUMP
00003fd7: JUMPDEST
00003fd8: POP
00003fd9: PUSH0
00003fda: SWAP1
00003fdb: POP
00003fdc: PUSH1 0x02
00003fde: JUMPDEST
00003fdf: SWAP3
00003fe0: POP
00003fe1: SWAP3
00003fe2: SWAP1
00003fe3: POP
00003fe4: JUMP
00003fe5: JUMPDEST
00003fe6: PUSH0
00003fe7: DUP2
00003fe8: PUSH1 0x04
00003fea: DUP2
00003feb: GT
00003fec: ISZERO
00003fed: PUSH2 0x3ff8
00003ff0: JUMPI
00003ff1: PUSH2 0x3ff8
00003ff4: PUSH2 0x507c
00003ff7: JUMP
00003ff8: JUMPDEST
00003ff9: SUB
00003ffa: PUSH2 0x4000
00003ffd: JUMPI
00003ffe: POP
00003fff: JUMP
00004000: JUMPDEST
00004001: PUSH1 0x01
00004003: DUP2
00004004: PUSH1 0x04
00004006: DUP2
00004007: GT
00004008: ISZERO
00004009: PUSH2 0x4014
0000400c: JUMPI
0000400d: PUSH2 0x4014
00004010: PUSH2 0x507c
00004013: JUMP
00004014: JUMPDEST
00004015: SUB
00004016: PUSH2 0x407b
00004019: JUMPI
0000401a: PUSH1 0x40
0000401c: MLOAD
0000401d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000403e: DUP2
0000403f: MSTORE
00004040: PUSH1 0x20
00004042: PUSH1 0x04
00004044: DUP3
00004045: ADD
00004046: MSTORE
00004047: PUSH1 0x18
00004049: PUSH1 0x24
0000404b: DUP3
0000404c: ADD
0000404d: MSTORE
0000404e: PUSH32 0x45434453413a20696e76616c6964207369676e61747572650000000000000000
0000406f: PUSH1 0x44
00004071: DUP3
00004072: ADD
00004073: MSTORE
00004074: PUSH1 0x64
00004076: ADD
00004077: PUSH2 0x186b
0000407a: JUMP
0000407b: JUMPDEST
0000407c: PUSH1 0x02
0000407e: DUP2
0000407f: PUSH1 0x04
00004081: DUP2
00004082: GT
00004083: ISZERO
00004084: PUSH2 0x408f
00004087: JUMPI
00004088: PUSH2 0x408f
0000408b: PUSH2 0x507c
0000408e: JUMP
0000408f: JUMPDEST
00004090: SUB
00004091: PUSH2 0x40f6
00004094: JUMPI
00004095: PUSH1 0x40
00004097: MLOAD
00004098: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000040b9: DUP2
000040ba: MSTORE
000040bb: PUSH1 0x20
000040bd: PUSH1 0x04
000040bf: DUP3
000040c0: ADD
000040c1: MSTORE
000040c2: PUSH1 0x1f
000040c4: PUSH1 0x24
000040c6: DUP3
000040c7: ADD
000040c8: MSTORE
000040c9: PUSH32 0x45434453413a20696e76616c6964207369676e6174757265206c656e67746800
000040ea: PUSH1 0x44
000040ec: DUP3
000040ed: ADD
000040ee: MSTORE
000040ef: PUSH1 0x64
000040f1: ADD
000040f2: PUSH2 0x186b
000040f5: JUMP
000040f6: JUMPDEST
000040f7: PUSH1 0x03
000040f9: DUP2
000040fa: PUSH1 0x04
000040fc: DUP2
000040fd: GT
000040fe: ISZERO
000040ff: PUSH2 0x410a
00004102: JUMPI
00004103: PUSH2 0x410a
00004106: PUSH2 0x507c
00004109: JUMP
0000410a: JUMPDEST
0000410b: SUB
0000410c: PUSH2 0x187d
0000410f: JUMPI
00004110: PUSH1 0x40
00004112: MLOAD
00004113: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00004134: DUP2
00004135: MSTORE
00004136: PUSH1 0x20
00004138: PUSH1 0x04
0000413a: DUP3
0000413b: ADD
0000413c: MSTORE
0000413d: PUSH1 0x22
0000413f: PUSH1 0x24
00004141: DUP3
00004142: ADD
00004143: MSTORE
00004144: PUSH32 0x45434453413a20696e76616c6964207369676e6174757265202773272076616c
00004165: PUSH1 0x44
00004167: DUP3
00004168: ADD
00004169: MSTORE
0000416a: PUSH32 0x7565000000000000000000000000000000000000000000000000000000000000
0000418b: PUSH1 0x64
0000418d: DUP3
0000418e: ADD
0000418f: MSTORE
00004190: PUSH1 0x84
00004192: ADD
00004193: PUSH2 0x186b
00004196: JUMP
00004197: JUMPDEST
00004198: PUSH1 0x60
0000419a: PUSH2 0x41a5
0000419d: DUP5
0000419e: DUP5
0000419f: PUSH0
000041a0: DUP6
000041a1: PUSH2 0x42d5
000041a4: JUMP
000041a5: JUMPDEST
000041a6: SWAP5
000041a7: SWAP4
000041a8: POP
000041a9: POP
000041aa: POP
000041ab: POP
000041ac: JUMP
000041ad: JUMPDEST
000041ae: PUSH0
000041af: PUSH1 0xff
000041b1: DUP3
000041b2: AND
000041b3: PUSH1 0x1f
000041b5: DUP2
000041b6: GT
000041b7: ISZERO
000041b8: PUSH2 0x3a80
000041bb: JUMPI
000041bc: PUSH1 0x40
000041be: MLOAD
000041bf: PUSH32 0xb3512b0c00000000000000000000000000000000000000000000000000000000
000041e0: DUP2
000041e1: MSTORE
000041e2: PUSH1 0x04
000041e4: ADD
000041e5: PUSH1 0x40
000041e7: MLOAD
000041e8: DUP1
000041e9: SWAP2
000041ea: SUB
000041eb: SWAP1
000041ec: REVERT
000041ed: JUMPDEST
000041ee: PUSH0
000041ef: DUP1
000041f0: PUSH32 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0
00004211: DUP4
00004212: GT
00004213: ISZERO
00004214: PUSH2 0x4222
00004217: JUMPI
00004218: POP
00004219: PUSH0
0000421a: SWAP1
0000421b: POP
0000421c: PUSH1 0x03
0000421e: PUSH2 0x42cc
00004221: JUMP
00004222: JUMPDEST
00004223: PUSH1 0x40
00004225: DUP1
00004226: MLOAD
00004227: PUSH0
00004228: DUP1
00004229: DUP3
0000422a: MSTORE
0000422b: PUSH1 0x20
0000422d: DUP3
0000422e: ADD
0000422f: DUP1
00004230: DUP5
00004231: MSTORE
00004232: DUP10
00004233: SWAP1
00004234: MSTORE
00004235: PUSH1 0xff
00004237: DUP9
00004238: AND
00004239: SWAP3
0000423a: DUP3
0000423b: ADD
0000423c: SWAP3
0000423d: SWAP1
0000423e: SWAP3
0000423f: MSTORE
00004240: PUSH1 0x60
00004242: DUP2
00004243: ADD
00004244: DUP7
00004245: SWAP1
00004246: MSTORE
00004247: PUSH1 0x80
00004249: DUP2
0000424a: ADD
0000424b: DUP6
0000424c: SWAP1
0000424d: MSTORE
0000424e: PUSH1 0x01
00004250: SWAP1
00004251: PUSH1 0xa0
00004253: ADD
00004254: PUSH1 0x20
00004256: PUSH1 0x40
00004258: MLOAD
00004259: PUSH1 0x20
0000425b: DUP2
0000425c: SUB
0000425d: SWAP1
0000425e: DUP1
0000425f: DUP5
00004260: SUB
00004261: SWAP1
00004262: DUP6
00004263: GAS
00004264: STATICCALL
00004265: ISZERO
00004266: DUP1
00004267: ISZERO
00004268: PUSH2 0x4273
0000426b: JUMPI
0000426c: RETURNDATASIZE
0000426d: PUSH0
0000426e: PUSH0
0000426f: RETURNDATACOPY
00004270: RETURNDATASIZE
00004271: PUSH0
00004272: REVERT
00004273: JUMPDEST
00004274: POP
00004275: POP
00004276: PUSH1 0x40
00004278: MLOAD
00004279: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
0000429a: ADD
0000429b: MLOAD
0000429c: SWAP2
0000429d: POP
0000429e: POP
0000429f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000042b4: DUP2
000042b5: AND
000042b6: PUSH2 0x42c6
000042b9: JUMPI
000042ba: PUSH0
000042bb: PUSH1 0x01
000042bd: SWAP3
000042be: POP
000042bf: SWAP3
000042c0: POP
000042c1: POP
000042c2: PUSH2 0x42cc
000042c5: JUMP
000042c6: JUMPDEST
000042c7: SWAP2
000042c8: POP
000042c9: PUSH0
000042ca: SWAP1
000042cb: POP
000042cc: JUMPDEST
000042cd: SWAP5
000042ce: POP
000042cf: SWAP5
000042d0: SWAP3
000042d1: POP
000042d2: POP
000042d3: POP
000042d4: JUMP
000042d5: JUMPDEST
000042d6: PUSH1 0x60
000042d8: DUP3
000042d9: SELFBALANCE
000042da: LT
000042db: ISZERO
000042dc: PUSH2 0x4367
000042df: JUMPI
000042e0: PUSH1 0x40
000042e2: MLOAD
000042e3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00004304: DUP2
00004305: MSTORE
00004306: PUSH1 0x20
00004308: PUSH1 0x04
0000430a: DUP3
0000430b: ADD
0000430c: MSTORE
0000430d: PUSH1 0x26
0000430f: PUSH1 0x24
00004311: DUP3
00004312: ADD
00004313: MSTORE
00004314: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f
00004335: PUSH1 0x44
00004337: DUP3
00004338: ADD
00004339: MSTORE
0000433a: PUSH32 0x722063616c6c0000000000000000000000000000000000000000000000000000
0000435b: PUSH1 0x64
0000435d: DUP3
0000435e: ADD
0000435f: MSTORE
00004360: PUSH1 0x84
00004362: ADD
00004363: PUSH2 0x186b
00004366: JUMP
00004367: JUMPDEST
00004368: PUSH0
00004369: PUSH0
0000436a: DUP7
0000436b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004380: AND
00004381: DUP6
00004382: DUP8
00004383: PUSH1 0x40
00004385: MLOAD
00004386: PUSH2 0x438f
00004389: SWAP2
0000438a: SWAP1
0000438b: PUSH2 0x50a9
0000438e: JUMP
0000438f: JUMPDEST
00004390: PUSH0
00004391: PUSH1 0x40
00004393: MLOAD
00004394: DUP1
00004395: DUP4
00004396: SUB
00004397: DUP2
00004398: DUP6
00004399: DUP8
0000439a: GAS
0000439b: CALL
0000439c: SWAP3
0000439d: POP
0000439e: POP
0000439f: POP
000043a0: RETURNDATASIZE
000043a1: DUP1
000043a2: PUSH0
000043a3: DUP2
000043a4: EQ
000043a5: PUSH2 0x43c9
000043a8: JUMPI
000043a9: PUSH1 0x40
000043ab: MLOAD
000043ac: SWAP2
000043ad: POP
000043ae: PUSH1 0x1f
000043b0: NOT
000043b1: PUSH1 0x3f
000043b3: RETURNDATASIZE
000043b4: ADD
000043b5: AND
000043b6: DUP3
000043b7: ADD
000043b8: PUSH1 0x40
000043ba: MSTORE
000043bb: RETURNDATASIZE
000043bc: DUP3
000043bd: MSTORE
000043be: RETURNDATASIZE
000043bf: PUSH0
000043c0: PUSH1 0x20
000043c2: DUP5
000043c3: ADD
000043c4: RETURNDATACOPY
000043c5: PUSH2 0x43ce
000043c8: JUMP
000043c9: JUMPDEST
000043ca: PUSH1 0x60
000043cc: SWAP2
000043cd: POP
000043ce: JUMPDEST
000043cf: POP
000043d0: SWAP2
000043d1: POP
000043d2: SWAP2
000043d3: POP
000043d4: PUSH2 0x43df
000043d7: DUP8
000043d8: DUP4
000043d9: DUP4
000043da: DUP8
000043db: PUSH2 0x43ea
000043de: JUMP
000043df: JUMPDEST
000043e0: SWAP8
000043e1: SWAP7
000043e2: POP
000043e3: POP
000043e4: POP
000043e5: POP
000043e6: POP
000043e7: POP
000043e8: POP
000043e9: JUMP
000043ea: JUMPDEST
000043eb: PUSH1 0x60
000043ed: DUP4
000043ee: ISZERO
000043ef: PUSH2 0x447f
000043f2: JUMPI
000043f3: DUP3
000043f4: MLOAD
000043f5: PUSH0
000043f6: SUB
000043f7: PUSH2 0x4478
000043fa: JUMPI
000043fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004410: DUP6
00004411: AND
00004412: EXTCODESIZE
00004413: PUSH2 0x4478
00004416: JUMPI
00004417: PUSH1 0x40
00004419: MLOAD
0000441a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000443b: DUP2
0000443c: MSTORE
0000443d: PUSH1 0x20
0000443f: PUSH1 0x04
00004441: DUP3
00004442: ADD
00004443: MSTORE
00004444: PUSH1 0x1d
00004446: PUSH1 0x24
00004448: DUP3
00004449: ADD
0000444a: MSTORE
0000444b: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
0000446c: PUSH1 0x44
0000446e: DUP3
0000446f: ADD
00004470: MSTORE
00004471: PUSH1 0x64
00004473: ADD
00004474: PUSH2 0x186b
00004477: JUMP
00004478: JUMPDEST
00004479: POP
0000447a: DUP2
0000447b: PUSH2 0x41a5
0000447e: JUMP
0000447f: JUMPDEST
00004480: PUSH2 0x41a5
00004483: DUP4
00004484: DUP4
00004485: DUP2
00004486: MLOAD
00004487: ISZERO
00004488: PUSH2 0x4494
0000448b: JUMPI
0000448c: DUP2
0000448d: MLOAD
0000448e: DUP1
0000448f: DUP4
00004490: PUSH1 0x20
00004492: ADD
00004493: REVERT
00004494: JUMPDEST
00004495: DUP1
00004496: PUSH1 0x40
00004498: MLOAD
00004499: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000044ba: DUP2
000044bb: MSTORE
000044bc: PUSH1 0x04
000044be: ADD
000044bf: PUSH2 0x186b
000044c2: SWAP2
000044c3: SWAP1
000044c4: PUSH2 0x50bf
000044c7: JUMP
000044c8: JUMPDEST
000044c9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000044de: DUP2
000044df: AND
000044e0: DUP2
000044e1: EQ
000044e2: PUSH2 0x187d
000044e5: JUMPI
000044e6: PUSH0
000044e7: PUSH0
000044e8: REVERT
000044e9: JUMPDEST
000044ea: PUSH0
000044eb: PUSH1 0x20
000044ed: DUP3
000044ee: DUP5
000044ef: SUB
000044f0: SLT
000044f1: ISZERO
000044f2: PUSH2 0x44f9
000044f5: JUMPI
000044f6: PUSH0
000044f7: PUSH0
000044f8: REVERT
000044f9: JUMPDEST
000044fa: DUP2
000044fb: CALLDATALOAD
000044fc: PUSH2 0x4504
000044ff: DUP2
00004500: PUSH2 0x44c8
00004503: JUMP
00004504: JUMPDEST
00004505: SWAP4
00004506: SWAP3
00004507: POP
00004508: POP
00004509: POP
0000450a: JUMP
0000450b: JUMPDEST
0000450c: PUSH0
0000450d: PUSH0
0000450e: PUSH0
0000450f: PUSH1 0x60
00004511: DUP5
00004512: DUP7
00004513: SUB
00004514: SLT
00004515: ISZERO
00004516: PUSH2 0x451d
00004519: JUMPI
0000451a: PUSH0
0000451b: PUSH0
0000451c: REVERT
0000451d: JUMPDEST
0000451e: DUP4
0000451f: CALLDATALOAD
00004520: PUSH2 0x4528
00004523: DUP2
00004524: PUSH2 0x44c8
00004527: JUMP
00004528: JUMPDEST
00004529: SWAP3
0000452a: POP
0000452b: PUSH1 0x20
0000452d: DUP5
0000452e: ADD
0000452f: CALLDATALOAD
00004530: PUSH2 0x4538
00004533: DUP2
00004534: PUSH2 0x44c8
00004537: JUMP
00004538: JUMPDEST
00004539: SWAP3
0000453a: SWAP6
0000453b: SWAP3
0000453c: SWAP5
0000453d: POP
0000453e: POP
0000453f: POP
00004540: PUSH1 0x40
00004542: SWAP2
00004543: SWAP1
00004544: SWAP2
00004545: ADD
00004546: CALLDATALOAD
00004547: SWAP1
00004548: JUMP
00004549: JUMPDEST
0000454a: PUSH0
0000454b: PUSH0
0000454c: DUP4
0000454d: PUSH1 0x1f
0000454f: DUP5
00004550: ADD
00004551: SLT
00004552: PUSH2 0x4559
00004555: JUMPI
00004556: PUSH0
00004557: PUSH0
00004558: REVERT
00004559: JUMPDEST
0000455a: POP
0000455b: DUP2
0000455c: CALLDATALOAD
0000455d: PUSH8 0xffffffffffffffff
00004566: DUP2
00004567: GT
00004568: ISZERO
00004569: PUSH2 0x4570
0000456c: JUMPI
0000456d: PUSH0
0000456e: PUSH0
0000456f: REVERT
00004570: JUMPDEST
00004571: PUSH1 0x20
00004573: DUP4
00004574: ADD
00004575: SWAP2
00004576: POP
00004577: DUP4
00004578: PUSH1 0x20
0000457a: DUP3
0000457b: DUP6
0000457c: ADD
0000457d: ADD
0000457e: GT
0000457f: ISZERO
00004580: PUSH2 0x3fde
00004583: JUMPI
00004584: PUSH0
00004585: PUSH0
00004586: REVERT
00004587: JUMPDEST
00004588: PUSH0
00004589: PUSH0
0000458a: PUSH0
0000458b: PUSH1 0x40
0000458d: DUP5
0000458e: DUP7
0000458f: SUB
00004590: SLT
00004591: ISZERO
00004592: PUSH2 0x4599
00004595: JUMPI
00004596: PUSH0
00004597: PUSH0
00004598: REVERT
00004599: JUMPDEST
0000459a: DUP4
0000459b: CALLDATALOAD
0000459c: PUSH8 0xffffffffffffffff
000045a5: DUP2
000045a6: GT
000045a7: ISZERO
000045a8: PUSH2 0x45af
000045ab: JUMPI
000045ac: PUSH0
000045ad: PUSH0
000045ae: REVERT
000045af: JUMPDEST
000045b0: DUP5
000045b1: ADD
000045b2: PUSH1 0xa0
000045b4: DUP2
000045b5: DUP8
000045b6: SUB
000045b7: SLT
000045b8: ISZERO
000045b9: PUSH2 0x45c0
000045bc: JUMPI
000045bd: PUSH0
000045be: PUSH0
000045bf: REVERT
000045c0: JUMPDEST
000045c1: SWAP3
000045c2: POP
000045c3: PUSH1 0x20
000045c5: DUP5
000045c6: ADD
000045c7: CALLDATALOAD
000045c8: PUSH8 0xffffffffffffffff
000045d1: DUP2
000045d2: GT
000045d3: ISZERO
000045d4: PUSH2 0x45db
000045d7: JUMPI
000045d8: PUSH0
000045d9: PUSH0
000045da: REVERT
000045db: JUMPDEST
000045dc: PUSH2 0x45e7
000045df: DUP7
000045e0: DUP3
000045e1: DUP8
000045e2: ADD
000045e3: PUSH2 0x4549
000045e6: JUMP
000045e7: JUMPDEST
000045e8: SWAP5
000045e9: SWAP8
000045ea: SWAP1
000045eb: SWAP7
000045ec: POP
000045ed: SWAP4
000045ee: SWAP5
000045ef: POP
000045f0: POP
000045f1: POP
000045f2: POP
000045f3: JUMP
000045f4: JUMPDEST
000045f5: PUSH0
000045f6: PUSH1 0x20
000045f8: DUP3
000045f9: DUP5
000045fa: SUB
000045fb: SLT
000045fc: ISZERO
000045fd: PUSH2 0x4604
00004600: JUMPI
00004601: PUSH0
00004602: PUSH0
00004603: REVERT
00004604: JUMPDEST
00004605: POP
00004606: CALLDATALOAD
00004607: SWAP2
00004608: SWAP1
00004609: POP
0000460a: JUMP
0000460b: JUMPDEST
0000460c: PUSH0
0000460d: PUSH0
0000460e: DUP4
0000460f: PUSH1 0x1f
00004611: DUP5
00004612: ADD
00004613: SLT
00004614: PUSH2 0x461b
00004617: JUMPI
00004618: PUSH0
00004619: PUSH0
0000461a: REVERT
0000461b: JUMPDEST
0000461c: POP
0000461d: DUP2
0000461e: CALLDATALOAD
0000461f: PUSH8 0xffffffffffffffff
00004628: DUP2
00004629: GT
0000462a: ISZERO
0000462b: PUSH2 0x4632
0000462e: JUMPI
0000462f: PUSH0
00004630: PUSH0
00004631: REVERT
00004632: JUMPDEST
00004633: PUSH1 0x20
00004635: DUP4
00004636: ADD
00004637: SWAP2
00004638: POP
00004639: DUP4
0000463a: PUSH1 0x20
0000463c: DUP3
0000463d: PUSH1 0x06
0000463f: SHL
00004640: DUP6
00004641: ADD
00004642: ADD
00004643: GT
00004644: ISZERO
00004645: PUSH2 0x3fde
00004648: JUMPI
00004649: PUSH0
0000464a: PUSH0
0000464b: REVERT
0000464c: JUMPDEST
0000464d: PUSH0
0000464e: PUSH0
0000464f: PUSH0
00004650: PUSH1 0x40
00004652: DUP5
00004653: DUP7
00004654: SUB
00004655: SLT
00004656: ISZERO
00004657: PUSH2 0x465e
0000465a: JUMPI
0000465b: PUSH0
0000465c: PUSH0
0000465d: REVERT
0000465e: JUMPDEST
0000465f: DUP4
00004660: CALLDATALOAD
00004661: PUSH8 0xffffffffffffffff
0000466a: DUP2
0000466b: GT
0000466c: ISZERO
0000466d: PUSH2 0x4674
00004670: JUMPI
00004671: PUSH0
00004672: PUSH0
00004673: REVERT
00004674: JUMPDEST
00004675: PUSH2 0x4680
00004678: DUP7
00004679: DUP3
0000467a: DUP8
0000467b: ADD
0000467c: PUSH2 0x460b
0000467f: JUMP
00004680: JUMPDEST
00004681: SWAP1
00004682: SWAP5
00004683: POP
00004684: SWAP3
00004685: POP
00004686: POP
00004687: PUSH1 0x20
00004689: DUP5
0000468a: ADD
0000468b: CALLDATALOAD
0000468c: PUSH2 0x4694
0000468f: DUP2
00004690: PUSH2 0x44c8
00004693: JUMP
00004694: JUMPDEST
00004695: DUP1
00004696: SWAP2
00004697: POP
00004698: POP
00004699: SWAP3
0000469a: POP
0000469b: SWAP3
0000469c: POP
0000469d: SWAP3
0000469e: JUMP
0000469f: JUMPDEST
000046a0: DUP1
000046a1: ISZERO
000046a2: ISZERO
000046a3: DUP2
000046a4: EQ
000046a5: PUSH2 0x187d
000046a8: JUMPI
000046a9: PUSH0
000046aa: PUSH0
000046ab: REVERT
000046ac: JUMPDEST
000046ad: PUSH0
000046ae: PUSH0
000046af: PUSH0
000046b0: PUSH1 0x60
000046b2: DUP5
000046b3: DUP7
000046b4: SUB
000046b5: SLT
000046b6: ISZERO
000046b7: PUSH2 0x46be
000046ba: JUMPI
000046bb: PUSH0
000046bc: PUSH0
000046bd: REVERT
000046be: JUMPDEST
000046bf: DUP4
000046c0: CALLDATALOAD
000046c1: PUSH2 0x46c9
000046c4: DUP2
000046c5: PUSH2 0x44c8
000046c8: JUMP
000046c9: JUMPDEST
000046ca: SWAP3
000046cb: POP
000046cc: PUSH1 0x20
000046ce: DUP5
000046cf: ADD
000046d0: CALLDATALOAD
000046d1: PUSH2 0x46d9
000046d4: DUP2
000046d5: PUSH2 0x44c8
000046d8: JUMP
000046d9: JUMPDEST
000046da: SWAP2
000046db: POP
000046dc: PUSH1 0x40
000046de: DUP5
000046df: ADD
000046e0: CALLDATALOAD
000046e1: PUSH2 0x4694
000046e4: DUP2
000046e5: PUSH2 0x469f
000046e8: JUMP
000046e9: JUMPDEST
000046ea: PUSH0
000046eb: PUSH0
000046ec: PUSH1 0x40
000046ee: DUP4
000046ef: DUP6
000046f0: SUB
000046f1: SLT
000046f2: ISZERO
000046f3: PUSH2 0x46fa
000046f6: JUMPI
000046f7: PUSH0
000046f8: PUSH0
000046f9: REVERT
000046fa: JUMPDEST
000046fb: DUP3
000046fc: CALLDATALOAD
000046fd: PUSH2 0x4705
00004700: DUP2
00004701: PUSH2 0x44c8
00004704: JUMP
00004705: JUMPDEST
00004706: SWAP2
00004707: POP
00004708: PUSH1 0x20
0000470a: DUP4
0000470b: ADD
0000470c: CALLDATALOAD
0000470d: PUSH2 0x4715
00004710: DUP2
00004711: PUSH2 0x44c8
00004714: JUMP
00004715: JUMPDEST
00004716: DUP1
00004717: SWAP2
00004718: POP
00004719: POP
0000471a: SWAP3
0000471b: POP
0000471c: SWAP3
0000471d: SWAP1
0000471e: POP
0000471f: JUMP
00004720: JUMPDEST
00004721: PUSH0
00004722: PUSH1 0x80
00004724: DUP3
00004725: DUP5
00004726: SUB
00004727: SLT
00004728: ISZERO
00004729: PUSH2 0x4730
0000472c: JUMPI
0000472d: PUSH0
0000472e: PUSH0
0000472f: REVERT
00004730: JUMPDEST
00004731: POP
00004732: SWAP2
00004733: SWAP1
00004734: POP
00004735: JUMP
00004736: JUMPDEST
00004737: PUSH0
00004738: PUSH0
00004739: PUSH0
0000473a: PUSH1 0x40
0000473c: DUP5
0000473d: DUP7
0000473e: SUB
0000473f: SLT
00004740: ISZERO
00004741: PUSH2 0x4748
00004744: JUMPI
00004745: PUSH0
00004746: PUSH0
00004747: REVERT
00004748: JUMPDEST
00004749: DUP4
0000474a: CALLDATALOAD
0000474b: PUSH8 0xffffffffffffffff
00004754: DUP2
00004755: GT
00004756: ISZERO
00004757: PUSH2 0x475e
0000475a: JUMPI
0000475b: PUSH0
0000475c: PUSH0
0000475d: REVERT
0000475e: JUMPDEST
0000475f: PUSH2 0x476a
00004762: DUP7
00004763: DUP3
00004764: DUP8
00004765: ADD
00004766: PUSH2 0x4720
00004769: JUMP
0000476a: JUMPDEST
0000476b: SWAP4
0000476c: POP
0000476d: POP
0000476e: PUSH1 0x20
00004770: DUP5
00004771: ADD
00004772: CALLDATALOAD
00004773: PUSH8 0xffffffffffffffff
0000477c: DUP2
0000477d: GT
0000477e: ISZERO
0000477f: PUSH2 0x45db
00004782: JUMPI
00004783: PUSH0
00004784: PUSH0
00004785: REVERT
00004786: JUMPDEST
00004787: PUSH0
00004788: PUSH0
00004789: PUSH0
0000478a: PUSH0
0000478b: PUSH0
0000478c: PUSH1 0xa0
0000478e: DUP7
0000478f: DUP9
00004790: SUB
00004791: SLT
00004792: ISZERO
00004793: PUSH2 0x479a
00004796: JUMPI
00004797: PUSH0
00004798: PUSH0
00004799: REVERT
0000479a: JUMPDEST
0000479b: DUP6
0000479c: CALLDATALOAD
0000479d: PUSH2 0x47a5
000047a0: DUP2
000047a1: PUSH2 0x44c8
000047a4: JUMP
000047a5: JUMPDEST
000047a6: SWAP5
000047a7: POP
000047a8: PUSH1 0x20
000047aa: DUP7
000047ab: ADD
000047ac: CALLDATALOAD
000047ad: PUSH2 0x47b5
000047b0: DUP2
000047b1: PUSH2 0x44c8
000047b4: JUMP
000047b5: JUMPDEST
000047b6: SWAP4
000047b7: POP
000047b8: PUSH1 0x40
000047ba: DUP7
000047bb: ADD
000047bc: CALLDATALOAD
000047bd: SWAP3
000047be: POP
000047bf: PUSH1 0x60
000047c1: DUP7
000047c2: ADD
000047c3: CALLDATALOAD
000047c4: PUSH2 0x47cc
000047c7: DUP2
000047c8: PUSH2 0x44c8
000047cb: JUMP
000047cc: JUMPDEST
000047cd: SWAP5
000047ce: SWAP8
000047cf: SWAP4
000047d0: SWAP7
000047d1: POP
000047d2: SWAP2
000047d3: SWAP5
000047d4: PUSH1 0x80
000047d6: ADD
000047d7: CALLDATALOAD
000047d8: SWAP3
000047d9: SWAP2
000047da: POP
000047db: POP
000047dc: JUMP
000047dd: JUMPDEST
000047de: PUSH0
000047df: DUP2
000047e0: MLOAD
000047e1: DUP1
000047e2: DUP5
000047e3: MSTORE
000047e4: DUP1
000047e5: PUSH1 0x20
000047e7: DUP5
000047e8: ADD
000047e9: PUSH1 0x20
000047eb: DUP7
000047ec: ADD
000047ed: MCOPY
000047ee: PUSH0
000047ef: PUSH1 0x20
000047f1: DUP3
000047f2: DUP7
000047f3: ADD
000047f4: ADD
000047f5: MSTORE
000047f6: PUSH1 0x20
000047f8: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00004819: PUSH1 0x1f
0000481b: DUP4
0000481c: ADD
0000481d: AND
0000481e: DUP6
0000481f: ADD
00004820: ADD
00004821: SWAP2
00004822: POP
00004823: POP
00004824: SWAP3
00004825: SWAP2
00004826: POP
00004827: POP
00004828: JUMP
00004829: JUMPDEST
0000482a: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000
0000484b: DUP9
0000484c: AND
0000484d: DUP2
0000484e: MSTORE
0000484f: PUSH1 0xe0
00004851: PUSH1 0x20
00004853: DUP3
00004854: ADD
00004855: MSTORE
00004856: PUSH0
00004857: PUSH2 0x4863
0000485a: PUSH1 0xe0
0000485c: DUP4
0000485d: ADD
0000485e: DUP10
0000485f: PUSH2 0x47dd
00004862: JUMP
00004863: JUMPDEST
00004864: DUP3
00004865: DUP2
00004866: SUB
00004867: PUSH1 0x40
00004869: DUP5
0000486a: ADD
0000486b: MSTORE
0000486c: PUSH2 0x4875
0000486f: DUP2
00004870: DUP10
00004871: PUSH2 0x47dd
00004874: JUMP
00004875: JUMPDEST
00004876: PUSH1 0x60
00004878: DUP5
00004879: ADD
0000487a: DUP9
0000487b: SWAP1
0000487c: MSTORE
0000487d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004892: DUP8
00004893: AND
00004894: PUSH1 0x80
00004896: DUP6
00004897: ADD
00004898: MSTORE
00004899: PUSH1 0xa0
0000489b: DUP5
0000489c: ADD
0000489d: DUP7
0000489e: SWAP1
0000489f: MSTORE
000048a0: DUP4
000048a1: DUP2
000048a2: SUB
000048a3: PUSH1 0xc0
000048a5: DUP6
000048a6: ADD
000048a7: MSTORE
000048a8: DUP5
000048a9: MLOAD
000048aa: DUP1
000048ab: DUP3
000048ac: MSTORE
000048ad: PUSH1 0x20
000048af: DUP1
000048b0: DUP8
000048b1: ADD
000048b2: SWAP4
000048b3: POP
000048b4: SWAP1
000048b5: SWAP2
000048b6: ADD
000048b7: SWAP1
000048b8: PUSH0
000048b9: JUMPDEST
000048ba: DUP2
000048bb: DUP2
000048bc: LT
000048bd: ISZERO
000048be: PUSH2 0x48d7
000048c1: JUMPI
000048c2: DUP4
000048c3: MLOAD
000048c4: DUP4
000048c5: MSTORE
000048c6: PUSH1 0x20
000048c8: SWAP4
000048c9: DUP5
000048ca: ADD
000048cb: SWAP4
000048cc: SWAP1
000048cd: SWAP3
000048ce: ADD
000048cf: SWAP2
000048d0: PUSH1 0x01
000048d2: ADD
000048d3: PUSH2 0x48b9
000048d6: JUMP
000048d7: JUMPDEST
000048d8: POP
000048d9: SWAP1
000048da: SWAP12
000048db: SWAP11
000048dc: POP
000048dd: POP
000048de: POP
000048df: POP
000048e0: POP
000048e1: POP
000048e2: POP
000048e3: POP
000048e4: POP
000048e5: POP
000048e6: POP
000048e7: JUMP
000048e8: JUMPDEST
000048e9: PUSH0
000048ea: PUSH0
000048eb: PUSH1 0x20
000048ed: DUP4
000048ee: DUP6
000048ef: SUB
000048f0: SLT
000048f1: ISZERO
000048f2: PUSH2 0x48f9
000048f5: JUMPI
000048f6: PUSH0
000048f7: PUSH0
000048f8: REVERT
000048f9: JUMPDEST
000048fa: DUP3
000048fb: CALLDATALOAD
000048fc: PUSH8 0xffffffffffffffff
00004905: DUP2
00004906: GT
00004907: ISZERO
00004908: PUSH2 0x490f
0000490b: JUMPI
0000490c: PUSH0
0000490d: PUSH0
0000490e: REVERT
0000490f: JUMPDEST
00004910: DUP4
00004911: ADD
00004912: PUSH1 0x1f
00004914: DUP2
00004915: ADD
00004916: DUP6
00004917: SGT
00004918: PUSH2 0x491f
0000491b: JUMPI
0000491c: PUSH0
0000491d: PUSH0
0000491e: REVERT
0000491f: JUMPDEST
00004920: DUP1
00004921: CALLDATALOAD
00004922: PUSH8 0xffffffffffffffff
0000492b: DUP2
0000492c: GT
0000492d: ISZERO
0000492e: PUSH2 0x4935
00004931: JUMPI
00004932: PUSH0
00004933: PUSH0
00004934: REVERT
00004935: JUMPDEST
00004936: DUP6
00004937: PUSH1 0x20
00004939: DUP3
0000493a: PUSH1 0x05
0000493c: SHL
0000493d: DUP5
0000493e: ADD
0000493f: ADD
00004940: GT
00004941: ISZERO
00004942: PUSH2 0x4949
00004945: JUMPI
00004946: PUSH0
00004947: PUSH0
00004948: REVERT
00004949: JUMPDEST
0000494a: PUSH1 0x20
0000494c: SWAP2
0000494d: SWAP1
0000494e: SWAP2
0000494f: ADD
00004950: SWAP6
00004951: SWAP1
00004952: SWAP5
00004953: POP
00004954: SWAP3
00004955: POP
00004956: POP
00004957: POP
00004958: JUMP
00004959: JUMPDEST
0000495a: PUSH0
0000495b: PUSH0
0000495c: PUSH1 0x40
0000495e: DUP4
0000495f: DUP6
00004960: SUB
00004961: SLT
00004962: ISZERO
00004963: PUSH2 0x496a
00004966: JUMPI
00004967: PUSH0
00004968: PUSH0
00004969: REVERT
0000496a: JUMPDEST
0000496b: DUP3
0000496c: CALLDATALOAD
0000496d: PUSH2 0x4975
00004970: DUP2
00004971: PUSH2 0x44c8
00004974: JUMP
00004975: JUMPDEST
00004976: SWAP2
00004977: POP
00004978: PUSH1 0x20
0000497a: DUP4
0000497b: ADD
0000497c: CALLDATALOAD
0000497d: PUSH2 0x4715
00004980: DUP2
00004981: PUSH2 0x469f
00004984: JUMP
00004985: JUMPDEST
00004986: PUSH0
00004987: PUSH0
00004988: PUSH0
00004989: PUSH0
0000498a: PUSH0
0000498b: PUSH1 0xa0
0000498d: DUP7
0000498e: DUP9
0000498f: SUB
00004990: SLT
00004991: ISZERO
00004992: PUSH2 0x4999
00004995: JUMPI
00004996: PUSH0
00004997: PUSH0
00004998: REVERT
00004999: JUMPDEST
0000499a: DUP6
0000499b: CALLDATALOAD
0000499c: PUSH2 0x49a4
0000499f: DUP2
000049a0: PUSH2 0x44c8
000049a3: JUMP
000049a4: JUMPDEST
000049a5: SWAP5
000049a6: POP
000049a7: PUSH1 0x20
000049a9: DUP7
000049aa: ADD
000049ab: CALLDATALOAD
000049ac: PUSH2 0x49b4
000049af: DUP2
000049b0: PUSH2 0x44c8
000049b3: JUMP
000049b4: JUMPDEST
000049b5: SWAP4
000049b6: POP
000049b7: PUSH1 0x40
000049b9: DUP7
000049ba: ADD
000049bb: CALLDATALOAD
000049bc: PUSH2 0x49c4
000049bf: DUP2
000049c0: PUSH2 0x44c8
000049c3: JUMP
000049c4: JUMPDEST
000049c5: SWAP3
000049c6: POP
000049c7: PUSH1 0x60
000049c9: DUP7
000049ca: ADD
000049cb: CALLDATALOAD
000049cc: PUSH2 0x49d4
000049cf: DUP2
000049d0: PUSH2 0x469f
000049d3: JUMP
000049d4: JUMPDEST
000049d5: SWAP2
000049d6: POP
000049d7: PUSH1 0x80
000049d9: DUP7
000049da: ADD
000049db: CALLDATALOAD
000049dc: PUSH2 0x49e4
000049df: DUP2
000049e0: PUSH2 0x469f
000049e3: JUMP
000049e4: JUMPDEST
000049e5: DUP1
000049e6: SWAP2
000049e7: POP
000049e8: POP
000049e9: SWAP3
000049ea: SWAP6
000049eb: POP
000049ec: SWAP3
000049ed: SWAP6
000049ee: SWAP1
000049ef: SWAP4
000049f0: POP
000049f1: JUMP
000049f2: JUMPDEST
000049f3: PUSH0
000049f4: PUSH0
000049f5: PUSH1 0x40
000049f7: DUP4
000049f8: DUP6
000049f9: SUB
000049fa: SLT
000049fb: ISZERO
000049fc: PUSH2 0x4a03
000049ff: JUMPI
00004a00: PUSH0
00004a01: PUSH0
00004a02: REVERT
00004a03: JUMPDEST
00004a04: DUP3
00004a05: CALLDATALOAD
00004a06: PUSH2 0x4a0e
00004a09: DUP2
00004a0a: PUSH2 0x44c8
00004a0d: JUMP
00004a0e: JUMPDEST
00004a0f: SWAP5
00004a10: PUSH1 0x20
00004a12: SWAP4
00004a13: SWAP1
00004a14: SWAP4
00004a15: ADD
00004a16: CALLDATALOAD
00004a17: SWAP4
00004a18: POP
00004a19: POP
00004a1a: POP
00004a1b: JUMP
00004a1c: JUMPDEST
00004a1d: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00004a3e: PUSH0
00004a3f: MSTORE
00004a40: PUSH1 0x11
00004a42: PUSH1 0x04
00004a44: MSTORE
00004a45: PUSH1 0x24
00004a47: PUSH0
00004a48: REVERT
00004a49: JUMPDEST
00004a4a: PUSH0
00004a4b: DUP3
00004a4c: PUSH2 0x4a7c
00004a4f: JUMPI
00004a50: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00004a71: PUSH0
00004a72: MSTORE
00004a73: PUSH1 0x12
00004a75: PUSH1 0x04
00004a77: MSTORE
00004a78: PUSH1 0x24
00004a7a: PUSH0
00004a7b: REVERT
00004a7c: JUMPDEST
00004a7d: POP
00004a7e: DIV
00004a7f: SWAP1
00004a80: JUMP
00004a81: JUMPDEST
00004a82: PUSH0
00004a83: PUSH0
00004a84: DUP4
00004a85: CALLDATALOAD
00004a86: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1
00004aa7: DUP5
00004aa8: CALLDATASIZE
00004aa9: SUB
00004aaa: ADD
00004aab: DUP2
00004aac: SLT
00004aad: PUSH2 0x4ab4
00004ab0: JUMPI
00004ab1: PUSH0
00004ab2: PUSH0
00004ab3: REVERT
00004ab4: JUMPDEST
00004ab5: DUP4
00004ab6: ADD
00004ab7: DUP1
00004ab8: CALLDATALOAD
00004ab9: SWAP2
00004aba: POP
00004abb: PUSH8 0xffffffffffffffff
00004ac4: DUP3
00004ac5: GT
00004ac6: ISZERO
00004ac7: PUSH2 0x4ace
00004aca: JUMPI
00004acb: PUSH0
00004acc: PUSH0
00004acd: REVERT
00004ace: JUMPDEST
00004acf: PUSH1 0x20
00004ad1: ADD
00004ad2: SWAP2
00004ad3: POP
00004ad4: PUSH1 0x06
00004ad6: DUP2
00004ad7: SWAP1
00004ad8: SHL
00004ad9: CALLDATASIZE
00004ada: SUB
00004adb: DUP3
00004adc: SGT
00004add: ISZERO
00004ade: PUSH2 0x3fde
00004ae1: JUMPI
00004ae2: PUSH0
00004ae3: PUSH0
00004ae4: REVERT
00004ae5: JUMPDEST
00004ae6: PUSH0
00004ae7: PUSH1 0x40
00004ae9: DUP3
00004aea: DUP5
00004aeb: SUB
00004aec: SLT
00004aed: DUP1
00004aee: ISZERO
00004aef: PUSH2 0x4af6
00004af2: JUMPI
00004af3: PUSH0
00004af4: PUSH0
00004af5: REVERT
00004af6: JUMPDEST
00004af7: POP
00004af8: PUSH1 0x40
00004afa: DUP1
00004afb: MLOAD
00004afc: SWAP1
00004afd: DUP2
00004afe: ADD
00004aff: PUSH8 0xffffffffffffffff
00004b08: DUP2
00004b09: GT
00004b0a: DUP3
00004b0b: DUP3
00004b0c: LT
00004b0d: OR
00004b0e: ISZERO
00004b0f: PUSH2 0x4b3f
00004b12: JUMPI
00004b13: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00004b34: PUSH0
00004b35: MSTORE
00004b36: PUSH1 0x41
00004b38: PUSH1 0x04
00004b3a: MSTORE
00004b3b: PUSH1 0x24
00004b3d: PUSH0
00004b3e: REVERT
00004b3f: JUMPDEST
00004b40: PUSH1 0x40
00004b42: MSTORE
00004b43: DUP3
00004b44: CALLDATALOAD
00004b45: PUSH2 0x4b4d
00004b48: DUP2
00004b49: PUSH2 0x44c8
00004b4c: JUMP
00004b4d: JUMPDEST
00004b4e: DUP2
00004b4f: MSTORE
00004b50: PUSH1 0x20
00004b52: SWAP3
00004b53: DUP4
00004b54: ADD
00004b55: CALLDATALOAD
00004b56: SWAP3
00004b57: DUP2
00004b58: ADD
00004b59: SWAP3
00004b5a: SWAP1
00004b5b: SWAP3
00004b5c: MSTORE
00004b5d: POP
00004b5e: SWAP2
00004b5f: SWAP1
00004b60: POP
00004b61: JUMP
00004b62: JUMPDEST
00004b63: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00004b84: PUSH0
00004b85: MSTORE
00004b86: PUSH1 0x32
00004b88: PUSH1 0x04
00004b8a: MSTORE
00004b8b: PUSH1 0x24
00004b8d: PUSH0
00004b8e: REVERT
00004b8f: JUMPDEST
00004b90: DUP2
00004b91: DUP2
00004b92: SUB
00004b93: DUP2
00004b94: DUP2
00004b95: GT
00004b96: ISZERO
00004b97: PUSH2 0x3a80
00004b9a: JUMPI
00004b9b: PUSH2 0x3a80
00004b9e: PUSH2 0x4a1c
00004ba1: JUMP
00004ba2: JUMPDEST
00004ba3: PUSH0
00004ba4: PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000
00004bc5: DUP3
00004bc6: SUB
00004bc7: PUSH2 0x4bd2
00004bca: JUMPI
00004bcb: PUSH2 0x4bd2
00004bce: PUSH2 0x4a1c
00004bd1: JUMP
00004bd2: JUMPDEST
00004bd3: POP
00004bd4: PUSH0
00004bd5: SUB
00004bd6: SWAP1
00004bd7: JUMP
00004bd8: JUMPDEST
00004bd9: DUP2
00004bda: DUP4
00004bdb: MSTORE
00004bdc: PUSH1 0x20
00004bde: DUP4
00004bdf: ADD
00004be0: SWAP3
00004be1: POP
00004be2: PUSH0
00004be3: DUP2
00004be4: PUSH0
00004be5: JUMPDEST
00004be6: DUP5
00004be7: DUP2
00004be8: LT
00004be9: ISZERO
00004bea: PUSH2 0x4c2c
00004bed: JUMPI
00004bee: DUP2
00004bef: CALLDATALOAD
00004bf0: PUSH2 0x4bf8
00004bf3: DUP2
00004bf4: PUSH2 0x44c8
00004bf7: JUMP
00004bf8: JUMPDEST
00004bf9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004c0e: AND
00004c0f: DUP7
00004c10: MSTORE
00004c11: PUSH1 0x20
00004c13: DUP3
00004c14: DUP2
00004c15: ADD
00004c16: CALLDATALOAD
00004c17: SWAP1
00004c18: DUP8
00004c19: ADD
00004c1a: MSTORE
00004c1b: PUSH1 0x40
00004c1d: SWAP6
00004c1e: DUP7
00004c1f: ADD
00004c20: SWAP6
00004c21: SWAP1
00004c22: SWAP2
00004c23: ADD
00004c24: SWAP1
00004c25: PUSH1 0x01
00004c27: ADD
00004c28: PUSH2 0x4be5
00004c2b: JUMP
00004c2c: JUMPDEST
00004c2d: POP
00004c2e: SWAP4
00004c2f: SWAP5
00004c30: SWAP4
00004c31: POP
00004c32: POP
00004c33: POP
00004c34: POP
00004c35: JUMP
00004c36: JUMPDEST
00004c37: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004c4c: DUP8
00004c4d: AND
00004c4e: DUP2
00004c4f: MSTORE
00004c50: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004c65: DUP7
00004c66: AND
00004c67: PUSH1 0x20
00004c69: DUP3
00004c6a: ADD
00004c6b: MSTORE
00004c6c: PUSH1 0x80
00004c6e: PUSH1 0x40
00004c70: DUP3
00004c71: ADD
00004c72: MSTORE
00004c73: PUSH0
00004c74: PUSH2 0x4c81
00004c77: PUSH1 0x80
00004c79: DUP4
00004c7a: ADD
00004c7b: DUP7
00004c7c: DUP9
00004c7d: PUSH2 0x4bd8
00004c80: JUMP
00004c81: JUMPDEST
00004c82: DUP3
00004c83: DUP2
00004c84: SUB
00004c85: PUSH1 0x60
00004c87: DUP5
00004c88: ADD
00004c89: MSTORE
00004c8a: PUSH2 0x4c94
00004c8d: DUP2
00004c8e: DUP6
00004c8f: DUP8
00004c90: PUSH2 0x4bd8
00004c93: JUMP
00004c94: JUMPDEST
00004c95: SWAP10
00004c96: SWAP9
00004c97: POP
00004c98: POP
00004c99: POP
00004c9a: POP
00004c9b: POP
00004c9c: POP
00004c9d: POP
00004c9e: POP
00004c9f: POP
00004ca0: JUMP
00004ca1: JUMPDEST
00004ca2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004cb7: DUP5
00004cb8: AND
00004cb9: DUP2
00004cba: MSTORE
00004cbb: PUSH1 0x40
00004cbd: PUSH1 0x20
00004cbf: DUP3
00004cc0: ADD
00004cc1: MSTORE
00004cc2: PUSH0
00004cc3: PUSH2 0x4cd0
00004cc6: PUSH1 0x40
00004cc8: DUP4
00004cc9: ADD
00004cca: DUP5
00004ccb: DUP7
00004ccc: PUSH2 0x4bd8
00004ccf: JUMP
00004cd0: JUMPDEST
00004cd1: SWAP6
00004cd2: SWAP5
00004cd3: POP
00004cd4: POP
00004cd5: POP
00004cd6: POP
00004cd7: POP
00004cd8: JUMP
00004cd9: JUMPDEST
00004cda: DUP1
00004cdb: DUP3
00004cdc: ADD
00004cdd: DUP3
00004cde: DUP2
00004cdf: SLT
00004ce0: PUSH0
00004ce1: DUP4
00004ce2: SLT
00004ce3: DUP1
00004ce4: ISZERO
00004ce5: DUP3
00004ce6: AND
00004ce7: DUP3
00004ce8: ISZERO
00004ce9: DUP3
00004cea: AND
00004ceb: OR
00004cec: ISZERO
00004ced: PUSH2 0x4cf8
00004cf0: JUMPI
00004cf1: PUSH2 0x4cf8
00004cf4: PUSH2 0x4a1c
00004cf7: JUMP
00004cf8: JUMPDEST
00004cf9: POP
00004cfa: POP
00004cfb: SWAP3
00004cfc: SWAP2
00004cfd: POP
00004cfe: POP
00004cff: JUMP
00004d00: JUMPDEST
00004d01: DUP2
00004d02: DUP2
00004d03: SUB
00004d04: PUSH0
00004d05: DUP4
00004d06: SLT
00004d07: DUP1
00004d08: ISZERO
00004d09: DUP4
00004d0a: DUP4
00004d0b: SGT
00004d0c: AND
00004d0d: DUP4
00004d0e: DUP4
00004d0f: SLT
00004d10: DUP3
00004d11: AND
00004d12: OR
00004d13: ISZERO
00004d14: PUSH2 0x4d1f
00004d17: JUMPI
00004d18: PUSH2 0x4d1f
00004d1b: PUSH2 0x4a1c
00004d1e: JUMP
00004d1f: JUMPDEST
00004d20: POP
00004d21: SWAP3
00004d22: SWAP2
00004d23: POP
00004d24: POP
00004d25: JUMP
00004d26: JUMPDEST
00004d27: PUSH0
00004d28: DUP3
00004d29: CALLDATALOAD
00004d2a: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1
00004d4b: DUP4
00004d4c: CALLDATASIZE
00004d4d: SUB
00004d4e: ADD
00004d4f: DUP2
00004d50: SLT
00004d51: PUSH2 0x4d58
00004d54: JUMPI
00004d55: PUSH0
00004d56: PUSH0
00004d57: REVERT
00004d58: JUMPDEST
00004d59: SWAP2
00004d5a: SWAP1
00004d5b: SWAP2
00004d5c: ADD
00004d5d: SWAP3
00004d5e: SWAP2
00004d5f: POP
00004d60: POP
00004d61: JUMP
00004d62: JUMPDEST
00004d63: PUSH0
00004d64: PUSH0
00004d65: DUP4
00004d66: CALLDATALOAD
00004d67: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1
00004d88: DUP5
00004d89: CALLDATASIZE
00004d8a: SUB
00004d8b: ADD
00004d8c: DUP2
00004d8d: SLT
00004d8e: PUSH2 0x4d95
00004d91: JUMPI
00004d92: PUSH0
00004d93: PUSH0
00004d94: REVERT
00004d95: JUMPDEST
00004d96: DUP4
00004d97: ADD
00004d98: DUP1
00004d99: CALLDATALOAD
00004d9a: SWAP2
00004d9b: POP
00004d9c: PUSH8 0xffffffffffffffff
00004da5: DUP3
00004da6: GT
00004da7: ISZERO
00004da8: PUSH2 0x4daf
00004dab: JUMPI
00004dac: PUSH0
00004dad: PUSH0
00004dae: REVERT
00004daf: JUMPDEST
00004db0: PUSH1 0x20
00004db2: ADD
00004db3: SWAP2
00004db4: POP
00004db5: PUSH1 0x60
00004db7: DUP2
00004db8: MUL
00004db9: CALLDATASIZE
00004dba: SUB
00004dbb: DUP3
00004dbc: SGT
00004dbd: ISZERO
00004dbe: PUSH2 0x3fde
00004dc1: JUMPI
00004dc2: PUSH0
00004dc3: PUSH0
00004dc4: REVERT
00004dc5: JUMPDEST
00004dc6: PUSH0
00004dc7: PUSH1 0x20
00004dc9: DUP3
00004dca: DUP5
00004dcb: SUB
00004dcc: SLT
00004dcd: ISZERO
00004dce: PUSH2 0x4dd5
00004dd1: JUMPI
00004dd2: PUSH0
00004dd3: PUSH0
00004dd4: REVERT
00004dd5: JUMPDEST
00004dd6: POP
00004dd7: MLOAD
00004dd8: SWAP2
00004dd9: SWAP1
00004dda: POP
00004ddb: JUMP
00004ddc: JUMPDEST
00004ddd: DUP1
00004dde: DUP3
00004ddf: MUL
00004de0: DUP2
00004de1: ISZERO
00004de2: DUP3
00004de3: DUP3
00004de4: DIV
00004de5: DUP5
00004de6: EQ
00004de7: OR
00004de8: PUSH2 0x3a80
00004deb: JUMPI
00004dec: PUSH2 0x3a80
00004def: PUSH2 0x4a1c
00004df2: JUMP
00004df3: JUMPDEST
00004df4: DUP1
00004df5: DUP3
00004df6: ADD
00004df7: DUP1
00004df8: DUP3
00004df9: GT
00004dfa: ISZERO
00004dfb: PUSH2 0x3a80
00004dfe: JUMPI
00004dff: PUSH2 0x3a80
00004e02: PUSH2 0x4a1c
00004e05: JUMP
00004e06: JUMPDEST
00004e07: PUSH1 0x20
00004e09: DUP1
00004e0a: DUP3
00004e0b: MSTORE
00004e0c: DUP2
00004e0d: ADD
00004e0e: DUP3
00004e0f: SWAP1
00004e10: MSTORE
00004e11: PUSH0
00004e12: PUSH1 0x40
00004e14: PUSH1 0x05
00004e16: DUP5
00004e17: SWAP1
00004e18: SHL
00004e19: DUP4
00004e1a: ADD
00004e1b: DUP2
00004e1c: ADD
00004e1d: SWAP1
00004e1e: DUP4
00004e1f: ADD
00004e20: DUP6
00004e21: DUP4
00004e22: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1
00004e43: CALLDATASIZE
00004e44: DUP4
00004e45: SWAP1
00004e46: SUB
00004e47: ADD
00004e48: JUMPDEST
00004e49: DUP8
00004e4a: DUP3
00004e4b: LT
00004e4c: ISZERO
00004e4d: PUSH2 0x4f90
00004e50: JUMPI
00004e51: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0
00004e72: DUP8
00004e73: DUP7
00004e74: SUB
00004e75: ADD
00004e76: DUP5
00004e77: MSTORE
00004e78: DUP3
00004e79: CALLDATALOAD
00004e7a: DUP2
00004e7b: DUP2
00004e7c: SLT
00004e7d: PUSH2 0x4e84
00004e80: JUMPI
00004e81: PUSH0
00004e82: PUSH0
00004e83: REVERT
00004e84: JUMPDEST
00004e85: DUP10
00004e86: ADD
00004e87: PUSH1 0x40
00004e89: DUP7
00004e8a: ADD
00004e8b: DUP2
00004e8c: CALLDATALOAD
00004e8d: PUSH2 0x4e95
00004e90: DUP2
00004e91: PUSH2 0x44c8
00004e94: JUMP
00004e95: JUMPDEST
00004e96: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004eab: AND
00004eac: DUP8
00004ead: MSTORE
00004eae: PUSH1 0x20
00004eb0: DUP3
00004eb1: ADD
00004eb2: CALLDATALOAD
00004eb3: CALLDATASIZE
00004eb4: DUP4
00004eb5: SWAP1
00004eb6: SUB
00004eb7: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1
00004ed8: ADD
00004ed9: DUP2
00004eda: SLT
00004edb: PUSH2 0x4ee2
00004ede: JUMPI
00004edf: PUSH0
00004ee0: PUSH0
00004ee1: REVERT
00004ee2: JUMPDEST
00004ee3: PUSH1 0x20
00004ee5: SWAP3
00004ee6: ADD
00004ee7: SWAP2
00004ee8: DUP3
00004ee9: ADD
00004eea: SWAP2
00004eeb: CALLDATALOAD
00004eec: PUSH8 0xffffffffffffffff
00004ef5: DUP2
00004ef6: GT
00004ef7: ISZERO
00004ef8: PUSH2 0x4eff
00004efb: JUMPI
00004efc: PUSH0
00004efd: PUSH0
00004efe: REVERT
00004eff: JUMPDEST
00004f00: PUSH1 0x60
00004f02: DUP2
00004f03: MUL
00004f04: CALLDATASIZE
00004f05: SUB
00004f06: DUP4
00004f07: SGT
00004f08: ISZERO
00004f09: PUSH2 0x4f10
00004f0c: JUMPI
00004f0d: PUSH0
00004f0e: PUSH0
00004f0f: REVERT
00004f10: JUMPDEST
00004f11: PUSH1 0x40
00004f13: PUSH1 0x20
00004f15: DUP10
00004f16: ADD
00004f17: MSTORE
00004f18: SWAP1
00004f19: DUP2
00004f1a: SWAP1
00004f1b: MSTORE
00004f1c: PUSH0
00004f1d: SWAP1
00004f1e: PUSH1 0x60
00004f20: DUP9
00004f21: ADD
00004f22: JUMPDEST
00004f23: DUP2
00004f24: DUP4
00004f25: LT
00004f26: ISZERO
00004f27: PUSH2 0x4f74
00004f2a: JUMPI
00004f2b: DUP4
00004f2c: CALLDATALOAD
00004f2d: PUSH2 0x4f35
00004f30: DUP2
00004f31: PUSH2 0x44c8
00004f34: JUMP
00004f35: JUMPDEST
00004f36: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004f4b: AND
00004f4c: DUP2
00004f4d: MSTORE
00004f4e: PUSH1 0x20
00004f50: DUP5
00004f51: DUP2
00004f52: ADD
00004f53: CALLDATALOAD
00004f54: SWAP1
00004f55: DUP3
00004f56: ADD
00004f57: MSTORE
00004f58: PUSH1 0x40
00004f5a: DUP1
00004f5b: DUP6
00004f5c: ADD
00004f5d: CALLDATALOAD
00004f5e: SWAP1
00004f5f: DUP3
00004f60: ADD
00004f61: MSTORE
00004f62: PUSH1 0x60
00004f64: SWAP4
00004f65: DUP5
00004f66: ADD
00004f67: SWAP4
00004f68: PUSH1 0x01
00004f6a: SWAP4
00004f6b: SWAP1
00004f6c: SWAP4
00004f6d: ADD
00004f6e: SWAP3
00004f6f: ADD
00004f70: PUSH2 0x4f22
00004f73: JUMP
00004f74: JUMPDEST
00004f75: SWAP8
00004f76: POP
00004f77: POP
00004f78: POP
00004f79: PUSH1 0x20
00004f7b: SWAP5
00004f7c: DUP6
00004f7d: ADD
00004f7e: SWAP5
00004f7f: SWAP4
00004f80: SWAP1
00004f81: SWAP4
00004f82: ADD
00004f83: SWAP3
00004f84: POP
00004f85: PUSH1 0x01
00004f87: SWAP2
00004f88: SWAP1
00004f89: SWAP2
00004f8a: ADD
00004f8b: SWAP1
00004f8c: PUSH2 0x4e48
00004f8f: JUMP
00004f90: JUMPDEST
00004f91: POP
00004f92: SWAP3
00004f93: SWAP8
00004f94: SWAP7
00004f95: POP
00004f96: POP
00004f97: POP
00004f98: POP
00004f99: POP
00004f9a: POP
00004f9b: POP
00004f9c: JUMP
00004f9d: JUMPDEST
00004f9e: PUSH0
00004f9f: PUSH1 0x20
00004fa1: DUP3
00004fa2: DUP5
00004fa3: SUB
00004fa4: SLT
00004fa5: ISZERO
00004fa6: PUSH2 0x4fad
00004fa9: JUMPI
00004faa: PUSH0
00004fab: PUSH0
00004fac: REVERT
00004fad: JUMPDEST
00004fae: DUP2
00004faf: MLOAD
00004fb0: PUSH2 0x4504
00004fb3: DUP2
00004fb4: PUSH2 0x44c8
00004fb7: JUMP
00004fb8: JUMPDEST
00004fb9: PUSH1 0x20
00004fbb: DUP2
00004fbc: MSTORE
00004fbd: PUSH0
00004fbe: PUSH2 0x41a5
00004fc1: PUSH1 0x20
00004fc3: DUP4
00004fc4: ADD
00004fc5: DUP5
00004fc6: DUP7
00004fc7: PUSH2 0x4bd8
00004fca: JUMP
00004fcb: JUMPDEST
00004fcc: DUP1
00004fcd: DUP3
00004fce: MUL
00004fcf: PUSH0
00004fd0: DUP3
00004fd1: SLT
00004fd2: PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000
00004ff3: DUP5
00004ff4: EQ
00004ff5: AND
00004ff6: ISZERO
00004ff7: PUSH2 0x5002
00004ffa: JUMPI
00004ffb: PUSH2 0x5002
00004ffe: PUSH2 0x4a1c
00005001: JUMP
00005002: JUMPDEST
00005003: DUP2
00005004: DUP2
00005005: SDIV
00005006: DUP4
00005007: EQ
00005008: DUP3
00005009: ISZERO
0000500a: OR
0000500b: PUSH2 0x3a80
0000500e: JUMPI
0000500f: PUSH2 0x3a80
00005012: PUSH2 0x4a1c
00005015: JUMP
00005016: JUMPDEST
00005017: PUSH1 0x01
00005019: DUP2
0000501a: DUP2
0000501b: SHR
0000501c: SWAP1
0000501d: DUP3
0000501e: AND
0000501f: DUP1
00005020: PUSH2 0x502a
00005023: JUMPI
00005024: PUSH1 0x7f
00005026: DUP3
00005027: AND
00005028: SWAP2
00005029: POP
0000502a: JUMPDEST
0000502b: PUSH1 0x20
0000502d: DUP3
0000502e: LT
0000502f: DUP2
00005030: SUB
00005031: PUSH2 0x4730
00005034: JUMPI
00005035: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00005056: PUSH0
00005057: MSTORE
00005058: PUSH1 0x22
0000505a: PUSH1 0x04
0000505c: MSTORE
0000505d: PUSH1 0x24
0000505f: PUSH0
00005060: REVERT
00005061: JUMPDEST
00005062: PUSH0
00005063: PUSH1 0x20
00005065: DUP3
00005066: DUP5
00005067: SUB
00005068: SLT
00005069: ISZERO
0000506a: PUSH2 0x5071
0000506d: JUMPI
0000506e: PUSH0
0000506f: PUSH0
00005070: REVERT
00005071: JUMPDEST
00005072: DUP2
00005073: MLOAD
00005074: PUSH2 0x4504
00005077: DUP2
00005078: PUSH2 0x469f
0000507b: JUMP
0000507c: JUMPDEST
0000507d: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
0000509e: PUSH0
0000509f: MSTORE
000050a0: PUSH1 0x21
000050a2: PUSH1 0x04
000050a4: MSTORE
000050a5: PUSH1 0x24
000050a7: PUSH0
000050a8: REVERT
000050a9: JUMPDEST
000050aa: PUSH0
000050ab: DUP3
000050ac: MLOAD
000050ad: DUP1
000050ae: PUSH1 0x20
000050b0: DUP6
000050b1: ADD
000050b2: DUP5
000050b3: MCOPY
000050b4: PUSH0
000050b5: SWAP3
000050b6: ADD
000050b7: SWAP2
000050b8: DUP3
000050b9: MSTORE
000050ba: POP
000050bb: SWAP2
000050bc: SWAP1
000050bd: POP
000050be: JUMP
000050bf: JUMPDEST
000050c0: PUSH1 0x20
000050c2: DUP2
000050c3: MSTORE
000050c4: PUSH0
000050c5: PUSH2 0x4504
000050c8: PUSH1 0x20
000050ca: DUP4
000050cb: ADD
000050cc: DUP5
000050cd: PUSH2 0x47dd
000050d0: JUMP
000050d1: INVALID
000050d2: LOG2
000050d3: PUSH5 0x6970667358
000050d9: UNKNOWN(0x22)
000050da: SLT
000050db: KECCAK256
000050dc: LOG0
000050dd: UNKNOWN(0xBA)
000050de: DUP14
000050df: UNKNOWN(0xB9)
000050e0: RETURN
000050e1: UNKNOWN(0xD9)
000050e2: UNKNOWN(0xA6)
000050e3: PUSH8 0xe49717c5614618d4
000050ec: DUP2
000050ed: BALANCE
000050ee: SAR
000050ef: UNKNOWN(0x4C)
000050f0: RETURNDATACOPY
000050f1: PUSH10 0xe51e9b53166a80821e67
000050fc: PUSH5 0x736f6c6343
00005102: STOP
00005103: ADDMOD
00005104: SHR
00005105: STOP
00005106: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high math codex LP share accounting ignores trader PnL and vault asset flows, enabling over-redemption 85 no
view
evidence_json
{
    "evidence": "`totalUnderlying` is only mutated in `NativeLPToken._deposit`, `_redeem`, and `distributeYield`, while vault outflows/inflows from trader settlements/repays/liquidations happen in `CreditVault` without any corresponding LP accounting updates.",
    "locations": [
        "contracts/src/CreditVault.sol:171",
        "contracts/src/CreditVault.sol:230",
        "contracts/src/CreditVault.sol:250",
        "contracts/src/CreditVault.sol:294",
        "contracts/src/NativeLPToken.sol:190",
        "contracts/src/NativeLPToken.sol:345",
        "contracts/src/NativeLPToken.sol:371"
    ],
    "recommendation": "Track LP pool balances in the vault and update `totalUnderlying` whenever vault balances change due to trading/settlement/repay/liquidation/swaps, or segregate collateral from LP funds and have `pay` enforce withdrawals only against available LP liquidity (vault balance minus collateral/reserves). Ensure any fee/yield distribution only reflects assets actually collected.",
    "exploit_scenario": "A trader settles a profitable position, causing the vault to transfer underlying out via `settle`/`liquidate` without updating the LP token\u2019s `totalUnderlying`. LP shares are still valued at the pre\u2011payout exchange rate, so an LP can redeem based on an overstated `totalUnderlying`. `CreditVault.pay` only checks against the LP token\u2019s `totalUnderlying`, so the redemption succeeds as long as the vault balance (including trader collateral) is sufficient, draining collateral and leaving the vault insolvent for traders. The opposite case (repays) strands assets because `totalUnderlying` never increases."
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x4ad9fc2b8229b2156318e62e4592be7e4f7ea336be8075ffdd4d46daa8e8212c
call_targets: 0xe3d41d19564922c9952f692c5dd0563030f5f2ef
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x4ad9fc2b8229b2156318e62e4592be7e4f7ea336be8075ffdd4d46daa8e8212c",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xe3d41d19564922c9952f692c5dd0563030f5f2ef"
    ],
    "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": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf6d95efd",
            "selector": "0xf6d95efd",
            "calldata_variants": [
                "0xf6d95efd",
                "0xf6d95efd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf90cdb36",
            "selector": "0xf90cdb36",
            "calldata_variants": [
                "0xf90cdb36",
                "0xf90cdb360000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcab4f84c",
            "selector": "0xcab4f84c",
            "calldata_variants": [
                "0xcab4f84c",
                "0xcab4f84c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcc218ece",
            "selector": "0xcc218ece",
            "calldata_variants": [
                "0xcc218ece",
                "0xcc218ece0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe30c3978",
            "selector": "0xe30c3978",
            "calldata_variants": [
                "0xe30c3978",
                "0xe30c39780000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb7477674",
            "selector": "0xb7477674",
            "calldata_variants": [
                "0xb7477674",
                "0xb74776740000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc2b73076",
            "selector": "0xc2b73076",
            "calldata_variants": [
                "0xc2b73076",
                "0xc2b730760000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 7960,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 17307,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 2,
    "guards_detected": [
        {
            "pc": 6090,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x4ad9fc2b8229b2156318e62e4592be7e4f7ea336be8075ffdd4d46daa8e8212c
call_targets: 0xe3d41d19564922c9952f692c5dd0563030f5f2ef
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x4ad9fc2b8229b2156318e62e4592be7e4f7ea336be8075ffdd4d46daa8e8212c",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xe3d41d19564922c9952f692c5dd0563030f5f2ef"
    ],
    "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": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf6d95efd",
            "selector": "0xf6d95efd",
            "calldata_variants": [
                "0xf6d95efd",
                "0xf6d95efd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf90cdb36",
            "selector": "0xf90cdb36",
            "calldata_variants": [
                "0xf90cdb36",
                "0xf90cdb360000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcab4f84c",
            "selector": "0xcab4f84c",
            "calldata_variants": [
                "0xcab4f84c",
                "0xcab4f84c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcc218ece",
            "selector": "0xcc218ece",
            "calldata_variants": [
                "0xcc218ece",
                "0xcc218ece0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe30c3978",
            "selector": "0xe30c3978",
            "calldata_variants": [
                "0xe30c3978",
                "0xe30c39780000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb7477674",
            "selector": "0xb7477674",
            "calldata_variants": [
                "0xb7477674",
                "0xb74776740000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc2b73076",
            "selector": "0xc2b73076",
            "calldata_variants": [
                "0xc2b73076",
                "0xc2b730760000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 7960,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 17307,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 2,
    "guards_detected": [
        {
            "pc": 6090,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "untrusted_call_count": 2
}