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

Analysis Run

3c6ff52f-c8f2-4d99-9d2f-bd09425954ea

complete
Chain ID
1
Address
Block Number
Created
Sat, Dec 27, 2025 9:16 PM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Untrusted DELEGATECALL target reachable
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30201 report.consolidate complete 1 / 1 3 months ago
93805 artifact.fetch complete 1 / 3 1 week ago
93806 tool.cast_disasm complete 1 / 3 1 week ago
93807 analysis.bundle complete 1 / 3 1 week ago
93808 capability.graph complete 1 / 3 1 week ago
93809 detector.run complete 1 / 3 1 week ago
93810 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 medium-severity oracle-related risk where a transient price manipulation can permanently open an account to liquidation until the owner actively resets status.
View stderr
[codex:354555] OpenAI Codex v0.77.0 (research preview)
[codex:354555] --------
[codex:354555] workdir: /tmp/codex-multi-2me4sr08
[codex:354555] model: gpt-5.2-codex
[codex:354555] provider: openai
[codex:354555] approval: never
[codex:354555] sandbox: read-only
[codex:354555] reasoning effort: xhigh
[codex:354555] reasoning summaries: auto
[codex:354555] session id: 019b61a2-9b46-7bf1-af7d-f4932ab1d4fe
[codex:354555] --------
[codex:354555] user
[codex:354555] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:354555] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:354555] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:354555] 
[codex:354555] Scope rules:
[codex:354555] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:354555] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:354555] 
[codex:354555] Output MUST be valid JSON matching the provided schema.
[codex:354555] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:354555] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:354555] 
[codex:354555] Output constraints (IMPORTANT):
[codex:354555] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:354555] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:354555] mcp startup: no servers
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Preparing to read AGENTS instructions**
[codex:354555] exec
[codex:354555] /bin/bash -lc ls in /tmp/codex-multi-2me4sr08 succeeded in 5ms:
[codex:354555] AUDIT_BUNDLE.txt
[codex:354555] codex-output-schema.json
[codex:354555] contracts
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Reading AUDIT_BUNDLE.txt**
[codex:354555] exec
[codex:354555] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:354555] 
[codex:354555] ================================================================================
[codex:354555] FILE: contracts/Contract.sol
[codex:354555] ================================================================================
[codex:354555] /*
[codex:354555] 
[codex:354555]     Copyright 2019 dYdX Trading Inc.
[codex:354555] 
[codex:354555]     Licensed under the Apache License, Version 2.0 (the "License");
[codex:354555]     you may not use this file except in compliance with the License.
[codex:354555]     You may obtain a copy of the License at
[codex:354555] 
[codex:354555]     http://www.apache.org/licenses/LICENSE-2.0
[codex:354555] 
[codex:354555]     Unless required by applicable law or agreed to in writing, software
[codex:354555]     distributed under the License is distributed on an "AS IS" BASIS,
[codex:354555]     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:354555]     See the License for the specific language governing permissions and
[codex:354555]     limitations under the License.
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Reviewing concatenated first-party code for vulnerabilities**
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg --files contracts' in /tmp/codex-multi-2me4sr08 succeeded in 8ms:
[codex:354555] contracts/Contract.sol
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Preparing to analyze Contract.sol for vulnerabilities**
[codex:354555] exec
[codex:354555] /bin/bash -lc "rg -n \"delegatecall|call\\(|\\.call\\(|transfer\\(|send\\(|callFunction|exchange\" contracts/Contract.sol" in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 1349: * transfer(), transferFrom(), or approve().
[codex:354555] 1385:    function transfer(
[codex:354555] 1490:    function transfer(
[codex:354555] 1501:        IErc20(token).transfer(to, amount);
[codex:354555] 2367:        token.transfer(recipient, excessWei.value);
[codex:354555] 2385:        token.transfer(recipient, balance);
[codex:354555] 3619:    function callFunction(
[codex:354555] 3722:     * specified exchangeWrapper contract and expects makerMarket tokens in return. The amount field
[codex:354555] 3730:        address exchangeWrapper;
[codex:354555] 3736:     * specified exchangeWrapper and expects makerMarket tokens in return. The amount field applies
[codex:354555] 3744:        address exchangeWrapper;
[codex:354555] 3770:     * exchange for any collateral asset (heldMarket) of the liquidAccount. The ratio is determined
[codex:354555] 3790:     * exchange for a collateral asset (heldMarket) at a favorable spread. However, since the
[codex:354555] 3924:            exchangeWrapper: args.otherAddress,
[codex:354555] 3943:            exchangeWrapper: args.otherAddress,
[codex:354555] 4077:        address exchangeWrapper
[codex:354555] 4087:        address exchangeWrapper
[codex:354555] 4257:            args.exchangeWrapper
[codex:354555] 4286:            args.exchangeWrapper
[codex:354555] 4481:     * @param  orderData            Arbitrary bytes data for any information to pass to the exchange
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Inspecting external calls in Exchange library**
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '4300,4700p'" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555]   4300	                state,
[codex:354555]   4301	                args.takerAccount,
[codex:354555]   4302	                args.inputMarket,
[codex:354555]   4303	                inputWei.negative()
[codex:354555]   4304	            ),
[codex:354555]   4305	            getBalanceUpdate(
[codex:354555]   4306	                state,
[codex:354555]   4307	                args.takerAccount,
[codex:354555]   4308	                args.outputMarket,
[codex:354555]   4309	                outputWei.negative()
[codex:354555]   4310	            ),
[codex:354555]   4311	            getBalanceUpdate(
[codex:354555]   4312	                state,
[codex:354555]   4313	                args.makerAccount,
[codex:354555]   4314	                args.inputMarket,
[codex:354555]   4315	                inputWei
[codex:354555]   4316	            ),
[codex:354555]   4317	            getBalanceUpdate(
[codex:354555]   4318	                state,
[codex:354555]   4319	                args.makerAccount,
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Analyzing reentrancy and access control**
[codex:354555] exec
[codex:354555] /bin/bash -lc "rg -n \"onlyOwner|requireIsOwner|isOwner|owner\\(\" contracts/Contract.sol" in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 46:    function owner() public view returns (address) {
[codex:354555] 53:    modifier onlyOwner() {
[codex:354555] 54:        require(isOwner());
[codex:354555] 61:    function isOwner() public view returns (bool) {
[codex:354555] 68:     * It will not be possible to call the functions with the `onlyOwner`
[codex:354555] 71:    function renounceOwnership() public onlyOwner {
[codex:354555] 80:    function transferOwnership(address newOwner) public onlyOwner {
[codex:354555] 2702:        onlyOwner
[codex:354555] 2721:        onlyOwner
[codex:354555] 2745:        onlyOwner
[codex:354555] 2767:        onlyOwner
[codex:354555] 2785:        onlyOwner
[codex:354555] 2803:        onlyOwner
[codex:354555] 2822:        onlyOwner
[codex:354555] 2841:        onlyOwner
[codex:354555] 2861:        onlyOwner
[codex:354555] 2878:        onlyOwner
[codex:354555] 2895:        onlyOwner
[codex:354555] 2911:        onlyOwner
[codex:354555] 2931:        onlyOwner
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Exploring admin functions**
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '2600,3000p'" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555]   2600	
[codex:354555]   2601	    function _setMarginPremium(
[codex:354555]   2602	        Storage.State storage state,
[codex:354555]   2603	        uint256 marketId,
[codex:354555]   2604	        Decimal.D256 memory marginPremium
[codex:354555]   2605	    )
[codex:354555]   2606	        private
[codex:354555]   2607	    {
[codex:354555]   2608	        Require.that(
[codex:354555]   2609	            marginPremium.value <= state.riskLimits.marginPremiumMax,
[codex:354555]   2610	            FILE,
[codex:354555]   2611	            "Margin premium too high"
[codex:354555]   2612	        );
[codex:354555]   2613	        state.markets[marketId].marginPremium = marginPremium;
[codex:354555]   2614	
[codex:354555]   2615	        emit LogSetMarginPremium(marketId, marginPremium);
[codex:354555]   2616	    }
[codex:354555]   2617	
[codex:354555]   2618	    function _setSpreadPremium(
[codex:354555]   2619	        Storage.State storage state,
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Inspecting admin function security**
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '2200,2500p'" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555]   2200	        Types.Par memory oldPar = state.getPar(account, marketId);
[codex:354555]   2201	
[codex:354555]   2202	        if (Types.equals(oldPar, newPar)) {
[codex:354555]   2203	            return;
[codex:354555]   2204	        }
[codex:354555]   2205	
[codex:354555]   2206	        // updateTotalPar
[codex:354555]   2207	        Types.TotalPar memory totalPar = state.getTotalPar(marketId);
[codex:354555]   2208	
[codex:354555]   2209	        // roll-back oldPar
[codex:354555]   2210	        if (oldPar.sign) {
[codex:354555]   2211	            totalPar.supply = uint256(totalPar.supply).sub(oldPar.value).to128();
[codex:354555]   2212	        } else {
[codex:354555]   2213	            totalPar.borrow = uint256(totalPar.borrow).sub(oldPar.value).to128();
[codex:354555]   2214	        }
[codex:354555]   2215	
[codex:354555]   2216	        // roll-forward newPar
[codex:354555]   2217	        if (newPar.sign) {
[codex:354555]   2218	            totalPar.supply = uint256(totalPar.supply).add(newPar.value).to128();
[codex:354555]   2219	        } else {
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Analyzing public library function access and storage implications**
[codex:354555] exec
[codex:354555] /bin/bash -lc "rg -n \"library Token|Token\\.\" contracts/Contract.sol" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555] 1420:// File: contracts/protocol/lib/Token.sol
[codex:354555] 1430:library Token {
[codex:354555] 1784:            value: Token.balanceOf(token, address(this))
[codex:354555] 4472:     * Exchange some amount of takerToken for makerToken.
[codex:354555] 4549:        Token.transfer(
[codex:354555] 4570:        Token.transferFrom(
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1340,1550p'" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555]   1340	
[codex:354555]   1341	// File: contracts/protocol/interfaces/IErc20.sol
[codex:354555]   1342	
[codex:354555]   1343	/**
[codex:354555]   1344	 * @title IErc20
[codex:354555]   1345	 * @author dYdX
[codex:354555]   1346	 *
[codex:354555]   1347	 * Interface for using ERC20 Tokens. We have to use a special interface to call ERC20 functions so
[codex:354555]   1348	 * that we don't automatically revert when calling non-compliant tokens that have no return value for
[codex:354555]   1349	 * transfer(), transferFrom(), or approve().
[codex:354555]   1350	 */
[codex:354555]   1351	interface IErc20 {
[codex:354555]   1352	    event Transfer(
[codex:354555]   1353	        address indexed from,
[codex:354555]   1354	        address indexed to,
[codex:354555]   1355	        uint256 value
[codex:354555]   1356	    );
[codex:354555]   1357	
[codex:354555]   1358	    event Approval(
[codex:354555]   1359	        address indexed owner,
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Analyzing potential token and reentrancy vulnerabilities**
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg -n "requireIsOperator|isOperator" contracts/Contract.sol' in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555] 2017:    function requireIsOperator(
[codex:354555] 4925:        state.requireIsOperator(args.account, msg.sender);
[codex:354555] 4969:        state.requireIsOperator(args.account, msg.sender);
[codex:354555] 5006:        state.requireIsOperator(args.accountOne, msg.sender);
[codex:354555] 5007:        state.requireIsOperator(args.accountTwo, msg.sender);
[codex:354555] 5043:        state.requireIsOperator(args.account, msg.sender);
[codex:354555] 5108:        state.requireIsOperator(args.account, msg.sender);
[codex:354555] 5157:        state.requireIsOperator(args.takerAccount, msg.sender);
[codex:354555] 5158:        state.requireIsOperator(args.makerAccount, args.autoTrader);
[codex:354555] 5238:        state.requireIsOperator(args.solidAccount, msg.sender);
[codex:354555] 5342:        state.requireIsOperator(args.solidAccount, msg.sender);
[codex:354555] 5447:        state.requireIsOperator(args.account, msg.sender);
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1900,2100p'" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555]   1900	        uint256 marketId
[codex:354555]   1901	    )
[codex:354555]   1902	        internal
[codex:354555]   1903	        view
[codex:354555]   1904	        returns (Monetary.Price memory)
[codex:354555]   1905	    {
[codex:354555]   1906	        IPriceOracle oracle = IPriceOracle(state.markets[marketId].priceOracle);
[codex:354555]   1907	        Monetary.Price memory price = oracle.getPrice(state.getToken(marketId));
[codex:354555]   1908	        Require.that(
[codex:354555]   1909	            price.value != 0,
[codex:354555]   1910	            FILE,
[codex:354555]   1911	            "Price cannot be zero",
[codex:354555]   1912	            marketId
[codex:354555]   1913	        );
[codex:354555]   1914	        return price;
[codex:354555]   1915	    }
[codex:354555]   1916	
[codex:354555]   1917	    function getAccountValues(
[codex:354555]   1918	        Storage.State storage state,
[codex:354555]   1919	        Account.Info memory account,
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Evaluating oracle and input validation risks**
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg -n "_verifyInputs|verifyInputs" contracts/Contract.sol' in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555] 4675:        _verifyInputs(accounts, actions);
[codex:354555] 4703:    function _verifyInputs(
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '4700,4900p'" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555]   4700	
[codex:354555]   4701	    // ============ Helper Functions ============
[codex:354555]   4702	
[codex:354555]   4703	    function _verifyInputs(
[codex:354555]   4704	        Account.Info[] memory accounts,
[codex:354555]   4705	        Actions.ActionArgs[] memory actions
[codex:354555]   4706	    )
[codex:354555]   4707	        private
[codex:354555]   4708	        pure
[codex:354555]   4709	    {
[codex:354555]   4710	        Require.that(
[codex:354555]   4711	            actions.length != 0,
[codex:354555]   4712	            FILE,
[codex:354555]   4713	            "Cannot have zero actions"
[codex:354555]   4714	        );
[codex:354555]   4715	
[codex:354555]   4716	        Require.that(
[codex:354555]   4717	            accounts.length != 0,
[codex:354555]   4718	            FILE,
[codex:354555]   4719	            "Cannot have zero accounts"
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Analyzing potential contract vulnerabilities**
[codex:354555] 
[codex:354555] I'm exploring various spots where state updates happen before external calls, checking if reentrancy or token transfer failures could cause problems. I’m also reviewing how user-supplied addresses and exchange wrappers are trusted, the use of nonReentrant guards, unchecked return values, and interactions with deflationary tokens or oracles that might open subtle risks. Let's see if these design choices hold up under scrutiny!
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg -n "signature|ecrecover|permit|hash" contracts/Contract.sol' in /tmp/codex-multi-2me4sr08 exited 1 in 7ms:
[codex:354555] 
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Checking for delegatecall usage**
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg -n "delegatecall" contracts/Contract.sol' in /tmp/codex-multi-2me4sr08 exited 1 in 6ms:
[codex:354555] 
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Analyzing potential reentrancy and operator vulnerabilities**
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1530,1605p'" in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555]   1530	
[codex:354555]   1531	    // ============ Private Functions ============
[codex:354555]   1532	
[codex:354555]   1533	    /**
[codex:354555]   1534	     * Check the return value of the previous function up to 32 bytes. Return true if the previous
[codex:354555]   1535	     * function returned 0 bytes or 32 bytes that are not all-zero.
[codex:354555]   1536	     */
[codex:354555]   1537	    function checkSuccess(
[codex:354555]   1538	    )
[codex:354555]   1539	        private
[codex:354555]   1540	        pure
[codex:354555]   1541	        returns (bool)
[codex:354555]   1542	    {
[codex:354555]   1543	        uint256 returnValue = 0;
[codex:354555]   1544	
[codex:354555]   1545	        /* solium-disable-next-line security/no-inline-assembly */
[codex:354555]   1546	        assembly {
[codex:354555]   1547	            // check number of bytes returned from last function call
[codex:354555]   1548	            switch returndatasize
[codex:354555]   1549	
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Analyzing complex reentrancy and token transfer risks**
[codex:354555] 
[codex:354555] I'm examining possible reentrancy issues around `ownerWithdrawExcessTokens` and how the shared `nonReentrant` guard across inherited contracts protects against nested calls during token transfer. I’m also focusing on the subtle risk in token deposit where using the contract’s own address as the `from` in a transfer could let internal balances inflate without actual token moves, potentially breaking accounting assumptions. This involves checking how deposit actions handle the `from` field and associated permissions.
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg -n "DepositArgs|parseDepositArgs" contracts/Contract.sol' in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 3690:    struct DepositArgs {
[codex:354555] 3859:    function parseDepositArgs(
[codex:354555] 3865:        returns (DepositArgs memory)
[codex:354555] 3868:        return DepositArgs({
[codex:354555] 4164:        Actions.DepositArgs memory args,
[codex:354555] 4838:                _deposit(state, Actions.parseDepositArgs(accounts, action));
[codex:354555] 4921:        Actions.DepositArgs memory args
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '3660,3890p'" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555]   3660	
[codex:354555]   3661	    enum MarketLayout {
[codex:354555]   3662	        ZeroMarkets,
[codex:354555]   3663	        OneMarket,
[codex:354555]   3664	        TwoMarkets
[codex:354555]   3665	    }
[codex:354555]   3666	
[codex:354555]   3667	    // ============ Structs ============
[codex:354555]   3668	
[codex:354555]   3669	    /*
[codex:354555]   3670	     * Arguments that are passed to Solo in an ordered list as part of a single operation.
[codex:354555]   3671	     * Each ActionArgs has an actionType which specifies which action struct that this data will be
[codex:354555]   3672	     * parsed into before being processed.
[codex:354555]   3673	     */
[codex:354555]   3674	    struct ActionArgs {
[codex:354555]   3675	        ActionType actionType;
[codex:354555]   3676	        uint256 accountId;
[codex:354555]   3677	        Types.AssetAmount amount;
[codex:354555]   3678	        uint256 primaryMarketId;
[codex:354555]   3679	        uint256 secondaryMarketId;
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Analyzing deposit vulnerability potential**
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '4900,5040p'" in /tmp/codex-multi-2me4sr08 succeeded in 8ms:
[codex:354555]   4900	
[codex:354555]   4901	            // check collateralization for primary accounts
[codex:354555]   4902	            Require.that(
[codex:354555]   4903	                collateralized,
[codex:354555]   4904	                FILE,
[codex:354555]   4905	                "Undercollateralized account",
[codex:354555]   4906	                account.owner,
[codex:354555]   4907	                account.number
[codex:354555]   4908	            );
[codex:354555]   4909	
[codex:354555]   4910	            // ensure status is normal for primary accounts
[codex:354555]   4911	            if (state.getStatus(account) != Account.Status.Normal) {
[codex:354555]   4912	                state.setStatus(account, Account.Status.Normal);
[codex:354555]   4913	            }
[codex:354555]   4914	        }
[codex:354555]   4915	    }
[codex:354555]   4916	
[codex:354555]   4917	    // ============ Action Functions ============
[codex:354555]   4918	
[codex:354555]   4919	    function _deposit(
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Analyzing deposit authorization logic**
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '2080,2200p'" in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555]   2080	            deltaWei = Interest.parToWei(newPar, index).sub(oldWei);
[codex:354555]   2081	        }
[codex:354555]   2082	
[codex:354555]   2083	        return (newPar, deltaWei);
[codex:354555]   2084	    }
[codex:354555]   2085	
[codex:354555]   2086	    function getNewParAndDeltaWeiForLiquidation(
[codex:354555]   2087	        Storage.State storage state,
[codex:354555]   2088	        Account.Info memory account,
[codex:354555]   2089	        uint256 marketId,
[codex:354555]   2090	        Types.AssetAmount memory amount
[codex:354555]   2091	    )
[codex:354555]   2092	        internal
[codex:354555]   2093	        view
[codex:354555]   2094	        returns (Types.Par memory, Types.Wei memory)
[codex:354555]   2095	    {
[codex:354555]   2096	        Types.Par memory oldPar = state.getPar(account, marketId);
[codex:354555]   2097	
[codex:354555]   2098	        Require.that(
[codex:354555]   2099	            !oldPar.isPositive(),
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Investigating getNumExcessTokens usage**
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg -n "getNumExcessTokens" -n contracts/Contract.sol' in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 1769:    function getNumExcessTokens(
[codex:354555] 2352:        Types.Wei memory excessWei = state.getNumExcessTokens(marketId);
[codex:354555] 3330:    function getNumExcessTokens(
[codex:354555] 3338:        return g_state.getNumExcessTokens(marketId);
[codex:354555] 5372:        Types.Wei memory maxHeldWei = state.getNumExcessTokens(args.heldMarket);
[codex:354555] 5511:        Types.Wei memory excessWei = state.getNumExcessTokens(args.owedMarket);
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1700,1820p'" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555]   1700	    // The maximum RiskParam values that can be set
[codex:354555]   1701	    struct RiskLimits {
[codex:354555]   1702	        uint64 marginRatioMax;
[codex:354555]   1703	        uint64 liquidationSpreadMax;
[codex:354555]   1704	        uint64 earningsRateMax;
[codex:354555]   1705	        uint64 marginPremiumMax;
[codex:354555]   1706	        uint64 spreadPremiumMax;
[codex:354555]   1707	        uint128 minBorrowedValueMax;
[codex:354555]   1708	    }
[codex:354555]   1709	
[codex:354555]   1710	    // The entire storage state of Solo
[codex:354555]   1711	    struct State {
[codex:354555]   1712	        // number of markets
[codex:354555]   1713	        uint256 numMarkets;
[codex:354555]   1714	
[codex:354555]   1715	        // marketId => Market
[codex:354555]   1716	        mapping (uint256 => Market) markets;
[codex:354555]   1717	
[codex:354555]   1718	        // owner => account number => Account
[codex:354555]   1719	        mapping (address => mapping (uint256 => Account.Storage)) accounts;
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Analyzing potential token handling issues**
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg -n "fetchNewIndex" contracts/Contract.sol' in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 1855:    function fetchNewIndex(
[codex:354555] 2179:        return state.markets[marketId].index = state.fetchNewIndex(marketId, index);
[codex:354555] 3125:        return g_state.fetchNewIndex(marketId, g_state.getIndex(marketId));
[codex:354555] 3380:            g_state.fetchNewIndex(marketId, g_state.getIndex(marketId))
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1820,1895p'" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555]   1820	        Storage.State storage state,
[codex:354555]   1821	        Account.Info memory account,
[codex:354555]   1822	        uint256 marketId
[codex:354555]   1823	    )
[codex:354555]   1824	        internal
[codex:354555]   1825	        view
[codex:354555]   1826	        returns (Types.Wei memory)
[codex:354555]   1827	    {
[codex:354555]   1828	        Types.Par memory par = state.getPar(account, marketId);
[codex:354555]   1829	
[codex:354555]   1830	        if (par.isZero()) {
[codex:354555]   1831	            return Types.zeroWei();
[codex:354555]   1832	        }
[codex:354555]   1833	
[codex:354555]   1834	        Interest.Index memory index = state.getIndex(marketId);
[codex:354555]   1835	        return Interest.parToWei(par, index);
[codex:354555]   1836	    }
[codex:354555]   1837	
[codex:354555]   1838	    function getLiquidationSpreadForPair(
[codex:354555]   1839	        Storage.State storage state,
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Analyzing potential security risks**
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg -n "library Account|struct Info" contracts/Contract.sol' in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 894:library Account {
[codex:354555] 915:    struct Info {
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '880,960p'" in /tmp/codex-multi-2me4sr08 succeeded in 8ms:
[codex:354555]    880	        returns (bool)
[codex:354555]    881	    {
[codex:354555]    882	        return a.value == 0;
[codex:354555]    883	    }
[codex:354555]    884	}
[codex:354555]    885	
[codex:354555]    886	// File: contracts/protocol/lib/Account.sol
[codex:354555]    887	
[codex:354555]    888	/**
[codex:354555]    889	 * @title Account
[codex:354555]    890	 * @author dYdX
[codex:354555]    891	 *
[codex:354555]    892	 * Library of structs and functions that represent an account
[codex:354555]    893	 */
[codex:354555]    894	library Account {
[codex:354555]    895	    // ============ Enums ============
[codex:354555]    896	
[codex:354555]    897	    /*
[codex:354555]    898	     * Most-recently-cached account status.
[codex:354555]    899	     *
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Analyzing potential token withdrawal and oracle risks**
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg -n "library Time|currentTime" contracts/Contract.sol' in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 1159:library Time {
[codex:354555] 1163:    function currentTime()
[codex:354555] 1232:        uint32 currentTime = Time.currentTime();
[codex:354555] 1233:        uint256 borrowInterest = rate.value.mul(uint256(currentTime).sub(index.lastUpdate));
[codex:354555] 1250:            lastUpdate: currentTime
[codex:354555] 1262:            lastUpdate: Time.currentTime()
[codex:354555] 2176:        if (index.lastUpdate == Time.currentTime()) {
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Inspecting Cache library for vulnerabilities**
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg -n "library Cache" contracts/Contract.sol' in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 973:library Cache {
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '960,1150p'" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555]    960	    struct Value {
[codex:354555]    961	        uint256 value;
[codex:354555]    962	    }
[codex:354555]    963	}
[codex:354555]    964	
[codex:354555]    965	// File: contracts/protocol/lib/Cache.sol
[codex:354555]    966	
[codex:354555]    967	/**
[codex:354555]    968	 * @title Cache
[codex:354555]    969	 * @author dYdX
[codex:354555]    970	 *
[codex:354555]    971	 * Library for caching information about markets
[codex:354555]    972	 */
[codex:354555]    973	library Cache {
[codex:354555]    974	    using Cache for MarketCache;
[codex:354555]    975	    using Storage for Storage.State;
[codex:354555]    976	
[codex:354555]    977	    // ============ Structs ============
[codex:354555]    978	
[codex:354555]    979	    struct MarketInfo {
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Evaluating price zero checks and potential vulnerabilities**
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg -n "calculateNewIndex|library Interest" contracts/Contract.sol' in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 1180:library Interest {
[codex:354555] 1216:    function calculateNewIndex(
[codex:354555] 1866:        return Interest.calculateNewIndex(
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1150,1305p'" in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555]   1150	
[codex:354555]   1151	// File: contracts/protocol/lib/Time.sol
[codex:354555]   1152	
[codex:354555]   1153	/**
[codex:354555]   1154	 * @title Time
[codex:354555]   1155	 * @author dYdX
[codex:354555]   1156	 *
[codex:354555]   1157	 * Library for dealing with time, assuming timestamps fit within 32 bits (valid until year 2106)
[codex:354555]   1158	 */
[codex:354555]   1159	library Time {
[codex:354555]   1160	
[codex:354555]   1161	    // ============ Library Functions ============
[codex:354555]   1162	
[codex:354555]   1163	    function currentTime()
[codex:354555]   1164	        internal
[codex:354555]   1165	        view
[codex:354555]   1166	        returns (uint32)
[codex:354555]   1167	    {
[codex:354555]   1168	        return Math.to32(block.timestamp);
[codex:354555]   1169	    }
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Analyzing potential vulnerabilities in trade and token handling**
[codex:354555] exec
[codex:354555] /bin/bash -lc "rg -n \"approve\\(\" contracts/Contract.sol" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555] 1349: * transfer(), transferFrom(), or approve().
[codex:354555] 1398:    function approve(
[codex:354555] 1461:    function approve(
[codex:354555] 1468:        IErc20(token).approve(spender, amount);
[codex:354555] 1483:        approve(
[codex:354555] 
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Analyzing potential vulnerabilities in Exchange and account operations**
[codex:354555] thinking
[codex:354555] **Reviewing oracle risks and token transfer edge cases**
[codex:354555] 
[codex:354555] I’m checking for oracle price manipulation scenarios and peculiar token transfer cases like zero amounts or transfers to the contract itself to see if they cause inconsistent accounting. I focus on access controls around accounts owned by the contract address and verify operator restrictions. I’ll also look for unchecked low-level calls that might indicate danger but so far don’t see obvious vulnerabilities.
[codex:354555] exec
[codex:354555] /bin/bash -lc "rg -n \"\\.call\\(|call\\{|\\" in /tmp/codex-multi-2me4sr08 exited 2 in 6ms:
[codex:354555] /bin/bash: -c: line 1: unexpected EOF while looking for matching `"'
[codex:354555] /bin/bash: -c: line 2: syntax error: unexpected end of file
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Correcting command syntax**
[codex:354555] exec
[codex:354555] /bin/bash -lc "rg -n \"\\.call\\(|call\\{|callFunction\" contracts/Contract.sol" in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 3619:    function callFunction(
[codex:354555] 5449:        ICallee(args.callee).callFunction(
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Analyzing potential contract vulnerabilities**
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg -n "totalParToWei" contracts/Contract.sol' in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555] 1229:        ) = totalParToWei(totalPar, index);
[codex:354555] 1319:    function totalParToWei(
[codex:354555] 1790:        ) = Interest.totalParToWei(totalPar, index);
[codex:354555] 1887:        ) = Interest.totalParToWei(totalPar, index);
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '1305,1335p'" in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555]   1305	                value: input.value.getPartial(BASE, index.supply).to128()
[codex:354555]   1306	            });
[codex:354555]   1307	        } else {
[codex:354555]   1308	            return Types.Par({
[codex:354555]   1309	                sign: false,
[codex:354555]   1310	                value: input.value.getPartialRoundUp(BASE, index.borrow).to128()
[codex:354555]   1311	            });
[codex:354555]   1312	        }
[codex:354555]   1313	    }
[codex:354555]   1314	
[codex:354555]   1315	    /*
[codex:354555]   1316	     * Convert the total supply and borrow principal amounts of a market to total supply and borrow
[codex:354555]   1317	     * token amounts.
[codex:354555]   1318	     */
[codex:354555]   1319	    function totalParToWei(
[codex:354555]   1320	        Types.TotalPar memory totalPar,
[codex:354555]   1321	        Index memory index
[codex:354555]   1322	    )
[codex:354555]   1323	        internal
[codex:354555]   1324	        pure
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Evaluating potential contract vulnerabilities**
[codex:354555] exec
[codex:354555] /bin/bash -lc "rg -n \"tx\\.origin|origin\" contracts/Contract.sol" in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 35:     * @dev The Ownable constructor sets the original `owner` of the contract to the sender
[codex:354555] 3576:     * @param  inputMarketId   The market for which the trader specified the original amount
[codex:354555] 5559:        uint256 originalPrice = cache.getPrice(owedMarketId).value;
[codex:354555] 5566:            value: originalPrice.add(Decimal.mul(originalPrice, spread))
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Analyzing liquidation status and oracle manipulation risks**
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '5200,5320p'" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555]   5200	        state.setPar(
[codex:354555]   5201	            args.makerAccount,
[codex:354555]   5202	            args.inputMarket,
[codex:354555]   5203	            newInputPar
[codex:354555]   5204	        );
[codex:354555]   5205	        state.setPar(
[codex:354555]   5206	            args.makerAccount,
[codex:354555]   5207	            args.outputMarket,
[codex:354555]   5208	            newOutputPar
[codex:354555]   5209	        );
[codex:354555]   5210	
[codex:354555]   5211	        // set the balance for the taker
[codex:354555]   5212	        state.setParFromDeltaWei(
[codex:354555]   5213	            args.takerAccount,
[codex:354555]   5214	            args.inputMarket,
[codex:354555]   5215	            inputWei.negative()
[codex:354555]   5216	        );
[codex:354555]   5217	        state.setParFromDeltaWei(
[codex:354555]   5218	            args.takerAccount,
[codex:354555]   5219	            args.outputMarket,
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Identifying liquidation flag persistence vulnerability**
[codex:354555] 
[codex:354555] I've been analyzing relevant code sections to understand how the liquidation status persists after price manipulation, focusing on `_verifyFinalState` and liquidation-related lines. It looks like the status reset only happens for primary accounts, which means attackers could exploit oracle price manipulation to repeatedly liquidate accounts flagged as Liquid, increasing attack potential. I'll document this as a medium-severity oracle-related issue with evidence from key lines.
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '4868,4915p'" in /tmp/codex-multi-2me4sr08 succeeded in 7ms:
[codex:354555]   4868	    function _verifyFinalState(
[codex:354555]   4869	        Storage.State storage state,
[codex:354555]   4870	        Account.Info[] memory accounts,
[codex:354555]   4871	        bool[] memory primaryAccounts,
[codex:354555]   4872	        Cache.MarketCache memory cache
[codex:354555]   4873	    )
[codex:354555]   4874	        private
[codex:354555]   4875	    {
[codex:354555]   4876	        // verify no increase in borrowPar for closing markets
[codex:354555]   4877	        uint256 numMarkets = cache.getNumMarkets();
[codex:354555]   4878	        for (uint256 m = 0; m < numMarkets; m++) {
[codex:354555]   4879	            if (cache.getIsClosing(m)) {
[codex:354555]   4880	                Require.that(
[codex:354555]   4881	                    state.getTotalPar(m).borrow <= cache.getBorrowPar(m),
[codex:354555]   4882	                    FILE,
[codex:354555]   4883	                    "Market is closing",
[codex:354555]   4884	                    m
[codex:354555]   4885	                );
[codex:354555]   4886	            }
[codex:354555]   4887	        }
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Summarizing oracle manipulation risk and liquidation status design**
[codex:354555] exec
[codex:354555] /bin/bash -lc 'rg -n "parseLiquidateArgs" -n contracts/Contract.sol' in /tmp/codex-multi-2me4sr08 succeeded in 6ms:
[codex:354555] 3968:    function parseLiquidateArgs(
[codex:354555] 4856:                _liquidate(state, Actions.parseLiquidateArgs(accounts, action), cache);
[codex:354555] exec
[codex:354555] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '3940,3995p'" in /tmp/codex-multi-2me4sr08 succeeded in 8ms:
[codex:354555]   3940	            account: accounts[args.accountId],
[codex:354555]   3941	            takerMarket: args.primaryMarketId,
[codex:354555]   3942	            makerMarket: args.secondaryMarketId,
[codex:354555]   3943	            exchangeWrapper: args.otherAddress,
[codex:354555]   3944	            orderData: args.data
[codex:354555]   3945	        });
[codex:354555]   3946	    }
[codex:354555]   3947	
[codex:354555]   3948	    function parseTradeArgs(
[codex:354555]   3949	        Account.Info[] memory accounts,
[codex:354555]   3950	        ActionArgs memory args
[codex:354555]   3951	    )
[codex:354555]   3952	        internal
[codex:354555]   3953	        pure
[codex:354555]   3954	        returns (TradeArgs memory)
[codex:354555]   3955	    {
[codex:354555]   3956	        assert(args.actionType == ActionType.Trade);
[codex:354555]   3957	        return TradeArgs({
[codex:354555]   3958	            amount: args.amount,
[codex:354555]   3959	            takerAccount: accounts[args.accountId],
[codex:354555] 
[codex:354555] thinking
[codex:354555] **Composing JSON output for findings**
[codex:354555] codex
[codex:354555] {"no_findings":false,"summary":"Found 1 medium-severity oracle-related risk where a transient price manipulation can permanently open an account to liquidation until the owner actively resets status.","findings":[{"severity":"medium","category":"oracle","title":"Liquidation status persists after transient undercollateralization","exploit_scenario":"If the price oracle can be manipulated even briefly (e.g., spot/low-liquidity oracle), an attacker can call `operate` with a minimal `Liquidate` action to set the victim account’s status to `Liquid` while prices are distorted. After prices normalize, the account remains `Liquid` and can be liquidated further without re-checking collateralization, allowing repeated liquidation at fair prices until the owner performs an operation to reset status.","recommendation":"Re-check collateralization on every liquidation regardless of current status, or automatically clear `Liquid` status once an account is collateralized (including when it is a secondary account). Consider time-bounding the `Liquid` flag or requiring a fresh oracle check for each liquidation.","evidence":"`_liquidate` sets `Account.Status.Liquid` after a single undercollateralization check and skips further checks if already `Liquid`, while `_verifyFinalState` only resets status for primary accounts, leaving liquidated (secondary) accounts in `Liquid` state indefinitely.","locations":["contracts/Contract.sol:5231","contracts/Contract.sol:4868"]}]}
[codex:354555] tokens used
[codex:354555] 98,603
[codex:354555] {"no_findings":false,"summary":"Found 1 medium-severity oracle-related risk where a transient price manipulation can permanently open an account to liquidation until the owner actively resets status.","findings":[{"severity":"medium","category":"oracle","title":"Liquidation status persists after transient undercollateralization","exploit_scenario":"If the price oracle can be manipulated even briefly (e.g., spot/low-liquidity oracle), an attacker can call `operate` with a minimal `Liquidate` action to set the victim account’s status to `Liquid` while prices are distorted. After prices normalize, the account remains `Liquid` and can be liquidated further without re-checking collateralization, allowing repeated liquidation at fair prices until the owner performs an operation to reset status.","recommendation":"Re-check collateralization on every liquidation regardless of current status, or automatically clear `Liquid` status once an account is collateralized (including when it is a secondary account). Consider time-bounding the `Liquid` flag or requiring a fresh oracle check for each liquidation.","evidence":"`_liquidate` sets `Account.Status.Liquid` after a single undercollateralization check and skips further checks if already `Liquid`, while `_verifyFinalState` only resets status for primary accounts, leaving liquidated (secondary) accounts in `Liquid` state indefinitely.","locations":["contracts/Contract.sol:5231","contracts/Contract.sol:4868"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-27T21:16:45.415309+00:00",
        "returncode": 0
    },
    "summary": "Found 1 medium-severity oracle-related risk where a transient price manipulation can permanently open an account to liquidation until the owner actively resets status.",
    "raw_final": {
        "summary": "Found 1 medium-severity oracle-related risk where a transient price manipulation can permanently open an account to liquidation until the owner actively resets status.",
        "findings": [
            {
                "title": "Liquidation status persists after transient undercollateralization",
                "category": "oracle",
                "evidence": "`_liquidate` sets `Account.Status.Liquid` after a single undercollateralization check and skips further checks if already `Liquid`, while `_verifyFinalState` only resets status for primary accounts, leaving liquidated (secondary) accounts in `Liquid` state indefinitely.",
                "severity": "medium",
                "locations": [
                    "contracts/Contract.sol:5231",
                    "contracts/Contract.sol:4868"
                ],
                "recommendation": "Re-check collateralization on every liquidation regardless of current status, or automatically clear `Liquid` status once an account is collateralized (including when it is a secondary account). Consider time-bounding the `Liquid` flag or requiring a fresh oracle check for each liquidation.",
                "exploit_scenario": "If the price oracle can be manipulated even briefly (e.g., spot/low-liquidity oracle), an attacker can call `operate` with a minimal `Liquidate` action to set the victim account\u2019s status to `Liquid` while prices are distorted. After prices normalize, the account remains `Liquid` and can be liquidated further without re-checking collateralization, allowing repeated liquidation at fair prices until the owner performs an operation to reset status."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
4
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
3
EXT*/BALANCE
7
Total opcodes
9490
Flags
delegatecall_present create_opcodes_present heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLVALUE
00000006: DUP1
00000007: ISZERO
00000008: PUSH2 0x0010
0000000b: JUMPI
0000000c: PUSH1 0x00
0000000e: DUP1
0000000f: REVERT
00000010: JUMPDEST
00000011: POP
00000012: PUSH1 0x04
00000014: CALLDATASIZE
00000015: LT
00000016: PUSH2 0x0348
00000019: JUMPI
0000001a: PUSH1 0x00
0000001c: CALLDATALOAD
0000001d: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
0000003b: SWAP1
0000003c: DIV
0000003d: DUP1
0000003e: PUSH4 0x8928378e
00000043: GT
00000044: PUSH2 0x01cf
00000047: JUMPI
00000048: DUP1
00000049: PUSH4 0xd5ecf7c5
0000004e: GT
0000004f: PUSH2 0x0116
00000052: JUMPI
00000053: DUP1
00000054: PUSH4 0xeb44fdd3
00000059: GT
0000005a: PUSH2 0x00bf
0000005d: JUMPI
0000005e: DUP1
0000005f: PUSH4 0xf2fde38b
00000064: GT
00000065: PUSH2 0x0099
00000068: JUMPI
00000069: DUP1
0000006a: PUSH4 0xf2fde38b
0000006f: EQ
00000070: PUSH2 0x0717
00000073: JUMPI
00000074: DUP1
00000075: PUSH4 0xf9416052
0000007a: EQ
0000007b: PUSH2 0x072a
0000007e: JUMPI
0000007f: DUP1
00000080: PUSH4 0xfd04b606
00000085: EQ
00000086: PUSH2 0x073d
00000089: JUMPI
0000008a: DUP1
0000008b: PUSH4 0xfd47eda6
00000090: EQ
00000091: PUSH2 0x0750
00000094: JUMPI
00000095: PUSH2 0x0348
00000098: JUMP
00000099: JUMPDEST
0000009a: DUP1
0000009b: PUSH4 0xeb44fdd3
000000a0: EQ
000000a1: PUSH2 0x06d1
000000a4: JUMPI
000000a5: DUP1
000000a6: PUSH4 0xef6957d0
000000ab: EQ
000000ac: PUSH2 0x06f1
000000af: JUMPI
000000b0: DUP1
000000b1: PUSH4 0xf2901ae2
000000b6: EQ
000000b7: PUSH2 0x0704
000000ba: JUMPI
000000bb: PUSH2 0x0348
000000be: JUMP
000000bf: JUMPDEST
000000c0: DUP1
000000c1: PUSH4 0xe5520228
000000c6: GT
000000c7: PUSH2 0x00f0
000000ca: JUMPI
000000cb: DUP1
000000cc: PUSH4 0xe5520228
000000d1: EQ
000000d2: PUSH2 0x06a1
000000d5: JUMPI
000000d6: DUP1
000000d7: PUSH4 0xe8e72f75
000000dc: EQ
000000dd: PUSH2 0x06a9
000000e0: JUMPI
000000e1: DUP1
000000e2: PUSH4 0xeb1c6e6b
000000e7: EQ
000000e8: PUSH2 0x06bc
000000eb: JUMPI
000000ec: PUSH2 0x0348
000000ef: JUMP
000000f0: JUMPDEST
000000f1: DUP1
000000f2: PUSH4 0xd5ecf7c5
000000f7: EQ
000000f8: PUSH2 0x065b
000000fb: JUMPI
000000fc: DUP1
000000fd: PUSH4 0xdeec053d
00000102: EQ
00000103: PUSH2 0x066e
00000106: JUMPI
00000107: DUP1
00000108: PUSH4 0xe51bfcb4
0000010d: EQ
0000010e: PUSH2 0x0681
00000111: JUMPI
00000112: PUSH2 0x0348
00000115: JUMP
00000116: JUMPDEST
00000117: DUP1
00000118: PUSH4 0xb548b892
0000011d: GT
0000011e: PUSH2 0x0178
00000121: JUMPI
00000122: DUP1
00000123: PUSH4 0xc190c2ec
00000128: GT
00000129: PUSH2 0x0152
0000012c: JUMPI
0000012d: DUP1
0000012e: PUSH4 0xc190c2ec
00000133: EQ
00000134: PUSH2 0x0608
00000137: JUMPI
00000138: DUP1
00000139: PUSH4 0xcb04a34c
0000013e: EQ
0000013f: PUSH2 0x0628
00000142: JUMPI
00000143: DUP1
00000144: PUSH4 0xd24c48bc
00000149: EQ
0000014a: PUSH2 0x0648
0000014d: JUMPI
0000014e: PUSH2 0x0348
00000151: JUMP
00000152: JUMPDEST
00000153: DUP1
00000154: PUSH4 0xb548b892
00000159: EQ
0000015a: PUSH2 0x05ca
0000015d: JUMPI
0000015e: DUP1
0000015f: PUSH4 0xc0bb72b7
00000164: EQ
00000165: PUSH2 0x05ed
00000168: JUMPI
00000169: DUP1
0000016a: PUSH4 0xc1460942
0000016f: EQ
00000170: PUSH2 0x0600
00000173: JUMPI
00000174: PUSH2 0x0348
00000177: JUMP
00000178: JUMPDEST
00000179: DUP1
0000017a: PUSH4 0x8f6bc659
0000017f: GT
00000180: PUSH2 0x01a9
00000183: JUMPI
00000184: DUP1
00000185: PUSH4 0x8f6bc659
0000018a: EQ
0000018b: PUSH2 0x0591
0000018e: JUMPI
0000018f: DUP1
00000190: PUSH4 0x982f323c
00000195: EQ
00000196: PUSH2 0x05a4
00000199: JUMPI
0000019a: DUP1
0000019b: PUSH4 0xa67a6a45
000001a0: EQ
000001a1: PUSH2 0x05b7
000001a4: JUMPI
000001a5: PUSH2 0x0348
000001a8: JUMP
000001a9: JUMPDEST
000001aa: DUP1
000001ab: PUSH4 0x8928378e
000001b0: EQ
000001b1: PUSH2 0x056e
000001b4: JUMPI
000001b5: DUP1
000001b6: PUSH4 0x8da5cb5b
000001bb: EQ
000001bc: PUSH2 0x0581
000001bf: JUMPI
000001c0: DUP1
000001c1: PUSH4 0x8f32d59b
000001c6: EQ
000001c7: PUSH2 0x0589
000001ca: JUMPI
000001cb: PUSH2 0x0348
000001ce: JUMP
000001cf: JUMPDEST
000001d0: DUP1
000001d1: PUSH4 0x387a498a
000001d6: GT
000001d7: PUSH2 0x0293
000001da: JUMPI
000001db: DUP1
000001dc: PUSH4 0x5ac7d17c
000001e1: GT
000001e2: PUSH2 0x023c
000001e5: JUMPI
000001e6: DUP1
000001e7: PUSH4 0x715018a6
000001ec: GT
000001ed: PUSH2 0x0216
000001f0: JUMPI
000001f1: DUP1
000001f2: PUSH4 0x715018a6
000001f7: EQ
000001f8: PUSH2 0x054b
000001fb: JUMPI
000001fc: DUP1
000001fd: PUSH4 0x7e9eaf41
00000202: EQ
00000203: PUSH2 0x0553
00000206: JUMPI
00000207: DUP1
00000208: PUSH4 0x85b53fc8
0000020d: EQ
0000020e: PUSH2 0x055b
00000211: JUMPI
00000212: PUSH2 0x0348
00000215: JUMP
00000216: JUMPDEST
00000217: DUP1
00000218: PUSH4 0x5ac7d17c
0000021d: EQ
0000021e: PUSH2 0x0501
00000221: JUMPI
00000222: DUP1
00000223: PUSH4 0x69794795
00000228: EQ
00000229: PUSH2 0x0514
0000022c: JUMPI
0000022d: DUP1
0000022e: PUSH4 0x6a8194e7
00000233: EQ
00000234: PUSH2 0x0529
00000237: JUMPI
00000238: PUSH2 0x0348
0000023b: JUMP
0000023c: JUMPDEST
0000023d: DUP1
0000023e: PUSH4 0x4be87414
00000243: GT
00000244: PUSH2 0x026d
00000247: JUMPI
00000248: DUP1
00000249: PUSH4 0x4be87414
0000024e: EQ
0000024f: PUSH2 0x04c6
00000252: JUMPI
00000253: DUP1
00000254: PUSH4 0x4f3c1542
00000259: EQ
0000025a: PUSH2 0x04d9
0000025d: JUMPI
0000025e: DUP1
0000025f: PUSH4 0x56ea84b2
00000264: EQ
00000265: PUSH2 0x04e1
00000268: JUMPI
00000269: PUSH2 0x0348
0000026c: JUMP
0000026d: JUMPDEST
0000026e: DUP1
0000026f: PUSH4 0x387a498a
00000274: EQ
00000275: PUSH2 0x0480
00000278: JUMPI
00000279: DUP1
0000027a: PUSH4 0x3a031bf0
0000027f: EQ
00000280: PUSH2 0x0493
00000283: JUMPI
00000284: DUP1
00000285: PUSH4 0x47d1b53c
0000028a: EQ
0000028b: PUSH2 0x04a6
0000028e: JUMPI
0000028f: PUSH2 0x0348
00000292: JUMP
00000293: JUMPDEST
00000294: DUP1
00000295: PUSH4 0x197f0f05
0000029a: GT
0000029b: PUSH2 0x02f5
0000029e: JUMPI
0000029f: DUP1
000002a0: PUSH4 0x2a560845
000002a5: GT
000002a6: PUSH2 0x02cf
000002a9: JUMPI
000002aa: DUP1
000002ab: PUSH4 0x2a560845
000002b0: EQ
000002b1: PUSH2 0x0447
000002b4: JUMPI
000002b5: DUP1
000002b6: PUSH4 0x2e822af3
000002bb: EQ
000002bc: PUSH2 0x045a
000002bf: JUMPI
000002c0: DUP1
000002c1: PUSH4 0x3063bce2
000002c6: EQ
000002c7: PUSH2 0x046d
000002ca: JUMPI
000002cb: PUSH2 0x0348
000002ce: JUMP
000002cf: JUMPDEST
000002d0: DUP1
000002d1: PUSH4 0x197f0f05
000002d6: EQ
000002d7: PUSH2 0x03ff
000002da: JUMPI
000002db: DUP1
000002dc: PUSH4 0x1a7777bb
000002e1: EQ
000002e2: PUSH2 0x0412
000002e5: JUMPI
000002e6: DUP1
000002e7: PUSH4 0x295c39a5
000002ec: EQ
000002ed: PUSH2 0x0432
000002f0: JUMPI
000002f1: PUSH2 0x0348
000002f4: JUMP
000002f5: JUMPDEST
000002f6: DUP1
000002f7: PUSH4 0x121fb72f
000002fc: GT
000002fd: PUSH2 0x0326
00000300: JUMPI
00000301: DUP1
00000302: PUSH4 0x121fb72f
00000307: EQ
00000308: PUSH2 0x03ab
0000030b: JUMPI
0000030c: DUP1
0000030d: PUSH4 0x124f914c
00000312: EQ
00000313: PUSH2 0x03be
00000316: JUMPI
00000317: DUP1
00000318: PUSH4 0x13368364
0000031d: EQ
0000031e: PUSH2 0x03df
00000321: JUMPI
00000322: PUSH2 0x0348
00000325: JUMP
00000326: JUMPDEST
00000327: DUP1
00000328: PUSH4 0x042069d6
0000032d: EQ
0000032e: PUSH2 0x034d
00000331: JUMPI
00000332: DUP1
00000333: PUSH4 0x052f72d7
00000338: EQ
00000339: PUSH2 0x0362
0000033c: JUMPI
0000033d: DUP1
0000033e: PUSH4 0x062bd3e9
00000343: EQ
00000344: PUSH2 0x038b
00000347: JUMPI
00000348: JUMPDEST
00000349: PUSH1 0x00
0000034b: DUP1
0000034c: REVERT
0000034d: JUMPDEST
0000034e: PUSH2 0x0360
00000351: PUSH2 0x035b
00000354: CALLDATASIZE
00000355: PUSH1 0x04
00000357: PUSH2 0x3594
0000035a: JUMP
0000035b: JUMPDEST
0000035c: PUSH2 0x0763
0000035f: JUMP
00000360: JUMPDEST
00000361: STOP
00000362: JUMPDEST
00000363: PUSH2 0x0375
00000366: PUSH2 0x0370
00000369: CALLDATASIZE
0000036a: PUSH1 0x04
0000036c: PUSH2 0x32cf
0000036f: JUMP
00000370: JUMPDEST
00000371: PUSH2 0x0817
00000374: JUMP
00000375: JUMPDEST
00000376: PUSH1 0x40
00000378: MLOAD
00000379: PUSH2 0x0382
0000037c: SWAP2
0000037d: SWAP1
0000037e: PUSH2 0x3cf4
00000381: JUMP
00000382: JUMPDEST
00000383: PUSH1 0x40
00000385: MLOAD
00000386: DUP1
00000387: SWAP2
00000388: SUB
00000389: SWAP1
0000038a: RETURN
0000038b: JUMPDEST
0000038c: PUSH2 0x039e
0000038f: PUSH2 0x0399
00000392: CALLDATASIZE
00000393: PUSH1 0x04
00000395: PUSH2 0x34ea
00000398: JUMP
00000399: JUMPDEST
0000039a: PUSH2 0x0831
0000039d: JUMP
0000039e: JUMPDEST
0000039f: PUSH1 0x40
000003a1: MLOAD
000003a2: PUSH2 0x0382
000003a5: SWAP2
000003a6: SWAP1
000003a7: PUSH2 0x3c6a
000003aa: JUMP
000003ab: JUMPDEST
000003ac: PUSH2 0x0360
000003af: PUSH2 0x03b9
000003b2: CALLDATASIZE
000003b3: PUSH1 0x04
000003b5: PUSH2 0x3564
000003b8: JUMP
000003b9: JUMPDEST
000003ba: PUSH2 0x084d
000003bd: JUMP
000003be: JUMPDEST
000003bf: PUSH2 0x03d1
000003c2: PUSH2 0x03cc
000003c5: CALLDATASIZE
000003c6: PUSH1 0x04
000003c8: PUSH2 0x347e
000003cb: JUMP
000003cc: JUMPDEST
000003cd: PUSH2 0x08be
000003d0: JUMP
000003d1: JUMPDEST
000003d2: PUSH1 0x40
000003d4: MLOAD
000003d5: PUSH2 0x0382
000003d8: SWAP3
000003d9: SWAP2
000003da: SWAP1
000003db: PUSH2 0x3f4a
000003de: JUMP
000003df: JUMPDEST
000003e0: PUSH2 0x03f2
000003e3: PUSH2 0x03ed
000003e6: CALLDATASIZE
000003e7: PUSH1 0x04
000003e9: PUSH2 0x34ea
000003ec: JUMP
000003ed: JUMPDEST
000003ee: PUSH2 0x08e2
000003f1: JUMP
000003f2: JUMPDEST
000003f3: PUSH1 0x40
000003f5: MLOAD
000003f6: PUSH2 0x0382
000003f9: SWAP2
000003fa: SWAP1
000003fb: PUSH2 0x3d02
000003fe: JUMP
000003ff: JUMPDEST
00000400: PUSH2 0x03f2
00000403: PUSH2 0x040d
00000406: CALLDATASIZE
00000407: PUSH1 0x04
00000409: PUSH2 0x34ea
0000040c: JUMP
0000040d: JUMPDEST
0000040e: PUSH2 0x0919
00000411: JUMP
00000412: JUMPDEST
00000413: PUSH2 0x0425
00000416: PUSH2 0x0420
00000419: CALLDATASIZE
0000041a: PUSH1 0x04
0000041c: PUSH2 0x34ea
0000041f: JUMP
00000420: JUMPDEST
00000421: PUSH2 0x0950
00000424: JUMP
00000425: JUMPDEST
00000426: PUSH1 0x40
00000428: MLOAD
00000429: PUSH2 0x0382
0000042c: SWAP2
0000042d: SWAP1
0000042e: PUSH2 0x3d2f
00000431: JUMP
00000432: JUMPDEST
00000433: PUSH2 0x043a
00000436: PUSH2 0x0987
00000439: JUMP
0000043a: JUMPDEST
0000043b: PUSH1 0x40
0000043d: MLOAD
0000043e: PUSH2 0x0382
00000441: SWAP2
00000442: SWAP1
00000443: PUSH2 0x3f66
00000446: JUMP
00000447: JUMPDEST
00000448: PUSH2 0x043a
0000044b: PUSH2 0x0455
0000044e: CALLDATASIZE
0000044f: PUSH1 0x04
00000451: PUSH2 0x32ed
00000454: JUMP
00000455: JUMPDEST
00000456: PUSH2 0x098d
00000459: JUMP
0000045a: JUMPDEST
0000045b: PUSH2 0x0360
0000045e: PUSH2 0x0468
00000461: CALLDATASIZE
00000462: PUSH1 0x04
00000464: PUSH2 0x3460
00000467: JUMP
00000468: JUMPDEST
00000469: PUSH2 0x0a67
0000046c: JUMP
0000046d: JUMPDEST
0000046e: PUSH2 0x0360
00000471: PUSH2 0x047b
00000474: CALLDATASIZE
00000475: PUSH1 0x04
00000477: PUSH2 0x3460
0000047a: JUMP
0000047b: JUMPDEST
0000047c: PUSH2 0x0b18
0000047f: JUMP
00000480: JUMPDEST
00000481: PUSH2 0x0360
00000484: PUSH2 0x048e
00000487: CALLDATASIZE
00000488: PUSH1 0x04
0000048a: PUSH2 0x3460
0000048d: JUMP
0000048e: JUMPDEST
0000048f: PUSH2 0x0b87
00000492: JUMP
00000493: JUMPDEST
00000494: PUSH2 0x0375
00000497: PUSH2 0x04a1
0000049a: CALLDATASIZE
0000049b: PUSH1 0x04
0000049d: PUSH2 0x32ed
000004a0: JUMP
000004a1: JUMPDEST
000004a2: PUSH2 0x0bf6
000004a5: JUMP
000004a6: JUMPDEST
000004a7: PUSH2 0x04b9
000004aa: PUSH2 0x04b4
000004ad: CALLDATASIZE
000004ae: PUSH1 0x04
000004b0: PUSH2 0x349c
000004b3: JUMP
000004b4: JUMPDEST
000004b5: PUSH2 0x0c12
000004b8: JUMP
000004b9: JUMPDEST
000004ba: PUSH1 0x40
000004bc: MLOAD
000004bd: PUSH2 0x0382
000004c0: SWAP2
000004c1: SWAP1
000004c2: PUSH2 0x3d93
000004c5: JUMP
000004c6: JUMPDEST
000004c7: PUSH2 0x0360
000004ca: PUSH2 0x04d4
000004cd: CALLDATASIZE
000004ce: PUSH1 0x04
000004d0: PUSH2 0x3594
000004d3: JUMP
000004d4: JUMPDEST
000004d5: PUSH2 0x0c35
000004d8: JUMP
000004d9: JUMPDEST
000004da: PUSH2 0x0425
000004dd: PUSH2 0x0ca6
000004e0: JUMP
000004e1: JUMPDEST
000004e2: PUSH2 0x04f4
000004e5: PUSH2 0x04ef
000004e8: CALLDATASIZE
000004e9: PUSH1 0x04
000004eb: PUSH2 0x34ea
000004ee: JUMP
000004ef: JUMPDEST
000004f0: PUSH2 0x0cc2
000004f3: JUMP
000004f4: JUMPDEST
000004f5: PUSH1 0x40
000004f7: MLOAD
000004f8: PUSH2 0x0382
000004fb: SWAP2
000004fc: SWAP1
000004fd: PUSH2 0x3d3d
00000500: JUMP
00000501: JUMPDEST
00000502: PUSH2 0x0375
00000505: PUSH2 0x050f
00000508: CALLDATASIZE
00000509: PUSH1 0x04
0000050b: PUSH2 0x34ea
0000050e: JUMP
0000050f: JUMPDEST
00000510: PUSH2 0x0cf7
00000513: JUMP
00000514: JUMPDEST
00000515: PUSH2 0x051c
00000518: PUSH2 0x0d1b
0000051b: JUMP
0000051c: JUMPDEST
0000051d: PUSH1 0x40
0000051f: MLOAD
00000520: PUSH2 0x0382
00000523: SWAP2
00000524: SWAP1
00000525: PUSH2 0x3daf
00000528: JUMP
00000529: JUMPDEST
0000052a: PUSH2 0x053c
0000052d: PUSH2 0x0537
00000530: CALLDATASIZE
00000531: PUSH1 0x04
00000533: PUSH2 0x347e
00000536: JUMP
00000537: JUMPDEST
00000538: PUSH2 0x0d77
0000053b: JUMP
0000053c: JUMPDEST
0000053d: PUSH1 0x40
0000053f: MLOAD
00000540: PUSH2 0x0382
00000543: SWAP4
00000544: SWAP3
00000545: SWAP2
00000546: SWAP1
00000547: PUSH2 0x3cbb
0000054a: JUMP
0000054b: JUMPDEST
0000054c: PUSH2 0x0360
0000054f: PUSH2 0x0ee5
00000552: JUMP
00000553: JUMPDEST
00000554: PUSH2 0x0425
00000557: PUSH2 0x0f65
0000055a: JUMP
0000055b: JUMPDEST
0000055c: PUSH2 0x0360
0000055f: PUSH2 0x0569
00000562: CALLDATASIZE
00000563: PUSH1 0x04
00000565: PUSH2 0x342b
00000568: JUMP
00000569: JUMPDEST
0000056a: PUSH2 0x0f81
0000056d: JUMP
0000056e: JUMPDEST
0000056f: PUSH2 0x0425
00000572: PUSH2 0x057c
00000575: CALLDATASIZE
00000576: PUSH1 0x04
00000578: PUSH2 0x34ea
0000057b: JUMP
0000057c: JUMPDEST
0000057d: PUSH2 0x1064
00000580: JUMP
00000581: JUMPDEST
00000582: PUSH2 0x039e
00000585: PUSH2 0x1086
00000588: JUMP
00000589: JUMPDEST
0000058a: PUSH2 0x0375
0000058d: PUSH2 0x10a2
00000590: JUMP
00000591: JUMPDEST
00000592: PUSH2 0x043a
00000595: PUSH2 0x059f
00000598: CALLDATASIZE
00000599: PUSH1 0x04
0000059b: PUSH2 0x3526
0000059e: JUMP
0000059f: JUMPDEST
000005a0: PUSH2 0x10c0
000005a3: JUMP
000005a4: JUMPDEST
000005a5: PUSH2 0x0360
000005a8: PUSH2 0x05b2
000005ab: CALLDATASIZE
000005ac: PUSH1 0x04
000005ae: PUSH2 0x3357
000005b1: JUMP
000005b2: JUMPDEST
000005b3: PUSH2 0x1133
000005b6: JUMP
000005b7: JUMPDEST
000005b8: PUSH2 0x0360
000005bb: PUSH2 0x05c5
000005be: CALLDATASIZE
000005bf: PUSH1 0x04
000005c1: PUSH2 0x33cc
000005c4: JUMP
000005c5: JUMPDEST
000005c6: PUSH2 0x11f0
000005c9: JUMP
000005ca: JUMPDEST
000005cb: PUSH2 0x05dd
000005ce: PUSH2 0x05d8
000005d1: CALLDATASIZE
000005d2: PUSH1 0x04
000005d4: PUSH2 0x34ea
000005d7: JUMP
000005d8: JUMPDEST
000005d9: PUSH2 0x1250
000005dc: JUMP
000005dd: JUMPDEST
000005de: PUSH1 0x40
000005e0: MLOAD
000005e1: PUSH2 0x0382
000005e4: SWAP5
000005e5: SWAP4
000005e6: SWAP3
000005e7: SWAP2
000005e8: SWAP1
000005e9: PUSH2 0x3d5a
000005ec: JUMP
000005ed: JUMPDEST
000005ee: PUSH2 0x0360
000005f1: PUSH2 0x05fb
000005f4: CALLDATASIZE
000005f5: PUSH1 0x04
000005f7: PUSH2 0x3460
000005fa: JUMP
000005fb: JUMPDEST
000005fc: PUSH2 0x12ac
000005ff: JUMP
00000600: JUMPDEST
00000601: PUSH2 0x0425
00000604: PUSH2 0x131b
00000607: JUMP
00000608: JUMPDEST
00000609: PUSH2 0x061b
0000060c: PUSH2 0x0616
0000060f: CALLDATASIZE
00000610: PUSH1 0x04
00000612: PUSH2 0x349c
00000615: JUMP
00000616: JUMPDEST
00000617: PUSH2 0x1337
0000061a: JUMP
0000061b: JUMPDEST
0000061c: PUSH1 0x40
0000061e: MLOAD
0000061f: PUSH2 0x0382
00000622: SWAP2
00000623: SWAP1
00000624: PUSH2 0x3f58
00000627: JUMP
00000628: JUMPDEST
00000629: PUSH2 0x063b
0000062c: PUSH2 0x0636
0000062f: CALLDATASIZE
00000630: PUSH1 0x04
00000632: PUSH2 0x34ea
00000635: JUMP
00000636: JUMPDEST
00000637: PUSH2 0x1377
0000063a: JUMP
0000063b: JUMPDEST
0000063c: PUSH1 0x40
0000063e: MLOAD
0000063f: PUSH2 0x0382
00000642: SWAP2
00000643: SWAP1
00000644: PUSH2 0x3f3c
00000647: JUMP
00000648: JUMPDEST
00000649: PUSH2 0x0425
0000064c: PUSH2 0x0656
0000064f: CALLDATASIZE
00000650: PUSH1 0x04
00000652: PUSH2 0x35c4
00000655: JUMP
00000656: JUMPDEST
00000657: PUSH2 0x1399
0000065a: JUMP
0000065b: JUMPDEST
0000065c: PUSH2 0x061b
0000065f: PUSH2 0x0669
00000662: CALLDATASIZE
00000663: PUSH1 0x04
00000665: PUSH2 0x34ea
00000668: JUMP
00000669: JUMPDEST
0000066a: PUSH2 0x13c5
0000066d: JUMP
0000066e: JUMPDEST
0000066f: PUSH2 0x04f4
00000672: PUSH2 0x067c
00000675: CALLDATASIZE
00000676: PUSH1 0x04
00000678: PUSH2 0x34ea
0000067b: JUMP
0000067c: JUMPDEST
0000067d: PUSH2 0x13e7
00000680: JUMP
00000681: JUMPDEST
00000682: PUSH2 0x0694
00000685: PUSH2 0x068f
00000688: CALLDATASIZE
00000689: PUSH1 0x04
0000068b: PUSH2 0x347e
0000068e: JUMP
0000068f: JUMPDEST
00000690: PUSH2 0x1409
00000693: JUMP
00000694: JUMPDEST
00000695: PUSH1 0x40
00000697: MLOAD
00000698: PUSH2 0x0382
0000069b: SWAP2
0000069c: SWAP1
0000069d: PUSH2 0x3d10
000006a0: JUMP
000006a1: JUMPDEST
000006a2: PUSH2 0x0425
000006a5: PUSH2 0x141b
000006a8: JUMP
000006a9: JUMPDEST
000006aa: PUSH2 0x0360
000006ad: PUSH2 0x06b7
000006b0: CALLDATASIZE
000006b1: PUSH1 0x04
000006b3: PUSH2 0x3564
000006b6: JUMP
000006b7: JUMPDEST
000006b8: PUSH2 0x1437
000006bb: JUMP
000006bc: JUMPDEST
000006bd: PUSH2 0x06c4
000006c0: PUSH2 0x14a8
000006c3: JUMP
000006c4: JUMPDEST
000006c5: PUSH1 0x40
000006c7: MLOAD
000006c8: PUSH2 0x0382
000006cb: SWAP2
000006cc: SWAP1
000006cd: PUSH2 0x3da1
000006d0: JUMP
000006d1: JUMPDEST
000006d2: PUSH2 0x06e4
000006d5: PUSH2 0x06df
000006d8: CALLDATASIZE
000006d9: PUSH1 0x04
000006db: PUSH2 0x34ea
000006de: JUMP
000006df: JUMPDEST
000006e0: PUSH2 0x154a
000006e3: JUMP
000006e4: JUMPDEST
000006e5: PUSH1 0x40
000006e7: MLOAD
000006e8: PUSH2 0x0382
000006eb: SWAP2
000006ec: SWAP1
000006ed: PUSH2 0x3d4b
000006f0: JUMP
000006f1: JUMPDEST
000006f2: PUSH2 0x0360
000006f5: PUSH2 0x06ff
000006f8: CALLDATASIZE
000006f9: PUSH1 0x04
000006fb: PUSH2 0x3545
000006fe: JUMP
000006ff: JUMPDEST
00000700: PUSH2 0x1689
00000703: JUMP
00000704: JUMPDEST
00000705: PUSH2 0x0360
00000708: PUSH2 0x0712
0000070b: CALLDATASIZE
0000070c: PUSH1 0x04
0000070e: PUSH2 0x3327
00000711: JUMP
00000712: JUMPDEST
00000713: PUSH2 0x16fa
00000716: JUMP
00000717: JUMPDEST
00000718: PUSH2 0x0360
0000071b: PUSH2 0x0725
0000071e: CALLDATASIZE
0000071f: PUSH1 0x04
00000721: PUSH2 0x32cf
00000724: JUMP
00000725: JUMPDEST
00000726: PUSH2 0x176b
00000729: JUMP
0000072a: JUMPDEST
0000072b: PUSH2 0x03d1
0000072e: PUSH2 0x0738
00000731: CALLDATASIZE
00000732: PUSH1 0x04
00000734: PUSH2 0x347e
00000737: JUMP
00000738: JUMPDEST
00000739: PUSH2 0x1788
0000073c: JUMP
0000073d: JUMPDEST
0000073e: PUSH2 0x0425
00000741: PUSH2 0x074b
00000744: CALLDATASIZE
00000745: PUSH1 0x04
00000747: PUSH2 0x34ea
0000074a: JUMP
0000074b: JUMPDEST
0000074c: PUSH2 0x17a3
0000074f: JUMP
00000750: JUMPDEST
00000751: PUSH2 0x0425
00000754: PUSH2 0x075e
00000757: CALLDATASIZE
00000758: PUSH1 0x04
0000075a: PUSH2 0x34ea
0000075d: JUMP
0000075e: JUMPDEST
0000075f: PUSH2 0x17da
00000762: JUMP
00000763: JUMPDEST
00000764: PUSH2 0x076b
00000767: PUSH2 0x10a2
0000076a: JUMP
0000076b: JUMPDEST
0000076c: PUSH2 0x0774
0000076f: JUMPI
00000770: PUSH1 0x00
00000772: DUP1
00000773: REVERT
00000774: JUMPDEST
00000775: PUSH1 0x0c
00000777: DUP1
00000778: SLOAD
00000779: PUSH1 0x01
0000077b: ADD
0000077c: SWAP1
0000077d: DUP2
0000077e: SWAP1
0000077f: SSTORE
00000780: PUSH1 0x40
00000782: MLOAD
00000783: PUSH32 0x8854ab3e00000000000000000000000000000000000000000000000000000000
000007a4: DUP2
000007a5: MSTORE
000007a6: PUSH20 0x8a6629feba4196e0a61b8e8c94d4905e525bc055
000007bb: SWAP1
000007bc: PUSH4 0x8854ab3e
000007c1: SWAP1
000007c2: PUSH2 0x07d4
000007c5: SWAP1
000007c6: PUSH1 0x00
000007c8: SWAP1
000007c9: DUP8
000007ca: SWAP1
000007cb: DUP8
000007cc: SWAP1
000007cd: PUSH1 0x04
000007cf: ADD
000007d0: PUSH2 0x3f14
000007d3: JUMP
000007d4: JUMPDEST
000007d5: PUSH1 0x00
000007d7: PUSH1 0x40
000007d9: MLOAD
000007da: DUP1
000007db: DUP4
000007dc: SUB
000007dd: DUP2
000007de: DUP7
000007df: DUP1
000007e0: EXTCODESIZE
000007e1: ISZERO
000007e2: DUP1
000007e3: ISZERO
000007e4: PUSH2 0x07ec
000007e7: JUMPI
000007e8: PUSH1 0x00
000007ea: DUP1
000007eb: REVERT
000007ec: JUMPDEST
000007ed: POP
000007ee: GAS
000007ef: DELEGATECALL
000007f0: ISZERO
000007f1: DUP1
000007f2: ISZERO
000007f3: PUSH2 0x0800
000007f6: JUMPI
000007f7: RETURNDATASIZE
000007f8: PUSH1 0x00
000007fa: DUP1
000007fb: RETURNDATACOPY
000007fc: RETURNDATASIZE
000007fd: PUSH1 0x00
000007ff: REVERT
00000800: JUMPDEST
00000801: POP
00000802: POP
00000803: POP
00000804: POP
00000805: PUSH1 0x0c
00000807: SLOAD
00000808: DUP2
00000809: EQ
0000080a: PUSH2 0x0812
0000080d: JUMPI
0000080e: PUSH1 0x00
00000810: DUP1
00000811: REVERT
00000812: JUMPDEST
00000813: POP
00000814: POP
00000815: POP
00000816: JUMP
00000817: JUMPDEST
00000818: PUSH1 0x00
0000081a: PUSH2 0x0829
0000081d: DUP2
0000081e: DUP4
0000081f: PUSH4 0xffffffff
00000824: PUSH2 0x180f
00000827: AND
00000828: JUMP
00000829: JUMPDEST
0000082a: SWAP1
0000082b: POP
0000082c: JUMPDEST
0000082d: SWAP2
0000082e: SWAP1
0000082f: POP
00000830: JUMP
00000831: JUMPDEST
00000832: PUSH1 0x00
00000834: PUSH2 0x083c
00000837: DUP3
00000838: PUSH2 0x183e
0000083b: JUMP
0000083c: JUMPDEST
0000083d: PUSH2 0x0829
00000840: PUSH1 0x00
00000842: DUP4
00000843: PUSH4 0xffffffff
00000848: PUSH2 0x1871
0000084b: AND
0000084c: JUMP
0000084d: JUMPDEST
0000084e: PUSH2 0x0855
00000851: PUSH2 0x10a2
00000854: JUMP
00000855: JUMPDEST
00000856: PUSH2 0x085e
00000859: JUMPI
0000085a: PUSH1 0x00
0000085c: DUP1
0000085d: REVERT
0000085e: JUMPDEST
0000085f: PUSH1 0x0c
00000861: DUP1
00000862: SLOAD
00000863: PUSH1 0x01
00000865: ADD
00000866: SWAP1
00000867: DUP2
00000868: SWAP1
00000869: SSTORE
0000086a: PUSH1 0x40
0000086c: MLOAD
0000086d: PUSH32 0xaa92e34800000000000000000000000000000000000000000000000000000000
0000088e: DUP2
0000088f: MSTORE
00000890: PUSH20 0x8a6629feba4196e0a61b8e8c94d4905e525bc055
000008a5: SWAP1
000008a6: PUSH4 0xaa92e348
000008ab: SWAP1
000008ac: PUSH2 0x07d4
000008af: SWAP1
000008b0: PUSH1 0x00
000008b2: SWAP1
000008b3: DUP8
000008b4: SWAP1
000008b5: DUP8
000008b6: SWAP1
000008b7: PUSH1 0x04
000008b9: ADD
000008ba: PUSH2 0x3eec
000008bd: JUMP
000008be: JUMPDEST
000008bf: PUSH2 0x08c6
000008c2: PUSH2 0x2d4f
000008c5: JUMP
000008c6: JUMPDEST
000008c7: PUSH2 0x08ce
000008ca: PUSH2 0x2d4f
000008cd: JUMP
000008ce: JUMPDEST
000008cf: PUSH2 0x08d9
000008d2: DUP4
000008d3: PUSH1 0x00
000008d5: PUSH2 0x189d
000008d8: JUMP
000008d9: JUMPDEST
000008da: SWAP2
000008db: POP
000008dc: SWAP2
000008dd: POP
000008de: SWAP2
000008df: POP
000008e0: SWAP2
000008e1: JUMP
000008e2: JUMPDEST
000008e3: PUSH1 0x00
000008e5: PUSH2 0x08ed
000008e8: DUP3
000008e9: PUSH2 0x183e
000008ec: JUMP
000008ed: JUMPDEST
000008ee: POP
000008ef: PUSH1 0x00
000008f1: SWAP1
000008f2: DUP2
000008f3: MSTORE
000008f4: PUSH1 0x01
000008f6: PUSH1 0x20
000008f8: MSTORE
000008f9: PUSH1 0x40
000008fb: SWAP1
000008fc: KECCAK256
000008fd: PUSH1 0x03
000008ff: ADD
00000900: SLOAD
00000901: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000916: AND
00000917: SWAP1
00000918: JUMP
00000919: JUMPDEST
0000091a: PUSH1 0x00
0000091c: PUSH2 0x0924
0000091f: DUP3
00000920: PUSH2 0x183e
00000923: JUMP
00000924: JUMPDEST
00000925: POP
00000926: PUSH1 0x00
00000928: SWAP1
00000929: DUP2
0000092a: MSTORE
0000092b: PUSH1 0x01
0000092d: PUSH1 0x20
0000092f: MSTORE
00000930: PUSH1 0x40
00000932: SWAP1
00000933: KECCAK256
00000934: PUSH1 0x04
00000936: ADD
00000937: SLOAD
00000938: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000094d: AND
0000094e: SWAP1
0000094f: JUMP
00000950: JUMPDEST
00000951: PUSH2 0x0958
00000954: PUSH2 0x2d4f
00000957: JUMP
00000958: JUMPDEST
00000959: PUSH2 0x0961
0000095c: DUP3
0000095d: PUSH2 0x183e
00000960: JUMP
00000961: JUMPDEST
00000962: POP
00000963: PUSH1 0x00
00000965: SWAP1
00000966: DUP2
00000967: MSTORE
00000968: PUSH1 0x01
0000096a: PUSH1 0x20
0000096c: SWAP1
0000096d: DUP2
0000096e: MSTORE
0000096f: PUSH1 0x40
00000971: SWAP2
00000972: DUP3
00000973: SWAP1
00000974: KECCAK256
00000975: DUP3
00000976: MLOAD
00000977: SWAP2
00000978: DUP3
00000979: ADD
0000097a: SWAP1
0000097b: SWAP3
0000097c: MSTORE
0000097d: PUSH1 0x06
0000097f: SWAP1
00000980: SWAP2
00000981: ADD
00000982: SLOAD
00000983: DUP2
00000984: MSTORE
00000985: SWAP1
00000986: JUMP
00000987: JUMPDEST
00000988: PUSH1 0x00
0000098a: SLOAD
0000098b: SWAP1
0000098c: JUMP
0000098d: JUMPDEST
0000098e: PUSH1 0x00
00000990: PUSH2 0x0997
00000993: PUSH2 0x10a2
00000996: JUMP
00000997: JUMPDEST
00000998: PUSH2 0x09a0
0000099b: JUMPI
0000099c: PUSH1 0x00
0000099e: DUP1
0000099f: REVERT
000009a0: JUMPDEST
000009a1: PUSH1 0x0c
000009a3: DUP1
000009a4: SLOAD
000009a5: PUSH1 0x01
000009a7: ADD
000009a8: SWAP1
000009a9: DUP2
000009aa: SWAP1
000009ab: SSTORE
000009ac: PUSH1 0x40
000009ae: MLOAD
000009af: PUSH32 0xdd32998a00000000000000000000000000000000000000000000000000000000
000009d0: DUP2
000009d1: MSTORE
000009d2: PUSH20 0x8a6629feba4196e0a61b8e8c94d4905e525bc055
000009e7: SWAP1
000009e8: PUSH4 0xdd32998a
000009ed: SWAP1
000009ee: PUSH2 0x0a00
000009f1: SWAP1
000009f2: PUSH1 0x00
000009f4: SWAP1
000009f5: DUP9
000009f6: SWAP1
000009f7: DUP9
000009f8: SWAP1
000009f9: PUSH1 0x04
000009fb: ADD
000009fc: PUSH2 0x3dbd
000009ff: JUMP
00000a00: JUMPDEST
00000a01: PUSH1 0x20
00000a03: PUSH1 0x40
00000a05: MLOAD
00000a06: DUP1
00000a07: DUP4
00000a08: SUB
00000a09: DUP2
00000a0a: DUP7
00000a0b: DUP1
00000a0c: EXTCODESIZE
00000a0d: ISZERO
00000a0e: DUP1
00000a0f: ISZERO
00000a10: PUSH2 0x0a18
00000a13: JUMPI
00000a14: PUSH1 0x00
00000a16: DUP1
00000a17: REVERT
00000a18: JUMPDEST
00000a19: POP
00000a1a: GAS
00000a1b: DELEGATECALL
00000a1c: ISZERO
00000a1d: DUP1
00000a1e: ISZERO
00000a1f: PUSH2 0x0a2c
00000a22: JUMPI
00000a23: RETURNDATASIZE
00000a24: PUSH1 0x00
00000a26: DUP1
00000a27: RETURNDATACOPY
00000a28: RETURNDATASIZE
00000a29: PUSH1 0x00
00000a2b: REVERT
00000a2c: JUMPDEST
00000a2d: POP
00000a2e: POP
00000a2f: POP
00000a30: POP
00000a31: PUSH1 0x40
00000a33: MLOAD
00000a34: RETURNDATASIZE
00000a35: PUSH1 0x1f
00000a37: NOT
00000a38: PUSH1 0x1f
00000a3a: DUP3
00000a3b: ADD
00000a3c: AND
00000a3d: DUP3
00000a3e: ADD
00000a3f: DUP1
00000a40: PUSH1 0x40
00000a42: MSTORE
00000a43: POP
00000a44: PUSH2 0x0a50
00000a47: SWAP2
00000a48: SWAP1
00000a49: DUP2
00000a4a: ADD
00000a4b: SWAP1
00000a4c: PUSH2 0x3508
00000a4f: JUMP
00000a50: JUMPDEST
00000a51: SWAP2
00000a52: POP
00000a53: PUSH1 0x0c
00000a55: SLOAD
00000a56: DUP2
00000a57: EQ
00000a58: PUSH2 0x0a60
00000a5b: JUMPI
00000a5c: PUSH1 0x00
00000a5e: DUP1
00000a5f: REVERT
00000a60: JUMPDEST
00000a61: POP
00000a62: SWAP3
00000a63: SWAP2
00000a64: POP
00000a65: POP
00000a66: JUMP
00000a67: JUMPDEST
00000a68: PUSH2 0x0a6f
00000a6b: PUSH2 0x10a2
00000a6e: JUMP
00000a6f: JUMPDEST
00000a70: PUSH2 0x0a78
00000a73: JUMPI
00000a74: PUSH1 0x00
00000a76: DUP1
00000a77: REVERT
00000a78: JUMPDEST
00000a79: PUSH1 0x0c
00000a7b: DUP1
00000a7c: SLOAD
00000a7d: PUSH1 0x01
00000a7f: ADD
00000a80: SWAP1
00000a81: DUP2
00000a82: SWAP1
00000a83: SSTORE
00000a84: PUSH1 0x40
00000a86: MLOAD
00000a87: PUSH32 0xf9cacc4c00000000000000000000000000000000000000000000000000000000
00000aa8: DUP2
00000aa9: MSTORE
00000aaa: PUSH20 0x8a6629feba4196e0a61b8e8c94d4905e525bc055
00000abf: SWAP1
00000ac0: PUSH4 0xf9cacc4c
00000ac5: SWAP1
00000ac6: PUSH2 0x0ad6
00000ac9: SWAP1
00000aca: PUSH1 0x00
00000acc: SWAP1
00000acd: DUP7
00000ace: SWAP1
00000acf: PUSH1 0x04
00000ad1: ADD
00000ad2: PUSH2 0x3e9b
00000ad5: JUMP
00000ad6: JUMPDEST
00000ad7: PUSH1 0x00
00000ad9: PUSH1 0x40
00000adb: MLOAD
00000adc: DUP1
00000add: DUP4
00000ade: SUB
00000adf: DUP2
00000ae0: DUP7
00000ae1: DUP1
00000ae2: EXTCODESIZE
00000ae3: ISZERO
00000ae4: DUP1
00000ae5: ISZERO
00000ae6: PUSH2 0x0aee
00000ae9: JUMPI
00000aea: PUSH1 0x00
00000aec: DUP1
00000aed: REVERT
00000aee: JUMPDEST
00000aef: POP
00000af0: GAS
00000af1: DELEGATECALL
00000af2: ISZERO
00000af3: DUP1
00000af4: ISZERO
00000af5: PUSH2 0x0b02
00000af8: JUMPI
00000af9: RETURNDATASIZE
00000afa: PUSH1 0x00
00000afc: DUP1
00000afd: RETURNDATACOPY
00000afe: RETURNDATASIZE
00000aff: PUSH1 0x00
00000b01: REVERT
00000b02: JUMPDEST
00000b03: POP
00000b04: POP
00000b05: POP
00000b06: POP
00000b07: PUSH1 0x0c
00000b09: SLOAD
00000b0a: DUP2
00000b0b: EQ
00000b0c: PUSH2 0x0b14
00000b0f: JUMPI
00000b10: PUSH1 0x00
00000b12: DUP1
00000b13: REVERT
00000b14: JUMPDEST
00000b15: POP
00000b16: POP
00000b17: JUMP
00000b18: JUMPDEST
00000b19: PUSH2 0x0b20
00000b1c: PUSH2 0x10a2
00000b1f: JUMP
00000b20: JUMPDEST
00000b21: PUSH2 0x0b29
00000b24: JUMPI
00000b25: PUSH1 0x00
00000b27: DUP1
00000b28: REVERT
00000b29: JUMPDEST
00000b2a: PUSH1 0x0c
00000b2c: DUP1
00000b2d: SLOAD
00000b2e: PUSH1 0x01
00000b30: ADD
00000b31: SWAP1
00000b32: DUP2
00000b33: SWAP1
00000b34: SSTORE
00000b35: PUSH1 0x40
00000b37: MLOAD
00000b38: PUSH32 0x0f44e6bc00000000000000000000000000000000000000000000000000000000
00000b59: DUP2
00000b5a: MSTORE
00000b5b: PUSH20 0x8a6629feba4196e0a61b8e8c94d4905e525bc055
00000b70: SWAP1
00000b71: PUSH4 0x0f44e6bc
00000b76: SWAP1
00000b77: PUSH2 0x0ad6
00000b7a: SWAP1
00000b7b: PUSH1 0x00
00000b7d: SWAP1
00000b7e: DUP7
00000b7f: SWAP1
00000b80: PUSH1 0x04
00000b82: ADD
00000b83: PUSH2 0x3e9b
00000b86: JUMP
00000b87: JUMPDEST
00000b88: PUSH2 0x0b8f
00000b8b: PUSH2 0x10a2
00000b8e: JUMP
00000b8f: JUMPDEST
00000b90: PUSH2 0x0b98
00000b93: JUMPI
00000b94: PUSH1 0x00
00000b96: DUP1
00000b97: REVERT
00000b98: JUMPDEST
00000b99: PUSH1 0x0c
00000b9b: DUP1
00000b9c: SLOAD
00000b9d: PUSH1 0x01
00000b9f: ADD
00000ba0: SWAP1
00000ba1: DUP2
00000ba2: SWAP1
00000ba3: SSTORE
00000ba4: PUSH1 0x40
00000ba6: MLOAD
00000ba7: PUSH32 0x311401d000000000000000000000000000000000000000000000000000000000
00000bc8: DUP2
00000bc9: MSTORE
00000bca: PUSH20 0x8a6629feba4196e0a61b8e8c94d4905e525bc055
00000bdf: SWAP1
00000be0: PUSH4 0x311401d0
00000be5: SWAP1
00000be6: PUSH2 0x0ad6
00000be9: SWAP1
00000bea: PUSH1 0x00
00000bec: SWAP1
00000bed: DUP7
00000bee: SWAP1
00000bef: PUSH1 0x04
00000bf1: ADD
00000bf2: PUSH2 0x3e9b
00000bf5: JUMP
00000bf6: JUMPDEST
00000bf7: PUSH1 0x00
00000bf9: PUSH2 0x0c09
00000bfc: DUP2
00000bfd: DUP5
00000bfe: DUP5
00000bff: PUSH4 0xffffffff
00000c04: PUSH2 0x1929
00000c07: AND
00000c08: JUMP
00000c09: JUMPDEST
00000c0a: SWAP1
00000c0b: POP
00000c0c: JUMPDEST
00000c0d: SWAP3
00000c0e: SWAP2
00000c0f: POP
00000c10: POP
00000c11: JUMP
00000c12: JUMPDEST
00000c13: PUSH2 0x0c1a
00000c16: PUSH2 0x2d62
00000c19: JUMP
00000c1a: JUMPDEST
00000c1b: PUSH2 0x0c23
00000c1e: DUP3
00000c1f: PUSH2 0x183e
00000c22: JUMP
00000c23: JUMPDEST
00000c24: PUSH2 0x0c09
00000c27: PUSH1 0x00
00000c29: DUP5
00000c2a: DUP5
00000c2b: PUSH4 0xffffffff
00000c30: PUSH2 0x1969
00000c33: AND
00000c34: JUMP
00000c35: JUMPDEST
00000c36: PUSH2 0x0c3d
00000c39: PUSH2 0x10a2
00000c3c: JUMP
00000c3d: JUMPDEST
00000c3e: PUSH2 0x0c46
00000c41: JUMPI
00000c42: PUSH1 0x00
00000c44: DUP1
00000c45: REVERT
00000c46: JUMPDEST
00000c47: PUSH1 0x0c
00000c49: DUP1
00000c4a: SLOAD
00000c4b: PUSH1 0x01
00000c4d: ADD
00000c4e: SWAP1
00000c4f: DUP2
00000c50: SWAP1
00000c51: SSTORE
00000c52: PUSH1 0x40
00000c54: MLOAD
00000c55: PUSH32 0x7335079b00000000000000000000000000000000000000000000000000000000
00000c76: DUP2
00000c77: MSTORE
00000c78: PUSH20 0x8a6629feba4196e0a61b8e8c94d4905e525bc055
00000c8d: SWAP1
00000c8e: PUSH4 0x7335079b
00000c93: SWAP1
00000c94: PUSH2 0x07d4
00000c97: SWAP1
00000c98: PUSH1 0x00
00000c9a: SWAP1
00000c9b: DUP8
00000c9c: SWAP1
00000c9d: DUP8
00000c9e: SWAP1
00000c9f: PUSH1 0x04
00000ca1: ADD
00000ca2: PUSH2 0x3f14
00000ca5: JUMP
00000ca6: JUMPDEST
00000ca7: PUSH2 0x0cae
00000caa: PUSH2 0x2d4f
00000cad: JUMP
00000cae: JUMPDEST
00000caf: POP
00000cb0: PUSH1 0x40
00000cb2: DUP1
00000cb3: MLOAD
00000cb4: PUSH1 0x20
00000cb6: DUP2
00000cb7: ADD
00000cb8: SWAP1
00000cb9: SWAP2
00000cba: MSTORE
00000cbb: PUSH1 0x05
00000cbd: SLOAD
00000cbe: DUP2
00000cbf: MSTORE
00000cc0: SWAP1
00000cc1: JUMP
00000cc2: JUMPDEST
00000cc3: PUSH2 0x0cca
00000cc6: PUSH2 0x2d79
00000cc9: JUMP
00000cca: JUMPDEST
00000ccb: PUSH2 0x0cd3
00000cce: DUP3
00000ccf: PUSH2 0x183e
00000cd2: JUMP
00000cd3: JUMPDEST
00000cd4: PUSH2 0x0829
00000cd7: DUP3
00000cd8: PUSH2 0x0ce8
00000cdb: PUSH1 0x00
00000cdd: DUP3
00000cde: PUSH4 0xffffffff
00000ce3: PUSH2 0x19e5
00000ce6: AND
00000ce7: JUMP
00000ce8: JUMPDEST
00000ce9: PUSH1 0x00
00000ceb: SWAP2
00000cec: SWAP1
00000ced: PUSH4 0xffffffff
00000cf2: PUSH2 0x1a69
00000cf5: AND
00000cf6: JUMP
00000cf7: JUMPDEST
00000cf8: PUSH1 0x00
00000cfa: PUSH2 0x0d02
00000cfd: DUP3
00000cfe: PUSH2 0x183e
00000d01: JUMP
00000d02: JUMPDEST
00000d03: POP
00000d04: PUSH1 0x00
00000d06: SWAP1
00000d07: DUP2
00000d08: MSTORE
00000d09: PUSH1 0x01
00000d0b: PUSH1 0x20
00000d0d: MSTORE
00000d0e: PUSH1 0x40
00000d10: SWAP1
00000d11: KECCAK256
00000d12: PUSH1 0x07
00000d14: ADD
00000d15: SLOAD
00000d16: PUSH1 0xff
00000d18: AND
00000d19: SWAP1
00000d1a: JUMP
00000d1b: JUMPDEST
00000d1c: PUSH2 0x0d23
00000d1f: PUSH2 0x2d99
00000d22: JUMP
00000d23: JUMPDEST
00000d24: POP
00000d25: PUSH1 0x40
00000d27: DUP1
00000d28: MLOAD
00000d29: PUSH1 0xa0
00000d2b: DUP2
00000d2c: ADD
00000d2d: DUP3
00000d2e: MSTORE
00000d2f: PUSH1 0x05
00000d31: SLOAD
00000d32: PUSH1 0x80
00000d34: DUP3
00000d35: ADD
00000d36: SWAP1
00000d37: DUP2
00000d38: MSTORE
00000d39: DUP2
00000d3a: MSTORE
00000d3b: DUP2
00000d3c: MLOAD
00000d3d: PUSH1 0x20
00000d3f: DUP2
00000d40: DUP2
00000d41: ADD
00000d42: DUP5
00000d43: MSTORE
00000d44: PUSH1 0x06
00000d46: SLOAD
00000d47: DUP3
00000d48: MSTORE
00000d49: DUP1
00000d4a: DUP4
00000d4b: ADD
00000d4c: SWAP2
00000d4d: SWAP1
00000d4e: SWAP2
00000d4f: MSTORE
00000d50: DUP3
00000d51: MLOAD
00000d52: DUP1
00000d53: DUP3
00000d54: ADD
00000d55: DUP5
00000d56: MSTORE
00000d57: PUSH1 0x07
00000d59: SLOAD
00000d5a: DUP2
00000d5b: MSTORE
00000d5c: DUP3
00000d5d: DUP5
00000d5e: ADD
00000d5f: MSTORE
00000d60: DUP3
00000d61: MLOAD
00000d62: SWAP1
00000d63: DUP2
00000d64: ADD
00000d65: SWAP1
00000d66: SWAP3
00000d67: MSTORE
00000d68: PUSH1 0x08
00000d6a: SLOAD
00000d6b: DUP3
00000d6c: MSTORE
00000d6d: PUSH1 0x60
00000d6f: DUP2
00000d70: ADD
00000d71: SWAP2
00000d72: SWAP1
00000d73: SWAP2
00000d74: MSTORE
00000d75: SWAP1
00000d76: JUMP
00000d77: JUMPDEST
00000d78: PUSH1 0x60
00000d7a: DUP1
00000d7b: PUSH1 0x60
00000d7d: PUSH1 0x00
00000d7f: DUP1
00000d80: PUSH1 0x00
00000d82: ADD
00000d83: SLOAD
00000d84: SWAP1
00000d85: POP
00000d86: PUSH1 0x60
00000d88: DUP2
00000d89: PUSH1 0x40
00000d8b: MLOAD
00000d8c: SWAP1
00000d8d: DUP1
00000d8e: DUP3
00000d8f: MSTORE
00000d90: DUP1
00000d91: PUSH1 0x20
00000d93: MUL
00000d94: PUSH1 0x20
00000d96: ADD
00000d97: DUP3
00000d98: ADD
00000d99: PUSH1 0x40
00000d9b: MSTORE
00000d9c: DUP1
00000d9d: ISZERO
00000d9e: PUSH2 0x0db1
00000da1: JUMPI
00000da2: DUP2
00000da3: PUSH1 0x20
00000da5: ADD
00000da6: PUSH1 0x20
00000da8: DUP3
00000da9: MUL
00000daa: DUP1
00000dab: CODESIZE
00000dac: DUP4
00000dad: CODECOPY
00000dae: ADD
00000daf: SWAP1
00000db0: POP
00000db1: JUMPDEST
00000db2: POP
00000db3: SWAP1
00000db4: POP
00000db5: PUSH1 0x60
00000db7: DUP3
00000db8: PUSH1 0x40
00000dba: MLOAD
00000dbb: SWAP1
00000dbc: DUP1
00000dbd: DUP3
00000dbe: MSTORE
00000dbf: DUP1
00000dc0: PUSH1 0x20
00000dc2: MUL
00000dc3: PUSH1 0x20
00000dc5: ADD
00000dc6: DUP3
00000dc7: ADD
00000dc8: PUSH1 0x40
00000dca: MSTORE
00000dcb: DUP1
00000dcc: ISZERO
00000dcd: PUSH2 0x0df0
00000dd0: JUMPI
00000dd1: DUP2
00000dd2: PUSH1 0x20
00000dd4: ADD
00000dd5: JUMPDEST
00000dd6: PUSH2 0x0ddd
00000dd9: PUSH2 0x2d62
00000ddc: JUMP
00000ddd: JUMPDEST
00000dde: DUP2
00000ddf: MSTORE
00000de0: PUSH1 0x20
00000de2: ADD
00000de3: SWAP1
00000de4: PUSH1 0x01
00000de6: SWAP1
00000de7: SUB
00000de8: SWAP1
00000de9: DUP2
00000dea: PUSH2 0x0dd5
00000ded: JUMPI
00000dee: SWAP1
00000def: POP
00000df0: JUMPDEST
00000df1: POP
00000df2: SWAP1
00000df3: POP
00000df4: PUSH1 0x60
00000df6: DUP4
00000df7: PUSH1 0x40
00000df9: MLOAD
00000dfa: SWAP1
00000dfb: DUP1
00000dfc: DUP3
00000dfd: MSTORE
00000dfe: DUP1
00000dff: PUSH1 0x20
00000e01: MUL
00000e02: PUSH1 0x20
00000e04: ADD
00000e05: DUP3
00000e06: ADD
00000e07: PUSH1 0x40
00000e09: MSTORE
00000e0a: DUP1
00000e0b: ISZERO
00000e0c: PUSH2 0x0e2f
00000e0f: JUMPI
00000e10: DUP2
00000e11: PUSH1 0x20
00000e13: ADD
00000e14: JUMPDEST
00000e15: PUSH2 0x0e1c
00000e18: PUSH2 0x2d62
00000e1b: JUMP
00000e1c: JUMPDEST
00000e1d: DUP2
00000e1e: MSTORE
00000e1f: PUSH1 0x20
00000e21: ADD
00000e22: SWAP1
00000e23: PUSH1 0x01
00000e25: SWAP1
00000e26: SUB
00000e27: SWAP1
00000e28: DUP2
00000e29: PUSH2 0x0e14
00000e2c: JUMPI
00000e2d: SWAP1
00000e2e: POP
00000e2f: JUMPDEST
00000e30: POP
00000e31: SWAP1
00000e32: POP
00000e33: PUSH1 0x00
00000e35: JUMPDEST
00000e36: DUP5
00000e37: DUP2
00000e38: LT
00000e39: ISZERO
00000e3a: PUSH2 0x0ed6
00000e3d: JUMPI
00000e3e: PUSH2 0x0e46
00000e41: DUP2
00000e42: PUSH2 0x0831
00000e45: JUMP
00000e46: JUMPDEST
00000e47: DUP5
00000e48: DUP3
00000e49: DUP2
00000e4a: MLOAD
00000e4b: DUP2
00000e4c: LT
00000e4d: PUSH2 0x0e52
00000e50: JUMPI
00000e51: INVALID
00000e52: JUMPDEST
00000e53: PUSH1 0x20
00000e55: MUL
00000e56: PUSH1 0x20
00000e58: ADD
00000e59: ADD
00000e5a: SWAP1
00000e5b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e70: AND
00000e71: SWAP1
00000e72: DUP2
00000e73: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e88: AND
00000e89: DUP2
00000e8a: MSTORE
00000e8b: POP
00000e8c: POP
00000e8d: PUSH2 0x0e96
00000e90: DUP10
00000e91: DUP3
00000e92: PUSH2 0x0c12
00000e95: JUMP
00000e96: JUMPDEST
00000e97: DUP4
00000e98: DUP3
00000e99: DUP2
00000e9a: MLOAD
00000e9b: DUP2
00000e9c: LT
00000e9d: PUSH2 0x0ea2
00000ea0: JUMPI
00000ea1: INVALID
00000ea2: JUMPDEST
00000ea3: PUSH1 0x20
00000ea5: MUL
00000ea6: PUSH1 0x20
00000ea8: ADD
00000ea9: ADD
00000eaa: DUP2
00000eab: SWAP1
00000eac: MSTORE
00000ead: POP
00000eae: PUSH2 0x0eb7
00000eb1: DUP10
00000eb2: DUP3
00000eb3: PUSH2 0x1337
00000eb6: JUMP
00000eb7: JUMPDEST
00000eb8: DUP3
00000eb9: DUP3
00000eba: DUP2
00000ebb: MLOAD
00000ebc: DUP2
00000ebd: LT
00000ebe: PUSH2 0x0ec3
00000ec1: JUMPI
00000ec2: INVALID
00000ec3: JUMPDEST
00000ec4: PUSH1 0x20
00000ec6: SWAP1
00000ec7: DUP2
00000ec8: MUL
00000ec9: SWAP2
00000eca: SWAP1
00000ecb: SWAP2
00000ecc: ADD
00000ecd: ADD
00000ece: MSTORE
00000ecf: PUSH1 0x01
00000ed1: ADD
00000ed2: PUSH2 0x0e35
00000ed5: JUMP
00000ed6: JUMPDEST
00000ed7: POP
00000ed8: SWAP2
00000ed9: SWAP8
00000eda: SWAP1
00000edb: SWAP7
00000edc: POP
00000edd: SWAP1
00000ede: SWAP5
00000edf: POP
00000ee0: SWAP3
00000ee1: POP
00000ee2: POP
00000ee3: POP
00000ee4: JUMP
00000ee5: JUMPDEST
00000ee6: PUSH2 0x0eed
00000ee9: PUSH2 0x10a2
00000eec: JUMP
00000eed: JUMPDEST
00000eee: PUSH2 0x0ef6
00000ef1: JUMPI
00000ef2: PUSH1 0x00
00000ef4: DUP1
00000ef5: REVERT
00000ef6: JUMPDEST
00000ef7: PUSH1 0x0b
00000ef9: SLOAD
00000efa: PUSH1 0x40
00000efc: MLOAD
00000efd: PUSH1 0x00
00000eff: SWAP2
00000f00: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f15: AND
00000f16: SWAP1
00000f17: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00000f38: SWAP1
00000f39: DUP4
00000f3a: SWAP1
00000f3b: LOG3
00000f3c: PUSH1 0x0b
00000f3e: DUP1
00000f3f: SLOAD
00000f40: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00000f61: AND
00000f62: SWAP1
00000f63: SSTORE
00000f64: JUMP
00000f65: JUMPDEST
00000f66: PUSH2 0x0f6d
00000f69: PUSH2 0x2d4f
00000f6c: JUMP
00000f6d: JUMPDEST
00000f6e: POP
00000f6f: PUSH1 0x40
00000f71: DUP1
00000f72: MLOAD
00000f73: PUSH1 0x20
00000f75: DUP2
00000f76: ADD
00000f77: SWAP1
00000f78: SWAP2
00000f79: MSTORE
00000f7a: PUSH1 0x08
00000f7c: SLOAD
00000f7d: DUP2
00000f7e: MSTORE
00000f7f: SWAP1
00000f80: JUMP
00000f81: JUMPDEST
00000f82: PUSH1 0x00
00000f84: JUMPDEST
00000f85: DUP2
00000f86: MLOAD
00000f87: DUP2
00000f88: LT
00000f89: ISZERO
00000f8a: PUSH2 0x0b14
00000f8d: JUMPI
00000f8e: PUSH1 0x00
00000f90: DUP3
00000f91: DUP3
00000f92: DUP2
00000f93: MLOAD
00000f94: DUP2
00000f95: LT
00000f96: PUSH2 0x0f9b
00000f99: JUMPI
00000f9a: INVALID
00000f9b: JUMPDEST
00000f9c: PUSH1 0x20
00000f9e: MUL
00000f9f: PUSH1 0x20
00000fa1: ADD
00000fa2: ADD
00000fa3: MLOAD
00000fa4: PUSH1 0x00
00000fa6: ADD
00000fa7: MLOAD
00000fa8: SWAP1
00000fa9: POP
00000faa: PUSH1 0x00
00000fac: DUP4
00000fad: DUP4
00000fae: DUP2
00000faf: MLOAD
00000fb0: DUP2
00000fb1: LT
00000fb2: PUSH2 0x0fb7
00000fb5: JUMPI
00000fb6: INVALID
00000fb7: JUMPDEST
00000fb8: PUSH1 0x20
00000fba: SWAP1
00000fbb: DUP2
00000fbc: MUL
00000fbd: SWAP2
00000fbe: SWAP1
00000fbf: SWAP2
00000fc0: ADD
00000fc1: DUP2
00000fc2: ADD
00000fc3: MLOAD
00000fc4: DUP2
00000fc5: ADD
00000fc6: MLOAD
00000fc7: CALLER
00000fc8: PUSH1 0x00
00000fca: DUP2
00000fcb: DUP2
00000fcc: MSTORE
00000fcd: PUSH1 0x03
00000fcf: DUP5
00000fd0: MSTORE
00000fd1: PUSH1 0x40
00000fd3: DUP1
00000fd4: DUP3
00000fd5: KECCAK256
00000fd6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000feb: DUP9
00000fec: AND
00000fed: DUP4
00000fee: MSTORE
00000fef: SWAP1
00000ff0: SWAP5
00000ff1: MSTORE
00000ff2: DUP4
00000ff3: SWAP1
00000ff4: KECCAK256
00000ff5: DUP1
00000ff6: SLOAD
00000ff7: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00001018: AND
00001019: DUP4
0000101a: ISZERO
0000101b: ISZERO
0000101c: OR
0000101d: SWAP1
0000101e: SSTORE
0000101f: SWAP2
00001020: MLOAD
00001021: SWAP1
00001022: SWAP3
00001023: POP
00001024: PUSH32 0x4d7f317d2088d039c2a95a09fcbf9cc9191fad5905f883c937cc3d317c4a6327
00001045: SWAP1
00001046: PUSH2 0x1052
00001049: SWAP1
0000104a: DUP6
0000104b: SWAP1
0000104c: DUP6
0000104d: SWAP1
0000104e: PUSH2 0x3c78
00001051: JUMP
00001052: JUMPDEST
00001053: PUSH1 0x40
00001055: MLOAD
00001056: DUP1
00001057: SWAP2
00001058: SUB
00001059: SWAP1
0000105a: LOG2
0000105b: POP
0000105c: POP
0000105d: PUSH1 0x01
0000105f: ADD
00001060: PUSH2 0x0f84
00001063: JUMP
00001064: JUMPDEST
00001065: PUSH2 0x106c
00001068: PUSH2 0x2d4f
0000106b: JUMP
0000106c: JUMPDEST
0000106d: PUSH2 0x1075
00001070: DUP3
00001071: PUSH2 0x183e
00001074: JUMP
00001075: JUMPDEST
00001076: PUSH2 0x0829
00001079: PUSH1 0x00
0000107b: DUP4
0000107c: PUSH4 0xffffffff
00001081: PUSH2 0x1ac1
00001084: AND
00001085: JUMP
00001086: JUMPDEST
00001087: PUSH1 0x0b
00001089: SLOAD
0000108a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000109f: AND
000010a0: SWAP1
000010a1: JUMP
000010a2: JUMPDEST
000010a3: PUSH1 0x0b
000010a5: SLOAD
000010a6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010bb: AND
000010bc: CALLER
000010bd: EQ
000010be: SWAP1
000010bf: JUMP
000010c0: JUMPDEST
000010c1: PUSH1 0x00
000010c3: PUSH2 0x10ca
000010c6: PUSH2 0x10a2
000010c9: JUMP
000010ca: JUMPDEST
000010cb: PUSH2 0x10d3
000010ce: JUMPI
000010cf: PUSH1 0x00
000010d1: DUP1
000010d2: REVERT
000010d3: JUMPDEST
000010d4: PUSH1 0x0c
000010d6: DUP1
000010d7: SLOAD
000010d8: PUSH1 0x01
000010da: ADD
000010db: SWAP1
000010dc: DUP2
000010dd: SWAP1
000010de: SSTORE
000010df: PUSH1 0x40
000010e1: MLOAD
000010e2: PUSH32 0xb25328e000000000000000000000000000000000000000000000000000000000
00001103: DUP2
00001104: MSTORE
00001105: PUSH20 0x8a6629feba4196e0a61b8e8c94d4905e525bc055
0000111a: SWAP1
0000111b: PUSH4 0xb25328e0
00001120: SWAP1
00001121: PUSH2 0x0a00
00001124: SWAP1
00001125: PUSH1 0x00
00001127: SWAP1
00001128: DUP9
00001129: SWAP1
0000112a: DUP9
0000112b: SWAP1
0000112c: PUSH1 0x04
0000112e: ADD
0000112f: PUSH2 0x3eb6
00001132: JUMP
00001133: JUMPDEST
00001134: PUSH2 0x113b
00001137: PUSH2 0x10a2
0000113a: JUMP
0000113b: JUMPDEST
0000113c: PUSH2 0x1144
0000113f: JUMPI
00001140: PUSH1 0x00
00001142: DUP1
00001143: REVERT
00001144: JUMPDEST
00001145: PUSH1 0x0c
00001147: DUP1
00001148: SLOAD
00001149: PUSH1 0x01
0000114b: ADD
0000114c: SWAP1
0000114d: DUP2
0000114e: SWAP1
0000114f: SSTORE
00001150: PUSH1 0x40
00001152: MLOAD
00001153: PUSH32 0x48d0648400000000000000000000000000000000000000000000000000000000
00001174: DUP2
00001175: MSTORE
00001176: PUSH20 0x8a6629feba4196e0a61b8e8c94d4905e525bc055
0000118b: SWAP1
0000118c: PUSH4 0x48d06484
00001191: SWAP1
00001192: PUSH2 0x11aa
00001195: SWAP1
00001196: PUSH1 0x00
00001198: SWAP1
00001199: DUP11
0000119a: SWAP1
0000119b: DUP11
0000119c: SWAP1
0000119d: DUP11
0000119e: SWAP1
0000119f: DUP11
000011a0: SWAP1
000011a1: DUP11
000011a2: SWAP1
000011a3: PUSH1 0x04
000011a5: ADD
000011a6: PUSH2 0x3e0d
000011a9: JUMP
000011aa: JUMPDEST
000011ab: PUSH1 0x00
000011ad: PUSH1 0x40
000011af: MLOAD
000011b0: DUP1
000011b1: DUP4
000011b2: SUB
000011b3: DUP2
000011b4: DUP7
000011b5: DUP1
000011b6: EXTCODESIZE
000011b7: ISZERO
000011b8: DUP1
000011b9: ISZERO
000011ba: PUSH2 0x11c2
000011bd: JUMPI
000011be: PUSH1 0x00
000011c0: DUP1
000011c1: REVERT
000011c2: JUMPDEST
000011c3: POP
000011c4: GAS
000011c5: DELEGATECALL
000011c6: ISZERO
000011c7: DUP1
000011c8: ISZERO
000011c9: PUSH2 0x11d6
000011cc: JUMPI
000011cd: RETURNDATASIZE
000011ce: PUSH1 0x00
000011d0: DUP1
000011d1: RETURNDATACOPY
000011d2: RETURNDATASIZE
000011d3: PUSH1 0x00
000011d5: REVERT
000011d6: JUMPDEST
000011d7: POP
000011d8: POP
000011d9: POP
000011da: POP
000011db: PUSH1 0x0c
000011dd: SLOAD
000011de: DUP2
000011df: EQ
000011e0: PUSH2 0x11e8
000011e3: JUMPI
000011e4: PUSH1 0x00
000011e6: DUP1
000011e7: REVERT
000011e8: JUMPDEST
000011e9: POP
000011ea: POP
000011eb: POP
000011ec: POP
000011ed: POP
000011ee: POP
000011ef: JUMP
000011f0: JUMPDEST
000011f1: PUSH1 0x0c
000011f3: DUP1
000011f4: SLOAD
000011f5: PUSH1 0x01
000011f7: ADD
000011f8: SWAP1
000011f9: DUP2
000011fa: SWAP1
000011fb: SSTORE
000011fc: PUSH1 0x40
000011fe: MLOAD
000011ff: PUSH32 0xbd76ecfd00000000000000000000000000000000000000000000000000000000
00001220: DUP2
00001221: MSTORE
00001222: PUSH20 0x56e7d4520abfecf10b38368b00723d9bd3c21ee1
00001237: SWAP1
00001238: PUSH4 0xbd76ecfd
0000123d: SWAP1
0000123e: PUSH2 0x07d4
00001241: SWAP1
00001242: PUSH1 0x00
00001244: SWAP1
00001245: DUP8
00001246: SWAP1
00001247: DUP8
00001248: SWAP1
00001249: PUSH1 0x04
0000124b: ADD
0000124c: PUSH2 0x3e67
0000124f: JUMP
00001250: JUMPDEST
00001251: PUSH2 0x1258
00001254: PUSH2 0x2dd8
00001257: JUMP
00001258: JUMPDEST
00001259: PUSH2 0x1260
0000125c: PUSH2 0x2d79
0000125f: JUMP
00001260: JUMPDEST
00001261: PUSH2 0x1268
00001264: PUSH2 0x2d4f
00001267: JUMP
00001268: JUMPDEST
00001269: PUSH2 0x1270
0000126c: PUSH2 0x2d4f
0000126f: JUMP
00001270: JUMPDEST
00001271: PUSH2 0x1279
00001274: DUP6
00001275: PUSH2 0x183e
00001278: JUMP
00001279: JUMPDEST
0000127a: PUSH2 0x1282
0000127d: DUP6
0000127e: PUSH2 0x154a
00001281: JUMP
00001282: JUMPDEST
00001283: PUSH2 0x128b
00001286: DUP7
00001287: PUSH2 0x0cc2
0000128a: JUMP
0000128b: JUMPDEST
0000128c: PUSH2 0x1294
0000128f: DUP8
00001290: PUSH2 0x1064
00001293: JUMP
00001294: JUMPDEST
00001295: PUSH2 0x129d
00001298: DUP9
00001299: PUSH2 0x17da
0000129c: JUMP
0000129d: JUMPDEST
0000129e: SWAP4
0000129f: POP
000012a0: SWAP4
000012a1: POP
000012a2: SWAP4
000012a3: POP
000012a4: SWAP4
000012a5: POP
000012a6: SWAP2
000012a7: SWAP4
000012a8: POP
000012a9: SWAP2
000012aa: SWAP4
000012ab: JUMP
000012ac: JUMPDEST
000012ad: PUSH2 0x12b4
000012b0: PUSH2 0x10a2
000012b3: JUMP
000012b4: JUMPDEST
000012b5: PUSH2 0x12bd
000012b8: JUMPI
000012b9: PUSH1 0x00
000012bb: DUP1
000012bc: REVERT
000012bd: JUMPDEST
000012be: PUSH1 0x0c
000012c0: DUP1
000012c1: SLOAD
000012c2: PUSH1 0x01
000012c4: ADD
000012c5: SWAP1
000012c6: DUP2
000012c7: SWAP1
000012c8: SSTORE
000012c9: PUSH1 0x40
000012cb: MLOAD
000012cc: PUSH32 0x54dd351600000000000000000000000000000000000000000000000000000000
000012ed: DUP2
000012ee: MSTORE
000012ef: PUSH20 0x8a6629feba4196e0a61b8e8c94d4905e525bc055
00001304: SWAP1
00001305: PUSH4 0x54dd3516
0000130a: SWAP1
0000130b: PUSH2 0x0ad6
0000130e: SWAP1
0000130f: PUSH1 0x00
00001311: SWAP1
00001312: DUP7
00001313: SWAP1
00001314: PUSH1 0x04
00001316: ADD
00001317: PUSH2 0x3e9b
0000131a: JUMP
0000131b: JUMPDEST
0000131c: PUSH2 0x1323
0000131f: PUSH2 0x2d4f
00001322: JUMP
00001323: JUMPDEST
00001324: POP
00001325: PUSH1 0x40
00001327: DUP1
00001328: MLOAD
00001329: PUSH1 0x20
0000132b: DUP2
0000132c: ADD
0000132d: SWAP1
0000132e: SWAP2
0000132f: MSTORE
00001330: PUSH1 0x06
00001332: SLOAD
00001333: DUP2
00001334: MSTORE
00001335: SWAP1
00001336: JUMP
00001337: JUMPDEST
00001338: PUSH2 0x133f
0000133b: PUSH2 0x2d62
0000133e: JUMP
0000133f: JUMPDEST
00001340: PUSH2 0x1348
00001343: DUP3
00001344: PUSH2 0x183e
00001347: JUMP
00001348: JUMPDEST
00001349: PUSH2 0x0c09
0000134c: PUSH2 0x135d
0000134f: PUSH1 0x00
00001351: DUP6
00001352: DUP6
00001353: PUSH4 0xffffffff
00001358: PUSH2 0x1969
0000135b: AND
0000135c: JUMP
0000135d: JUMPDEST
0000135e: PUSH2 0x1372
00001361: DUP5
00001362: PUSH2 0x0ce8
00001365: PUSH1 0x00
00001367: DUP3
00001368: PUSH4 0xffffffff
0000136d: PUSH2 0x19e5
00001370: AND
00001371: JUMP
00001372: JUMPDEST
00001373: PUSH2 0x1c0a
00001376: JUMP
00001377: JUMPDEST
00001378: PUSH2 0x137f
0000137b: PUSH2 0x2d62
0000137e: JUMP
0000137f: JUMPDEST
00001380: PUSH2 0x1388
00001383: DUP3
00001384: PUSH2 0x183e
00001387: JUMP
00001388: JUMPDEST
00001389: PUSH2 0x0829
0000138c: PUSH1 0x00
0000138e: DUP4
0000138f: PUSH4 0xffffffff
00001394: PUSH2 0x1cbb
00001397: AND
00001398: JUMP
00001399: JUMPDEST
0000139a: PUSH2 0x13a1
0000139d: PUSH2 0x2d4f
000013a0: JUMP
000013a1: JUMPDEST
000013a2: PUSH2 0x13aa
000013a5: DUP4
000013a6: PUSH2 0x183e
000013a9: JUMP
000013aa: JUMPDEST
000013ab: PUSH2 0x13b3
000013ae: DUP3
000013af: PUSH2 0x183e
000013b2: JUMP
000013b3: JUMPDEST
000013b4: PUSH2 0x0c09
000013b7: PUSH1 0x00
000013b9: DUP5
000013ba: DUP5
000013bb: PUSH4 0xffffffff
000013c0: PUSH2 0x1d1b
000013c3: AND
000013c4: JUMP
000013c5: JUMPDEST
000013c6: PUSH2 0x13cd
000013c9: PUSH2 0x2d62
000013cc: JUMP
000013cd: JUMPDEST
000013ce: PUSH2 0x13d6
000013d1: DUP3
000013d2: PUSH2 0x183e
000013d5: JUMP
000013d6: JUMPDEST
000013d7: PUSH2 0x0829
000013da: PUSH1 0x00
000013dc: DUP4
000013dd: PUSH4 0xffffffff
000013e2: PUSH2 0x1db1
000013e5: AND
000013e6: JUMP
000013e7: JUMPDEST
000013e8: PUSH2 0x13ef
000013eb: PUSH2 0x2d79
000013ee: JUMP
000013ef: JUMPDEST
000013f0: PUSH2 0x13f8
000013f3: DUP3
000013f4: PUSH2 0x183e
000013f7: JUMP
000013f8: JUMPDEST
000013f9: PUSH2 0x0829
000013fc: PUSH1 0x00
000013fe: DUP4
000013ff: PUSH4 0xffffffff
00001404: PUSH2 0x19e5
00001407: AND
00001408: JUMP
00001409: JUMPDEST
0000140a: PUSH1 0x00
0000140c: PUSH2 0x0829
0000140f: DUP2
00001410: DUP4
00001411: PUSH4 0xffffffff
00001416: PUSH2 0x1e77
00001419: AND
0000141a: JUMP
0000141b: JUMPDEST
0000141c: PUSH2 0x1423
0000141f: PUSH2 0x2d4f
00001422: JUMP
00001423: JUMPDEST
00001424: POP
00001425: PUSH1 0x40
00001427: DUP1
00001428: MLOAD
00001429: PUSH1 0x20
0000142b: DUP2
0000142c: ADD
0000142d: SWAP1
0000142e: SWAP2
0000142f: MSTORE
00001430: PUSH1 0x07
00001432: SLOAD
00001433: DUP2
00001434: MSTORE
00001435: SWAP1
00001436: JUMP
00001437: JUMPDEST
00001438: PUSH2 0x143f
0000143b: PUSH2 0x10a2
0000143e: JUMP
0000143f: JUMPDEST
00001440: PUSH2 0x1448
00001443: JUMPI
00001444: PUSH1 0x00
00001446: DUP1
00001447: REVERT
00001448: JUMPDEST
00001449: PUSH1 0x0c
0000144b: DUP1
0000144c: SLOAD
0000144d: PUSH1 0x01
0000144f: ADD
00001450: SWAP1
00001451: DUP2
00001452: SWAP1
00001453: SSTORE
00001454: PUSH1 0x40
00001456: MLOAD
00001457: PUSH32 0x8c5dabd100000000000000000000000000000000000000000000000000000000
00001478: DUP2
00001479: MSTORE
0000147a: PUSH20 0x8a6629feba4196e0a61b8e8c94d4905e525bc055
0000148f: SWAP1
00001490: PUSH4 0x8c5dabd1
00001495: SWAP1
00001496: PUSH2 0x07d4
00001499: SWAP1
0000149a: PUSH1 0x00
0000149c: SWAP1
0000149d: DUP8
0000149e: SWAP1
0000149f: DUP8
000014a0: SWAP1
000014a1: PUSH1 0x04
000014a3: ADD
000014a4: PUSH2 0x3eec
000014a7: JUMP
000014a8: JUMPDEST
000014a9: PUSH2 0x14b0
000014ac: PUSH2 0x2e4b
000014af: JUMP
000014b0: JUMPDEST
000014b1: POP
000014b2: PUSH1 0x40
000014b4: DUP1
000014b5: MLOAD
000014b6: PUSH1 0xc0
000014b8: DUP2
000014b9: ADD
000014ba: DUP3
000014bb: MSTORE
000014bc: PUSH1 0x09
000014be: SLOAD
000014bf: PUSH8 0xffffffffffffffff
000014c8: DUP1
000014c9: DUP3
000014ca: AND
000014cb: DUP4
000014cc: MSTORE
000014cd: PUSH9 0x010000000000000000
000014d7: DUP1
000014d8: DUP4
000014d9: DIV
000014da: DUP3
000014db: AND
000014dc: PUSH1 0x20
000014de: DUP6
000014df: ADD
000014e0: MSTORE
000014e1: PUSH17 0x0100000000000000000000000000000000
000014f3: DUP4
000014f4: DIV
000014f5: DUP3
000014f6: AND
000014f7: SWAP5
000014f8: DUP5
000014f9: ADD
000014fa: SWAP5
000014fb: SWAP1
000014fc: SWAP5
000014fd: MSTORE
000014fe: PUSH25 0x01000000000000000000000000000000000000000000000000
00001518: SWAP1
00001519: SWAP2
0000151a: DIV
0000151b: DUP2
0000151c: AND
0000151d: PUSH1 0x60
0000151f: DUP4
00001520: ADD
00001521: MSTORE
00001522: PUSH1 0x0a
00001524: SLOAD
00001525: SWAP1
00001526: DUP2
00001527: AND
00001528: PUSH1 0x80
0000152a: DUP4
0000152b: ADD
0000152c: MSTORE
0000152d: SWAP2
0000152e: SWAP1
0000152f: SWAP2
00001530: DIV
00001531: PUSH16 0xffffffffffffffffffffffffffffffff
00001542: AND
00001543: PUSH1 0xa0
00001545: DUP3
00001546: ADD
00001547: MSTORE
00001548: SWAP1
00001549: JUMP
0000154a: JUMPDEST
0000154b: PUSH2 0x1552
0000154e: PUSH2 0x2dd8
00001551: JUMP
00001552: JUMPDEST
00001553: PUSH2 0x155b
00001556: DUP3
00001557: PUSH2 0x183e
0000155a: JUMP
0000155b: JUMPDEST
0000155c: POP
0000155d: PUSH1 0x00
0000155f: SWAP1
00001560: DUP2
00001561: MSTORE
00001562: PUSH1 0x01
00001564: PUSH1 0x20
00001566: DUP2
00001567: DUP2
00001568: MSTORE
00001569: PUSH1 0x40
0000156b: SWAP3
0000156c: DUP4
0000156d: SWAP1
0000156e: KECCAK256
0000156f: DUP4
00001570: MLOAD
00001571: PUSH2 0x0100
00001574: DUP2
00001575: ADD
00001576: DUP6
00001577: MSTORE
00001578: DUP2
00001579: SLOAD
0000157a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000158f: SWAP1
00001590: DUP2
00001591: AND
00001592: DUP3
00001593: MSTORE
00001594: DUP6
00001595: MLOAD
00001596: DUP1
00001597: DUP8
00001598: ADD
00001599: DUP8
0000159a: MSTORE
0000159b: SWAP5
0000159c: DUP4
0000159d: ADD
0000159e: SLOAD
0000159f: PUSH16 0xffffffffffffffffffffffffffffffff
000015b0: DUP1
000015b1: DUP3
000015b2: AND
000015b3: DUP8
000015b4: MSTORE
000015b5: PUSH17 0x0100000000000000000000000000000000
000015c7: SWAP1
000015c8: SWAP2
000015c9: DIV
000015ca: AND
000015cb: DUP6
000015cc: DUP6
000015cd: ADD
000015ce: MSTORE
000015cf: DUP2
000015d0: DUP5
000015d1: ADD
000015d2: SWAP5
000015d3: SWAP1
000015d4: SWAP5
000015d5: MSTORE
000015d6: DUP5
000015d7: MLOAD
000015d8: PUSH1 0x60
000015da: DUP1
000015db: DUP3
000015dc: ADD
000015dd: DUP8
000015de: MSTORE
000015df: PUSH1 0x02
000015e1: DUP5
000015e2: ADD
000015e3: SLOAD
000015e4: PUSH12 0xffffffffffffffffffffffff
000015f1: DUP1
000015f2: DUP3
000015f3: AND
000015f4: DUP5
000015f5: MSTORE
000015f6: PUSH13 0x01000000000000000000000000
00001604: DUP3
00001605: DIV
00001606: AND
00001607: DUP4
00001608: DUP8
00001609: ADD
0000160a: MSTORE
0000160b: PUSH25 0x01000000000000000000000000000000000000000000000000
00001625: SWAP1
00001626: DIV
00001627: PUSH4 0xffffffff
0000162c: AND
0000162d: DUP3
0000162e: DUP9
0000162f: ADD
00001630: MSTORE
00001631: DUP3
00001632: DUP8
00001633: ADD
00001634: SWAP2
00001635: SWAP1
00001636: SWAP2
00001637: MSTORE
00001638: PUSH1 0x03
0000163a: DUP4
0000163b: ADD
0000163c: SLOAD
0000163d: DUP6
0000163e: AND
0000163f: SWAP1
00001640: DUP3
00001641: ADD
00001642: MSTORE
00001643: PUSH1 0x04
00001645: DUP3
00001646: ADD
00001647: SLOAD
00001648: SWAP1
00001649: SWAP4
0000164a: AND
0000164b: PUSH1 0x80
0000164d: DUP5
0000164e: ADD
0000164f: MSTORE
00001650: DUP4
00001651: MLOAD
00001652: DUP1
00001653: DUP4
00001654: ADD
00001655: DUP6
00001656: MSTORE
00001657: PUSH1 0x05
00001659: DUP3
0000165a: ADD
0000165b: SLOAD
0000165c: DUP2
0000165d: MSTORE
0000165e: PUSH1 0xa0
00001660: DUP5
00001661: ADD
00001662: MSTORE
00001663: DUP4
00001664: MLOAD
00001665: SWAP2
00001666: DUP3
00001667: ADD
00001668: SWAP1
00001669: SWAP4
0000166a: MSTORE
0000166b: PUSH1 0x06
0000166d: DUP4
0000166e: ADD
0000166f: SLOAD
00001670: DUP2
00001671: MSTORE
00001672: PUSH1 0xc0
00001674: DUP3
00001675: ADD
00001676: MSTORE
00001677: PUSH1 0x07
00001679: SWAP1
0000167a: SWAP2
0000167b: ADD
0000167c: SLOAD
0000167d: PUSH1 0xff
0000167f: AND
00001680: ISZERO
00001681: ISZERO
00001682: PUSH1 0xe0
00001684: DUP3
00001685: ADD
00001686: MSTORE
00001687: SWAP1
00001688: JUMP
00001689: JUMPDEST
0000168a: PUSH2 0x1691
0000168d: PUSH2 0x10a2
00001690: JUMP
00001691: JUMPDEST
00001692: PUSH2 0x169a
00001695: JUMPI
00001696: PUSH1 0x00
00001698: DUP1
00001699: REVERT
0000169a: JUMPDEST
0000169b: PUSH1 0x0c
0000169d: DUP1
0000169e: SLOAD
0000169f: PUSH1 0x01
000016a1: ADD
000016a2: SWAP1
000016a3: DUP2
000016a4: SWAP1
000016a5: SSTORE
000016a6: PUSH1 0x40
000016a8: MLOAD
000016a9: PUSH32 0x10c87b0600000000000000000000000000000000000000000000000000000000
000016ca: DUP2
000016cb: MSTORE
000016cc: PUSH20 0x8a6629feba4196e0a61b8e8c94d4905e525bc055
000016e1: SWAP1
000016e2: PUSH4 0x10c87b06
000016e7: SWAP1
000016e8: PUSH2 0x07d4
000016eb: SWAP1
000016ec: PUSH1 0x00
000016ee: SWAP1
000016ef: DUP8
000016f0: SWAP1
000016f1: DUP8
000016f2: SWAP1
000016f3: PUSH1 0x04
000016f5: ADD
000016f6: PUSH2 0x3ed1
000016f9: JUMP
000016fa: JUMPDEST
000016fb: PUSH2 0x1702
000016fe: PUSH2 0x10a2
00001701: JUMP
00001702: JUMPDEST
00001703: PUSH2 0x170b
00001706: JUMPI
00001707: PUSH1 0x00
00001709: DUP1
0000170a: REVERT
0000170b: JUMPDEST
0000170c: PUSH1 0x0c
0000170e: DUP1
0000170f: SLOAD
00001710: PUSH1 0x01
00001712: ADD
00001713: SWAP1
00001714: DUP2
00001715: SWAP1
00001716: SSTORE
00001717: PUSH1 0x40
00001719: MLOAD
0000171a: PUSH32 0xe80f802400000000000000000000000000000000000000000000000000000000
0000173b: DUP2
0000173c: MSTORE
0000173d: PUSH20 0x8a6629feba4196e0a61b8e8c94d4905e525bc055
00001752: SWAP1
00001753: PUSH4 0xe80f8024
00001758: SWAP1
00001759: PUSH2 0x07d4
0000175c: SWAP1
0000175d: PUSH1 0x00
0000175f: SWAP1
00001760: DUP8
00001761: SWAP1
00001762: DUP8
00001763: SWAP1
00001764: PUSH1 0x04
00001766: ADD
00001767: PUSH2 0x3de5
0000176a: JUMP
0000176b: JUMPDEST
0000176c: PUSH2 0x1773
0000176f: PUSH2 0x10a2
00001772: JUMP
00001773: JUMPDEST
00001774: PUSH2 0x177c
00001777: JUMPI
00001778: PUSH1 0x00
0000177a: DUP1
0000177b: REVERT
0000177c: JUMPDEST
0000177d: PUSH2 0x1785
00001780: DUP2
00001781: PUSH2 0x1eb9
00001784: JUMP
00001785: JUMPDEST
00001786: POP
00001787: JUMP
00001788: JUMPDEST
00001789: PUSH2 0x1790
0000178c: PUSH2 0x2d4f
0000178f: JUMP
00001790: JUMPDEST
00001791: PUSH2 0x1798
00001794: PUSH2 0x2d4f
00001797: JUMP
00001798: JUMPDEST
00001799: PUSH2 0x08d9
0000179c: DUP4
0000179d: PUSH1 0x01
0000179f: PUSH2 0x189d
000017a2: JUMP
000017a3: JUMPDEST
000017a4: PUSH2 0x17ab
000017a7: PUSH2 0x2d4f
000017aa: JUMP
000017ab: JUMPDEST
000017ac: PUSH2 0x17b4
000017af: DUP3
000017b0: PUSH2 0x183e
000017b3: JUMP
000017b4: JUMPDEST
000017b5: POP
000017b6: PUSH1 0x00
000017b8: SWAP1
000017b9: DUP2
000017ba: MSTORE
000017bb: PUSH1 0x01
000017bd: PUSH1 0x20
000017bf: SWAP1
000017c0: DUP2
000017c1: MSTORE
000017c2: PUSH1 0x40
000017c4: SWAP2
000017c5: DUP3
000017c6: SWAP1
000017c7: KECCAK256
000017c8: DUP3
000017c9: MLOAD
000017ca: SWAP2
000017cb: DUP3
000017cc: ADD
000017cd: SWAP1
000017ce: SWAP3
000017cf: MSTORE
000017d0: PUSH1 0x05
000017d2: SWAP1
000017d3: SWAP2
000017d4: ADD
000017d5: SLOAD
000017d6: DUP2
000017d7: MSTORE
000017d8: SWAP1
000017d9: JUMP
000017da: JUMPDEST
000017db: PUSH2 0x17e2
000017de: PUSH2 0x2d4f
000017e1: JUMP
000017e2: JUMPDEST
000017e3: PUSH2 0x17eb
000017e6: DUP3
000017e7: PUSH2 0x183e
000017ea: JUMP
000017eb: JUMPDEST
000017ec: PUSH2 0x0829
000017ef: DUP3
000017f0: PUSH2 0x1800
000017f3: PUSH1 0x00
000017f5: DUP3
000017f6: PUSH4 0xffffffff
000017fb: PUSH2 0x19e5
000017fe: AND
000017ff: JUMP
00001800: JUMPDEST
00001801: PUSH1 0x00
00001803: SWAP2
00001804: SWAP1
00001805: PUSH4 0xffffffff
0000180a: PUSH2 0x1f67
0000180d: AND
0000180e: JUMP
0000180f: JUMPDEST
00001810: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001825: AND
00001826: PUSH1 0x00
00001828: SWAP1
00001829: DUP2
0000182a: MSTORE
0000182b: PUSH1 0x04
0000182d: SWAP2
0000182e: SWAP1
0000182f: SWAP2
00001830: ADD
00001831: PUSH1 0x20
00001833: MSTORE
00001834: PUSH1 0x40
00001836: SWAP1
00001837: KECCAK256
00001838: SLOAD
00001839: PUSH1 0xff
0000183b: AND
0000183c: SWAP1
0000183d: JUMP
0000183e: JUMPDEST
0000183f: PUSH2 0x1785
00001842: PUSH1 0x00
00001844: DUP1
00001845: ADD
00001846: SLOAD
00001847: DUP3
00001848: LT
00001849: PUSH1 0x0d
0000184b: SLOAD
0000184c: PUSH32 0x4d61726b6574204f4f4200000000000000000000000000000000000000000000
0000186d: PUSH2 0x208e
00001870: JUMP
00001871: JUMPDEST
00001872: PUSH1 0x00
00001874: SWAP1
00001875: DUP2
00001876: MSTORE
00001877: PUSH1 0x01
00001879: SWAP2
0000187a: SWAP1
0000187b: SWAP2
0000187c: ADD
0000187d: PUSH1 0x20
0000187f: MSTORE
00001880: PUSH1 0x40
00001882: SWAP1
00001883: KECCAK256
00001884: SLOAD
00001885: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000189a: AND
0000189b: SWAP1
0000189c: JUMP
0000189d: JUMPDEST
0000189e: PUSH2 0x18a5
000018a1: PUSH2 0x2d4f
000018a4: JUMP
000018a5: JUMPDEST
000018a6: PUSH2 0x18ad
000018a9: PUSH2 0x2d4f
000018ac: JUMP
000018ad: JUMPDEST
000018ae: PUSH1 0x00
000018b0: SLOAD
000018b1: PUSH2 0x18b8
000018b4: PUSH2 0x2e80
000018b7: JUMP
000018b8: JUMPDEST
000018b9: PUSH2 0x18c1
000018bc: DUP3
000018bd: PUSH2 0x213f
000018c0: JUMP
000018c1: JUMPDEST
000018c2: SWAP1
000018c3: POP
000018c4: PUSH1 0x00
000018c6: JUMPDEST
000018c7: DUP3
000018c8: DUP2
000018c9: LT
000018ca: ISZERO
000018cb: PUSH2 0x1908
000018ce: JUMPI
000018cf: PUSH2 0x18e8
000018d2: PUSH2 0x18e3
000018d5: PUSH1 0x00
000018d7: DUP10
000018d8: DUP5
000018d9: PUSH4 0xffffffff
000018de: PUSH2 0x1969
000018e1: AND
000018e2: JUMP
000018e3: JUMPDEST
000018e4: PUSH2 0x2195
000018e7: JUMP
000018e8: JUMPDEST
000018e9: PUSH2 0x1900
000018ec: JUMPI
000018ed: PUSH2 0x18fe
000018f0: DUP3
000018f1: PUSH1 0x00
000018f3: DUP4
000018f4: PUSH4 0xffffffff
000018f9: PUSH2 0x21af
000018fc: AND
000018fd: JUMP
000018fe: JUMPDEST
000018ff: POP
00001900: JUMPDEST
00001901: PUSH1 0x01
00001903: ADD
00001904: PUSH2 0x18c6
00001907: JUMP
00001908: JUMPDEST
00001909: POP
0000190a: PUSH2 0x191c
0000190d: PUSH1 0x00
0000190f: DUP8
00001910: DUP4
00001911: DUP9
00001912: PUSH4 0xffffffff
00001917: PUSH2 0x2289
0000191a: AND
0000191b: JUMP
0000191c: JUMPDEST
0000191d: SWAP4
0000191e: POP
0000191f: SWAP4
00001920: POP
00001921: POP
00001922: POP
00001923: SWAP3
00001924: POP
00001925: SWAP3
00001926: SWAP1
00001927: POP
00001928: JUMP
00001929: JUMPDEST
0000192a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000193f: DUP1
00001940: DUP4
00001941: AND
00001942: PUSH1 0x00
00001944: SWAP1
00001945: DUP2
00001946: MSTORE
00001947: PUSH1 0x03
00001949: DUP6
0000194a: ADD
0000194b: PUSH1 0x20
0000194d: SWAP1
0000194e: DUP2
0000194f: MSTORE
00001950: PUSH1 0x40
00001952: DUP1
00001953: DUP4
00001954: KECCAK256
00001955: SWAP4
00001956: DUP6
00001957: AND
00001958: DUP4
00001959: MSTORE
0000195a: SWAP3
0000195b: SWAP1
0000195c: MSTORE
0000195d: KECCAK256
0000195e: SLOAD
0000195f: PUSH1 0xff
00001961: AND
00001962: JUMPDEST
00001963: SWAP4
00001964: SWAP3
00001965: POP
00001966: POP
00001967: POP
00001968: JUMP
00001969: JUMPDEST
0000196a: PUSH2 0x1971
0000196d: PUSH2 0x2d62
00001970: JUMP
00001971: JUMPDEST
00001972: POP
00001973: DUP2
00001974: MLOAD
00001975: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000198a: AND
0000198b: PUSH1 0x00
0000198d: SWAP1
0000198e: DUP2
0000198f: MSTORE
00001990: PUSH1 0x02
00001992: DUP5
00001993: ADD
00001994: PUSH1 0x20
00001996: SWAP1
00001997: DUP2
00001998: MSTORE
00001999: PUSH1 0x40
0000199b: DUP1
0000199c: DUP4
0000199d: KECCAK256
0000199e: DUP3
0000199f: DUP7
000019a0: ADD
000019a1: MLOAD
000019a2: DUP5
000019a3: MSTORE
000019a4: DUP3
000019a5: MSTORE
000019a6: DUP1
000019a7: DUP4
000019a8: KECCAK256
000019a9: DUP5
000019aa: DUP5
000019ab: MSTORE
000019ac: DUP3
000019ad: MSTORE
000019ae: SWAP2
000019af: DUP3
000019b0: SWAP1
000019b1: KECCAK256
000019b2: DUP3
000019b3: MLOAD
000019b4: DUP1
000019b5: DUP5
000019b6: ADD
000019b7: SWAP1
000019b8: SWAP4
000019b9: MSTORE
000019ba: SLOAD
000019bb: PUSH1 0xff
000019bd: DUP2
000019be: AND
000019bf: ISZERO
000019c0: ISZERO
000019c1: DUP4
000019c2: MSTORE
000019c3: PUSH16 0xffffffffffffffffffffffffffffffff
000019d4: PUSH2 0x0100
000019d7: SWAP1
000019d8: SWAP2
000019d9: DIV
000019da: AND
000019db: SWAP1
000019dc: DUP3
000019dd: ADD
000019de: MSTORE
000019df: SWAP4
000019e0: SWAP3
000019e1: POP
000019e2: POP
000019e3: POP
000019e4: JUMP
000019e5: JUMPDEST
000019e6: PUSH2 0x19ed
000019e9: PUSH2 0x2d79
000019ec: JUMP
000019ed: JUMPDEST
000019ee: POP
000019ef: PUSH1 0x00
000019f1: SWAP1
000019f2: DUP2
000019f3: MSTORE
000019f4: PUSH1 0x01
000019f6: SWAP2
000019f7: SWAP1
000019f8: SWAP2
000019f9: ADD
000019fa: PUSH1 0x20
000019fc: SWAP1
000019fd: DUP2
000019fe: MSTORE
000019ff: PUSH1 0x40
00001a01: SWAP2
00001a02: DUP3
00001a03: SWAP1
00001a04: KECCAK256
00001a05: DUP3
00001a06: MLOAD
00001a07: PUSH1 0x60
00001a09: DUP2
00001a0a: ADD
00001a0b: DUP5
00001a0c: MSTORE
00001a0d: PUSH1 0x02
00001a0f: SWAP1
00001a10: SWAP2
00001a11: ADD
00001a12: SLOAD
00001a13: PUSH12 0xffffffffffffffffffffffff
00001a20: DUP1
00001a21: DUP3
00001a22: AND
00001a23: DUP4
00001a24: MSTORE
00001a25: PUSH13 0x01000000000000000000000000
00001a33: DUP3
00001a34: DIV
00001a35: AND
00001a36: SWAP3
00001a37: DUP3
00001a38: ADD
00001a39: SWAP3
00001a3a: SWAP1
00001a3b: SWAP3
00001a3c: MSTORE
00001a3d: PUSH25 0x01000000000000000000000000000000000000000000000000
00001a57: SWAP1
00001a58: SWAP2
00001a59: DIV
00001a5a: PUSH4 0xffffffff
00001a5f: AND
00001a60: SWAP2
00001a61: DUP2
00001a62: ADD
00001a63: SWAP2
00001a64: SWAP1
00001a65: SWAP2
00001a66: MSTORE
00001a67: SWAP1
00001a68: JUMP
00001a69: JUMPDEST
00001a6a: PUSH2 0x1a71
00001a6d: PUSH2 0x2d79
00001a70: JUMP
00001a71: JUMPDEST
00001a72: PUSH2 0x1a79
00001a75: PUSH2 0x2d4f
00001a78: JUMP
00001a79: JUMPDEST
00001a7a: PUSH2 0x1a8a
00001a7d: DUP6
00001a7e: DUP6
00001a7f: DUP6
00001a80: PUSH4 0xffffffff
00001a85: PUSH2 0x1f67
00001a88: AND
00001a89: JUMP
00001a8a: JUMPDEST
00001a8b: SWAP1
00001a8c: POP
00001a8d: PUSH2 0x1ab8
00001a90: DUP4
00001a91: DUP3
00001a92: PUSH2 0x1aa1
00001a95: DUP9
00001a96: DUP9
00001a97: PUSH4 0xffffffff
00001a9c: PUSH2 0x1cbb
00001a9f: AND
00001aa0: JUMP
00001aa1: JUMPDEST
00001aa2: PUSH1 0x40
00001aa4: DUP1
00001aa5: MLOAD
00001aa6: PUSH1 0x20
00001aa8: DUP2
00001aa9: ADD
00001aaa: SWAP1
00001aab: SWAP2
00001aac: MSTORE
00001aad: PUSH1 0x07
00001aaf: DUP11
00001ab0: ADD
00001ab1: SLOAD
00001ab2: DUP2
00001ab3: MSTORE
00001ab4: PUSH2 0x23dc
00001ab7: JUMP
00001ab8: JUMPDEST
00001ab9: SWAP6
00001aba: SWAP5
00001abb: POP
00001abc: POP
00001abd: POP
00001abe: POP
00001abf: POP
00001ac0: JUMP
00001ac1: JUMPDEST
00001ac2: PUSH2 0x1ac9
00001ac5: PUSH2 0x2d4f
00001ac8: JUMP
00001ac9: JUMPDEST
00001aca: PUSH1 0x00
00001acc: DUP3
00001acd: DUP2
00001ace: MSTORE
00001acf: PUSH1 0x01
00001ad1: DUP5
00001ad2: ADD
00001ad3: PUSH1 0x20
00001ad5: MSTORE
00001ad6: PUSH1 0x40
00001ad8: SWAP1
00001ad9: KECCAK256
00001ada: PUSH1 0x03
00001adc: ADD
00001add: SLOAD
00001ade: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001af3: AND
00001af4: PUSH2 0x1afb
00001af7: PUSH2 0x2d4f
00001afa: JUMP
00001afb: JUMPDEST
00001afc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b11: DUP3
00001b12: AND
00001b13: PUSH4 0x41976e09
00001b18: PUSH2 0x1b27
00001b1b: DUP8
00001b1c: DUP8
00001b1d: PUSH4 0xffffffff
00001b22: PUSH2 0x1871
00001b25: AND
00001b26: JUMP
00001b27: JUMPDEST
00001b28: PUSH1 0x40
00001b2a: MLOAD
00001b2b: DUP3
00001b2c: PUSH4 0xffffffff
00001b31: AND
00001b32: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00001b50: MUL
00001b51: DUP2
00001b52: MSTORE
00001b53: PUSH1 0x04
00001b55: ADD
00001b56: PUSH2 0x1b5f
00001b59: SWAP2
00001b5a: SWAP1
00001b5b: PUSH2 0x3c6a
00001b5e: JUMP
00001b5f: JUMPDEST
00001b60: PUSH1 0x20
00001b62: PUSH1 0x40
00001b64: MLOAD
00001b65: DUP1
00001b66: DUP4
00001b67: SUB
00001b68: DUP2
00001b69: DUP7
00001b6a: DUP1
00001b6b: EXTCODESIZE
00001b6c: ISZERO
00001b6d: DUP1
00001b6e: ISZERO
00001b6f: PUSH2 0x1b77
00001b72: JUMPI
00001b73: PUSH1 0x00
00001b75: DUP1
00001b76: REVERT
00001b77: JUMPDEST
00001b78: POP
00001b79: GAS
00001b7a: STATICCALL
00001b7b: ISZERO
00001b7c: DUP1
00001b7d: ISZERO
00001b7e: PUSH2 0x1b8b
00001b81: JUMPI
00001b82: RETURNDATASIZE
00001b83: PUSH1 0x00
00001b85: DUP1
00001b86: RETURNDATACOPY
00001b87: RETURNDATASIZE
00001b88: PUSH1 0x00
00001b8a: REVERT
00001b8b: JUMPDEST
00001b8c: POP
00001b8d: POP
00001b8e: POP
00001b8f: POP
00001b90: PUSH1 0x40
00001b92: MLOAD
00001b93: RETURNDATASIZE
00001b94: PUSH1 0x1f
00001b96: NOT
00001b97: PUSH1 0x1f
00001b99: DUP3
00001b9a: ADD
00001b9b: AND
00001b9c: DUP3
00001b9d: ADD
00001b9e: DUP1
00001b9f: PUSH1 0x40
00001ba1: MSTORE
00001ba2: POP
00001ba3: PUSH2 0x1baf
00001ba6: SWAP2
00001ba7: SWAP1
00001ba8: DUP2
00001ba9: ADD
00001baa: SWAP1
00001bab: PUSH2 0x34cc
00001bae: JUMP
00001baf: JUMPDEST
00001bb0: DUP1
00001bb1: MLOAD
00001bb2: SWAP1
00001bb3: SWAP2
00001bb4: POP
00001bb5: PUSH2 0x1c02
00001bb8: SWAP1
00001bb9: ISZERO
00001bba: ISZERO
00001bbb: PUSH32 0x53746f7261676500000000000000000000000000000000000000000000000000
00001bdc: PUSH32 0x50726963652063616e6e6f74206265207a65726f000000000000000000000000
00001bfd: DUP8
00001bfe: PUSH2 0x2546
00001c01: JUMP
00001c02: JUMPDEST
00001c03: SWAP5
00001c04: SWAP4
00001c05: POP
00001c06: POP
00001c07: POP
00001c08: POP
00001c09: JUMP
00001c0a: JUMPDEST
00001c0b: PUSH2 0x1c12
00001c0e: PUSH2 0x2d62
00001c11: JUMP
00001c12: JUMPDEST
00001c13: PUSH1 0x20
00001c15: DUP4
00001c16: ADD
00001c17: MLOAD
00001c18: DUP4
00001c19: MLOAD
00001c1a: PUSH16 0xffffffffffffffffffffffffffffffff
00001c2b: SWAP1
00001c2c: SWAP2
00001c2d: AND
00001c2e: SWAP1
00001c2f: ISZERO
00001c30: PUSH2 0x1c7e
00001c33: JUMPI
00001c34: PUSH1 0x40
00001c36: DUP1
00001c37: MLOAD
00001c38: DUP1
00001c39: DUP3
00001c3a: ADD
00001c3b: SWAP1
00001c3c: SWAP2
00001c3d: MSTORE
00001c3e: PUSH1 0x01
00001c40: DUP2
00001c41: MSTORE
00001c42: PUSH1 0x20
00001c44: DUP5
00001c45: DUP2
00001c46: ADD
00001c47: MLOAD
00001c48: SWAP1
00001c49: DUP3
00001c4a: ADD
00001c4b: SWAP1
00001c4c: PUSH2 0x1c73
00001c4f: SWAP1
00001c50: DUP5
00001c51: SWAP1
00001c52: PUSH12 0xffffffffffffffffffffffff
00001c5f: AND
00001c60: PUSH8 0x0de0b6b3a7640000
00001c69: PUSH4 0xffffffff
00001c6e: PUSH2 0x25e4
00001c71: AND
00001c72: JUMP
00001c73: JUMPDEST
00001c74: DUP2
00001c75: MSTORE
00001c76: POP
00001c77: SWAP2
00001c78: POP
00001c79: POP
00001c7a: PUSH2 0x0c0c
00001c7d: JUMP
00001c7e: JUMPDEST
00001c7f: PUSH1 0x40
00001c81: DUP1
00001c82: MLOAD
00001c83: DUP1
00001c84: DUP3
00001c85: ADD
00001c86: SWAP1
00001c87: SWAP2
00001c88: MSTORE
00001c89: PUSH1 0x00
00001c8b: DUP2
00001c8c: MSTORE
00001c8d: DUP4
00001c8e: MLOAD
00001c8f: PUSH1 0x20
00001c91: DUP3
00001c92: ADD
00001c93: SWAP1
00001c94: PUSH2 0x1c73
00001c97: SWAP1
00001c98: DUP5
00001c99: SWAP1
00001c9a: PUSH12 0xffffffffffffffffffffffff
00001ca7: AND
00001ca8: PUSH8 0x0de0b6b3a7640000
00001cb1: PUSH4 0xffffffff
00001cb6: PUSH2 0x2606
00001cb9: AND
00001cba: JUMP
00001cbb: JUMPDEST
00001cbc: PUSH2 0x1cc3
00001cbf: PUSH2 0x2d62
00001cc2: JUMP
00001cc3: JUMPDEST
00001cc4: POP
00001cc5: PUSH1 0x00
00001cc7: DUP2
00001cc8: DUP2
00001cc9: MSTORE
00001cca: PUSH1 0x01
00001ccc: DUP1
00001ccd: DUP5
00001cce: ADD
00001ccf: PUSH1 0x20
00001cd1: SWAP1
00001cd2: DUP2
00001cd3: MSTORE
00001cd4: PUSH1 0x40
00001cd6: SWAP3
00001cd7: DUP4
00001cd8: SWAP1
00001cd9: KECCAK256
00001cda: DUP4
00001cdb: MLOAD
00001cdc: DUP1
00001cdd: DUP6
00001cde: ADD
00001cdf: SWAP1
00001ce0: SWAP5
00001ce1: MSTORE
00001ce2: SWAP1
00001ce3: SWAP2
00001ce4: ADD
00001ce5: SLOAD
00001ce6: PUSH16 0xffffffffffffffffffffffffffffffff
00001cf7: DUP1
00001cf8: DUP3
00001cf9: AND
00001cfa: DUP5
00001cfb: MSTORE
00001cfc: PUSH17 0x0100000000000000000000000000000000
00001d0e: SWAP1
00001d0f: SWAP2
00001d10: DIV
00001d11: AND
00001d12: SWAP1
00001d13: DUP3
00001d14: ADD
00001d15: MSTORE
00001d16: SWAP3
00001d17: SWAP2
00001d18: POP
00001d19: POP
00001d1a: JUMP
00001d1b: JUMPDEST
00001d1c: PUSH2 0x1d23
00001d1f: PUSH2 0x2d4f
00001d22: JUMP
00001d23: JUMPDEST
00001d24: PUSH1 0x06
00001d26: DUP1
00001d27: DUP6
00001d28: ADD
00001d29: SLOAD
00001d2a: PUSH1 0x00
00001d2c: DUP6
00001d2d: DUP2
00001d2e: MSTORE
00001d2f: PUSH1 0x01
00001d31: DUP8
00001d32: ADD
00001d33: PUSH1 0x20
00001d35: SWAP1
00001d36: DUP2
00001d37: MSTORE
00001d38: PUSH1 0x40
00001d3a: SWAP2
00001d3b: DUP3
00001d3c: SWAP1
00001d3d: KECCAK256
00001d3e: DUP3
00001d3f: MLOAD
00001d40: SWAP2
00001d41: DUP3
00001d42: ADD
00001d43: SWAP1
00001d44: SWAP3
00001d45: MSTORE
00001d46: SWAP3
00001d47: ADD
00001d48: SLOAD
00001d49: DUP3
00001d4a: MSTORE
00001d4b: SWAP1
00001d4c: PUSH2 0x1d5f
00001d4f: SWAP1
00001d50: DUP3
00001d51: SWAP1
00001d52: PUSH2 0x1d5a
00001d55: SWAP1
00001d56: PUSH2 0x2653
00001d59: JUMP
00001d5a: JUMPDEST
00001d5b: PUSH2 0x268a
00001d5e: JUMP
00001d5f: JUMPDEST
00001d60: SWAP1
00001d61: POP
00001d62: PUSH2 0x1d9a
00001d65: DUP2
00001d66: PUSH2 0x1d5a
00001d69: DUP8
00001d6a: PUSH1 0x01
00001d6c: ADD
00001d6d: PUSH1 0x00
00001d6f: DUP8
00001d70: DUP2
00001d71: MSTORE
00001d72: PUSH1 0x20
00001d74: ADD
00001d75: SWAP1
00001d76: DUP2
00001d77: MSTORE
00001d78: PUSH1 0x20
00001d7a: ADD
00001d7b: PUSH1 0x00
00001d7d: KECCAK256
00001d7e: PUSH1 0x06
00001d80: ADD
00001d81: PUSH1 0x40
00001d83: MLOAD
00001d84: DUP1
00001d85: PUSH1 0x20
00001d87: ADD
00001d88: PUSH1 0x40
00001d8a: MSTORE
00001d8b: SWAP1
00001d8c: DUP2
00001d8d: PUSH1 0x00
00001d8f: DUP3
00001d90: ADD
00001d91: SLOAD
00001d92: DUP2
00001d93: MSTORE
00001d94: POP
00001d95: POP
00001d96: PUSH2 0x2653
00001d99: JUMP
00001d9a: JUMPDEST
00001d9b: PUSH1 0x40
00001d9d: DUP1
00001d9e: MLOAD
00001d9f: PUSH1 0x20
00001da1: DUP2
00001da2: ADD
00001da3: SWAP1
00001da4: SWAP2
00001da5: MSTORE
00001da6: SWAP1
00001da7: DUP2
00001da8: MSTORE
00001da9: SWAP6
00001daa: SWAP5
00001dab: POP
00001dac: POP
00001dad: POP
00001dae: POP
00001daf: POP
00001db0: JUMP
00001db1: JUMPDEST
00001db2: PUSH2 0x1db9
00001db5: PUSH2 0x2d62
00001db8: JUMP
00001db9: JUMPDEST
00001dba: PUSH2 0x1dc1
00001dbd: PUSH2 0x2d79
00001dc0: JUMP
00001dc1: JUMPDEST
00001dc2: PUSH2 0x1dd1
00001dc5: DUP5
00001dc6: DUP5
00001dc7: PUSH4 0xffffffff
00001dcc: PUSH2 0x19e5
00001dcf: AND
00001dd0: JUMP
00001dd1: JUMPDEST
00001dd2: SWAP1
00001dd3: POP
00001dd4: PUSH2 0x1ddb
00001dd7: PUSH2 0x2d62
00001dda: JUMP
00001ddb: JUMPDEST
00001ddc: PUSH2 0x1deb
00001ddf: DUP6
00001de0: DUP6
00001de1: PUSH4 0xffffffff
00001de6: PUSH2 0x1cbb
00001de9: AND
00001dea: JUMP
00001deb: JUMPDEST
00001dec: SWAP1
00001ded: POP
00001dee: PUSH1 0x00
00001df0: PUSH2 0x1dff
00001df3: DUP7
00001df4: DUP7
00001df5: PUSH4 0xffffffff
00001dfa: PUSH2 0x1871
00001dfd: AND
00001dfe: JUMP
00001dff: JUMPDEST
00001e00: SWAP1
00001e01: POP
00001e02: PUSH2 0x1e09
00001e05: PUSH2 0x2d62
00001e08: JUMP
00001e09: JUMPDEST
00001e0a: PUSH1 0x40
00001e0c: MLOAD
00001e0d: DUP1
00001e0e: PUSH1 0x40
00001e10: ADD
00001e11: PUSH1 0x40
00001e13: MSTORE
00001e14: DUP1
00001e15: PUSH1 0x01
00001e17: ISZERO
00001e18: ISZERO
00001e19: DUP2
00001e1a: MSTORE
00001e1b: PUSH1 0x20
00001e1d: ADD
00001e1e: PUSH2 0x1e27
00001e21: DUP5
00001e22: ADDRESS
00001e23: PUSH2 0x26a3
00001e26: JUMP
00001e27: JUMPDEST
00001e28: SWAP1
00001e29: MSTORE
00001e2a: SWAP1
00001e2b: POP
00001e2c: PUSH2 0x1e33
00001e2f: PUSH2 0x2d62
00001e32: JUMP
00001e33: JUMPDEST
00001e34: PUSH2 0x1e3b
00001e37: PUSH2 0x2d62
00001e3a: JUMP
00001e3b: JUMPDEST
00001e3c: PUSH2 0x1e45
00001e3f: DUP6
00001e40: DUP8
00001e41: PUSH2 0x2748
00001e44: JUMP
00001e45: JUMPDEST
00001e46: SWAP1
00001e47: SWAP3
00001e48: POP
00001e49: SWAP1
00001e4a: POP
00001e4b: PUSH2 0x1e6a
00001e4e: DUP3
00001e4f: PUSH2 0x1e5e
00001e52: DUP6
00001e53: DUP5
00001e54: PUSH4 0xffffffff
00001e59: PUSH2 0x27f0
00001e5c: AND
00001e5d: JUMP
00001e5e: JUMPDEST
00001e5f: SWAP1
00001e60: PUSH4 0xffffffff
00001e65: PUSH2 0x27f0
00001e68: AND
00001e69: JUMP
00001e6a: JUMPDEST
00001e6b: SWAP10
00001e6c: SWAP9
00001e6d: POP
00001e6e: POP
00001e6f: POP
00001e70: POP
00001e71: POP
00001e72: POP
00001e73: POP
00001e74: POP
00001e75: POP
00001e76: JUMP
00001e77: JUMPDEST
00001e78: DUP1
00001e79: MLOAD
00001e7a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e8f: AND
00001e90: PUSH1 0x00
00001e92: SWAP1
00001e93: DUP2
00001e94: MSTORE
00001e95: PUSH1 0x02
00001e97: SWAP3
00001e98: SWAP1
00001e99: SWAP3
00001e9a: ADD
00001e9b: PUSH1 0x20
00001e9d: SWAP1
00001e9e: DUP2
00001e9f: MSTORE
00001ea0: PUSH1 0x40
00001ea2: DUP1
00001ea3: DUP5
00001ea4: KECCAK256
00001ea5: SWAP3
00001ea6: DUP3
00001ea7: ADD
00001ea8: MLOAD
00001ea9: DUP5
00001eaa: MSTORE
00001eab: SWAP2
00001eac: SWAP1
00001ead: MSTORE
00001eae: SWAP1
00001eaf: KECCAK256
00001eb0: PUSH1 0x01
00001eb2: ADD
00001eb3: SLOAD
00001eb4: PUSH1 0xff
00001eb6: AND
00001eb7: SWAP1
00001eb8: JUMP
00001eb9: JUMPDEST
00001eba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ecf: DUP2
00001ed0: AND
00001ed1: PUSH2 0x1ed9
00001ed4: JUMPI
00001ed5: PUSH1 0x00
00001ed7: DUP1
00001ed8: REVERT
00001ed9: JUMPDEST
00001eda: PUSH1 0x0b
00001edc: SLOAD
00001edd: PUSH1 0x40
00001edf: MLOAD
00001ee0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ef5: DUP1
00001ef6: DUP5
00001ef7: AND
00001ef8: SWAP3
00001ef9: AND
00001efa: SWAP1
00001efb: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00001f1c: SWAP1
00001f1d: PUSH1 0x00
00001f1f: SWAP1
00001f20: LOG3
00001f21: PUSH1 0x0b
00001f23: DUP1
00001f24: SLOAD
00001f25: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00001f46: AND
00001f47: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f5c: SWAP3
00001f5d: SWAP1
00001f5e: SWAP3
00001f5f: AND
00001f60: SWAP2
00001f61: SWAP1
00001f62: SWAP2
00001f63: OR
00001f64: SWAP1
00001f65: SSTORE
00001f66: JUMP
00001f67: JUMPDEST
00001f68: PUSH2 0x1f6f
00001f6b: PUSH2 0x2d4f
00001f6e: JUMP
00001f6f: JUMPDEST
00001f70: PUSH2 0x1f77
00001f73: PUSH2 0x2d62
00001f76: JUMP
00001f77: JUMPDEST
00001f78: PUSH2 0x1f87
00001f7b: DUP6
00001f7c: DUP6
00001f7d: PUSH4 0xffffffff
00001f82: PUSH2 0x1cbb
00001f85: AND
00001f86: JUMP
00001f87: JUMPDEST
00001f88: SWAP1
00001f89: POP
00001f8a: PUSH2 0x1f91
00001f8d: PUSH2 0x2d62
00001f90: JUMP
00001f91: JUMPDEST
00001f92: PUSH2 0x1f99
00001f95: PUSH2 0x2d62
00001f98: JUMP
00001f99: JUMPDEST
00001f9a: PUSH2 0x1fa3
00001f9d: DUP4
00001f9e: DUP7
00001f9f: PUSH2 0x2748
00001fa2: JUMP
00001fa3: JUMPDEST
00001fa4: SWAP2
00001fa5: POP
00001fa6: SWAP2
00001fa7: POP
00001fa8: PUSH2 0x1faf
00001fab: PUSH2 0x2d4f
00001fae: JUMP
00001faf: JUMPDEST
00001fb0: PUSH1 0x00
00001fb2: DUP8
00001fb3: DUP2
00001fb4: MSTORE
00001fb5: PUSH1 0x01
00001fb7: DUP10
00001fb8: ADD
00001fb9: PUSH1 0x20
00001fbb: MSTORE
00001fbc: PUSH1 0x40
00001fbe: SWAP1
00001fbf: KECCAK256
00001fc0: PUSH1 0x04
00001fc2: ADD
00001fc3: SLOAD
00001fc4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fd9: AND
00001fda: PUSH4 0xe8177dcf
00001fdf: PUSH2 0x1fee
00001fe2: DUP11
00001fe3: DUP11
00001fe4: PUSH4 0xffffffff
00001fe9: PUSH2 0x1871
00001fec: AND
00001fed: JUMP
00001fee: JUMPDEST
00001fef: DUP5
00001ff0: PUSH1 0x20
00001ff2: ADD
00001ff3: MLOAD
00001ff4: DUP7
00001ff5: PUSH1 0x20
00001ff7: ADD
00001ff8: MLOAD
00001ff9: PUSH1 0x40
00001ffb: MLOAD
00001ffc: DUP5
00001ffd: PUSH4 0xffffffff
00002002: AND
00002003: PUSH29 0x0100000000000000000000000000000000000000000000000000000000
00002021: MUL
00002022: DUP2
00002023: MSTORE
00002024: PUSH1 0x04
00002026: ADD
00002027: PUSH2 0x2032
0000202a: SWAP4
0000202b: SWAP3
0000202c: SWAP2
0000202d: SWAP1
0000202e: PUSH2 0x3c93
00002031: JUMP
00002032: JUMPDEST
00002033: PUSH1 0x20
00002035: PUSH1 0x40
00002037: MLOAD
00002038: DUP1
00002039: DUP4
0000203a: SUB
0000203b: DUP2
0000203c: DUP7
0000203d: DUP1
0000203e: EXTCODESIZE
0000203f: ISZERO
00002040: DUP1
00002041: ISZERO
00002042: PUSH2 0x204a
00002045: JUMPI
00002046: PUSH1 0x00
00002048: DUP1
00002049: REVERT
0000204a: JUMPDEST
0000204b: POP
0000204c: GAS
0000204d: STATICCALL
0000204e: ISZERO
0000204f: DUP1
00002050: ISZERO
00002051: PUSH2 0x205e
00002054: JUMPI
00002055: RETURNDATASIZE
00002056: PUSH1 0x00
00002058: DUP1
00002059: RETURNDATACOPY
0000205a: RETURNDATASIZE
0000205b: PUSH1 0x00
0000205d: REVERT
0000205e: JUMPDEST
0000205f: POP
00002060: POP
00002061: POP
00002062: POP
00002063: PUSH1 0x40
00002065: MLOAD
00002066: RETURNDATASIZE
00002067: PUSH1 0x1f
00002069: NOT
0000206a: PUSH1 0x1f
0000206c: DUP3
0000206d: ADD
0000206e: AND
0000206f: DUP3
00002070: ADD
00002071: DUP1
00002072: PUSH1 0x40
00002074: MSTORE
00002075: POP
00002076: PUSH2 0x2082
00002079: SWAP2
0000207a: SWAP1
0000207b: DUP2
0000207c: ADD
0000207d: SWAP1
0000207e: PUSH2 0x34cc
00002081: JUMP
00002082: JUMPDEST
00002083: SWAP9
00002084: SWAP8
00002085: POP
00002086: POP
00002087: POP
00002088: POP
00002089: POP
0000208a: POP
0000208b: POP
0000208c: POP
0000208d: JUMP
0000208e: JUMPDEST
0000208f: DUP3
00002090: PUSH2 0x0812
00002093: JUMPI
00002094: PUSH2 0x209c
00002097: DUP3
00002098: PUSH2 0x280a
0000209b: JUMP
0000209c: JUMPDEST
0000209d: PUSH32 0x3a20000000000000000000000000000000000000000000000000000000000000
000020be: PUSH2 0x20c6
000020c1: DUP4
000020c2: PUSH2 0x280a
000020c5: JUMP
000020c6: JUMPDEST
000020c7: PUSH1 0x40
000020c9: MLOAD
000020ca: PUSH1 0x20
000020cc: ADD
000020cd: PUSH2 0x20d8
000020d0: SWAP4
000020d1: SWAP3
000020d2: SWAP2
000020d3: SWAP1
000020d4: PUSH2 0x3be4
000020d7: JUMP
000020d8: JUMPDEST
000020d9: PUSH1 0x40
000020db: DUP1
000020dc: MLOAD
000020dd: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
000020fe: DUP2
000020ff: DUP5
00002100: SUB
00002101: ADD
00002102: DUP2
00002103: MSTORE
00002104: SWAP1
00002105: DUP3
00002106: SWAP1
00002107: MSTORE
00002108: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002129: DUP3
0000212a: MSTORE
0000212b: PUSH2 0x2136
0000212e: SWAP2
0000212f: PUSH1 0x04
00002131: ADD
00002132: PUSH2 0x3d1e
00002135: JUMP
00002136: JUMPDEST
00002137: PUSH1 0x40
00002139: MLOAD
0000213a: DUP1
0000213b: SWAP2
0000213c: SUB
0000213d: SWAP1
0000213e: REVERT
0000213f: JUMPDEST
00002140: PUSH2 0x2147
00002143: PUSH2 0x2e80
00002146: JUMP
00002147: JUMPDEST
00002148: PUSH1 0x40
0000214a: MLOAD
0000214b: DUP1
0000214c: PUSH1 0x20
0000214e: ADD
0000214f: PUSH1 0x40
00002151: MSTORE
00002152: DUP1
00002153: DUP4
00002154: PUSH1 0x40
00002156: MLOAD
00002157: SWAP1
00002158: DUP1
00002159: DUP3
0000215a: MSTORE
0000215b: DUP1
0000215c: PUSH1 0x20
0000215e: MUL
0000215f: PUSH1 0x20
00002161: ADD
00002162: DUP3
00002163: ADD
00002164: PUSH1 0x40
00002166: MSTORE
00002167: DUP1
00002168: ISZERO
00002169: PUSH2 0x218c
0000216c: JUMPI
0000216d: DUP2
0000216e: PUSH1 0x20
00002170: ADD
00002171: JUMPDEST
00002172: PUSH2 0x2179
00002175: PUSH2 0x2e93
00002178: JUMP
00002179: JUMPDEST
0000217a: DUP2
0000217b: MSTORE
0000217c: PUSH1 0x20
0000217e: ADD
0000217f: SWAP1
00002180: PUSH1 0x01
00002182: SWAP1
00002183: SUB
00002184: SWAP1
00002185: DUP2
00002186: PUSH2 0x2171
00002189: JUMPI
0000218a: SWAP1
0000218b: POP
0000218c: JUMPDEST
0000218d: POP
0000218e: SWAP1
0000218f: MSTORE
00002190: SWAP3
00002191: SWAP2
00002192: POP
00002193: POP
00002194: JUMP
00002195: JUMPDEST
00002196: PUSH1 0x20
00002198: ADD
00002199: MLOAD
0000219a: PUSH16 0xffffffffffffffffffffffffffffffff
000021ab: AND
000021ac: ISZERO
000021ad: SWAP1
000021ae: JUMP
000021af: JUMPDEST
000021b0: PUSH1 0x00
000021b2: PUSH2 0x21c1
000021b5: DUP5
000021b6: DUP4
000021b7: PUSH4 0xffffffff
000021bc: PUSH2 0x2905
000021bf: AND
000021c0: JUMP
000021c1: JUMPDEST
000021c2: ISZERO
000021c3: PUSH2 0x21ce
000021c6: JUMPI
000021c7: POP
000021c8: PUSH1 0x00
000021ca: PUSH2 0x1962
000021cd: JUMP
000021ce: JUMPDEST
000021cf: PUSH2 0x21de
000021d2: DUP4
000021d3: DUP4
000021d4: PUSH4 0xffffffff
000021d9: PUSH2 0x1ac1
000021dc: AND
000021dd: JUMP
000021de: JUMPDEST
000021df: DUP5
000021e0: MLOAD
000021e1: DUP1
000021e2: MLOAD
000021e3: DUP5
000021e4: SWAP1
000021e5: DUP2
000021e6: LT
000021e7: PUSH2 0x21ec
000021ea: JUMPI
000021eb: INVALID
000021ec: JUMPDEST
000021ed: PUSH1 0x20
000021ef: SWAP1
000021f0: DUP2
000021f1: MUL
000021f2: SWAP2
000021f3: SWAP1
000021f4: SWAP2
000021f5: ADD
000021f6: DUP2
000021f7: ADD
000021f8: MLOAD
000021f9: PUSH1 0x40
000021fb: SWAP1
000021fc: DUP2
000021fd: ADD
000021fe: SWAP3
000021ff: SWAP1
00002200: SWAP3
00002201: MSTORE
00002202: PUSH1 0x00
00002204: DUP5
00002205: DUP2
00002206: MSTORE
00002207: PUSH1 0x01
00002209: DUP7
0000220a: ADD
0000220b: SWAP1
0000220c: SWAP2
0000220d: MSTORE
0000220e: KECCAK256
0000220f: PUSH1 0x07
00002211: ADD
00002212: SLOAD
00002213: PUSH1 0xff
00002215: AND
00002216: ISZERO
00002217: PUSH2 0x227f
0000221a: JUMPI
0000221b: PUSH1 0x01
0000221d: DUP5
0000221e: PUSH1 0x00
00002220: ADD
00002221: MLOAD
00002222: DUP4
00002223: DUP2
00002224: MLOAD
00002225: DUP2
00002226: LT
00002227: PUSH2 0x222c
0000222a: JUMPI
0000222b: INVALID
0000222c: JUMPDEST
0000222d: PUSH1 0x20
0000222f: SWAP1
00002230: DUP2
00002231: MUL
00002232: SWAP2
00002233: SWAP1
00002234: SWAP2
00002235: ADD
00002236: ADD
00002237: MLOAD
00002238: SWAP1
00002239: ISZERO
0000223a: ISZERO
0000223b: SWAP1
0000223c: MSTORE
0000223d: PUSH2 0x224c
00002240: DUP4
00002241: DUP4
00002242: PUSH4 0xffffffff
00002247: PUSH2 0x1cbb
0000224a: AND
0000224b: JUMP
0000224c: JUMPDEST
0000224d: MLOAD
0000224e: DUP5
0000224f: MLOAD
00002250: DUP1
00002251: MLOAD
00002252: DUP5
00002253: SWAP1
00002254: DUP2
00002255: LT
00002256: PUSH2 0x225b
00002259: JUMPI
0000225a: INVALID
0000225b: JUMPDEST
0000225c: PUSH1 0x20
0000225e: SWAP1
0000225f: DUP2
00002260: MUL
00002261: SWAP2
00002262: SWAP1
00002263: SWAP2
00002264: ADD
00002265: DUP2
00002266: ADD
00002267: MLOAD
00002268: PUSH16 0xffffffffffffffffffffffffffffffff
00002279: SWAP1
0000227a: SWAP3
0000227b: AND
0000227c: SWAP2
0000227d: ADD
0000227e: MSTORE
0000227f: JUMPDEST
00002280: POP
00002281: PUSH1 0x01
00002283: SWAP4
00002284: SWAP3
00002285: POP
00002286: POP
00002287: POP
00002288: JUMP
00002289: JUMPDEST
0000228a: PUSH2 0x2291
0000228d: PUSH2 0x2d4f
00002290: JUMP
00002291: JUMPDEST
00002292: PUSH2 0x2299
00002295: PUSH2 0x2d4f
00002298: JUMP
00002299: JUMPDEST
0000229a: PUSH2 0x22a1
0000229d: PUSH2 0x2d4f
000022a0: JUMP
000022a1: JUMPDEST
000022a2: PUSH2 0x22a9
000022a5: PUSH2 0x2d4f
000022a8: JUMP
000022a9: JUMPDEST
000022aa: PUSH1 0x00
000022ac: PUSH2 0x22b4
000022af: DUP8
000022b0: PUSH2 0x2933
000022b3: JUMP
000022b4: JUMPDEST
000022b5: SWAP1
000022b6: POP
000022b7: PUSH1 0x00
000022b9: JUMPDEST
000022ba: DUP2
000022bb: DUP2
000022bc: LT
000022bd: ISZERO
000022be: PUSH2 0x23cd
000022c1: JUMPI
000022c2: PUSH2 0x22d1
000022c5: DUP9
000022c6: DUP3
000022c7: PUSH4 0xffffffff
000022cc: PUSH2 0x2905
000022cf: AND
000022d0: JUMP
000022d1: JUMPDEST
000022d2: PUSH2 0x22da
000022d5: JUMPI
000022d6: PUSH2 0x23c5
000022d9: JUMP
000022da: JUMPDEST
000022db: PUSH2 0x22e2
000022de: PUSH2 0x2d62
000022e1: JUMP
000022e2: JUMPDEST
000022e3: PUSH2 0x22f3
000022e6: DUP12
000022e7: DUP12
000022e8: DUP5
000022e9: PUSH4 0xffffffff
000022ee: PUSH2 0x2938
000022f1: AND
000022f2: JUMP
000022f3: JUMPDEST
000022f4: SWAP1
000022f5: POP
000022f6: PUSH2 0x22fe
000022f9: DUP2
000022fa: PUSH2 0x29a7
000022fd: JUMP
000022fe: JUMPDEST
000022ff: ISZERO
00002300: PUSH2 0x2309
00002303: JUMPI
00002304: POP
00002305: PUSH2 0x23c5
00002308: JUMP
00002309: JUMPDEST
0000230a: PUSH1 0x00
0000230c: PUSH2 0x2330
0000230f: PUSH2 0x231e
00002312: DUP12
00002313: DUP6
00002314: PUSH4 0xffffffff
00002319: PUSH2 0x29af
0000231c: AND
0000231d: JUMP
0000231e: JUMPDEST
0000231f: MLOAD
00002320: PUSH1 0x20
00002322: DUP5
00002323: ADD
00002324: MLOAD
00002325: SWAP1
00002326: PUSH4 0xffffffff
0000232b: PUSH2 0x29d9
0000232e: AND
0000232f: JUMP
00002330: JUMPDEST
00002331: SWAP1
00002332: POP
00002333: PUSH2 0x233a
00002336: PUSH2 0x2d4f
00002339: JUMP
0000233a: JUMPDEST
0000233b: PUSH2 0x2342
0000233e: PUSH2 0x2a00
00002341: JUMP
00002342: JUMPDEST
00002343: SWAP1
00002344: POP
00002345: DUP10
00002346: ISZERO
00002347: PUSH2 0x237a
0000234a: JUMPI
0000234b: PUSH1 0x00
0000234d: DUP5
0000234e: DUP2
0000234f: MSTORE
00002350: PUSH1 0x01
00002352: DUP15
00002353: ADD
00002354: PUSH1 0x20
00002356: SWAP1
00002357: DUP2
00002358: MSTORE
00002359: PUSH1 0x40
0000235b: SWAP2
0000235c: DUP3
0000235d: SWAP1
0000235e: KECCAK256
0000235f: DUP3
00002360: MLOAD
00002361: SWAP2
00002362: DUP3
00002363: ADD
00002364: SWAP1
00002365: SWAP3
00002366: MSTORE
00002367: PUSH1 0x05
00002369: SWAP1
0000236a: SWAP2
0000236b: ADD
0000236c: SLOAD
0000236d: DUP2
0000236e: MSTORE
0000236f: PUSH2 0x2377
00002372: SWAP1
00002373: PUSH2 0x2653
00002376: JUMP
00002377: JUMPDEST
00002378: SWAP1
00002379: POP
0000237a: JUMPDEST
0000237b: DUP3
0000237c: MLOAD
0000237d: ISZERO
0000237e: PUSH2 0x23a3
00002381: JUMPI
00002382: PUSH2 0x239c
00002385: PUSH2 0x238e
00002388: DUP4
00002389: DUP4
0000238a: PUSH2 0x2a22
0000238d: JUMP
0000238e: JUMPDEST
0000238f: DUP9
00002390: MLOAD
00002391: SWAP1
00002392: PUSH4 0xffffffff
00002397: PUSH2 0x2a3b
0000239a: AND
0000239b: JUMP
0000239c: JUMPDEST
0000239d: DUP8
0000239e: MSTORE
0000239f: PUSH2 0x23c1
000023a2: JUMP
000023a3: JUMPDEST
000023a4: PUSH2 0x23be
000023a7: PUSH2 0x23b0
000023aa: DUP4
000023ab: DUP4
000023ac: PUSH2 0x268a
000023af: JUMP
000023b0: JUMPDEST
000023b1: DUP8
000023b2: MLOAD
000023b3: SWAP1
000023b4: PUSH4 0xffffffff
000023b9: PUSH2 0x2a3b
000023bc: AND
000023bd: JUMP
000023be: JUMPDEST
000023bf: DUP7
000023c0: MSTORE
000023c1: JUMPDEST
000023c2: POP
000023c3: POP
000023c4: POP
000023c5: JUMPDEST
000023c6: PUSH1 0x01
000023c8: ADD
000023c9: PUSH2 0x22b9
000023cc: JUMP
000023cd: JUMPDEST
000023ce: POP
000023cf: SWAP2
000023d0: SWAP9
000023d1: SWAP1
000023d2: SWAP8
000023d3: POP
000023d4: SWAP6
000023d5: POP
000023d6: POP
000023d7: POP
000023d8: POP
000023d9: POP
000023da: POP
000023db: JUMP
000023dc: JUMPDEST
000023dd: PUSH2 0x23e4
000023e0: PUSH2 0x2d79
000023e3: JUMP
000023e4: JUMPDEST
000023e5: PUSH2 0x23ec
000023e8: PUSH2 0x2d62
000023eb: JUMP
000023ec: JUMPDEST
000023ed: PUSH2 0x23f4
000023f0: PUSH2 0x2d62
000023f3: JUMP
000023f4: JUMPDEST
000023f5: PUSH2 0x23fe
000023f8: DUP6
000023f9: DUP9
000023fa: PUSH2 0x2748
000023fd: JUMP
000023fe: JUMPDEST
000023ff: SWAP2
00002400: POP
00002401: SWAP2
00002402: POP
00002403: PUSH1 0x00
00002405: PUSH2 0x240c
00002408: PUSH2 0x2a4d
0000240b: JUMP
0000240c: JUMPDEST
0000240d: SWAP1
0000240e: POP
0000240f: PUSH1 0x00
00002411: PUSH2 0x2444
00002414: PUSH2 0x2436
00002417: DUP11
00002418: PUSH1 0x40
0000241a: ADD
0000241b: MLOAD
0000241c: PUSH4 0xffffffff
00002421: AND
00002422: DUP5
00002423: PUSH4 0xffffffff
00002428: AND
00002429: PUSH2 0x2a5d
0000242c: SWAP1
0000242d: SWAP2
0000242e: SWAP1
0000242f: PUSH4 0xffffffff
00002434: AND
00002435: JUMP
00002436: JUMPDEST
00002437: DUP10
00002438: MLOAD
00002439: SWAP1
0000243a: PUSH4 0xffffffff
0000243f: PUSH2 0x29d9
00002442: AND
00002443: JUMP
00002444: JUMPDEST
00002445: SWAP1
00002446: POP
00002447: PUSH1 0x00
00002449: PUSH2 0x2451
0000244c: DUP6
0000244d: PUSH2 0x29a7
00002450: JUMP
00002451: JUMPDEST
00002452: ISZERO
00002453: PUSH2 0x245e
00002456: JUMPI
00002457: POP
00002458: PUSH1 0x00
0000245a: PUSH2 0x2490
0000245d: JUMP
0000245e: JUMPDEST
0000245f: PUSH2 0x2468
00002462: DUP3
00002463: DUP9
00002464: PUSH2 0x268a
00002467: JUMP
00002468: JUMPDEST
00002469: SWAP1
0000246a: POP
0000246b: DUP5
0000246c: PUSH1 0x20
0000246e: ADD
0000246f: MLOAD
00002470: DUP5
00002471: PUSH1 0x20
00002473: ADD
00002474: MLOAD
00002475: LT
00002476: ISZERO
00002477: PUSH2 0x2490
0000247a: JUMPI
0000247b: PUSH2 0x248d
0000247e: DUP2
0000247f: DUP6
00002480: PUSH1 0x20
00002482: ADD
00002483: MLOAD
00002484: DUP8
00002485: PUSH1 0x20
00002487: ADD
00002488: MLOAD
00002489: PUSH2 0x25e4
0000248c: JUMP
0000248d: JUMPDEST
0000248e: SWAP1
0000248f: POP
00002490: JUMPDEST
00002491: DUP2
00002492: DUP2
00002493: GT
00002494: ISZERO
00002495: PUSH2 0x249a
00002498: JUMPI
00002499: INVALID
0000249a: JUMPDEST
0000249b: PUSH1 0x40
0000249d: DUP1
0000249e: MLOAD
0000249f: PUSH1 0x60
000024a1: DUP2
000024a2: ADD
000024a3: SWAP1
000024a4: SWAP2
000024a5: MSTORE
000024a6: DUP11
000024a7: MLOAD
000024a8: DUP2
000024a9: SWAP1
000024aa: PUSH2 0x24e3
000024ad: SWAP1
000024ae: PUSH2 0x24de
000024b1: SWAP1
000024b2: PUSH12 0xffffffffffffffffffffffff
000024bf: AND
000024c0: PUSH2 0x24d2
000024c3: DUP2
000024c4: DUP9
000024c5: PUSH8 0x0de0b6b3a7640000
000024ce: PUSH2 0x25e4
000024d1: JUMP
000024d2: JUMPDEST
000024d3: SWAP1
000024d4: PUSH4 0xffffffff
000024d9: PUSH2 0x2a3b
000024dc: AND
000024dd: JUMP
000024de: JUMPDEST
000024df: PUSH2 0x2a72
000024e2: JUMP
000024e3: JUMPDEST
000024e4: PUSH12 0xffffffffffffffffffffffff
000024f1: SWAP1
000024f2: DUP2
000024f3: AND
000024f4: DUP3
000024f5: MSTORE
000024f6: PUSH1 0x20
000024f8: DUP14
000024f9: DUP2
000024fa: ADD
000024fb: MLOAD
000024fc: SWAP3
000024fd: ADD
000024fe: SWAP2
000024ff: PUSH2 0x251a
00002502: SWAP2
00002503: PUSH2 0x24de
00002506: SWAP2
00002507: AND
00002508: PUSH2 0x24d2
0000250b: DUP2
0000250c: DUP8
0000250d: PUSH8 0x0de0b6b3a7640000
00002516: PUSH2 0x25e4
00002519: JUMP
0000251a: JUMPDEST
0000251b: PUSH12 0xffffffffffffffffffffffff
00002528: AND
00002529: DUP2
0000252a: MSTORE
0000252b: PUSH1 0x20
0000252d: ADD
0000252e: DUP5
0000252f: PUSH4 0xffffffff
00002534: AND
00002535: DUP2
00002536: MSTORE
00002537: POP
00002538: SWAP6
00002539: POP
0000253a: POP
0000253b: POP
0000253c: POP
0000253d: POP
0000253e: POP
0000253f: SWAP5
00002540: SWAP4
00002541: POP
00002542: POP
00002543: POP
00002544: POP
00002545: JUMP
00002546: JUMPDEST
00002547: DUP4
00002548: PUSH2 0x25de
0000254b: JUMPI
0000254c: PUSH2 0x2554
0000254f: DUP4
00002550: PUSH2 0x280a
00002553: JUMP
00002554: JUMPDEST
00002555: PUSH32 0x3a20000000000000000000000000000000000000000000000000000000000000
00002576: PUSH2 0x257e
00002579: DUP5
0000257a: PUSH2 0x280a
0000257d: JUMP
0000257e: JUMPDEST
0000257f: PUSH32 0x203c000000000000000000000000000000000000000000000000000000000000
000025a0: PUSH2 0x25a8
000025a3: DUP6
000025a4: PUSH2 0x2ad0
000025a7: JUMP
000025a8: JUMPDEST
000025a9: PUSH1 0x40
000025ab: MLOAD
000025ac: PUSH2 0x20d8
000025af: SWAP6
000025b0: SWAP5
000025b1: SWAP4
000025b2: SWAP3
000025b3: SWAP2
000025b4: SWAP1
000025b5: PUSH32 0x3e00000000000000000000000000000000000000000000000000000000000000
000025d6: SWAP1
000025d7: PUSH1 0x20
000025d9: ADD
000025da: PUSH2 0x3c0c
000025dd: JUMP
000025de: JUMPDEST
000025df: POP
000025e0: POP
000025e1: POP
000025e2: POP
000025e3: JUMP
000025e4: JUMPDEST
000025e5: PUSH1 0x00
000025e7: PUSH2 0x1c02
000025ea: DUP3
000025eb: PUSH2 0x25fa
000025ee: DUP7
000025ef: DUP7
000025f0: PUSH4 0xffffffff
000025f5: PUSH2 0x29d9
000025f8: AND
000025f9: JUMP
000025fa: JUMPDEST
000025fb: SWAP1
000025fc: PUSH4 0xffffffff
00002601: PUSH2 0x2bfe
00002604: AND
00002605: JUMP
00002606: JUMPDEST
00002607: PUSH1 0x00
00002609: DUP4
0000260a: ISZERO
0000260b: DUP1
0000260c: PUSH2 0x2613
0000260f: JUMPI
00002610: POP
00002611: DUP3
00002612: ISZERO
00002613: JUMPDEST
00002614: ISZERO
00002615: PUSH2 0x262a
00002618: JUMPI
00002619: PUSH2 0x2623
0000261c: PUSH1 0x00
0000261e: DUP4
0000261f: PUSH2 0x2bfe
00002622: JUMP
00002623: JUMPDEST
00002624: SWAP1
00002625: POP
00002626: PUSH2 0x1962
00002629: JUMP
0000262a: JUMPDEST
0000262b: PUSH2 0x1c02
0000262e: PUSH1 0x01
00002630: PUSH2 0x24d2
00002633: DUP5
00002634: PUSH2 0x25fa
00002637: DUP4
00002638: PUSH2 0x2647
0000263b: DUP11
0000263c: DUP11
0000263d: PUSH4 0xffffffff
00002642: PUSH2 0x29d9
00002645: AND
00002646: JUMP
00002647: JUMPDEST
00002648: SWAP1
00002649: PUSH4 0xffffffff
0000264e: PUSH2 0x2a5d
00002651: AND
00002652: JUMP
00002653: JUMPDEST
00002654: PUSH2 0x265b
00002657: PUSH2 0x2d4f
0000265a: JUMP
0000265b: JUMPDEST
0000265c: PUSH1 0x40
0000265e: DUP1
0000265f: MLOAD
00002660: PUSH1 0x20
00002662: DUP2
00002663: ADD
00002664: SWAP1
00002665: SWAP2
00002666: MSTORE
00002667: DUP3
00002668: MLOAD
00002669: DUP2
0000266a: SWAP1
0000266b: PUSH2 0x2682
0000266e: SWAP1
0000266f: PUSH8 0x0de0b6b3a7640000
00002678: PUSH4 0xffffffff
0000267d: PUSH2 0x2a3b
00002680: AND
00002681: JUMP
00002682: JUMPDEST
00002683: SWAP1
00002684: MSTORE
00002685: SWAP3
00002686: SWAP2
00002687: POP
00002688: POP
00002689: JUMP
0000268a: JUMPDEST
0000268b: PUSH1 0x00
0000268d: PUSH2 0x0c09
00002690: DUP4
00002691: DUP4
00002692: PUSH1 0x00
00002694: ADD
00002695: MLOAD
00002696: PUSH8 0x0de0b6b3a7640000
0000269f: PUSH2 0x25e4
000026a2: JUMP
000026a3: JUMPDEST
000026a4: PUSH1 0x40
000026a6: MLOAD
000026a7: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
000026c8: DUP2
000026c9: MSTORE
000026ca: PUSH1 0x00
000026cc: SWAP1
000026cd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000026e2: DUP5
000026e3: AND
000026e4: SWAP1
000026e5: PUSH4 0x70a08231
000026ea: SWAP1
000026eb: PUSH2 0x26f8
000026ee: SWAP1
000026ef: DUP6
000026f0: SWAP1
000026f1: PUSH1 0x04
000026f3: ADD
000026f4: PUSH2 0x3c6a
000026f7: JUMP
000026f8: JUMPDEST
000026f9: PUSH1 0x20
000026fb: PUSH1 0x40
000026fd: MLOAD
000026fe: DUP1
000026ff: DUP4
00002700: SUB
00002701: DUP2
00002702: DUP7
00002703: DUP1
00002704: EXTCODESIZE
00002705: ISZERO
00002706: DUP1
00002707: ISZERO
00002708: PUSH2 0x2710
0000270b: JUMPI
0000270c: PUSH1 0x00
0000270e: DUP1
0000270f: REVERT
00002710: JUMPDEST
00002711: POP
00002712: GAS
00002713: STATICCALL
00002714: ISZERO
00002715: DUP1
00002716: ISZERO
00002717: PUSH2 0x2724
0000271a: JUMPI
0000271b: RETURNDATASIZE
0000271c: PUSH1 0x00
0000271e: DUP1
0000271f: RETURNDATACOPY
00002720: RETURNDATASIZE
00002721: PUSH1 0x00
00002723: REVERT
00002724: JUMPDEST
00002725: POP
00002726: POP
00002727: POP
00002728: POP
00002729: PUSH1 0x40
0000272b: MLOAD
0000272c: RETURNDATASIZE
0000272d: PUSH1 0x1f
0000272f: NOT
00002730: PUSH1 0x1f
00002732: DUP3
00002733: ADD
00002734: AND
00002735: DUP3
00002736: ADD
00002737: DUP1
00002738: PUSH1 0x40
0000273a: MSTORE
0000273b: POP
0000273c: PUSH2 0x0c09
0000273f: SWAP2
00002740: SWAP1
00002741: DUP2
00002742: ADD
00002743: SWAP1
00002744: PUSH2 0x3508
00002747: JUMP
00002748: JUMPDEST
00002749: PUSH2 0x2750
0000274c: PUSH2 0x2d62
0000274f: JUMP
00002750: JUMPDEST
00002751: PUSH2 0x2758
00002754: PUSH2 0x2d62
00002757: JUMP
00002758: JUMPDEST
00002759: PUSH2 0x2760
0000275c: PUSH2 0x2d62
0000275f: JUMP
00002760: JUMPDEST
00002761: POP
00002762: PUSH1 0x40
00002764: DUP1
00002765: MLOAD
00002766: DUP1
00002767: DUP3
00002768: ADD
00002769: SWAP1
0000276a: SWAP2
0000276b: MSTORE
0000276c: PUSH1 0x01
0000276e: DUP2
0000276f: MSTORE
00002770: PUSH1 0x20
00002772: DUP6
00002773: DUP2
00002774: ADD
00002775: MLOAD
00002776: PUSH16 0xffffffffffffffffffffffffffffffff
00002787: AND
00002788: SWAP1
00002789: DUP3
0000278a: ADD
0000278b: MSTORE
0000278c: PUSH2 0x2793
0000278f: PUSH2 0x2d62
00002792: JUMP
00002793: JUMPDEST
00002794: POP
00002795: PUSH1 0x40
00002797: DUP1
00002798: MLOAD
00002799: DUP1
0000279a: DUP3
0000279b: ADD
0000279c: SWAP1
0000279d: SWAP2
0000279e: MSTORE
0000279f: PUSH1 0x00
000027a1: DUP2
000027a2: MSTORE
000027a3: DUP6
000027a4: MLOAD
000027a5: PUSH16 0xffffffffffffffffffffffffffffffff
000027b6: AND
000027b7: PUSH1 0x20
000027b9: DUP3
000027ba: ADD
000027bb: MSTORE
000027bc: PUSH2 0x27c3
000027bf: PUSH2 0x2d62
000027c2: JUMP
000027c3: JUMPDEST
000027c4: PUSH2 0x27cd
000027c7: DUP4
000027c8: DUP8
000027c9: PUSH2 0x1c0a
000027cc: JUMP
000027cd: JUMPDEST
000027ce: SWAP1
000027cf: POP
000027d0: PUSH2 0x27d7
000027d3: PUSH2 0x2d62
000027d6: JUMP
000027d7: JUMPDEST
000027d8: PUSH2 0x27e1
000027db: DUP4
000027dc: DUP9
000027dd: PUSH2 0x1c0a
000027e0: JUMP
000027e1: JUMPDEST
000027e2: SWAP2
000027e3: SWAP9
000027e4: SWAP2
000027e5: SWAP8
000027e6: POP
000027e7: SWAP1
000027e8: SWAP6
000027e9: POP
000027ea: POP
000027eb: POP
000027ec: POP
000027ed: POP
000027ee: POP
000027ef: JUMP
000027f0: JUMPDEST
000027f1: PUSH2 0x27f8
000027f4: PUSH2 0x2d62
000027f7: JUMP
000027f8: JUMPDEST
000027f9: PUSH2 0x0c09
000027fc: DUP4
000027fd: PUSH2 0x2805
00002800: DUP5
00002801: PUSH2 0x2c20
00002804: JUMP
00002805: JUMPDEST
00002806: PUSH2 0x2c47
00002809: JUMP
0000280a: JUMPDEST
0000280b: PUSH1 0x60
0000280d: DUP1
0000280e: DUP3
0000280f: PUSH1 0x40
00002811: MLOAD
00002812: PUSH1 0x20
00002814: ADD
00002815: PUSH2 0x281e
00002818: SWAP2
00002819: SWAP1
0000281a: PUSH2 0x3bcf
0000281d: JUMP
0000281e: JUMPDEST
0000281f: PUSH1 0x40
00002821: DUP1
00002822: MLOAD
00002823: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00002844: DUP2
00002845: DUP5
00002846: SUB
00002847: ADD
00002848: DUP2
00002849: MSTORE
0000284a: SWAP2
0000284b: SWAP1
0000284c: MSTORE
0000284d: SWAP1
0000284e: POP
0000284f: PUSH1 0x20
00002851: JUMPDEST
00002852: DUP1
00002853: ISZERO
00002854: PUSH2 0x28ee
00002857: JUMPI
00002858: DUP2
00002859: MLOAD
0000285a: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000287b: SWAP1
0000287c: SWAP2
0000287d: ADD
0000287e: SWAP1
0000287f: DUP3
00002880: SWAP1
00002881: DUP3
00002882: SWAP1
00002883: DUP2
00002884: LT
00002885: PUSH2 0x288a
00002888: JUMPI
00002889: INVALID
0000288a: JUMPDEST
0000288b: PUSH1 0x20
0000288d: SWAP2
0000288e: ADD
0000288f: ADD
00002890: MLOAD
00002891: PUSH32 0x0100000000000000000000000000000000000000000000000000000000000000
000028b2: SWAP1
000028b3: DUP2
000028b4: SWAP1
000028b5: DIV
000028b6: MUL
000028b7: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000
000028d8: AND
000028d9: ISZERO
000028da: PUSH2 0x28e9
000028dd: JUMPI
000028de: PUSH1 0x01
000028e0: ADD
000028e1: DUP2
000028e2: MSTORE
000028e3: SWAP1
000028e4: POP
000028e5: PUSH2 0x082c
000028e8: JUMP
000028e9: JUMPDEST
000028ea: PUSH2 0x2851
000028ed: JUMP
000028ee: JUMPDEST
000028ef: POP
000028f0: POP
000028f1: PUSH1 0x40
000028f3: DUP1
000028f4: MLOAD
000028f5: PUSH1 0x00
000028f7: DUP2
000028f8: MSTORE
000028f9: PUSH1 0x20
000028fb: DUP2
000028fc: ADD
000028fd: SWAP1
000028fe: SWAP2
000028ff: MSTORE
00002900: SWAP3
00002901: SWAP2
00002902: POP
00002903: POP
00002904: JUMP
00002905: JUMPDEST
00002906: PUSH1 0x00
00002908: DUP3
00002909: PUSH1 0x00
0000290b: ADD
0000290c: MLOAD
0000290d: DUP3
0000290e: DUP2
0000290f: MLOAD
00002910: DUP2
00002911: LT
00002912: PUSH2 0x2917
00002915: JUMPI
00002916: INVALID
00002917: JUMPDEST
00002918: PUSH1 0x20
0000291a: MUL
0000291b: PUSH1 0x20
0000291d: ADD
0000291e: ADD
0000291f: MLOAD
00002920: PUSH1 0x40
00002922: ADD
00002923: MLOAD
00002924: PUSH1 0x00
00002926: ADD
00002927: MLOAD
00002928: PUSH1 0x00
0000292a: EQ
0000292b: ISZERO
0000292c: SWAP1
0000292d: POP
0000292e: SWAP3
0000292f: SWAP2
00002930: POP
00002931: POP
00002932: JUMP
00002933: JUMPDEST
00002934: MLOAD
00002935: MLOAD
00002936: SWAP1
00002937: JUMP
00002938: JUMPDEST
00002939: PUSH2 0x2940
0000293c: PUSH2 0x2d62
0000293f: JUMP
00002940: JUMPDEST
00002941: PUSH2 0x2948
00002944: PUSH2 0x2d62
00002947: JUMP
00002948: JUMPDEST
00002949: PUSH2 0x2959
0000294c: DUP6
0000294d: DUP6
0000294e: DUP6
0000294f: PUSH4 0xffffffff
00002954: PUSH2 0x1969
00002957: AND
00002958: JUMP
00002959: JUMPDEST
0000295a: SWAP1
0000295b: POP
0000295c: PUSH2 0x2964
0000295f: DUP2
00002960: PUSH2 0x2195
00002963: JUMP
00002964: JUMPDEST
00002965: ISZERO
00002966: PUSH2 0x2979
00002969: JUMPI
0000296a: PUSH2 0x2971
0000296d: PUSH2 0x2cd9
00002970: JUMP
00002971: JUMPDEST
00002972: SWAP2
00002973: POP
00002974: POP
00002975: PUSH2 0x1962
00002978: JUMP
00002979: JUMPDEST
0000297a: PUSH2 0x2981
0000297d: PUSH2 0x2d79
00002980: JUMP
00002981: JUMPDEST
00002982: PUSH2 0x2991
00002985: DUP7
00002986: DUP6
00002987: PUSH4 0xffffffff
0000298c: PUSH2 0x19e5
0000298f: AND
00002990: JUMP
00002991: JUMPDEST
00002992: SWAP1
00002993: POP
00002994: PUSH2 0x299d
00002997: DUP3
00002998: DUP3
00002999: PUSH2 0x1c0a
0000299c: JUMP
0000299d: JUMPDEST
0000299e: SWAP7
0000299f: SWAP6
000029a0: POP
000029a1: POP
000029a2: POP
000029a3: POP
000029a4: POP
000029a5: POP
000029a6: JUMP
000029a7: JUMPDEST
000029a8: PUSH1 0x20
000029aa: ADD
000029ab: MLOAD
000029ac: ISZERO
000029ad: SWAP1
000029ae: JUMP
000029af: JUMPDEST
000029b0: PUSH2 0x29b7
000029b3: PUSH2 0x2d4f
000029b6: JUMP
000029b7: JUMPDEST
000029b8: DUP3
000029b9: MLOAD
000029ba: DUP1
000029bb: MLOAD
000029bc: DUP4
000029bd: SWAP1
000029be: DUP2
000029bf: LT
000029c0: PUSH2 0x29c5
000029c3: JUMPI
000029c4: INVALID
000029c5: JUMPDEST
000029c6: PUSH1 0x20
000029c8: MUL
000029c9: PUSH1 0x20
000029cb: ADD
000029cc: ADD
000029cd: MLOAD
000029ce: PUSH1 0x40
000029d0: ADD
000029d1: MLOAD
000029d2: SWAP1
000029d3: POP
000029d4: SWAP3
000029d5: SWAP2
000029d6: POP
000029d7: POP
000029d8: JUMP
000029d9: JUMPDEST
000029da: PUSH1 0x00
000029dc: DUP3
000029dd: PUSH2 0x29e8
000029e0: JUMPI
000029e1: POP
000029e2: PUSH1 0x00
000029e4: PUSH2 0x0c0c
000029e7: JUMP
000029e8: JUMPDEST
000029e9: DUP3
000029ea: DUP3
000029eb: MUL
000029ec: DUP3
000029ed: DUP5
000029ee: DUP3
000029ef: DUP2
000029f0: PUSH2 0x29f5
000029f3: JUMPI
000029f4: INVALID
000029f5: JUMPDEST
000029f6: DIV
000029f7: EQ
000029f8: PUSH2 0x0c09
000029fb: JUMPI
000029fc: PUSH1 0x00
000029fe: DUP1
000029ff: REVERT
00002a00: JUMPDEST
00002a01: PUSH2 0x2a08
00002a04: PUSH2 0x2d4f
00002a07: JUMP
00002a08: JUMPDEST
00002a09: POP
00002a0a: PUSH1 0x40
00002a0c: DUP1
00002a0d: MLOAD
00002a0e: PUSH1 0x20
00002a10: DUP2
00002a11: ADD
00002a12: SWAP1
00002a13: SWAP2
00002a14: MSTORE
00002a15: PUSH8 0x0de0b6b3a7640000
00002a1e: DUP2
00002a1f: MSTORE
00002a20: SWAP1
00002a21: JUMP
00002a22: JUMPDEST
00002a23: PUSH1 0x00
00002a25: PUSH2 0x0c09
00002a28: DUP4
00002a29: PUSH8 0x0de0b6b3a7640000
00002a32: DUP5
00002a33: PUSH1 0x00
00002a35: ADD
00002a36: MLOAD
00002a37: PUSH2 0x25e4
00002a3a: JUMP
00002a3b: JUMPDEST
00002a3c: PUSH1 0x00
00002a3e: DUP3
00002a3f: DUP3
00002a40: ADD
00002a41: DUP4
00002a42: DUP2
00002a43: LT
00002a44: ISZERO
00002a45: PUSH2 0x0c09
00002a48: JUMPI
00002a49: PUSH1 0x00
00002a4b: DUP1
00002a4c: REVERT
00002a4d: JUMPDEST
00002a4e: PUSH1 0x00
00002a50: PUSH2 0x2a58
00002a53: TIMESTAMP
00002a54: PUSH2 0x2cf9
00002a57: JUMP
00002a58: JUMPDEST
00002a59: SWAP1
00002a5a: POP
00002a5b: SWAP1
00002a5c: JUMP
00002a5d: JUMPDEST
00002a5e: PUSH1 0x00
00002a60: DUP3
00002a61: DUP3
00002a62: GT
00002a63: ISZERO
00002a64: PUSH2 0x2a6c
00002a67: JUMPI
00002a68: PUSH1 0x00
00002a6a: DUP1
00002a6b: REVERT
00002a6c: JUMPDEST
00002a6d: POP
00002a6e: SWAP1
00002a6f: SUB
00002a70: SWAP1
00002a71: JUMP
00002a72: JUMPDEST
00002a73: PUSH1 0x00
00002a75: DUP2
00002a76: PUSH2 0x0829
00002a79: PUSH12 0xffffffffffffffffffffffff
00002a86: DUP3
00002a87: AND
00002a88: DUP3
00002a89: EQ
00002a8a: PUSH32 0x4d61746800000000000000000000000000000000000000000000000000000000
00002aab: PUSH32 0x556e73616665206361737420746f2075696e7439360000000000000000000000
00002acc: PUSH2 0x208e
00002acf: JUMP
00002ad0: JUMPDEST
00002ad1: PUSH1 0x60
00002ad3: DUP2
00002ad4: PUSH2 0x2b11
00002ad7: JUMPI
00002ad8: POP
00002ad9: PUSH1 0x40
00002adb: DUP1
00002adc: MLOAD
00002add: DUP1
00002ade: DUP3
00002adf: ADD
00002ae0: SWAP1
00002ae1: SWAP2
00002ae2: MSTORE
00002ae3: PUSH1 0x01
00002ae5: DUP2
00002ae6: MSTORE
00002ae7: PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000
00002b08: PUSH1 0x20
00002b0a: DUP3
00002b0b: ADD
00002b0c: MSTORE
00002b0d: PUSH2 0x082c
00002b10: JUMP
00002b11: JUMPDEST
00002b12: DUP2
00002b13: PUSH1 0x00
00002b15: JUMPDEST
00002b16: DUP2
00002b17: ISZERO
00002b18: PUSH2 0x2b29
00002b1b: JUMPI
00002b1c: PUSH1 0x01
00002b1e: ADD
00002b1f: PUSH1 0x0a
00002b21: DUP3
00002b22: DIV
00002b23: SWAP2
00002b24: POP
00002b25: PUSH2 0x2b15
00002b28: JUMP
00002b29: JUMPDEST
00002b2a: PUSH1 0x60
00002b2c: DUP2
00002b2d: PUSH1 0x40
00002b2f: MLOAD
00002b30: SWAP1
00002b31: DUP1
00002b32: DUP3
00002b33: MSTORE
00002b34: DUP1
00002b35: PUSH1 0x1f
00002b37: ADD
00002b38: PUSH1 0x1f
00002b3a: NOT
00002b3b: AND
00002b3c: PUSH1 0x20
00002b3e: ADD
00002b3f: DUP3
00002b40: ADD
00002b41: PUSH1 0x40
00002b43: MSTORE
00002b44: DUP1
00002b45: ISZERO
00002b46: PUSH2 0x2b56
00002b49: JUMPI
00002b4a: PUSH1 0x20
00002b4c: DUP3
00002b4d: ADD
00002b4e: DUP2
00002b4f: DUP1
00002b50: CODESIZE
00002b51: DUP4
00002b52: CODECOPY
00002b53: ADD
00002b54: SWAP1
00002b55: POP
00002b56: JUMPDEST
00002b57: POP
00002b58: DUP6
00002b59: SWAP4
00002b5a: POP
00002b5b: SWAP1
00002b5c: POP
00002b5d: DUP2
00002b5e: JUMPDEST
00002b5f: DUP1
00002b60: ISZERO
00002b61: PUSH2 0x2bf5
00002b64: JUMPI
00002b65: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002b86: ADD
00002b87: PUSH1 0x0a
00002b89: DUP5
00002b8a: MOD
00002b8b: PUSH1 0x30
00002b8d: ADD
00002b8e: PUSH32 0x0100000000000000000000000000000000000000000000000000000000000000
00002baf: MUL
00002bb0: DUP3
00002bb1: DUP3
00002bb2: DUP2
00002bb3: MLOAD
00002bb4: DUP2
00002bb5: LT
00002bb6: PUSH2 0x2bbb
00002bb9: JUMPI
00002bba: INVALID
00002bbb: JUMPDEST
00002bbc: PUSH1 0x20
00002bbe: ADD
00002bbf: ADD
00002bc0: SWAP1
00002bc1: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002be1: NOT
00002be2: AND
00002be3: SWAP1
00002be4: DUP2
00002be5: PUSH1 0x00
00002be7: BYTE
00002be8: SWAP1
00002be9: MSTORE8
00002bea: POP
00002beb: PUSH1 0x0a
00002bed: DUP5
00002bee: DIV
00002bef: SWAP4
00002bf0: POP
00002bf1: PUSH2 0x2b5e
00002bf4: JUMP
00002bf5: JUMPDEST
00002bf6: POP
00002bf7: SWAP5
00002bf8: SWAP4
00002bf9: POP
00002bfa: POP
00002bfb: POP
00002bfc: POP
00002bfd: JUMP
00002bfe: JUMPDEST
00002bff: PUSH1 0x00
00002c01: DUP1
00002c02: DUP3
00002c03: GT
00002c04: PUSH2 0x2c0c
00002c07: JUMPI
00002c08: PUSH1 0x00
00002c0a: DUP1
00002c0b: REVERT
00002c0c: JUMPDEST
00002c0d: PUSH1 0x00
00002c0f: DUP3
00002c10: DUP5
00002c11: DUP2
00002c12: PUSH2 0x2c17
00002c15: JUMPI
00002c16: INVALID
00002c17: JUMPDEST
00002c18: DIV
00002c19: SWAP5
00002c1a: SWAP4
00002c1b: POP
00002c1c: POP
00002c1d: POP
00002c1e: POP
00002c1f: JUMP
00002c20: JUMPDEST
00002c21: PUSH2 0x2c28
00002c24: PUSH2 0x2d62
00002c27: JUMP
00002c28: JUMPDEST
00002c29: POP
00002c2a: PUSH1 0x40
00002c2c: DUP1
00002c2d: MLOAD
00002c2e: DUP1
00002c2f: DUP3
00002c30: ADD
00002c31: SWAP1
00002c32: SWAP2
00002c33: MSTORE
00002c34: DUP2
00002c35: MLOAD
00002c36: ISZERO
00002c37: DUP2
00002c38: MSTORE
00002c39: PUSH1 0x20
00002c3b: DUP1
00002c3c: DUP4
00002c3d: ADD
00002c3e: MLOAD
00002c3f: SWAP1
00002c40: DUP3
00002c41: ADD
00002c42: MSTORE
00002c43: SWAP2
00002c44: SWAP1
00002c45: POP
00002c46: JUMP
00002c47: JUMPDEST
00002c48: PUSH2 0x2c4f
00002c4b: PUSH2 0x2d62
00002c4e: JUMP
00002c4f: JUMPDEST
00002c50: PUSH2 0x2c57
00002c53: PUSH2 0x2d62
00002c56: JUMP
00002c57: JUMPDEST
00002c58: DUP3
00002c59: MLOAD
00002c5a: DUP5
00002c5b: MLOAD
00002c5c: ISZERO
00002c5d: ISZERO
00002c5e: SWAP1
00002c5f: ISZERO
00002c60: ISZERO
00002c61: EQ
00002c62: ISZERO
00002c63: PUSH2 0x2c8a
00002c66: JUMPI
00002c67: DUP4
00002c68: MLOAD
00002c69: ISZERO
00002c6a: ISZERO
00002c6b: DUP2
00002c6c: MSTORE
00002c6d: PUSH1 0x20
00002c6f: DUP1
00002c70: DUP6
00002c71: ADD
00002c72: MLOAD
00002c73: SWAP1
00002c74: DUP5
00002c75: ADD
00002c76: MLOAD
00002c77: PUSH2 0x2c80
00002c7a: SWAP2
00002c7b: SWAP1
00002c7c: PUSH2 0x2a3b
00002c7f: JUMP
00002c80: JUMPDEST
00002c81: PUSH1 0x20
00002c83: DUP3
00002c84: ADD
00002c85: MSTORE
00002c86: PUSH2 0x0c09
00002c89: JUMP
00002c8a: JUMPDEST
00002c8b: DUP3
00002c8c: PUSH1 0x20
00002c8e: ADD
00002c8f: MLOAD
00002c90: DUP5
00002c91: PUSH1 0x20
00002c93: ADD
00002c94: MLOAD
00002c95: LT
00002c96: PUSH2 0x2cb3
00002c99: JUMPI
00002c9a: DUP4
00002c9b: MLOAD
00002c9c: ISZERO
00002c9d: ISZERO
00002c9e: DUP2
00002c9f: MSTORE
00002ca0: PUSH1 0x20
00002ca2: DUP1
00002ca3: DUP6
00002ca4: ADD
00002ca5: MLOAD
00002ca6: SWAP1
00002ca7: DUP5
00002ca8: ADD
00002ca9: MLOAD
00002caa: PUSH2 0x2c80
00002cad: SWAP2
00002cae: SWAP1
00002caf: PUSH2 0x2a5d
00002cb2: JUMP
00002cb3: JUMPDEST
00002cb4: DUP3
00002cb5: MLOAD
00002cb6: ISZERO
00002cb7: ISZERO
00002cb8: DUP2
00002cb9: MSTORE
00002cba: PUSH1 0x20
00002cbc: DUP1
00002cbd: DUP5
00002cbe: ADD
00002cbf: MLOAD
00002cc0: SWAP1
00002cc1: DUP6
00002cc2: ADD
00002cc3: MLOAD
00002cc4: PUSH2 0x2ccd
00002cc7: SWAP2
00002cc8: SWAP1
00002cc9: PUSH2 0x2a5d
00002ccc: JUMP
00002ccd: JUMPDEST
00002cce: PUSH1 0x20
00002cd0: DUP3
00002cd1: ADD
00002cd2: MSTORE
00002cd3: SWAP4
00002cd4: SWAP3
00002cd5: POP
00002cd6: POP
00002cd7: POP
00002cd8: JUMP
00002cd9: JUMPDEST
00002cda: PUSH2 0x2ce1
00002cdd: PUSH2 0x2d62
00002ce0: JUMP
00002ce1: JUMPDEST
00002ce2: POP
00002ce3: PUSH1 0x40
00002ce5: DUP1
00002ce6: MLOAD
00002ce7: DUP1
00002ce8: DUP3
00002ce9: ADD
00002cea: SWAP1
00002ceb: SWAP2
00002cec: MSTORE
00002ced: PUSH1 0x00
00002cef: DUP1
00002cf0: DUP3
00002cf1: MSTORE
00002cf2: PUSH1 0x20
00002cf4: DUP3
00002cf5: ADD
00002cf6: MSTORE
00002cf7: SWAP1
00002cf8: JUMP
00002cf9: JUMPDEST
00002cfa: PUSH1 0x00
00002cfc: DUP2
00002cfd: PUSH2 0x0829
00002d00: PUSH4 0xffffffff
00002d05: DUP3
00002d06: AND
00002d07: DUP3
00002d08: EQ
00002d09: PUSH32 0x4d61746800000000000000000000000000000000000000000000000000000000
00002d2a: PUSH32 0x556e73616665206361737420746f2075696e7433320000000000000000000000
00002d4b: PUSH2 0x208e
00002d4e: JUMP
00002d4f: JUMPDEST
00002d50: PUSH1 0x40
00002d52: MLOAD
00002d53: DUP1
00002d54: PUSH1 0x20
00002d56: ADD
00002d57: PUSH1 0x40
00002d59: MSTORE
00002d5a: DUP1
00002d5b: PUSH1 0x00
00002d5d: DUP2
00002d5e: MSTORE
00002d5f: POP
00002d60: SWAP1
00002d61: JUMP
00002d62: JUMPDEST
00002d63: PUSH1 0x40
00002d65: DUP1
00002d66: MLOAD
00002d67: DUP1
00002d68: DUP3
00002d69: ADD
00002d6a: SWAP1
00002d6b: SWAP2
00002d6c: MSTORE
00002d6d: PUSH1 0x00
00002d6f: DUP1
00002d70: DUP3
00002d71: MSTORE
00002d72: PUSH1 0x20
00002d74: DUP3
00002d75: ADD
00002d76: MSTORE
00002d77: SWAP1
00002d78: JUMP
00002d79: JUMPDEST
00002d7a: PUSH1 0x40
00002d7c: DUP1
00002d7d: MLOAD
00002d7e: PUSH1 0x60
00002d80: DUP2
00002d81: ADD
00002d82: DUP3
00002d83: MSTORE
00002d84: PUSH1 0x00
00002d86: DUP1
00002d87: DUP3
00002d88: MSTORE
00002d89: PUSH1 0x20
00002d8b: DUP3
00002d8c: ADD
00002d8d: DUP2
00002d8e: SWAP1
00002d8f: MSTORE
00002d90: SWAP2
00002d91: DUP2
00002d92: ADD
00002d93: SWAP2
00002d94: SWAP1
00002d95: SWAP2
00002d96: MSTORE
00002d97: SWAP1
00002d98: JUMP
00002d99: JUMPDEST
00002d9a: PUSH1 0x40
00002d9c: MLOAD
00002d9d: DUP1
00002d9e: PUSH1 0x80
00002da0: ADD
00002da1: PUSH1 0x40
00002da3: MSTORE
00002da4: DUP1
00002da5: PUSH2 0x2dac
00002da8: PUSH2 0x2d4f
00002dab: JUMP
00002dac: JUMPDEST
00002dad: DUP2
00002dae: MSTORE
00002daf: PUSH1 0x20
00002db1: ADD
00002db2: PUSH2 0x2db9
00002db5: PUSH2 0x2d4f
00002db8: JUMP
00002db9: JUMPDEST
00002dba: DUP2
00002dbb: MSTORE
00002dbc: PUSH1 0x20
00002dbe: ADD
00002dbf: PUSH2 0x2dc6
00002dc2: PUSH2 0x2d4f
00002dc5: JUMP
00002dc6: JUMPDEST
00002dc7: DUP2
00002dc8: MSTORE
00002dc9: PUSH1 0x20
00002dcb: ADD
00002dcc: PUSH2 0x2dd3
00002dcf: PUSH2 0x2d4f
00002dd2: JUMP
00002dd3: JUMPDEST
00002dd4: SWAP1
00002dd5: MSTORE
00002dd6: SWAP1
00002dd7: JUMP
00002dd8: JUMPDEST
00002dd9: PUSH1 0x40
00002ddb: MLOAD
00002ddc: DUP1
00002ddd: PUSH2 0x0160
00002de0: ADD
00002de1: PUSH1 0x40
00002de3: MSTORE
00002de4: DUP1
00002de5: PUSH1 0x00
00002de7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002dfc: AND
00002dfd: DUP2
00002dfe: MSTORE
00002dff: PUSH1 0x20
00002e01: ADD
00002e02: PUSH2 0x2e09
00002e05: PUSH2 0x2d62
00002e08: JUMP
00002e09: JUMPDEST
00002e0a: DUP2
00002e0b: MSTORE
00002e0c: PUSH1 0x20
00002e0e: ADD
00002e0f: PUSH2 0x2e16
00002e12: PUSH2 0x2d79
00002e15: JUMP
00002e16: JUMPDEST
00002e17: DUP2
00002e18: MSTORE
00002e19: PUSH1 0x00
00002e1b: PUSH1 0x20
00002e1d: DUP3
00002e1e: ADD
00002e1f: DUP2
00002e20: SWAP1
00002e21: MSTORE
00002e22: PUSH1 0x40
00002e24: DUP3
00002e25: ADD
00002e26: MSTORE
00002e27: PUSH1 0x60
00002e29: ADD
00002e2a: PUSH2 0x2e31
00002e2d: PUSH2 0x2d4f
00002e30: JUMP
00002e31: JUMPDEST
00002e32: DUP2
00002e33: MSTORE
00002e34: PUSH1 0x20
00002e36: ADD
00002e37: PUSH2 0x2e3e
00002e3a: PUSH2 0x2d4f
00002e3d: JUMP
00002e3e: JUMPDEST
00002e3f: DUP2
00002e40: MSTORE
00002e41: PUSH1 0x00
00002e43: PUSH1 0x20
00002e45: SWAP1
00002e46: SWAP2
00002e47: ADD
00002e48: MSTORE
00002e49: SWAP1
00002e4a: JUMP
00002e4b: JUMPDEST
00002e4c: PUSH1 0x40
00002e4e: DUP1
00002e4f: MLOAD
00002e50: PUSH1 0xc0
00002e52: DUP2
00002e53: ADD
00002e54: DUP3
00002e55: MSTORE
00002e56: PUSH1 0x00
00002e58: DUP1
00002e59: DUP3
00002e5a: MSTORE
00002e5b: PUSH1 0x20
00002e5d: DUP3
00002e5e: ADD
00002e5f: DUP2
00002e60: SWAP1
00002e61: MSTORE
00002e62: SWAP2
00002e63: DUP2
00002e64: ADD
00002e65: DUP3
00002e66: SWAP1
00002e67: MSTORE
00002e68: PUSH1 0x60
00002e6a: DUP2
00002e6b: ADD
00002e6c: DUP3
00002e6d: SWAP1
00002e6e: MSTORE
00002e6f: PUSH1 0x80
00002e71: DUP2
00002e72: ADD
00002e73: DUP3
00002e74: SWAP1
00002e75: MSTORE
00002e76: PUSH1 0xa0
00002e78: DUP2
00002e79: ADD
00002e7a: SWAP2
00002e7b: SWAP1
00002e7c: SWAP2
00002e7d: MSTORE
00002e7e: SWAP1
00002e7f: JUMP
00002e80: JUMPDEST
00002e81: PUSH1 0x40
00002e83: MLOAD
00002e84: DUP1
00002e85: PUSH1 0x20
00002e87: ADD
00002e88: PUSH1 0x40
00002e8a: MSTORE
00002e8b: DUP1
00002e8c: PUSH1 0x60
00002e8e: DUP2
00002e8f: MSTORE
00002e90: POP
00002e91: SWAP1
00002e92: JUMP
00002e93: JUMPDEST
00002e94: PUSH1 0x40
00002e96: DUP1
00002e97: MLOAD
00002e98: PUSH1 0x60
00002e9a: DUP2
00002e9b: ADD
00002e9c: DUP3
00002e9d: MSTORE
00002e9e: PUSH1 0x00
00002ea0: DUP1
00002ea1: DUP3
00002ea2: MSTORE
00002ea3: PUSH1 0x20
00002ea5: DUP3
00002ea6: ADD
00002ea7: MSTORE
00002ea8: SWAP1
00002ea9: DUP2
00002eaa: ADD
00002eab: PUSH2 0x2dd3
00002eae: PUSH2 0x2d4f
00002eb1: JUMP
00002eb2: JUMPDEST
00002eb3: PUSH1 0x00
00002eb5: PUSH2 0x0c09
00002eb8: DUP3
00002eb9: CALLDATALOAD
00002eba: PUSH2 0x4015
00002ebd: JUMP
00002ebe: JUMPDEST
00002ebf: PUSH1 0x00
00002ec1: DUP3
00002ec2: PUSH1 0x1f
00002ec4: DUP4
00002ec5: ADD
00002ec6: SLT
00002ec7: PUSH2 0x2ecf
00002eca: JUMPI
00002ecb: PUSH1 0x00
00002ecd: DUP1
00002ece: REVERT
00002ecf: JUMPDEST
00002ed0: DUP2
00002ed1: CALLDATALOAD
00002ed2: PUSH2 0x2ee2
00002ed5: PUSH2 0x2edd
00002ed8: DUP3
00002ed9: PUSH2 0x3f9b
00002edc: JUMP
00002edd: JUMPDEST
00002ede: PUSH2 0x3f74
00002ee1: JUMP
00002ee2: JUMPDEST
00002ee3: DUP2
00002ee4: DUP2
00002ee5: MSTORE
00002ee6: PUSH1 0x20
00002ee8: SWAP4
00002ee9: DUP5
00002eea: ADD
00002eeb: SWAP4
00002eec: SWAP1
00002eed: SWAP3
00002eee: POP
00002eef: DUP3
00002ef0: ADD
00002ef1: DUP4
00002ef2: PUSH1 0x00
00002ef4: JUMPDEST
00002ef5: DUP4
00002ef6: DUP2
00002ef7: LT
00002ef8: ISZERO
00002ef9: PUSH2 0x2f20
00002efc: JUMPI
00002efd: DUP2
00002efe: CALLDATALOAD
00002eff: DUP7
00002f00: ADD
00002f01: PUSH2 0x2f0a
00002f04: DUP9
00002f05: DUP3
00002f06: PUSH2 0x308d
00002f09: JUMP
00002f0a: JUMPDEST
00002f0b: DUP5
00002f0c: MSTORE
00002f0d: POP
00002f0e: PUSH1 0x20
00002f10: SWAP3
00002f11: DUP4
00002f12: ADD
00002f13: SWAP3
00002f14: SWAP2
00002f15: SWAP1
00002f16: SWAP2
00002f17: ADD
00002f18: SWAP1
00002f19: PUSH1 0x01
00002f1b: ADD
00002f1c: PUSH2 0x2ef4
00002f1f: JUMP
00002f20: JUMPDEST
00002f21: POP
00002f22: POP
00002f23: POP
00002f24: POP
00002f25: SWAP3
00002f26: SWAP2
00002f27: POP
00002f28: POP
00002f29: JUMP
00002f2a: JUMPDEST
00002f2b: PUSH1 0x00
00002f2d: DUP3
00002f2e: PUSH1 0x1f
00002f30: DUP4
00002f31: ADD
00002f32: SLT
00002f33: PUSH2 0x2f3b
00002f36: JUMPI
00002f37: PUSH1 0x00
00002f39: DUP1
00002f3a: REVERT
00002f3b: JUMPDEST
00002f3c: DUP2
00002f3d: CALLDATALOAD
00002f3e: PUSH2 0x2f49
00002f41: PUSH2 0x2edd
00002f44: DUP3
00002f45: PUSH2 0x3f9b
00002f48: JUMP
00002f49: JUMPDEST
00002f4a: SWAP2
00002f4b: POP
00002f4c: DUP2
00002f4d: DUP2
00002f4e: DUP4
00002f4f: MSTORE
00002f50: PUSH1 0x20
00002f52: DUP5
00002f53: ADD
00002f54: SWAP4
00002f55: POP
00002f56: PUSH1 0x20
00002f58: DUP2
00002f59: ADD
00002f5a: SWAP1
00002f5b: POP
00002f5c: DUP4
00002f5d: DUP6
00002f5e: PUSH1 0x40
00002f60: DUP5
00002f61: MUL
00002f62: DUP3
00002f63: ADD
00002f64: GT
00002f65: ISZERO
00002f66: PUSH2 0x2f6e
00002f69: JUMPI
00002f6a: PUSH1 0x00
00002f6c: DUP1
00002f6d: REVERT
00002f6e: JUMPDEST
00002f6f: PUSH1 0x00
00002f71: JUMPDEST
00002f72: DUP4
00002f73: DUP2
00002f74: LT
00002f75: ISZERO
00002f76: PUSH2 0x2f20
00002f79: JUMPI
00002f7a: DUP2
00002f7b: PUSH2 0x2f84
00002f7e: DUP9
00002f7f: DUP3
00002f80: PUSH2 0x320b
00002f83: JUMP
00002f84: JUMPDEST
00002f85: DUP5
00002f86: MSTORE
00002f87: POP
00002f88: PUSH1 0x20
00002f8a: SWAP1
00002f8b: SWAP3
00002f8c: ADD
00002f8d: SWAP2
00002f8e: PUSH1 0x40
00002f90: SWAP2
00002f91: SWAP1
00002f92: SWAP2
00002f93: ADD
00002f94: SWAP1
00002f95: PUSH1 0x01
00002f97: ADD
00002f98: PUSH2 0x2f71
00002f9b: JUMP
00002f9c: JUMPDEST
00002f9d: PUSH1 0x00
00002f9f: DUP3
00002fa0: PUSH1 0x1f
00002fa2: DUP4
00002fa3: ADD
00002fa4: SLT
00002fa5: PUSH2 0x2fad
00002fa8: JUMPI
00002fa9: PUSH1 0x00
00002fab: DUP1
00002fac: REVERT
00002fad: JUMPDEST
00002fae: DUP2
00002faf: CALLDATALOAD
00002fb0: PUSH2 0x2fbb
00002fb3: PUSH2 0x2edd
00002fb6: DUP3
00002fb7: PUSH2 0x3f9b
00002fba: JUMP
00002fbb: JUMPDEST
00002fbc: SWAP2
00002fbd: POP
00002fbe: DUP2
00002fbf: DUP2
00002fc0: DUP4
00002fc1: MSTORE
00002fc2: PUSH1 0x20
00002fc4: DUP5
00002fc5: ADD
00002fc6: SWAP4
00002fc7: POP
00002fc8: PUSH1 0x20
00002fca: DUP2
00002fcb: ADD
00002fcc: SWAP1
00002fcd: POP
00002fce: DUP4
00002fcf: DUP6
00002fd0: PUSH1 0x40
00002fd2: DUP5
00002fd3: MUL
00002fd4: DUP3
00002fd5: ADD
00002fd6: GT
00002fd7: ISZERO
00002fd8: PUSH2 0x2fe0
00002fdb: JUMPI
00002fdc: PUSH1 0x00
00002fde: DUP1
00002fdf: REVERT
00002fe0: JUMPDEST
00002fe1: PUSH1 0x00
00002fe3: JUMPDEST
00002fe4: DUP4
00002fe5: DUP2
00002fe6: LT
00002fe7: ISZERO
00002fe8: PUSH2 0x2f20
00002feb: JUMPI
00002fec: DUP2
00002fed: PUSH2 0x2ff6
00002ff0: DUP9
00002ff1: DUP3
00002ff2: PUSH2 0x3252
00002ff5: JUMP
00002ff6: JUMPDEST
00002ff7: DUP5
00002ff8: MSTORE
00002ff9: POP
00002ffa: PUSH1 0x20
00002ffc: SWAP1
00002ffd: SWAP3
00002ffe: ADD
00002fff: SWAP2
00003000: PUSH1 0x40
00003002: SWAP2
00003003: SWAP1
00003004: SWAP2
00003005: ADD
00003006: SWAP1
00003007: PUSH1 0x01
00003009: ADD
0000300a: PUSH2 0x2fe3
0000300d: JUMP
0000300e: JUMPDEST
0000300f: PUSH1 0x00
00003011: PUSH2 0x0c09
00003014: DUP3
00003015: CALLDATALOAD
00003016: PUSH2 0x4020
00003019: JUMP
0000301a: JUMPDEST
0000301b: PUSH1 0x00
0000301d: DUP3
0000301e: PUSH1 0x1f
00003020: DUP4
00003021: ADD
00003022: SLT
00003023: PUSH2 0x302b
00003026: JUMPI
00003027: PUSH1 0x00
00003029: DUP1
0000302a: REVERT
0000302b: JUMPDEST
0000302c: DUP2
0000302d: CALLDATALOAD
0000302e: PUSH2 0x3039
00003031: PUSH2 0x2edd
00003034: DUP3
00003035: PUSH2 0x3fbc
00003038: JUMP
00003039: JUMPDEST
0000303a: SWAP2
0000303b: POP
0000303c: DUP1
0000303d: DUP3
0000303e: MSTORE
0000303f: PUSH1 0x20
00003041: DUP4
00003042: ADD
00003043: PUSH1 0x20
00003045: DUP4
00003046: ADD
00003047: DUP6
00003048: DUP4
00003049: DUP4
0000304a: ADD
0000304b: GT
0000304c: ISZERO
0000304d: PUSH2 0x3055
00003050: JUMPI
00003051: PUSH1 0x00
00003053: DUP1
00003054: REVERT
00003055: JUMPDEST
00003056: PUSH2 0x3060
00003059: DUP4
0000305a: DUP3
0000305b: DUP5
0000305c: PUSH2 0x4139
0000305f: JUMP
00003060: JUMPDEST
00003061: POP
00003062: POP
00003063: POP
00003064: SWAP3
00003065: SWAP2
00003066: POP
00003067: POP
00003068: JUMP
00003069: JUMPDEST
0000306a: PUSH1 0x00
0000306c: PUSH2 0x0c09
0000306f: DUP3
00003070: CALLDATALOAD
00003071: PUSH2 0x40ef
00003074: JUMP
00003075: JUMPDEST
00003076: PUSH1 0x00
00003078: PUSH2 0x0c09
0000307b: DUP3
0000307c: CALLDATALOAD
0000307d: PUSH2 0x40fa
00003080: JUMP
00003081: JUMPDEST
00003082: PUSH1 0x00
00003084: PUSH2 0x0c09
00003087: DUP3
00003088: CALLDATALOAD
00003089: PUSH2 0x4109
0000308c: JUMP
0000308d: JUMPDEST
0000308e: PUSH1 0x00
00003090: PUSH2 0x0160
00003093: DUP3
00003094: DUP5
00003095: SUB
00003096: SLT
00003097: ISZERO
00003098: PUSH2 0x30a0
0000309b: JUMPI
0000309c: PUSH1 0x00
0000309e: DUP1
0000309f: REVERT
000030a0: JUMPDEST
000030a1: PUSH2 0x30ab
000030a4: PUSH2 0x0100
000030a7: PUSH2 0x3f74
000030aa: JUMP
000030ab: JUMPDEST
000030ac: SWAP1
000030ad: POP
000030ae: PUSH1 0x00
000030b0: PUSH2 0x30b9
000030b3: DUP5
000030b4: DUP5
000030b5: PUSH2 0x3075
000030b8: JUMP
000030b9: JUMPDEST
000030ba: DUP3
000030bb: MSTORE
000030bc: POP
000030bd: PUSH1 0x20
000030bf: PUSH2 0x30ca
000030c2: DUP5
000030c3: DUP5
000030c4: DUP4
000030c5: ADD
000030c6: PUSH2 0x32b7
000030c9: JUMP
000030ca: JUMPDEST
000030cb: PUSH1 0x20
000030cd: DUP4
000030ce: ADD
000030cf: MSTORE
000030d0: POP
000030d1: PUSH1 0x40
000030d3: PUSH2 0x30de
000030d6: DUP5
000030d7: DUP3
000030d8: DUP6
000030d9: ADD
000030da: PUSH2 0x3169
000030dd: JUMP
000030de: JUMPDEST
000030df: PUSH1 0x40
000030e1: DUP4
000030e2: ADD
000030e3: MSTORE
000030e4: POP
000030e5: PUSH1 0xc0
000030e7: PUSH2 0x30f2
000030ea: DUP5
000030eb: DUP3
000030ec: DUP6
000030ed: ADD
000030ee: PUSH2 0x32b7
000030f1: JUMP
000030f2: JUMPDEST
000030f3: PUSH1 0x60
000030f5: DUP4
000030f6: ADD
000030f7: MSTORE
000030f8: POP
000030f9: PUSH1 0xe0
000030fb: PUSH2 0x3106
000030fe: DUP5
000030ff: DUP3
00003100: DUP6
00003101: ADD
00003102: PUSH2 0x32b7
00003105: JUMP
00003106: JUMPDEST
00003107: PUSH1 0x80
00003109: DUP4
0000310a: ADD
0000310b: MSTORE
0000310c: POP
0000310d: PUSH2 0x0100
00003110: PUSH2 0x311b
00003113: DUP5
00003114: DUP3
00003115: DUP6
00003116: ADD
00003117: PUSH2 0x2eb2
0000311a: JUMP
0000311b: JUMPDEST
0000311c: PUSH1 0xa0
0000311e: DUP4
0000311f: ADD
00003120: MSTORE
00003121: POP
00003122: PUSH2 0x0120
00003125: PUSH2 0x3130
00003128: DUP5
00003129: DUP3
0000312a: DUP6
0000312b: ADD
0000312c: PUSH2 0x32b7
0000312f: JUMP
00003130: JUMPDEST
00003131: PUSH1 0xc0
00003133: DUP4
00003134: ADD
00003135: MSTORE
00003136: POP
00003137: PUSH2 0x0140
0000313a: DUP3
0000313b: ADD
0000313c: CALLDATALOAD
0000313d: PUSH8 0xffffffffffffffff
00003146: DUP2
00003147: GT
00003148: ISZERO
00003149: PUSH2 0x3151
0000314c: JUMPI
0000314d: PUSH1 0x00
0000314f: DUP1
00003150: REVERT
00003151: JUMPDEST
00003152: PUSH2 0x315d
00003155: DUP5
00003156: DUP3
00003157: DUP6
00003158: ADD
00003159: PUSH2 0x301a
0000315c: JUMP
0000315d: JUMPDEST
0000315e: PUSH1 0xe0
00003160: DUP4
00003161: ADD
00003162: MSTORE
00003163: POP
00003164: SWAP3
00003165: SWAP2
00003166: POP
00003167: POP
00003168: JUMP
00003169: JUMPDEST
0000316a: PUSH1 0x00
0000316c: PUSH1 0x80
0000316e: DUP3
0000316f: DUP5
00003170: SUB
00003171: SLT
00003172: ISZERO
00003173: PUSH2 0x317b
00003176: JUMPI
00003177: PUSH1 0x00
00003179: DUP1
0000317a: REVERT
0000317b: JUMPDEST
0000317c: PUSH2 0x3185
0000317f: PUSH1 0x80
00003181: PUSH2 0x3f74
00003184: JUMP
00003185: JUMPDEST
00003186: SWAP1
00003187: POP
00003188: PUSH1 0x00
0000318a: PUSH2 0x3193
0000318d: DUP5
0000318e: DUP5
0000318f: PUSH2 0x300e
00003192: JUMP
00003193: JUMPDEST
00003194: DUP3
00003195: MSTORE
00003196: POP
00003197: PUSH1 0x20
00003199: PUSH2 0x31a4
0000319c: DUP5
0000319d: DUP5
0000319e: DUP4
0000319f: ADD
000031a0: PUSH2 0x3081
000031a3: JUMP
000031a4: JUMPDEST
000031a5: PUSH1 0x20
000031a7: DUP4
000031a8: ADD
000031a9: MSTORE
000031aa: POP
000031ab: PUSH1 0x40
000031ad: PUSH2 0x31b8
000031b0: DUP5
000031b1: DUP3
000031b2: DUP6
000031b3: ADD
000031b4: PUSH2 0x3081
000031b7: JUMP
000031b8: JUMPDEST
000031b9: PUSH1 0x40
000031bb: DUP4
000031bc: ADD
000031bd: MSTORE
000031be: POP
000031bf: PUSH1 0x60
000031c1: PUSH2 0x31cc
000031c4: DUP5
000031c5: DUP3
000031c6: DUP6
000031c7: ADD
000031c8: PUSH2 0x32b7
000031cb: JUMP
000031cc: JUMPDEST
000031cd: PUSH1 0x60
000031cf: DUP4
000031d0: ADD
000031d1: MSTORE
000031d2: POP
000031d3: SWAP3
000031d4: SWAP2
000031d5: POP
000031d6: POP
000031d7: JUMP
000031d8: JUMPDEST
000031d9: PUSH1 0x00
000031db: PUSH1 0x20
000031dd: DUP3
000031de: DUP5
000031df: SUB
000031e0: SLT
000031e1: ISZERO
000031e2: PUSH2 0x31ea
000031e5: JUMPI
000031e6: PUSH1 0x00
000031e8: DUP1
000031e9: REVERT
000031ea: JUMPDEST
000031eb: PUSH2 0x31f4
000031ee: PUSH1 0x20
000031f0: PUSH2 0x3f74
000031f3: JUMP
000031f4: JUMPDEST
000031f5: SWAP1
000031f6: POP
000031f7: PUSH1 0x00
000031f9: PUSH2 0x3202
000031fc: DUP5
000031fd: DUP5
000031fe: PUSH2 0x32b7
00003201: JUMP
00003202: JUMPDEST
00003203: DUP3
00003204: MSTORE
00003205: POP
00003206: SWAP3
00003207: SWAP2
00003208: POP
00003209: POP
0000320a: JUMP
0000320b: JUMPDEST
0000320c: PUSH1 0x00
0000320e: PUSH1 0x40
00003210: DUP3
00003211: DUP5
00003212: SUB
00003213: SLT
00003214: ISZERO
00003215: PUSH2 0x321d
00003218: JUMPI
00003219: PUSH1 0x00
0000321b: DUP1
0000321c: REVERT
0000321d: JUMPDEST
0000321e: PUSH2 0x3227
00003221: PUSH1 0x40
00003223: PUSH2 0x3f74
00003226: JUMP
00003227: JUMPDEST
00003228: SWAP1
00003229: POP
0000322a: PUSH1 0x00
0000322c: PUSH2 0x3235
0000322f: DUP5
00003230: DUP5
00003231: PUSH2 0x2eb2
00003234: JUMP
00003235: JUMPDEST
00003236: DUP3
00003237: MSTORE
00003238: POP
00003239: PUSH1 0x20
0000323b: PUSH2 0x3246
0000323e: DUP5
0000323f: DUP5
00003240: DUP4
00003241: ADD
00003242: PUSH2 0x32b7
00003245: JUMP
00003246: JUMPDEST
00003247: PUSH1 0x20
00003249: DUP4
0000324a: ADD
0000324b: MSTORE
0000324c: POP
0000324d: SWAP3
0000324e: SWAP2
0000324f: POP
00003250: POP
00003251: JUMP
00003252: JUMPDEST
00003253: PUSH1 0x00
00003255: PUSH1 0x40
00003257: DUP3
00003258: DUP5
00003259: SUB
0000325a: SLT
0000325b: ISZERO
0000325c: PUSH2 0x3264
0000325f: JUMPI
00003260: PUSH1 0x00
00003262: DUP1
00003263: REVERT
00003264: JUMPDEST
00003265: PUSH2 0x326e
00003268: PUSH1 0x40
0000326a: PUSH2 0x3f74
0000326d: JUMP
0000326e: JUMPDEST
0000326f: SWAP1
00003270: POP
00003271: PUSH1 0x00
00003273: PUSH2 0x327c
00003276: DUP5
00003277: DUP5
00003278: PUSH2 0x2eb2
0000327b: JUMP
0000327c: JUMPDEST
0000327d: DUP3
0000327e: MSTORE
0000327f: POP
00003280: PUSH1 0x20
00003282: PUSH2 0x3246
00003285: DUP5
00003286: DUP5
00003287: DUP4
00003288: ADD
00003289: PUSH2 0x300e
0000328c: JUMP
0000328d: JUMPDEST
0000328e: PUSH1 0x00
00003290: PUSH1 0x20
00003292: DUP3
00003293: DUP5
00003294: SUB
00003295: SLT
00003296: ISZERO
00003297: PUSH2 0x329f
0000329a: JUMPI
0000329b: PUSH1 0x00
0000329d: DUP1
0000329e: REVERT
0000329f: JUMPDEST
000032a0: PUSH2 0x32a9
000032a3: PUSH1 0x20
000032a5: PUSH2 0x3f74
000032a8: JUMP
000032a9: JUMPDEST
000032aa: SWAP1
000032ab: POP
000032ac: PUSH1 0x00
000032ae: PUSH2 0x3202
000032b1: DUP5
000032b2: DUP5
000032b3: PUSH2 0x32c3
000032b6: JUMP
000032b7: JUMPDEST
000032b8: PUSH1 0x00
000032ba: PUSH2 0x0c09
000032bd: DUP3
000032be: CALLDATALOAD
000032bf: PUSH2 0x406f
000032c2: JUMP
000032c3: JUMPDEST
000032c4: PUSH1 0x00
000032c6: PUSH2 0x0c09
000032c9: DUP3
000032ca: MLOAD
000032cb: PUSH2 0x406f
000032ce: JUMP
000032cf: JUMPDEST
000032d0: PUSH1 0x00
000032d2: PUSH1 0x20
000032d4: DUP3
000032d5: DUP5
000032d6: SUB
000032d7: SLT
000032d8: ISZERO
000032d9: PUSH2 0x32e1
000032dc: JUMPI
000032dd: PUSH1 0x00
000032df: DUP1
000032e0: REVERT
000032e1: JUMPDEST
000032e2: PUSH1 0x00
000032e4: PUSH2 0x1c02
000032e7: DUP5
000032e8: DUP5
000032e9: PUSH2 0x2eb2
000032ec: JUMP
000032ed: JUMPDEST
000032ee: PUSH1 0x00
000032f0: DUP1
000032f1: PUSH1 0x40
000032f3: DUP4
000032f4: DUP6
000032f5: SUB
000032f6: SLT
000032f7: ISZERO
000032f8: PUSH2 0x3300
000032fb: JUMPI
000032fc: PUSH1 0x00
000032fe: DUP1
000032ff: REVERT
00003300: JUMPDEST
00003301: PUSH1 0x00
00003303: PUSH2 0x330c
00003306: DUP6
00003307: DUP6
00003308: PUSH2 0x2eb2
0000330b: JUMP
0000330c: JUMPDEST
0000330d: SWAP3
0000330e: POP
0000330f: POP
00003310: PUSH1 0x20
00003312: PUSH2 0x331d
00003315: DUP6
00003316: DUP3
00003317: DUP7
00003318: ADD
00003319: PUSH2 0x2eb2
0000331c: JUMP
0000331d: JUMPDEST
0000331e: SWAP2
0000331f: POP
00003320: POP
00003321: SWAP3
00003322: POP
00003323: SWAP3
00003324: SWAP1
00003325: POP
00003326: JUMP
00003327: JUMPDEST
00003328: PUSH1 0x00
0000332a: DUP1
0000332b: PUSH1 0x40
0000332d: DUP4
0000332e: DUP6
0000332f: SUB
00003330: SLT
00003331: ISZERO
00003332: PUSH2 0x333a
00003335: JUMPI
00003336: PUSH1 0x00
00003338: DUP1
00003339: REVERT
0000333a: JUMPDEST
0000333b: PUSH1 0x00
0000333d: PUSH2 0x3346
00003340: DUP6
00003341: DUP6
00003342: PUSH2 0x2eb2
00003345: JUMP
00003346: JUMPDEST
00003347: SWAP3
00003348: POP
00003349: POP
0000334a: PUSH1 0x20
0000334c: PUSH2 0x331d
0000334f: DUP6
00003350: DUP3
00003351: DUP7
00003352: ADD
00003353: PUSH2 0x300e
00003356: JUMP
00003357: JUMPDEST
00003358: PUSH1 0x00
0000335a: DUP1
0000335b: PUSH1 0x00
0000335d: DUP1
0000335e: PUSH1 0x00
00003360: PUSH1 0xa0
00003362: DUP7
00003363: DUP9
00003364: SUB
00003365: SLT
00003366: ISZERO
00003367: PUSH2 0x336f
0000336a: JUMPI
0000336b: PUSH1 0x00
0000336d: DUP1
0000336e: REVERT
0000336f: JUMPDEST
00003370: PUSH1 0x00
00003372: PUSH2 0x337b
00003375: DUP9
00003376: DUP9
00003377: PUSH2 0x2eb2
0000337a: JUMP
0000337b: JUMPDEST
0000337c: SWAP6
0000337d: POP
0000337e: POP
0000337f: PUSH1 0x20
00003381: PUSH2 0x338c
00003384: DUP9
00003385: DUP3
00003386: DUP10
00003387: ADD
00003388: PUSH2 0x3069
0000338b: JUMP
0000338c: JUMPDEST
0000338d: SWAP5
0000338e: POP
0000338f: POP
00003390: PUSH1 0x40
00003392: PUSH2 0x339d
00003395: DUP9
00003396: DUP3
00003397: DUP10
00003398: ADD
00003399: PUSH2 0x3069
0000339c: JUMP
0000339d: JUMPDEST
0000339e: SWAP4
0000339f: POP
000033a0: POP
000033a1: PUSH1 0x60
000033a3: PUSH2 0x33ae
000033a6: DUP9
000033a7: DUP3
000033a8: DUP10
000033a9: ADD
000033aa: PUSH2 0x31d8
000033ad: JUMP
000033ae: JUMPDEST
000033af: SWAP3
000033b0: POP
000033b1: POP
000033b2: PUSH1 0x80
000033b4: PUSH2 0x33bf
000033b7: DUP9
000033b8: DUP3
000033b9: DUP10
000033ba: ADD
000033bb: PUSH2 0x31d8
000033be: JUMP
000033bf: JUMPDEST
000033c0: SWAP2
000033c1: POP
000033c2: POP
000033c3: SWAP3
000033c4: SWAP6
000033c5: POP
000033c6: SWAP3
000033c7: SWAP6
000033c8: SWAP1
000033c9: SWAP4
000033ca: POP
000033cb: JUMP
000033cc: JUMPDEST
000033cd: PUSH1 0x00
000033cf: DUP1
000033d0: PUSH1 0x40
000033d2: DUP4
000033d3: DUP6
000033d4: SUB
000033d5: SLT
000033d6: ISZERO
000033d7: PUSH2 0x33df
000033da: JUMPI
000033db: PUSH1 0x00
000033dd: DUP1
000033de: REVERT
000033df: JUMPDEST
000033e0: DUP3
000033e1: CALLDATALOAD
000033e2: PUSH8 0xffffffffffffffff
000033eb: DUP2
000033ec: GT
000033ed: ISZERO
000033ee: PUSH2 0x33f6
000033f1: JUMPI
000033f2: PUSH1 0x00
000033f4: DUP1
000033f5: REVERT
000033f6: JUMPDEST
000033f7: PUSH2 0x3402
000033fa: DUP6
000033fb: DUP3
000033fc: DUP7
000033fd: ADD
000033fe: PUSH2 0x2f2a
00003401: JUMP
00003402: JUMPDEST
00003403: SWAP3
00003404: POP
00003405: POP
00003406: PUSH1 0x20
00003408: DUP4
00003409: ADD
0000340a: CALLDATALOAD
0000340b: PUSH8 0xffffffffffffffff
00003414: DUP2
00003415: GT
00003416: ISZERO
00003417: PUSH2 0x341f
0000341a: JUMPI
0000341b: PUSH1 0x00
0000341d: DUP1
0000341e: REVERT
0000341f: JUMPDEST
00003420: PUSH2 0x331d
00003423: DUP6
00003424: DUP3
00003425: DUP7
00003426: ADD
00003427: PUSH2 0x2ebe
0000342a: JUMP
0000342b: JUMPDEST
0000342c: PUSH1 0x00
0000342e: PUSH1 0x20
00003430: DUP3
00003431: DUP5
00003432: SUB
00003433: SLT
00003434: ISZERO
00003435: PUSH2 0x343d
00003438: JUMPI
00003439: PUSH1 0x00
0000343b: DUP1
0000343c: REVERT
0000343d: JUMPDEST
0000343e: DUP2
0000343f: CALLDATALOAD
00003440: PUSH8 0xffffffffffffffff
00003449: DUP2
0000344a: GT
0000344b: ISZERO
0000344c: PUSH2 0x3454
0000344f: JUMPI
00003450: PUSH1 0x00
00003452: DUP1
00003453: REVERT
00003454: JUMPDEST
00003455: PUSH2 0x1c02
00003458: DUP5
00003459: DUP3
0000345a: DUP6
0000345b: ADD
0000345c: PUSH2 0x2f9c
0000345f: JUMP
00003460: JUMPDEST
00003461: PUSH1 0x00
00003463: PUSH1 0x20
00003465: DUP3
00003466: DUP5
00003467: SUB
00003468: SLT
00003469: ISZERO
0000346a: PUSH2 0x3472
0000346d: JUMPI
0000346e: PUSH1 0x00
00003470: DUP1
00003471: REVERT
00003472: JUMPDEST
00003473: PUSH1 0x00
00003475: PUSH2 0x1c02
00003478: DUP5
00003479: DUP5
0000347a: PUSH2 0x31d8
0000347d: JUMP
0000347e: JUMPDEST
0000347f: PUSH1 0x00
00003481: PUSH1 0x40
00003483: DUP3
00003484: DUP5
00003485: SUB
00003486: SLT
00003487: ISZERO
00003488: PUSH2 0x3490
0000348b: JUMPI
0000348c: PUSH1 0x00
0000348e: DUP1
0000348f: REVERT
00003490: JUMPDEST
00003491: PUSH1 0x00
00003493: PUSH2 0x1c02
00003496: DUP5
00003497: DUP5
00003498: PUSH2 0x320b
0000349b: JUMP
0000349c: JUMPDEST
0000349d: PUSH1 0x00
0000349f: DUP1
000034a0: PUSH1 0x60
000034a2: DUP4
000034a3: DUP6
000034a4: SUB
000034a5: SLT
000034a6: ISZERO
000034a7: PUSH2 0x34af
000034aa: JUMPI
000034ab: PUSH1 0x00
000034ad: DUP1
000034ae: REVERT
000034af: JUMPDEST
000034b0: PUSH1 0x00
000034b2: PUSH2 0x34bb
000034b5: DUP6
000034b6: DUP6
000034b7: PUSH2 0x320b
000034ba: JUMP
000034bb: JUMPDEST
000034bc: SWAP3
000034bd: POP
000034be: POP
000034bf: PUSH1 0x40
000034c1: PUSH2 0x331d
000034c4: DUP6
000034c5: DUP3
000034c6: DUP7
000034c7: ADD
000034c8: PUSH2 0x32b7
000034cb: JUMP
000034cc: JUMPDEST
000034cd: PUSH1 0x00
000034cf: PUSH1 0x20
000034d1: DUP3
000034d2: DUP5
000034d3: SUB
000034d4: SLT
000034d5: ISZERO
000034d6: PUSH2 0x34de
000034d9: JUMPI
000034da: PUSH1 0x00
000034dc: DUP1
000034dd: REVERT
000034de: JUMPDEST
000034df: PUSH1 0x00
000034e1: PUSH2 0x1c02
000034e4: DUP5
000034e5: DUP5
000034e6: PUSH2 0x328d
000034e9: JUMP
000034ea: JUMPDEST
000034eb: PUSH1 0x00
000034ed: PUSH1 0x20
000034ef: DUP3
000034f0: DUP5
000034f1: SUB
000034f2: SLT
000034f3: ISZERO
000034f4: PUSH2 0x34fc
000034f7: JUMPI
000034f8: PUSH1 0x00
000034fa: DUP1
000034fb: REVERT
000034fc: JUMPDEST
000034fd: PUSH1 0x00
000034ff: PUSH2 0x1c02
00003502: DUP5
00003503: DUP5
00003504: PUSH2 0x32b7
00003507: JUMP
00003508: JUMPDEST
00003509: PUSH1 0x00
0000350b: PUSH1 0x20
0000350d: DUP3
0000350e: DUP5
0000350f: SUB
00003510: SLT
00003511: ISZERO
00003512: PUSH2 0x351a
00003515: JUMPI
00003516: PUSH1 0x00
00003518: DUP1
00003519: REVERT
0000351a: JUMPDEST
0000351b: PUSH1 0x00
0000351d: PUSH2 0x1c02
00003520: DUP5
00003521: DUP5
00003522: PUSH2 0x32c3
00003525: JUMP
00003526: JUMPDEST
00003527: PUSH1 0x00
00003529: DUP1
0000352a: PUSH1 0x40
0000352c: DUP4
0000352d: DUP6
0000352e: SUB
0000352f: SLT
00003530: ISZERO
00003531: PUSH2 0x3539
00003534: JUMPI
00003535: PUSH1 0x00
00003537: DUP1
00003538: REVERT
00003539: JUMPDEST
0000353a: PUSH1 0x00
0000353c: PUSH2 0x330c
0000353f: DUP6
00003540: DUP6
00003541: PUSH2 0x32b7
00003544: JUMP
00003545: JUMPDEST
00003546: PUSH1 0x00
00003548: DUP1
00003549: PUSH1 0x40
0000354b: DUP4
0000354c: DUP6
0000354d: SUB
0000354e: SLT
0000354f: ISZERO
00003550: PUSH2 0x3558
00003553: JUMPI
00003554: PUSH1 0x00
00003556: DUP1
00003557: REVERT
00003558: JUMPDEST
00003559: PUSH1 0x00
0000355b: PUSH2 0x3346
0000355e: DUP6
0000355f: DUP6
00003560: PUSH2 0x32b7
00003563: JUMP
00003564: JUMPDEST
00003565: PUSH1 0x00
00003567: DUP1
00003568: PUSH1 0x40
0000356a: DUP4
0000356b: DUP6
0000356c: SUB
0000356d: SLT
0000356e: ISZERO
0000356f: PUSH2 0x3577
00003572: JUMPI
00003573: PUSH1 0x00
00003575: DUP1
00003576: REVERT
00003577: JUMPDEST
00003578: PUSH1 0x00
0000357a: PUSH2 0x3583
0000357d: DUP6
0000357e: DUP6
0000357f: PUSH2 0x32b7
00003582: JUMP
00003583: JUMPDEST
00003584: SWAP3
00003585: POP
00003586: POP
00003587: PUSH1 0x20
00003589: PUSH2 0x331d
0000358c: DUP6
0000358d: DUP3
0000358e: DUP7
0000358f: ADD
00003590: PUSH2 0x3069
00003593: JUMP
00003594: JUMPDEST
00003595: PUSH1 0x00
00003597: DUP1
00003598: PUSH1 0x40
0000359a: DUP4
0000359b: DUP6
0000359c: SUB
0000359d: SLT
0000359e: ISZERO
0000359f: PUSH2 0x35a7
000035a2: JUMPI
000035a3: PUSH1 0x00
000035a5: DUP1
000035a6: REVERT
000035a7: JUMPDEST
000035a8: PUSH1 0x00
000035aa: PUSH2 0x35b3
000035ad: DUP6
000035ae: DUP6
000035af: PUSH2 0x32b7
000035b2: JUMP
000035b3: JUMPDEST
000035b4: SWAP3
000035b5: POP
000035b6: POP
000035b7: PUSH1 0x20
000035b9: PUSH2 0x331d
000035bc: DUP6
000035bd: DUP3
000035be: DUP7
000035bf: ADD
000035c0: PUSH2 0x31d8
000035c3: JUMP
000035c4: JUMPDEST
000035c5: PUSH1 0x00
000035c7: DUP1
000035c8: PUSH1 0x40
000035ca: DUP4
000035cb: DUP6
000035cc: SUB
000035cd: SLT
000035ce: ISZERO
000035cf: PUSH2 0x35d7
000035d2: JUMPI
000035d3: PUSH1 0x00
000035d5: DUP1
000035d6: REVERT
000035d7: JUMPDEST
000035d8: PUSH1 0x00
000035da: PUSH2 0x35e3
000035dd: DUP6
000035de: DUP6
000035df: PUSH2 0x32b7
000035e2: JUMP
000035e3: JUMPDEST
000035e4: SWAP3
000035e5: POP
000035e6: POP
000035e7: PUSH1 0x20
000035e9: PUSH2 0x331d
000035ec: DUP6
000035ed: DUP3
000035ee: DUP7
000035ef: ADD
000035f0: PUSH2 0x32b7
000035f3: JUMP
000035f4: JUMPDEST
000035f5: PUSH1 0x00
000035f7: PUSH2 0x3600
000035fa: DUP4
000035fb: DUP4
000035fc: PUSH2 0x3640
000035ff: JUMP
00003600: JUMPDEST
00003601: POP
00003602: POP
00003603: PUSH1 0x20
00003605: ADD
00003606: SWAP1
00003607: JUMP
00003608: JUMPDEST
00003609: PUSH1 0x00
0000360b: PUSH2 0x0c09
0000360e: DUP4
0000360f: DUP4
00003610: PUSH2 0x38ac
00003613: JUMP
00003614: JUMPDEST
00003615: PUSH1 0x00
00003617: PUSH2 0x3620
0000361a: DUP4
0000361b: DUP4
0000361c: PUSH2 0x39e0
0000361f: JUMP
00003620: JUMPDEST
00003621: POP
00003622: POP
00003623: PUSH1 0x40
00003625: ADD
00003626: SWAP1
00003627: JUMP
00003628: JUMPDEST
00003629: PUSH1 0x00
0000362b: PUSH2 0x3620
0000362e: DUP4
0000362f: DUP4
00003630: PUSH2 0x3a9e
00003633: JUMP
00003634: JUMPDEST
00003635: PUSH1 0x00
00003637: PUSH2 0x3620
0000363a: DUP4
0000363b: DUP4
0000363c: PUSH2 0x3b91
0000363f: JUMP
00003640: JUMPDEST
00003641: PUSH2 0x3649
00003644: DUP2
00003645: PUSH2 0x4015
00003648: JUMP
00003649: JUMPDEST
0000364a: DUP3
0000364b: MSTORE
0000364c: POP
0000364d: POP
0000364e: JUMP
0000364f: JUMPDEST
00003650: PUSH1 0x00
00003652: PUSH2 0x365a
00003655: DUP3
00003656: PUSH2 0x4008
00003659: JUMP
0000365a: JUMPDEST
0000365b: PUSH2 0x3664
0000365e: DUP2
0000365f: DUP6
00003660: PUSH2 0x400c
00003663: JUMP
00003664: JUMPDEST
00003665: SWAP4
00003666: POP
00003667: PUSH2 0x366f
0000366a: DUP4
0000366b: PUSH2 0x4002
0000366e: JUMP
0000366f: JUMPDEST
00003670: PUSH1 0x00
00003672: JUMPDEST
00003673: DUP3
00003674: DUP2
00003675: LT
00003676: ISZERO
00003677: PUSH2 0x369a
0000367a: JUMPI
0000367b: PUSH2 0x3685
0000367e: DUP7
0000367f: DUP4
00003680: MLOAD
00003681: PUSH2 0x35f4
00003684: JUMP
00003685: JUMPDEST
00003686: SWAP6
00003687: POP
00003688: PUSH2 0x3690
0000368b: DUP3
0000368c: PUSH2 0x4002
0000368f: JUMP
00003690: JUMPDEST
00003691: SWAP2
00003692: POP
00003693: PUSH1 0x01
00003695: ADD
00003696: PUSH2 0x3672
00003699: JUMP
0000369a: JUMPDEST
0000369b: POP
0000369c: SWAP4
0000369d: SWAP5
0000369e: SWAP4
0000369f: POP
000036a0: POP
000036a1: POP
000036a2: POP
000036a3: JUMP
000036a4: JUMPDEST
000036a5: PUSH1 0x00
000036a7: PUSH2 0x36af
000036aa: DUP3
000036ab: PUSH2 0x4008
000036ae: JUMP
000036af: JUMPDEST
000036b0: PUSH2 0x36b9
000036b3: DUP2
000036b4: DUP6
000036b5: PUSH2 0x400c
000036b8: JUMP
000036b9: JUMPDEST
000036ba: SWAP4
000036bb: POP
000036bc: DUP4
000036bd: PUSH1 0x20
000036bf: DUP3
000036c0: MUL
000036c1: DUP6
000036c2: ADD
000036c3: PUSH2 0x36cb
000036c6: DUP6
000036c7: PUSH2 0x4002
000036ca: JUMP
000036cb: JUMPDEST
000036cc: PUSH1 0x00
000036ce: JUMPDEST
000036cf: DUP5
000036d0: DUP2
000036d1: LT
000036d2: ISZERO
000036d3: PUSH2 0x3702
000036d6: JUMPI
000036d7: DUP4
000036d8: DUP4
000036d9: SUB
000036da: DUP9
000036db: MSTORE
000036dc: PUSH2 0x36e6
000036df: DUP4
000036e0: DUP4
000036e1: MLOAD
000036e2: PUSH2 0x3608
000036e5: JUMP
000036e6: JUMPDEST
000036e7: SWAP3
000036e8: POP
000036e9: PUSH2 0x36f1
000036ec: DUP3
000036ed: PUSH2 0x4002
000036f0: JUMP
000036f1: JUMPDEST
000036f2: PUSH1 0x20
000036f4: SWAP9
000036f5: SWAP1
000036f6: SWAP9
000036f7: ADD
000036f8: SWAP8
000036f9: SWAP2
000036fa: POP
000036fb: PUSH1 0x01
000036fd: ADD
000036fe: PUSH2 0x36ce
00003701: JUMP
00003702: JUMPDEST
00003703: POP
00003704: SWAP1
00003705: SWAP7
00003706: SWAP6
00003707: POP
00003708: POP
00003709: POP
0000370a: POP
0000370b: POP
0000370c: POP
0000370d: JUMP
0000370e: JUMPDEST
0000370f: PUSH1 0x00
00003711: PUSH2 0x3719
00003714: DUP3
00003715: PUSH2 0x4008
00003718: JUMP
00003719: JUMPDEST
0000371a: PUSH2 0x3723
0000371d: DUP2
0000371e: DUP6
0000371f: PUSH2 0x400c
00003722: JUMP
00003723: JUMPDEST
00003724: SWAP4
00003725: POP
00003726: PUSH2 0x372e
00003729: DUP4
0000372a: PUSH2 0x4002
0000372d: JUMP
0000372e: JUMPDEST
0000372f: PUSH1 0x00
00003731: JUMPDEST
00003732: DUP3
00003733: DUP2
00003734: LT
00003735: ISZERO
00003736: PUSH2 0x369a
00003739: JUMPI
0000373a: PUSH2 0x3744
0000373d: DUP7
0000373e: DUP4
0000373f: MLOAD
00003740: PUSH2 0x3614
00003743: JUMP
00003744: JUMPDEST
00003745: SWAP6
00003746: POP
00003747: PUSH2 0x374f
0000374a: DUP3
0000374b: PUSH2 0x4002
0000374e: JUMP
0000374f: JUMPDEST
00003750: SWAP2
00003751: POP
00003752: PUSH1 0x01
00003754: ADD
00003755: PUSH2 0x3731
00003758: JUMP
00003759: JUMPDEST
0000375a: PUSH1 0x00
0000375c: PUSH2 0x3764
0000375f: DUP3
00003760: PUSH2 0x4008
00003763: JUMP
00003764: JUMPDEST
00003765: PUSH2 0x376e
00003768: DUP2
00003769: DUP6
0000376a: PUSH2 0x400c
0000376d: JUMP
0000376e: JUMPDEST
0000376f: SWAP4
00003770: POP
00003771: PUSH2 0x3779
00003774: DUP4
00003775: PUSH2 0x4002
00003778: JUMP
00003779: JUMPDEST
0000377a: PUSH1 0x00
0000377c: JUMPDEST
0000377d: DUP3
0000377e: DUP2
0000377f: LT
00003780: ISZERO
00003781: PUSH2 0x369a
00003784: JUMPI
00003785: PUSH2 0x378f
00003788: DUP7
00003789: DUP4
0000378a: MLOAD
0000378b: PUSH2 0x3628
0000378e: JUMP
0000378f: JUMPDEST
00003790: SWAP6
00003791: POP
00003792: PUSH2 0x379a
00003795: DUP3
00003796: PUSH2 0x4002
00003799: JUMP
0000379a: JUMPDEST
0000379b: SWAP2
0000379c: POP
0000379d: PUSH1 0x01
0000379f: ADD
000037a0: PUSH2 0x377c
000037a3: JUMP
000037a4: JUMPDEST
000037a5: PUSH1 0x00
000037a7: PUSH2 0x37af
000037aa: DUP3
000037ab: PUSH2 0x4008
000037ae: JUMP
000037af: JUMPDEST
000037b0: PUSH2 0x37b9
000037b3: DUP2
000037b4: DUP6
000037b5: PUSH2 0x400c
000037b8: JUMP
000037b9: JUMPDEST
000037ba: SWAP4
000037bb: POP
000037bc: PUSH2 0x37c4
000037bf: DUP4
000037c0: PUSH2 0x4002
000037c3: JUMP
000037c4: JUMPDEST
000037c5: PUSH1 0x00
000037c7: JUMPDEST
000037c8: DUP3
000037c9: DUP2
000037ca: LT
000037cb: ISZERO
000037cc: PUSH2 0x369a
000037cf: JUMPI
000037d0: PUSH2 0x37da
000037d3: DUP7
000037d4: DUP4
000037d5: MLOAD
000037d6: PUSH2 0x3634
000037d9: JUMP
000037da: JUMPDEST
000037db: SWAP6
000037dc: POP
000037dd: PUSH2 0x37e5
000037e0: DUP3
000037e1: PUSH2 0x4002
000037e4: JUMP
000037e5: JUMPDEST
000037e6: SWAP2
000037e7: POP
000037e8: PUSH1 0x01
000037ea: ADD
000037eb: PUSH2 0x37c7
000037ee: JUMP
000037ef: JUMPDEST
000037f0: PUSH2 0x3649
000037f3: DUP2
000037f4: PUSH2 0x4020
000037f7: JUMP
000037f8: JUMPDEST
000037f9: PUSH2 0x3649
000037fc: PUSH2 0x3804
000037ff: DUP3
00003800: PUSH2 0x4025
00003803: JUMP
00003804: JUMPDEST
00003805: PUSH2 0x406f
00003808: JUMP
00003809: JUMPDEST
0000380a: PUSH2 0x3649
0000380d: PUSH2 0x3804
00003810: DUP3
00003811: PUSH2 0x404a
00003814: JUMP
00003815: JUMPDEST
00003816: PUSH2 0x3649
00003819: PUSH2 0x3804
0000381c: DUP3
0000381d: PUSH2 0x406f
00003820: JUMP
00003821: JUMPDEST
00003822: PUSH1 0x00
00003824: PUSH2 0x382c
00003827: DUP3
00003828: PUSH2 0x4008
0000382b: JUMP
0000382c: JUMPDEST
0000382d: PUSH2 0x3836
00003830: DUP2
00003831: DUP6
00003832: PUSH2 0x082c
00003835: JUMP
00003836: JUMPDEST
00003837: SWAP4
00003838: POP
00003839: PUSH2 0x3846
0000383c: DUP2
0000383d: DUP6
0000383e: PUSH1 0x20
00003840: DUP7
00003841: ADD
00003842: PUSH2 0x4145
00003845: JUMP
00003846: JUMPDEST
00003847: SWAP3
00003848: SWAP1
00003849: SWAP3
0000384a: ADD
0000384b: SWAP3
0000384c: SWAP2
0000384d: POP
0000384e: POP
0000384f: JUMP
00003850: JUMPDEST
00003851: PUSH1 0x00
00003853: PUSH2 0x385b
00003856: DUP3
00003857: PUSH2 0x4008
0000385a: JUMP
0000385b: JUMPDEST
0000385c: PUSH2 0x3865
0000385f: DUP2
00003860: DUP6
00003861: PUSH2 0x400c
00003864: JUMP
00003865: JUMPDEST
00003866: SWAP4
00003867: POP
00003868: PUSH2 0x3875
0000386b: DUP2
0000386c: DUP6
0000386d: PUSH1 0x20
0000386f: DUP7
00003870: ADD
00003871: PUSH2 0x4145
00003874: JUMP
00003875: JUMPDEST
00003876: PUSH2 0x387e
00003879: DUP2
0000387a: PUSH2 0x4171
0000387d: JUMP
0000387e: JUMPDEST
0000387f: SWAP1
00003880: SWAP4
00003881: ADD
00003882: SWAP4
00003883: SWAP3
00003884: POP
00003885: POP
00003886: POP
00003887: JUMP
00003888: JUMPDEST
00003889: PUSH2 0x3649
0000388c: DUP2
0000388d: PUSH2 0x40ef
00003890: JUMP
00003891: JUMPDEST
00003892: PUSH2 0x3649
00003895: DUP2
00003896: PUSH2 0x4118
00003899: JUMP
0000389a: JUMPDEST
0000389b: PUSH2 0x3649
0000389e: DUP2
0000389f: PUSH2 0x4123
000038a2: JUMP
000038a3: JUMPDEST
000038a4: PUSH2 0x3649
000038a7: DUP2
000038a8: PUSH2 0x412e
000038ab: JUMP
000038ac: JUMPDEST
000038ad: DUP1
000038ae: MLOAD
000038af: PUSH1 0x00
000038b1: SWAP1
000038b2: PUSH2 0x0160
000038b5: DUP5
000038b6: ADD
000038b7: SWAP1
000038b8: PUSH2 0x38c1
000038bb: DUP6
000038bc: DUP3
000038bd: PUSH2 0x3891
000038c0: JUMP
000038c1: JUMPDEST
000038c2: POP
000038c3: PUSH1 0x20
000038c5: DUP4
000038c6: ADD
000038c7: MLOAD
000038c8: PUSH2 0x38d4
000038cb: PUSH1 0x20
000038cd: DUP7
000038ce: ADD
000038cf: DUP3
000038d0: PUSH2 0x3bab
000038d3: JUMP
000038d4: JUMPDEST
000038d5: POP
000038d6: PUSH1 0x40
000038d8: DUP4
000038d9: ADD
000038da: MLOAD
000038db: PUSH2 0x38e7
000038de: PUSH1 0x40
000038e0: DUP7
000038e1: ADD
000038e2: DUP3
000038e3: PUSH2 0x394e
000038e6: JUMP
000038e7: JUMPDEST
000038e8: POP
000038e9: PUSH1 0x60
000038eb: DUP4
000038ec: ADD
000038ed: MLOAD
000038ee: PUSH2 0x38fa
000038f1: PUSH1 0xc0
000038f3: DUP7
000038f4: ADD
000038f5: DUP3
000038f6: PUSH2 0x3bab
000038f9: JUMP
000038fa: JUMPDEST
000038fb: POP
000038fc: PUSH1 0x80
000038fe: DUP4
000038ff: ADD
00003900: MLOAD
00003901: PUSH2 0x390d
00003904: PUSH1 0xe0
00003906: DUP7
00003907: ADD
00003908: DUP3
00003909: PUSH2 0x3bab
0000390c: JUMP
0000390d: JUMPDEST
0000390e: POP
0000390f: PUSH1 0xa0
00003911: DUP4
00003912: ADD
00003913: MLOAD
00003914: PUSH2 0x3921
00003917: PUSH2 0x0100
0000391a: DUP7
0000391b: ADD
0000391c: DUP3
0000391d: PUSH2 0x3640
00003920: JUMP
00003921: JUMPDEST
00003922: POP
00003923: PUSH1 0xc0
00003925: DUP4
00003926: ADD
00003927: MLOAD
00003928: PUSH2 0x3935
0000392b: PUSH2 0x0120
0000392e: DUP7
0000392f: ADD
00003930: DUP3
00003931: PUSH2 0x3bab
00003934: JUMP
00003935: JUMPDEST
00003936: POP
00003937: PUSH1 0xe0
00003939: DUP4
0000393a: ADD
0000393b: MLOAD
0000393c: DUP5
0000393d: DUP3
0000393e: SUB
0000393f: PUSH2 0x0140
00003942: DUP7
00003943: ADD
00003944: MSTORE
00003945: PUSH2 0x1ab8
00003948: DUP3
00003949: DUP3
0000394a: PUSH2 0x3850
0000394d: JUMP
0000394e: JUMPDEST
0000394f: DUP1
00003950: MLOAD
00003951: PUSH1 0x80
00003953: DUP4
00003954: ADD
00003955: SWAP1
00003956: PUSH2 0x395f
00003959: DUP5
0000395a: DUP3
0000395b: PUSH2 0x37ef
0000395e: JUMP
0000395f: JUMPDEST
00003960: POP
00003961: PUSH1 0x20
00003963: DUP3
00003964: ADD
00003965: MLOAD
00003966: PUSH2 0x3972
00003969: PUSH1 0x20
0000396b: DUP6
0000396c: ADD
0000396d: DUP3
0000396e: PUSH2 0x389a
00003971: JUMP
00003972: JUMPDEST
00003973: POP
00003974: PUSH1 0x40
00003976: DUP3
00003977: ADD
00003978: MLOAD
00003979: PUSH2 0x3985
0000397c: PUSH1 0x40
0000397e: DUP6
0000397f: ADD
00003980: DUP3
00003981: PUSH2 0x389a
00003984: JUMP
00003985: JUMPDEST
00003986: POP
00003987: PUSH1 0x60
00003989: DUP3
0000398a: ADD
0000398b: MLOAD
0000398c: PUSH2 0x25de
0000398f: PUSH1 0x60
00003991: DUP6
00003992: ADD
00003993: DUP3
00003994: PUSH2 0x3bab
00003997: JUMP
00003998: JUMPDEST
00003999: DUP1
0000399a: MLOAD
0000399b: PUSH1 0x20
0000399d: DUP4
0000399e: ADD
0000399f: SWAP1
000039a0: PUSH2 0x25de
000039a3: DUP5
000039a4: DUP3
000039a5: PUSH2 0x3bab
000039a8: JUMP
000039a9: JUMPDEST
000039aa: DUP1
000039ab: MLOAD
000039ac: PUSH1 0x60
000039ae: DUP4
000039af: ADD
000039b0: SWAP1
000039b1: PUSH2 0x39ba
000039b4: DUP5
000039b5: DUP3
000039b6: PUSH2 0x3bc6
000039b9: JUMP
000039ba: JUMPDEST
000039bb: POP
000039bc: PUSH1 0x20
000039be: DUP3
000039bf: ADD
000039c0: MLOAD
000039c1: PUSH2 0x39cd
000039c4: PUSH1 0x20
000039c6: DUP6
000039c7: ADD
000039c8: DUP3
000039c9: PUSH2 0x3bc6
000039cc: JUMP
000039cd: JUMPDEST
000039ce: POP
000039cf: PUSH1 0x40
000039d1: DUP3
000039d2: ADD
000039d3: MLOAD
000039d4: PUSH2 0x25de
000039d7: PUSH1 0x40
000039d9: DUP6
000039da: ADD
000039db: DUP3
000039dc: PUSH2 0x3bb4
000039df: JUMP
000039e0: JUMPDEST
000039e1: DUP1
000039e2: MLOAD
000039e3: PUSH1 0x40
000039e5: DUP4
000039e6: ADD
000039e7: SWAP1
000039e8: PUSH2 0x39f1
000039eb: DUP5
000039ec: DUP3
000039ed: PUSH2 0x3640
000039f0: JUMP
000039f1: JUMPDEST
000039f2: POP
000039f3: PUSH1 0x20
000039f5: DUP3
000039f6: ADD
000039f7: MLOAD
000039f8: PUSH2 0x25de
000039fb: PUSH1 0x20
000039fd: DUP6
000039fe: ADD
000039ff: DUP3
00003a00: PUSH2 0x3bab
00003a03: JUMP
00003a04: JUMPDEST
00003a05: DUP1
00003a06: MLOAD
00003a07: PUSH2 0x0160
00003a0a: DUP4
00003a0b: ADD
00003a0c: SWAP1
00003a0d: PUSH2 0x3a16
00003a10: DUP5
00003a11: DUP3
00003a12: PUSH2 0x3640
00003a15: JUMP
00003a16: JUMPDEST
00003a17: POP
00003a18: PUSH1 0x20
00003a1a: DUP3
00003a1b: ADD
00003a1c: MLOAD
00003a1d: PUSH2 0x3a29
00003a20: PUSH1 0x20
00003a22: DUP6
00003a23: ADD
00003a24: DUP3
00003a25: PUSH2 0x3b80
00003a28: JUMP
00003a29: JUMPDEST
00003a2a: POP
00003a2b: PUSH1 0x40
00003a2d: DUP3
00003a2e: ADD
00003a2f: MLOAD
00003a30: PUSH2 0x3a3c
00003a33: PUSH1 0x60
00003a35: DUP6
00003a36: ADD
00003a37: DUP3
00003a38: PUSH2 0x39a9
00003a3b: JUMP
00003a3c: JUMPDEST
00003a3d: POP
00003a3e: PUSH1 0x60
00003a40: DUP3
00003a41: ADD
00003a42: MLOAD
00003a43: PUSH2 0x3a4f
00003a46: PUSH1 0xc0
00003a48: DUP6
00003a49: ADD
00003a4a: DUP3
00003a4b: PUSH2 0x3888
00003a4e: JUMP
00003a4f: JUMPDEST
00003a50: POP
00003a51: PUSH1 0x80
00003a53: DUP3
00003a54: ADD
00003a55: MLOAD
00003a56: PUSH2 0x3a62
00003a59: PUSH1 0xe0
00003a5b: DUP6
00003a5c: ADD
00003a5d: DUP3
00003a5e: PUSH2 0x3888
00003a61: JUMP
00003a62: JUMPDEST
00003a63: POP
00003a64: PUSH1 0xa0
00003a66: DUP3
00003a67: ADD
00003a68: MLOAD
00003a69: PUSH2 0x3a76
00003a6c: PUSH2 0x0100
00003a6f: DUP6
00003a70: ADD
00003a71: DUP3
00003a72: PUSH2 0x3998
00003a75: JUMP
00003a76: JUMPDEST
00003a77: POP
00003a78: PUSH1 0xc0
00003a7a: DUP3
00003a7b: ADD
00003a7c: MLOAD
00003a7d: PUSH2 0x3a8a
00003a80: PUSH2 0x0120
00003a83: DUP6
00003a84: ADD
00003a85: DUP3
00003a86: PUSH2 0x3998
00003a89: JUMP
00003a8a: JUMPDEST
00003a8b: POP
00003a8c: PUSH1 0xe0
00003a8e: DUP3
00003a8f: ADD
00003a90: MLOAD
00003a91: PUSH2 0x25de
00003a94: PUSH2 0x0140
00003a97: DUP6
00003a98: ADD
00003a99: DUP3
00003a9a: PUSH2 0x37ef
00003a9d: JUMP
00003a9e: JUMPDEST
00003a9f: DUP1
00003aa0: MLOAD
00003aa1: PUSH1 0x40
00003aa3: DUP4
00003aa4: ADD
00003aa5: SWAP1
00003aa6: PUSH2 0x3aaf
00003aa9: DUP5
00003aaa: DUP3
00003aab: PUSH2 0x37ef
00003aae: JUMP
00003aaf: JUMPDEST
00003ab0: POP
00003ab1: PUSH1 0x20
00003ab3: DUP3
00003ab4: ADD
00003ab5: MLOAD
00003ab6: PUSH2 0x25de
00003ab9: PUSH1 0x20
00003abb: DUP6
00003abc: ADD
00003abd: DUP3
00003abe: PUSH2 0x3ba2
00003ac1: JUMP
00003ac2: JUMPDEST
00003ac3: DUP1
00003ac4: MLOAD
00003ac5: PUSH1 0xc0
00003ac7: DUP4
00003ac8: ADD
00003ac9: SWAP1
00003aca: PUSH2 0x3ad3
00003acd: DUP5
00003ace: DUP3
00003acf: PUSH2 0x3bbd
00003ad2: JUMP
00003ad3: JUMPDEST
00003ad4: POP
00003ad5: PUSH1 0x20
00003ad7: DUP3
00003ad8: ADD
00003ad9: MLOAD
00003ada: PUSH2 0x3ae6
00003add: PUSH1 0x20
00003adf: DUP6
00003ae0: ADD
00003ae1: DUP3
00003ae2: PUSH2 0x3bbd
00003ae5: JUMP
00003ae6: JUMPDEST
00003ae7: POP
00003ae8: PUSH1 0x40
00003aea: DUP3
00003aeb: ADD
00003aec: MLOAD
00003aed: PUSH2 0x3af9
00003af0: PUSH1 0x40
00003af2: DUP6
00003af3: ADD
00003af4: DUP3
00003af5: PUSH2 0x3bbd
00003af8: JUMP
00003af9: JUMPDEST
00003afa: POP
00003afb: PUSH1 0x60
00003afd: DUP3
00003afe: ADD
00003aff: MLOAD
00003b00: PUSH2 0x3b0c
00003b03: PUSH1 0x60
00003b05: DUP6
00003b06: ADD
00003b07: DUP3
00003b08: PUSH2 0x3bbd
00003b0b: JUMP
00003b0c: JUMPDEST
00003b0d: POP
00003b0e: PUSH1 0x80
00003b10: DUP3
00003b11: ADD
00003b12: MLOAD
00003b13: PUSH2 0x3b1f
00003b16: PUSH1 0x80
00003b18: DUP6
00003b19: ADD
00003b1a: DUP3
00003b1b: PUSH2 0x3bbd
00003b1e: JUMP
00003b1f: JUMPDEST
00003b20: POP
00003b21: PUSH1 0xa0
00003b23: DUP3
00003b24: ADD
00003b25: MLOAD
00003b26: PUSH2 0x25de
00003b29: PUSH1 0xa0
00003b2b: DUP6
00003b2c: ADD
00003b2d: DUP3
00003b2e: PUSH2 0x3ba2
00003b31: JUMP
00003b32: JUMPDEST
00003b33: DUP1
00003b34: MLOAD
00003b35: PUSH1 0x80
00003b37: DUP4
00003b38: ADD
00003b39: SWAP1
00003b3a: PUSH2 0x3b43
00003b3d: DUP5
00003b3e: DUP3
00003b3f: PUSH2 0x3998
00003b42: JUMP
00003b43: JUMPDEST
00003b44: POP
00003b45: PUSH1 0x20
00003b47: DUP3
00003b48: ADD
00003b49: MLOAD
00003b4a: PUSH2 0x3b56
00003b4d: PUSH1 0x20
00003b4f: DUP6
00003b50: ADD
00003b51: DUP3
00003b52: PUSH2 0x3998
00003b55: JUMP
00003b56: JUMPDEST
00003b57: POP
00003b58: PUSH1 0x40
00003b5a: DUP3
00003b5b: ADD
00003b5c: MLOAD
00003b5d: PUSH2 0x3b69
00003b60: PUSH1 0x40
00003b62: DUP6
00003b63: ADD
00003b64: DUP3
00003b65: PUSH2 0x3998
00003b68: JUMP
00003b69: JUMPDEST
00003b6a: POP
00003b6b: PUSH1 0x60
00003b6d: DUP3
00003b6e: ADD
00003b6f: MLOAD
00003b70: PUSH2 0x25de
00003b73: PUSH1 0x60
00003b75: DUP6
00003b76: ADD
00003b77: DUP3
00003b78: PUSH2 0x3998
00003b7b: JUMP
00003b7c: JUMPDEST
00003b7d: SWAP1
00003b7e: MSTORE
00003b7f: JUMP
00003b80: JUMPDEST
00003b81: DUP1
00003b82: MLOAD
00003b83: PUSH1 0x40
00003b85: DUP4
00003b86: ADD
00003b87: SWAP1
00003b88: PUSH2 0x3aaf
00003b8b: DUP5
00003b8c: DUP3
00003b8d: PUSH2 0x3ba2
00003b90: JUMP
00003b91: JUMPDEST
00003b92: DUP1
00003b93: MLOAD
00003b94: PUSH1 0x40
00003b96: DUP4
00003b97: ADD
00003b98: SWAP1
00003b99: PUSH2 0x39f1
00003b9c: DUP5
00003b9d: DUP3
00003b9e: PUSH2 0x37ef
00003ba1: JUMP
00003ba2: JUMPDEST
00003ba3: PUSH2 0x3649
00003ba6: DUP2
00003ba7: PUSH2 0x409a
00003baa: JUMP
00003bab: JUMPDEST
00003bac: PUSH2 0x3649
00003baf: DUP2
00003bb0: PUSH2 0x406f
00003bb3: JUMP
00003bb4: JUMPDEST
00003bb5: PUSH2 0x3649
00003bb8: DUP2
00003bb9: PUSH2 0x40c8
00003bbc: JUMP
00003bbd: JUMPDEST
00003bbe: PUSH2 0x3649
00003bc1: DUP2
00003bc2: PUSH2 0x40d1
00003bc5: JUMP
00003bc6: JUMPDEST
00003bc7: PUSH2 0x3649
00003bca: DUP2
00003bcb: PUSH2 0x40de
00003bce: JUMP
00003bcf: JUMPDEST
00003bd0: PUSH1 0x00
00003bd2: PUSH2 0x3bdb
00003bd5: DUP3
00003bd6: DUP5
00003bd7: PUSH2 0x3815
00003bda: JUMP
00003bdb: JUMPDEST
00003bdc: POP
00003bdd: PUSH1 0x20
00003bdf: ADD
00003be0: SWAP2
00003be1: SWAP1
00003be2: POP
00003be3: JUMP
00003be4: JUMPDEST
00003be5: PUSH1 0x00
00003be7: PUSH2 0x3bf0
00003bea: DUP3
00003beb: DUP7
00003bec: PUSH2 0x3821
00003bef: JUMP
00003bf0: JUMPDEST
00003bf1: SWAP2
00003bf2: POP
00003bf3: PUSH2 0x3bfc
00003bf6: DUP3
00003bf7: DUP6
00003bf8: PUSH2 0x3809
00003bfb: JUMP
00003bfc: JUMPDEST
00003bfd: PUSH1 0x02
00003bff: DUP3
00003c00: ADD
00003c01: SWAP2
00003c02: POP
00003c03: PUSH2 0x1ab8
00003c06: DUP3
00003c07: DUP5
00003c08: PUSH2 0x3821
00003c0b: JUMP
00003c0c: JUMPDEST
00003c0d: PUSH1 0x00
00003c0f: PUSH2 0x3c18
00003c12: DUP3
00003c13: DUP10
00003c14: PUSH2 0x3821
00003c17: JUMP
00003c18: JUMPDEST
00003c19: SWAP2
00003c1a: POP
00003c1b: PUSH2 0x3c24
00003c1e: DUP3
00003c1f: DUP9
00003c20: PUSH2 0x3809
00003c23: JUMP
00003c24: JUMPDEST
00003c25: PUSH1 0x02
00003c27: DUP3
00003c28: ADD
00003c29: SWAP2
00003c2a: POP
00003c2b: PUSH2 0x3c34
00003c2e: DUP3
00003c2f: DUP8
00003c30: PUSH2 0x3821
00003c33: JUMP
00003c34: JUMPDEST
00003c35: SWAP2
00003c36: POP
00003c37: PUSH2 0x3c40
00003c3a: DUP3
00003c3b: DUP7
00003c3c: PUSH2 0x3809
00003c3f: JUMP
00003c40: JUMPDEST
00003c41: PUSH1 0x02
00003c43: DUP3
00003c44: ADD
00003c45: SWAP2
00003c46: POP
00003c47: PUSH2 0x3c50
00003c4a: DUP3
00003c4b: DUP6
00003c4c: PUSH2 0x3821
00003c4f: JUMP
00003c50: JUMPDEST
00003c51: SWAP2
00003c52: POP
00003c53: PUSH2 0x3c5c
00003c56: DUP3
00003c57: DUP5
00003c58: PUSH2 0x37f8
00003c5b: JUMP
00003c5c: JUMPDEST
00003c5d: POP
00003c5e: PUSH1 0x01
00003c60: ADD
00003c61: SWAP7
00003c62: SWAP6
00003c63: POP
00003c64: POP
00003c65: POP
00003c66: POP
00003c67: POP
00003c68: POP
00003c69: JUMP
00003c6a: JUMPDEST
00003c6b: PUSH1 0x20
00003c6d: DUP2
00003c6e: ADD
00003c6f: PUSH2 0x0c0c
00003c72: DUP3
00003c73: DUP5
00003c74: PUSH2 0x3640
00003c77: JUMP
00003c78: JUMPDEST
00003c79: PUSH1 0x40
00003c7b: DUP2
00003c7c: ADD
00003c7d: PUSH2 0x3c86
00003c80: DUP3
00003c81: DUP6
00003c82: PUSH2 0x3640
00003c85: JUMP
00003c86: JUMPDEST
00003c87: PUSH2 0x1962
00003c8a: PUSH1 0x20
00003c8c: DUP4
00003c8d: ADD
00003c8e: DUP5
00003c8f: PUSH2 0x37ef
00003c92: JUMP
00003c93: JUMPDEST
00003c94: PUSH1 0x60
00003c96: DUP2
00003c97: ADD
00003c98: PUSH2 0x3ca1
00003c9b: DUP3
00003c9c: DUP7
00003c9d: PUSH2 0x3640
00003ca0: JUMP
00003ca1: JUMPDEST
00003ca2: PUSH2 0x3cae
00003ca5: PUSH1 0x20
00003ca7: DUP4
00003ca8: ADD
00003ca9: DUP6
00003caa: PUSH2 0x3bab
00003cad: JUMP
00003cae: JUMPDEST
00003caf: PUSH2 0x1c02
00003cb2: PUSH1 0x40
00003cb4: DUP4
00003cb5: ADD
00003cb6: DUP5
00003cb7: PUSH2 0x3bab
00003cba: JUMP
00003cbb: JUMPDEST
00003cbc: PUSH1 0x60
00003cbe: DUP1
00003cbf: DUP3
00003cc0: MSTORE
00003cc1: DUP2
00003cc2: ADD
00003cc3: PUSH2 0x3ccc
00003cc6: DUP2
00003cc7: DUP7
00003cc8: PUSH2 0x364f
00003ccb: JUMP
00003ccc: JUMPDEST
00003ccd: SWAP1
00003cce: POP
00003ccf: DUP2
00003cd0: DUP2
00003cd1: SUB
00003cd2: PUSH1 0x20
00003cd4: DUP4
00003cd5: ADD
00003cd6: MSTORE
00003cd7: PUSH2 0x3ce0
00003cda: DUP2
00003cdb: DUP6
00003cdc: PUSH2 0x3759
00003cdf: JUMP
00003ce0: JUMPDEST
00003ce1: SWAP1
00003ce2: POP
00003ce3: DUP2
00003ce4: DUP2
00003ce5: SUB
00003ce6: PUSH1 0x40
00003ce8: DUP4
00003ce9: ADD
00003cea: MSTORE
00003ceb: PUSH2 0x1ab8
00003cee: DUP2
00003cef: DUP5
00003cf0: PUSH2 0x37a4
00003cf3: JUMP
00003cf4: JUMPDEST
00003cf5: PUSH1 0x20
00003cf7: DUP2
00003cf8: ADD
00003cf9: PUSH2 0x0c0c
00003cfc: DUP3
00003cfd: DUP5
00003cfe: PUSH2 0x37ef
00003d01: JUMP
00003d02: JUMPDEST
00003d03: PUSH1 0x20
00003d05: DUP2
00003d06: ADD
00003d07: PUSH2 0x0c0c
00003d0a: DUP3
00003d0b: DUP5
00003d0c: PUSH2 0x3888
00003d0f: JUMP
00003d10: JUMPDEST
00003d11: PUSH1 0x20
00003d13: DUP2
00003d14: ADD
00003d15: PUSH2 0x0c0c
00003d18: DUP3
00003d19: DUP5
00003d1a: PUSH2 0x38a3
00003d1d: JUMP
00003d1e: JUMPDEST
00003d1f: PUSH1 0x20
00003d21: DUP1
00003d22: DUP3
00003d23: MSTORE
00003d24: DUP2
00003d25: ADD
00003d26: PUSH2 0x0c09
00003d29: DUP2
00003d2a: DUP5
00003d2b: PUSH2 0x3850
00003d2e: JUMP
00003d2f: JUMPDEST
00003d30: PUSH1 0x20
00003d32: DUP2
00003d33: ADD
00003d34: PUSH2 0x0c0c
00003d37: DUP3
00003d38: DUP5
00003d39: PUSH2 0x3998
00003d3c: JUMP
00003d3d: JUMPDEST
00003d3e: PUSH1 0x60
00003d40: DUP2
00003d41: ADD
00003d42: PUSH2 0x0c0c
00003d45: DUP3
00003d46: DUP5
00003d47: PUSH2 0x39a9
00003d4a: JUMP
00003d4b: JUMPDEST
00003d4c: PUSH2 0x0160
00003d4f: DUP2
00003d50: ADD
00003d51: PUSH2 0x0c0c
00003d54: DUP3
00003d55: DUP5
00003d56: PUSH2 0x3a04
00003d59: JUMP
00003d5a: JUMPDEST
00003d5b: PUSH2 0x0200
00003d5e: DUP2
00003d5f: ADD
00003d60: PUSH2 0x3d69
00003d63: DUP3
00003d64: DUP8
00003d65: PUSH2 0x3a04
00003d68: JUMP
00003d69: JUMPDEST
00003d6a: PUSH2 0x3d77
00003d6d: PUSH2 0x0160
00003d70: DUP4
00003d71: ADD
00003d72: DUP7
00003d73: PUSH2 0x39a9
00003d76: JUMP
00003d77: JUMPDEST
00003d78: PUSH2 0x3d85
00003d7b: PUSH2 0x01c0
00003d7e: DUP4
00003d7f: ADD
00003d80: DUP6
00003d81: PUSH2 0x3998
00003d84: JUMP
00003d85: JUMPDEST
00003d86: PUSH2 0x1ab8
00003d89: PUSH2 0x01e0
00003d8c: DUP4
00003d8d: ADD
00003d8e: DUP5
00003d8f: PUSH2 0x3998
00003d92: JUMP
00003d93: JUMPDEST
00003d94: PUSH1 0x40
00003d96: DUP2
00003d97: ADD
00003d98: PUSH2 0x0c0c
00003d9b: DUP3
00003d9c: DUP5
00003d9d: PUSH2 0x3a9e
00003da0: JUMP
00003da1: JUMPDEST
00003da2: PUSH1 0xc0
00003da4: DUP2
00003da5: ADD
00003da6: PUSH2 0x0c0c
00003da9: DUP3
00003daa: DUP5
00003dab: PUSH2 0x3ac2
00003dae: JUMP
00003daf: JUMPDEST
00003db0: PUSH1 0x80
00003db2: DUP2
00003db3: ADD
00003db4: PUSH2 0x0c0c
00003db7: DUP3
00003db8: DUP5
00003db9: PUSH2 0x3b32
00003dbc: JUMP
00003dbd: JUMPDEST
00003dbe: PUSH1 0x60
00003dc0: DUP2
00003dc1: ADD
00003dc2: PUSH2 0x3dcb
00003dc5: DUP3
00003dc6: DUP7
00003dc7: PUSH2 0x3b7c
00003dca: JUMP
00003dcb: JUMPDEST
00003dcc: PUSH2 0x3dd8
00003dcf: PUSH1 0x20
00003dd1: DUP4
00003dd2: ADD
00003dd3: DUP6
00003dd4: PUSH2 0x3640
00003dd7: JUMP
00003dd8: JUMPDEST
00003dd9: PUSH2 0x1c02
00003ddc: PUSH1 0x40
00003dde: DUP4
00003ddf: ADD
00003de0: DUP5
00003de1: PUSH2 0x3640
00003de4: JUMP
00003de5: JUMPDEST
00003de6: PUSH1 0x60
00003de8: DUP2
00003de9: ADD
00003dea: PUSH2 0x3df3
00003ded: DUP3
00003dee: DUP7
00003def: PUSH2 0x3b7c
00003df2: JUMP
00003df3: JUMPDEST
00003df4: PUSH2 0x3e00
00003df7: PUSH1 0x20
00003df9: DUP4
00003dfa: ADD
00003dfb: DUP6
00003dfc: PUSH2 0x3640
00003dff: JUMP
00003e00: JUMPDEST
00003e01: PUSH2 0x1c02
00003e04: PUSH1 0x40
00003e06: DUP4
00003e07: ADD
00003e08: DUP5
00003e09: PUSH2 0x37ef
00003e0c: JUMP
00003e0d: JUMPDEST
00003e0e: PUSH1 0xc0
00003e10: DUP2
00003e11: ADD
00003e12: PUSH2 0x3e1b
00003e15: DUP3
00003e16: DUP10
00003e17: PUSH2 0x3b7c
00003e1a: JUMP
00003e1b: JUMPDEST
00003e1c: PUSH2 0x3e28
00003e1f: PUSH1 0x20
00003e21: DUP4
00003e22: ADD
00003e23: DUP9
00003e24: PUSH2 0x3640
00003e27: JUMP
00003e28: JUMPDEST
00003e29: PUSH2 0x3e35
00003e2c: PUSH1 0x40
00003e2e: DUP4
00003e2f: ADD
00003e30: DUP8
00003e31: PUSH2 0x3888
00003e34: JUMP
00003e35: JUMPDEST
00003e36: PUSH2 0x3e42
00003e39: PUSH1 0x60
00003e3b: DUP4
00003e3c: ADD
00003e3d: DUP7
00003e3e: PUSH2 0x3888
00003e41: JUMP
00003e42: JUMPDEST
00003e43: PUSH2 0x3e4f
00003e46: PUSH1 0x80
00003e48: DUP4
00003e49: ADD
00003e4a: DUP6
00003e4b: PUSH2 0x3998
00003e4e: JUMP
00003e4f: JUMPDEST
00003e50: PUSH2 0x3e5c
00003e53: PUSH1 0xa0
00003e55: DUP4
00003e56: ADD
00003e57: DUP5
00003e58: PUSH2 0x3998
00003e5b: JUMP
00003e5c: JUMPDEST
00003e5d: SWAP8
00003e5e: SWAP7
00003e5f: POP
00003e60: POP
00003e61: POP
00003e62: POP
00003e63: POP
00003e64: POP
00003e65: POP
00003e66: JUMP
00003e67: JUMPDEST
00003e68: PUSH1 0x60
00003e6a: DUP2
00003e6b: ADD
00003e6c: PUSH2 0x3e75
00003e6f: DUP3
00003e70: DUP7
00003e71: PUSH2 0x3b7c
00003e74: JUMP
00003e75: JUMPDEST
00003e76: DUP2
00003e77: DUP2
00003e78: SUB
00003e79: PUSH1 0x20
00003e7b: DUP4
00003e7c: ADD
00003e7d: MSTORE
00003e7e: PUSH2 0x3e87
00003e81: DUP2
00003e82: DUP6
00003e83: PUSH2 0x370e
00003e86: JUMP
00003e87: JUMPDEST
00003e88: SWAP1
00003e89: POP
00003e8a: DUP2
00003e8b: DUP2
00003e8c: SUB
00003e8d: PUSH1 0x40
00003e8f: DUP4
00003e90: ADD
00003e91: MSTORE
00003e92: PUSH2 0x1ab8
00003e95: DUP2
00003e96: DUP5
00003e97: PUSH2 0x36a4
00003e9a: JUMP
00003e9b: JUMPDEST
00003e9c: PUSH1 0x40
00003e9e: DUP2
00003e9f: ADD
00003ea0: PUSH2 0x3ea9
00003ea3: DUP3
00003ea4: DUP6
00003ea5: PUSH2 0x3b7c
00003ea8: JUMP
00003ea9: JUMPDEST
00003eaa: PUSH2 0x1962
00003ead: PUSH1 0x20
00003eaf: DUP4
00003eb0: ADD
00003eb1: DUP5
00003eb2: PUSH2 0x3998
00003eb5: JUMP
00003eb6: JUMPDEST
00003eb7: PUSH1 0x60
00003eb9: DUP2
00003eba: ADD
00003ebb: PUSH2 0x3ec4
00003ebe: DUP3
00003ebf: DUP7
00003ec0: PUSH2 0x3b7c
00003ec3: JUMP
00003ec4: JUMPDEST
00003ec5: PUSH2 0x3dd8
00003ec8: PUSH1 0x20
00003eca: DUP4
00003ecb: ADD
00003ecc: DUP6
00003ecd: PUSH2 0x3bab
00003ed0: JUMP
00003ed1: JUMPDEST
00003ed2: PUSH1 0x60
00003ed4: DUP2
00003ed5: ADD
00003ed6: PUSH2 0x3edf
00003ed9: DUP3
00003eda: DUP7
00003edb: PUSH2 0x3b7c
00003ede: JUMP
00003edf: JUMPDEST
00003ee0: PUSH2 0x3e00
00003ee3: PUSH1 0x20
00003ee5: DUP4
00003ee6: ADD
00003ee7: DUP6
00003ee8: PUSH2 0x3bab
00003eeb: JUMP
00003eec: JUMPDEST
00003eed: PUSH1 0x60
00003eef: DUP2
00003ef0: ADD
00003ef1: PUSH2 0x3efa
00003ef4: DUP3
00003ef5: DUP7
00003ef6: PUSH2 0x3b7c
00003ef9: JUMP
00003efa: JUMPDEST
00003efb: PUSH2 0x3f07
00003efe: PUSH1 0x20
00003f00: DUP4
00003f01: ADD
00003f02: DUP6
00003f03: PUSH2 0x3bab
00003f06: JUMP
00003f07: JUMPDEST
00003f08: PUSH2 0x1c02
00003f0b: PUSH1 0x40
00003f0d: DUP4
00003f0e: ADD
00003f0f: DUP5
00003f10: PUSH2 0x3888
00003f13: JUMP
00003f14: JUMPDEST
00003f15: PUSH1 0x60
00003f17: DUP2
00003f18: ADD
00003f19: PUSH2 0x3f22
00003f1c: DUP3
00003f1d: DUP7
00003f1e: PUSH2 0x3b7c
00003f21: JUMP
00003f22: JUMPDEST
00003f23: PUSH2 0x3f2f
00003f26: PUSH1 0x20
00003f28: DUP4
00003f29: ADD
00003f2a: DUP6
00003f2b: PUSH2 0x3bab
00003f2e: JUMP
00003f2f: JUMPDEST
00003f30: PUSH2 0x1c02
00003f33: PUSH1 0x40
00003f35: DUP4
00003f36: ADD
00003f37: DUP5
00003f38: PUSH2 0x3998
00003f3b: JUMP
00003f3c: JUMPDEST
00003f3d: PUSH1 0x40
00003f3f: DUP2
00003f40: ADD
00003f41: PUSH2 0x0c0c
00003f44: DUP3
00003f45: DUP5
00003f46: PUSH2 0x3b80
00003f49: JUMP
00003f4a: JUMPDEST
00003f4b: PUSH1 0x40
00003f4d: DUP2
00003f4e: ADD
00003f4f: PUSH2 0x3ea9
00003f52: DUP3
00003f53: DUP6
00003f54: PUSH2 0x3998
00003f57: JUMP
00003f58: JUMPDEST
00003f59: PUSH1 0x40
00003f5b: DUP2
00003f5c: ADD
00003f5d: PUSH2 0x0c0c
00003f60: DUP3
00003f61: DUP5
00003f62: PUSH2 0x3b91
00003f65: JUMP
00003f66: JUMPDEST
00003f67: PUSH1 0x20
00003f69: DUP2
00003f6a: ADD
00003f6b: PUSH2 0x0c0c
00003f6e: DUP3
00003f6f: DUP5
00003f70: PUSH2 0x3bab
00003f73: JUMP
00003f74: JUMPDEST
00003f75: PUSH1 0x40
00003f77: MLOAD
00003f78: DUP2
00003f79: DUP2
00003f7a: ADD
00003f7b: PUSH8 0xffffffffffffffff
00003f84: DUP2
00003f85: GT
00003f86: DUP3
00003f87: DUP3
00003f88: LT
00003f89: OR
00003f8a: ISZERO
00003f8b: PUSH2 0x3f93
00003f8e: JUMPI
00003f8f: PUSH1 0x00
00003f91: DUP1
00003f92: REVERT
00003f93: JUMPDEST
00003f94: PUSH1 0x40
00003f96: MSTORE
00003f97: SWAP2
00003f98: SWAP1
00003f99: POP
00003f9a: JUMP
00003f9b: JUMPDEST
00003f9c: PUSH1 0x00
00003f9e: PUSH8 0xffffffffffffffff
00003fa7: DUP3
00003fa8: GT
00003fa9: ISZERO
00003faa: PUSH2 0x3fb2
00003fad: JUMPI
00003fae: PUSH1 0x00
00003fb0: DUP1
00003fb1: REVERT
00003fb2: JUMPDEST
00003fb3: POP
00003fb4: PUSH1 0x20
00003fb6: SWAP1
00003fb7: DUP2
00003fb8: MUL
00003fb9: ADD
00003fba: SWAP1
00003fbb: JUMP
00003fbc: JUMPDEST
00003fbd: PUSH1 0x00
00003fbf: PUSH8 0xffffffffffffffff
00003fc8: DUP3
00003fc9: GT
00003fca: ISZERO
00003fcb: PUSH2 0x3fd3
00003fce: JUMPI
00003fcf: PUSH1 0x00
00003fd1: DUP1
00003fd2: REVERT
00003fd3: JUMPDEST
00003fd4: POP
00003fd5: PUSH1 0x20
00003fd7: PUSH1 0x1f
00003fd9: SWAP2
00003fda: SWAP1
00003fdb: SWAP2
00003fdc: ADD
00003fdd: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00003ffe: AND
00003fff: ADD
00004000: SWAP1
00004001: JUMP
00004002: JUMPDEST
00004003: PUSH1 0x20
00004005: ADD
00004006: SWAP1
00004007: JUMP
00004008: JUMPDEST
00004009: MLOAD
0000400a: SWAP1
0000400b: JUMP
0000400c: JUMPDEST
0000400d: SWAP1
0000400e: DUP2
0000400f: MSTORE
00004010: PUSH1 0x20
00004012: ADD
00004013: SWAP1
00004014: JUMP
00004015: JUMPDEST
00004016: PUSH1 0x00
00004018: PUSH2 0x0829
0000401b: DUP3
0000401c: PUSH2 0x40af
0000401f: JUMP
00004020: JUMPDEST
00004021: ISZERO
00004022: ISZERO
00004023: SWAP1
00004024: JUMP
00004025: JUMPDEST
00004026: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000
00004047: AND
00004048: SWAP1
00004049: JUMP
0000404a: JUMPDEST
0000404b: PUSH32 0xffff000000000000000000000000000000000000000000000000000000000000
0000406c: AND
0000406d: SWAP1
0000406e: JUMP
0000406f: JUMPDEST
00004070: SWAP1
00004071: JUMP
00004072: JUMPDEST
00004073: PUSH1 0x00
00004075: PUSH1 0x09
00004077: DUP3
00004078: LT
00004079: PUSH2 0x407e
0000407c: JUMPI
0000407d: INVALID
0000407e: JUMPDEST
0000407f: POP
00004080: SWAP1
00004081: JUMP
00004082: JUMPDEST
00004083: PUSH1 0x00
00004085: PUSH1 0x02
00004087: DUP3
00004088: LT
00004089: PUSH2 0x407e
0000408c: JUMPI
0000408d: INVALID
0000408e: JUMPDEST
0000408f: PUSH1 0x00
00004091: PUSH1 0x03
00004093: DUP3
00004094: LT
00004095: PUSH2 0x407e
00004098: JUMPI
00004099: INVALID
0000409a: JUMPDEST
0000409b: PUSH16 0xffffffffffffffffffffffffffffffff
000040ac: AND
000040ad: SWAP1
000040ae: JUMP
000040af: JUMPDEST
000040b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000040c5: AND
000040c6: SWAP1
000040c7: JUMP
000040c8: JUMPDEST
000040c9: PUSH4 0xffffffff
000040ce: AND
000040cf: SWAP1
000040d0: JUMP
000040d1: JUMPDEST
000040d2: PUSH8 0xffffffffffffffff
000040db: AND
000040dc: SWAP1
000040dd: JUMP
000040de: JUMPDEST
000040df: PUSH12 0xffffffffffffffffffffffff
000040ec: AND
000040ed: SWAP1
000040ee: JUMP
000040ef: JUMPDEST
000040f0: PUSH1 0x00
000040f2: PUSH2 0x0829
000040f5: DUP3
000040f6: PUSH2 0x4015
000040f9: JUMP
000040fa: JUMPDEST
000040fb: PUSH1 0x00
000040fd: PUSH1 0x09
000040ff: DUP3
00004100: LT
00004101: PUSH2 0x407e
00004104: JUMPI
00004105: PUSH1 0x00
00004107: DUP1
00004108: REVERT
00004109: JUMPDEST
0000410a: PUSH1 0x00
0000410c: PUSH1 0x02
0000410e: DUP3
0000410f: LT
00004110: PUSH2 0x407e
00004113: JUMPI
00004114: PUSH1 0x00
00004116: DUP1
00004117: REVERT
00004118: JUMPDEST
00004119: PUSH1 0x00
0000411b: PUSH2 0x0829
0000411e: DUP3
0000411f: PUSH2 0x4072
00004122: JUMP
00004123: JUMPDEST
00004124: PUSH1 0x00
00004126: PUSH2 0x0829
00004129: DUP3
0000412a: PUSH2 0x4082
0000412d: JUMP
0000412e: JUMPDEST
0000412f: PUSH1 0x00
00004131: PUSH2 0x0829
00004134: DUP3
00004135: PUSH2 0x408e
00004138: JUMP
00004139: JUMPDEST
0000413a: DUP3
0000413b: DUP2
0000413c: DUP4
0000413d: CALLDATACOPY
0000413e: POP
0000413f: PUSH1 0x00
00004141: SWAP2
00004142: ADD
00004143: MSTORE
00004144: JUMP
00004145: JUMPDEST
00004146: PUSH1 0x00
00004148: JUMPDEST
00004149: DUP4
0000414a: DUP2
0000414b: LT
0000414c: ISZERO
0000414d: PUSH2 0x4160
00004150: JUMPI
00004151: DUP2
00004152: DUP2
00004153: ADD
00004154: MLOAD
00004155: DUP4
00004156: DUP3
00004157: ADD
00004158: MSTORE
00004159: PUSH1 0x20
0000415b: ADD
0000415c: PUSH2 0x4148
0000415f: JUMP
00004160: JUMPDEST
00004161: DUP4
00004162: DUP2
00004163: GT
00004164: ISZERO
00004165: PUSH2 0x25de
00004168: JUMPI
00004169: POP
0000416a: POP
0000416b: PUSH1 0x00
0000416d: SWAP2
0000416e: ADD
0000416f: MSTORE
00004170: JUMP
00004171: JUMPDEST
00004172: PUSH1 0x1f
00004174: ADD
00004175: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00004196: AND
00004197: SWAP1
00004198: JUMP
00004199: INVALID
0000419a: LOG2
0000419b: PUSH6 0x627a7a723058
000041a2: KECCAK256
000041a3: ADDMOD
000041a4: SWAP10
000041a5: PUSH0
000041a6: BLOCKHASH
000041a7: COINBASE
000041a8: SWAP15
000041a9: CREATE
000041aa: PC
000041ab: UNKNOWN(0xC1)
000041ac: DUP8
000041ad: SWAP15
000041ae: CODECOPY
000041af: MSTORE8
000041b0: PUSH23 0xa60652d794668b2ac708a61d8c9e9857b0e36c65787065
000041c8: PUSH19

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability detector Untrusted DELEGATECALL target reachable 70 no no
view
trace_id: 0x5955a43632981a03276a892c064ef88174a3745f22406b3d05241107b7515373
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0x5955a43632981a03276a892c064ef88174a3745f22406b3d05241107b7515373",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf9416052",
            "selector": "0xf9416052",
            "calldata_variants": [
                "0xf9416052",
                "0xf94160520000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfd04b606",
            "selector": "0xfd04b606",
            "calldata_variants": [
                "0xfd04b606",
                "0xfd04b6060000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfd47eda6",
            "selector": "0xfd47eda6",
            "calldata_variants": [
                "0xfd47eda6",
                "0xfd47eda60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xeb44fdd3",
            "selector": "0xeb44fdd3",
            "calldata_variants": [
                "0xeb44fdd3",
                "0xeb44fdd30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xef6957d0",
            "selector": "0xef6957d0",
            "calldata_variants": [
                "0xef6957d0",
                "0xef6957d00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2901ae2",
            "selector": "0xf2901ae2",
            "calldata_variants": [
                "0xf2901ae2",
                "0xf2901ae20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe5520228",
            "selector": "0xe5520228",
            "calldata_variants": [
                "0xe5520228",
                "0xe55202280000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2031,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 2587,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 2801,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 4,
    "untrusted_delegatecall_count": 4
}
medium oracle codex Liquidation status persists after transient undercollateralization 75 no
view
evidence_json
{
    "evidence": "`_liquidate` sets `Account.Status.Liquid` after a single undercollateralization check and skips further checks if already `Liquid`, while `_verifyFinalState` only resets status for primary accounts, leaving liquidated (secondary) accounts in `Liquid` state indefinitely.",
    "locations": [
        "contracts/Contract.sol:5231",
        "contracts/Contract.sol:4868"
    ],
    "recommendation": "Re-check collateralization on every liquidation regardless of current status, or automatically clear `Liquid` status once an account is collateralized (including when it is a secondary account). Consider time-bounding the `Liquid` flag or requiring a fresh oracle check for each liquidation.",
    "exploit_scenario": "If the price oracle can be manipulated even briefly (e.g., spot/low-liquidity oracle), an attacker can call `operate` with a minimal `Liquidate` action to set the victim account\u2019s status to `Liquid` while prices are distorted. After prices normalize, the account remains `Liquid` and can be liquidated further without re-checking collateralization, allowing repeated liquidation at fair prices until the owner performs an operation to reset status."
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 4
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0x8212963900bb54ef1d69f498e95f34f710ab34c708e7f556d9db8e36ef52dcde
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0x8212963900bb54ef1d69f498e95f34f710ab34c708e7f556d9db8e36ef52dcde",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf9416052",
            "selector": "0xf9416052",
            "calldata_variants": [
                "0xf9416052",
                "0xf94160520000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfd04b606",
            "selector": "0xfd04b606",
            "calldata_variants": [
                "0xfd04b606",
                "0xfd04b6060000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfd47eda6",
            "selector": "0xfd47eda6",
            "calldata_variants": [
                "0xfd47eda6",
                "0xfd47eda60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xeb44fdd3",
            "selector": "0xeb44fdd3",
            "calldata_variants": [
                "0xeb44fdd3",
                "0xeb44fdd30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xef6957d0",
            "selector": "0xef6957d0",
            "calldata_variants": [
                "0xef6957d0",
                "0xef6957d00000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2901ae2",
            "selector": "0xf2901ae2",
            "calldata_variants": [
                "0xf2901ae2",
                "0xf2901ae20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe5520228",
            "selector": "0xe5520228",
            "calldata_variants": [
                "0xe5520228",
                "0xe55202280000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 1,
    "create2_count": 0
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 1,
    "create2_count": 0
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 7
}