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

Analysis Run

e7b0ae0c-b4ec-4bef-850f-238760b01a13

failed
Chain ID
1
Address
Block Number
Created
Sun, Dec 28, 2025 3:47 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 CALL target/value reachable
crit 0 high 0 proxy context implementation known
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30323 report.consolidate complete 1 / 1 3 months ago
74122 artifact.fetch failed 1 / 3 1 week ago
74123 tool.cast_disasm complete 1 / 3 1 week ago
74124 analysis.bundle complete 1 / 3 1 week ago
74125 capability.graph complete 1 / 3 1 week ago
74126 detector.run complete 1 / 3 1 week ago
74127 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
1
No findings?
no
Summary
1 issue found: unprotected initializer/castrate can allow takeover or bricking of uninitialized proxies if initialization is not atomic.
View stderr
[codex:767609] OpenAI Codex v0.77.0 (research preview)
[codex:767609] --------
[codex:767609] workdir: /tmp/codex-multi-k1xvpyma
[codex:767609] model: gpt-5.2-codex
[codex:767609] provider: openai
[codex:767609] approval: never
[codex:767609] sandbox: read-only
[codex:767609] reasoning effort: xhigh
[codex:767609] reasoning summaries: auto
[codex:767609] session id: 019b659c-c93f-7013-9645-31f00576087a
[codex:767609] --------
[codex:767609] user
[codex:767609] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:767609] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:767609] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:767609] 
[codex:767609] Scope rules:
[codex:767609] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:767609] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:767609] 
[codex:767609] Output MUST be valid JSON matching the provided schema.
[codex:767609] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:767609] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:767609] 
[codex:767609] Output constraints (IMPORTANT):
[codex:767609] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:767609] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:767609] mcp startup: no servers
[codex:767609] 
[codex:767609] thinking
[codex:767609] **Preparing to read AUDIT_BUNDLE file**
[codex:767609] exec
[codex:767609] /bin/bash -lc ls in /tmp/codex-multi-k1xvpyma succeeded in 5ms:
[codex:767609] AUDIT_BUNDLE.txt
[codex:767609] codex-output-schema.json
[codex:767609] contracts
[codex:767609] exec
[codex:767609] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-k1xvpyma succeeded in 6ms:
[codex:767609] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:767609] 
[codex:767609] ================================================================================
[codex:767609] FILE: contracts/@openzeppelin/contracts/proxy/utils/Initializable.sol
[codex:767609] ================================================================================
[codex:767609] // SPDX-License-Identifier: MIT
[codex:767609] // OpenZeppelin Contracts (last updated v4.9.0) (proxy/utils/Initializable.sol)
[codex:767609] 
[codex:767609] pragma solidity ^0.8.2;
[codex:767609] 
[codex:767609] import "../../utils/Address.sol";
[codex:767609] 
[codex:767609] /**
[codex:767609]  * @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed
[codex:767609]  * behind a proxy. Since proxied contracts do not make use of a constructor, it's common to move constructor logic to an
[codex:767609]  * external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer
[codex:767609]  * function so it can only be called once. The {initializer} modifier provided by this contract will have this effect.
[codex:767609]  *
[codex:767609]  * The initialization functions use a version number. Once a version number is used, it is consumed and cannot be
[codex:767609]  * reused. This mechanism prevents re-execution of each "step" but allows the creation of new initialization steps in
[codex:767609] 
[codex:767609] thinking
[codex:767609] **Identifying first-party contracts**
[codex:767609] exec
[codex:767609] /bin/bash -lc 'rg -n "''^FILE: contracts/contracts" AUDIT_BUNDLE.txt' in /tmp/codex-multi-k1xvpyma succeeded in 6ms:
[codex:767609] 2730:FILE: contracts/contracts/interfaces/agreements/IConstantFlowAgreementV1.sol
[codex:767609] 3243:FILE: contracts/contracts/interfaces/agreements/IInstantDistributionAgreementV1.sol
[codex:767609] 3761:FILE: contracts/contracts/interfaces/agreements/gdav1/IGeneralDistributionAgreementV1.sol
[codex:767609] 4045:FILE: contracts/contracts/interfaces/agreements/gdav1/IPoolAdminNFT.sol
[codex:767609] 4071:FILE: contracts/contracts/interfaces/agreements/gdav1/IPoolMemberNFT.sol
[codex:767609] 4112:FILE: contracts/contracts/interfaces/agreements/gdav1/IPoolNFTBase.sol
[codex:767609] 4144:FILE: contracts/contracts/interfaces/agreements/gdav1/ISuperfluidPool.sol
[codex:767609] 4258:FILE: contracts/contracts/interfaces/superfluid/Definitions.sol
[codex:767609] 4573:FILE: contracts/contracts/interfaces/superfluid/ISuperAgreement.sol
[codex:767609] 4615:FILE: contracts/contracts/interfaces/superfluid/ISuperApp.sol
[codex:767609] 4782:FILE: contracts/contracts/interfaces/superfluid/ISuperToken.sol
[codex:767609] 5411:FILE: contracts/contracts/interfaces/superfluid/ISuperTokenFactory.sol
[codex:767609] 5601:FILE: contracts/contracts/interfaces/superfluid/ISuperfluid.sol
[codex:767609] 6281:FILE: contracts/contracts/interfaces/superfluid/ISuperfluidGovernance.sol
[codex:767609] 6394:FILE: contracts/contracts/interfaces/superfluid/ISuperfluidToken.sol
[codex:767609] 6832:FILE: contracts/contracts/interfaces/tokens/ISETH.sol
[codex:767609] 6859:FILE: contracts/contracts/libs/ERC777Helper.sol
[codex:767609] 6936:FILE: contracts/contracts/libs/FixedSizeData.sol
[codex:767609] 6999:FILE: contracts/contracts/superfluid/SuperToken.sol
[codex:767609] 7912:FILE: contracts/contracts/superfluid/SuperfluidToken.sol
[codex:767609] 
[codex:767609] thinking
[codex:767609] **Extracting code sections for analysis**
[codex:767609] exec
[codex:767609] /bin/bash -lc "awk 'BEGIN{p=0} /"'^FILE: contracts'"\\/contracts\\/superfluid\\/SuperToken.sol/{p=1} /"'^FILE: /{if(p && NR!=FNR && $0!~"SuperToken.sol"){} } {if(p)print} /''^================================================================================$/{if(p && seen){}}'"' AUDIT_BUNDLE.txt" in /tmp/codex-multi-k1xvpyma succeeded in 12ms:
[codex:767609] FILE: contracts/contracts/superfluid/SuperToken.sol
[codex:767609] ================================================================================
[codex:767609] // SPDX-License-Identifier: AGPLv3
[codex:767609] pragma solidity ^0.8.23;
[codex:767609] 
[codex:767609] // solhint-disable max-states-count
[codex:767609] // Notes: SuperToken is rich with states, disable this default rule here.
[codex:767609] 
[codex:767609] import { UUPSProxiable } from "../upgradability/UUPSProxiable.sol";
[codex:767609] import {
[codex:767609]     ISuperfluid,
[codex:767609]     ISuperToken,
[codex:767609]     IERC20,
[codex:767609]     IPoolAdminNFT,
[codex:767609]     IPoolMemberNFT
[codex:767609] } from "../interfaces/superfluid/ISuperfluid.sol";
[codex:767609] import { SuperfluidToken } from "./SuperfluidToken.sol";
[codex:767609] import { ERC777Helper } from "../libs/ERC777Helper.sol";
[codex:767609] import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:767609] import { SafeMath } from "@openzeppelin/contracts/utils/math/SafeMath.sol";
[codex:767609] 
[codex:767609] thinking
[codex:767609] **Reviewing audit bundle reading strategy**
[codex:767609] 
[codex:767609] There is a lot here! The output was truncated due to token limits, so I need to ensure I read the entire AUDIT_BUNDLE.txt before drawing conclusions. Since directly viewing the entire bundle is tricky, I plan to analyze the key first-party Solidity files individually—especially SuperToken.sol—using `rg` and `sed` to read manageable chunks. That way I can comprehensively check for vulnerabilities while respecting the instruction to consider the entire bundle.
[codex:767609] exec
[codex:767609] /bin/bash -lc "sed -n '1,240p' contracts/contracts/superfluid/SuperToken.sol" in /tmp/codex-multi-k1xvpyma succeeded in 7ms:
[codex:767609] // SPDX-License-Identifier: AGPLv3
[codex:767609] pragma solidity ^0.8.23;
[codex:767609] 
[codex:767609] // solhint-disable max-states-count
[codex:767609] // Notes: SuperToken is rich with states, disable this default rule here.
[codex:767609] 
[codex:767609] import { UUPSProxiable } from "../upgradability/UUPSProxiable.sol";
[codex:767609] import {
[codex:767609]     ISuperfluid,
[codex:767609]     ISuperToken,
[codex:767609]     IERC20,
[codex:767609]     IPoolAdminNFT,
[codex:767609]     IPoolMemberNFT
[codex:767609] } from "../interfaces/superfluid/ISuperfluid.sol";
[codex:767609] import { SuperfluidToken } from "./SuperfluidToken.sol";
[codex:767609] import { ERC777Helper } from "../libs/ERC777Helper.sol";
[codex:767609] import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:767609] import { SafeMath } from "@openzeppelin/contracts/utils/math/SafeMath.sol";
[codex:767609] import { SafeCast } from "@openzeppelin/contracts/utils/math/SafeCast.sol";
[codex:767609] import { IERC777Recipient } from "@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol";
[codex:767609] 
[codex:767609] thinking
[codex:767609] **Continuing analysis**
[codex:767609] exec
[codex:767609] /bin/bash -lc "sed -n '240,520p' contracts/contracts/superfluid/SuperToken.sol" in /tmp/codex-multi-k1xvpyma succeeded in 6ms:
[codex:767609]         _name = n;
[codex:767609]         _symbol = s;
[codex:767609] 
[codex:767609]         _setAdmin(admin);
[codex:767609] 
[codex:767609]         // register interfaces
[codex:767609]         ERC777Helper.register(address(this));
[codex:767609] 
[codex:767609]         // help tools like explorers detect the token contract
[codex:767609]         emit Transfer(address(0), address(0), 0);
[codex:767609] 
[codex:767609]         // previous admin will always be the zero address in an uninitialized contract
[codex:767609]         emit AdminChanged(address(0), admin);
[codex:767609]     }
[codex:767609] 
[codex:767609]     /**
[codex:767609]      * @notice in the original openzeppelin implementation, transfer() and transferFrom()
[codex:767609]      * did invoke the send and receive hooks, as required by ERC777.
[codex:767609]      * This hooks were removed from super tokens for ERC20 transfers in order to protect
[codex:767609]      * interfacing contracts which don't expect invocations of ERC20 transfers to potentially reenter.
[codex:767609] 
[codex:767609] thinking
[codex:767609] **Continuing process**
[codex:767609] exec
[codex:767609] /bin/bash -lc "sed -n '520,1040p' contracts/contracts/superfluid/SuperToken.sol" in /tmp/codex-multi-k1xvpyma succeeded in 5ms:
[codex:767609]         public virtual override returns (bool)
[codex:767609]     {
[codex:767609]         return _transferFrom(msg.sender, msg.sender, recipient, amount);
[codex:767609]     }
[codex:767609] 
[codex:767609]     function allowance(address account, address spender)
[codex:767609]         public view virtual override returns (uint256)
[codex:767609]     {
[codex:767609]         return _allowances[account][spender];
[codex:767609]     }
[codex:767609] 
[codex:767609]     function approve(address spender, uint256 amount)
[codex:767609]         public virtual override
[codex:767609]         returns (bool)
[codex:767609]     {
[codex:767609]         _approve(msg.sender, spender, amount);
[codex:767609]         return true;
[codex:767609]     }
[codex:767609] 
[codex:767609]     function transferFrom(address holder, address recipient, uint256 amount)
[codex:767609] 
[codex:767609] thinking
[codex:767609] **Inspecting related libraries**
[codex:767609] exec
[codex:767609] /bin/bash -lc "sed -n '1,260p' contracts/contracts/libs/ERC777Helper.sol" in /tmp/codex-multi-k1xvpyma succeeded in 6ms:
[codex:767609] // SPDX-License-Identifier: AGPLv3
[codex:767609] pragma solidity ^0.8.23;
[codex:767609] 
[codex:767609] import { IERC1820Registry } from "@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol";
[codex:767609] 
[codex:767609] /**
[codex:767609]  * @title ERC777 helper library
[codex:767609]  * @author Superfluid
[codex:767609]  */
[codex:767609] library ERC777Helper {
[codex:767609] 
[codex:767609]     IERC1820Registry constant internal _ERC1820_REGISTRY =
[codex:767609]         IERC1820Registry(0x1820a4B7618BdE71Dce8cdc73aAB6C95905faD24);
[codex:767609] 
[codex:767609]     bytes32 constant internal _TOKENS_SENDER_INTERFACE_HASH = keccak256("ERC777TokensSender");
[codex:767609]     bytes32 constant internal _TOKENS_RECIPIENT_INTERFACE_HASH = keccak256("ERC777TokensRecipient");
[codex:767609] 
[codex:767609] 
[codex:767609]     /// @dev ERC777 operators support self structure
[codex:767609]     struct Operators {
[codex:767609] 
[codex:767609] thinking
[codex:767609] **Noticing FixedSizeData mention**
[codex:767609] exec
[codex:767609] /bin/bash -lc "sed -n '1,260p' contracts/contracts/libs/FixedSizeData.sol" in /tmp/codex-multi-k1xvpyma succeeded in 6ms:
[codex:767609] // SPDX-License-Identifier: AGPLv3
[codex:767609] pragma solidity ^0.8.23;
[codex:767609] 
[codex:767609] /**
[codex:767609]  * @title Utilities for fixed size data in storage
[codex:767609]  * @author Superfluid
[codex:767609]  *
[codex:767609]  * When using solidity dynamic array, first word is used to store the length
[codex:767609]  * of the array. For use cases that the length doesn't change, it is better
[codex:767609]  * to use a fixed size data premitive.
[codex:767609]  *
[codex:767609]  * To use this library:
[codex:767609]  * - The pointer to the storage is `slot`, the user could use `keccak256(abi.encode(...))`
[codex:767609]  *   scheme to create collision-free slot ID for locating the data.
[codex:767609]  * - To load data, or erase data and get all gas refund, data length is always required.
[codex:767609]  */
[codex:767609] library FixedSizeData {
[codex:767609] 
[codex:767609]     /**
[codex:767609]      * @dev Store data to the slot at `slot`
[codex:767609] 
[codex:767609] thinking
[codex:767609] **Searching for delegatecall and low-level calls**
[codex:767609] exec
[codex:767609] /bin/bash -lc 'rg -n "delegatecall" contracts/contracts' in /tmp/codex-multi-k1xvpyma exited 1 in 10ms:
[codex:767609] 
[codex:767609] 
[codex:767609] thinking
[codex:767609] **Searching for call usage in first-party code**
[codex:767609] exec
[codex:767609] /bin/bash -lc "rg -n \"\\.call\\b|call\\{\" contracts/contracts" in /tmp/codex-multi-k1xvpyma exited 1 in 9ms:
[codex:767609] 
[codex:767609] 
[codex:767609] 
[codex:767609] 
[codex:767609] thinking
[codex:767609] **Analyzing token contract risks and reentrancy**
[codex:767609] 
[codex:767609] I’m carefully examining potential vulnerabilities in upgrade/downgrade flows, especially reentrancy via external token calls and missing access controls on agreement data functions. I’m also reviewing initialization risks like the public `castrate` function that could brick proxies, plus the effects of large data inputs on storage and the nuances of ERC777 hooks and registry interactions. This is a detailed look at subtle edge cases around token logic and upgrade mechanics.
[codex:767609] thinking
[codex:767609] **Examining reentrancy and access control concerns**
[codex:767609] 
[codex:767609] I’m unpacking how reentrancy might affect token transfers, especially around hooks called before state updates and nested sends, confirming that balance checks seem to prevent overspending despite reentrancy. I’m also reviewing initialization patterns and upgradeability quirks like the public initializer functions and lack of proxy-only checks, plus nuances in how agreement data and token decimals rounding behave under various edge cases. This helps me identify subtle risks related to external calls, state consistency, and contract setup.
[codex:767609] thinking
[codex:767609] **Evaluating upgrade safety and proxy loop hazards**
[codex:767609] 
[codex:767609] I’m focusing on admin logic in UUPS proxies and how setting implementation to another proxy can cause dangerous proxy loops leading to out-of-gas errors. I’m also considering nuanced reentrancy paths through external agreement calls during balance calculations and how unrestricted agreement data writes might affect storage without direct impact. This deepens understanding of upgrade mechanics, proxy pitfalls, and trusted-caller assumptions affecting contract integrity.
[codex:767609] exec
[codex:767609] /bin/bash -lc 'rg --files contracts/contracts' in /tmp/codex-multi-k1xvpyma succeeded in 9ms:
[codex:767609] contracts/contracts/superfluid/SuperToken.sol
[codex:767609] contracts/contracts/superfluid/SuperfluidToken.sol
[codex:767609] contracts/contracts/upgradability/UUPSProxiable.sol
[codex:767609] contracts/contracts/upgradability/UUPSUtils.sol
[codex:767609] contracts/contracts/interfaces/tokens/ISETH.sol
[codex:767609] contracts/contracts/interfaces/superfluid/Definitions.sol
[codex:767609] contracts/contracts/interfaces/superfluid/ISuperApp.sol
[codex:767609] contracts/contracts/interfaces/superfluid/ISuperfluidToken.sol
[codex:767609] contracts/contracts/interfaces/superfluid/ISuperTokenFactory.sol
[codex:767609] contracts/contracts/interfaces/superfluid/ISuperToken.sol
[codex:767609] contracts/contracts/interfaces/superfluid/ISuperAgreement.sol
[codex:767609] contracts/contracts/interfaces/superfluid/ISuperfluidGovernance.sol
[codex:767609] contracts/contracts/interfaces/superfluid/ISuperfluid.sol
[codex:767609] contracts/contracts/interfaces/agreements/IConstantFlowAgreementV1.sol
[codex:767609] contracts/contracts/interfaces/agreements/IInstantDistributionAgreementV1.sol
[codex:767609] contracts/contracts/libs/FixedSizeData.sol
[codex:767609] contracts/contracts/libs/ERC777Helper.sol
[codex:767609] contracts/contracts/interfaces/agreements/gdav1/IGeneralDistributionAgreementV1.sol
[codex:767609] contracts/contracts/interfaces/agreements/gdav1/IPoolNFTBase.sol
[codex:767609] contracts/contracts/interfaces/agreements/gdav1/ISuperfluidPool.sol
[codex:767609] 
[codex:767609] thinking
[codex:767609] **Evaluating Superfluid security concerns**
[codex:767609] 
[codex:767609] I'm carefully investigating potential vulnerabilities in initialization, reentrancy, and upgradeability patterns across Superfluid contracts. There's a complex interplay involving external initializers, proxy takeovers, and token transfer mechanisms that might lead to DoS or admin takeover if misused, though many risks depend on deployment practices rather than explicit code bugs. I'm also weighing subtle issues in agreement calls and operator authorization, looking for any overlooked attack vectors.
[codex:767609] exec
[codex:767609] /bin/bash -lc "sed -n '1,200p' contracts/contracts/upgradability/UUPSProxiable.sol" in /tmp/codex-multi-k1xvpyma succeeded in 5ms:
[codex:767609] // SPDX-License-Identifier: AGPLv3
[codex:767609] pragma solidity ^0.8.23;
[codex:767609] 
[codex:767609] import { UUPSUtils } from "./UUPSUtils.sol";
[codex:767609] import { Initializable } from "@openzeppelin/contracts/proxy/utils/Initializable.sol";
[codex:767609] 
[codex:767609] /**
[codex:767609]  * @title UUPS (Universal Upgradeable Proxy Standard) Proxiable contract.
[codex:767609]  */
[codex:767609] abstract contract UUPSProxiable is Initializable {
[codex:767609] 
[codex:767609]     /**
[codex:767609]      * @dev Get current implementation code address.
[codex:767609]      */
[codex:767609]     function getCodeAddress() public view returns (address codeAddress)
[codex:767609]     {
[codex:767609]         return UUPSUtils.implementation();
[codex:767609]     }
[codex:767609] 
[codex:767609]     function updateCode(address newAddress) external virtual;
[codex:767609] 
[codex:767609] thinking
[codex:767609] **Evaluating upgradeability and initialization risks**
[codex:767609] exec
[codex:767609] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-k1xvpyma succeeded in 5ms:
[codex:767609] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:767609] 
[codex:767609] thinking
[codex:767609] **Summarizing security assessment considerations**
[codex:767609] 
[codex:767609] I'm organizing the security report fields as JSON, thinking about how to handle no findings vs findings cases. Then I'm carefully reviewing potential issues like initialization risks, upgradeability problems, reentrancy, and accounting invariants. I want to highlight critical points like uninitialized proxies, upgrade risks, and trusted agreement assumptions, while preparing to gather exact line numbers to provide concrete evidence in the audit.
[codex:767609] exec
[codex:767609] /bin/bash -lc "nl -ba contracts/contracts/upgradability/UUPSProxiable.sol | sed -n '10,80p'" in /tmp/codex-multi-k1xvpyma succeeded in 6ms:
[codex:767609]     10	abstract contract UUPSProxiable is Initializable {
[codex:767609]     11	
[codex:767609]     12	    /**
[codex:767609]     13	     * @dev Get current implementation code address.
[codex:767609]     14	     */
[codex:767609]     15	    function getCodeAddress() public view returns (address codeAddress)
[codex:767609]     16	    {
[codex:767609]     17	        return UUPSUtils.implementation();
[codex:767609]     18	    }
[codex:767609]     19	
[codex:767609]     20	    function updateCode(address newAddress) external virtual;
[codex:767609]     21	
[codex:767609]     22	    // allows to mark logic contracts as initialized
[codex:767609]     23	    // solhint-disable-next-line no-empty-blocks
[codex:767609]     24	    function castrate() external initializer { }
[codex:767609]     25	
[codex:767609]     26	    /**
[codex:767609]     27	     * @dev Proxiable UUID marker function, this would help to avoid wrong logic
[codex:767609]     28	     *      contract to be used for upgrading.
[codex:767609]     29	     *
[codex:767609] 
[codex:767609] thinking
[codex:767609] **Gathering line numbers for initialize functions**
[codex:767609] exec
[codex:767609] /bin/bash -lc "nl -ba contracts/contracts/superfluid/SuperToken.sol | sed -n '90,200p'" in /tmp/codex-multi-k1xvpyma succeeded in 6ms:
[codex:767609]     90	    // NOTE: Whenever modifying the storage layout here it is important to update the validateStorageLayout
[codex:767609]     91	    // function in its respective mock contract to ensure that it doesn't break anything or lead to unexpected
[codex:767609]     92	    // behaviors/layout when upgrading
[codex:767609]     93	
[codex:767609]     94	    uint256 internal _reserve22;
[codex:767609]     95	    uint256 private _reserve23;
[codex:767609]     96	    uint256 private _reserve24;
[codex:767609]     97	    uint256 private _reserve25;
[codex:767609]     98	    uint256 private _reserve26;
[codex:767609]     99	    uint256 private _reserve27;
[codex:767609]    100	    uint256 private _reserve28;
[codex:767609]    101	    uint256 private _reserve29;
[codex:767609]    102	    uint256 private _reserve30;
[codex:767609]    103	    uint256 internal _reserve31;
[codex:767609]    104	
[codex:767609]    105	    // NOTE: You cannot add more storage here. Refer to CustomSuperTokenBase.sol
[codex:767609]    106	    // to see the hard-coded storage padding used by SETH and PureSuperToken
[codex:767609]    107	
[codex:767609]    108	    constructor(
[codex:767609]    109	        ISuperfluid host,
[codex:767609] 
[codex:767609] thinking
[codex:767609] **Analyzing proxy initialization risks**
[codex:767609] exec
[codex:767609] /bin/bash -lc 'tail -n 20 AUDIT_BUNDLE.txt' in /tmp/codex-multi-k1xvpyma succeeded in 5ms:
[codex:767609]     /// @dev Get implementation address.
[codex:767609]     function implementation() internal view returns (address impl) {
[codex:767609]         assembly { // solium-disable-line
[codex:767609]             impl := sload(_IMPLEMENTATION_SLOT)
[codex:767609]         }
[codex:767609]     }
[codex:767609] 
[codex:767609]     /// @dev Set new implementation address.
[codex:767609]     function setImplementation(address codeAddress) internal {
[codex:767609]         assembly {
[codex:767609]             // solium-disable-line
[codex:767609]             sstore(
[codex:767609]                 _IMPLEMENTATION_SLOT,
[codex:767609]                 codeAddress
[codex:767609]             )
[codex:767609]         }
[codex:767609]     }
[codex:767609] 
[codex:767609] }
[codex:767609] 
[codex:767609] 
[codex:767609] thinking
[codex:767609] **Summarizing security findings and analyzing token transfer logic**
[codex:767609] 
[codex:767609] I'm organizing findings by severity, focusing on upgradeability issues like unprotected initializers and castrate functions that can enable proxy takeover or permanent locking if uninitialized. I’m weighing reentrancy risks in ERC777 hooks but find no exploit due to state checks causing revert on overspend attempts. Also, I'm examining the `operationTransferFrom` parameter ordering, suspecting a potential mix-up between spender and holder based on function signatures and interface expectations. This could be important for correct permission handling and needs closer look.
[codex:767609] exec
[codex:767609] /bin/bash -lc 'rg -n "operationTransferFrom" -n contracts/contracts/interfaces/superfluid/ISuperToken.sol' in /tmp/codex-multi-k1xvpyma succeeded in 7ms:
[codex:767609] 531:    function operationTransferFrom(
[codex:767609] exec
[codex:767609] /bin/bash -lc "sed -n '500,560p' contracts/contracts/interfaces/superfluid/ISuperToken.sol" in /tmp/codex-multi-k1xvpyma succeeded in 5ms:
[codex:767609]     * @custom:modifiers
[codex:767609]     *  - onlyHost
[codex:767609]     */
[codex:767609]     function operationApprove(
[codex:767609]         address account,
[codex:767609]         address spender,
[codex:767609]         uint256 amount
[codex:767609]     ) external;
[codex:767609] 
[codex:767609]     function operationIncreaseAllowance(
[codex:767609]         address account,
[codex:767609]         address spender,
[codex:767609]         uint256 addedValue
[codex:767609]     ) external;
[codex:767609] 
[codex:767609]     function operationDecreaseAllowance(
[codex:767609]         address account,
[codex:767609]         address spender,
[codex:767609]         uint256 subtractedValue
[codex:767609]     ) external;
[codex:767609] 
[codex:767609] thinking
[codex:767609] **Clarifying parameter naming in transferFrom operation**
[codex:767609] exec
[codex:767609] /bin/bash -lc 'rg -n "TokenDowngraded" contracts/contracts/interfaces/superfluid/ISuperToken.sol' in /tmp/codex-multi-k1xvpyma succeeded in 6ms:
[codex:767609] 485:    event TokenDowngraded(
[codex:767609] exec
[codex:767609] /bin/bash -lc "sed -n '470,500p' contracts/contracts/interfaces/superfluid/ISuperToken.sol" in /tmp/codex-multi-k1xvpyma succeeded in 5ms:
[codex:767609]      */
[codex:767609]     function downgrade(uint256 amount) external;
[codex:767609] 
[codex:767609]     /**
[codex:767609]      * @dev Downgrade SuperToken to ERC20 and transfer immediately
[codex:767609]      * @param to The account to receive downgraded tokens
[codex:767609]      * @param amount Number of tokens to be downgraded (in 18 decimals)
[codex:767609]      */
[codex:767609]     function downgradeTo(address to, uint256 amount) external;
[codex:767609] 
[codex:767609]     /**
[codex:767609]      * @dev Token downgrade event
[codex:767609]      * @param account Account whose tokens are downgraded
[codex:767609]      * @param amount Amount of tokens downgraded
[codex:767609]      */
[codex:767609]     event TokenDowngraded(
[codex:767609]         address indexed account,
[codex:767609]         uint256 amount
[codex:767609]     );
[codex:767609] 
[codex:767609] 
[codex:767609] thinking
[codex:767609] **Summarizing security findings and recommendations**
[codex:767609] 
[codex:767609] I’m gathering the main vulnerability to report: unprotected initializer and castrate functions in the SuperToken proxies that pose a takeover or lockout risk if initialization isn’t done atomically at deployment. I’ll produce a JSON structured summary highlighting severity, exploit scenario, recommendations, and file locations referencing specific lines in the code. This balances accuracy with safe caution about deployment risks.
[codex:767609] codex
[codex:767609] {"no_findings":false,"summary":"1 issue found: unprotected initializer/castrate can allow takeover or bricking of uninitialized proxies if initialization is not atomic.","findings":[{"severity":"medium","category":"upgradeability","title":"Unprotected initializer/castrate allow takeover or permanent lock of uninitialized proxies","exploit_scenario":"If a SuperToken proxy is deployed without calling `initialize` in the same transaction, an attacker can front‑run and call `initializeWithAdmin` to set themselves as admin (then upgrade to malicious code) or call `castrate` to set `_initialized` and permanently prevent initialization, effectively bricking the proxy.","recommendation":"Initialize proxies atomically on deployment (e.g., pass initializer calldata to the proxy constructor or use a factory that initializes in the same tx), restrict or remove `castrate` from the proxy surface (e.g., guard it with onlyImplementation/notDelegated), and consider calling `_disableInitializers()` in the implementation constructor to lock the logic contract.","evidence":"Both initializer entrypoints are external and unguarded, and `castrate` is an external initializer callable by anyone.","locations":["contracts/contracts/superfluid/SuperToken.sol:133","contracts/contracts/superfluid/SuperToken.sol:152","contracts/contracts/upgradability/UUPSProxiable.sol:24"]}]}
[codex:767609] tokens used
[codex:767609] 63,652
[codex:767609] {"no_findings":false,"summary":"1 issue found: unprotected initializer/castrate can allow takeover or bricking of uninitialized proxies if initialization is not atomic.","findings":[{"severity":"medium","category":"upgradeability","title":"Unprotected initializer/castrate allow takeover or permanent lock of uninitialized proxies","exploit_scenario":"If a SuperToken proxy is deployed without calling `initialize` in the same transaction, an attacker can front‑run and call `initializeWithAdmin` to set themselves as admin (then upgrade to malicious code) or call `castrate` to set `_initialized` and permanently prevent initialization, effectively bricking the proxy.","recommendation":"Initialize proxies atomically on deployment (e.g., pass initializer calldata to the proxy constructor or use a factory that initializes in the same tx), restrict or remove `castrate` from the proxy surface (e.g., guard it with onlyImplementation/notDelegated), and consider calling `_disableInitializers()` in the implementation constructor to lock the logic contract.","evidence":"Both initializer entrypoints are external and unguarded, and `castrate` is an external initializer callable by anyone.","locations":["contracts/contracts/superfluid/SuperToken.sol:133","contracts/contracts/superfluid/SuperToken.sol:152","contracts/contracts/upgradability/UUPSProxiable.sol:24"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-28T15:47:45.256113+00:00",
        "returncode": 0
    },
    "summary": "1 issue found: unprotected initializer/castrate can allow takeover or bricking of uninitialized proxies if initialization is not atomic.",
    "raw_final": {
        "summary": "1 issue found: unprotected initializer/castrate can allow takeover or bricking of uninitialized proxies if initialization is not atomic.",
        "findings": [
            {
                "title": "Unprotected initializer/castrate allow takeover or permanent lock of uninitialized proxies",
                "category": "upgradeability",
                "evidence": "Both initializer entrypoints are external and unguarded, and `castrate` is an external initializer callable by anyone.",
                "severity": "medium",
                "locations": [
                    "contracts/contracts/superfluid/SuperToken.sol:133",
                    "contracts/contracts/superfluid/SuperToken.sol:152",
                    "contracts/contracts/upgradability/UUPSProxiable.sol:24"
                ],
                "recommendation": "Initialize proxies atomically on deployment (e.g., pass initializer calldata to the proxy constructor or use a factory that initializes in the same tx), restrict or remove `castrate` from the proxy surface (e.g., guard it with onlyImplementation/notDelegated), and consider calling `_disableInitializers()` in the implementation constructor to lock the logic contract.",
                "exploit_scenario": "If a SuperToken proxy is deployed without calling `initialize` in the same transaction, an attacker can front\u2011run and call `initializeWithAdmin` to set themselves as admin (then upgrade to malicious code) or call `castrate` to set `_initialized` and permanently prevent initialization, effectively bricking the proxy."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
2
CALL-family (heavy)
23
EXT*/BALANCE
10
Total opcodes
12495
Flags
create_opcodes_present heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLVALUE
00000006: DUP1
00000007: ISZERO
00000008: PUSH2 0x0010
0000000b: JUMPI
0000000c: PUSH1 0x00
0000000e: DUP1
0000000f: REVERT
00000010: JUMPDEST
00000011: POP
00000012: PUSH1 0x04
00000014: CALLDATASIZE
00000015: LT
00000016: PUSH2 0x0407
00000019: JUMPI
0000001a: PUSH1 0x00
0000001c: CALLDATALOAD
0000001d: PUSH1 0xe0
0000001f: SHR
00000020: DUP1
00000021: PUSH4 0x6c2d9f2f
00000026: GT
00000027: PUSH2 0x0220
0000002a: JUMPI
0000002b: DUP1
0000002c: PUSH4 0xb84cdd4a
00000031: GT
00000032: PUSH2 0x0130
00000035: JUMPI
00000036: DUP1
00000037: PUSH4 0xdd62ed3e
0000003c: GT
0000003d: PUSH2 0x00b8
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0xef43d2c6
00000047: GT
00000048: PUSH2 0x0087
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0xef43d2c6
00000052: EQ
00000053: PUSH2 0x0996
00000056: JUMPI
00000057: DUP1
00000058: PUSH4 0xf5a8b4dd
0000005d: EQ
0000005e: PUSH2 0x09bd
00000061: JUMPI
00000062: DUP1
00000063: PUSH4 0xfad8b32a
00000068: EQ
00000069: PUSH2 0x09e4
0000006c: JUMPI
0000006d: DUP1
0000006e: PUSH4 0xfc673c4f
00000073: EQ
00000074: PUSH2 0x09f7
00000077: JUMPI
00000078: DUP1
00000079: PUSH4 0xfe9d9303
0000007e: EQ
0000007f: PUSH2 0x0a0a
00000082: JUMPI
00000083: PUSH1 0x00
00000085: DUP1
00000086: REVERT
00000087: JUMPDEST
00000088: DUP1
00000089: PUSH4 0xdd62ed3e
0000008e: EQ
0000008f: PUSH2 0x090b
00000092: JUMPI
00000093: DUP1
00000094: PUSH4 0xeb3537cc
00000099: EQ
0000009a: PUSH2 0x0944
0000009d: JUMPI
0000009e: DUP1
0000009f: PUSH4 0xec0d6343
000000a4: EQ
000000a5: PUSH2 0x0972
000000a8: JUMPI
000000a9: DUP1
000000aa: PUSH4 0xee719bc8
000000af: EQ
000000b0: PUSH2 0x0985
000000b3: JUMPI
000000b4: PUSH1 0x00
000000b6: DUP1
000000b7: REVERT
000000b8: JUMPDEST
000000b9: DUP1
000000ba: PUSH4 0xca0c1e7f
000000bf: GT
000000c0: PUSH2 0x00ff
000000c3: JUMPI
000000c4: DUP1
000000c5: PUSH4 0xca0c1e7f
000000ca: EQ
000000cb: PUSH2 0x08ac
000000ce: JUMPI
000000cf: DUP1
000000d0: PUSH4 0xca789464
000000d5: EQ
000000d6: PUSH2 0x08bf
000000d9: JUMPI
000000da: DUP1
000000db: PUSH4 0xcf97256d
000000e0: EQ
000000e1: PUSH2 0x08d2
000000e4: JUMPI
000000e5: DUP1
000000e6: PUSH4 0xd95b6371
000000eb: EQ
000000ec: PUSH2 0x08e5
000000ef: JUMPI
000000f0: DUP1
000000f1: PUSH4 0xd9d078d6
000000f6: EQ
000000f7: PUSH2 0x08f8
000000fa: JUMPI
000000fb: PUSH1 0x00
000000fd: DUP1
000000fe: REVERT
000000ff: JUMPDEST
00000100: DUP1
00000101: PUSH4 0xb84cdd4a
00000106: EQ
00000107: PUSH2 0x0860
0000010a: JUMPI
0000010b: DUP1
0000010c: PUSH4 0xbb0d196e
00000111: EQ
00000112: PUSH2 0x0873
00000115: JUMPI
00000116: DUP1
00000117: PUSH4 0xc68d4283
0000011c: EQ
0000011d: PUSH2 0x0886
00000120: JUMPI
00000121: DUP1
00000122: PUSH4 0xc780fd82
00000127: EQ
00000128: PUSH2 0x0899
0000012b: JUMPI
0000012c: PUSH1 0x00
0000012e: DUP1
0000012f: REVERT
00000130: JUMPDEST
00000131: DUP1
00000132: PUSH4 0x95d89b41
00000137: GT
00000138: PUSH2 0x01b3
0000013b: JUMPI
0000013c: DUP1
0000013d: PUSH4 0xa1b2bf8b
00000142: GT
00000143: PUSH2 0x0182
00000146: JUMPI
00000147: DUP1
00000148: PUSH4 0xa1b2bf8b
0000014d: EQ
0000014e: PUSH2 0x07ed
00000151: JUMPI
00000152: DUP1
00000153: PUSH4 0xa3a7e7f3
00000158: EQ
00000159: PUSH2 0x0800
0000015c: JUMPI
0000015d: DUP1
0000015e: PUSH4 0xa457c2d7
00000163: EQ
00000164: PUSH2 0x0813
00000167: JUMPI
00000168: DUP1
00000169: PUSH4 0xa9059cbb
0000016e: EQ
0000016f: PUSH2 0x0826
00000172: JUMPI
00000173: DUP1
00000174: PUSH4 0xb20db1ac
00000179: EQ
0000017a: PUSH2 0x0839
0000017d: JUMPI
0000017e: PUSH1 0x00
00000180: DUP1
00000181: REVERT
00000182: JUMPDEST
00000183: DUP1
00000184: PUSH4 0x95d89b41
00000189: EQ
0000018a: PUSH2 0x07b7
0000018d: JUMPI
0000018e: DUP1
0000018f: PUSH4 0x9903ad38
00000194: EQ
00000195: PUSH2 0x07bf
00000198: JUMPI
00000199: DUP1
0000019a: PUSH4 0x9bd9bbc6
0000019f: EQ
000001a0: PUSH2 0x07c7
000001a3: JUMPI
000001a4: DUP1
000001a5: PUSH4 0x9d876741
000001aa: EQ
000001ab: PUSH2 0x07da
000001ae: JUMPI
000001af: PUSH1 0x00
000001b1: DUP1
000001b2: REVERT
000001b3: JUMPDEST
000001b4: DUP1
000001b5: PUSH4 0x83ba2525
000001ba: GT
000001bb: PUSH2 0x01ef
000001be: JUMPI
000001bf: DUP1
000001c0: PUSH4 0x83ba2525
000001c5: EQ
000001c6: PUSH2 0x076c
000001c9: JUMPI
000001ca: DUP1
000001cb: PUSH4 0x8f283970
000001d0: EQ
000001d1: PUSH2 0x077f
000001d4: JUMPI
000001d5: DUP1
000001d6: PUSH4 0x92081a47
000001db: EQ
000001dc: PUSH2 0x0792
000001df: JUMPI
000001e0: DUP1
000001e1: PUSH4 0x959b8c3f
000001e6: EQ
000001e7: PUSH2 0x07a4
000001ea: JUMPI
000001eb: PUSH1 0x00
000001ed: DUP1
000001ee: REVERT
000001ef: JUMPDEST
000001f0: DUP1
000001f1: PUSH4 0x6c2d9f2f
000001f6: EQ
000001f7: PUSH2 0x072b
000001fa: JUMPI
000001fb: DUP1
000001fc: PUSH4 0x6e9960c3
00000201: EQ
00000202: PUSH2 0x073e
00000205: JUMPI
00000206: DUP1
00000207: PUSH4 0x70a08231
0000020c: EQ
0000020d: PUSH2 0x0746
00000210: JUMPI
00000211: DUP1
00000212: PUSH4 0x79359f6f
00000217: EQ
00000218: PUSH2 0x0759
0000021b: JUMPI
0000021c: PUSH1 0x00
0000021e: DUP1
0000021f: REVERT
00000220: JUMPDEST
00000221: DUP1
00000222: PUSH4 0x386fa221
00000227: GT
00000228: PUSH2 0x031b
0000022b: JUMPI
0000022c: DUP1
0000022d: PUSH4 0x4b61cc33
00000232: GT
00000233: PUSH2 0x02ae
00000236: JUMPI
00000237: DUP1
00000238: PUSH4 0x556f0dc7
0000023d: GT
0000023e: PUSH2 0x027d
00000241: JUMPI
00000242: DUP1
00000243: PUSH4 0x556f0dc7
00000248: EQ
00000249: PUSH2 0x06d8
0000024c: JUMPI
0000024d: DUP1
0000024e: PUSH4 0x5b9d09cc
00000253: EQ
00000254: PUSH2 0x06df
00000257: JUMPI
00000258: DUP1
00000259: PUSH4 0x62aa5287
0000025e: EQ
0000025f: PUSH2 0x06f2
00000262: JUMPI
00000263: DUP1
00000264: PUSH4 0x62ad1b83
00000269: EQ
0000026a: PUSH2 0x0705
0000026d: JUMPI
0000026e: DUP1
0000026f: PUSH4 0x66a12fb6
00000274: EQ
00000275: PUSH2 0x0718
00000278: JUMPI
00000279: PUSH1 0x00
0000027b: DUP1
0000027c: REVERT
0000027d: JUMPDEST
0000027e: DUP1
0000027f: PUSH4 0x4b61cc33
00000284: EQ
00000285: PUSH2 0x0663
00000288: JUMPI
00000289: DUP1
0000028a: PUSH4 0x4c5c0c85
0000028f: EQ
00000290: PUSH2 0x0683
00000293: JUMPI
00000294: DUP1
00000295: PUSH4 0x50d75d25
0000029a: EQ
0000029b: PUSH2 0x06aa
0000029e: JUMPI
0000029f: DUP1
000002a0: PUSH4 0x52d1902d
000002a5: EQ
000002a6: PUSH2 0x06b2
000002a9: JUMPI
000002aa: PUSH1 0x00
000002ac: DUP1
000002ad: REVERT
000002ae: JUMPDEST
000002af: DUP1
000002b0: PUSH4 0x45977d03
000002b5: GT
000002b6: PUSH2 0x02ea
000002b9: JUMPI
000002ba: DUP1
000002bb: PUSH4 0x45977d03
000002c0: EQ
000002c1: PUSH2 0x0617
000002c4: JUMPI
000002c5: DUP1
000002c6: PUSH4 0x46951954
000002cb: EQ
000002cc: PUSH2 0x062a
000002cf: JUMPI
000002d0: DUP1
000002d1: PUSH4 0x47ba7ad1
000002d6: EQ
000002d7: PUSH2 0x063d
000002da: JUMPI
000002db: DUP1
000002dc: PUSH4 0x4b2763b3
000002e1: EQ
000002e2: PUSH2 0x0650
000002e5: JUMPI
000002e6: PUSH1 0x00
000002e8: DUP1
000002e9: REVERT
000002ea: JUMPDEST
000002eb: DUP1
000002ec: PUSH4 0x386fa221
000002f1: EQ
000002f2: PUSH2 0x05cb
000002f5: JUMPI
000002f6: DUP1
000002f7: PUSH4 0x39509351
000002fc: EQ
000002fd: PUSH2 0x05de
00000300: JUMPI
00000301: DUP1
00000302: PUSH4 0x41b706be
00000307: EQ
00000308: PUSH2 0x05f1
0000030b: JUMPI
0000030c: DUP1
0000030d: PUSH4 0x42fe0980
00000312: EQ
00000313: PUSH2 0x0604
00000316: JUMPI
00000317: PUSH1 0x00
00000319: DUP1
0000031a: REVERT
0000031b: JUMPDEST
0000031c: DUP1
0000031d: PUSH4 0x1863e809
00000322: GT
00000323: PUSH2 0x039e
00000326: JUMPI
00000327: DUP1
00000328: PUSH4 0x245887fc
0000032d: GT
0000032e: PUSH2 0x036d
00000331: JUMPI
00000332: DUP1
00000333: PUSH4 0x245887fc
00000338: EQ
00000339: PUSH2 0x0535
0000033c: JUMPI
0000033d: DUP1
0000033e: PUSH4 0x27048397
00000343: EQ
00000344: PUSH2 0x0548
00000347: JUMPI
00000348: DUP1
00000349: PUSH4 0x282a050b
0000034e: EQ
0000034f: PUSH2 0x055b
00000352: JUMPI
00000353: DUP1
00000354: PUSH4 0x2ec8eec7
00000359: EQ
0000035a: PUSH2 0x0583
0000035d: JUMPI
0000035e: DUP1
0000035f: PUSH4 0x313ce567
00000364: EQ
00000365: PUSH2 0x05b6
00000368: JUMPI
00000369: PUSH1 0x00
0000036b: DUP1
0000036c: REVERT
0000036d: JUMPDEST
0000036e: DUP1
0000036f: PUSH4 0x1863e809
00000374: EQ
00000375: PUSH2 0x04c2
00000378: JUMPI
00000379: DUP1
0000037a: PUSH4 0x1ae88ffc
0000037f: EQ
00000380: PUSH2 0x04d5
00000383: JUMPI
00000384: DUP1
00000385: PUSH4 0x20bc4425
0000038a: EQ
0000038b: PUSH2 0x04e8
0000038e: JUMPI
0000038f: DUP1
00000390: PUSH4 0x23b872dd
00000395: EQ
00000396: PUSH2 0x0522
00000399: JUMPI
0000039a: PUSH1 0x00
0000039c: DUP1
0000039d: REVERT
0000039e: JUMPDEST
0000039f: DUP1
000003a0: PUSH4 0x11bcc81e
000003a5: GT
000003a6: PUSH2 0x03da
000003a9: JUMPI
000003aa: DUP1
000003ab: PUSH4 0x11bcc81e
000003b0: EQ
000003b1: PUSH2 0x0477
000003b4: JUMPI
000003b5: DUP1
000003b6: PUSH4 0x12a6a3f8
000003bb: EQ
000003bc: PUSH2 0x048a
000003bf: JUMPI
000003c0: DUP1
000003c1: PUSH4 0x16d055d6
000003c6: EQ
000003c7: PUSH2 0x049d
000003ca: JUMPI
000003cb: DUP1
000003cc: PUSH4 0x18160ddd
000003d1: EQ
000003d2: PUSH2 0x04b0
000003d5: JUMPI
000003d6: PUSH1 0x00
000003d8: DUP1
000003d9: REVERT
000003da: JUMPDEST
000003db: DUP1
000003dc: PUSH4 0x06e48538
000003e1: EQ
000003e2: PUSH2 0x040c
000003e5: JUMPI
000003e6: DUP1
000003e7: PUSH4 0x06fdde03
000003ec: EQ
000003ed: PUSH2 0x042a
000003f0: JUMPI
000003f1: DUP1
000003f2: PUSH4 0x090c415e
000003f7: EQ
000003f8: PUSH2 0x043f
000003fb: JUMPI
000003fc: DUP1
000003fd: PUSH4 0x095ea7b3
00000402: EQ
00000403: PUSH2 0x0454
00000406: JUMPI
00000407: JUMPDEST
00000408: PUSH1 0x00
0000040a: DUP1
0000040b: REVERT
0000040c: JUMPDEST
0000040d: PUSH2 0x0414
00000410: PUSH2 0x0a1d
00000413: JUMP
00000414: JUMPDEST
00000415: PUSH1 0x40
00000417: MLOAD
00000418: PUSH2 0x0421
0000041b: SWAP2
0000041c: SWAP1
0000041d: PUSH2 0x3e47
00000420: JUMP
00000421: JUMPDEST
00000422: PUSH1 0x40
00000424: MLOAD
00000425: DUP1
00000426: SWAP2
00000427: SUB
00000428: SWAP1
00000429: RETURN
0000042a: JUMPDEST
0000042b: PUSH2 0x0432
0000042e: PUSH2 0x0a2e
00000431: JUMP
00000432: JUMPDEST
00000433: PUSH1 0x40
00000435: MLOAD
00000436: PUSH2 0x0421
00000439: SWAP2
0000043a: SWAP1
0000043b: PUSH2 0x3ee3
0000043e: JUMP
0000043f: JUMPDEST
00000440: PUSH2 0x0452
00000443: PUSH2 0x044d
00000446: CALLDATASIZE
00000447: PUSH1 0x04
00000449: PUSH2 0x3f56
0000044c: JUMP
0000044d: JUMPDEST
0000044e: PUSH2 0x0ac0
00000451: JUMP
00000452: JUMPDEST
00000453: STOP
00000454: JUMPDEST
00000455: PUSH2 0x0467
00000458: PUSH2 0x0462
0000045b: CALLDATASIZE
0000045c: PUSH1 0x04
0000045e: PUSH2 0x3fb1
00000461: JUMP
00000462: JUMPDEST
00000463: PUSH2 0x0b73
00000466: JUMP
00000467: JUMPDEST
00000468: PUSH1 0x40
0000046a: MLOAD
0000046b: SWAP1
0000046c: ISZERO
0000046d: ISZERO
0000046e: DUP2
0000046f: MSTORE
00000470: PUSH1 0x20
00000472: ADD
00000473: PUSH2 0x0421
00000476: JUMP
00000477: JUMPDEST
00000478: PUSH2 0x0452
0000047b: PUSH2 0x0485
0000047e: CALLDATASIZE
0000047f: PUSH1 0x04
00000481: PUSH2 0x3fdd
00000484: JUMP
00000485: JUMPDEST
00000486: PUSH2 0x0b8a
00000489: JUMP
0000048a: JUMPDEST
0000048b: PUSH2 0x0452
0000048e: PUSH2 0x0498
00000491: CALLDATASIZE
00000492: PUSH1 0x04
00000494: PUSH2 0x3ff6
00000497: JUMP
00000498: JUMPDEST
00000499: PUSH2 0x0bb9
0000049c: JUMP
0000049d: JUMPDEST
0000049e: PUSH2 0x0452
000004a1: PUSH2 0x04ab
000004a4: CALLDATASIZE
000004a5: PUSH1 0x04
000004a7: PUSH2 0x4041
000004aa: JUMP
000004ab: JUMPDEST
000004ac: PUSH2 0x0c9c
000004af: JUMP
000004b0: JUMPDEST
000004b1: PUSH1 0x03
000004b3: SLOAD
000004b4: JUMPDEST
000004b5: PUSH1 0x40
000004b7: MLOAD
000004b8: SWAP1
000004b9: DUP2
000004ba: MSTORE
000004bb: PUSH1 0x20
000004bd: ADD
000004be: PUSH2 0x0421
000004c1: JUMP
000004c2: JUMPDEST
000004c3: PUSH2 0x0452
000004c6: PUSH2 0x04d0
000004c9: CALLDATASIZE
000004ca: PUSH1 0x04
000004cc: PUSH2 0x4155
000004cf: JUMP
000004d0: JUMPDEST
000004d1: PUSH2 0x0cf8
000004d4: JUMP
000004d5: JUMPDEST
000004d6: PUSH2 0x0452
000004d9: PUSH2 0x04e3
000004dc: CALLDATASIZE
000004dd: PUSH1 0x04
000004df: PUSH2 0x41e7
000004e2: JUMP
000004e3: JUMPDEST
000004e4: PUSH2 0x102b
000004e7: JUMP
000004e8: JUMPDEST
000004e9: PUSH32 0x0000000000000000000000004e583d9390082b65bef884b629dfa426114ced6d
0000050a: JUMPDEST
0000050b: PUSH1 0x40
0000050d: MLOAD
0000050e: PUSH1 0x01
00000510: PUSH1 0x01
00000512: PUSH1 0xa0
00000514: SHL
00000515: SUB
00000516: SWAP1
00000517: SWAP2
00000518: AND
00000519: DUP2
0000051a: MSTORE
0000051b: PUSH1 0x20
0000051d: ADD
0000051e: PUSH2 0x0421
00000521: JUMP
00000522: JUMPDEST
00000523: PUSH2 0x0467
00000526: PUSH2 0x0530
00000529: CALLDATASIZE
0000052a: PUSH1 0x04
0000052c: PUSH2 0x41e7
0000052f: JUMP
00000530: JUMPDEST
00000531: PUSH2 0x10a5
00000534: JUMP
00000535: JUMPDEST
00000536: PUSH2 0x0452
00000539: PUSH2 0x0543
0000053c: CALLDATASIZE
0000053d: PUSH1 0x04
0000053f: PUSH2 0x3fb1
00000542: JUMP
00000543: JUMPDEST
00000544: PUSH2 0x10bb
00000547: JUMP
00000548: JUMPDEST
00000549: PUSH2 0x0452
0000054c: PUSH2 0x0556
0000054f: CALLDATASIZE
00000550: PUSH1 0x04
00000552: PUSH2 0x4228
00000555: JUMP
00000556: JUMPDEST
00000557: PUSH2 0x1134
0000055a: JUMP
0000055b: JUMPDEST
0000055c: PUSH2 0x056e
0000055f: PUSH2 0x0569
00000562: CALLDATASIZE
00000563: PUSH1 0x04
00000565: PUSH2 0x3fdd
00000568: JUMP
00000569: JUMPDEST
0000056a: PUSH2 0x11d0
0000056d: JUMP
0000056e: JUMPDEST
0000056f: PUSH1 0x40
00000571: DUP1
00000572: MLOAD
00000573: SWAP3
00000574: DUP4
00000575: MSTORE
00000576: PUSH1 0x20
00000578: DUP4
00000579: ADD
0000057a: SWAP2
0000057b: SWAP1
0000057c: SWAP2
0000057d: MSTORE
0000057e: ADD
0000057f: PUSH2 0x0421
00000582: JUMP
00000583: JUMPDEST
00000584: PUSH2 0x0596
00000587: PUSH2 0x0591
0000058a: CALLDATASIZE
0000058b: PUSH1 0x04
0000058d: PUSH2 0x424a
00000590: JUMP
00000591: JUMPDEST
00000592: PUSH2 0x11e5
00000595: JUMP
00000596: JUMPDEST
00000597: PUSH1 0x40
00000599: DUP1
0000059a: MLOAD
0000059b: SWAP5
0000059c: DUP6
0000059d: MSTORE
0000059e: PUSH1 0x20
000005a0: DUP6
000005a1: ADD
000005a2: SWAP4
000005a3: SWAP1
000005a4: SWAP4
000005a5: MSTORE
000005a6: SWAP2
000005a7: DUP4
000005a8: ADD
000005a9: MSTORE
000005aa: PUSH1 0x60
000005ac: DUP3
000005ad: ADD
000005ae: MSTORE
000005af: PUSH1 0x80
000005b1: ADD
000005b2: PUSH2 0x0421
000005b5: JUMP
000005b6: JUMPDEST
000005b7: PUSH1 0x12
000005b9: JUMPDEST
000005ba: PUSH1 0x40
000005bc: MLOAD
000005bd: PUSH1 0xff
000005bf: SWAP1
000005c0: SWAP2
000005c1: AND
000005c2: DUP2
000005c3: MSTORE
000005c4: PUSH1 0x20
000005c6: ADD
000005c7: PUSH2 0x0421
000005ca: JUMP
000005cb: JUMPDEST
000005cc: PUSH2 0x0414
000005cf: PUSH2 0x05d9
000005d2: CALLDATASIZE
000005d3: PUSH1 0x04
000005d5: PUSH2 0x424a
000005d8: JUMP
000005d9: JUMPDEST
000005da: PUSH2 0x1288
000005dd: JUMP
000005de: JUMPDEST
000005df: PUSH2 0x0467
000005e2: PUSH2 0x05ec
000005e5: CALLDATASIZE
000005e6: PUSH1 0x04
000005e8: PUSH2 0x3fb1
000005eb: JUMP
000005ec: JUMPDEST
000005ed: PUSH2 0x132b
000005f0: JUMP
000005f1: JUMPDEST
000005f2: PUSH2 0x0452
000005f5: PUSH2 0x05ff
000005f8: CALLDATASIZE
000005f9: PUSH1 0x04
000005fb: PUSH2 0x4041
000005fe: JUMP
000005ff: JUMPDEST
00000600: PUSH2 0x1367
00000603: JUMP
00000604: JUMPDEST
00000605: PUSH2 0x0452
00000608: PUSH2 0x0612
0000060b: CALLDATASIZE
0000060c: PUSH1 0x04
0000060e: PUSH2 0x42be
00000611: JUMP
00000612: JUMPDEST
00000613: PUSH2 0x1393
00000616: JUMP
00000617: JUMPDEST
00000618: PUSH2 0x0452
0000061b: PUSH2 0x0625
0000061e: CALLDATASIZE
0000061f: PUSH1 0x04
00000621: PUSH2 0x3fdd
00000624: JUMP
00000625: JUMPDEST
00000626: PUSH2 0x1474
00000629: JUMP
0000062a: JUMPDEST
0000062b: PUSH2 0x0452
0000062e: PUSH2 0x0638
00000631: CALLDATASIZE
00000632: PUSH1 0x04
00000634: PUSH2 0x424a
00000637: JUMP
00000638: JUMPDEST
00000639: PUSH2 0x14a0
0000063c: JUMP
0000063d: JUMPDEST
0000063e: PUSH2 0x0452
00000641: PUSH2 0x064b
00000644: CALLDATASIZE
00000645: PUSH1 0x04
00000647: PUSH2 0x41e7
0000064a: JUMP
0000064b: JUMPDEST
0000064c: PUSH2 0x1527
0000064f: JUMP
00000650: JUMPDEST
00000651: PUSH2 0x0452
00000654: PUSH2 0x065e
00000657: CALLDATASIZE
00000658: PUSH1 0x04
0000065a: PUSH2 0x41e7
0000065d: JUMP
0000065e: JUMPDEST
0000065f: PUSH2 0x159c
00000662: JUMP
00000663: JUMPDEST
00000664: PUSH2 0x0676
00000667: PUSH2 0x0671
0000066a: CALLDATASIZE
0000066b: PUSH1 0x04
0000066d: PUSH2 0x4354
00000670: JUMP
00000671: JUMPDEST
00000672: PUSH2 0x161e
00000675: JUMP
00000676: JUMPDEST
00000677: PUSH1 0x40
00000679: MLOAD
0000067a: PUSH2 0x0421
0000067d: SWAP2
0000067e: SWAP1
0000067f: PUSH2 0x439a
00000682: JUMP
00000683: JUMPDEST
00000684: PUSH2 0x050a
00000687: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
000006a8: DUP2
000006a9: JUMP
000006aa: JUMPDEST
000006ab: PUSH2 0x050a
000006ae: PUSH2 0x1663
000006b1: JUMP
000006b2: JUMPDEST
000006b3: PUSH32 0x6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019
000006d4: PUSH2 0x04b4
000006d7: JUMP
000006d8: JUMPDEST
000006d9: PUSH1 0x01
000006db: PUSH2 0x04b4
000006de: JUMP
000006df: JUMPDEST
000006e0: PUSH2 0x0452
000006e3: PUSH2 0x06ed
000006e6: CALLDATASIZE
000006e7: PUSH1 0x04
000006e9: PUSH2 0x43d2
000006ec: JUMP
000006ed: JUMPDEST
000006ee: PUSH2 0x168d
000006f1: JUMP
000006f2: JUMPDEST
000006f3: PUSH2 0x0452
000006f6: PUSH2 0x0700
000006f9: CALLDATASIZE
000006fa: PUSH1 0x04
000006fc: PUSH2 0x41e7
000006ff: JUMP
00000700: JUMPDEST
00000701: PUSH2 0x16e4
00000704: JUMP
00000705: JUMPDEST
00000706: PUSH2 0x0452
00000709: PUSH2 0x0713
0000070c: CALLDATASIZE
0000070d: PUSH1 0x04
0000070f: PUSH2 0x4421
00000712: JUMP
00000713: JUMPDEST
00000714: PUSH2 0x1738
00000717: JUMP
00000718: JUMPDEST
00000719: PUSH2 0x0452
0000071c: PUSH2 0x0726
0000071f: CALLDATASIZE
00000720: PUSH1 0x04
00000722: PUSH2 0x41e7
00000725: JUMP
00000726: JUMPDEST
00000727: PUSH2 0x17e6
0000072a: JUMP
0000072b: JUMPDEST
0000072c: PUSH2 0x0676
0000072f: PUSH2 0x0739
00000732: CALLDATASIZE
00000733: PUSH1 0x04
00000735: PUSH2 0x44c3
00000738: JUMP
00000739: JUMPDEST
0000073a: PUSH2 0x1806
0000073d: JUMP
0000073e: JUMPDEST
0000073f: PUSH2 0x050a
00000742: PUSH2 0x1848
00000745: JUMP
00000746: JUMPDEST
00000747: PUSH2 0x04b4
0000074a: PUSH2 0x0754
0000074d: CALLDATASIZE
0000074e: PUSH1 0x04
00000750: PUSH2 0x424a
00000753: JUMP
00000754: JUMPDEST
00000755: PUSH2 0x1860
00000758: JUMP
00000759: JUMPDEST
0000075a: PUSH2 0x0467
0000075d: PUSH2 0x0767
00000760: CALLDATASIZE
00000761: PUSH1 0x04
00000763: PUSH2 0x424a
00000766: JUMP
00000767: JUMPDEST
00000768: PUSH2 0x1889
0000076b: JUMP
0000076c: JUMPDEST
0000076d: PUSH2 0x0452
00000770: PUSH2 0x077a
00000773: CALLDATASIZE
00000774: PUSH1 0x04
00000776: PUSH2 0x3fb1
00000779: JUMP
0000077a: JUMPDEST
0000077b: PUSH2 0x1911
0000077e: JUMP
0000077f: JUMPDEST
00000780: PUSH2 0x0452
00000783: PUSH2 0x078d
00000786: CALLDATASIZE
00000787: PUSH1 0x04
00000789: PUSH2 0x424a
0000078c: JUMP
0000078d: JUMPDEST
0000078e: PUSH2 0x193d
00000791: JUMP
00000792: JUMPDEST
00000793: PUSH1 0x0e
00000795: SLOAD
00000796: PUSH1 0x01
00000798: PUSH1 0xa0
0000079a: SHL
0000079b: SWAP1
0000079c: DIV
0000079d: PUSH1 0xff
0000079f: AND
000007a0: PUSH2 0x05b9
000007a3: JUMP
000007a4: JUMPDEST
000007a5: PUSH2 0x0452
000007a8: PUSH2 0x07b2
000007ab: CALLDATASIZE
000007ac: PUSH1 0x04
000007ae: PUSH2 0x424a
000007b1: JUMP
000007b2: JUMPDEST
000007b3: PUSH2 0x1a31
000007b6: JUMP
000007b7: JUMPDEST
000007b8: PUSH2 0x0432
000007bb: PUSH2 0x1a82
000007be: JUMP
000007bf: JUMPDEST
000007c0: PUSH2 0x0452
000007c3: PUSH2 0x1a91
000007c6: JUMP
000007c7: JUMPDEST
000007c8: PUSH2 0x0452
000007cb: PUSH2 0x07d5
000007ce: CALLDATASIZE
000007cf: PUSH1 0x04
000007d1: PUSH2 0x43d2
000007d4: JUMP
000007d5: JUMPDEST
000007d6: PUSH2 0x1b53
000007d9: JUMP
000007da: JUMPDEST
000007db: PUSH2 0x0452
000007de: PUSH2 0x07e8
000007e1: CALLDATASIZE
000007e2: PUSH1 0x04
000007e4: PUSH2 0x44f8
000007e7: JUMP
000007e8: JUMPDEST
000007e9: PUSH2 0x1ba7
000007ec: JUMP
000007ed: JUMPDEST
000007ee: PUSH2 0x0452
000007f1: PUSH2 0x07fb
000007f4: CALLDATASIZE
000007f5: PUSH1 0x04
000007f7: PUSH2 0x3ff6
000007fa: JUMP
000007fb: JUMPDEST
000007fc: PUSH2 0x1bed
000007ff: JUMP
00000800: JUMPDEST
00000801: PUSH2 0x0452
00000804: PUSH2 0x080e
00000807: CALLDATASIZE
00000808: PUSH1 0x04
0000080a: PUSH2 0x424a
0000080d: JUMP
0000080e: JUMPDEST
0000080f: PUSH2 0x1c97
00000812: JUMP
00000813: JUMPDEST
00000814: PUSH2 0x0467
00000817: PUSH2 0x0821
0000081a: CALLDATASIZE
0000081b: PUSH1 0x04
0000081d: PUSH2 0x3fb1
00000820: JUMP
00000821: JUMPDEST
00000822: PUSH2 0x1cab
00000825: JUMP
00000826: JUMPDEST
00000827: PUSH2 0x0467
0000082a: PUSH2 0x0834
0000082d: CALLDATASIZE
0000082e: PUSH1 0x04
00000830: PUSH2 0x3fb1
00000833: JUMP
00000834: JUMPDEST
00000835: PUSH2 0x1cfa
00000838: JUMP
00000839: JUMPDEST
0000083a: PUSH2 0x050a
0000083d: PUSH32 0x0000000000000000000000000043d7c85c8b96a49a72a92c0b48cdc4720437d7
0000085e: DUP2
0000085f: JUMP
00000860: JUMPDEST
00000861: PUSH2 0x0467
00000864: PUSH2 0x086e
00000867: CALLDATASIZE
00000868: PUSH1 0x04
0000086a: PUSH2 0x3fb1
0000086d: JUMP
0000086e: JUMPDEST
0000086f: PUSH2 0x1d08
00000872: JUMP
00000873: JUMPDEST
00000874: PUSH2 0x0467
00000877: PUSH2 0x0881
0000087a: CALLDATASIZE
0000087b: PUSH1 0x04
0000087d: PUSH2 0x424a
00000880: JUMP
00000881: JUMPDEST
00000882: PUSH2 0x1d59
00000885: JUMP
00000886: JUMPDEST
00000887: PUSH2 0x0452
0000088a: PUSH2 0x0894
0000088d: CALLDATASIZE
0000088e: PUSH1 0x04
00000890: PUSH2 0x44f8
00000893: JUMP
00000894: JUMPDEST
00000895: PUSH2 0x1de1
00000898: JUMP
00000899: JUMPDEST
0000089a: PUSH2 0x0452
0000089d: PUSH2 0x08a7
000008a0: CALLDATASIZE
000008a1: PUSH1 0x04
000008a3: PUSH2 0x41e7
000008a6: JUMP
000008a7: JUMPDEST
000008a8: PUSH2 0x1e29
000008ab: JUMP
000008ac: JUMPDEST
000008ad: PUSH2 0x0452
000008b0: PUSH2 0x08ba
000008b3: CALLDATASIZE
000008b4: PUSH1 0x04
000008b6: PUSH2 0x4550
000008b9: JUMP
000008ba: JUMPDEST
000008bb: PUSH2 0x1ec1
000008be: JUMP
000008bf: JUMPDEST
000008c0: PUSH2 0x0452
000008c3: PUSH2 0x08cd
000008c6: CALLDATASIZE
000008c7: PUSH1 0x04
000008c9: PUSH2 0x3fb1
000008cc: JUMP
000008cd: JUMPDEST
000008ce: PUSH2 0x1f29
000008d1: JUMP
000008d2: JUMPDEST
000008d3: PUSH2 0x0452
000008d6: PUSH2 0x08e0
000008d9: CALLDATASIZE
000008da: PUSH1 0x04
000008dc: PUSH2 0x3fb1
000008df: JUMP
000008e0: JUMPDEST
000008e1: PUSH2 0x1f9e
000008e4: JUMP
000008e5: JUMPDEST
000008e6: PUSH2 0x0467
000008e9: PUSH2 0x08f3
000008ec: CALLDATASIZE
000008ed: PUSH1 0x04
000008ef: PUSH2 0x45bb
000008f2: JUMP
000008f3: JUMPDEST
000008f4: PUSH2 0x2087
000008f7: JUMP
000008f8: JUMPDEST
000008f9: PUSH2 0x0467
000008fc: PUSH2 0x0906
000008ff: CALLDATASIZE
00000900: PUSH1 0x04
00000902: PUSH2 0x3fb1
00000905: JUMP
00000906: JUMPDEST
00000907: PUSH2 0x2095
0000090a: JUMP
0000090b: JUMPDEST
0000090c: PUSH2 0x04b4
0000090f: PUSH2 0x0919
00000912: CALLDATASIZE
00000913: PUSH1 0x04
00000915: PUSH2 0x45bb
00000918: JUMP
00000919: JUMPDEST
0000091a: PUSH1 0x01
0000091c: PUSH1 0x01
0000091e: PUSH1 0xa0
00000920: SHL
00000921: SUB
00000922: SWAP2
00000923: DUP3
00000924: AND
00000925: PUSH1 0x00
00000927: SWAP1
00000928: DUP2
00000929: MSTORE
0000092a: PUSH1 0x11
0000092c: PUSH1 0x20
0000092e: SWAP1
0000092f: DUP2
00000930: MSTORE
00000931: PUSH1 0x40
00000933: DUP1
00000934: DUP4
00000935: KECCAK256
00000936: SWAP4
00000937: SWAP1
00000938: SWAP5
00000939: AND
0000093a: DUP3
0000093b: MSTORE
0000093c: SWAP2
0000093d: SWAP1
0000093e: SWAP2
0000093f: MSTORE
00000940: KECCAK256
00000941: SLOAD
00000942: SWAP1
00000943: JUMP
00000944: JUMPDEST
00000945: PUSH2 0x0957
00000948: PUSH2 0x0952
0000094b: CALLDATASIZE
0000094c: PUSH1 0x04
0000094e: PUSH2 0x3fb1
00000951: JUMP
00000952: JUMPDEST
00000953: PUSH2 0x20af
00000956: JUMP
00000957: JUMPDEST
00000958: PUSH1 0x40
0000095a: DUP1
0000095b: MLOAD
0000095c: SWAP4
0000095d: DUP5
0000095e: MSTORE
0000095f: PUSH1 0x20
00000961: DUP5
00000962: ADD
00000963: SWAP3
00000964: SWAP1
00000965: SWAP3
00000966: MSTORE
00000967: SWAP1
00000968: DUP3
00000969: ADD
0000096a: MSTORE
0000096b: PUSH1 0x60
0000096d: ADD
0000096e: PUSH2 0x0421
00000971: JUMP
00000972: JUMPDEST
00000973: PUSH2 0x0452
00000976: PUSH2 0x0980
00000979: CALLDATASIZE
0000097a: PUSH1 0x04
0000097c: PUSH2 0x45f4
0000097f: JUMP
00000980: JUMPDEST
00000981: PUSH2 0x21e3
00000984: JUMP
00000985: JUMPDEST
00000986: PUSH1 0x0e
00000988: SLOAD
00000989: PUSH1 0x01
0000098b: PUSH1 0x01
0000098d: PUSH1 0xa0
0000098f: SHL
00000990: SUB
00000991: AND
00000992: PUSH2 0x050a
00000995: JUMP
00000996: JUMPDEST
00000997: PUSH2 0x050a
0000099a: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
000009bb: DUP2
000009bc: JUMP
000009bd: JUMPDEST
000009be: PUSH2 0x050a
000009c1: PUSH32 0x000000000000000000000000adcf0ac9f2aa04a79fc64a1fdf0a0c9f3ae0556a
000009e2: DUP2
000009e3: JUMP
000009e4: JUMPDEST
000009e5: PUSH2 0x0452
000009e8: PUSH2 0x09f2
000009eb: CALLDATASIZE
000009ec: PUSH1 0x04
000009ee: PUSH2 0x424a
000009f1: JUMP
000009f2: JUMPDEST
000009f3: PUSH2 0x22ba
000009f6: JUMP
000009f7: JUMPDEST
000009f8: PUSH2 0x0452
000009fb: PUSH2 0x0a05
000009fe: CALLDATASIZE
000009ff: PUSH1 0x04
00000a01: PUSH2 0x469e
00000a04: JUMP
00000a05: JUMPDEST
00000a06: PUSH2 0x230b
00000a09: JUMP
00000a0a: JUMPDEST
00000a0b: PUSH2 0x0452
00000a0e: PUSH2 0x0a18
00000a11: CALLDATASIZE
00000a12: PUSH1 0x04
00000a14: PUSH2 0x46e4
00000a17: JUMP
00000a18: JUMPDEST
00000a19: PUSH2 0x23ac
00000a1c: JUMP
00000a1d: JUMPDEST
00000a1e: PUSH1 0x60
00000a20: PUSH2 0x0a29
00000a23: PUSH1 0x12
00000a25: PUSH2 0x23fd
00000a28: JUMP
00000a29: JUMPDEST
00000a2a: SWAP1
00000a2b: POP
00000a2c: SWAP1
00000a2d: JUMP
00000a2e: JUMPDEST
00000a2f: PUSH1 0x60
00000a31: PUSH1 0x0f
00000a33: DUP1
00000a34: SLOAD
00000a35: PUSH2 0x0a3d
00000a38: SWAP1
00000a39: PUSH2 0x4722
00000a3c: JUMP
00000a3d: JUMPDEST
00000a3e: DUP1
00000a3f: PUSH1 0x1f
00000a41: ADD
00000a42: PUSH1 0x20
00000a44: DUP1
00000a45: SWAP2
00000a46: DIV
00000a47: MUL
00000a48: PUSH1 0x20
00000a4a: ADD
00000a4b: PUSH1 0x40
00000a4d: MLOAD
00000a4e: SWAP1
00000a4f: DUP2
00000a50: ADD
00000a51: PUSH1 0x40
00000a53: MSTORE
00000a54: DUP1
00000a55: SWAP3
00000a56: SWAP2
00000a57: SWAP1
00000a58: DUP2
00000a59: DUP2
00000a5a: MSTORE
00000a5b: PUSH1 0x20
00000a5d: ADD
00000a5e: DUP3
00000a5f: DUP1
00000a60: SLOAD
00000a61: PUSH2 0x0a69
00000a64: SWAP1
00000a65: PUSH2 0x4722
00000a68: JUMP
00000a69: JUMPDEST
00000a6a: DUP1
00000a6b: ISZERO
00000a6c: PUSH2 0x0ab6
00000a6f: JUMPI
00000a70: DUP1
00000a71: PUSH1 0x1f
00000a73: LT
00000a74: PUSH2 0x0a8b
00000a77: JUMPI
00000a78: PUSH2 0x0100
00000a7b: DUP1
00000a7c: DUP4
00000a7d: SLOAD
00000a7e: DIV
00000a7f: MUL
00000a80: DUP4
00000a81: MSTORE
00000a82: SWAP2
00000a83: PUSH1 0x20
00000a85: ADD
00000a86: SWAP2
00000a87: PUSH2 0x0ab6
00000a8a: JUMP
00000a8b: JUMPDEST
00000a8c: DUP3
00000a8d: ADD
00000a8e: SWAP2
00000a8f: SWAP1
00000a90: PUSH1 0x00
00000a92: MSTORE
00000a93: PUSH1 0x20
00000a95: PUSH1 0x00
00000a97: KECCAK256
00000a98: SWAP1
00000a99: JUMPDEST
00000a9a: DUP2
00000a9b: SLOAD
00000a9c: DUP2
00000a9d: MSTORE
00000a9e: SWAP1
00000a9f: PUSH1 0x01
00000aa1: ADD
00000aa2: SWAP1
00000aa3: PUSH1 0x20
00000aa5: ADD
00000aa6: DUP1
00000aa7: DUP4
00000aa8: GT
00000aa9: PUSH2 0x0a99
00000aac: JUMPI
00000aad: DUP3
00000aae: SWAP1
00000aaf: SUB
00000ab0: PUSH1 0x1f
00000ab2: AND
00000ab3: DUP3
00000ab4: ADD
00000ab5: SWAP2
00000ab6: JUMPDEST
00000ab7: POP
00000ab8: POP
00000ab9: POP
00000aba: POP
00000abb: POP
00000abc: SWAP1
00000abd: POP
00000abe: SWAP1
00000abf: JUMP
00000ac0: JUMPDEST
00000ac1: PUSH1 0x00
00000ac3: CALLER
00000ac4: DUP6
00000ac5: DUP6
00000ac6: PUSH1 0x40
00000ac8: MLOAD
00000ac9: PUSH1 0x20
00000acb: ADD
00000acc: PUSH2 0x0ad7
00000acf: SWAP4
00000ad0: SWAP3
00000ad1: SWAP2
00000ad2: SWAP1
00000ad3: PUSH2 0x475c
00000ad6: JUMP
00000ad7: JUMPDEST
00000ad8: PUSH1 0x40
00000ada: MLOAD
00000adb: PUSH1 0x20
00000add: DUP2
00000ade: DUP4
00000adf: SUB
00000ae0: SUB
00000ae1: DUP2
00000ae2: MSTORE
00000ae3: SWAP1
00000ae4: PUSH1 0x40
00000ae6: MSTORE
00000ae7: DUP1
00000ae8: MLOAD
00000ae9: SWAP1
00000aea: PUSH1 0x20
00000aec: ADD
00000aed: KECCAK256
00000aee: SWAP1
00000aef: POP
00000af0: PUSH2 0x0b2c
00000af3: DUP2
00000af4: DUP5
00000af5: DUP5
00000af6: DUP1
00000af7: DUP1
00000af8: PUSH1 0x20
00000afa: MUL
00000afb: PUSH1 0x20
00000afd: ADD
00000afe: PUSH1 0x40
00000b00: MLOAD
00000b01: SWAP1
00000b02: DUP2
00000b03: ADD
00000b04: PUSH1 0x40
00000b06: MSTORE
00000b07: DUP1
00000b08: SWAP4
00000b09: SWAP3
00000b0a: SWAP2
00000b0b: SWAP1
00000b0c: DUP2
00000b0d: DUP2
00000b0e: MSTORE
00000b0f: PUSH1 0x20
00000b11: ADD
00000b12: DUP4
00000b13: DUP4
00000b14: PUSH1 0x20
00000b16: MUL
00000b17: DUP1
00000b18: DUP3
00000b19: DUP5
00000b1a: CALLDATACOPY
00000b1b: PUSH1 0x00
00000b1d: SWAP3
00000b1e: ADD
00000b1f: SWAP2
00000b20: SWAP1
00000b21: SWAP2
00000b22: MSTORE
00000b23: POP
00000b24: PUSH2 0x2463
00000b27: SWAP3
00000b28: POP
00000b29: POP
00000b2a: POP
00000b2b: JUMP
00000b2c: JUMPDEST
00000b2d: PUSH1 0x40
00000b2f: MLOAD
00000b30: DUP5
00000b31: DUP2
00000b32: MSTORE
00000b33: PUSH1 0x01
00000b35: PUSH1 0x01
00000b37: PUSH1 0xa0
00000b39: SHL
00000b3a: SUB
00000b3b: DUP7
00000b3c: AND
00000b3d: SWAP1
00000b3e: CALLER
00000b3f: SWAP1
00000b40: PUSH32 0x30f416fa68fca014a0f334464c64b000ba53e99b6d2afdea9d5ca756372d5985
00000b61: SWAP1
00000b62: PUSH1 0x20
00000b64: ADD
00000b65: PUSH1 0x40
00000b67: MLOAD
00000b68: DUP1
00000b69: SWAP2
00000b6a: SUB
00000b6b: SWAP1
00000b6c: LOG3
00000b6d: POP
00000b6e: POP
00000b6f: POP
00000b70: POP
00000b71: POP
00000b72: JUMP
00000b73: JUMPDEST
00000b74: PUSH1 0x00
00000b76: PUSH2 0x0b80
00000b79: CALLER
00000b7a: DUP5
00000b7b: DUP5
00000b7c: PUSH2 0x249b
00000b7f: JUMP
00000b80: JUMPDEST
00000b81: POP
00000b82: PUSH1 0x01
00000b84: JUMPDEST
00000b85: SWAP3
00000b86: SWAP2
00000b87: POP
00000b88: POP
00000b89: JUMP
00000b8a: JUMPDEST
00000b8b: PUSH2 0x0bb6
00000b8e: CALLER
00000b8f: CALLER
00000b90: CALLER
00000b91: DUP5
00000b92: PUSH1 0x40
00000b94: MLOAD
00000b95: DUP1
00000b96: PUSH1 0x20
00000b98: ADD
00000b99: PUSH1 0x40
00000b9b: MSTORE
00000b9c: DUP1
00000b9d: PUSH1 0x00
00000b9f: DUP2
00000ba0: MSTORE
00000ba1: POP
00000ba2: PUSH1 0x40
00000ba4: MLOAD
00000ba5: DUP1
00000ba6: PUSH1 0x20
00000ba8: ADD
00000ba9: PUSH1 0x40
00000bab: MSTORE
00000bac: DUP1
00000bad: PUSH1 0x00
00000baf: DUP2
00000bb0: MSTORE
00000bb1: POP
00000bb2: PUSH2 0x254a
00000bb5: JUMP
00000bb6: JUMPDEST
00000bb7: POP
00000bb8: JUMP
00000bb9: JUMPDEST
00000bba: PUSH1 0x40
00000bbc: MLOAD
00000bbd: CALLER
00000bbe: SWAP1
00000bbf: PUSH1 0x00
00000bc1: SWAP1
00000bc2: PUSH2 0x0bd1
00000bc5: SWAP1
00000bc6: DUP4
00000bc7: SWAP1
00000bc8: DUP8
00000bc9: SWAP1
00000bca: PUSH1 0x20
00000bcc: ADD
00000bcd: PUSH2 0x47a5
00000bd0: JUMP
00000bd1: JUMPDEST
00000bd2: PUSH1 0x40
00000bd4: DUP1
00000bd5: MLOAD
00000bd6: PUSH1 0x1f
00000bd8: NOT
00000bd9: DUP2
00000bda: DUP5
00000bdb: SUB
00000bdc: ADD
00000bdd: DUP2
00000bde: MSTORE
00000bdf: SWAP2
00000be0: SWAP1
00000be1: MSTORE
00000be2: DUP1
00000be3: MLOAD
00000be4: PUSH1 0x20
00000be6: SWAP1
00000be7: SWAP2
00000be8: ADD
00000be9: KECCAK256
00000bea: SWAP1
00000beb: POP
00000bec: PUSH2 0x0bf5
00000bef: DUP2
00000bf0: DUP5
00000bf1: PUSH2 0x270a
00000bf4: JUMP
00000bf5: JUMPDEST
00000bf6: ISZERO
00000bf7: PUSH2 0x0c13
00000bfa: JUMPI
00000bfb: PUSH1 0x40
00000bfd: MLOAD
00000bfe: PUSH4 0x782a90fb
00000c03: PUSH1 0xe1
00000c05: SHL
00000c06: DUP2
00000c07: MSTORE
00000c08: PUSH1 0x04
00000c0a: ADD
00000c0b: PUSH1 0x40
00000c0d: MLOAD
00000c0e: DUP1
00000c0f: SWAP2
00000c10: SUB
00000c11: SWAP1
00000c12: REVERT
00000c13: JUMPDEST
00000c14: PUSH2 0x0c50
00000c17: DUP2
00000c18: DUP6
00000c19: DUP6
00000c1a: DUP1
00000c1b: DUP1
00000c1c: PUSH1 0x20
00000c1e: MUL
00000c1f: PUSH1 0x20
00000c21: ADD
00000c22: PUSH1 0x40
00000c24: MLOAD
00000c25: SWAP1
00000c26: DUP2
00000c27: ADD
00000c28: PUSH1 0x40
00000c2a: MSTORE
00000c2b: DUP1
00000c2c: SWAP4
00000c2d: SWAP3
00000c2e: SWAP2
00000c2f: SWAP1
00000c30: DUP2
00000c31: DUP2
00000c32: MSTORE
00000c33: PUSH1 0x20
00000c35: ADD
00000c36: DUP4
00000c37: DUP4
00000c38: PUSH1 0x20
00000c3a: MUL
00000c3b: DUP1
00000c3c: DUP3
00000c3d: DUP5
00000c3e: CALLDATACOPY
00000c3f: PUSH1 0x00
00000c41: SWAP3
00000c42: ADD
00000c43: SWAP2
00000c44: SWAP1
00000c45: SWAP2
00000c46: MSTORE
00000c47: POP
00000c48: PUSH2 0x2463
00000c4b: SWAP3
00000c4c: POP
00000c4d: POP
00000c4e: POP
00000c4f: JUMP
00000c50: JUMPDEST
00000c51: DUP2
00000c52: PUSH1 0x01
00000c54: PUSH1 0x01
00000c56: PUSH1 0xa0
00000c58: SHL
00000c59: SUB
00000c5a: AND
00000c5b: PUSH32 0x770ea40a13a4644573ed785e5c7116890709947918747febc5add46feb531e2d
00000c7c: DUP7
00000c7d: DUP7
00000c7e: DUP7
00000c7f: PUSH1 0x40
00000c81: MLOAD
00000c82: PUSH2 0x0c8d
00000c85: SWAP4
00000c86: SWAP3
00000c87: SWAP2
00000c88: SWAP1
00000c89: PUSH2 0x47e2
00000c8c: JUMP
00000c8d: JUMPDEST
00000c8e: PUSH1 0x40
00000c90: MLOAD
00000c91: DUP1
00000c92: SWAP2
00000c93: SUB
00000c94: SWAP1
00000c95: LOG2
00000c96: POP
00000c97: POP
00000c98: POP
00000c99: POP
00000c9a: POP
00000c9b: JUMP
00000c9c: JUMPDEST
00000c9d: PUSH32 0x0000000000000000000000004e583d9390082b65bef884b629dfa426114ced6d
00000cbe: PUSH1 0x01
00000cc0: PUSH1 0x01
00000cc2: PUSH1 0xa0
00000cc4: SHL
00000cc5: SUB
00000cc6: AND
00000cc7: CALLER
00000cc8: EQ
00000cc9: PUSH2 0x0ce5
00000ccc: JUMPI
00000ccd: PUSH1 0x40
00000ccf: MLOAD
00000cd0: PUSH4 0xc51efddd
00000cd5: PUSH1 0xe0
00000cd7: SHL
00000cd8: DUP2
00000cd9: MSTORE
00000cda: PUSH1 0x04
00000cdc: ADD
00000cdd: PUSH1 0x40
00000cdf: MLOAD
00000ce0: DUP1
00000ce1: SWAP2
00000ce2: SUB
00000ce3: SWAP1
00000ce4: REVERT
00000ce5: JUMPDEST
00000ce6: PUSH2 0x0cf1
00000ce9: DUP5
00000cea: DUP5
00000ceb: DUP5
00000cec: DUP5
00000ced: PUSH2 0x273e
00000cf0: JUMP
00000cf1: JUMPDEST
00000cf2: POP
00000cf3: POP
00000cf4: POP
00000cf5: POP
00000cf6: POP
00000cf7: JUMP
00000cf8: JUMPDEST
00000cf9: PUSH1 0x40
00000cfb: MLOAD
00000cfc: PUSH4 0x23292121
00000d01: PUSH1 0xe2
00000d03: SHL
00000d04: DUP2
00000d05: MSTORE
00000d06: CALLER
00000d07: PUSH1 0x04
00000d09: DUP3
00000d0a: ADD
00000d0b: MSTORE
00000d0c: PUSH32 0x0000000000000000000000004e583d9390082b65bef884b629dfa426114ced6d
00000d2d: PUSH1 0x01
00000d2f: PUSH1 0x01
00000d31: PUSH1 0xa0
00000d33: SHL
00000d34: SUB
00000d35: AND
00000d36: SWAP1
00000d37: PUSH4 0x8ca48484
00000d3c: SWAP1
00000d3d: PUSH1 0x24
00000d3f: ADD
00000d40: PUSH1 0x20
00000d42: PUSH1 0x40
00000d44: MLOAD
00000d45: DUP1
00000d46: DUP4
00000d47: SUB
00000d48: DUP2
00000d49: DUP7
00000d4a: GAS
00000d4b: STATICCALL
00000d4c: ISZERO
00000d4d: DUP1
00000d4e: ISZERO
00000d4f: PUSH2 0x0d5c
00000d52: JUMPI
00000d53: RETURNDATASIZE
00000d54: PUSH1 0x00
00000d56: DUP1
00000d57: RETURNDATACOPY
00000d58: RETURNDATASIZE
00000d59: PUSH1 0x00
00000d5b: REVERT
00000d5c: JUMPDEST
00000d5d: POP
00000d5e: POP
00000d5f: POP
00000d60: POP
00000d61: PUSH1 0x40
00000d63: MLOAD
00000d64: RETURNDATASIZE
00000d65: PUSH1 0x1f
00000d67: NOT
00000d68: PUSH1 0x1f
00000d6a: DUP3
00000d6b: ADD
00000d6c: AND
00000d6d: DUP3
00000d6e: ADD
00000d6f: DUP1
00000d70: PUSH1 0x40
00000d72: MSTORE
00000d73: POP
00000d74: DUP2
00000d75: ADD
00000d76: SWAP1
00000d77: PUSH2 0x0d80
00000d7a: SWAP2
00000d7b: SWAP1
00000d7c: PUSH2 0x4823
00000d7f: JUMP
00000d80: JUMPDEST
00000d81: PUSH2 0x0d9d
00000d84: JUMPI
00000d85: PUSH1 0x40
00000d87: MLOAD
00000d88: PUSH4 0x327fd991
00000d8d: PUSH1 0xe2
00000d8f: SHL
00000d90: DUP2
00000d91: MSTORE
00000d92: PUSH1 0x04
00000d94: ADD
00000d95: PUSH1 0x40
00000d97: MLOAD
00000d98: DUP1
00000d99: SWAP2
00000d9a: SUB
00000d9b: SWAP1
00000d9c: REVERT
00000d9d: JUMPDEST
00000d9e: PUSH1 0x00
00000da0: PUSH2 0x0da7
00000da3: PUSH2 0x285e
00000da6: JUMP
00000da7: JUMPDEST
00000da8: SWAP1
00000da9: POP
00000daa: PUSH1 0x01
00000dac: PUSH1 0x01
00000dae: PUSH1 0xa0
00000db0: SHL
00000db1: SUB
00000db2: DUP2
00000db3: AND
00000db4: PUSH2 0x0dba
00000db7: JUMPI
00000db8: POP
00000db9: DUP5
00000dba: JUMPDEST
00000dbb: PUSH1 0x00
00000dbd: DUP6
00000dbe: PUSH2 0x0dc7
00000dc1: JUMPI
00000dc2: DUP7
00000dc3: PUSH2 0x0dc9
00000dc6: JUMP
00000dc7: JUMPDEST
00000dc8: DUP2
00000dc9: JUMPDEST
00000dca: SWAP1
00000dcb: POP
00000dcc: PUSH1 0x00
00000dce: DUP4
00000dcf: SGT
00000dd0: PUSH2 0x0e97
00000dd3: JUMPI
00000dd4: PUSH2 0x0ddc
00000dd7: DUP4
00000dd8: PUSH2 0x4856
00000ddb: JUMP
00000ddc: JUMPDEST
00000ddd: PUSH2 0x0de5
00000de0: DUP6
00000de1: PUSH2 0x29a3
00000de4: JUMP
00000de5: JUMPDEST
00000de6: EQ
00000de7: PUSH2 0x0df2
00000dea: JUMPI
00000deb: PUSH2 0x0df2
00000dee: PUSH2 0x4872
00000df1: JUMP
00000df2: JUMPDEST
00000df3: PUSH2 0x0dfb
00000df6: DUP5
00000df7: PUSH2 0x29a3
00000dfa: JUMP
00000dfb: JUMPDEST
00000dfc: PUSH1 0x01
00000dfe: PUSH1 0x01
00000e00: PUSH1 0xa0
00000e02: SHL
00000e03: SUB
00000e04: DUP3
00000e05: AND
00000e06: PUSH1 0x00
00000e08: SWAP1
00000e09: DUP2
00000e0a: MSTORE
00000e0b: PUSH1 0x02
00000e0d: PUSH1 0x20
00000e0f: MSTORE
00000e10: PUSH1 0x40
00000e12: DUP2
00000e13: KECCAK256
00000e14: DUP1
00000e15: SLOAD
00000e16: SWAP1
00000e17: SWAP2
00000e18: SWAP1
00000e19: PUSH2 0x0e23
00000e1c: SWAP1
00000e1d: DUP5
00000e1e: SWAP1
00000e1f: PUSH2 0x4888
00000e22: JUMP
00000e23: JUMPDEST
00000e24: SWAP1
00000e25: SWAP2
00000e26: SSTORE
00000e27: POP
00000e28: POP
00000e29: PUSH1 0x01
00000e2b: PUSH1 0x01
00000e2d: PUSH1 0xa0
00000e2f: SHL
00000e30: SUB
00000e31: DUP6
00000e32: AND
00000e33: PUSH1 0x00
00000e35: SWAP1
00000e36: DUP2
00000e37: MSTORE
00000e38: PUSH1 0x02
00000e3a: PUSH1 0x20
00000e3c: MSTORE
00000e3d: PUSH1 0x40
00000e3f: DUP2
00000e40: KECCAK256
00000e41: DUP1
00000e42: SLOAD
00000e43: DUP6
00000e44: SWAP3
00000e45: SWAP1
00000e46: PUSH2 0x0e50
00000e49: SWAP1
00000e4a: DUP5
00000e4b: SWAP1
00000e4c: PUSH2 0x4888
00000e4f: JUMP
00000e50: JUMPDEST
00000e51: SWAP3
00000e52: POP
00000e53: POP
00000e54: DUP2
00000e55: SWAP1
00000e56: SSTORE
00000e57: POP
00000e58: DUP1
00000e59: PUSH1 0x01
00000e5b: PUSH1 0x01
00000e5d: PUSH1 0xa0
00000e5f: SHL
00000e60: SUB
00000e61: AND
00000e62: DUP6
00000e63: PUSH1 0x01
00000e65: PUSH1 0x01
00000e67: PUSH1 0xa0
00000e69: SHL
00000e6a: SUB
00000e6b: AND
00000e6c: PUSH1 0x00
00000e6e: DUP1
00000e6f: MLOAD
00000e70: PUSH1 0x20
00000e72: PUSH2 0x4dd7
00000e75: DUP4
00000e76: CODECOPY
00000e77: DUP2
00000e78: MLOAD
00000e79: SWAP2
00000e7a: MSTORE
00000e7b: DUP7
00000e7c: PUSH1 0x40
00000e7e: MLOAD
00000e7f: PUSH2 0x0e8a
00000e82: SWAP2
00000e83: DUP2
00000e84: MSTORE
00000e85: PUSH1 0x20
00000e87: ADD
00000e88: SWAP1
00000e89: JUMP
00000e8a: JUMPDEST
00000e8b: PUSH1 0x40
00000e8d: MLOAD
00000e8e: DUP1
00000e8f: SWAP2
00000e90: SUB
00000e91: SWAP1
00000e92: LOG3
00000e93: PUSH2 0x0fc3
00000e96: JUMP
00000e97: JUMPDEST
00000e98: DUP6
00000e99: ISZERO
00000e9a: PUSH2 0x0ea5
00000e9d: JUMPI
00000e9e: PUSH2 0x0ea5
00000ea1: PUSH2 0x4872
00000ea4: JUMP
00000ea5: JUMPDEST
00000ea6: DUP3
00000ea7: PUSH2 0x0eaf
00000eaa: DUP6
00000eab: PUSH2 0x29a3
00000eae: JUMP
00000eaf: JUMPDEST
00000eb0: PUSH2 0x0eb9
00000eb3: SWAP2
00000eb4: SWAP1
00000eb5: PUSH2 0x4888
00000eb8: JUMP
00000eb9: JUMPDEST
00000eba: PUSH1 0x01
00000ebc: PUSH1 0x01
00000ebe: PUSH1 0xa0
00000ec0: SHL
00000ec1: SUB
00000ec2: DUP4
00000ec3: AND
00000ec4: PUSH1 0x00
00000ec6: SWAP1
00000ec7: DUP2
00000ec8: MSTORE
00000ec9: PUSH1 0x02
00000ecb: PUSH1 0x20
00000ecd: MSTORE
00000ece: PUSH1 0x40
00000ed0: DUP2
00000ed1: KECCAK256
00000ed2: DUP1
00000ed3: SLOAD
00000ed4: SWAP1
00000ed5: SWAP2
00000ed6: SWAP1
00000ed7: PUSH2 0x0ee1
00000eda: SWAP1
00000edb: DUP5
00000edc: SWAP1
00000edd: PUSH2 0x48b0
00000ee0: JUMP
00000ee1: JUMPDEST
00000ee2: SWAP1
00000ee3: SWAP2
00000ee4: SSTORE
00000ee5: POP
00000ee6: PUSH2 0x0ef0
00000ee9: SWAP1
00000eea: POP
00000eeb: DUP5
00000eec: PUSH2 0x29a3
00000eef: JUMP
00000ef0: JUMPDEST
00000ef1: PUSH1 0x01
00000ef3: PUSH1 0x01
00000ef5: PUSH1 0xa0
00000ef7: SHL
00000ef8: SUB
00000ef9: DUP9
00000efa: AND
00000efb: PUSH1 0x00
00000efd: SWAP1
00000efe: DUP2
00000eff: MSTORE
00000f00: PUSH1 0x02
00000f02: PUSH1 0x20
00000f04: MSTORE
00000f05: PUSH1 0x40
00000f07: DUP2
00000f08: KECCAK256
00000f09: DUP1
00000f0a: SLOAD
00000f0b: SWAP1
00000f0c: SWAP2
00000f0d: SWAP1
00000f0e: PUSH2 0x0f18
00000f11: SWAP1
00000f12: DUP5
00000f13: SWAP1
00000f14: PUSH2 0x4888
00000f17: JUMP
00000f18: JUMPDEST
00000f19: SWAP1
00000f1a: SWAP2
00000f1b: SSTORE
00000f1c: POP
00000f1d: POP
00000f1e: PUSH1 0x01
00000f20: PUSH1 0x01
00000f22: PUSH1 0xa0
00000f24: SHL
00000f25: SUB
00000f26: DUP6
00000f27: AND
00000f28: PUSH1 0x00
00000f2a: SWAP1
00000f2b: DUP2
00000f2c: MSTORE
00000f2d: PUSH1 0x02
00000f2f: PUSH1 0x20
00000f31: MSTORE
00000f32: PUSH1 0x40
00000f34: DUP2
00000f35: KECCAK256
00000f36: DUP1
00000f37: SLOAD
00000f38: DUP6
00000f39: SWAP3
00000f3a: SWAP1
00000f3b: PUSH2 0x0f45
00000f3e: SWAP1
00000f3f: DUP5
00000f40: SWAP1
00000f41: PUSH2 0x4888
00000f44: JUMP
00000f45: JUMPDEST
00000f46: SWAP3
00000f47: POP
00000f48: POP
00000f49: DUP2
00000f4a: SWAP1
00000f4b: SSTORE
00000f4c: POP
00000f4d: DUP7
00000f4e: PUSH1 0x01
00000f50: PUSH1 0x01
00000f52: PUSH1 0xa0
00000f54: SHL
00000f55: SUB
00000f56: AND
00000f57: DUP3
00000f58: PUSH1 0x01
00000f5a: PUSH1 0x01
00000f5c: PUSH1 0xa0
00000f5e: SHL
00000f5f: SUB
00000f60: AND
00000f61: PUSH1 0x00
00000f63: DUP1
00000f64: MLOAD
00000f65: PUSH1 0x20
00000f67: PUSH2 0x4dd7
00000f6a: DUP4
00000f6b: CODECOPY
00000f6c: DUP2
00000f6d: MLOAD
00000f6e: SWAP2
00000f6f: MSTORE
00000f70: DUP7
00000f71: PUSH1 0x40
00000f73: MLOAD
00000f74: PUSH2 0x0f7f
00000f77: SWAP2
00000f78: DUP2
00000f79: MSTORE
00000f7a: PUSH1 0x20
00000f7c: ADD
00000f7d: SWAP1
00000f7e: JUMP
00000f7f: JUMPDEST
00000f80: PUSH1 0x40
00000f82: MLOAD
00000f83: DUP1
00000f84: SWAP2
00000f85: SUB
00000f86: SWAP1
00000f87: LOG3
00000f88: DUP5
00000f89: PUSH1 0x01
00000f8b: PUSH1 0x01
00000f8d: PUSH1 0xa0
00000f8f: SHL
00000f90: SUB
00000f91: AND
00000f92: DUP3
00000f93: PUSH1 0x01
00000f95: PUSH1 0x01
00000f97: PUSH1 0xa0
00000f99: SHL
00000f9a: SUB
00000f9b: AND
00000f9c: PUSH1 0x00
00000f9e: DUP1
00000f9f: MLOAD
00000fa0: PUSH1 0x20
00000fa2: PUSH2 0x4dd7
00000fa5: DUP4
00000fa6: CODECOPY
00000fa7: DUP2
00000fa8: MLOAD
00000fa9: SWAP2
00000faa: MSTORE
00000fab: DUP6
00000fac: PUSH1 0x40
00000fae: MLOAD
00000faf: PUSH2 0x0fba
00000fb2: SWAP2
00000fb3: DUP2
00000fb4: MSTORE
00000fb5: PUSH1 0x20
00000fb7: ADD
00000fb8: SWAP1
00000fb9: JUMP
00000fba: JUMPDEST
00000fbb: PUSH1 0x40
00000fbd: MLOAD
00000fbe: DUP1
00000fbf: SWAP2
00000fc0: SUB
00000fc1: SWAP1
00000fc2: LOG3
00000fc3: JUMPDEST
00000fc4: DUP5
00000fc5: PUSH1 0x01
00000fc7: PUSH1 0x01
00000fc9: PUSH1 0xa0
00000fcb: SHL
00000fcc: SUB
00000fcd: AND
00000fce: DUP8
00000fcf: PUSH1 0x01
00000fd1: PUSH1 0x01
00000fd3: PUSH1 0xa0
00000fd5: SHL
00000fd6: SUB
00000fd7: AND
00000fd8: CALLER
00000fd9: PUSH1 0x01
00000fdb: PUSH1 0x01
00000fdd: PUSH1 0xa0
00000fdf: SHL
00000fe0: SUB
00000fe1: AND
00000fe2: PUSH32 0xb8381a3ce157650e06186e3e8f4dd4dc29236f2688b6eed1893d0a60d7c6386f
00001003: DUP13
00001004: DUP6
00001005: DUP10
00001006: DUP10
00001007: DUP16
00001008: PUSH1 0x40
0000100a: MLOAD
0000100b: PUSH2 0x1018
0000100e: SWAP6
0000100f: SWAP5
00001010: SWAP4
00001011: SWAP3
00001012: SWAP2
00001013: SWAP1
00001014: PUSH2 0x48d0
00001017: JUMP
00001018: JUMPDEST
00001019: PUSH1 0x40
0000101b: MLOAD
0000101c: DUP1
0000101d: SWAP2
0000101e: SUB
0000101f: SWAP1
00001020: LOG4
00001021: POP
00001022: POP
00001023: POP
00001024: POP
00001025: POP
00001026: POP
00001027: POP
00001028: POP
00001029: POP
0000102a: JUMP
0000102b: JUMPDEST
0000102c: PUSH32 0x0000000000000000000000004e583d9390082b65bef884b629dfa426114ced6d
0000104d: PUSH1 0x01
0000104f: PUSH1 0x01
00001051: PUSH1 0xa0
00001053: SHL
00001054: SUB
00001055: AND
00001056: CALLER
00001057: EQ
00001058: PUSH2 0x1074
0000105b: JUMPI
0000105c: PUSH1 0x40
0000105e: MLOAD
0000105f: PUSH4 0xc51efddd
00001064: PUSH1 0xe0
00001066: SHL
00001067: DUP2
00001068: MSTORE
00001069: PUSH1 0x04
0000106b: ADD
0000106c: PUSH1 0x40
0000106e: MLOAD
0000106f: DUP1
00001070: SWAP2
00001071: SUB
00001072: SWAP1
00001073: REVERT
00001074: JUMPDEST
00001075: PUSH2 0x10a0
00001078: CALLER
00001079: DUP5
0000107a: DUP5
0000107b: DUP5
0000107c: PUSH1 0x40
0000107e: MLOAD
0000107f: DUP1
00001080: PUSH1 0x20
00001082: ADD
00001083: PUSH1 0x40
00001085: MSTORE
00001086: DUP1
00001087: PUSH1 0x00
00001089: DUP2
0000108a: MSTORE
0000108b: POP
0000108c: PUSH1 0x40
0000108e: MLOAD
0000108f: DUP1
00001090: PUSH1 0x20
00001092: ADD
00001093: PUSH1 0x40
00001095: MSTORE
00001096: DUP1
00001097: PUSH1 0x00
00001099: DUP2
0000109a: MSTORE
0000109b: POP
0000109c: PUSH2 0x2a11
0000109f: JUMP
000010a0: JUMPDEST
000010a1: POP
000010a2: POP
000010a3: POP
000010a4: JUMP
000010a5: JUMPDEST
000010a6: PUSH1 0x00
000010a8: PUSH2 0x10b3
000010ab: CALLER
000010ac: DUP6
000010ad: DUP6
000010ae: DUP6
000010af: PUSH2 0x273e
000010b2: JUMP
000010b3: JUMPDEST
000010b4: SWAP5
000010b5: SWAP4
000010b6: POP
000010b7: POP
000010b8: POP
000010b9: POP
000010ba: JUMP
000010bb: JUMPDEST
000010bc: PUSH32 0x0000000000000000000000004e583d9390082b65bef884b629dfa426114ced6d
000010dd: PUSH1 0x01
000010df: PUSH1 0x01
000010e1: PUSH1 0xa0
000010e3: SHL
000010e4: SUB
000010e5: AND
000010e6: CALLER
000010e7: EQ
000010e8: PUSH2 0x1104
000010eb: JUMPI
000010ec: PUSH1 0x40
000010ee: MLOAD
000010ef: PUSH4 0xc51efddd
000010f4: PUSH1 0xe0
000010f6: SHL
000010f7: DUP2
000010f8: MSTORE
000010f9: PUSH1 0x04
000010fb: ADD
000010fc: PUSH1 0x40
000010fe: MLOAD
000010ff: DUP1
00001100: SWAP2
00001101: SUB
00001102: SWAP1
00001103: REVERT
00001104: JUMPDEST
00001105: PUSH2 0x1130
00001108: CALLER
00001109: DUP4
0000110a: DUP5
0000110b: DUP5
0000110c: PUSH1 0x40
0000110e: MLOAD
0000110f: DUP1
00001110: PUSH1 0x20
00001112: ADD
00001113: PUSH1 0x40
00001115: MSTORE
00001116: DUP1
00001117: PUSH1 0x00
00001119: DUP2
0000111a: MSTORE
0000111b: POP
0000111c: PUSH1 0x40
0000111e: MLOAD
0000111f: DUP1
00001120: PUSH1 0x20
00001122: ADD
00001123: PUSH1 0x40
00001125: MSTORE
00001126: DUP1
00001127: PUSH1 0x00
00001129: DUP2
0000112a: MSTORE
0000112b: POP
0000112c: PUSH2 0x254a
0000112f: JUMP
00001130: JUMPDEST
00001131: POP
00001132: POP
00001133: JUMP
00001134: JUMPDEST
00001135: PUSH1 0x40
00001137: MLOAD
00001138: CALLER
00001139: SWAP1
0000113a: PUSH1 0x00
0000113c: SWAP1
0000113d: PUSH2 0x114c
00001140: SWAP1
00001141: DUP4
00001142: SWAP1
00001143: DUP7
00001144: SWAP1
00001145: PUSH1 0x20
00001147: ADD
00001148: PUSH2 0x47a5
0000114b: JUMP
0000114c: JUMPDEST
0000114d: PUSH1 0x40
0000114f: MLOAD
00001150: PUSH1 0x20
00001152: DUP2
00001153: DUP4
00001154: SUB
00001155: SUB
00001156: DUP2
00001157: MSTORE
00001158: SWAP1
00001159: PUSH1 0x40
0000115b: MSTORE
0000115c: DUP1
0000115d: MLOAD
0000115e: SWAP1
0000115f: PUSH1 0x20
00001161: ADD
00001162: KECCAK256
00001163: SWAP1
00001164: POP
00001165: PUSH2 0x116e
00001168: DUP2
00001169: DUP5
0000116a: PUSH2 0x270a
0000116d: JUMP
0000116e: JUMPDEST
0000116f: PUSH2 0x118b
00001172: JUMPI
00001173: PUSH1 0x40
00001175: MLOAD
00001176: PUSH4 0xdae18809
0000117b: PUSH1 0xe0
0000117d: SHL
0000117e: DUP2
0000117f: MSTORE
00001180: PUSH1 0x04
00001182: ADD
00001183: PUSH1 0x40
00001185: MLOAD
00001186: DUP1
00001187: SWAP2
00001188: SUB
00001189: SWAP1
0000118a: REVERT
0000118b: JUMPDEST
0000118c: PUSH2 0x1195
0000118f: DUP2
00001190: DUP5
00001191: PUSH2 0x2bc4
00001194: JUMP
00001195: JUMPDEST
00001196: PUSH1 0x40
00001198: MLOAD
00001199: DUP5
0000119a: DUP2
0000119b: MSTORE
0000119c: CALLER
0000119d: SWAP1
0000119e: PUSH32 0x71a63dc095de07aa5512ad57a7596a39516317e316981a1cd71000057be1537b
000011bf: SWAP1
000011c0: PUSH1 0x20
000011c2: ADD
000011c3: PUSH1 0x40
000011c5: MLOAD
000011c6: DUP1
000011c7: SWAP2
000011c8: SUB
000011c9: SWAP1
000011ca: LOG2
000011cb: POP
000011cc: POP
000011cd: POP
000011ce: POP
000011cf: JUMP
000011d0: JUMPDEST
000011d1: PUSH1 0x00
000011d3: DUP1
000011d4: PUSH2 0x11dc
000011d7: DUP4
000011d8: PUSH2 0x2bdd
000011db: JUMP
000011dc: JUMPDEST
000011dd: SWAP2
000011de: POP
000011df: SWAP2
000011e0: POP
000011e1: SWAP2
000011e2: POP
000011e3: SWAP2
000011e4: JUMP
000011e5: JUMPDEST
000011e6: PUSH1 0x00
000011e8: DUP1
000011e9: PUSH1 0x00
000011eb: DUP1
000011ec: PUSH32 0x0000000000000000000000004e583d9390082b65bef884b629dfa426114ced6d
0000120d: PUSH1 0x01
0000120f: PUSH1 0x01
00001211: PUSH1 0xa0
00001213: SHL
00001214: SUB
00001215: AND
00001216: PUSH4 0xbbe4fd50
0000121b: PUSH1 0x40
0000121d: MLOAD
0000121e: DUP2
0000121f: PUSH4 0xffffffff
00001224: AND
00001225: PUSH1 0xe0
00001227: SHL
00001228: DUP2
00001229: MSTORE
0000122a: PUSH1 0x04
0000122c: ADD
0000122d: PUSH1 0x20
0000122f: PUSH1 0x40
00001231: MLOAD
00001232: DUP1
00001233: DUP4
00001234: SUB
00001235: DUP2
00001236: DUP7
00001237: GAS
00001238: STATICCALL
00001239: ISZERO
0000123a: DUP1
0000123b: ISZERO
0000123c: PUSH2 0x1249
0000123f: JUMPI
00001240: RETURNDATASIZE
00001241: PUSH1 0x00
00001243: DUP1
00001244: RETURNDATACOPY
00001245: RETURNDATASIZE
00001246: PUSH1 0x00
00001248: REVERT
00001249: JUMPDEST
0000124a: POP
0000124b: POP
0000124c: POP
0000124d: POP
0000124e: PUSH1 0x40
00001250: MLOAD
00001251: RETURNDATASIZE
00001252: PUSH1 0x1f
00001254: NOT
00001255: PUSH1 0x1f
00001257: DUP3
00001258: ADD
00001259: AND
0000125a: DUP3
0000125b: ADD
0000125c: DUP1
0000125d: PUSH1 0x40
0000125f: MSTORE
00001260: POP
00001261: DUP2
00001262: ADD
00001263: SWAP1
00001264: PUSH2 0x126d
00001267: SWAP2
00001268: SWAP1
00001269: PUSH2 0x4903
0000126c: JUMP
0000126d: JUMPDEST
0000126e: SWAP1
0000126f: POP
00001270: PUSH2 0x1279
00001273: DUP6
00001274: DUP3
00001275: PUSH2 0x20af
00001278: JUMP
00001279: JUMPDEST
0000127a: SWAP2
0000127b: SWAP8
0000127c: SWAP1
0000127d: SWAP7
0000127e: POP
0000127f: SWAP1
00001280: SWAP5
00001281: POP
00001282: SWAP1
00001283: SWAP3
00001284: POP
00001285: SWAP1
00001286: POP
00001287: JUMP
00001288: JUMPDEST
00001289: PUSH1 0x01
0000128b: PUSH1 0x01
0000128d: PUSH1 0xa0
0000128f: SHL
00001290: SUB
00001291: DUP2
00001292: DUP2
00001293: AND
00001294: PUSH1 0x00
00001296: SWAP1
00001297: DUP2
00001298: MSTORE
00001299: PUSH1 0x01
0000129b: PUSH1 0x20
0000129d: MSTORE
0000129e: PUSH1 0x40
000012a0: SWAP1
000012a1: DUP2
000012a2: SWAP1
000012a3: KECCAK256
000012a4: SLOAD
000012a5: SWAP1
000012a6: MLOAD
000012a7: PUSH4 0xc56a069d
000012ac: PUSH1 0xe0
000012ae: SHL
000012af: DUP2
000012b0: MSTORE
000012b1: SWAP1
000012b2: NOT
000012b3: PUSH1 0x04
000012b5: DUP3
000012b6: ADD
000012b7: MSTORE
000012b8: PUSH1 0x60
000012ba: SWAP2
000012bb: PUSH32 0x0000000000000000000000004e583d9390082b65bef884b629dfa426114ced6d
000012dc: AND
000012dd: SWAP1
000012de: PUSH4 0xc56a069d
000012e3: SWAP1
000012e4: PUSH1 0x24
000012e6: ADD
000012e7: PUSH1 0x00
000012e9: PUSH1 0x40
000012eb: MLOAD
000012ec: DUP1
000012ed: DUP4
000012ee: SUB
000012ef: DUP2
000012f0: DUP7
000012f1: GAS
000012f2: STATICCALL
000012f3: ISZERO
000012f4: DUP1
000012f5: ISZERO
000012f6: PUSH2 0x1303
000012f9: JUMPI
000012fa: RETURNDATASIZE
000012fb: PUSH1 0x00
000012fd: DUP1
000012fe: RETURNDATACOPY
000012ff: RETURNDATASIZE
00001300: PUSH1 0x00
00001302: REVERT
00001303: JUMPDEST
00001304: POP
00001305: POP
00001306: POP
00001307: POP
00001308: PUSH1 0x40
0000130a: MLOAD
0000130b: RETURNDATASIZE
0000130c: PUSH1 0x00
0000130e: DUP3
0000130f: RETURNDATACOPY
00001310: PUSH1 0x1f
00001312: RETURNDATASIZE
00001313: SWAP1
00001314: DUP2
00001315: ADD
00001316: PUSH1 0x1f
00001318: NOT
00001319: AND
0000131a: DUP3
0000131b: ADD
0000131c: PUSH1 0x40
0000131e: MSTORE
0000131f: PUSH2 0x0b84
00001322: SWAP2
00001323: SWAP1
00001324: DUP2
00001325: ADD
00001326: SWAP1
00001327: PUSH2 0x491c
0000132a: JUMP
0000132b: JUMPDEST
0000132c: CALLER
0000132d: PUSH1 0x00
0000132f: DUP2
00001330: DUP2
00001331: MSTORE
00001332: PUSH1 0x11
00001334: PUSH1 0x20
00001336: SWAP1
00001337: DUP2
00001338: MSTORE
00001339: PUSH1 0x40
0000133b: DUP1
0000133c: DUP4
0000133d: KECCAK256
0000133e: PUSH1 0x01
00001340: PUSH1 0x01
00001342: PUSH1 0xa0
00001344: SHL
00001345: SUB
00001346: DUP8
00001347: AND
00001348: DUP5
00001349: MSTORE
0000134a: SWAP1
0000134b: SWAP2
0000134c: MSTORE
0000134d: DUP2
0000134e: KECCAK256
0000134f: SLOAD
00001350: SWAP1
00001351: SWAP2
00001352: PUSH2 0x0b80
00001355: SWAP2
00001356: DUP6
00001357: SWAP1
00001358: PUSH2 0x1362
0000135b: SWAP1
0000135c: DUP7
0000135d: SWAP1
0000135e: PUSH2 0x49c8
00001361: JUMP
00001362: JUMPDEST
00001363: PUSH2 0x249b
00001366: JUMP
00001367: JUMPDEST
00001368: CALLER
00001369: ADDRESS
0000136a: EQ
0000136b: PUSH2 0x1387
0000136e: JUMPI
0000136f: PUSH1 0x40
00001371: MLOAD
00001372: PUSH4 0x0fff4cc9
00001377: PUSH1 0xe3
00001379: SHL
0000137a: DUP2
0000137b: MSTORE
0000137c: PUSH1 0x04
0000137e: ADD
0000137f: PUSH1 0x40
00001381: MLOAD
00001382: DUP1
00001383: SWAP2
00001384: SUB
00001385: SWAP1
00001386: REVERT
00001387: JUMPDEST
00001388: PUSH2 0x0cf1
0000138b: DUP4
0000138c: DUP6
0000138d: DUP5
0000138e: DUP5
0000138f: PUSH2 0x273e
00001392: JUMP
00001393: JUMPDEST
00001394: PUSH1 0x00
00001396: SLOAD
00001397: PUSH2 0x0100
0000139a: SWAP1
0000139b: DIV
0000139c: PUSH1 0xff
0000139e: AND
0000139f: ISZERO
000013a0: DUP1
000013a1: DUP1
000013a2: ISZERO
000013a3: PUSH2 0x13b3
000013a6: JUMPI
000013a7: POP
000013a8: PUSH1 0x00
000013aa: SLOAD
000013ab: PUSH1 0x01
000013ad: PUSH1 0xff
000013af: SWAP1
000013b0: SWAP2
000013b1: AND
000013b2: LT
000013b3: JUMPDEST
000013b4: DUP1
000013b5: PUSH2 0x13cd
000013b8: JUMPI
000013b9: POP
000013ba: ADDRESS
000013bb: EXTCODESIZE
000013bc: ISZERO
000013bd: DUP1
000013be: ISZERO
000013bf: PUSH2 0x13cd
000013c2: JUMPI
000013c3: POP
000013c4: PUSH1 0x00
000013c6: SLOAD
000013c7: PUSH1 0xff
000013c9: AND
000013ca: PUSH1 0x01
000013cc: EQ
000013cd: JUMPDEST
000013ce: PUSH2 0x13f2
000013d1: JUMPI
000013d2: PUSH1 0x40
000013d4: MLOAD
000013d5: PUSH3 0x461bcd
000013d9: PUSH1 0xe5
000013db: SHL
000013dc: DUP2
000013dd: MSTORE
000013de: PUSH1 0x04
000013e0: ADD
000013e1: PUSH2 0x13e9
000013e4: SWAP1
000013e5: PUSH2 0x49db
000013e8: JUMP
000013e9: JUMPDEST
000013ea: PUSH1 0x40
000013ec: MLOAD
000013ed: DUP1
000013ee: SWAP2
000013ef: SUB
000013f0: SWAP1
000013f1: REVERT
000013f2: JUMPDEST
000013f3: PUSH1 0x00
000013f5: DUP1
000013f6: SLOAD
000013f7: PUSH1 0xff
000013f9: NOT
000013fa: AND
000013fb: PUSH1 0x01
000013fd: OR
000013fe: SWAP1
000013ff: SSTORE
00001400: DUP1
00001401: ISZERO
00001402: PUSH2 0x1415
00001405: JUMPI
00001406: PUSH1 0x00
00001408: DUP1
00001409: SLOAD
0000140a: PUSH2 0xff00
0000140d: NOT
0000140e: AND
0000140f: PUSH2 0x0100
00001412: OR
00001413: SWAP1
00001414: SSTORE
00001415: JUMPDEST
00001416: PUSH2 0x1425
00001419: DUP8
0000141a: DUP8
0000141b: DUP8
0000141c: DUP8
0000141d: DUP8
0000141e: DUP8
0000141f: PUSH1 0x00
00001421: PUSH2 0x2c99
00001424: JUMP
00001425: JUMPDEST
00001426: DUP1
00001427: ISZERO
00001428: PUSH2 0x146b
0000142b: JUMPI
0000142c: PUSH1 0x00
0000142e: DUP1
0000142f: SLOAD
00001430: PUSH2 0xff00
00001433: NOT
00001434: AND
00001435: SWAP1
00001436: SSTORE
00001437: PUSH1 0x40
00001439: MLOAD
0000143a: PUSH1 0x01
0000143c: DUP2
0000143d: MSTORE
0000143e: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498
0000145f: SWAP1
00001460: PUSH1 0x20
00001462: ADD
00001463: PUSH1 0x40
00001465: MLOAD
00001466: DUP1
00001467: SWAP2
00001468: SUB
00001469: SWAP1
0000146a: LOG1
0000146b: JUMPDEST
0000146c: POP
0000146d: POP
0000146e: POP
0000146f: POP
00001470: POP
00001471: POP
00001472: POP
00001473: JUMP
00001474: JUMPDEST
00001475: PUSH2 0x0bb6
00001478: CALLER
00001479: CALLER
0000147a: CALLER
0000147b: DUP5
0000147c: PUSH1 0x40
0000147e: MLOAD
0000147f: DUP1
00001480: PUSH1 0x20
00001482: ADD
00001483: PUSH1 0x40
00001485: MSTORE
00001486: DUP1
00001487: PUSH1 0x00
00001489: DUP2
0000148a: MSTORE
0000148b: POP
0000148c: PUSH1 0x40
0000148e: MLOAD
0000148f: DUP1
00001490: PUSH1 0x20
00001492: ADD
00001493: PUSH1 0x40
00001495: MSTORE
00001496: DUP1
00001497: PUSH1 0x00
00001499: DUP2
0000149a: MSTORE
0000149b: POP
0000149c: PUSH2 0x2a11
0000149f: JUMP
000014a0: JUMPDEST
000014a1: PUSH1 0x00
000014a3: PUSH2 0x14b8
000014a6: PUSH1 0x00
000014a8: DUP1
000014a9: MLOAD
000014aa: PUSH1 0x20
000014ac: PUSH2 0x4d8d
000014af: DUP4
000014b0: CODECOPY
000014b1: DUP2
000014b2: MLOAD
000014b3: SWAP2
000014b4: MSTORE
000014b5: SLOAD
000014b6: SWAP1
000014b7: JUMP
000014b8: JUMPDEST
000014b9: SWAP1
000014ba: POP
000014bb: PUSH1 0x00
000014bd: PUSH1 0x01
000014bf: PUSH1 0x01
000014c1: PUSH1 0xa0
000014c3: SHL
000014c4: SUB
000014c5: DUP3
000014c6: AND
000014c7: ISZERO
000014c8: PUSH2 0x14d1
000014cb: JUMPI
000014cc: DUP2
000014cd: PUSH2 0x14f3
000014d0: JUMP
000014d1: JUMPDEST
000014d2: PUSH32 0x0000000000000000000000004e583d9390082b65bef884b629dfa426114ced6d
000014f3: JUMPDEST
000014f4: SWAP1
000014f5: POP
000014f6: CALLER
000014f7: PUSH1 0x01
000014f9: PUSH1 0x01
000014fb: PUSH1 0xa0
000014fd: SHL
000014fe: SUB
000014ff: DUP3
00001500: AND
00001501: EQ
00001502: PUSH2 0x151e
00001505: JUMPI
00001506: PUSH1 0x40
00001508: MLOAD
00001509: PUSH4 0x0484acab
0000150e: PUSH1 0xe0
00001510: SHL
00001511: DUP2
00001512: MSTORE
00001513: PUSH1 0x04
00001515: ADD
00001516: PUSH1 0x40
00001518: MLOAD
00001519: DUP1
0000151a: SWAP2
0000151b: SUB
0000151c: SWAP1
0000151d: REVERT
0000151e: JUMPDEST
0000151f: PUSH2 0x10a0
00001522: DUP4
00001523: PUSH2 0x2d61
00001526: JUMP
00001527: JUMPDEST
00001528: PUSH32 0x0000000000000000000000004e583d9390082b65bef884b629dfa426114ced6d
00001549: PUSH1 0x01
0000154b: PUSH1 0x01
0000154d: PUSH1 0xa0
0000154f: SHL
00001550: SUB
00001551: AND
00001552: CALLER
00001553: EQ
00001554: PUSH2 0x1570
00001557: JUMPI
00001558: PUSH1 0x40
0000155a: MLOAD
0000155b: PUSH4 0xc51efddd
00001560: PUSH1 0xe0
00001562: SHL
00001563: DUP2
00001564: MSTORE
00001565: PUSH1 0x04
00001567: ADD
00001568: PUSH1 0x40
0000156a: MLOAD
0000156b: DUP1
0000156c: SWAP2
0000156d: SUB
0000156e: SWAP1
0000156f: REVERT
00001570: JUMPDEST
00001571: PUSH2 0x10a0
00001574: CALLER
00001575: DUP5
00001576: DUP5
00001577: DUP5
00001578: PUSH1 0x40
0000157a: MLOAD
0000157b: DUP1
0000157c: PUSH1 0x20
0000157e: ADD
0000157f: PUSH1 0x40
00001581: MSTORE
00001582: DUP1
00001583: PUSH1 0x00
00001585: DUP2
00001586: MSTORE
00001587: POP
00001588: PUSH1 0x40
0000158a: MLOAD
0000158b: DUP1
0000158c: PUSH1 0x20
0000158e: ADD
0000158f: PUSH1 0x40
00001591: MSTORE
00001592: DUP1
00001593: PUSH1 0x00
00001595: DUP2
00001596: MSTORE
00001597: POP
00001598: PUSH2 0x254a
0000159b: JUMP
0000159c: JUMPDEST
0000159d: PUSH32 0x0000000000000000000000004e583d9390082b65bef884b629dfa426114ced6d
000015be: PUSH1 0x01
000015c0: PUSH1 0x01
000015c2: PUSH1 0xa0
000015c4: SHL
000015c5: SUB
000015c6: AND
000015c7: CALLER
000015c8: EQ
000015c9: PUSH2 0x15e5
000015cc: JUMPI
000015cd: PUSH1 0x40
000015cf: MLOAD
000015d0: PUSH4 0xc51efddd
000015d5: PUSH1 0xe0
000015d7: SHL
000015d8: DUP2
000015d9: MSTORE
000015da: PUSH1 0x04
000015dc: ADD
000015dd: PUSH1 0x40
000015df: MLOAD
000015e0: DUP1
000015e1: SWAP2
000015e2: SUB
000015e3: SWAP1
000015e4: REVERT
000015e5: JUMPDEST
000015e6: PUSH1 0x01
000015e8: PUSH1 0x01
000015ea: PUSH1 0xa0
000015ec: SHL
000015ed: SUB
000015ee: DUP1
000015ef: DUP5
000015f0: AND
000015f1: PUSH1 0x00
000015f3: SWAP1
000015f4: DUP2
000015f5: MSTORE
000015f6: PUSH1 0x11
000015f8: PUSH1 0x20
000015fa: SWAP1
000015fb: DUP2
000015fc: MSTORE
000015fd: PUSH1 0x40
000015ff: DUP1
00001600: DUP4
00001601: KECCAK256
00001602: SWAP4
00001603: DUP7
00001604: AND
00001605: DUP4
00001606: MSTORE
00001607: SWAP3
00001608: SWAP1
00001609: MSTORE
0000160a: KECCAK256
0000160b: SLOAD
0000160c: PUSH2 0x10a0
0000160f: SWAP1
00001610: DUP5
00001611: SWAP1
00001612: DUP5
00001613: SWAP1
00001614: PUSH2 0x1362
00001617: SWAP1
00001618: DUP6
00001619: SWAP1
0000161a: PUSH2 0x49c8
0000161d: JUMP
0000161e: JUMPDEST
0000161f: PUSH1 0x60
00001621: PUSH1 0x00
00001623: DUP6
00001624: DUP6
00001625: DUP6
00001626: PUSH1 0x40
00001628: MLOAD
00001629: PUSH1 0x20
0000162b: ADD
0000162c: PUSH2 0x1637
0000162f: SWAP4
00001630: SWAP3
00001631: SWAP2
00001632: SWAP1
00001633: PUSH2 0x475c
00001636: JUMP
00001637: JUMPDEST
00001638: PUSH1 0x40
0000163a: MLOAD
0000163b: PUSH1 0x20
0000163d: DUP2
0000163e: DUP4
0000163f: SUB
00001640: SUB
00001641: DUP2
00001642: MSTORE
00001643: SWAP1
00001644: PUSH1 0x40
00001646: MSTORE
00001647: DUP1
00001648: MLOAD
00001649: SWAP1
0000164a: PUSH1 0x20
0000164c: ADD
0000164d: KECCAK256
0000164e: SWAP1
0000164f: POP
00001650: PUSH2 0x1659
00001653: DUP2
00001654: DUP5
00001655: PUSH2 0x2f9b
00001658: JUMP
00001659: JUMPDEST
0000165a: SWAP7
0000165b: SWAP6
0000165c: POP
0000165d: POP
0000165e: POP
0000165f: POP
00001660: POP
00001661: POP
00001662: JUMP
00001663: JUMPDEST
00001664: PUSH1 0x00
00001666: PUSH2 0x0a29
00001669: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
0000168a: SLOAD
0000168b: SWAP1
0000168c: JUMP
0000168d: JUMPDEST
0000168e: PUSH2 0x16de
00001691: CALLER
00001692: CALLER
00001693: DUP7
00001694: DUP7
00001695: DUP7
00001696: DUP7
00001697: DUP1
00001698: DUP1
00001699: PUSH1 0x1f
0000169b: ADD
0000169c: PUSH1 0x20
0000169e: DUP1
0000169f: SWAP2
000016a0: DIV
000016a1: MUL
000016a2: PUSH1 0x20
000016a4: ADD
000016a5: PUSH1 0x40
000016a7: MLOAD
000016a8: SWAP1
000016a9: DUP2
000016aa: ADD
000016ab: PUSH1 0x40
000016ad: MSTORE
000016ae: DUP1
000016af: SWAP4
000016b0: SWAP3
000016b1: SWAP2
000016b2: SWAP1
000016b3: DUP2
000016b4: DUP2
000016b5: MSTORE
000016b6: PUSH1 0x20
000016b8: ADD
000016b9: DUP4
000016ba: DUP4
000016bb: DUP1
000016bc: DUP3
000016bd: DUP5
000016be: CALLDATACOPY
000016bf: PUSH1 0x00
000016c1: SWAP3
000016c2: ADD
000016c3: DUP3
000016c4: SWAP1
000016c5: MSTORE
000016c6: POP
000016c7: PUSH1 0x40
000016c9: DUP1
000016ca: MLOAD
000016cb: PUSH1 0x20
000016cd: DUP2
000016ce: ADD
000016cf: SWAP1
000016d0: SWAP2
000016d1: MSTORE
000016d2: SWAP1
000016d3: DUP2
000016d4: MSTORE
000016d5: SWAP3
000016d6: POP
000016d7: PUSH2 0x2a11
000016da: SWAP2
000016db: POP
000016dc: POP
000016dd: JUMP
000016de: JUMPDEST
000016df: POP
000016e0: POP
000016e1: POP
000016e2: POP
000016e3: JUMP
000016e4: JUMPDEST
000016e5: PUSH32 0x0000000000000000000000004e583d9390082b65bef884b629dfa426114ced6d
00001706: PUSH1 0x01
00001708: PUSH1 0x01
0000170a: PUSH1 0xa0
0000170c: SHL
0000170d: SUB
0000170e: AND
0000170f: CALLER
00001710: EQ
00001711: PUSH2 0x172d
00001714: JUMPI
00001715: PUSH1 0x40
00001717: MLOAD
00001718: PUSH4 0xc51efddd
0000171d: PUSH1 0xe0
0000171f: SHL
00001720: DUP2
00001721: MSTORE
00001722: PUSH1 0x04
00001724: ADD
00001725: PUSH1 0x40
00001727: MLOAD
00001728: DUP1
00001729: SWAP2
0000172a: SUB
0000172b: SWAP1
0000172c: REVERT
0000172d: JUMPDEST
0000172e: PUSH2 0x10a0
00001731: DUP4
00001732: DUP4
00001733: DUP4
00001734: PUSH2 0x249b
00001737: JUMP
00001738: JUMPDEST
00001739: CALLER
0000173a: PUSH2 0x1745
0000173d: PUSH1 0x12
0000173f: DUP3
00001740: DUP11
00001741: PUSH2 0x3022
00001744: JUMP
00001745: JUMPDEST
00001746: PUSH2 0x1762
00001749: JUMPI
0000174a: PUSH1 0x40
0000174c: MLOAD
0000174d: PUSH4 0xf7f02227
00001752: PUSH1 0xe0
00001754: SHL
00001755: DUP2
00001756: MSTORE
00001757: PUSH1 0x04
00001759: ADD
0000175a: PUSH1 0x40
0000175c: MLOAD
0000175d: DUP1
0000175e: SWAP2
0000175f: SUB
00001760: SWAP1
00001761: REVERT
00001762: JUMPDEST
00001763: PUSH2 0x17dc
00001766: DUP2
00001767: DUP10
00001768: DUP10
00001769: DUP10
0000176a: DUP10
0000176b: DUP10
0000176c: DUP1
0000176d: DUP1
0000176e: PUSH1 0x1f
00001770: ADD
00001771: PUSH1 0x20
00001773: DUP1
00001774: SWAP2
00001775: DIV
00001776: MUL
00001777: PUSH1 0x20
00001779: ADD
0000177a: PUSH1 0x40
0000177c: MLOAD
0000177d: SWAP1
0000177e: DUP2
0000177f: ADD
00001780: PUSH1 0x40
00001782: MSTORE
00001783: DUP1
00001784: SWAP4
00001785: SWAP3
00001786: SWAP2
00001787: SWAP1
00001788: DUP2
00001789: DUP2
0000178a: MSTORE
0000178b: PUSH1 0x20
0000178d: ADD
0000178e: DUP4
0000178f: DUP4
00001790: DUP1
00001791: DUP3
00001792: DUP5
00001793: CALLDATACOPY
00001794: PUSH1 0x00
00001796: SWAP3
00001797: ADD
00001798: SWAP2
00001799: SWAP1
0000179a: SWAP2
0000179b: MSTORE
0000179c: POP
0000179d: POP
0000179e: PUSH1 0x40
000017a0: DUP1
000017a1: MLOAD
000017a2: PUSH1 0x20
000017a4: PUSH1 0x1f
000017a6: DUP14
000017a7: ADD
000017a8: DUP2
000017a9: SWAP1
000017aa: DIV
000017ab: DUP2
000017ac: MUL
000017ad: DUP3
000017ae: ADD
000017af: DUP2
000017b0: ADD
000017b1: SWAP1
000017b2: SWAP3
000017b3: MSTORE
000017b4: DUP12
000017b5: DUP2
000017b6: MSTORE
000017b7: SWAP3
000017b8: POP
000017b9: DUP12
000017ba: SWAP2
000017bb: POP
000017bc: DUP11
000017bd: SWAP1
000017be: DUP2
000017bf: SWAP1
000017c0: DUP5
000017c1: ADD
000017c2: DUP4
000017c3: DUP3
000017c4: DUP1
000017c5: DUP3
000017c6: DUP5
000017c7: CALLDATACOPY
000017c8: PUSH1 0x00
000017ca: SWAP3
000017cb: ADD
000017cc: SWAP2
000017cd: SWAP1
000017ce: SWAP2
000017cf: MSTORE
000017d0: POP
000017d1: PUSH1 0x01
000017d3: SWAP3
000017d4: POP
000017d5: PUSH2 0x30cb
000017d8: SWAP2
000017d9: POP
000017da: POP
000017db: JUMP
000017dc: JUMPDEST
000017dd: POP
000017de: POP
000017df: POP
000017e0: POP
000017e1: POP
000017e2: POP
000017e3: POP
000017e4: POP
000017e5: JUMP
000017e6: JUMPDEST
000017e7: CALLER
000017e8: ADDRESS
000017e9: EQ
000017ea: PUSH2 0x172d
000017ed: JUMPI
000017ee: PUSH1 0x40
000017f0: MLOAD
000017f1: PUSH4 0x0fff4cc9
000017f6: PUSH1 0xe3
000017f8: SHL
000017f9: DUP2
000017fa: MSTORE
000017fb: PUSH1 0x04
000017fd: ADD
000017fe: PUSH1 0x40
00001800: MLOAD
00001801: DUP1
00001802: SWAP2
00001803: SUB
00001804: SWAP1
00001805: REVERT
00001806: JUMPDEST
00001807: PUSH1 0x60
00001809: PUSH1 0x00
0000180b: DUP5
0000180c: DUP5
0000180d: PUSH1 0x40
0000180f: MLOAD
00001810: PUSH1 0x20
00001812: ADD
00001813: PUSH2 0x181d
00001816: SWAP3
00001817: SWAP2
00001818: SWAP1
00001819: PUSH2 0x47a5
0000181c: JUMP
0000181d: JUMPDEST
0000181e: PUSH1 0x40
00001820: MLOAD
00001821: PUSH1 0x20
00001823: DUP2
00001824: DUP4
00001825: SUB
00001826: SUB
00001827: DUP2
00001828: MSTORE
00001829: SWAP1
0000182a: PUSH1 0x40
0000182c: MSTORE
0000182d: DUP1
0000182e: MLOAD
0000182f: SWAP1
00001830: PUSH1 0x20
00001832: ADD
00001833: KECCAK256
00001834: SWAP1
00001835: POP
00001836: PUSH2 0x183f
00001839: DUP2
0000183a: DUP5
0000183b: PUSH2 0x2f9b
0000183e: JUMP
0000183f: JUMPDEST
00001840: SWAP6
00001841: SWAP5
00001842: POP
00001843: POP
00001844: POP
00001845: POP
00001846: POP
00001847: JUMP
00001848: JUMPDEST
00001849: PUSH1 0x00
0000184b: PUSH2 0x0a29
0000184e: PUSH1 0x00
00001850: DUP1
00001851: MLOAD
00001852: PUSH1 0x20
00001854: PUSH2 0x4d8d
00001857: DUP4
00001858: CODECOPY
00001859: DUP2
0000185a: MLOAD
0000185b: SWAP2
0000185c: MSTORE
0000185d: SLOAD
0000185e: SWAP1
0000185f: JUMP
00001860: JUMPDEST
00001861: PUSH1 0x00
00001863: DUP1
00001864: PUSH2 0x186c
00001867: DUP4
00001868: PUSH2 0x11e5
0000186b: JUMP
0000186c: JUMPDEST
0000186d: POP
0000186e: POP
0000186f: POP
00001870: SWAP1
00001871: POP
00001872: PUSH1 0x00
00001874: DUP2
00001875: SLT
00001876: PUSH2 0x187f
00001879: JUMPI
0000187a: DUP1
0000187b: PUSH2 0x1882
0000187e: JUMP
0000187f: JUMPDEST
00001880: PUSH1 0x00
00001882: JUMPDEST
00001883: SWAP4
00001884: SWAP3
00001885: POP
00001886: POP
00001887: POP
00001888: JUMP
00001889: JUMPDEST
0000188a: PUSH1 0x00
0000188c: PUSH2 0x0b84
0000188f: DUP3
00001890: PUSH32 0x0000000000000000000000004e583d9390082b65bef884b629dfa426114ced6d
000018b1: PUSH1 0x01
000018b3: PUSH1 0x01
000018b5: PUSH1 0xa0
000018b7: SHL
000018b8: SUB
000018b9: AND
000018ba: PUSH4 0xbbe4fd50
000018bf: PUSH1 0x40
000018c1: MLOAD
000018c2: DUP2
000018c3: PUSH4 0xffffffff
000018c8: AND
000018c9: PUSH1 0xe0
000018cb: SHL
000018cc: DUP2
000018cd: MSTORE
000018ce: PUSH1 0x04
000018d0: ADD
000018d1: PUSH1 0x20
000018d3: PUSH1 0x40
000018d5: MLOAD
000018d6: DUP1
000018d7: DUP4
000018d8: SUB
000018d9: DUP2
000018da: DUP7
000018db: GAS
000018dc: STATICCALL
000018dd: ISZERO
000018de: DUP1
000018df: ISZERO
000018e0: PUSH2 0x18ed
000018e3: JUMPI
000018e4: RETURNDATASIZE
000018e5: PUSH1 0x00
000018e7: DUP1
000018e8: RETURNDATACOPY
000018e9: RETURNDATASIZE
000018ea: PUSH1 0x00
000018ec: REVERT
000018ed: JUMPDEST
000018ee: POP
000018ef: POP
000018f0: POP
000018f1: POP
000018f2: PUSH1 0x40
000018f4: MLOAD
000018f5: RETURNDATASIZE
000018f6: PUSH1 0x1f
000018f8: NOT
000018f9: PUSH1 0x1f
000018fb: DUP3
000018fc: ADD
000018fd: AND
000018fe: DUP3
000018ff: ADD
00001900: DUP1
00001901: PUSH1 0x40
00001903: MSTORE
00001904: POP
00001905: DUP2
00001906: ADD
00001907: SWAP1
00001908: PUSH2 0x0906
0000190b: SWAP2
0000190c: SWAP1
0000190d: PUSH2 0x4903
00001910: JUMP
00001911: JUMPDEST
00001912: PUSH2 0x1130
00001915: CALLER
00001916: CALLER
00001917: DUP5
00001918: DUP5
00001919: PUSH1 0x40
0000191b: MLOAD
0000191c: DUP1
0000191d: PUSH1 0x20
0000191f: ADD
00001920: PUSH1 0x40
00001922: MSTORE
00001923: DUP1
00001924: PUSH1 0x00
00001926: DUP2
00001927: MSTORE
00001928: POP
00001929: PUSH1 0x40
0000192b: MLOAD
0000192c: DUP1
0000192d: PUSH1 0x20
0000192f: ADD
00001930: PUSH1 0x40
00001932: MSTORE
00001933: DUP1
00001934: PUSH1 0x00
00001936: DUP2
00001937: MSTORE
00001938: POP
00001939: PUSH2 0x254a
0000193c: JUMP
0000193d: JUMPDEST
0000193e: PUSH1 0x00
00001940: PUSH2 0x1955
00001943: PUSH1 0x00
00001945: DUP1
00001946: MLOAD
00001947: PUSH1 0x20
00001949: PUSH2 0x4d8d
0000194c: DUP4
0000194d: CODECOPY
0000194e: DUP2
0000194f: MLOAD
00001950: SWAP2
00001951: MSTORE
00001952: SLOAD
00001953: SWAP1
00001954: JUMP
00001955: JUMPDEST
00001956: SWAP1
00001957: POP
00001958: PUSH1 0x00
0000195a: PUSH1 0x01
0000195c: PUSH1 0x01
0000195e: PUSH1 0xa0
00001960: SHL
00001961: SUB
00001962: DUP3
00001963: AND
00001964: ISZERO
00001965: PUSH2 0x196e
00001968: JUMPI
00001969: DUP2
0000196a: PUSH2 0x1990
0000196d: JUMP
0000196e: JUMPDEST
0000196f: PUSH32 0x0000000000000000000000004e583d9390082b65bef884b629dfa426114ced6d
00001990: JUMPDEST
00001991: SWAP1
00001992: POP
00001993: CALLER
00001994: PUSH1 0x01
00001996: PUSH1 0x01
00001998: PUSH1 0xa0
0000199a: SHL
0000199b: SUB
0000199c: DUP3
0000199d: AND
0000199e: EQ
0000199f: PUSH2 0x19bb
000019a2: JUMPI
000019a3: PUSH1 0x40
000019a5: MLOAD
000019a6: PUSH4 0x0484acab
000019ab: PUSH1 0xe0
000019ad: SHL
000019ae: DUP2
000019af: MSTORE
000019b0: PUSH1 0x04
000019b2: ADD
000019b3: PUSH1 0x40
000019b5: MLOAD
000019b6: DUP1
000019b7: SWAP2
000019b8: SUB
000019b9: SWAP1
000019ba: REVERT
000019bb: JUMPDEST
000019bc: PUSH1 0x00
000019be: PUSH2 0x19d3
000019c1: PUSH1 0x00
000019c3: DUP1
000019c4: MLOAD
000019c5: PUSH1 0x20
000019c7: PUSH2 0x4d8d
000019ca: DUP4
000019cb: CODECOPY
000019cc: DUP2
000019cd: MLOAD
000019ce: SWAP2
000019cf: MSTORE
000019d0: SLOAD
000019d1: SWAP1
000019d2: JUMP
000019d3: JUMPDEST
000019d4: SWAP1
000019d5: POP
000019d6: PUSH2 0x19eb
000019d9: DUP5
000019da: PUSH1 0x00
000019dc: DUP1
000019dd: MLOAD
000019de: PUSH1 0x20
000019e0: PUSH2 0x4d8d
000019e3: DUP4
000019e4: CODECOPY
000019e5: DUP2
000019e6: MLOAD
000019e7: SWAP2
000019e8: MSTORE
000019e9: SSTORE
000019ea: JUMP
000019eb: JUMPDEST
000019ec: DUP4
000019ed: PUSH1 0x01
000019ef: PUSH1 0x01
000019f1: PUSH1 0xa0
000019f3: SHL
000019f4: SUB
000019f5: AND
000019f6: DUP2
000019f7: PUSH1 0x01
000019f9: PUSH1 0x01
000019fb: PUSH1 0xa0
000019fd: SHL
000019fe: SUB
000019ff: AND
00001a00: PUSH32 0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f
00001a21: PUSH1 0x40
00001a23: MLOAD
00001a24: PUSH1 0x40
00001a26: MLOAD
00001a27: DUP1
00001a28: SWAP2
00001a29: SUB
00001a2a: SWAP1
00001a2b: LOG3
00001a2c: POP
00001a2d: POP
00001a2e: POP
00001a2f: POP
00001a30: JUMP
00001a31: JUMPDEST
00001a32: CALLER
00001a33: PUSH2 0x1a3e
00001a36: PUSH1 0x12
00001a38: DUP3
00001a39: DUP5
00001a3a: PUSH2 0x3144
00001a3d: JUMP
00001a3e: JUMPDEST
00001a3f: DUP1
00001a40: PUSH1 0x01
00001a42: PUSH1 0x01
00001a44: PUSH1 0xa0
00001a46: SHL
00001a47: SUB
00001a48: AND
00001a49: DUP3
00001a4a: PUSH1 0x01
00001a4c: PUSH1 0x01
00001a4e: PUSH1 0xa0
00001a50: SHL
00001a51: SUB
00001a52: AND
00001a53: PUSH32 0xf4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f9
00001a74: PUSH1 0x40
00001a76: MLOAD
00001a77: PUSH1 0x40
00001a79: MLOAD
00001a7a: DUP1
00001a7b: SWAP2
00001a7c: SUB
00001a7d: SWAP1
00001a7e: LOG3
00001a7f: POP
00001a80: POP
00001a81: JUMP
00001a82: JUMPDEST
00001a83: PUSH1 0x60
00001a85: PUSH1 0x10
00001a87: DUP1
00001a88: SLOAD
00001a89: PUSH2 0x0a3d
00001a8c: SWAP1
00001a8d: PUSH2 0x4722
00001a90: JUMP
00001a91: JUMPDEST
00001a92: PUSH1 0x00
00001a94: SLOAD
00001a95: PUSH2 0x0100
00001a98: SWAP1
00001a99: DIV
00001a9a: PUSH1 0xff
00001a9c: AND
00001a9d: ISZERO
00001a9e: DUP1
00001a9f: DUP1
00001aa0: ISZERO
00001aa1: PUSH2 0x1ab1
00001aa4: JUMPI
00001aa5: POP
00001aa6: PUSH1 0x00
00001aa8: SLOAD
00001aa9: PUSH1 0x01
00001aab: PUSH1 0xff
00001aad: SWAP1
00001aae: SWAP2
00001aaf: AND
00001ab0: LT
00001ab1: JUMPDEST
00001ab2: DUP1
00001ab3: PUSH2 0x1acb
00001ab6: JUMPI
00001ab7: POP
00001ab8: ADDRESS
00001ab9: EXTCODESIZE
00001aba: ISZERO
00001abb: DUP1
00001abc: ISZERO
00001abd: PUSH2 0x1acb
00001ac0: JUMPI
00001ac1: POP
00001ac2: PUSH1 0x00
00001ac4: SLOAD
00001ac5: PUSH1 0xff
00001ac7: AND
00001ac8: PUSH1 0x01
00001aca: EQ
00001acb: JUMPDEST
00001acc: PUSH2 0x1ae7
00001acf: JUMPI
00001ad0: PUSH1 0x40
00001ad2: MLOAD
00001ad3: PUSH3 0x461bcd
00001ad7: PUSH1 0xe5
00001ad9: SHL
00001ada: DUP2
00001adb: MSTORE
00001adc: PUSH1 0x04
00001ade: ADD
00001adf: PUSH2 0x13e9
00001ae2: SWAP1
00001ae3: PUSH2 0x49db
00001ae6: JUMP
00001ae7: JUMPDEST
00001ae8: PUSH1 0x00
00001aea: DUP1
00001aeb: SLOAD
00001aec: PUSH1 0xff
00001aee: NOT
00001aef: AND
00001af0: PUSH1 0x01
00001af2: OR
00001af3: SWAP1
00001af4: SSTORE
00001af5: DUP1
00001af6: ISZERO
00001af7: PUSH2 0x1b0a
00001afa: JUMPI
00001afb: PUSH1 0x00
00001afd: DUP1
00001afe: SLOAD
00001aff: PUSH2 0xff00
00001b02: NOT
00001b03: AND
00001b04: PUSH2 0x0100
00001b07: OR
00001b08: SWAP1
00001b09: SSTORE
00001b0a: JUMPDEST
00001b0b: DUP1
00001b0c: ISZERO
00001b0d: PUSH2 0x0bb6
00001b10: JUMPI
00001b11: PUSH1 0x00
00001b13: DUP1
00001b14: SLOAD
00001b15: PUSH2 0xff00
00001b18: NOT
00001b19: AND
00001b1a: SWAP1
00001b1b: SSTORE
00001b1c: PUSH1 0x40
00001b1e: MLOAD
00001b1f: PUSH1 0x01
00001b21: DUP2
00001b22: MSTORE
00001b23: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498
00001b44: SWAP1
00001b45: PUSH1 0x20
00001b47: ADD
00001b48: JUMPDEST
00001b49: PUSH1 0x40
00001b4b: MLOAD
00001b4c: DUP1
00001b4d: SWAP2
00001b4e: SUB
00001b4f: SWAP1
00001b50: LOG1
00001b51: POP
00001b52: JUMP
00001b53: JUMPDEST
00001b54: PUSH2 0x16de
00001b57: CALLER
00001b58: CALLER
00001b59: DUP7
00001b5a: DUP7
00001b5b: DUP7
00001b5c: DUP7
00001b5d: DUP1
00001b5e: DUP1
00001b5f: PUSH1 0x1f
00001b61: ADD
00001b62: PUSH1 0x20
00001b64: DUP1
00001b65: SWAP2
00001b66: DIV
00001b67: MUL
00001b68: PUSH1 0x20
00001b6a: ADD
00001b6b: PUSH1 0x40
00001b6d: MLOAD
00001b6e: SWAP1
00001b6f: DUP2
00001b70: ADD
00001b71: PUSH1 0x40
00001b73: MSTORE
00001b74: DUP1
00001b75: SWAP4
00001b76: SWAP3
00001b77: SWAP2
00001b78: SWAP1
00001b79: DUP2
00001b7a: DUP2
00001b7b: MSTORE
00001b7c: PUSH1 0x20
00001b7e: ADD
00001b7f: DUP4
00001b80: DUP4
00001b81: DUP1
00001b82: DUP3
00001b83: DUP5
00001b84: CALLDATACOPY
00001b85: PUSH1 0x00
00001b87: SWAP3
00001b88: ADD
00001b89: DUP3
00001b8a: SWAP1
00001b8b: MSTORE
00001b8c: POP
00001b8d: PUSH1 0x40
00001b8f: DUP1
00001b90: MLOAD
00001b91: PUSH1 0x20
00001b93: DUP2
00001b94: ADD
00001b95: SWAP1
00001b96: SWAP2
00001b97: MSTORE
00001b98: SWAP1
00001b99: DUP2
00001b9a: MSTORE
00001b9b: SWAP3
00001b9c: POP
00001b9d: PUSH1 0x01
00001b9f: SWAP2
00001ba0: POP
00001ba1: PUSH2 0x30cb
00001ba4: SWAP1
00001ba5: POP
00001ba6: JUMP
00001ba7: JUMPDEST
00001ba8: CALLER
00001ba9: ADDRESS
00001baa: EQ
00001bab: PUSH2 0x1bc7
00001bae: JUMPI
00001baf: PUSH1 0x40
00001bb1: MLOAD
00001bb2: PUSH4 0x0fff4cc9
00001bb7: PUSH1 0xe3
00001bb9: SHL
00001bba: DUP2
00001bbb: MSTORE
00001bbc: PUSH1 0x04
00001bbe: ADD
00001bbf: PUSH1 0x40
00001bc1: MLOAD
00001bc2: DUP1
00001bc3: SWAP2
00001bc4: SUB
00001bc5: SWAP1
00001bc6: REVERT
00001bc7: JUMPDEST
00001bc8: DUP1
00001bc9: MLOAD
00001bca: PUSH1 0x40
00001bcc: DUP1
00001bcd: MLOAD
00001bce: PUSH1 0x00
00001bd0: DUP2
00001bd1: MSTORE
00001bd2: PUSH1 0x20
00001bd4: DUP2
00001bd5: ADD
00001bd6: SWAP1
00001bd7: SWAP2
00001bd8: MSTORE
00001bd9: PUSH2 0x10a0
00001bdc: SWAP2
00001bdd: CALLER
00001bde: SWAP2
00001bdf: DUP7
00001be0: SWAP2
00001be1: DUP7
00001be2: SWAP2
00001be3: SWAP1
00001be4: ISZERO
00001be5: ISZERO
00001be6: SWAP1
00001be7: DUP7
00001be8: SWAP1
00001be9: PUSH2 0x3248
00001bec: JUMP
00001bed: JUMPDEST
00001bee: PUSH1 0x40
00001bf0: MLOAD
00001bf1: CALLER
00001bf2: SWAP1
00001bf3: PUSH1 0x00
00001bf5: SWAP1
00001bf6: PUSH2 0x1c05
00001bf9: SWAP1
00001bfa: DUP4
00001bfb: SWAP1
00001bfc: DUP8
00001bfd: SWAP1
00001bfe: PUSH1 0x20
00001c00: ADD
00001c01: PUSH2 0x47a5
00001c04: JUMP
00001c05: JUMPDEST
00001c06: PUSH1 0x40
00001c08: MLOAD
00001c09: PUSH1 0x20
00001c0b: DUP2
00001c0c: DUP4
00001c0d: SUB
00001c0e: SUB
00001c0f: DUP2
00001c10: MSTORE
00001c11: SWAP1
00001c12: PUSH1 0x40
00001c14: MSTORE
00001c15: DUP1
00001c16: MLOAD
00001c17: SWAP1
00001c18: PUSH1 0x20
00001c1a: ADD
00001c1b: KECCAK256
00001c1c: SWAP1
00001c1d: POP
00001c1e: PUSH2 0x1c5a
00001c21: DUP2
00001c22: DUP6
00001c23: DUP6
00001c24: DUP1
00001c25: DUP1
00001c26: PUSH1 0x20
00001c28: MUL
00001c29: PUSH1 0x20
00001c2b: ADD
00001c2c: PUSH1 0x40
00001c2e: MLOAD
00001c2f: SWAP1
00001c30: DUP2
00001c31: ADD
00001c32: PUSH1 0x40
00001c34: MSTORE
00001c35: DUP1
00001c36: SWAP4
00001c37: SWAP3
00001c38: SWAP2
00001c39: SWAP1
00001c3a: DUP2
00001c3b: DUP2
00001c3c: MSTORE
00001c3d: PUSH1 0x20
00001c3f: ADD
00001c40: DUP4
00001c41: DUP4
00001c42: PUSH1 0x20
00001c44: MUL
00001c45: DUP1
00001c46: DUP3
00001c47: DUP5
00001c48: CALLDATACOPY
00001c49: PUSH1 0x00
00001c4b: SWAP3
00001c4c: ADD
00001c4d: SWAP2
00001c4e: SWAP1
00001c4f: SWAP2
00001c50: MSTORE
00001c51: POP
00001c52: PUSH2 0x2463
00001c55: SWAP3
00001c56: POP
00001c57: POP
00001c58: POP
00001c59: JUMP
00001c5a: JUMPDEST
00001c5b: CALLER
00001c5c: PUSH1 0x01
00001c5e: PUSH1 0x01
00001c60: PUSH1 0xa0
00001c62: SHL
00001c63: SUB
00001c64: AND
00001c65: PUSH32 0x0c4c547b3a4fcaa5be8353b3111472b124155bccc86de811d4a481c9e6e9faca
00001c86: DUP7
00001c87: DUP7
00001c88: DUP7
00001c89: PUSH1 0x40
00001c8b: MLOAD
00001c8c: PUSH2 0x0c8d
00001c8f: SWAP4
00001c90: SWAP3
00001c91: SWAP2
00001c92: SWAP1
00001c93: PUSH2 0x47e2
00001c96: JUMP
00001c97: JUMPDEST
00001c98: PUSH2 0x1130
00001c9b: CALLER
00001c9c: CALLER
00001c9d: DUP4
00001c9e: PUSH2 0x1ca6
00001ca1: CALLER
00001ca2: PUSH2 0x1860
00001ca5: JUMP
00001ca6: JUMPDEST
00001ca7: PUSH2 0x273e
00001caa: JUMP
00001cab: JUMPDEST
00001cac: PUSH1 0x00
00001cae: PUSH2 0x0b80
00001cb1: CALLER
00001cb2: DUP5
00001cb3: PUSH2 0x1362
00001cb6: DUP6
00001cb7: PUSH1 0x40
00001cb9: MLOAD
00001cba: DUP1
00001cbb: PUSH1 0x60
00001cbd: ADD
00001cbe: PUSH1 0x40
00001cc0: MSTORE
00001cc1: DUP1
00001cc2: PUSH1 0x2a
00001cc4: DUP2
00001cc5: MSTORE
00001cc6: PUSH1 0x20
00001cc8: ADD
00001cc9: PUSH2 0x4dad
00001ccc: PUSH1 0x2a
00001cce: SWAP2
00001ccf: CODECOPY
00001cd0: CALLER
00001cd1: PUSH1 0x00
00001cd3: SWAP1
00001cd4: DUP2
00001cd5: MSTORE
00001cd6: PUSH1 0x11
00001cd8: PUSH1 0x20
00001cda: SWAP1
00001cdb: DUP2
00001cdc: MSTORE
00001cdd: PUSH1 0x40
00001cdf: DUP1
00001ce0: DUP4
00001ce1: KECCAK256
00001ce2: PUSH1 0x01
00001ce4: PUSH1 0x01
00001ce6: PUSH1 0xa0
00001ce8: SHL
00001ce9: SUB
00001cea: DUP14
00001ceb: AND
00001cec: DUP5
00001ced: MSTORE
00001cee: SWAP1
00001cef: SWAP2
00001cf0: MSTORE
00001cf1: SWAP1
00001cf2: KECCAK256
00001cf3: SLOAD
00001cf4: SWAP2
00001cf5: SWAP1
00001cf6: PUSH2 0x3315
00001cf9: JUMP
00001cfa: JUMPDEST
00001cfb: PUSH1 0x00
00001cfd: PUSH2 0x1882
00001d00: CALLER
00001d01: CALLER
00001d02: DUP6
00001d03: DUP6
00001d04: PUSH2 0x273e
00001d07: JUMP
00001d08: JUMPDEST
00001d09: PUSH1 0x00
00001d0b: DUP1
00001d0c: PUSH1 0x00
00001d0e: DUP1
00001d0f: PUSH2 0x1d18
00001d12: DUP7
00001d13: DUP7
00001d14: PUSH2 0x20af
00001d17: JUMP
00001d18: JUMPDEST
00001d19: SWAP3
00001d1a: POP
00001d1b: SWAP3
00001d1c: POP
00001d1d: SWAP3
00001d1e: POP
00001d1f: PUSH1 0x00
00001d21: PUSH2 0x1d40
00001d24: DUP3
00001d25: DUP5
00001d26: GT
00001d27: PUSH2 0x1d31
00001d2a: JUMPI
00001d2b: PUSH1 0x00
00001d2d: PUSH2 0x29a3
00001d30: JUMP
00001d31: JUMPDEST
00001d32: PUSH2 0x1d3b
00001d35: DUP4
00001d36: DUP6
00001d37: PUSH2 0x4a29
00001d3a: JUMP
00001d3b: JUMPDEST
00001d3c: PUSH2 0x29a3
00001d3f: JUMP
00001d40: JUMPDEST
00001d41: PUSH2 0x1d4a
00001d44: SWAP1
00001d45: DUP6
00001d46: PUSH2 0x4888
00001d49: JUMP
00001d4a: JUMPDEST
00001d4b: PUSH1 0x00
00001d4d: SGT
00001d4e: ISZERO
00001d4f: SWAP8
00001d50: SWAP7
00001d51: POP
00001d52: POP
00001d53: POP
00001d54: POP
00001d55: POP
00001d56: POP
00001d57: POP
00001d58: JUMP
00001d59: JUMPDEST
00001d5a: PUSH1 0x00
00001d5c: PUSH2 0x0b84
00001d5f: DUP3
00001d60: PUSH32 0x0000000000000000000000004e583d9390082b65bef884b629dfa426114ced6d
00001d81: PUSH1 0x01
00001d83: PUSH1 0x01
00001d85: PUSH1 0xa0
00001d87: SHL
00001d88: SUB
00001d89: AND
00001d8a: PUSH4 0xbbe4fd50
00001d8f: PUSH1 0x40
00001d91: MLOAD
00001d92: DUP2
00001d93: PUSH4 0xffffffff
00001d98: AND
00001d99: PUSH1 0xe0
00001d9b: SHL
00001d9c: DUP2
00001d9d: MSTORE
00001d9e: PUSH1 0x04
00001da0: ADD
00001da1: PUSH1 0x20
00001da3: PUSH1 0x40
00001da5: MLOAD
00001da6: DUP1
00001da7: DUP4
00001da8: SUB
00001da9: DUP2
00001daa: DUP7
00001dab: GAS
00001dac: STATICCALL
00001dad: ISZERO
00001dae: DUP1
00001daf: ISZERO
00001db0: PUSH2 0x1dbd
00001db3: JUMPI
00001db4: RETURNDATASIZE
00001db5: PUSH1 0x00
00001db7: DUP1
00001db8: RETURNDATACOPY
00001db9: RETURNDATASIZE
00001dba: PUSH1 0x00
00001dbc: REVERT
00001dbd: JUMPDEST
00001dbe: POP
00001dbf: POP
00001dc0: POP
00001dc1: POP
00001dc2: PUSH1 0x40
00001dc4: MLOAD
00001dc5: RETURNDATASIZE
00001dc6: PUSH1 0x1f
00001dc8: NOT
00001dc9: PUSH1 0x1f
00001dcb: DUP3
00001dcc: ADD
00001dcd: AND
00001dce: DUP3
00001dcf: ADD
00001dd0: DUP1
00001dd1: PUSH1 0x40
00001dd3: MSTORE
00001dd4: POP
00001dd5: DUP2
00001dd6: ADD
00001dd7: SWAP1
00001dd8: PUSH2 0x086e
00001ddb: SWAP2
00001ddc: SWAP1
00001ddd: PUSH2 0x4903
00001de0: JUMP
00001de1: JUMPDEST
00001de2: CALLER
00001de3: ADDRESS
00001de4: EQ
00001de5: PUSH2 0x1e01
00001de8: JUMPI
00001de9: PUSH1 0x40
00001deb: MLOAD
00001dec: PUSH4 0x0fff4cc9
00001df1: PUSH1 0xe3
00001df3: SHL
00001df4: DUP2
00001df5: MSTORE
00001df6: PUSH1 0x04
00001df8: ADD
00001df9: PUSH1 0x40
00001dfb: MLOAD
00001dfc: DUP1
00001dfd: SWAP2
00001dfe: SUB
00001dff: SWAP1
00001e00: REVERT
00001e01: JUMPDEST
00001e02: DUP1
00001e03: MLOAD
00001e04: PUSH1 0x40
00001e06: DUP1
00001e07: MLOAD
00001e08: PUSH1 0x00
00001e0a: DUP2
00001e0b: MSTORE
00001e0c: PUSH1 0x20
00001e0e: DUP2
00001e0f: ADD
00001e10: SWAP1
00001e11: SWAP2
00001e12: MSTORE
00001e13: PUSH2 0x10a0
00001e16: SWAP2
00001e17: CALLER
00001e18: SWAP2
00001e19: DUP7
00001e1a: SWAP2
00001e1b: DUP7
00001e1c: SWAP2
00001e1d: SWAP1
00001e1e: ISZERO
00001e1f: ISZERO
00001e20: SWAP1
00001e21: DUP2
00001e22: SWAP1
00001e23: DUP8
00001e24: SWAP1
00001e25: PUSH2 0x3341
00001e28: JUMP
00001e29: JUMPDEST
00001e2a: PUSH32 0x0000000000000000000000004e583d9390082b65bef884b629dfa426114ced6d
00001e4b: PUSH1 0x01
00001e4d: PUSH1 0x01
00001e4f: PUSH1 0xa0
00001e51: SHL
00001e52: SUB
00001e53: AND
00001e54: CALLER
00001e55: EQ
00001e56: PUSH2 0x1e72
00001e59: JUMPI
00001e5a: PUSH1 0x40
00001e5c: MLOAD
00001e5d: PUSH4 0xc51efddd
00001e62: PUSH1 0xe0
00001e64: SHL
00001e65: DUP2
00001e66: MSTORE
00001e67: PUSH1 0x04
00001e69: ADD
00001e6a: PUSH1 0x40
00001e6c: MLOAD
00001e6d: DUP1
00001e6e: SWAP2
00001e6f: SUB
00001e70: SWAP1
00001e71: REVERT
00001e72: JUMPDEST
00001e73: PUSH2 0x10a0
00001e76: DUP4
00001e77: DUP4
00001e78: PUSH2 0x1362
00001e7b: DUP5
00001e7c: PUSH1 0x40
00001e7e: MLOAD
00001e7f: DUP1
00001e80: PUSH1 0x60
00001e82: ADD
00001e83: PUSH1 0x40
00001e85: MSTORE
00001e86: DUP1
00001e87: PUSH1 0x2a
00001e89: DUP2
00001e8a: MSTORE
00001e8b: PUSH1 0x20
00001e8d: ADD
00001e8e: PUSH2 0x4dad
00001e91: PUSH1 0x2a
00001e93: SWAP2
00001e94: CODECOPY
00001e95: PUSH1 0x01
00001e97: PUSH1 0x01
00001e99: PUSH1 0xa0
00001e9b: SHL
00001e9c: SUB
00001e9d: DUP1
00001e9e: DUP11
00001e9f: AND
00001ea0: PUSH1 0x00
00001ea2: SWAP1
00001ea3: DUP2
00001ea4: MSTORE
00001ea5: PUSH1 0x11
00001ea7: PUSH1 0x20
00001ea9: SWAP1
00001eaa: DUP2
00001eab: MSTORE
00001eac: PUSH1 0x40
00001eae: DUP1
00001eaf: DUP4
00001eb0: KECCAK256
00001eb1: SWAP4
00001eb2: DUP13
00001eb3: AND
00001eb4: DUP4
00001eb5: MSTORE
00001eb6: SWAP3
00001eb7: SWAP1
00001eb8: MSTORE
00001eb9: KECCAK256
00001eba: SLOAD
00001ebb: SWAP2
00001ebc: SWAP1
00001ebd: PUSH2 0x3315
00001ec0: JUMP
00001ec1: JUMPDEST
00001ec2: PUSH32 0x0000000000000000000000004e583d9390082b65bef884b629dfa426114ced6d
00001ee3: PUSH1 0x01
00001ee5: PUSH1 0x01
00001ee7: PUSH1 0xa0
00001ee9: SHL
00001eea: SUB
00001eeb: AND
00001eec: CALLER
00001eed: EQ
00001eee: PUSH2 0x1f0a
00001ef1: JUMPI
00001ef2: PUSH1 0x40
00001ef4: MLOAD
00001ef5: PUSH4 0xc51efddd
00001efa: PUSH1 0xe0
00001efc: SHL
00001efd: DUP2
00001efe: MSTORE
00001eff: PUSH1 0x04
00001f01: ADD
00001f02: PUSH1 0x40
00001f04: MLOAD
00001f05: DUP1
00001f06: SWAP2
00001f07: SUB
00001f08: SWAP1
00001f09: REVERT
00001f0a: JUMPDEST
00001f0b: PUSH2 0x16de
00001f0e: CALLER
00001f0f: DUP6
00001f10: DUP6
00001f11: DUP6
00001f12: DUP6
00001f13: PUSH1 0x40
00001f15: MLOAD
00001f16: DUP1
00001f17: PUSH1 0x20
00001f19: ADD
00001f1a: PUSH1 0x40
00001f1c: MSTORE
00001f1d: DUP1
00001f1e: PUSH1 0x00
00001f20: DUP2
00001f21: MSTORE
00001f22: POP
00001f23: PUSH1 0x01
00001f25: PUSH2 0x30cb
00001f28: JUMP
00001f29: JUMPDEST
00001f2a: PUSH32 0x0000000000000000000000004e583d9390082b65bef884b629dfa426114ced6d
00001f4b: PUSH1 0x01
00001f4d: PUSH1 0x01
00001f4f: PUSH1 0xa0
00001f51: SHL
00001f52: SUB
00001f53: AND
00001f54: CALLER
00001f55: EQ
00001f56: PUSH2 0x1f72
00001f59: JUMPI
00001f5a: PUSH1 0x40
00001f5c: MLOAD
00001f5d: PUSH4 0xc51efddd
00001f62: PUSH1 0xe0
00001f64: SHL
00001f65: DUP2
00001f66: MSTORE
00001f67: PUSH1 0x04
00001f69: ADD
00001f6a: PUSH1 0x40
00001f6c: MLOAD
00001f6d: DUP1
00001f6e: SWAP2
00001f6f: SUB
00001f70: SWAP1
00001f71: REVERT
00001f72: JUMPDEST
00001f73: PUSH2 0x1130
00001f76: CALLER
00001f77: DUP4
00001f78: DUP5
00001f79: DUP5
00001f7a: PUSH1 0x40
00001f7c: MLOAD
00001f7d: DUP1
00001f7e: PUSH1 0x20
00001f80: ADD
00001f81: PUSH1 0x40
00001f83: MSTORE
00001f84: DUP1
00001f85: PUSH1 0x00
00001f87: DUP2
00001f88: MSTORE
00001f89: POP
00001f8a: PUSH1 0x40
00001f8c: MLOAD
00001f8d: DUP1
00001f8e: PUSH1 0x20
00001f90: ADD
00001f91: PUSH1 0x40
00001f93: MSTORE
00001f94: DUP1
00001f95: PUSH1 0x00
00001f97: DUP2
00001f98: MSTORE
00001f99: POP
00001f9a: PUSH2 0x2a11
00001f9d: JUMP
00001f9e: JUMPDEST
00001f9f: PUSH1 0x40
00001fa1: MLOAD
00001fa2: PUSH4 0x23292121
00001fa7: PUSH1 0xe2
00001fa9: SHL
00001faa: DUP2
00001fab: MSTORE
00001fac: CALLER
00001fad: PUSH1 0x04
00001faf: DUP3
00001fb0: ADD
00001fb1: MSTORE
00001fb2: PUSH32 0x0000000000000000000000004e583d9390082b65bef884b629dfa426114ced6d
00001fd3: PUSH1 0x01
00001fd5: PUSH1 0x01
00001fd7: PUSH1 0xa0
00001fd9: SHL
00001fda: SUB
00001fdb: AND
00001fdc: SWAP1
00001fdd: PUSH4 0x8ca48484
00001fe2: SWAP1
00001fe3: PUSH1 0x24
00001fe5: ADD
00001fe6: PUSH1 0x20
00001fe8: PUSH1 0x40
00001fea: MLOAD
00001feb: DUP1
00001fec: DUP4
00001fed: SUB
00001fee: DUP2
00001fef: DUP7
00001ff0: GAS
00001ff1: STATICCALL
00001ff2: ISZERO
00001ff3: DUP1
00001ff4: ISZERO
00001ff5: PUSH2 0x2002
00001ff8: JUMPI
00001ff9: RETURNDATASIZE
00001ffa: PUSH1 0x00
00001ffc: DUP1
00001ffd: RETURNDATACOPY
00001ffe: RETURNDATASIZE
00001fff: PUSH1 0x00
00002001: REVERT
00002002: JUMPDEST
00002003: POP
00002004: POP
00002005: POP
00002006: POP
00002007: PUSH1 0x40
00002009: MLOAD
0000200a: RETURNDATASIZE
0000200b: PUSH1 0x1f
0000200d: NOT
0000200e: PUSH1 0x1f
00002010: DUP3
00002011: ADD
00002012: AND
00002013: DUP3
00002014: ADD
00002015: DUP1
00002016: PUSH1 0x40
00002018: MSTORE
00002019: POP
0000201a: DUP2
0000201b: ADD
0000201c: SWAP1
0000201d: PUSH2 0x2026
00002020: SWAP2
00002021: SWAP1
00002022: PUSH2 0x4823
00002025: JUMP
00002026: JUMPDEST
00002027: PUSH2 0x2043
0000202a: JUMPI
0000202b: PUSH1 0x40
0000202d: MLOAD
0000202e: PUSH4 0x327fd991
00002033: PUSH1 0xe2
00002035: SHL
00002036: DUP2
00002037: MSTORE
00002038: PUSH1 0x04
0000203a: ADD
0000203b: PUSH1 0x40
0000203d: MLOAD
0000203e: DUP1
0000203f: SWAP2
00002040: SUB
00002041: SWAP1
00002042: REVERT
00002043: JUMPDEST
00002044: PUSH1 0x01
00002046: PUSH1 0x01
00002048: PUSH1 0xa0
0000204a: SHL
0000204b: SUB
0000204c: DUP3
0000204d: AND
0000204e: PUSH1 0x00
00002050: SWAP1
00002051: DUP2
00002052: MSTORE
00002053: PUSH1 0x02
00002055: PUSH1 0x20
00002057: MSTORE
00002058: PUSH1 0x40
0000205a: SWAP1
0000205b: KECCAK256
0000205c: SLOAD
0000205d: PUSH2 0x2067
00002060: SWAP1
00002061: DUP3
00002062: SWAP1
00002063: PUSH2 0x4888
00002066: JUMP
00002067: JUMPDEST
00002068: PUSH1 0x01
0000206a: PUSH1 0x01
0000206c: PUSH1 0xa0
0000206e: SHL
0000206f: SUB
00002070: SWAP1
00002071: SWAP3
00002072: AND
00002073: PUSH1 0x00
00002075: SWAP1
00002076: DUP2
00002077: MSTORE
00002078: PUSH1 0x02
0000207a: PUSH1 0x20
0000207c: MSTORE
0000207d: PUSH1 0x40
0000207f: SWAP1
00002080: KECCAK256
00002081: SWAP2
00002082: SWAP1
00002083: SWAP2
00002084: SSTORE
00002085: POP
00002086: JUMP
00002087: JUMPDEST
00002088: PUSH1 0x00
0000208a: PUSH2 0x1882
0000208d: PUSH1 0x12
0000208f: DUP5
00002090: DUP5
00002091: PUSH2 0x3022
00002094: JUMP
00002095: JUMPDEST
00002096: PUSH1 0x00
00002098: DUP1
00002099: PUSH2 0x20a2
0000209c: DUP5
0000209d: DUP5
0000209e: PUSH2 0x20af
000020a1: JUMP
000020a2: JUMPDEST
000020a3: POP
000020a4: POP
000020a5: PUSH1 0x00
000020a7: SGT
000020a8: SWAP5
000020a9: SWAP4
000020aa: POP
000020ab: POP
000020ac: POP
000020ad: POP
000020ae: JUMP
000020af: JUMPDEST
000020b0: PUSH1 0x01
000020b2: PUSH1 0x01
000020b4: PUSH1 0xa0
000020b6: SHL
000020b7: SUB
000020b8: DUP3
000020b9: AND
000020ba: PUSH1 0x00
000020bc: SWAP1
000020bd: DUP2
000020be: MSTORE
000020bf: PUSH1 0x02
000020c1: PUSH1 0x20
000020c3: MSTORE
000020c4: PUSH1 0x40
000020c6: DUP2
000020c7: KECCAK256
000020c8: SLOAD
000020c9: SWAP1
000020ca: DUP1
000020cb: DUP1
000020cc: PUSH2 0x20d4
000020cf: DUP7
000020d0: PUSH2 0x1288
000020d3: JUMP
000020d4: JUMPDEST
000020d5: SWAP1
000020d6: POP
000020d7: PUSH1 0x00
000020d9: JUMPDEST
000020da: DUP2
000020db: MLOAD
000020dc: DUP2
000020dd: LT
000020de: ISZERO
000020df: PUSH2 0x21da
000020e2: JUMPI
000020e3: PUSH1 0x00
000020e5: DUP1
000020e6: PUSH1 0x00
000020e8: DUP5
000020e9: DUP5
000020ea: DUP2
000020eb: MLOAD
000020ec: DUP2
000020ed: LT
000020ee: PUSH2 0x20f9
000020f1: JUMPI
000020f2: PUSH2 0x20f9
000020f5: PUSH2 0x4a3c
000020f8: JUMP
000020f9: JUMPDEST
000020fa: PUSH1 0x20
000020fc: SWAP1
000020fd: DUP2
000020fe: MUL
000020ff: SWAP2
00002100: SWAP1
00002101: SWAP2
00002102: ADD
00002103: ADD
00002104: MLOAD
00002105: PUSH1 0x40
00002107: MLOAD
00002108: PUSH4 0x26cb922f
0000210d: PUSH1 0xe2
0000210f: SHL
00002110: DUP2
00002111: MSTORE
00002112: ADDRESS
00002113: PUSH1 0x04
00002115: DUP3
00002116: ADD
00002117: MSTORE
00002118: PUSH1 0x01
0000211a: PUSH1 0x01
0000211c: PUSH1 0xa0
0000211e: SHL
0000211f: SUB
00002120: DUP13
00002121: DUP2
00002122: AND
00002123: PUSH1 0x24
00002125: DUP4
00002126: ADD
00002127: MSTORE
00002128: PUSH1 0x44
0000212a: DUP3
0000212b: ADD
0000212c: DUP13
0000212d: SWAP1
0000212e: MSTORE
0000212f: SWAP1
00002130: SWAP2
00002131: AND
00002132: SWAP1
00002133: PUSH4 0x9b2e48bc
00002138: SWAP1
00002139: PUSH1 0x64
0000213b: ADD
0000213c: PUSH1 0x60
0000213e: PUSH1 0x40
00002140: MLOAD
00002141: DUP1
00002142: DUP4
00002143: SUB
00002144: DUP2
00002145: DUP7
00002146: GAS
00002147: STATICCALL
00002148: ISZERO
00002149: DUP1
0000214a: ISZERO
0000214b: PUSH2 0x2158
0000214e: JUMPI
0000214f: RETURNDATASIZE
00002150: PUSH1 0x00
00002152: DUP1
00002153: RETURNDATACOPY
00002154: RETURNDATASIZE
00002155: PUSH1 0x00
00002157: REVERT
00002158: JUMPDEST
00002159: POP
0000215a: POP
0000215b: POP
0000215c: POP
0000215d: PUSH1 0x40
0000215f: MLOAD
00002160: RETURNDATASIZE
00002161: PUSH1 0x1f
00002163: NOT
00002164: PUSH1 0x1f
00002166: DUP3
00002167: ADD
00002168: AND
00002169: DUP3
0000216a: ADD
0000216b: DUP1
0000216c: PUSH1 0x40
0000216e: MSTORE
0000216f: POP
00002170: DUP2
00002171: ADD
00002172: SWAP1
00002173: PUSH2 0x217c
00002176: SWAP2
00002177: SWAP1
00002178: PUSH2 0x4a52
0000217b: JUMP
0000217c: JUMPDEST
0000217d: SWAP2
0000217e: SWAP5
0000217f: POP
00002180: SWAP3
00002181: POP
00002182: SWAP1
00002183: POP
00002184: PUSH2 0x218d
00002187: DUP3
00002188: DUP9
00002189: PUSH2 0x49c8
0000218c: JUMP
0000218d: JUMPDEST
0000218e: SWAP7
0000218f: POP
00002190: PUSH2 0x2199
00002193: DUP2
00002194: DUP8
00002195: PUSH2 0x49c8
00002198: JUMP
00002199: JUMPDEST
0000219a: SWAP6
0000219b: POP
0000219c: PUSH2 0x21b6
0000219f: DUP2
000021a0: DUP4
000021a1: GT
000021a2: PUSH2 0x21ac
000021a5: JUMPI
000021a6: PUSH1 0x00
000021a8: PUSH2 0x29a3
000021ab: JUMP
000021ac: JUMPDEST
000021ad: PUSH2 0x1d3b
000021b0: DUP3
000021b1: DUP5
000021b2: PUSH2 0x4a29
000021b5: JUMP
000021b6: JUMPDEST
000021b7: PUSH2 0x21c0
000021ba: DUP5
000021bb: DUP11
000021bc: PUSH2 0x4888
000021bf: JUMP
000021c0: JUMPDEST
000021c1: PUSH2 0x21ca
000021c4: SWAP2
000021c5: SWAP1
000021c6: PUSH2 0x48b0
000021c9: JUMP
000021ca: JUMPDEST
000021cb: SWAP8
000021cc: POP
000021cd: POP
000021ce: POP
000021cf: POP
000021d0: DUP1
000021d1: PUSH1 0x01
000021d3: ADD
000021d4: SWAP1
000021d5: POP
000021d6: PUSH2 0x20d9
000021d9: JUMP
000021da: JUMPDEST
000021db: POP
000021dc: POP
000021dd: SWAP3
000021de: POP
000021df: SWAP3
000021e0: POP
000021e1: SWAP3
000021e2: JUMP
000021e3: JUMPDEST
000021e4: PUSH1 0x00
000021e6: SLOAD
000021e7: PUSH2 0x0100
000021ea: SWAP1
000021eb: DIV
000021ec: PUSH1 0xff
000021ee: AND
000021ef: ISZERO
000021f0: DUP1
000021f1: DUP1
000021f2: ISZERO
000021f3: PUSH2 0x2203
000021f6: JUMPI
000021f7: POP
000021f8: PUSH1 0x00
000021fa: SLOAD
000021fb: PUSH1 0x01
000021fd: PUSH1 0xff
000021ff: SWAP1
00002200: SWAP2
00002201: AND
00002202: LT
00002203: JUMPDEST
00002204: DUP1
00002205: PUSH2 0x221d
00002208: JUMPI
00002209: POP
0000220a: ADDRESS
0000220b: EXTCODESIZE
0000220c: ISZERO
0000220d: DUP1
0000220e: ISZERO
0000220f: PUSH2 0x221d
00002212: JUMPI
00002213: POP
00002214: PUSH1 0x00
00002216: SLOAD
00002217: PUSH1 0xff
00002219: AND
0000221a: PUSH1 0x01
0000221c: EQ
0000221d: JUMPDEST
0000221e: PUSH2 0x2239
00002221: JUMPI
00002222: PUSH1 0x40
00002224: MLOAD
00002225: PUSH3 0x461bcd
00002229: PUSH1 0xe5
0000222b: SHL
0000222c: DUP2
0000222d: MSTORE
0000222e: PUSH1 0x04
00002230: ADD
00002231: PUSH2 0x13e9
00002234: SWAP1
00002235: PUSH2 0x49db
00002238: JUMP
00002239: JUMPDEST
0000223a: PUSH1 0x00
0000223c: DUP1
0000223d: SLOAD
0000223e: PUSH1 0xff
00002240: NOT
00002241: AND
00002242: PUSH1 0x01
00002244: OR
00002245: SWAP1
00002246: SSTORE
00002247: DUP1
00002248: ISZERO
00002249: PUSH2 0x225c
0000224c: JUMPI
0000224d: PUSH1 0x00
0000224f: DUP1
00002250: SLOAD
00002251: PUSH2 0xff00
00002254: NOT
00002255: AND
00002256: PUSH2 0x0100
00002259: OR
0000225a: SWAP1
0000225b: SSTORE
0000225c: JUMPDEST
0000225d: PUSH2 0x226b
00002260: DUP9
00002261: DUP9
00002262: DUP9
00002263: DUP9
00002264: DUP9
00002265: DUP9
00002266: DUP9
00002267: PUSH2 0x2c99
0000226a: JUMP
0000226b: JUMPDEST
0000226c: DUP1
0000226d: ISZERO
0000226e: PUSH2 0x17dc
00002271: JUMPI
00002272: PUSH1 0x00
00002274: DUP1
00002275: SLOAD
00002276: PUSH2 0xff00
00002279: NOT
0000227a: AND
0000227b: SWAP1
0000227c: SSTORE
0000227d: PUSH1 0x40
0000227f: MLOAD
00002280: PUSH1 0x01
00002282: DUP2
00002283: MSTORE
00002284: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498
000022a5: SWAP1
000022a6: PUSH1 0x20
000022a8: ADD
000022a9: PUSH1 0x40
000022ab: MLOAD
000022ac: DUP1
000022ad: SWAP2
000022ae: SUB
000022af: SWAP1
000022b0: LOG1
000022b1: POP
000022b2: POP
000022b3: POP
000022b4: POP
000022b5: POP
000022b6: POP
000022b7: POP
000022b8: POP
000022b9: JUMP
000022ba: JUMPDEST
000022bb: CALLER
000022bc: PUSH2 0x22c7
000022bf: PUSH1 0x12
000022c1: DUP3
000022c2: DUP5
000022c3: PUSH2 0x340f
000022c6: JUMP
000022c7: JUMPDEST
000022c8: DUP1
000022c9: PUSH1 0x01
000022cb: PUSH1 0x01
000022cd: PUSH1 0xa0
000022cf: SHL
000022d0: SUB
000022d1: AND
000022d2: DUP3
000022d3: PUSH1 0x01
000022d5: PUSH1 0x01
000022d7: PUSH1 0xa0
000022d9: SHL
000022da: SUB
000022db: AND
000022dc: PUSH32 0x50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa1
000022fd: PUSH1 0x40
000022ff: MLOAD
00002300: PUSH1 0x40
00002302: MLOAD
00002303: DUP1
00002304: SWAP2
00002305: SUB
00002306: SWAP1
00002307: LOG3
00002308: POP
00002309: POP
0000230a: JUMP
0000230b: JUMPDEST
0000230c: CALLER
0000230d: PUSH2 0x2318
00002310: PUSH1 0x12
00002312: DUP3
00002313: DUP10
00002314: PUSH2 0x3022
00002317: JUMP
00002318: JUMPDEST
00002319: PUSH2 0x2335
0000231c: JUMPI
0000231d: PUSH1 0x40
0000231f: MLOAD
00002320: PUSH4 0xf7f02227
00002325: PUSH1 0xe0
00002327: SHL
00002328: DUP2
00002329: MSTORE
0000232a: PUSH1 0x04
0000232c: ADD
0000232d: PUSH1 0x40
0000232f: MLOAD
00002330: DUP1
00002331: SWAP2
00002332: SUB
00002333: SWAP1
00002334: REVERT
00002335: JUMPDEST
00002336: PUSH2 0x146b
00002339: DUP2
0000233a: DUP9
0000233b: DUP10
0000233c: DUP10
0000233d: DUP10
0000233e: DUP10
0000233f: DUP1
00002340: DUP1
00002341: PUSH1 0x1f
00002343: ADD
00002344: PUSH1 0x20
00002346: DUP1
00002347: SWAP2
00002348: DIV
00002349: MUL
0000234a: PUSH1 0x20
0000234c: ADD
0000234d: PUSH1 0x40
0000234f: MLOAD
00002350: SWAP1
00002351: DUP2
00002352: ADD
00002353: PUSH1 0x40
00002355: MSTORE
00002356: DUP1
00002357: SWAP4
00002358: SWAP3
00002359: SWAP2
0000235a: SWAP1
0000235b: DUP2
0000235c: DUP2
0000235d: MSTORE
0000235e: PUSH1 0x20
00002360: ADD
00002361: DUP4
00002362: DUP4
00002363: DUP1
00002364: DUP3
00002365: DUP5
00002366: CALLDATACOPY
00002367: PUSH1 0x00
00002369: SWAP3
0000236a: ADD
0000236b: SWAP2
0000236c: SWAP1
0000236d: SWAP2
0000236e: MSTORE
0000236f: POP
00002370: POP
00002371: PUSH1 0x40
00002373: DUP1
00002374: MLOAD
00002375: PUSH1 0x20
00002377: PUSH1 0x1f
00002379: DUP14
0000237a: ADD
0000237b: DUP2
0000237c: SWAP1
0000237d: DIV
0000237e: DUP2
0000237f: MUL
00002380: DUP3
00002381: ADD
00002382: DUP2
00002383: ADD
00002384: SWAP1
00002385: SWAP3
00002386: MSTORE
00002387: DUP12
00002388: DUP2
00002389: MSTORE
0000238a: SWAP3
0000238b: POP
0000238c: DUP12
0000238d: SWAP2
0000238e: POP
0000238f: DUP11
00002390: SWAP1
00002391: DUP2
00002392: SWAP1
00002393: DUP5
00002394: ADD
00002395: DUP4
00002396: DUP3
00002397: DUP1
00002398: DUP3
00002399: DUP5
0000239a: CALLDATACOPY
0000239b: PUSH1 0x00
0000239d: SWAP3
0000239e: ADD
0000239f: SWAP2
000023a0: SWAP1
000023a1: SWAP2
000023a2: MSTORE
000023a3: POP
000023a4: PUSH2 0x254a
000023a7: SWAP3
000023a8: POP
000023a9: POP
000023aa: POP
000023ab: JUMP
000023ac: JUMPDEST
000023ad: PUSH2 0x10a0
000023b0: CALLER
000023b1: CALLER
000023b2: CALLER
000023b3: DUP7
000023b4: DUP7
000023b5: DUP7
000023b6: DUP1
000023b7: DUP1
000023b8: PUSH1 0x1f
000023ba: ADD
000023bb: PUSH1 0x20
000023bd: DUP1
000023be: SWAP2
000023bf: DIV
000023c0: MUL
000023c1: PUSH1 0x20
000023c3: ADD
000023c4: PUSH1 0x40
000023c6: MLOAD
000023c7: SWAP1
000023c8: DUP2
000023c9: ADD
000023ca: PUSH1 0x40
000023cc: MSTORE
000023cd: DUP1
000023ce: SWAP4
000023cf: SWAP3
000023d0: SWAP2
000023d1: SWAP1
000023d2: DUP2
000023d3: DUP2
000023d4: MSTORE
000023d5: PUSH1 0x20
000023d7: ADD
000023d8: DUP4
000023d9: DUP4
000023da: DUP1
000023db: DUP3
000023dc: DUP5
000023dd: CALLDATACOPY
000023de: PUSH1 0x00
000023e0: SWAP3
000023e1: ADD
000023e2: DUP3
000023e3: SWAP1
000023e4: MSTORE
000023e5: POP
000023e6: PUSH1 0x40
000023e8: DUP1
000023e9: MLOAD
000023ea: PUSH1 0x20
000023ec: DUP2
000023ed: ADD
000023ee: SWAP1
000023ef: SWAP2
000023f0: MSTORE
000023f1: SWAP1
000023f2: DUP2
000023f3: MSTORE
000023f4: SWAP3
000023f5: POP
000023f6: PUSH2 0x254a
000023f9: SWAP2
000023fa: POP
000023fb: POP
000023fc: JUMP
000023fd: JUMPDEST
000023fe: PUSH1 0x60
00002400: DUP2
00002401: PUSH1 0x00
00002403: ADD
00002404: DUP1
00002405: SLOAD
00002406: DUP1
00002407: PUSH1 0x20
00002409: MUL
0000240a: PUSH1 0x20
0000240c: ADD
0000240d: PUSH1 0x40
0000240f: MLOAD
00002410: SWAP1
00002411: DUP2
00002412: ADD
00002413: PUSH1 0x40
00002415: MSTORE
00002416: DUP1
00002417: SWAP3
00002418: SWAP2
00002419: SWAP1
0000241a: DUP2
0000241b: DUP2
0000241c: MSTORE
0000241d: PUSH1 0x20
0000241f: ADD
00002420: DUP3
00002421: DUP1
00002422: SLOAD
00002423: DUP1
00002424: ISZERO
00002425: PUSH2 0x2457
00002428: JUMPI
00002429: PUSH1 0x20
0000242b: MUL
0000242c: DUP3
0000242d: ADD
0000242e: SWAP2
0000242f: SWAP1
00002430: PUSH1 0x00
00002432: MSTORE
00002433: PUSH1 0x20
00002435: PUSH1 0x00
00002437: KECCAK256
00002438: SWAP1
00002439: JUMPDEST
0000243a: DUP2
0000243b: SLOAD
0000243c: PUSH1 0x01
0000243e: PUSH1 0x01
00002440: PUSH1 0xa0
00002442: SHL
00002443: SUB
00002444: AND
00002445: DUP2
00002446: MSTORE
00002447: PUSH1 0x01
00002449: SWAP1
0000244a: SWAP2
0000244b: ADD
0000244c: SWAP1
0000244d: PUSH1 0x20
0000244f: ADD
00002450: DUP1
00002451: DUP4
00002452: GT
00002453: PUSH2 0x2439
00002456: JUMPI
00002457: JUMPDEST
00002458: POP
00002459: POP
0000245a: POP
0000245b: POP
0000245c: POP
0000245d: SWAP1
0000245e: POP
0000245f: SWAP2
00002460: SWAP1
00002461: POP
00002462: JUMP
00002463: JUMPDEST
00002464: PUSH1 0x00
00002466: JUMPDEST
00002467: DUP2
00002468: MLOAD
00002469: DUP2
0000246a: LT
0000246b: ISZERO
0000246c: PUSH2 0x10a0
0000246f: JUMPI
00002470: PUSH1 0x00
00002472: DUP3
00002473: DUP3
00002474: DUP2
00002475: MLOAD
00002476: DUP2
00002477: LT
00002478: PUSH2 0x2483
0000247b: JUMPI
0000247c: PUSH2 0x2483
0000247f: PUSH2 0x4a3c
00002482: JUMP
00002483: JUMPDEST
00002484: PUSH1 0x20
00002486: SWAP1
00002487: DUP2
00002488: MUL
00002489: SWAP2
0000248a: SWAP1
0000248b: SWAP2
0000248c: ADD
0000248d: ADD
0000248e: MLOAD
0000248f: DUP5
00002490: DUP4
00002491: ADD
00002492: SSTORE
00002493: POP
00002494: PUSH1 0x01
00002496: ADD
00002497: PUSH2 0x2466
0000249a: JUMP
0000249b: JUMPDEST
0000249c: PUSH1 0x01
0000249e: PUSH1 0x01
000024a0: PUSH1 0xa0
000024a2: SHL
000024a3: SUB
000024a4: DUP4
000024a5: AND
000024a6: PUSH2 0x24c2
000024a9: JUMPI
000024aa: PUSH1 0x40
000024ac: MLOAD
000024ad: PUSH4 0x81638627
000024b2: PUSH1 0xe0
000024b4: SHL
000024b5: DUP2
000024b6: MSTORE
000024b7: PUSH1 0x04
000024b9: ADD
000024ba: PUSH1 0x40
000024bc: MLOAD
000024bd: DUP1
000024be: SWAP2
000024bf: SUB
000024c0: SWAP1
000024c1: REVERT
000024c2: JUMPDEST
000024c3: PUSH1 0x01
000024c5: PUSH1 0x01
000024c7: PUSH1 0xa0
000024c9: SHL
000024ca: SUB
000024cb: DUP3
000024cc: AND
000024cd: PUSH2 0x24e9
000024d0: JUMPI
000024d1: PUSH1 0x40
000024d3: MLOAD
000024d4: PUSH4 0x37c1c09d
000024d9: PUSH1 0xe2
000024db: SHL
000024dc: DUP2
000024dd: MSTORE
000024de: PUSH1 0x04
000024e0: ADD
000024e1: PUSH1 0x40
000024e3: MLOAD
000024e4: DUP1
000024e5: SWAP2
000024e6: SUB
000024e7: SWAP1
000024e8: REVERT
000024e9: JUMPDEST
000024ea: PUSH1 0x01
000024ec: PUSH1 0x01
000024ee: PUSH1 0xa0
000024f0: SHL
000024f1: SUB
000024f2: DUP4
000024f3: DUP2
000024f4: AND
000024f5: PUSH1 0x00
000024f7: DUP2
000024f8: DUP2
000024f9: MSTORE
000024fa: PUSH1 0x11
000024fc: PUSH1 0x20
000024fe: SWAP1
000024ff: DUP2
00002500: MSTORE
00002501: PUSH1 0x40
00002503: DUP1
00002504: DUP4
00002505: KECCAK256
00002506: SWAP5
00002507: DUP8
00002508: AND
00002509: DUP1
0000250a: DUP5
0000250b: MSTORE
0000250c: SWAP5
0000250d: DUP3
0000250e: MSTORE
0000250f: SWAP2
00002510: DUP3
00002511: SWAP1
00002512: KECCAK256
00002513: DUP6
00002514: SWAP1
00002515: SSTORE
00002516: SWAP1
00002517: MLOAD
00002518: DUP5
00002519: DUP2
0000251a: MSTORE
0000251b: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
0000253c: SWAP2
0000253d: ADD
0000253e: PUSH1 0x40
00002540: MLOAD
00002541: DUP1
00002542: SWAP2
00002543: SUB
00002544: SWAP1
00002545: LOG3
00002546: POP
00002547: POP
00002548: POP
00002549: JUMP
0000254a: JUMPDEST
0000254b: PUSH1 0x0e
0000254d: SLOAD
0000254e: PUSH1 0x01
00002550: PUSH1 0x01
00002552: PUSH1 0xa0
00002554: SHL
00002555: SUB
00002556: AND
00002557: PUSH2 0x2573
0000255a: JUMPI
0000255b: PUSH1 0x40
0000255d: MLOAD
0000255e: PUSH4 0x7bce7b2b
00002563: PUSH1 0xe1
00002565: SHL
00002566: DUP2
00002567: MSTORE
00002568: PUSH1 0x04
0000256a: ADD
0000256b: PUSH1 0x40
0000256d: MLOAD
0000256e: DUP1
0000256f: SWAP2
00002570: SUB
00002571: SWAP1
00002572: REVERT
00002573: JUMPDEST
00002574: PUSH1 0x00
00002576: DUP1
00002577: PUSH2 0x257f
0000257a: DUP6
0000257b: PUSH2 0x2bdd
0000257e: JUMP
0000257f: JUMPDEST
00002580: SWAP2
00002581: POP
00002582: SWAP2
00002583: POP
00002584: PUSH2 0x2596
00002587: DUP9
00002588: DUP9
00002589: DUP4
0000258a: DUP8
0000258b: MLOAD
0000258c: PUSH1 0x00
0000258e: EQ
0000258f: ISZERO
00002590: DUP9
00002591: DUP9
00002592: PUSH2 0x3248
00002595: JUMP
00002596: JUMPDEST
00002597: PUSH1 0x0e
00002599: SLOAD
0000259a: PUSH1 0x40
0000259c: MLOAD
0000259d: PUSH4 0x70a08231
000025a2: PUSH1 0xe0
000025a4: SHL
000025a5: DUP2
000025a6: MSTORE
000025a7: ADDRESS
000025a8: PUSH1 0x04
000025aa: DUP3
000025ab: ADD
000025ac: MSTORE
000025ad: PUSH1 0x00
000025af: SWAP2
000025b0: PUSH1 0x01
000025b2: PUSH1 0x01
000025b4: PUSH1 0xa0
000025b6: SHL
000025b7: SUB
000025b8: AND
000025b9: SWAP1
000025ba: PUSH4 0x70a08231
000025bf: SWAP1
000025c0: PUSH1 0x24
000025c2: ADD
000025c3: PUSH1 0x20
000025c5: PUSH1 0x40
000025c7: MLOAD
000025c8: DUP1
000025c9: DUP4
000025ca: SUB
000025cb: DUP2
000025cc: DUP7
000025cd: GAS
000025ce: STATICCALL
000025cf: ISZERO
000025d0: DUP1
000025d1: ISZERO
000025d2: PUSH2 0x25df
000025d5: JUMPI
000025d6: RETURNDATASIZE
000025d7: PUSH1 0x00
000025d9: DUP1
000025da: RETURNDATACOPY
000025db: RETURNDATASIZE
000025dc: PUSH1 0x00
000025de: REVERT
000025df: JUMPDEST
000025e0: POP
000025e1: POP
000025e2: POP
000025e3: POP
000025e4: PUSH1 0x40
000025e6: MLOAD
000025e7: RETURNDATASIZE
000025e8: PUSH1 0x1f
000025ea: NOT
000025eb: PUSH1 0x1f
000025ed: DUP3
000025ee: ADD
000025ef: AND
000025f0: DUP3
000025f1: ADD
000025f2: DUP1
000025f3: PUSH1 0x40
000025f5: MSTORE
000025f6: POP
000025f7: DUP2
000025f8: ADD
000025f9: SWAP1
000025fa: PUSH2 0x2603
000025fd: SWAP2
000025fe: SWAP1
000025ff: PUSH2 0x4903
00002602: JUMP
00002603: JUMPDEST
00002604: PUSH1 0x0e
00002606: SLOAD
00002607: SWAP1
00002608: SWAP2
00002609: POP
0000260a: PUSH2 0x261d
0000260d: SWAP1
0000260e: PUSH1 0x01
00002610: PUSH1 0x01
00002612: PUSH1 0xa0
00002614: SHL
00002615: SUB
00002616: AND
00002617: DUP9
00002618: DUP6
00002619: PUSH2 0x3507
0000261c: JUMP
0000261d: JUMPDEST
0000261e: PUSH1 0x0e
00002620: SLOAD
00002621: PUSH1 0x40
00002623: MLOAD
00002624: PUSH4 0x70a08231
00002629: PUSH1 0xe0
0000262b: SHL
0000262c: DUP2
0000262d: MSTORE
0000262e: ADDRESS
0000262f: PUSH1 0x04
00002631: DUP3
00002632: ADD
00002633: MSTORE
00002634: PUSH1 0x00
00002636: SWAP2
00002637: PUSH1 0x01
00002639: PUSH1 0x01
0000263b: PUSH1 0xa0
0000263d: SHL
0000263e: SUB
0000263f: AND
00002640: SWAP1
00002641: PUSH4 0x70a08231
00002646: SWAP1
00002647: PUSH1 0x24
00002649: ADD
0000264a: PUSH1 0x20
0000264c: PUSH1 0x40
0000264e: MLOAD
0000264f: DUP1
00002650: DUP4
00002651: SUB
00002652: DUP2
00002653: DUP7
00002654: GAS
00002655: STATICCALL
00002656: ISZERO
00002657: DUP1
00002658: ISZERO
00002659: PUSH2 0x2666
0000265c: JUMPI
0000265d: RETURNDATASIZE
0000265e: PUSH1 0x00
00002660: DUP1
00002661: RETURNDATACOPY
00002662: RETURNDATASIZE
00002663: PUSH1 0x00
00002665: REVERT
00002666: JUMPDEST
00002667: POP
00002668: POP
00002669: POP
0000266a: POP
0000266b: PUSH1 0x40
0000266d: MLOAD
0000266e: RETURNDATASIZE
0000266f: PUSH1 0x1f
00002671: NOT
00002672: PUSH1 0x1f
00002674: DUP3
00002675: ADD
00002676: AND
00002677: DUP3
00002678: ADD
00002679: DUP1
0000267a: PUSH1 0x40
0000267c: MSTORE
0000267d: POP
0000267e: DUP2
0000267f: ADD
00002680: SWAP1
00002681: PUSH2 0x268a
00002684: SWAP2
00002685: SWAP1
00002686: PUSH2 0x4903
00002689: JUMP
0000268a: JUMPDEST
0000268b: SWAP1
0000268c: POP
0000268d: PUSH1 0x00
0000268f: PUSH2 0x2698
00002692: DUP3
00002693: DUP5
00002694: PUSH2 0x4a29
00002697: JUMP
00002698: JUMPDEST
00002699: SWAP1
0000269a: POP
0000269b: DUP1
0000269c: DUP6
0000269d: EQ
0000269e: PUSH2 0x26ba
000026a1: JUMPI
000026a2: PUSH1 0x40
000026a4: MLOAD
000026a5: PUSH4 0x1c7c26d3
000026aa: PUSH1 0xe3
000026ac: SHL
000026ad: DUP2
000026ae: MSTORE
000026af: PUSH1 0x04
000026b1: ADD
000026b2: PUSH1 0x40
000026b4: MLOAD
000026b5: DUP1
000026b6: SWAP2
000026b7: SUB
000026b8: SWAP1
000026b9: REVERT
000026ba: JUMPDEST
000026bb: DUP10
000026bc: PUSH1 0x01
000026be: PUSH1 0x01
000026c0: PUSH1 0xa0
000026c2: SHL
000026c3: SUB
000026c4: AND
000026c5: PUSH32 0x3bc27981aebbb57f9247dc00fde9d6cd91e4b230083fec3238fedbcba1f9ab3d
000026e6: DUP6
000026e7: PUSH1 0x40
000026e9: MLOAD
000026ea: PUSH2 0x26f5
000026ed: SWAP2
000026ee: DUP2
000026ef: MSTORE
000026f0: PUSH1 0x20
000026f2: ADD
000026f3: SWAP1
000026f4: JUMP
000026f5: JUMPDEST
000026f6: PUSH1 0x40
000026f8: MLOAD
000026f9: DUP1
000026fa: SWAP2
000026fb: SUB
000026fc: SWAP1
000026fd: LOG2
000026fe: POP
000026ff: POP
00002700: POP
00002701: POP
00002702: POP
00002703: POP
00002704: POP
00002705: POP
00002706: POP
00002707: POP
00002708: POP
00002709: JUMP
0000270a: JUMPDEST
0000270b: PUSH1 0x00
0000270d: DUP1
0000270e: JUMPDEST
0000270f: DUP3
00002710: DUP2
00002711: LT
00002712: ISZERO
00002713: PUSH2 0x2734
00002716: JUMPI
00002717: DUP4
00002718: DUP2
00002719: ADD
0000271a: SLOAD
0000271b: DUP1
0000271c: ISZERO
0000271d: PUSH2 0x272b
00002720: JUMPI
00002721: PUSH1 0x01
00002723: SWAP3
00002724: POP
00002725: POP
00002726: POP
00002727: PUSH2 0x0b84
0000272a: JUMP
0000272b: JUMPDEST
0000272c: POP
0000272d: PUSH1 0x01
0000272f: ADD
00002730: PUSH2 0x270e
00002733: JUMP
00002734: JUMPDEST
00002735: POP
00002736: PUSH1 0x00
00002738: SWAP4
00002739: SWAP3
0000273a: POP
0000273b: POP
0000273c: POP
0000273d: JUMP
0000273e: JUMPDEST
0000273f: PUSH1 0x00
00002741: PUSH1 0x01
00002743: PUSH1 0x01
00002745: PUSH1 0xa0
00002747: SHL
00002748: SUB
00002749: DUP5
0000274a: AND
0000274b: PUSH2 0x2767
0000274e: JUMPI
0000274f: PUSH1 0x40
00002751: MLOAD
00002752: PUSH4 0xeecd6c9b
00002757: PUSH1 0xe0
00002759: SHL
0000275a: DUP2
0000275b: MSTORE
0000275c: PUSH1 0x04
0000275e: ADD
0000275f: PUSH1 0x40
00002761: MLOAD
00002762: DUP1
00002763: SWAP2
00002764: SUB
00002765: SWAP1
00002766: REVERT
00002767: JUMPDEST
00002768: PUSH1 0x01
0000276a: PUSH1 0x01
0000276c: PUSH1 0xa0
0000276e: SHL
0000276f: SUB
00002770: DUP4
00002771: AND
00002772: PUSH2 0x278e
00002775: JUMPI
00002776: PUSH1 0x40
00002778: MLOAD
00002779: PUSH4 0xe219bd39
0000277e: PUSH1 0xe0
00002780: SHL
00002781: DUP2
00002782: MSTORE
00002783: PUSH1 0x04
00002785: ADD
00002786: PUSH1 0x40
00002788: MLOAD
00002789: DUP1
0000278a: SWAP2
0000278b: SUB
0000278c: SWAP1
0000278d: REVERT
0000278e: JUMPDEST
0000278f: PUSH1 0x00
00002791: CALLER
00002792: SWAP1
00002793: POP
00002794: PUSH2 0x27bf
00002797: DUP2
00002798: DUP7
00002799: DUP7
0000279a: DUP7
0000279b: PUSH1 0x40
0000279d: MLOAD
0000279e: DUP1
0000279f: PUSH1 0x20
000027a1: ADD
000027a2: PUSH1 0x40
000027a4: MSTORE
000027a5: DUP1
000027a6: PUSH1 0x00
000027a8: DUP2
000027a9: MSTORE
000027aa: POP
000027ab: PUSH1 0x40
000027ad: MLOAD
000027ae: DUP1
000027af: PUSH1 0x20
000027b1: ADD
000027b2: PUSH1 0x40
000027b4: MSTORE
000027b5: DUP1
000027b6: PUSH1 0x00
000027b8: DUP2
000027b9: MSTORE
000027ba: POP
000027bb: PUSH2 0x356a
000027be: JUMP
000027bf: JUMPDEST
000027c0: DUP5
000027c1: PUSH1 0x01
000027c3: PUSH1 0x01
000027c5: PUSH1 0xa0
000027c7: SHL
000027c8: SUB
000027c9: AND
000027ca: DUP7
000027cb: PUSH1 0x01
000027cd: PUSH1 0x01
000027cf: PUSH1 0xa0
000027d1: SHL
000027d2: SUB
000027d3: AND
000027d4: EQ
000027d5: PUSH2 0x2852
000027d8: JUMPI
000027d9: PUSH2 0x2852
000027dc: DUP6
000027dd: DUP8
000027de: PUSH2 0x1362
000027e1: DUP7
000027e2: PUSH1 0x40
000027e4: MLOAD
000027e5: DUP1
000027e6: PUSH1 0x60
000027e8: ADD
000027e9: PUSH1 0x40
000027eb: MSTORE
000027ec: DUP1
000027ed: PUSH1 0x2d
000027ef: DUP2
000027f0: MSTORE
000027f1: PUSH1 0x20
000027f3: ADD
000027f4: PUSH2 0x4df7
000027f7: PUSH1 0x2d
000027f9: SWAP2
000027fa: CODECOPY
000027fb: PUSH1 0x11
000027fd: PUSH1 0x00
000027ff: DUP13
00002800: PUSH1 0x01
00002802: PUSH1 0x01
00002804: PUSH1 0xa0
00002806: SHL
00002807: SUB
00002808: AND
00002809: PUSH1 0x01
0000280b: PUSH1 0x01
0000280d: PUSH1 0xa0
0000280f: SHL
00002810: SUB
00002811: AND
00002812: DUP2
00002813: MSTORE
00002814: PUSH1 0x20
00002816: ADD
00002817: SWAP1
00002818: DUP2
00002819: MSTORE
0000281a: PUSH1 0x20
0000281c: ADD
0000281d: PUSH1 0x00
0000281f: KECCAK256
00002820: PUSH1 0x00
00002822: DUP14
00002823: PUSH1 0x01
00002825: PUSH1 0x01
00002827: PUSH1 0xa0
00002829: SHL
0000282a: SUB
0000282b: AND
0000282c: PUSH1 0x01
0000282e: PUSH1 0x01
00002830: PUSH1 0xa0
00002832: SHL
00002833: SUB
00002834: AND
00002835: DUP2
00002836: MSTORE
00002837: PUSH1 0x20
00002839: ADD
0000283a: SWAP1
0000283b: DUP2
0000283c: MSTORE
0000283d: PUSH1 0x20
0000283f: ADD
00002840: PUSH1 0x00
00002842: KECCAK256
00002843: SLOAD
00002844: PUSH2 0x3315
00002847: SWAP1
00002848: SWAP3
00002849: SWAP2
0000284a: SWAP1
0000284b: PUSH4 0xffffffff
00002850: AND
00002851: JUMP
00002852: JUMPDEST
00002853: POP
00002854: PUSH1 0x01
00002856: SWAP6
00002857: SWAP5
00002858: POP
00002859: POP
0000285a: POP
0000285b: POP
0000285c: POP
0000285d: JUMP
0000285e: JUMPDEST
0000285f: PUSH1 0x00
00002861: DUP1
00002862: PUSH32 0x0000000000000000000000004e583d9390082b65bef884b629dfa426114ced6d
00002883: PUSH1 0x01
00002885: PUSH1 0x01
00002887: PUSH1 0xa0
00002889: SHL
0000288a: SUB
0000288b: AND
0000288c: PUSH4 0x289b3c0d
00002891: PUSH1 0x40
00002893: MLOAD
00002894: DUP2
00002895: PUSH4 0xffffffff
0000289a: AND
0000289b: PUSH1 0xe0
0000289d: SHL
0000289e: DUP2
0000289f: MSTORE
000028a0: PUSH1 0x04
000028a2: ADD
000028a3: PUSH1 0x20
000028a5: PUSH1 0x40
000028a7: MLOAD
000028a8: DUP1
000028a9: DUP4
000028aa: SUB
000028ab: DUP2
000028ac: DUP7
000028ad: GAS
000028ae: STATICCALL
000028af: ISZERO
000028b0: DUP1
000028b1: ISZERO
000028b2: PUSH2 0x28bf
000028b5: JUMPI
000028b6: RETURNDATASIZE
000028b7: PUSH1 0x00
000028b9: DUP1
000028ba: RETURNDATACOPY
000028bb: RETURNDATASIZE
000028bc: PUSH1 0x00
000028be: REVERT
000028bf: JUMPDEST
000028c0: POP
000028c1: POP
000028c2: POP
000028c3: POP
000028c4: PUSH1 0x40
000028c6: MLOAD
000028c7: RETURNDATASIZE
000028c8: PUSH1 0x1f
000028ca: NOT
000028cb: PUSH1 0x1f
000028cd: DUP3
000028ce: ADD
000028cf: AND
000028d0: DUP3
000028d1: ADD
000028d2: DUP1
000028d3: PUSH1 0x40
000028d5: MSTORE
000028d6: POP
000028d7: DUP2
000028d8: ADD
000028d9: SWAP1
000028da: PUSH2 0x28e3
000028dd: SWAP2
000028de: SWAP1
000028df: PUSH2 0x4a80
000028e2: JUMP
000028e3: JUMPDEST
000028e4: PUSH1 0x40
000028e6: MLOAD
000028e7: PUSH4 0x8369a0f1
000028ec: PUSH1 0xe0
000028ee: SHL
000028ef: DUP2
000028f0: MSTORE
000028f1: PUSH1 0x01
000028f3: PUSH1 0x01
000028f5: PUSH1 0xa0
000028f7: SHL
000028f8: SUB
000028f9: PUSH32 0x0000000000000000000000004e583d9390082b65bef884b629dfa426114ced6d
0000291a: DUP2
0000291b: AND
0000291c: PUSH1 0x04
0000291e: DUP4
0000291f: ADD
00002920: MSTORE
00002921: ADDRESS
00002922: PUSH1 0x24
00002924: DUP4
00002925: ADD
00002926: MSTORE
00002927: PUSH32 0x9f60ae461adf056670e03ae602566409933242392cb06744f5747c9f38b05d09
00002948: PUSH1 0x44
0000294a: DUP4
0000294b: ADD
0000294c: MSTORE
0000294d: SWAP2
0000294e: SWAP3
0000294f: POP
00002950: SWAP1
00002951: DUP3
00002952: AND
00002953: SWAP1
00002954: PUSH4 0x8369a0f1
00002959: SWAP1
0000295a: PUSH1 0x64
0000295c: ADD
0000295d: PUSH1 0x20
0000295f: PUSH1 0x40
00002961: MLOAD
00002962: DUP1
00002963: DUP4
00002964: SUB
00002965: DUP2
00002966: DUP7
00002967: GAS
00002968: STATICCALL
00002969: ISZERO
0000296a: DUP1
0000296b: ISZERO
0000296c: PUSH2 0x2979
0000296f: JUMPI
00002970: RETURNDATASIZE
00002971: PUSH1 0x00
00002973: DUP1
00002974: RETURNDATACOPY
00002975: RETURNDATASIZE
00002976: PUSH1 0x00
00002978: REVERT
00002979: JUMPDEST
0000297a: POP
0000297b: POP
0000297c: POP
0000297d: POP
0000297e: PUSH1 0x40
00002980: MLOAD
00002981: RETURNDATASIZE
00002982: PUSH1 0x1f
00002984: NOT
00002985: PUSH1 0x1f
00002987: DUP3
00002988: ADD
00002989: AND
0000298a: DUP3
0000298b: ADD
0000298c: DUP1
0000298d: PUSH1 0x40
0000298f: MSTORE
00002990: POP
00002991: DUP2
00002992: ADD
00002993: SWAP1
00002994: PUSH2 0x299d
00002997: SWAP2
00002998: SWAP1
00002999: PUSH2 0x4a80
0000299c: JUMP
0000299d: JUMPDEST
0000299e: SWAP2
0000299f: POP
000029a0: POP
000029a1: SWAP1
000029a2: JUMP
000029a3: JUMPDEST
000029a4: PUSH1 0x00
000029a6: PUSH1 0x01
000029a8: PUSH1 0x01
000029aa: PUSH1 0xff
000029ac: SHL
000029ad: SUB
000029ae: DUP3
000029af: GT
000029b0: ISZERO
000029b1: PUSH2 0x2a0d
000029b4: JUMPI
000029b5: PUSH1 0x40
000029b7: MLOAD
000029b8: PUSH3 0x461bcd
000029bc: PUSH1 0xe5
000029be: SHL
000029bf: DUP2
000029c0: MSTORE
000029c1: PUSH1 0x20
000029c3: PUSH1 0x04
000029c5: DUP3
000029c6: ADD
000029c7: MSTORE
000029c8: PUSH1 0x28
000029ca: PUSH1 0x24
000029cc: DUP3
000029cd: ADD
000029ce: MSTORE
000029cf: PUSH32 0x53616665436173743a2076616c756520646f65736e27742066697420696e2061
000029f0: PUSH1 0x44
000029f2: DUP3
000029f3: ADD
000029f4: MSTORE
000029f5: PUSH8 0x371034b73a191a9b
000029fe: PUSH1 0xc1
00002a00: SHL
00002a01: PUSH1 0x64
00002a03: DUP3
00002a04: ADD
00002a05: MSTORE
00002a06: PUSH1 0x84
00002a08: ADD
00002a09: PUSH2 0x13e9
00002a0c: JUMP
00002a0d: JUMPDEST
00002a0e: POP
00002a0f: SWAP1
00002a10: JUMP
00002a11: JUMPDEST
00002a12: PUSH1 0x0e
00002a14: SLOAD
00002a15: PUSH1 0x01
00002a17: PUSH1 0x01
00002a19: PUSH1 0xa0
00002a1b: SHL
00002a1c: SUB
00002a1d: AND
00002a1e: PUSH2 0x2a3a
00002a21: JUMPI
00002a22: PUSH1 0x40
00002a24: MLOAD
00002a25: PUSH4 0x7bce7b2b
00002a2a: PUSH1 0xe1
00002a2c: SHL
00002a2d: DUP2
00002a2e: MSTORE
00002a2f: PUSH1 0x04
00002a31: ADD
00002a32: PUSH1 0x40
00002a34: MLOAD
00002a35: DUP1
00002a36: SWAP2
00002a37: SUB
00002a38: SWAP1
00002a39: REVERT
00002a3a: JUMPDEST
00002a3b: PUSH1 0x00
00002a3d: DUP1
00002a3e: PUSH2 0x2a46
00002a41: DUP6
00002a42: PUSH2 0x2bdd
00002a45: JUMP
00002a46: JUMPDEST
00002a47: PUSH1 0x0e
00002a49: SLOAD
00002a4a: PUSH1 0x40
00002a4c: MLOAD
00002a4d: PUSH4 0x70a08231
00002a52: PUSH1 0xe0
00002a54: SHL
00002a55: DUP2
00002a56: MSTORE
00002a57: ADDRESS
00002a58: PUSH1 0x04
00002a5a: DUP3
00002a5b: ADD
00002a5c: MSTORE
00002a5d: SWAP3
00002a5e: SWAP5
00002a5f: POP
00002a60: SWAP1
00002a61: SWAP3
00002a62: POP
00002a63: PUSH1 0x00
00002a65: SWAP2
00002a66: PUSH1 0x01
00002a68: PUSH1 0x01
00002a6a: PUSH1 0xa0
00002a6c: SHL
00002a6d: SUB
00002a6e: SWAP1
00002a6f: SWAP2
00002a70: AND
00002a71: SWAP1
00002a72: PUSH4 0x70a08231
00002a77: SWAP1
00002a78: PUSH1 0x24
00002a7a: ADD
00002a7b: PUSH1 0x20
00002a7d: PUSH1 0x40
00002a7f: MLOAD
00002a80: DUP1
00002a81: DUP4
00002a82: SUB
00002a83: DUP2
00002a84: DUP7
00002a85: GAS
00002a86: STATICCALL
00002a87: ISZERO
00002a88: DUP1
00002a89: ISZERO
00002a8a: PUSH2 0x2a97
00002a8d: JUMPI
00002a8e: RETURNDATASIZE
00002a8f: PUSH1 0x00
00002a91: DUP1
00002a92: RETURNDATACOPY
00002a93: RETURNDATASIZE
00002a94: PUSH1 0x00
00002a96: REVERT
00002a97: JUMPDEST
00002a98: POP
00002a99: POP
00002a9a: POP
00002a9b: POP
00002a9c: PUSH1 0x40
00002a9e: MLOAD
00002a9f: RETURNDATASIZE
00002aa0: PUSH1 0x1f
00002aa2: NOT
00002aa3: PUSH1 0x1f
00002aa5: DUP3
00002aa6: ADD
00002aa7: AND
00002aa8: DUP3
00002aa9: ADD
00002aaa: DUP1
00002aab: PUSH1 0x40
00002aad: MSTORE
00002aae: POP
00002aaf: DUP2
00002ab0: ADD
00002ab1: SWAP1
00002ab2: PUSH2 0x2abb
00002ab5: SWAP2
00002ab6: SWAP1
00002ab7: PUSH2 0x4903
00002aba: JUMP
00002abb: JUMPDEST
00002abc: PUSH1 0x0e
00002abe: SLOAD
00002abf: SWAP1
00002ac0: SWAP2
00002ac1: POP
00002ac2: PUSH2 0x2ad6
00002ac5: SWAP1
00002ac6: PUSH1 0x01
00002ac8: PUSH1 0x01
00002aca: PUSH1 0xa0
00002acc: SHL
00002acd: SUB
00002ace: AND
00002acf: DUP10
00002ad0: ADDRESS
00002ad1: DUP7
00002ad2: PUSH2 0x3609
00002ad5: JUMP
00002ad6: JUMPDEST
00002ad7: PUSH1 0x0e
00002ad9: SLOAD
00002ada: PUSH1 0x40
00002adc: MLOAD
00002add: PUSH4 0x70a08231
00002ae2: PUSH1 0xe0
00002ae4: SHL
00002ae5: DUP2
00002ae6: MSTORE
00002ae7: ADDRESS
00002ae8: PUSH1 0x04
00002aea: DUP3
00002aeb: ADD
00002aec: MSTORE
00002aed: PUSH1 0x00
00002aef: SWAP2
00002af0: PUSH1 0x01
00002af2: PUSH1 0x01
00002af4: PUSH1 0xa0
00002af6: SHL
00002af7: SUB
00002af8: AND
00002af9: SWAP1
00002afa: PUSH4 0x70a08231
00002aff: SWAP1
00002b00: PUSH1 0x24
00002b02: ADD
00002b03: PUSH1 0x20
00002b05: PUSH1 0x40
00002b07: MLOAD
00002b08: DUP1
00002b09: DUP4
00002b0a: SUB
00002b0b: DUP2
00002b0c: DUP7
00002b0d: GAS
00002b0e: STATICCALL
00002b0f: ISZERO
00002b10: DUP1
00002b11: ISZERO
00002b12: PUSH2 0x2b1f
00002b15: JUMPI
00002b16: RETURNDATASIZE
00002b17: PUSH1 0x00
00002b19: DUP1
00002b1a: RETURNDATACOPY
00002b1b: RETURNDATASIZE
00002b1c: PUSH1 0x00
00002b1e: REVERT
00002b1f: JUMPDEST
00002b20: POP
00002b21: POP
00002b22: POP
00002b23: POP
00002b24: PUSH1 0x40
00002b26: MLOAD
00002b27: RETURNDATASIZE
00002b28: PUSH1 0x1f
00002b2a: NOT
00002b2b: PUSH1 0x1f
00002b2d: DUP3
00002b2e: ADD
00002b2f: AND
00002b30: DUP3
00002b31: ADD
00002b32: DUP1
00002b33: PUSH1 0x40
00002b35: MSTORE
00002b36: POP
00002b37: DUP2
00002b38: ADD
00002b39: SWAP1
00002b3a: PUSH2 0x2b43
00002b3d: SWAP2
00002b3e: SWAP1
00002b3f: PUSH2 0x4903
00002b42: JUMP
00002b43: JUMPDEST
00002b44: SWAP1
00002b45: POP
00002b46: PUSH1 0x00
00002b48: PUSH2 0x2b51
00002b4b: DUP4
00002b4c: DUP4
00002b4d: PUSH2 0x4a29
00002b50: JUMP
00002b51: JUMPDEST
00002b52: SWAP1
00002b53: POP
00002b54: DUP1
00002b55: DUP6
00002b56: EQ
00002b57: PUSH2 0x2b73
00002b5a: JUMPI
00002b5b: PUSH1 0x40
00002b5d: MLOAD
00002b5e: PUSH4 0x1c7c26d3
00002b63: PUSH1 0xe3
00002b65: SHL
00002b66: DUP2
00002b67: MSTORE
00002b68: PUSH1 0x04
00002b6a: ADD
00002b6b: PUSH1 0x40
00002b6d: MLOAD
00002b6e: DUP1
00002b6f: SWAP2
00002b70: SUB
00002b71: SWAP1
00002b72: REVERT
00002b73: JUMPDEST
00002b74: DUP7
00002b75: MLOAD
00002b76: PUSH2 0x2b89
00002b79: SWAP1
00002b7a: DUP13
00002b7b: SWAP1
00002b7c: DUP12
00002b7d: SWAP1
00002b7e: DUP8
00002b7f: SWAP1
00002b80: ISZERO
00002b81: ISZERO
00002b82: DUP1
00002b83: DUP13
00002b84: DUP13
00002b85: PUSH2 0x3341
00002b88: JUMP
00002b89: JUMPDEST
00002b8a: DUP9
00002b8b: PUSH1 0x01
00002b8d: PUSH1 0x01
00002b8f: PUSH1 0xa0
00002b91: SHL
00002b92: SUB
00002b93: AND
00002b94: PUSH32 0x25ca84076773b0455db53621c459ddc84fe40840e4932a62706a032566f399df
00002bb5: DUP6
00002bb6: PUSH1 0x40
00002bb8: MLOAD
00002bb9: PUSH2 0x26f5
00002bbc: SWAP2
00002bbd: DUP2
00002bbe: MSTORE
00002bbf: PUSH1 0x20
00002bc1: ADD
00002bc2: SWAP1
00002bc3: JUMP
00002bc4: JUMPDEST
00002bc5: PUSH1 0x00
00002bc7: JUMPDEST
00002bc8: DUP2
00002bc9: DUP2
00002bca: LT
00002bcb: ISZERO
00002bcc: PUSH2 0x10a0
00002bcf: JUMPI
00002bd0: PUSH1 0x00
00002bd2: DUP4
00002bd3: DUP3
00002bd4: ADD
00002bd5: SSTORE
00002bd6: PUSH1 0x01
00002bd8: ADD
00002bd9: PUSH2 0x2bc7
00002bdc: JUMP
00002bdd: JUMPDEST
00002bde: PUSH1 0x0e
00002be0: SLOAD
00002be1: PUSH1 0x00
00002be3: SWAP1
00002be4: DUP2
00002be5: SWAP1
00002be6: DUP2
00002be7: SWAP1
00002be8: PUSH1 0x12
00002bea: PUSH1 0x01
00002bec: PUSH1 0xa0
00002bee: SHL
00002bef: SWAP1
00002bf0: SWAP2
00002bf1: DIV
00002bf2: PUSH1 0xff
00002bf4: AND
00002bf5: LT
00002bf6: ISZERO
00002bf7: PUSH2 0x2c3c
00002bfa: JUMPI
00002bfb: PUSH1 0x0e
00002bfd: SLOAD
00002bfe: PUSH2 0x2c12
00002c01: SWAP1
00002c02: PUSH1 0x01
00002c04: PUSH1 0xa0
00002c06: SHL
00002c07: SWAP1
00002c08: DIV
00002c09: PUSH1 0xff
00002c0b: AND
00002c0c: PUSH1 0x12
00002c0e: PUSH2 0x4a9d
00002c11: JUMP
00002c12: JUMPDEST
00002c13: PUSH2 0x2c1d
00002c16: SWAP1
00002c17: PUSH1 0x0a
00002c19: PUSH2 0x4b9d
00002c1c: JUMP
00002c1d: JUMPDEST
00002c1e: SWAP1
00002c1f: POP
00002c20: PUSH2 0x2c29
00002c23: DUP2
00002c24: DUP6
00002c25: PUSH2 0x4bac
00002c28: JUMP
00002c29: JUMPDEST
00002c2a: SWAP3
00002c2b: POP
00002c2c: PUSH2 0x2c35
00002c2f: DUP2
00002c30: DUP5
00002c31: PUSH2 0x4bce
00002c34: JUMP
00002c35: JUMPDEST
00002c36: SWAP2
00002c37: POP
00002c38: PUSH2 0x2c93
00002c3b: JUMP
00002c3c: JUMPDEST
00002c3d: PUSH1 0x0e
00002c3f: SLOAD
00002c40: PUSH1 0x12
00002c42: PUSH1 0x01
00002c44: PUSH1 0xa0
00002c46: SHL
00002c47: SWAP1
00002c48: SWAP2
00002c49: DIV
00002c4a: PUSH1 0xff
00002c4c: AND
00002c4d: GT
00002c4e: ISZERO
00002c4f: PUSH2 0x2c8c
00002c52: JUMPI
00002c53: PUSH1 0x0e
00002c55: SLOAD
00002c56: PUSH2 0x2c6b
00002c59: SWAP1
00002c5a: PUSH1 0x12
00002c5c: SWAP1
00002c5d: PUSH1 0x01
00002c5f: PUSH1 0xa0
00002c61: SHL
00002c62: SWAP1
00002c63: DIV
00002c64: PUSH1 0xff
00002c66: AND
00002c67: PUSH2 0x4a9d
00002c6a: JUMP
00002c6b: JUMPDEST
00002c6c: PUSH2 0x2c76
00002c6f: SWAP1
00002c70: PUSH1 0x0a
00002c72: PUSH2 0x4b9d
00002c75: JUMP
00002c76: JUMPDEST
00002c77: SWAP1
00002c78: POP
00002c79: PUSH2 0x2c82
00002c7c: DUP2
00002c7d: DUP6
00002c7e: PUSH2 0x4bce
00002c81: JUMP
00002c82: JUMPDEST
00002c83: SWAP3
00002c84: POP
00002c85: DUP4
00002c86: SWAP2
00002c87: POP
00002c88: PUSH2 0x2c93
00002c8b: JUMP
00002c8c: JUMPDEST
00002c8d: DUP4
00002c8e: SWAP2
00002c8f: POP
00002c90: DUP2
00002c91: SWAP3
00002c92: POP
00002c93: JUMPDEST
00002c94: POP
00002c95: SWAP2
00002c96: POP
00002c97: SWAP2
00002c98: JUMP
00002c99: JUMPDEST
00002c9a: PUSH1 0x0e
00002c9c: DUP1
00002c9d: SLOAD
00002c9e: PUSH1 0xff
00002ca0: DUP9
00002ca1: AND
00002ca2: PUSH1 0x01
00002ca4: PUSH1 0xa0
00002ca6: SHL
00002ca7: MUL
00002ca8: PUSH1 0x01
00002caa: PUSH1 0x01
00002cac: PUSH1 0xa8
00002cae: SHL
00002caf: SUB
00002cb0: NOT
00002cb1: SWAP1
00002cb2: SWAP2
00002cb3: AND
00002cb4: PUSH1 0x01
00002cb6: PUSH1 0x01
00002cb8: PUSH1 0xa0
00002cba: SHL
00002cbb: SUB
00002cbc: DUP11
00002cbd: AND
00002cbe: OR
00002cbf: OR
00002cc0: SWAP1
00002cc1: SSTORE
00002cc2: PUSH1 0x0f
00002cc4: PUSH2 0x2cce
00002cc7: DUP6
00002cc8: DUP8
00002cc9: DUP4
00002cca: PUSH2 0x4c2c
00002ccd: JUMP
00002cce: JUMPDEST
00002ccf: POP
00002cd0: PUSH1 0x10
00002cd2: PUSH2 0x2cdc
00002cd5: DUP4
00002cd6: DUP6
00002cd7: DUP4
00002cd8: PUSH2 0x4c2c
00002cdb: JUMP
00002cdc: JUMPDEST
00002cdd: POP
00002cde: PUSH2 0x2cf3
00002ce1: DUP2
00002ce2: PUSH1 0x00
00002ce4: DUP1
00002ce5: MLOAD
00002ce6: PUSH1 0x20
00002ce8: PUSH2 0x4d8d
00002ceb: DUP4
00002cec: CODECOPY
00002ced: DUP2
00002cee: MLOAD
00002cef: SWAP2
00002cf0: MSTORE
00002cf1: SSTORE
00002cf2: JUMP
00002cf3: JUMPDEST
00002cf4: PUSH2 0x2cfc
00002cf7: ADDRESS
00002cf8: PUSH2 0x3641
00002cfb: JUMP
00002cfc: JUMPDEST
00002cfd: PUSH1 0x40
00002cff: MLOAD
00002d00: PUSH1 0x00
00002d02: DUP1
00002d03: DUP3
00002d04: MSTORE
00002d05: SWAP1
00002d06: DUP2
00002d07: SWAP1
00002d08: PUSH1 0x00
00002d0a: DUP1
00002d0b: MLOAD
00002d0c: PUSH1 0x20
00002d0e: PUSH2 0x4dd7
00002d11: DUP4
00002d12: CODECOPY
00002d13: DUP2
00002d14: MLOAD
00002d15: SWAP2
00002d16: MSTORE
00002d17: SWAP1
00002d18: PUSH1 0x20
00002d1a: ADD
00002d1b: PUSH1 0x40
00002d1d: MLOAD
00002d1e: DUP1
00002d1f: SWAP2
00002d20: SUB
00002d21: SWAP1
00002d22: LOG3
00002d23: PUSH1 0x40
00002d25: MLOAD
00002d26: PUSH1 0x01
00002d28: PUSH1 0x01
00002d2a: PUSH1 0xa0
00002d2c: SHL
00002d2d: SUB
00002d2e: DUP3
00002d2f: AND
00002d30: SWAP1
00002d31: PUSH1 0x00
00002d33: SWAP1
00002d34: PUSH32 0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f
00002d55: SWAP1
00002d56: DUP3
00002d57: SWAP1
00002d58: LOG3
00002d59: POP
00002d5a: POP
00002d5b: POP
00002d5c: POP
00002d5d: POP
00002d5e: POP
00002d5f: POP
00002d60: JUMP
00002d61: JUMPDEST
00002d62: PUSH1 0x00
00002d64: PUSH2 0x2d8b
00002d67: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00002d88: SLOAD
00002d89: SWAP1
00002d8a: JUMP
00002d8b: JUMPDEST
00002d8c: PUSH1 0x01
00002d8e: PUSH1 0x01
00002d90: PUSH1 0xa0
00002d92: SHL
00002d93: SUB
00002d94: AND
00002d95: SUB
00002d96: PUSH2 0x2de1
00002d99: JUMPI
00002d9a: PUSH1 0x40
00002d9c: MLOAD
00002d9d: PUSH3 0x461bcd
00002da1: PUSH1 0xe5
00002da3: SHL
00002da4: DUP2
00002da5: MSTORE
00002da6: PUSH1 0x20
00002da8: PUSH1 0x04
00002daa: DUP3
00002dab: ADD
00002dac: MSTORE
00002dad: PUSH1 0x1d
00002daf: PUSH1 0x24
00002db1: DUP3
00002db2: ADD
00002db3: MSTORE
00002db4: PUSH32 0x5555505350726f786961626c653a206e6f742075706772616461626c65000000
00002dd5: PUSH1 0x44
00002dd7: DUP3
00002dd8: ADD
00002dd9: MSTORE
00002dda: PUSH1 0x64
00002ddc: ADD
00002ddd: PUSH2 0x13e9
00002de0: JUMP
00002de1: JUMPDEST
00002de2: DUP1
00002de3: PUSH1 0x01
00002de5: PUSH1 0x01
00002de7: PUSH1 0xa0
00002de9: SHL
00002dea: SUB
00002deb: AND
00002dec: PUSH4 0x52d1902d
00002df1: PUSH1 0x40
00002df3: MLOAD
00002df4: DUP2
00002df5: PUSH4 0xffffffff
00002dfa: AND
00002dfb: PUSH1 0xe0
00002dfd: SHL
00002dfe: DUP2
00002dff: MSTORE
00002e00: PUSH1 0x04
00002e02: ADD
00002e03: PUSH1 0x20
00002e05: PUSH1 0x40
00002e07: MLOAD
00002e08: DUP1
00002e09: DUP4
00002e0a: SUB
00002e0b: DUP2
00002e0c: DUP7
00002e0d: GAS
00002e0e: STATICCALL
00002e0f: ISZERO
00002e10: DUP1
00002e11: ISZERO
00002e12: PUSH2 0x2e1f
00002e15: JUMPI
00002e16: RETURNDATASIZE
00002e17: PUSH1 0x00
00002e19: DUP1
00002e1a: RETURNDATACOPY
00002e1b: RETURNDATASIZE
00002e1c: PUSH1 0x00
00002e1e: REVERT
00002e1f: JUMPDEST
00002e20: POP
00002e21: POP
00002e22: POP
00002e23: POP
00002e24: PUSH1 0x40
00002e26: MLOAD
00002e27: RETURNDATASIZE
00002e28: PUSH1 0x1f
00002e2a: NOT
00002e2b: PUSH1 0x1f
00002e2d: DUP3
00002e2e: ADD
00002e2f: AND
00002e30: DUP3
00002e31: ADD
00002e32: DUP1
00002e33: PUSH1 0x40
00002e35: MSTORE
00002e36: POP
00002e37: DUP2
00002e38: ADD
00002e39: SWAP1
00002e3a: PUSH2 0x2e43
00002e3d: SWAP2
00002e3e: SWAP1
00002e3f: PUSH2 0x4903
00002e42: JUMP
00002e43: JUMPDEST
00002e44: PUSH32 0x6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019
00002e65: EQ
00002e66: PUSH2 0x2ebd
00002e69: JUMPI
00002e6a: PUSH1 0x40
00002e6c: MLOAD
00002e6d: PUSH3 0x461bcd
00002e71: PUSH1 0xe5
00002e73: SHL
00002e74: DUP2
00002e75: MSTORE
00002e76: PUSH1 0x20
00002e78: PUSH1 0x04
00002e7a: DUP3
00002e7b: ADD
00002e7c: MSTORE
00002e7d: PUSH1 0x23
00002e7f: PUSH1 0x24
00002e81: DUP3
00002e82: ADD
00002e83: MSTORE
00002e84: PUSH32 0x5555505350726f786961626c653a206e6f7420636f6d70617469626c65206c6f
00002ea5: PUSH1 0x44
00002ea7: DUP3
00002ea8: ADD
00002ea9: MSTORE
00002eaa: PUSH3 0x676963
00002eae: PUSH1 0xe8
00002eb0: SHL
00002eb1: PUSH1 0x64
00002eb3: DUP3
00002eb4: ADD
00002eb5: MSTORE
00002eb6: PUSH1 0x84
00002eb8: ADD
00002eb9: PUSH2 0x13e9
00002ebc: JUMP
00002ebd: JUMPDEST
00002ebe: PUSH1 0x01
00002ec0: PUSH1 0x01
00002ec2: PUSH1 0xa0
00002ec4: SHL
00002ec5: SUB
00002ec6: DUP2
00002ec7: AND
00002ec8: ADDRESS
00002ec9: SUB
00002eca: PUSH2 0x2f15
00002ecd: JUMPI
00002ece: PUSH1 0x40
00002ed0: MLOAD
00002ed1: PUSH3 0x461bcd
00002ed5: PUSH1 0xe5
00002ed7: SHL
00002ed8: DUP2
00002ed9: MSTORE
00002eda: PUSH1 0x20
00002edc: PUSH1 0x04
00002ede: DUP3
00002edf: ADD
00002ee0: MSTORE
00002ee1: PUSH1 0x19
00002ee3: PUSH1 0x24
00002ee5: DUP3
00002ee6: ADD
00002ee7: MSTORE
00002ee8: PUSH32 0x5555505350726f786961626c653a2070726f7879206c6f6f7000000000000000
00002f09: PUSH1 0x44
00002f0b: DUP3
00002f0c: ADD
00002f0d: MSTORE
00002f0e: PUSH1 0x64
00002f10: ADD
00002f11: PUSH2 0x13e9
00002f14: JUMP
00002f15: JUMPDEST
00002f16: PUSH2 0x2f3d
00002f19: DUP2
00002f1a: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00002f3b: SSTORE
00002f3c: JUMP
00002f3d: JUMPDEST
00002f3e: PUSH32 0xe011bc04c286c344a8fcbb8de77f953da762c3e25d8cdea984147fc4168a5dcc
00002f5f: PUSH32 0x6bfbb132610e56cb96575dba244667b9d6dbfeffe22b68a79fa16f2d18eb0019
00002f80: PUSH1 0x40
00002f82: DUP1
00002f83: MLOAD
00002f84: SWAP2
00002f85: DUP3
00002f86: MSTORE
00002f87: PUSH1 0x01
00002f89: PUSH1 0x01
00002f8b: PUSH1 0xa0
00002f8d: SHL
00002f8e: SUB
00002f8f: DUP5
00002f90: AND
00002f91: PUSH1 0x20
00002f93: DUP4
00002f94: ADD
00002f95: MSTORE
00002f96: ADD
00002f97: PUSH2 0x1b48
00002f9a: JUMP
00002f9b: JUMPDEST
00002f9c: PUSH1 0x60
00002f9e: DUP2
00002f9f: PUSH1 0x01
00002fa1: PUSH1 0x01
00002fa3: PUSH1 0x40
00002fa5: SHL
00002fa6: SUB
00002fa7: DUP2
00002fa8: GT
00002fa9: ISZERO
00002faa: PUSH2 0x2fb5
00002fad: JUMPI
00002fae: PUSH2 0x2fb5
00002fb1: PUSH2 0x4092
00002fb4: JUMP
00002fb5: JUMPDEST
00002fb6: PUSH1 0x40
00002fb8: MLOAD
00002fb9: SWAP1
00002fba: DUP1
00002fbb: DUP3
00002fbc: MSTORE
00002fbd: DUP1
00002fbe: PUSH1 0x20
00002fc0: MUL
00002fc1: PUSH1 0x20
00002fc3: ADD
00002fc4: DUP3
00002fc5: ADD
00002fc6: PUSH1 0x40
00002fc8: MSTORE
00002fc9: DUP1
00002fca: ISZERO
00002fcb: PUSH2 0x2fde
00002fce: JUMPI
00002fcf: DUP2
00002fd0: PUSH1 0x20
00002fd2: ADD
00002fd3: PUSH1 0x20
00002fd5: DUP3
00002fd6: MUL
00002fd7: DUP1
00002fd8: CALLDATASIZE
00002fd9: DUP4
00002fda: CALLDATACOPY
00002fdb: ADD
00002fdc: SWAP1
00002fdd: POP
00002fde: JUMPDEST
00002fdf: POP
00002fe0: SWAP1
00002fe1: POP
00002fe2: PUSH1 0x00
00002fe4: JUMPDEST
00002fe5: DUP3
00002fe6: DUP2
00002fe7: LT
00002fe8: ISZERO
00002fe9: PUSH2 0x301b
00002fec: JUMPI
00002fed: PUSH1 0x00
00002fef: DUP2
00002ff0: DUP6
00002ff1: ADD
00002ff2: SLOAD
00002ff3: SWAP1
00002ff4: POP
00002ff5: DUP1
00002ff6: DUP4
00002ff7: DUP4
00002ff8: DUP2
00002ff9: MLOAD
00002ffa: DUP2
00002ffb: LT
00002ffc: PUSH2 0x3007
00002fff: JUMPI
00003000: PUSH2 0x3007
00003003: PUSH2 0x4a3c
00003006: JUMP
00003007: JUMPDEST
00003008: PUSH1 0x20
0000300a: SWAP1
0000300b: DUP2
0000300c: MUL
0000300d: SWAP2
0000300e: SWAP1
0000300f: SWAP2
00003010: ADD
00003011: ADD
00003012: MSTORE
00003013: POP
00003014: PUSH1 0x01
00003016: ADD
00003017: PUSH2 0x2fe4
0000301a: JUMP
0000301b: JUMPDEST
0000301c: POP
0000301d: SWAP3
0000301e: SWAP2
0000301f: POP
00003020: POP
00003021: JUMP
00003022: JUMPDEST
00003023: PUSH1 0x00
00003025: DUP2
00003026: PUSH1 0x01
00003028: PUSH1 0x01
0000302a: PUSH1 0xa0
0000302c: SHL
0000302d: SUB
0000302e: AND
0000302f: DUP4
00003030: PUSH1 0x01
00003032: PUSH1 0x01
00003034: PUSH1 0xa0
00003036: SHL
00003037: SUB
00003038: AND
00003039: EQ
0000303a: DUP1
0000303b: PUSH2 0x3091
0000303e: JUMPI
0000303f: POP
00003040: PUSH1 0x01
00003042: PUSH1 0x01
00003044: PUSH1 0xa0
00003046: SHL
00003047: SUB
00003048: DUP4
00003049: AND
0000304a: PUSH1 0x00
0000304c: SWAP1
0000304d: DUP2
0000304e: MSTORE
0000304f: PUSH1 0x01
00003051: DUP6
00003052: ADD
00003053: PUSH1 0x20
00003055: MSTORE
00003056: PUSH1 0x40
00003058: SWAP1
00003059: KECCAK256
0000305a: SLOAD
0000305b: PUSH1 0xff
0000305d: AND
0000305e: DUP1
0000305f: ISZERO
00003060: PUSH2 0x3091
00003063: JUMPI
00003064: POP
00003065: PUSH1 0x01
00003067: PUSH1 0x01
00003069: PUSH1 0xa0
0000306b: SHL
0000306c: SUB
0000306d: DUP1
0000306e: DUP4
0000306f: AND
00003070: PUSH1 0x00
00003072: SWAP1
00003073: DUP2
00003074: MSTORE
00003075: PUSH1 0x03
00003077: DUP7
00003078: ADD
00003079: PUSH1 0x20
0000307b: SWAP1
0000307c: DUP2
0000307d: MSTORE
0000307e: PUSH1 0x40
00003080: DUP1
00003081: DUP4
00003082: KECCAK256
00003083: SWAP4
00003084: DUP8
00003085: AND
00003086: DUP4
00003087: MSTORE
00003088: SWAP3
00003089: SWAP1
0000308a: MSTORE
0000308b: KECCAK256
0000308c: SLOAD
0000308d: PUSH1 0xff
0000308f: AND
00003090: ISZERO
00003091: JUMPDEST
00003092: DUP1
00003093: PUSH2 0x10b3
00003096: JUMPI
00003097: POP
00003098: PUSH1 0x01
0000309a: PUSH1 0x01
0000309c: PUSH1 0xa0
0000309e: SHL
0000309f: SUB
000030a0: DUP1
000030a1: DUP4
000030a2: AND
000030a3: PUSH1 0x00
000030a5: SWAP1
000030a6: DUP2
000030a7: MSTORE
000030a8: PUSH1 0x02
000030aa: DUP7
000030ab: ADD
000030ac: PUSH1 0x20
000030ae: SWAP1
000030af: DUP2
000030b0: MSTORE
000030b1: PUSH1 0x40
000030b3: DUP1
000030b4: DUP4
000030b5: KECCAK256
000030b6: SWAP4
000030b7: DUP8
000030b8: AND
000030b9: DUP4
000030ba: MSTORE
000030bb: SWAP3
000030bc: SWAP1
000030bd: MSTORE
000030be: KECCAK256
000030bf: SLOAD
000030c0: PUSH1 0xff
000030c2: AND
000030c3: SWAP1
000030c4: POP
000030c5: SWAP4
000030c6: SWAP3
000030c7: POP
000030c8: POP
000030c9: POP
000030ca: JUMP
000030cb: JUMPDEST
000030cc: PUSH1 0x01
000030ce: PUSH1 0x01
000030d0: PUSH1 0xa0
000030d2: SHL
000030d3: SUB
000030d4: DUP7
000030d5: AND
000030d6: PUSH2 0x30f2
000030d9: JUMPI
000030da: PUSH1 0x40
000030dc: MLOAD
000030dd: PUSH4 0xeecd6c9b
000030e2: PUSH1 0xe0
000030e4: SHL
000030e5: DUP2
000030e6: MSTORE
000030e7: PUSH1 0x04
000030e9: ADD
000030ea: PUSH1 0x40
000030ec: MLOAD
000030ed: DUP1
000030ee: SWAP2
000030ef: SUB
000030f0: SWAP1
000030f1: REVERT
000030f2: JUMPDEST
000030f3: PUSH1 0x01
000030f5: PUSH1 0x01
000030f7: PUSH1 0xa0
000030f9: SHL
000030fa: SUB
000030fb: DUP6
000030fc: AND
000030fd: PUSH2 0x3119
00003100: JUMPI
00003101: PUSH1 0x40
00003103: MLOAD
00003104: PUSH4 0xe219bd39
00003109: PUSH1 0xe0
0000310b: SHL
0000310c: DUP2
0000310d: MSTORE
0000310e: PUSH1 0x04
00003110: ADD
00003111: PUSH1 0x40
00003113: MLOAD
00003114: DUP1
00003115: SWAP2
00003116: SUB
00003117: SWAP1
00003118: REVERT
00003119: JUMPDEST
0000311a: PUSH2 0x3127
0000311d: DUP8
0000311e: DUP8
0000311f: DUP8
00003120: DUP8
00003121: DUP8
00003122: DUP8
00003123: PUSH2 0x376f
00003126: JUMP
00003127: JUMPDEST
00003128: PUSH2 0x3135
0000312b: DUP8
0000312c: DUP8
0000312d: DUP8
0000312e: DUP8
0000312f: DUP8
00003130: DUP8
00003131: PUSH2 0x356a
00003134: JUMP
00003135: JUMPDEST
00003136: PUSH2 0x146b
00003139: DUP8
0000313a: DUP8
0000313b: DUP8
0000313c: DUP8
0000313d: DUP8
0000313e: DUP8
0000313f: DUP8
00003140: PUSH2 0x3896
00003143: JUMP
00003144: JUMPDEST
00003145: DUP1
00003146: PUSH1 0x01
00003148: PUSH1 0x01
0000314a: PUSH1 0xa0
0000314c: SHL
0000314d: SUB
0000314e: AND
0000314f: DUP3
00003150: PUSH1 0x01
00003152: PUSH1 0x01
00003154: PUSH1 0xa0
00003156: SHL
00003157: SUB
00003158: AND
00003159: SUB
0000315a: PUSH2 0x31bb
0000315d: JUMPI
0000315e: PUSH1 0x40
00003160: MLOAD
00003161: PUSH3 0x461bcd
00003165: PUSH1 0xe5
00003167: SHL
00003168: DUP2
00003169: MSTORE
0000316a: PUSH1 0x20
0000316c: PUSH1 0x04
0000316e: DUP3
0000316f: ADD
00003170: MSTORE
00003171: PUSH1 0x2d
00003173: PUSH1 0x24
00003175: DUP3
00003176: ADD
00003177: MSTORE
00003178: PUSH32 0x4552433737374f70657261746f72733a20617574686f72697a696e672073656c
00003199: PUSH1 0x44
0000319b: DUP3
0000319c: ADD
0000319d: MSTORE
0000319e: PUSH13 0x331030b99037b832b930ba37b9
000031ac: PUSH1 0x99
000031ae: SHL
000031af: PUSH1 0x64
000031b1: DUP3
000031b2: ADD
000031b3: MSTORE
000031b4: PUSH1 0x84
000031b6: ADD
000031b7: PUSH2 0x13e9
000031ba: JUMP
000031bb: JUMPDEST
000031bc: PUSH1 0x01
000031be: PUSH1 0x01
000031c0: PUSH1 0xa0
000031c2: SHL
000031c3: SUB
000031c4: DUP2
000031c5: AND
000031c6: PUSH1 0x00
000031c8: SWAP1
000031c9: DUP2
000031ca: MSTORE
000031cb: PUSH1 0x01
000031cd: DUP5
000031ce: ADD
000031cf: PUSH1 0x20
000031d1: MSTORE
000031d2: PUSH1 0x40
000031d4: SWAP1
000031d5: KECCAK256
000031d6: SLOAD
000031d7: PUSH1 0xff
000031d9: AND
000031da: ISZERO
000031db: PUSH2 0x3211
000031de: JUMPI
000031df: PUSH1 0x01
000031e1: PUSH1 0x01
000031e3: PUSH1 0xa0
000031e5: SHL
000031e6: SUB
000031e7: SWAP2
000031e8: DUP3
000031e9: AND
000031ea: PUSH1 0x00
000031ec: SWAP1
000031ed: DUP2
000031ee: MSTORE
000031ef: PUSH1 0x03
000031f1: SWAP4
000031f2: SWAP1
000031f3: SWAP4
000031f4: ADD
000031f5: PUSH1 0x20
000031f7: SWAP1
000031f8: DUP2
000031f9: MSTORE
000031fa: PUSH1 0x40
000031fc: DUP1
000031fd: DUP6
000031fe: KECCAK256
000031ff: SWAP3
00003200: SWAP1
00003201: SWAP4
00003202: AND
00003203: DUP5
00003204: MSTORE
00003205: MSTORE
00003206: SWAP1
00003207: KECCAK256
00003208: DUP1
00003209: SLOAD
0000320a: PUSH1 0xff
0000320c: NOT
0000320d: AND
0000320e: SWAP1
0000320f: SSTORE
00003210: JUMP
00003211: JUMPDEST
00003212: PUSH1 0x01
00003214: PUSH1 0x01
00003216: PUSH1 0xa0
00003218: SHL
00003219: SUB
0000321a: DUP1
0000321b: DUP4
0000321c: AND
0000321d: PUSH1 0x00
0000321f: SWAP1
00003220: DUP2
00003221: MSTORE
00003222: PUSH1 0x02
00003224: DUP6
00003225: ADD
00003226: PUSH1 0x20
00003228: SWAP1
00003229: DUP2
0000322a: MSTORE
0000322b: PUSH1 0x40
0000322d: DUP1
0000322e: DUP4
0000322f: KECCAK256
00003230: SWAP4
00003231: DUP6
00003232: AND
00003233: DUP4
00003234: MSTORE
00003235: SWAP3
00003236: SWAP1
00003237: MSTORE
00003238: KECCAK256
00003239: DUP1
0000323a: SLOAD
0000323b: PUSH1 0xff
0000323d: NOT
0000323e: AND
0000323f: PUSH1 0x01
00003241: OR
00003242: SWAP1
00003243: SSTORE
00003244: POP
00003245: POP
00003246: POP
00003247: JUMP
00003248: JUMPDEST
00003249: PUSH1 0x01
0000324b: PUSH1 0x01
0000324d: PUSH1 0xa0
0000324f: SHL
00003250: SUB
00003251: DUP6
00003252: AND
00003253: PUSH2 0x326f
00003256: JUMPI
00003257: PUSH1 0x40
00003259: MLOAD
0000325a: PUSH4 0x2e8aac61
0000325f: PUSH1 0xe2
00003261: SHL
00003262: DUP2
00003263: MSTORE
00003264: PUSH1 0x04
00003266: ADD
00003267: PUSH1 0x40
00003269: MLOAD
0000326a: DUP1
0000326b: SWAP2
0000326c: SUB
0000326d: SWAP1
0000326e: REVERT
0000326f: JUMPDEST
00003270: DUP3
00003271: ISZERO
00003272: PUSH2 0x3284
00003275: JUMPI
00003276: PUSH2 0x3284
00003279: DUP7
0000327a: DUP7
0000327b: PUSH1 0x00
0000327d: DUP8
0000327e: DUP7
0000327f: DUP7
00003280: PUSH2 0x376f
00003283: JUMP
00003284: JUMPDEST
00003285: PUSH2 0x328e
00003288: DUP6
00003289: DUP6
0000328a: PUSH2 0x39e6
0000328d: JUMP
0000328e: JUMPDEST
0000328f: DUP5
00003290: PUSH1 0x01
00003292: PUSH1 0x01
00003294: PUSH1 0xa0
00003296: SHL
00003297: SUB
00003298: AND
00003299: DUP7
0000329a: PUSH1 0x01
0000329c: PUSH1 0x01
0000329e: PUSH1 0xa0
000032a0: SHL
000032a1: SUB
000032a2: AND
000032a3: PUSH32 0xa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a4098
000032c4: DUP7
000032c5: DUP6
000032c6: DUP6
000032c7: PUSH1 0x40
000032c9: MLOAD
000032ca: PUSH2 0x32d5
000032cd: SWAP4
000032ce: SWAP3
000032cf: SWAP2
000032d0: SWAP1
000032d1: PUSH2 0x4ceb
000032d4: JUMP
000032d5: JUMPDEST
000032d6: PUSH1 0x40
000032d8: MLOAD
000032d9: DUP1
000032da: SWAP2
000032db: SUB
000032dc: SWAP1
000032dd: LOG3
000032de: PUSH1 0x40
000032e0: MLOAD
000032e1: DUP5
000032e2: DUP2
000032e3: MSTORE
000032e4: PUSH1 0x00
000032e6: SWAP1
000032e7: PUSH1 0x01
000032e9: PUSH1 0x01
000032eb: PUSH1 0xa0
000032ed: SHL
000032ee: SUB
000032ef: DUP8
000032f0: AND
000032f1: SWAP1
000032f2: PUSH1 0x00
000032f4: DUP1
000032f5: MLOAD
000032f6: PUSH1 0x20
000032f8: PUSH2 0x4dd7
000032fb: DUP4
000032fc: CODECOPY
000032fd: DUP2
000032fe: MLOAD
000032ff: SWAP2
00003300: MSTORE
00003301: SWAP1
00003302: PUSH1 0x20
00003304: ADD
00003305: JUMPDEST
00003306: PUSH1 0x40
00003308: MLOAD
00003309: DUP1
0000330a: SWAP2
0000330b: SUB
0000330c: SWAP1
0000330d: LOG3
0000330e: POP
0000330f: POP
00003310: POP
00003311: POP
00003312: POP
00003313: POP
00003314: JUMP
00003315: JUMPDEST
00003316: PUSH1 0x00
00003318: DUP2
00003319: DUP5
0000331a: DUP5
0000331b: GT
0000331c: ISZERO
0000331d: PUSH2 0x3339
00003320: JUMPI
00003321: PUSH1 0x40
00003323: MLOAD
00003324: PUSH3 0x461bcd
00003328: PUSH1 0xe5
0000332a: SHL
0000332b: DUP2
0000332c: MSTORE
0000332d: PUSH1 0x04
0000332f: ADD
00003330: PUSH2 0x13e9
00003333: SWAP2
00003334: SWAP1
00003335: PUSH2 0x3ee3
00003338: JUMP
00003339: JUMPDEST
0000333a: POP
0000333b: POP
0000333c: POP
0000333d: SWAP1
0000333e: SUB
0000333f: SWAP1
00003340: JUMP
00003341: JUMPDEST
00003342: PUSH1 0x01
00003344: PUSH1 0x01
00003346: PUSH1 0xa0
00003348: SHL
00003349: SUB
0000334a: DUP7
0000334b: AND
0000334c: PUSH2 0x3368
0000334f: JUMPI
00003350: PUSH1 0x40
00003352: MLOAD
00003353: PUSH4 0x0d243157
00003358: PUSH1 0xe0
0000335a: SHL
0000335b: DUP2
0000335c: MSTORE
0000335d: PUSH1 0x04
0000335f: ADD
00003360: PUSH1 0x40
00003362: MLOAD
00003363: DUP1
00003364: SWAP2
00003365: SUB
00003366: SWAP1
00003367: REVERT
00003368: JUMPDEST
00003369: PUSH2 0x3372
0000336c: DUP7
0000336d: DUP7
0000336e: PUSH2 0x3af6
00003371: JUMP
00003372: JUMPDEST
00003373: DUP4
00003374: ISZERO
00003375: PUSH2 0x3388
00003378: JUMPI
00003379: PUSH2 0x3388
0000337c: DUP8
0000337d: PUSH1 0x00
0000337f: DUP9
00003380: DUP9
00003381: DUP7
00003382: DUP7
00003383: DUP10
00003384: PUSH2 0x3896
00003387: JUMP
00003388: JUMPDEST
00003389: DUP6
0000338a: PUSH1 0x01
0000338c: PUSH1 0x01
0000338e: PUSH1 0xa0
00003390: SHL
00003391: SUB
00003392: AND
00003393: DUP8
00003394: PUSH1 0x01
00003396: PUSH1 0x01
00003398: PUSH1 0xa0
0000339a: SHL
0000339b: SUB
0000339c: AND
0000339d: PUSH32 0x2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d
000033be: DUP8
000033bf: DUP6
000033c0: DUP6
000033c1: PUSH1 0x40
000033c3: MLOAD
000033c4: PUSH2 0x33cf
000033c7: SWAP4
000033c8: SWAP3
000033c9: SWAP2
000033ca: SWAP1
000033cb: PUSH2 0x4ceb
000033ce: JUMP
000033cf: JUMPDEST
000033d0: PUSH1 0x40
000033d2: MLOAD
000033d3: DUP1
000033d4: SWAP2
000033d5: SUB
000033d6: SWAP1
000033d7: LOG3
000033d8: PUSH1 0x40
000033da: MLOAD
000033db: DUP6
000033dc: DUP2
000033dd: MSTORE
000033de: PUSH1 0x01
000033e0: PUSH1 0x01
000033e2: PUSH1 0xa0
000033e4: SHL
000033e5: SUB
000033e6: DUP8
000033e7: AND
000033e8: SWAP1
000033e9: PUSH1 0x00
000033eb: SWAP1
000033ec: PUSH1 0x00
000033ee: DUP1
000033ef: MLOAD
000033f0: PUSH1 0x20
000033f2: PUSH2 0x4dd7
000033f5: DUP4
000033f6: CODECOPY
000033f7: DUP2
000033f8: MLOAD
000033f9: SWAP2
000033fa: MSTORE
000033fb: SWAP1
000033fc: PUSH1 0x20
000033fe: ADD
000033ff: PUSH1 0x40
00003401: MLOAD
00003402: DUP1
00003403: SWAP2
00003404: SUB
00003405: SWAP1
00003406: LOG3
00003407: POP
00003408: POP
00003409: POP
0000340a: POP
0000340b: POP
0000340c: POP
0000340d: POP
0000340e: JUMP
0000340f: JUMPDEST
00003410: CALLER
00003411: PUSH1 0x01
00003413: PUSH1 0x01
00003415: PUSH1 0xa0
00003417: SHL
00003418: SUB
00003419: DUP3
0000341a: AND
0000341b: SUB
0000341c: PUSH2 0x347a
0000341f: JUMPI
00003420: PUSH1 0x40
00003422: MLOAD
00003423: PUSH3 0x461bcd
00003427: PUSH1 0xe5
00003429: SHL
0000342a: DUP2
0000342b: MSTORE
0000342c: PUSH1 0x20
0000342e: PUSH1 0x04
00003430: DUP3
00003431: ADD
00003432: MSTORE
00003433: PUSH1 0x2a
00003435: PUSH1 0x24
00003437: DUP3
00003438: ADD
00003439: MSTORE
0000343a: PUSH32 0x4552433737374f70657261746f72733a207265766f6b696e672073656c662061
0000345b: PUSH1 0x44
0000345d: DUP3
0000345e: ADD
0000345f: MSTORE
00003460: PUSH10 0x399037b832b930ba37b9
0000346b: PUSH1 0xb1
0000346d: SHL
0000346e: PUSH1 0x64
00003470: DUP3
00003471: ADD
00003472: MSTORE
00003473: PUSH1 0x84
00003475: ADD
00003476: PUSH2 0x13e9
00003479: JUMP
0000347a: JUMPDEST
0000347b: PUSH1 0x01
0000347d: PUSH1 0x01
0000347f: PUSH1 0xa0
00003481: SHL
00003482: SUB
00003483: DUP2
00003484: AND
00003485: PUSH1 0x00
00003487: SWAP1
00003488: DUP2
00003489: MSTORE
0000348a: PUSH1 0x01
0000348c: DUP5
0000348d: ADD
0000348e: PUSH1 0x20
00003490: MSTORE
00003491: PUSH1 0x40
00003493: SWAP1
00003494: KECCAK256
00003495: SLOAD
00003496: PUSH1 0xff
00003498: AND
00003499: ISZERO
0000349a: PUSH2 0x34d4
0000349d: JUMPI
0000349e: PUSH1 0x01
000034a0: PUSH1 0x01
000034a2: PUSH1 0xa0
000034a4: SHL
000034a5: SUB
000034a6: DUP1
000034a7: DUP4
000034a8: AND
000034a9: PUSH1 0x00
000034ab: SWAP1
000034ac: DUP2
000034ad: MSTORE
000034ae: PUSH1 0x03
000034b0: DUP6
000034b1: ADD
000034b2: PUSH1 0x20
000034b4: SWAP1
000034b5: DUP2
000034b6: MSTORE
000034b7: PUSH1 0x40
000034b9: DUP1
000034ba: DUP4
000034bb: KECCAK256
000034bc: SWAP4
000034bd: DUP6
000034be: AND
000034bf: DUP4
000034c0: MSTORE
000034c1: SWAP3
000034c2: SWAP1
000034c3: MSTORE
000034c4: KECCAK256
000034c5: DUP1
000034c6: SLOAD
000034c7: PUSH1 0xff
000034c9: NOT
000034ca: AND
000034cb: PUSH1 0x01
000034cd: OR
000034ce: SWAP1
000034cf: SSTORE
000034d0: POP
000034d1: POP
000034d2: POP
000034d3: JUMP
000034d4: JUMPDEST
000034d5: PUSH1 0x01
000034d7: PUSH1 0x01
000034d9: PUSH1 0xa0
000034db: SHL
000034dc: SUB
000034dd: SWAP2
000034de: DUP3
000034df: AND
000034e0: PUSH1 0x00
000034e2: SWAP1
000034e3: DUP2
000034e4: MSTORE
000034e5: PUSH1 0x02
000034e7: SWAP4
000034e8: SWAP1
000034e9: SWAP4
000034ea: ADD
000034eb: PUSH1 0x20
000034ed: SWAP1
000034ee: DUP2
000034ef: MSTORE
000034f0: PUSH1 0x40
000034f2: DUP1
000034f3: DUP6
000034f4: KECCAK256
000034f5: SWAP3
000034f6: SWAP1
000034f7: SWAP4
000034f8: AND
000034f9: DUP5
000034fa: MSTORE
000034fb: MSTORE
000034fc: SWAP1
000034fd: KECCAK256
000034fe: DUP1
000034ff: SLOAD
00003500: PUSH1 0xff
00003502: NOT
00003503: AND
00003504: SWAP1
00003505: SSTORE
00003506: JUMP
00003507: JUMPDEST
00003508: PUSH1 0x40
0000350a: MLOAD
0000350b: PUSH1 0x01
0000350d: PUSH1 0x01
0000350f: PUSH1 0xa0
00003511: SHL
00003512: SUB
00003513: DUP4
00003514: AND
00003515: PUSH1 0x24
00003517: DUP3
00003518: ADD
00003519: MSTORE
0000351a: PUSH1 0x44
0000351c: DUP2
0000351d: ADD
0000351e: DUP3
0000351f: SWAP1
00003520: MSTORE
00003521: PUSH2 0x10a0
00003524: SWAP1
00003525: DUP5
00003526: SWAP1
00003527: PUSH4 0xa9059cbb
0000352c: PUSH1 0xe0
0000352e: SHL
0000352f: SWAP1
00003530: PUSH1 0x64
00003532: ADD
00003533: JUMPDEST
00003534: PUSH1 0x40
00003536: DUP1
00003537: MLOAD
00003538: PUSH1 0x1f
0000353a: NOT
0000353b: DUP2
0000353c: DUP5
0000353d: SUB
0000353e: ADD
0000353f: DUP2
00003540: MSTORE
00003541: SWAP2
00003542: SWAP1
00003543: MSTORE
00003544: PUSH1 0x20
00003546: DUP2
00003547: ADD
00003548: DUP1
00003549: MLOAD
0000354a: PUSH1 0x01
0000354c: PUSH1 0x01
0000354e: PUSH1 0xe0
00003550: SHL
00003551: SUB
00003552: AND
00003553: PUSH1 0x01
00003555: PUSH1 0x01
00003557: PUSH1 0xe0
00003559: SHL
0000355a: SUB
0000355b: NOT
0000355c: SWAP1
0000355d: SWAP4
0000355e: AND
0000355f: SWAP3
00003560: SWAP1
00003561: SWAP3
00003562: OR
00003563: SWAP1
00003564: SWAP2
00003565: MSTORE
00003566: PUSH2 0x3b50
00003569: JUMP
0000356a: JUMPDEST
0000356b: PUSH2 0x357d
0000356e: DUP6
0000356f: DUP6
00003570: PUSH2 0x3578
00003573: DUP7
00003574: PUSH2 0x29a3
00003577: JUMP
00003578: JUMPDEST
00003579: PUSH2 0x3c25
0000357c: JUMP
0000357d: JUMPDEST
0000357e: DUP4
0000357f: PUSH1 0x01
00003581: PUSH1 0x01
00003583: PUSH1 0xa0
00003585: SHL
00003586: SUB
00003587: AND
00003588: DUP6
00003589: PUSH1 0x01
0000358b: PUSH1 0x01
0000358d: PUSH1 0xa0
0000358f: SHL
00003590: SUB
00003591: AND
00003592: DUP8
00003593: PUSH1 0x01
00003595: PUSH1 0x01
00003597: PUSH1 0xa0
00003599: SHL
0000359a: SUB
0000359b: AND
0000359c: PUSH32 0x06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc82614677987
000035bd: DUP7
000035be: DUP7
000035bf: DUP7
000035c0: PUSH1 0x40
000035c2: MLOAD
000035c3: PUSH2 0x35ce
000035c6: SWAP4
000035c7: SWAP3
000035c8: SWAP2
000035c9: SWAP1
000035ca: PUSH2 0x4ceb
000035cd: JUMP
000035ce: JUMPDEST
000035cf: PUSH1 0x40
000035d1: MLOAD
000035d2: DUP1
000035d3: SWAP2
000035d4: SUB
000035d5: SWAP1
000035d6: LOG4
000035d7: DUP4
000035d8: PUSH1 0x01
000035da: PUSH1 0x01
000035dc: PUSH1 0xa0
000035de: SHL
000035df: SUB
000035e0: AND
000035e1: DUP6
000035e2: PUSH1 0x01
000035e4: PUSH1 0x01
000035e6: PUSH1 0xa0
000035e8: SHL
000035e9: SUB
000035ea: AND
000035eb: PUSH1 0x00
000035ed: DUP1
000035ee: MLOAD
000035ef: PUSH1 0x20
000035f1: PUSH2 0x4dd7
000035f4: DUP4
000035f5: CODECOPY
000035f6: DUP2
000035f7: MLOAD
000035f8: SWAP2
000035f9: MSTORE
000035fa: DUP6
000035fb: PUSH1 0x40
000035fd: MLOAD
000035fe: PUSH2 0x3305
00003601: SWAP2
00003602: DUP2
00003603: MSTORE
00003604: PUSH1 0x20
00003606: ADD
00003607: SWAP1
00003608: JUMP
00003609: JUMPDEST
0000360a: PUSH1 0x40
0000360c: MLOAD
0000360d: PUSH1 0x01
0000360f: PUSH1 0x01
00003611: PUSH1 0xa0
00003613: SHL
00003614: SUB
00003615: DUP1
00003616: DUP6
00003617: AND
00003618: PUSH1 0x24
0000361a: DUP4
0000361b: ADD
0000361c: MSTORE
0000361d: DUP4
0000361e: AND
0000361f: PUSH1 0x44
00003621: DUP3
00003622: ADD
00003623: MSTORE
00003624: PUSH1 0x64
00003626: DUP2
00003627: ADD
00003628: DUP3
00003629: SWAP1
0000362a: MSTORE
0000362b: PUSH2 0x16de
0000362e: SWAP1
0000362f: DUP6
00003630: SWAP1
00003631: PUSH4 0x23b872dd
00003636: PUSH1 0xe0
00003638: SHL
00003639: SWAP1
0000363a: PUSH1 0x84
0000363c: ADD
0000363d: PUSH2 0x3533
00003640: JUMP
00003641: JUMPDEST
00003642: PUSH1 0x40
00003644: MLOAD
00003645: PUSH4 0x29965a1d
0000364a: PUSH1 0xe0
0000364c: SHL
0000364d: DUP2
0000364e: MSTORE
0000364f: PUSH1 0x01
00003651: PUSH1 0x01
00003653: PUSH1 0xa0
00003655: SHL
00003656: SUB
00003657: DUP3
00003658: AND
00003659: PUSH1 0x04
0000365b: DUP3
0000365c: ADD
0000365d: MSTORE
0000365e: PUSH32 0xac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce2177054
0000367f: PUSH1 0x24
00003681: DUP3
00003682: ADD
00003683: MSTORE
00003684: ADDRESS
00003685: PUSH1 0x44
00003687: DUP3
00003688: ADD
00003689: MSTORE
0000368a: PUSH20 0x1820a4b7618bde71dce8cdc73aab6c95905fad24
0000369f: SWAP1
000036a0: PUSH4 0x29965a1d
000036a5: SWAP1
000036a6: PUSH1 0x64
000036a8: ADD
000036a9: PUSH1 0x00
000036ab: PUSH1 0x40
000036ad: MLOAD
000036ae: DUP1
000036af: DUP4
000036b0: SUB
000036b1: DUP2
000036b2: PUSH1 0x00
000036b4: DUP8
000036b5: DUP1
000036b6: EXTCODESIZE
000036b7: ISZERO
000036b8: DUP1
000036b9: ISZERO
000036ba: PUSH2 0x36c2
000036bd: JUMPI
000036be: PUSH1 0x00
000036c0: DUP1
000036c1: REVERT
000036c2: JUMPDEST
000036c3: POP
000036c4: GAS
000036c5: CALL
000036c6: ISZERO
000036c7: DUP1
000036c8: ISZERO
000036c9: PUSH2 0x36d6
000036cc: JUMPI
000036cd: RETURNDATASIZE
000036ce: PUSH1 0x00
000036d0: DUP1
000036d1: RETURNDATACOPY
000036d2: RETURNDATASIZE
000036d3: PUSH1 0x00
000036d5: REVERT
000036d6: JUMPDEST
000036d7: POP
000036d8: POP
000036d9: PUSH1 0x40
000036db: MLOAD
000036dc: PUSH4 0x29965a1d
000036e1: PUSH1 0xe0
000036e3: SHL
000036e4: DUP2
000036e5: MSTORE
000036e6: PUSH1 0x01
000036e8: PUSH1 0x01
000036ea: PUSH1 0xa0
000036ec: SHL
000036ed: SUB
000036ee: DUP5
000036ef: AND
000036f0: PUSH1 0x04
000036f2: DUP3
000036f3: ADD
000036f4: MSTORE
000036f5: PUSH32 0xaea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a
00003716: PUSH1 0x24
00003718: DUP3
00003719: ADD
0000371a: MSTORE
0000371b: ADDRESS
0000371c: PUSH1 0x44
0000371e: DUP3
0000371f: ADD
00003720: MSTORE
00003721: PUSH20 0x1820a4b7618bde71dce8cdc73aab6c95905fad24
00003736: SWAP3
00003737: POP
00003738: PUSH4 0x29965a1d
0000373d: SWAP2
0000373e: POP
0000373f: PUSH1 0x64
00003741: ADD
00003742: PUSH1 0x00
00003744: PUSH1 0x40
00003746: MLOAD
00003747: DUP1
00003748: DUP4
00003749: SUB
0000374a: DUP2
0000374b: PUSH1 0x00
0000374d: DUP8
0000374e: DUP1
0000374f: EXTCODESIZE
00003750: ISZERO
00003751: DUP1
00003752: ISZERO
00003753: PUSH2 0x375b
00003756: JUMPI
00003757: PUSH1 0x00
00003759: DUP1
0000375a: REVERT
0000375b: JUMPDEST
0000375c: POP
0000375d: GAS
0000375e: CALL
0000375f: ISZERO
00003760: DUP1
00003761: ISZERO
00003762: PUSH2 0x0cf1
00003765: JUMPI
00003766: RETURNDATASIZE
00003767: PUSH1 0x00
00003769: DUP1
0000376a: RETURNDATACOPY
0000376b: RETURNDATASIZE
0000376c: PUSH1 0x00
0000376e: REVERT
0000376f: JUMPDEST
00003770: PUSH1 0x40
00003772: MLOAD
00003773: PUSH4 0x555ddc65
00003778: PUSH1 0xe1
0000377a: SHL
0000377b: DUP2
0000377c: MSTORE
0000377d: PUSH1 0x01
0000377f: PUSH1 0x01
00003781: PUSH1 0xa0
00003783: SHL
00003784: SUB
00003785: DUP7
00003786: AND
00003787: PUSH1 0x04
00003789: DUP3
0000378a: ADD
0000378b: MSTORE
0000378c: PUSH32 0x29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe895
000037ad: PUSH1 0x24
000037af: DUP3
000037b0: ADD
000037b1: MSTORE
000037b2: PUSH1 0x00
000037b4: SWAP1
000037b5: PUSH20 0x1820a4b7618bde71dce8cdc73aab6c95905fad24
000037ca: SWAP1
000037cb: PUSH4 0xaabbb8ca
000037d0: SWAP1
000037d1: PUSH1 0x44
000037d3: ADD
000037d4: PUSH1 0x20
000037d6: PUSH1 0x40
000037d8: MLOAD
000037d9: DUP1
000037da: DUP4
000037db: SUB
000037dc: DUP2
000037dd: DUP7
000037de: GAS
000037df: STATICCALL
000037e0: ISZERO
000037e1: DUP1
000037e2: ISZERO
000037e3: PUSH2 0x37f0
000037e6: JUMPI
000037e7: RETURNDATASIZE
000037e8: PUSH1 0x00
000037ea: DUP1
000037eb: RETURNDATACOPY
000037ec: RETURNDATASIZE
000037ed: PUSH1 0x00
000037ef: REVERT
000037f0: JUMPDEST
000037f1: POP
000037f2: POP
000037f3: POP
000037f4: POP
000037f5: PUSH1 0x40
000037f7: MLOAD
000037f8: RETURNDATASIZE
000037f9: PUSH1 0x1f
000037fb: NOT
000037fc: PUSH1 0x1f
000037fe: DUP3
000037ff: ADD
00003800: AND
00003801: DUP3
00003802: ADD
00003803: DUP1
00003804: PUSH1 0x40
00003806: MSTORE
00003807: POP
00003808: DUP2
00003809: ADD
0000380a: SWAP1
0000380b: PUSH2 0x3814
0000380e: SWAP2
0000380f: SWAP1
00003810: PUSH2 0x4a80
00003813: JUMP
00003814: JUMPDEST
00003815: SWAP1
00003816: POP
00003817: PUSH1 0x01
00003819: PUSH1 0x01
0000381b: PUSH1 0xa0
0000381d: SHL
0000381e: SUB
0000381f: DUP2
00003820: AND
00003821: ISZERO
00003822: PUSH2 0x146b
00003825: JUMPI
00003826: PUSH1 0x40
00003828: MLOAD
00003829: PUSH4 0x3ad5cbc1
0000382e: PUSH1 0xe1
00003830: SHL
00003831: DUP2
00003832: MSTORE
00003833: PUSH1 0x01
00003835: PUSH1 0x01
00003837: PUSH1 0xa0
00003839: SHL
0000383a: SUB
0000383b: DUP3
0000383c: AND
0000383d: SWAP1
0000383e: PUSH4 0x75ab9782
00003843: SWAP1
00003844: PUSH2 0x385b
00003847: SWAP1
00003848: DUP11
00003849: SWAP1
0000384a: DUP11
0000384b: SWAP1
0000384c: DUP11
0000384d: SWAP1
0000384e: DUP11
0000384f: SWAP1
00003850: DUP11
00003851: SWAP1
00003852: DUP11
00003853: SWAP1
00003854: PUSH1 0x04
00003856: ADD
00003857: PUSH2 0x4d16
0000385a: JUMP
0000385b: JUMPDEST
0000385c: PUSH1 0x00
0000385e: PUSH1 0x40
00003860: MLOAD
00003861: DUP1
00003862: DUP4
00003863: SUB
00003864: DUP2
00003865: PUSH1 0x00
00003867: DUP8
00003868: DUP1
00003869: EXTCODESIZE
0000386a: ISZERO
0000386b: DUP1
0000386c: ISZERO
0000386d: PUSH2 0x3875
00003870: JUMPI
00003871: PUSH1 0x00
00003873: DUP1
00003874: REVERT
00003875: JUMPDEST
00003876: POP
00003877: GAS
00003878: CALL
00003879: ISZERO
0000387a: DUP1
0000387b: ISZERO
0000387c: PUSH2 0x3889
0000387f: JUMPI
00003880: RETURNDATASIZE
00003881: PUSH1 0x00
00003883: DUP1
00003884: RETURNDATACOPY
00003885: RETURNDATASIZE
00003886: PUSH1 0x00
00003888: REVERT
00003889: JUMPDEST
0000388a: POP
0000388b: POP
0000388c: POP
0000388d: POP
0000388e: POP
0000388f: POP
00003890: POP
00003891: POP
00003892: POP
00003893: POP
00003894: POP
00003895: JUMP
00003896: JUMPDEST
00003897: PUSH1 0x40
00003899: MLOAD
0000389a: PUSH4 0x555ddc65
0000389f: PUSH1 0xe1
000038a1: SHL
000038a2: DUP2
000038a3: MSTORE
000038a4: PUSH1 0x01
000038a6: PUSH1 0x01
000038a8: PUSH1 0xa0
000038aa: SHL
000038ab: SUB
000038ac: DUP7
000038ad: AND
000038ae: PUSH1 0x04
000038b0: DUP3
000038b1: ADD
000038b2: MSTORE
000038b3: PUSH32 0xb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b
000038d4: PUSH1 0x24
000038d6: DUP3
000038d7: ADD
000038d8: MSTORE
000038d9: PUSH1 0x00
000038db: SWAP1
000038dc: PUSH20 0x1820a4b7618bde71dce8cdc73aab6c95905fad24
000038f1: SWAP1
000038f2: PUSH4 0xaabbb8ca
000038f7: SWAP1
000038f8: PUSH1 0x44
000038fa: ADD
000038fb: PUSH1 0x20
000038fd: PUSH1 0x40
000038ff: MLOAD
00003900: DUP1
00003901: DUP4
00003902: SUB
00003903: DUP2
00003904: DUP7
00003905: GAS
00003906: STATICCALL
00003907: ISZERO
00003908: DUP1
00003909: ISZERO
0000390a: PUSH2 0x3917
0000390d: JUMPI
0000390e: RETURNDATASIZE
0000390f: PUSH1 0x00
00003911: DUP1
00003912: RETURNDATACOPY
00003913: RETURNDATASIZE
00003914: PUSH1 0x00
00003916: REVERT
00003917: JUMPDEST
00003918: POP
00003919: POP
0000391a: POP
0000391b: POP
0000391c: PUSH1 0x40
0000391e: MLOAD
0000391f: RETURNDATASIZE
00003920: PUSH1 0x1f
00003922: NOT
00003923: PUSH1 0x1f
00003925: DUP3
00003926: ADD
00003927: AND
00003928: DUP3
00003929: ADD
0000392a: DUP1
0000392b: PUSH1 0x40
0000392d: MSTORE
0000392e: POP
0000392f: DUP2
00003930: ADD
00003931: SWAP1
00003932: PUSH2 0x393b
00003935: SWAP2
00003936: SWAP1
00003937: PUSH2 0x4a80
0000393a: JUMP
0000393b: JUMPDEST
0000393c: SWAP1
0000393d: POP
0000393e: PUSH1 0x01
00003940: PUSH1 0x01
00003942: PUSH1 0xa0
00003944: SHL
00003945: SUB
00003946: DUP2
00003947: AND
00003948: ISZERO
00003949: PUSH2 0x39b7
0000394c: JUMPI
0000394d: PUSH1 0x40
0000394f: MLOAD
00003950: PUSH3 0x23de29
00003954: PUSH1 0xe0
00003956: SHL
00003957: DUP2
00003958: MSTORE
00003959: PUSH1 0x01
0000395b: PUSH1 0x01
0000395d: PUSH1 0xa0
0000395f: SHL
00003960: SUB
00003961: DUP3
00003962: AND
00003963: SWAP1
00003964: PUSH3 0x23de29
00003968: SWAP1
00003969: PUSH2 0x3980
0000396c: SWAP1
0000396d: DUP12
0000396e: SWAP1
0000396f: DUP12
00003970: SWAP1
00003971: DUP12
00003972: SWAP1
00003973: DUP12
00003974: SWAP1
00003975: DUP12
00003976: SWAP1
00003977: DUP12
00003978: SWAP1
00003979: PUSH1 0x04
0000397b: ADD
0000397c: PUSH2 0x4d16
0000397f: JUMP
00003980: JUMPDEST
00003981: PUSH1 0x00
00003983: PUSH1 0x40
00003985: MLOAD
00003986: DUP1
00003987: DUP4
00003988: SUB
00003989: DUP2
0000398a: PUSH1 0x00
0000398c: DUP8
0000398d: DUP1
0000398e: EXTCODESIZE
0000398f: ISZERO
00003990: DUP1
00003991: ISZERO
00003992: PUSH2 0x399a
00003995: JUMPI
00003996: PUSH1 0x00
00003998: DUP1
00003999: REVERT
0000399a: JUMPDEST
0000399b: POP
0000399c: GAS
0000399d: CALL
0000399e: ISZERO
0000399f: DUP1
000039a0: ISZERO
000039a1: PUSH2 0x39ae
000039a4: JUMPI
000039a5: RETURNDATASIZE
000039a6: PUSH1 0x00
000039a8: DUP1
000039a9: RETURNDATACOPY
000039aa: RETURNDATASIZE
000039ab: PUSH1 0x00
000039ad: REVERT
000039ae: JUMPDEST
000039af: POP
000039b0: POP
000039b1: POP
000039b2: POP
000039b3: PUSH2 0x17dc
000039b6: JUMP
000039b7: JUMPDEST
000039b8: DUP2
000039b9: ISZERO
000039ba: PUSH2 0x17dc
000039bd: JUMPI
000039be: PUSH1 0x01
000039c0: PUSH1 0x01
000039c2: PUSH1 0xa0
000039c4: SHL
000039c5: SUB
000039c6: DUP7
000039c7: AND
000039c8: EXTCODESIZE
000039c9: ISZERO
000039ca: PUSH2 0x17dc
000039cd: JUMPI
000039ce: PUSH1 0x40
000039d0: MLOAD
000039d1: PUSH4 0xfe737d05
000039d6: PUSH1 0xe0
000039d8: SHL
000039d9: DUP2
000039da: MSTORE
000039db: PUSH1 0x04
000039dd: ADD
000039de: PUSH1 0x40
000039e0: MLOAD
000039e1: DUP1
000039e2: SWAP2
000039e3: SUB
000039e4: SWAP1
000039e5: REVERT
000039e6: JUMPDEST
000039e7: PUSH1 0x00
000039e9: PUSH2 0x3a6e
000039ec: DUP4
000039ed: PUSH32 0x0000000000000000000000004e583d9390082b65bef884b629dfa426114ced6d
00003a0e: PUSH1 0x01
00003a10: PUSH1 0x01
00003a12: PUSH1 0xa0
00003a14: SHL
00003a15: SUB
00003a16: AND
00003a17: PUSH4 0xbbe4fd50
00003a1c: PUSH1 0x40
00003a1e: MLOAD
00003a1f: DUP2
00003a20: PUSH4 0xffffffff
00003a25: AND
00003a26: PUSH1 0xe0
00003a28: SHL
00003a29: DUP2
00003a2a: MSTORE
00003a2b: PUSH1 0x04
00003a2d: ADD
00003a2e: PUSH1 0x20
00003a30: PUSH1 0x40
00003a32: MLOAD
00003a33: DUP1
00003a34: DUP4
00003a35: SUB
00003a36: DUP2
00003a37: DUP7
00003a38: GAS
00003a39: STATICCALL
00003a3a: ISZERO
00003a3b: DUP1
00003a3c: ISZERO
00003a3d: PUSH2 0x3a4a
00003a40: JUMPI
00003a41: RETURNDATASIZE
00003a42: PUSH1 0x00
00003a44: DUP1
00003a45: RETURNDATACOPY
00003a46: RETURNDATASIZE
00003a47: PUSH1 0x00
00003a49: REVERT
00003a4a: JUMPDEST
00003a4b: POP
00003a4c: POP
00003a4d: POP
00003a4e: POP
00003a4f: PUSH1 0x40
00003a51: MLOAD
00003a52: RETURNDATASIZE
00003a53: PUSH1 0x1f
00003a55: NOT
00003a56: PUSH1 0x1f
00003a58: DUP3
00003a59: ADD
00003a5a: AND
00003a5b: DUP3
00003a5c: ADD
00003a5d: DUP1
00003a5e: PUSH1 0x40
00003a60: MSTORE
00003a61: POP
00003a62: DUP2
00003a63: ADD
00003a64: SWAP1
00003a65: PUSH2 0x0952
00003a68: SWAP2
00003a69: SWAP1
00003a6a: PUSH2 0x4903
00003a6d: JUMP
00003a6e: JUMPDEST
00003a6f: POP
00003a70: POP
00003a71: SWAP1
00003a72: POP
00003a73: PUSH2 0x3a7b
00003a76: DUP3
00003a77: PUSH2 0x29a3
00003a7a: JUMP
00003a7b: JUMPDEST
00003a7c: DUP2
00003a7d: SLT
00003a7e: ISZERO
00003a7f: PUSH2 0x3a9b
00003a82: JUMPI
00003a83: PUSH1 0x40
00003a85: MLOAD
00003a86: PUSH4 0x043b37d1
00003a8b: PUSH1 0xe2
00003a8d: SHL
00003a8e: DUP2
00003a8f: MSTORE
00003a90: PUSH1 0x04
00003a92: ADD
00003a93: PUSH1 0x40
00003a95: MLOAD
00003a96: DUP1
00003a97: SWAP2
00003a98: SUB
00003a99: SWAP1
00003a9a: REVERT
00003a9b: JUMPDEST
00003a9c: PUSH2 0x3aa4
00003a9f: DUP3
00003aa0: PUSH2 0x29a3
00003aa3: JUMP
00003aa4: JUMPDEST
00003aa5: PUSH1 0x01
00003aa7: PUSH1 0x01
00003aa9: PUSH1 0xa0
00003aab: SHL
00003aac: SUB
00003aad: DUP5
00003aae: AND
00003aaf: PUSH1 0x00
00003ab1: SWAP1
00003ab2: DUP2
00003ab3: MSTORE
00003ab4: PUSH1 0x02
00003ab6: PUSH1 0x20
00003ab8: MSTORE
00003ab9: PUSH1 0x40
00003abb: SWAP1
00003abc: KECCAK256
00003abd: SLOAD
00003abe: PUSH2 0x3ac7
00003ac1: SWAP2
00003ac2: SWAP1
00003ac3: PUSH2 0x48b0
00003ac6: JUMP
00003ac7: JUMPDEST
00003ac8: PUSH1 0x01
00003aca: PUSH1 0x01
00003acc: PUSH1 0xa0
00003ace: SHL
00003acf: SUB
00003ad0: DUP5
00003ad1: AND
00003ad2: PUSH1 0x00
00003ad4: SWAP1
00003ad5: DUP2
00003ad6: MSTORE
00003ad7: PUSH1 0x02
00003ad9: PUSH1 0x20
00003adb: MSTORE
00003adc: PUSH1 0x40
00003ade: SWAP1
00003adf: KECCAK256
00003ae0: SSTORE
00003ae1: PUSH1 0x03
00003ae3: SLOAD
00003ae4: PUSH2 0x3aee
00003ae7: SWAP1
00003ae8: DUP4
00003ae9: SWAP1
00003aea: PUSH2 0x4a29
00003aed: JUMP
00003aee: JUMPDEST
00003aef: PUSH1 0x03
00003af1: SSTORE
00003af2: POP
00003af3: POP
00003af4: POP
00003af5: JUMP
00003af6: JUMPDEST
00003af7: PUSH2 0x3aff
00003afa: DUP2
00003afb: PUSH2 0x29a3
00003afe: JUMP
00003aff: JUMPDEST
00003b00: PUSH1 0x01
00003b02: PUSH1 0x01
00003b04: PUSH1 0xa0
00003b06: SHL
00003b07: SUB
00003b08: DUP4
00003b09: AND
00003b0a: PUSH1 0x00
00003b0c: SWAP1
00003b0d: DUP2
00003b0e: MSTORE
00003b0f: PUSH1 0x02
00003b11: PUSH1 0x20
00003b13: MSTORE
00003b14: PUSH1 0x40
00003b16: SWAP1
00003b17: KECCAK256
00003b18: SLOAD
00003b19: PUSH2 0x3b22
00003b1c: SWAP2
00003b1d: SWAP1
00003b1e: PUSH2 0x4888
00003b21: JUMP
00003b22: JUMPDEST
00003b23: PUSH1 0x01
00003b25: PUSH1 0x01
00003b27: PUSH1 0xa0
00003b29: SHL
00003b2a: SUB
00003b2b: DUP4
00003b2c: AND
00003b2d: PUSH1 0x00
00003b2f: SWAP1
00003b30: DUP2
00003b31: MSTORE
00003b32: PUSH1 0x02
00003b34: PUSH1 0x20
00003b36: MSTORE
00003b37: PUSH1 0x40
00003b39: SWAP1
00003b3a: KECCAK256
00003b3b: SSTORE
00003b3c: PUSH1 0x03
00003b3e: SLOAD
00003b3f: PUSH2 0x3b49
00003b42: SWAP1
00003b43: DUP3
00003b44: SWAP1
00003b45: PUSH2 0x49c8
00003b48: JUMP
00003b49: JUMPDEST
00003b4a: PUSH1 0x03
00003b4c: SSTORE
00003b4d: POP
00003b4e: POP
00003b4f: JUMP
00003b50: JUMPDEST
00003b51: PUSH1 0x00
00003b53: PUSH2 0x3ba5
00003b56: DUP3
00003b57: PUSH1 0x40
00003b59: MLOAD
00003b5a: DUP1
00003b5b: PUSH1 0x40
00003b5d: ADD
00003b5e: PUSH1 0x40
00003b60: MSTORE
00003b61: DUP1
00003b62: PUSH1 0x20
00003b64: DUP2
00003b65: MSTORE
00003b66: PUSH1 0x20
00003b68: ADD
00003b69: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00003b8a: DUP2
00003b8b: MSTORE
00003b8c: POP
00003b8d: DUP6
00003b8e: PUSH1 0x01
00003b90: PUSH1 0x01
00003b92: PUSH1 0xa0
00003b94: SHL
00003b95: SUB
00003b96: AND
00003b97: PUSH2 0x3d24
00003b9a: SWAP1
00003b9b: SWAP3
00003b9c: SWAP2
00003b9d: SWAP1
00003b9e: PUSH4 0xffffffff
00003ba3: AND
00003ba4: JUMP
00003ba5: JUMPDEST
00003ba6: SWAP1
00003ba7: POP
00003ba8: DUP1
00003ba9: MLOAD
00003baa: PUSH1 0x00
00003bac: EQ
00003bad: DUP1
00003bae: PUSH2 0x3bc6
00003bb1: JUMPI
00003bb2: POP
00003bb3: DUP1
00003bb4: DUP1
00003bb5: PUSH1 0x20
00003bb7: ADD
00003bb8: SWAP1
00003bb9: MLOAD
00003bba: DUP2
00003bbb: ADD
00003bbc: SWAP1
00003bbd: PUSH2 0x3bc6
00003bc0: SWAP2
00003bc1: SWAP1
00003bc2: PUSH2 0x4823
00003bc5: JUMP
00003bc6: JUMPDEST
00003bc7: PUSH2 0x10a0
00003bca: JUMPI
00003bcb: PUSH1 0x40
00003bcd: MLOAD
00003bce: PUSH3 0x461bcd
00003bd2: PUSH1 0xe5
00003bd4: SHL
00003bd5: DUP2
00003bd6: MSTORE
00003bd7: PUSH1 0x20
00003bd9: PUSH1 0x04
00003bdb: DUP3
00003bdc: ADD
00003bdd: MSTORE
00003bde: PUSH1 0x2a
00003be0: PUSH1 0x24
00003be2: DUP3
00003be3: ADD
00003be4: MSTORE
00003be5: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
00003c06: PUSH1 0x44
00003c08: DUP3
00003c09: ADD
00003c0a: MSTORE
00003c0b: PUSH10 0x1bdd081cdd58d8d95959
00003c16: PUSH1 0xb2
00003c18: SHL
00003c19: PUSH1 0x64
00003c1b: DUP3
00003c1c: ADD
00003c1d: MSTORE
00003c1e: PUSH1 0x84
00003c20: ADD
00003c21: PUSH2 0x13e9
00003c24: JUMP
00003c25: JUMPDEST
00003c26: PUSH1 0x00
00003c28: PUSH2 0x3c89
00003c2b: DUP5
00003c2c: PUSH32 0x0000000000000000000000004e583d9390082b65bef884b629dfa426114ced6d
00003c4d: PUSH1 0x01
00003c4f: PUSH1 0x01
00003c51: PUSH1 0xa0
00003c53: SHL
00003c54: SUB
00003c55: AND
00003c56: PUSH4 0xbbe4fd50
00003c5b: PUSH1 0x40
00003c5d: MLOAD
00003c5e: DUP2
00003c5f: PUSH4 0xffffffff
00003c64: AND
00003c65: PUSH1 0xe0
00003c67: SHL
00003c68: DUP2
00003c69: MSTORE
00003c6a: PUSH1 0x04
00003c6c: ADD
00003c6d: PUSH1 0x20
00003c6f: PUSH1 0x40
00003c71: MLOAD
00003c72: DUP1
00003c73: DUP4
00003c74: SUB
00003c75: DUP2
00003c76: DUP7
00003c77: GAS
00003c78: STATICCALL
00003c79: ISZERO
00003c7a: DUP1
00003c7b: ISZERO
00003c7c: PUSH2 0x3a4a
00003c7f: JUMPI
00003c80: RETURNDATASIZE
00003c81: PUSH1 0x00
00003c83: DUP1
00003c84: RETURNDATACOPY
00003c85: RETURNDATASIZE
00003c86: PUSH1 0x00
00003c88: REVERT
00003c89: JUMPDEST
00003c8a: POP
00003c8b: POP
00003c8c: SWAP1
00003c8d: POP
00003c8e: DUP2
00003c8f: DUP2
00003c90: SLT
00003c91: ISZERO
00003c92: PUSH2 0x3cae
00003c95: JUMPI
00003c96: PUSH1 0x40
00003c98: MLOAD
00003c99: PUSH4 0x2f4cb941
00003c9e: PUSH1 0xe0
00003ca0: SHL
00003ca1: DUP2
00003ca2: MSTORE
00003ca3: PUSH1 0x04
00003ca5: ADD
00003ca6: PUSH1 0x40
00003ca8: MLOAD
00003ca9: DUP1
00003caa: SWAP2
00003cab: SUB
00003cac: SWAP1
00003cad: REVERT
00003cae: JUMPDEST
00003caf: PUSH1 0x01
00003cb1: PUSH1 0x01
00003cb3: PUSH1 0xa0
00003cb5: SHL
00003cb6: SUB
00003cb7: DUP5
00003cb8: AND
00003cb9: PUSH1 0x00
00003cbb: SWAP1
00003cbc: DUP2
00003cbd: MSTORE
00003cbe: PUSH1 0x02
00003cc0: PUSH1 0x20
00003cc2: MSTORE
00003cc3: PUSH1 0x40
00003cc5: SWAP1
00003cc6: KECCAK256
00003cc7: SLOAD
00003cc8: PUSH2 0x3cd2
00003ccb: SWAP1
00003ccc: DUP4
00003ccd: SWAP1
00003cce: PUSH2 0x48b0
00003cd1: JUMP
00003cd2: JUMPDEST
00003cd3: PUSH1 0x01
00003cd5: PUSH1 0x01
00003cd7: PUSH1 0xa0
00003cd9: SHL
00003cda: SUB
00003cdb: DUP1
00003cdc: DUP7
00003cdd: AND
00003cde: PUSH1 0x00
00003ce0: SWAP1
00003ce1: DUP2
00003ce2: MSTORE
00003ce3: PUSH1 0x02
00003ce5: PUSH1 0x20
00003ce7: MSTORE
00003ce8: PUSH1 0x40
00003cea: DUP1
00003ceb: DUP3
00003cec: KECCAK256
00003ced: SWAP4
00003cee: SWAP1
00003cef: SWAP4
00003cf0: SSTORE
00003cf1: SWAP1
00003cf2: DUP6
00003cf3: AND
00003cf4: DUP2
00003cf5: MSTORE
00003cf6: KECCAK256
00003cf7: SLOAD
00003cf8: PUSH2 0x3d02
00003cfb: SWAP1
00003cfc: DUP4
00003cfd: SWAP1
00003cfe: PUSH2 0x4888
00003d01: JUMP
00003d02: JUMPDEST
00003d03: PUSH1 0x01
00003d05: PUSH1 0x01
00003d07: PUSH1 0xa0
00003d09: SHL
00003d0a: SUB
00003d0b: SWAP1
00003d0c: SWAP4
00003d0d: AND
00003d0e: PUSH1 0x00
00003d10: SWAP1
00003d11: DUP2
00003d12: MSTORE
00003d13: PUSH1 0x02
00003d15: PUSH1 0x20
00003d17: MSTORE
00003d18: PUSH1 0x40
00003d1a: SWAP1
00003d1b: KECCAK256
00003d1c: SWAP3
00003d1d: SWAP1
00003d1e: SWAP3
00003d1f: SSTORE
00003d20: POP
00003d21: POP
00003d22: POP
00003d23: JUMP
00003d24: JUMPDEST
00003d25: PUSH1 0x60
00003d27: PUSH2 0x10b3
00003d2a: DUP5
00003d2b: DUP5
00003d2c: PUSH1 0x00
00003d2e: DUP6
00003d2f: DUP6
00003d30: PUSH1 0x00
00003d32: DUP1
00003d33: DUP7
00003d34: PUSH1 0x01
00003d36: PUSH1 0x01
00003d38: PUSH1 0xa0
00003d3a: SHL
00003d3b: SUB
00003d3c: AND
00003d3d: DUP6
00003d3e: DUP8
00003d3f: PUSH1 0x40
00003d41: MLOAD
00003d42: PUSH2 0x3d4b
00003d45: SWAP2
00003d46: SWAP1
00003d47: PUSH2 0x4d70
00003d4a: JUMP
00003d4b: JUMPDEST
00003d4c: PUSH1 0x00
00003d4e: PUSH1 0x40
00003d50: MLOAD
00003d51: DUP1
00003d52: DUP4
00003d53: SUB
00003d54: DUP2
00003d55: DUP6
00003d56: DUP8
00003d57: GAS
00003d58: CALL
00003d59: SWAP3
00003d5a: POP
00003d5b: POP
00003d5c: POP
00003d5d: RETURNDATASIZE
00003d5e: DUP1
00003d5f: PUSH1 0x00
00003d61: DUP2
00003d62: EQ
00003d63: PUSH2 0x3d88
00003d66: JUMPI
00003d67: PUSH1 0x40
00003d69: MLOAD
00003d6a: SWAP2
00003d6b: POP
00003d6c: PUSH1 0x1f
00003d6e: NOT
00003d6f: PUSH1 0x3f
00003d71: RETURNDATASIZE
00003d72: ADD
00003d73: AND
00003d74: DUP3
00003d75: ADD
00003d76: PUSH1 0x40
00003d78: MSTORE
00003d79: RETURNDATASIZE
00003d7a: DUP3
00003d7b: MSTORE
00003d7c: RETURNDATASIZE
00003d7d: PUSH1 0x00
00003d7f: PUSH1 0x20
00003d81: DUP5
00003d82: ADD
00003d83: RETURNDATACOPY
00003d84: PUSH2 0x3d8d
00003d87: JUMP
00003d88: JUMPDEST
00003d89: PUSH1 0x60
00003d8b: SWAP2
00003d8c: POP
00003d8d: JUMPDEST
00003d8e: POP
00003d8f: SWAP2
00003d90: POP
00003d91: SWAP2
00003d92: POP
00003d93: PUSH2 0x3d9e
00003d96: DUP8
00003d97: DUP4
00003d98: DUP4
00003d99: DUP8
00003d9a: PUSH2 0x3da9
00003d9d: JUMP
00003d9e: JUMPDEST
00003d9f: SWAP8
00003da0: SWAP7
00003da1: POP
00003da2: POP
00003da3: POP
00003da4: POP
00003da5: POP
00003da6: POP
00003da7: POP
00003da8: JUMP
00003da9: JUMPDEST
00003daa: PUSH1 0x60
00003dac: DUP4
00003dad: ISZERO
00003dae: PUSH2 0x3e18
00003db1: JUMPI
00003db2: DUP3
00003db3: MLOAD
00003db4: PUSH1 0x00
00003db6: SUB
00003db7: PUSH2 0x3e11
00003dba: JUMPI
00003dbb: PUSH1 0x01
00003dbd: PUSH1 0x01
00003dbf: PUSH1 0xa0
00003dc1: SHL
00003dc2: SUB
00003dc3: DUP6
00003dc4: AND
00003dc5: EXTCODESIZE
00003dc6: PUSH2 0x3e11
00003dc9: JUMPI
00003dca: PUSH1 0x40
00003dcc: MLOAD
00003dcd: PUSH3 0x461bcd
00003dd1: PUSH1 0xe5
00003dd3: SHL
00003dd4: DUP2
00003dd5: MSTORE
00003dd6: PUSH1 0x20
00003dd8: PUSH1 0x04
00003dda: DUP3
00003ddb: ADD
00003ddc: MSTORE
00003ddd: PUSH1 0x1d
00003ddf: PUSH1 0x24
00003de1: DUP3
00003de2: ADD
00003de3: MSTORE
00003de4: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
00003e05: PUSH1 0x44
00003e07: DUP3
00003e08: ADD
00003e09: MSTORE
00003e0a: PUSH1 0x64
00003e0c: ADD
00003e0d: PUSH2 0x13e9
00003e10: JUMP
00003e11: JUMPDEST
00003e12: POP
00003e13: DUP2
00003e14: PUSH2 0x10b3
00003e17: JUMP
00003e18: JUMPDEST
00003e19: PUSH2 0x10b3
00003e1c: DUP4
00003e1d: DUP4
00003e1e: DUP2
00003e1f: MLOAD
00003e20: ISZERO
00003e21: PUSH2 0x3e2d
00003e24: JUMPI
00003e25: DUP2
00003e26: MLOAD
00003e27: DUP1
00003e28: DUP4
00003e29: PUSH1 0x20
00003e2b: ADD
00003e2c: REVERT
00003e2d: JUMPDEST
00003e2e: DUP1
00003e2f: PUSH1 0x40
00003e31: MLOAD
00003e32: PUSH3 0x461bcd
00003e36: PUSH1 0xe5
00003e38: SHL
00003e39: DUP2
00003e3a: MSTORE
00003e3b: PUSH1 0x04
00003e3d: ADD
00003e3e: PUSH2 0x13e9
00003e41: SWAP2
00003e42: SWAP1
00003e43: PUSH2 0x3ee3
00003e46: JUMP
00003e47: JUMPDEST
00003e48: PUSH1 0x20
00003e4a: DUP1
00003e4b: DUP3
00003e4c: MSTORE
00003e4d: DUP3
00003e4e: MLOAD
00003e4f: DUP3
00003e50: DUP3
00003e51: ADD
00003e52: DUP2
00003e53: SWAP1
00003e54: MSTORE
00003e55: PUSH1 0x00
00003e57: SWAP2
00003e58: DUP5
00003e59: ADD
00003e5a: SWAP1
00003e5b: PUSH1 0x40
00003e5d: DUP5
00003e5e: ADD
00003e5f: SWAP1
00003e60: DUP4
00003e61: JUMPDEST
00003e62: DUP2
00003e63: DUP2
00003e64: LT
00003e65: ISZERO
00003e66: PUSH2 0x3e88
00003e69: JUMPI
00003e6a: DUP4
00003e6b: MLOAD
00003e6c: PUSH1 0x01
00003e6e: PUSH1 0x01
00003e70: PUSH1 0xa0
00003e72: SHL
00003e73: SUB
00003e74: AND
00003e75: DUP4
00003e76: MSTORE
00003e77: PUSH1 0x20
00003e79: SWAP4
00003e7a: DUP5
00003e7b: ADD
00003e7c: SWAP4
00003e7d: SWAP1
00003e7e: SWAP3
00003e7f: ADD
00003e80: SWAP2
00003e81: PUSH1 0x01
00003e83: ADD
00003e84: PUSH2 0x3e61
00003e87: JUMP
00003e88: JUMPDEST
00003e89: POP
00003e8a: SWAP1
00003e8b: SWAP6
00003e8c: SWAP5
00003e8d: POP
00003e8e: POP
00003e8f: POP
00003e90: POP
00003e91: POP
00003e92: JUMP
00003e93: JUMPDEST
00003e94: PUSH1 0x00
00003e96: JUMPDEST
00003e97: DUP4
00003e98: DUP2
00003e99: LT
00003e9a: ISZERO
00003e9b: PUSH2 0x3eae
00003e9e: JUMPI
00003e9f: DUP2
00003ea0: DUP2
00003ea1: ADD
00003ea2: MLOAD
00003ea3: DUP4
00003ea4: DUP3
00003ea5: ADD
00003ea6: MSTORE
00003ea7: PUSH1 0x20
00003ea9: ADD
00003eaa: PUSH2 0x3e96
00003ead: JUMP
00003eae: JUMPDEST
00003eaf: POP
00003eb0: POP
00003eb1: PUSH1 0x00
00003eb3: SWAP2
00003eb4: ADD
00003eb5: MSTORE
00003eb6: JUMP
00003eb7: JUMPDEST
00003eb8: PUSH1 0x00
00003eba: DUP2
00003ebb: MLOAD
00003ebc: DUP1
00003ebd: DUP5
00003ebe: MSTORE
00003ebf: PUSH2 0x3ecf
00003ec2: DUP2
00003ec3: PUSH1 0x20
00003ec5: DUP7
00003ec6: ADD
00003ec7: PUSH1 0x20
00003ec9: DUP7
00003eca: ADD
00003ecb: PUSH2 0x3e93
00003ece: JUMP
00003ecf: JUMPDEST
00003ed0: PUSH1 0x1f
00003ed2: ADD
00003ed3: PUSH1 0x1f
00003ed5: NOT
00003ed6: AND
00003ed7: SWAP3
00003ed8: SWAP1
00003ed9: SWAP3
00003eda: ADD
00003edb: PUSH1 0x20
00003edd: ADD
00003ede: SWAP3
00003edf: SWAP2
00003ee0: POP
00003ee1: POP
00003ee2: JUMP
00003ee3: JUMPDEST
00003ee4: PUSH1 0x20
00003ee6: DUP2
00003ee7: MSTORE
00003ee8: PUSH1 0x00
00003eea: PUSH2 0x1882
00003eed: PUSH1 0x20
00003eef: DUP4
00003ef0: ADD
00003ef1: DUP5
00003ef2: PUSH2 0x3eb7
00003ef5: JUMP
00003ef6: JUMPDEST
00003ef7: PUSH1 0x01
00003ef9: PUSH1 0x01
00003efb: PUSH1 0xa0
00003efd: SHL
00003efe: SUB
00003eff: DUP2
00003f00: AND
00003f01: DUP2
00003f02: EQ
00003f03: PUSH2 0x0bb6
00003f06: JUMPI
00003f07: PUSH1 0x00
00003f09: DUP1
00003f0a: REVERT
00003f0b: JUMPDEST
00003f0c: PUSH1 0x00
00003f0e: DUP1
00003f0f: DUP4
00003f10: PUSH1 0x1f
00003f12: DUP5
00003f13: ADD
00003f14: SLT
00003f15: PUSH2 0x3f1d
00003f18: JUMPI
00003f19: PUSH1 0x00
00003f1b: DUP1
00003f1c: REVERT
00003f1d: JUMPDEST
00003f1e: POP
00003f1f: DUP2
00003f20: CALLDATALOAD
00003f21: PUSH1 0x01
00003f23: PUSH1 0x01
00003f25: PUSH1 0x40
00003f27: SHL
00003f28: SUB
00003f29: DUP2
00003f2a: GT
00003f2b: ISZERO
00003f2c: PUSH2 0x3f34
00003f2f: JUMPI
00003f30: PUSH1 0x00
00003f32: DUP1
00003f33: REVERT
00003f34: JUMPDEST
00003f35: PUSH1 0x20
00003f37: DUP4
00003f38: ADD
00003f39: SWAP2
00003f3a: POP
00003f3b: DUP4
00003f3c: PUSH1 0x20
00003f3e: DUP3
00003f3f: PUSH1 0x05
00003f41: SHL
00003f42: DUP6
00003f43: ADD
00003f44: ADD
00003f45: GT
00003f46: ISZERO
00003f47: PUSH2 0x3f4f
00003f4a: JUMPI
00003f4b: PUSH1 0x00
00003f4d: DUP1
00003f4e: REVERT
00003f4f: JUMPDEST
00003f50: SWAP3
00003f51: POP
00003f52: SWAP3
00003f53: SWAP1
00003f54: POP
00003f55: JUMP
00003f56: JUMPDEST
00003f57: PUSH1 0x00
00003f59: DUP1
00003f5a: PUSH1 0x00
00003f5c: DUP1
00003f5d: PUSH1 0x60
00003f5f: DUP6
00003f60: DUP8
00003f61: SUB
00003f62: SLT
00003f63: ISZERO
00003f64: PUSH2 0x3f6c
00003f67: JUMPI
00003f68: PUSH1 0x00
00003f6a: DUP1
00003f6b: REVERT
00003f6c: JUMPDEST
00003f6d: DUP5
00003f6e: CALLDATALOAD
00003f6f: PUSH2 0x3f77
00003f72: DUP2
00003f73: PUSH2 0x3ef6
00003f76: JUMP
00003f77: JUMPDEST
00003f78: SWAP4
00003f79: POP
00003f7a: PUSH1 0x20
00003f7c: DUP6
00003f7d: ADD
00003f7e: CALLDATALOAD
00003f7f: SWAP3
00003f80: POP
00003f81: PUSH1 0x40
00003f83: DUP6
00003f84: ADD
00003f85: CALLDATALOAD
00003f86: PUSH1 0x01
00003f88: PUSH1 0x01
00003f8a: PUSH1 0x40
00003f8c: SHL
00003f8d: SUB
00003f8e: DUP2
00003f8f: GT
00003f90: ISZERO
00003f91: PUSH2 0x3f99
00003f94: JUMPI
00003f95: PUSH1 0x00
00003f97: DUP1
00003f98: REVERT
00003f99: JUMPDEST
00003f9a: PUSH2 0x3fa5
00003f9d: DUP8
00003f9e: DUP3
00003f9f: DUP9
00003fa0: ADD
00003fa1: PUSH2 0x3f0b
00003fa4: JUMP
00003fa5: JUMPDEST
00003fa6: SWAP6
00003fa7: SWAP9
00003fa8: SWAP5
00003fa9: SWAP8
00003faa: POP
00003fab: SWAP6
00003fac: POP
00003fad: POP
00003fae: POP
00003faf: POP
00003fb0: JUMP
00003fb1: JUMPDEST
00003fb2: PUSH1 0x00
00003fb4: DUP1
00003fb5: PUSH1 0x40
00003fb7: DUP4
00003fb8: DUP6
00003fb9: SUB
00003fba: SLT
00003fbb: ISZERO
00003fbc: PUSH2 0x3fc4
00003fbf: JUMPI
00003fc0: PUSH1 0x00
00003fc2: DUP1
00003fc3: REVERT
00003fc4: JUMPDEST
00003fc5: DUP3
00003fc6: CALLDATALOAD
00003fc7: PUSH2 0x3fcf
00003fca: DUP2
00003fcb: PUSH2 0x3ef6
00003fce: JUMP
00003fcf: JUMPDEST
00003fd0: SWAP5
00003fd1: PUSH1 0x20
00003fd3: SWAP4
00003fd4: SWAP1
00003fd5: SWAP4
00003fd6: ADD
00003fd7: CALLDATALOAD
00003fd8: SWAP4
00003fd9: POP
00003fda: POP
00003fdb: POP
00003fdc: JUMP
00003fdd: JUMPDEST
00003fde: PUSH1 0x00
00003fe0: PUSH1 0x20
00003fe2: DUP3
00003fe3: DUP5
00003fe4: SUB
00003fe5: SLT
00003fe6: ISZERO
00003fe7: PUSH2 0x3fef
00003fea: JUMPI
00003feb: PUSH1 0x00
00003fed: DUP1
00003fee: REVERT
00003fef: JUMPDEST
00003ff0: POP
00003ff1: CALLDATALOAD
00003ff2: SWAP2
00003ff3: SWAP1
00003ff4: POP
00003ff5: JUMP
00003ff6: JUMPDEST
00003ff7: PUSH1 0x00
00003ff9: DUP1
00003ffa: PUSH1 0x00
00003ffc: PUSH1 0x40
00003ffe: DUP5
00003fff: DUP7
00004000: SUB
00004001: SLT
00004002: ISZERO
00004003: PUSH2 0x400b
00004006: JUMPI
00004007: PUSH1 0x00
00004009: DUP1
0000400a: REVERT
0000400b: JUMPDEST
0000400c: DUP4
0000400d: CALLDATALOAD
0000400e: SWAP3
0000400f: POP
00004010: PUSH1 0x20
00004012: DUP5
00004013: ADD
00004014: CALLDATALOAD
00004015: PUSH1 0x01
00004017: PUSH1 0x01
00004019: PUSH1 0x40
0000401b: SHL
0000401c: SUB
0000401d: DUP2
0000401e: GT
0000401f: ISZERO
00004020: PUSH2 0x4028
00004023: JUMPI
00004024: PUSH1 0x00
00004026: DUP1
00004027: REVERT
00004028: JUMPDEST
00004029: PUSH2 0x4034
0000402c: DUP7
0000402d: DUP3
0000402e: DUP8
0000402f: ADD
00004030: PUSH2 0x3f0b
00004033: JUMP
00004034: JUMPDEST
00004035: SWAP5
00004036: SWAP8
00004037: SWAP1
00004038: SWAP7
00004039: POP
0000403a: SWAP4
0000403b: SWAP5
0000403c: POP
0000403d: POP
0000403e: POP
0000403f: POP
00004040: JUMP
00004041: JUMPDEST
00004042: PUSH1 0x00
00004044: DUP1
00004045: PUSH1 0x00
00004047: DUP1
00004048: PUSH1 0x80
0000404a: DUP6
0000404b: DUP8
0000404c: SUB
0000404d: SLT
0000404e: ISZERO
0000404f: PUSH2 0x4057
00004052: JUMPI
00004053: PUSH1 0x00
00004055: DUP1
00004056: REVERT
00004057: JUMPDEST
00004058: DUP5
00004059: CALLDATALOAD
0000405a: PUSH2 0x4062
0000405d: DUP2
0000405e: PUSH2 0x3ef6
00004061: JUMP
00004062: JUMPDEST
00004063: SWAP4
00004064: POP
00004065: PUSH1 0x20
00004067: DUP6
00004068: ADD
00004069: CALLDATALOAD
0000406a: PUSH2 0x4072
0000406d: DUP2
0000406e: PUSH2 0x3ef6
00004071: JUMP
00004072: JUMPDEST
00004073: SWAP3
00004074: POP
00004075: PUSH1 0x40
00004077: DUP6
00004078: ADD
00004079: CALLDATALOAD
0000407a: PUSH2 0x4082
0000407d: DUP2
0000407e: PUSH2 0x3ef6
00004081: JUMP
00004082: JUMPDEST
00004083: SWAP4
00004084: SWAP7
00004085: SWAP3
00004086: SWAP6
00004087: POP
00004088: SWAP3
00004089: SWAP4
0000408a: PUSH1 0x60
0000408c: ADD
0000408d: CALLDATALOAD
0000408e: SWAP3
0000408f: POP
00004090: POP
00004091: JUMP
00004092: JUMPDEST
00004093: PUSH4 0x4e487b71
00004098: PUSH1 0xe0
0000409a: SHL
0000409b: PUSH1 0x00
0000409d: MSTORE
0000409e: PUSH1 0x41
000040a0: PUSH1 0x04
000040a2: MSTORE
000040a3: PUSH1 0x24
000040a5: PUSH1 0x00
000040a7: REVERT
000040a8: JUMPDEST
000040a9: PUSH1 0x40
000040ab: MLOAD
000040ac: PUSH1 0x1f
000040ae: DUP3
000040af: ADD
000040b0: PUSH1 0x1f
000040b2: NOT
000040b3: AND
000040b4: DUP2
000040b5: ADD
000040b6: PUSH1 0x01
000040b8: PUSH1 0x01
000040ba: PUSH1 0x40
000040bc: SHL
000040bd: SUB
000040be: DUP2
000040bf: GT
000040c0: DUP3
000040c1: DUP3
000040c2: LT
000040c3: OR
000040c4: ISZERO
000040c5: PUSH2 0x40d0
000040c8: JUMPI
000040c9: PUSH2 0x40d0
000040cc: PUSH2 0x4092
000040cf: JUMP
000040d0: JUMPDEST
000040d1: PUSH1 0x40
000040d3: MSTORE
000040d4: SWAP2
000040d5: SWAP1
000040d6: POP
000040d7: JUMP
000040d8: JUMPDEST
000040d9: PUSH1 0x00
000040db: DUP3
000040dc: PUSH1 0x1f
000040de: DUP4
000040df: ADD
000040e0: SLT
000040e1: PUSH2 0x40e9
000040e4: JUMPI
000040e5: PUSH1 0x00
000040e7: DUP1
000040e8: REVERT
000040e9: JUMPDEST
000040ea: DUP2
000040eb: CALLDATALOAD
000040ec: PUSH1 0x01
000040ee: PUSH1 0x01
000040f0: PUSH1 0x40
000040f2: SHL
000040f3: SUB
000040f4: DUP2
000040f5: GT
000040f6: ISZERO
000040f7: PUSH2 0x4102
000040fa: JUMPI
000040fb: PUSH2 0x4102
000040fe: PUSH2 0x4092
00004101: JUMP
00004102: JUMPDEST
00004103: PUSH2 0x4115
00004106: PUSH1 0x1f
00004108: DUP3
00004109: ADD
0000410a: PUSH1 0x1f
0000410c: NOT
0000410d: AND
0000410e: PUSH1 0x20
00004110: ADD
00004111: PUSH2 0x40a8
00004114: JUMP
00004115: JUMPDEST
00004116: DUP2
00004117: DUP2
00004118: MSTORE
00004119: DUP5
0000411a: PUSH1 0x20
0000411c: DUP4
0000411d: DUP7
0000411e: ADD
0000411f: ADD
00004120: GT
00004121: ISZERO
00004122: PUSH2 0x412a
00004125: JUMPI
00004126: PUSH1 0x00
00004128: DUP1
00004129: REVERT
0000412a: JUMPDEST
0000412b: DUP2
0000412c: PUSH1 0x20
0000412e: DUP6
0000412f: ADD
00004130: PUSH1 0x20
00004132: DUP4
00004133: ADD
00004134: CALLDATACOPY
00004135: PUSH1 0x00
00004137: SWAP2
00004138: DUP2
00004139: ADD
0000413a: PUSH1 0x20
0000413c: ADD
0000413d: SWAP2
0000413e: SWAP1
0000413f: SWAP2
00004140: MSTORE
00004141: SWAP4
00004142: SWAP3
00004143: POP
00004144: POP
00004145: POP
00004146: JUMP
00004147: JUMPDEST
00004148: DUP1
00004149: ISZERO
0000414a: ISZERO
0000414b: DUP2
0000414c: EQ
0000414d: PUSH2 0x0bb6
00004150: JUMPI
00004151: PUSH1 0x00
00004153: DUP1
00004154: REVERT
00004155: JUMPDEST
00004156: PUSH1 0x00
00004158: DUP1
00004159: PUSH1 0x00
0000415b: DUP1
0000415c: PUSH1 0x00
0000415e: DUP1
0000415f: PUSH1 0x00
00004161: PUSH1 0xe0
00004163: DUP9
00004164: DUP11
00004165: SUB
00004166: SLT
00004167: ISZERO
00004168: PUSH2 0x4170
0000416b: JUMPI
0000416c: PUSH1 0x00
0000416e: DUP1
0000416f: REVERT
00004170: JUMPDEST
00004171: DUP8
00004172: CALLDATALOAD
00004173: SWAP7
00004174: POP
00004175: PUSH1 0x20
00004177: DUP9
00004178: ADD
00004179: CALLDATALOAD
0000417a: PUSH1 0x01
0000417c: PUSH1 0x01
0000417e: PUSH1 0x40
00004180: SHL
00004181: SUB
00004182: DUP2
00004183: GT
00004184: ISZERO
00004185: PUSH2 0x418d
00004188: JUMPI
00004189: PUSH1 0x00
0000418b: DUP1
0000418c: REVERT
0000418d: JUMPDEST
0000418e: PUSH2 0x4199
00004191: DUP11
00004192: DUP3
00004193: DUP12
00004194: ADD
00004195: PUSH2 0x40d8
00004198: JUMP
00004199: JUMPDEST
0000419a: SWAP7
0000419b: POP
0000419c: POP
0000419d: PUSH1 0x40
0000419f: DUP9
000041a0: ADD
000041a1: CALLDATALOAD
000041a2: PUSH2 0x41aa
000041a5: DUP2
000041a6: PUSH2 0x3ef6
000041a9: JUMP
000041aa: JUMPDEST
000041ab: SWAP5
000041ac: POP
000041ad: PUSH1 0x60
000041af: DUP9
000041b0: ADD
000041b1: CALLDATALOAD
000041b2: PUSH2 0x41ba
000041b5: DUP2
000041b6: PUSH2 0x4147
000041b9: JUMP
000041ba: JUMPDEST
000041bb: SWAP4
000041bc: POP
000041bd: PUSH1 0x80
000041bf: DUP9
000041c0: ADD
000041c1: CALLDATALOAD
000041c2: PUSH2 0x41ca
000041c5: DUP2
000041c6: PUSH2 0x3ef6
000041c9: JUMP
000041ca: JUMPDEST
000041cb: SWAP7
000041cc: SWAP10
000041cd: SWAP6
000041ce: SWAP9
000041cf: POP
000041d0: SWAP4
000041d1: SWAP7
000041d2: SWAP3
000041d3: SWAP6
000041d4: SWAP5
000041d5: PUSH1 0xa0
000041d7: DUP5
000041d8: ADD
000041d9: CALLDATALOAD
000041da: SWAP5
000041db: POP
000041dc: PUSH1 0xc0
000041de: SWAP1
000041df: SWAP4
000041e0: ADD
000041e1: CALLDATALOAD
000041e2: SWAP3
000041e3: SWAP2
000041e4: POP
000041e5: POP
000041e6: JUMP
000041e7: JUMPDEST
000041e8: PUSH1 0x00
000041ea: DUP1
000041eb: PUSH1 0x00
000041ed: PUSH1 0x60
000041ef: DUP5
000041f0: DUP7
000041f1: SUB
000041f2: SLT
000041f3: ISZERO
000041f4: PUSH2 0x41fc
000041f7: JUMPI
000041f8: PUSH1 0x00
000041fa: DUP1
000041fb: REVERT
000041fc: JUMPDEST
000041fd: DUP4
000041fe: CALLDATALOAD
000041ff: PUSH2 0x4207
00004202: DUP2
00004203: PUSH2 0x3ef6
00004206: JUMP
00004207: JUMPDEST
00004208: SWAP3
00004209: POP
0000420a: PUSH1 0x20
0000420c: DUP5
0000420d: ADD
0000420e: CALLDATALOAD
0000420f: PUSH2 0x4217
00004212: DUP2
00004213: PUSH2 0x3ef6
00004216: JUMP
00004217: JUMPDEST
00004218: SWAP3
00004219: SWAP6
0000421a: SWAP3
0000421b: SWAP5
0000421c: POP
0000421d: POP
0000421e: POP
0000421f: PUSH1 0x40
00004221: SWAP2
00004222: SWAP1
00004223: SWAP2
00004224: ADD
00004225: CALLDATALOAD
00004226: SWAP1
00004227: JUMP
00004228: JUMPDEST
00004229: PUSH1 0x00
0000422b: DUP1
0000422c: PUSH1 0x40
0000422e: DUP4
0000422f: DUP6
00004230: SUB
00004231: SLT
00004232: ISZERO
00004233: PUSH2 0x423b
00004236: JUMPI
00004237: PUSH1 0x00
00004239: DUP1
0000423a: REVERT
0000423b: JUMPDEST
0000423c: POP
0000423d: POP
0000423e: DUP1
0000423f: CALLDATALOAD
00004240: SWAP3
00004241: PUSH1 0x20
00004243: SWAP1
00004244: SWAP2
00004245: ADD
00004246: CALLDATALOAD
00004247: SWAP2
00004248: POP
00004249: JUMP
0000424a: JUMPDEST
0000424b: PUSH1 0x00
0000424d: PUSH1 0x20
0000424f: DUP3
00004250: DUP5
00004251: SUB
00004252: SLT
00004253: ISZERO
00004254: PUSH2 0x425c
00004257: JUMPI
00004258: PUSH1 0x00
0000425a: DUP1
0000425b: REVERT
0000425c: JUMPDEST
0000425d: DUP2
0000425e: CALLDATALOAD
0000425f: PUSH2 0x1882
00004262: DUP2
00004263: PUSH2 0x3ef6
00004266: JUMP
00004267: JUMPDEST
00004268: DUP1
00004269: CALLDATALOAD
0000426a: PUSH1 0xff
0000426c: DUP2
0000426d: AND
0000426e: DUP2
0000426f: EQ
00004270: PUSH2 0x4278
00004273: JUMPI
00004274: PUSH1 0x00
00004276: DUP1
00004277: REVERT
00004278: JUMPDEST
00004279: SWAP2
0000427a: SWAP1
0000427b: POP
0000427c: JUMP
0000427d: JUMPDEST
0000427e: PUSH1 0x00
00004280: DUP1
00004281: DUP4
00004282: PUSH1 0x1f
00004284: DUP5
00004285: ADD
00004286: SLT
00004287: PUSH2 0x428f
0000428a: JUMPI
0000428b: PUSH1 0x00
0000428d: DUP1
0000428e: REVERT
0000428f: JUMPDEST
00004290: POP
00004291: DUP2
00004292: CALLDATALOAD
00004293: PUSH1 0x01
00004295: PUSH1 0x01
00004297: PUSH1 0x40
00004299: SHL
0000429a: SUB
0000429b: DUP2
0000429c: GT
0000429d: ISZERO
0000429e: PUSH2 0x42a6
000042a1: JUMPI
000042a2: PUSH1 0x00
000042a4: DUP1
000042a5: REVERT
000042a6: JUMPDEST
000042a7: PUSH1 0x20
000042a9: DUP4
000042aa: ADD
000042ab: SWAP2
000042ac: POP
000042ad: DUP4
000042ae: PUSH1 0x20
000042b0: DUP3
000042b1: DUP6
000042b2: ADD
000042b3: ADD
000042b4: GT
000042b5: ISZERO
000042b6: PUSH2 0x3f4f
000042b9: JUMPI
000042ba: PUSH1 0x00
000042bc: DUP1
000042bd: REVERT
000042be: JUMPDEST
000042bf: PUSH1 0x00
000042c1: DUP1
000042c2: PUSH1 0x00
000042c4: DUP1
000042c5: PUSH1 0x00
000042c7: DUP1
000042c8: PUSH1 0x80
000042ca: DUP8
000042cb: DUP10
000042cc: SUB
000042cd: SLT
000042ce: ISZERO
000042cf: PUSH2 0x42d7
000042d2: JUMPI
000042d3: PUSH1 0x00
000042d5: DUP1
000042d6: REVERT
000042d7: JUMPDEST
000042d8: DUP7
000042d9: CALLDATALOAD
000042da: PUSH2 0x42e2
000042dd: DUP2
000042de: PUSH2 0x3ef6
000042e1: JUMP
000042e2: JUMPDEST
000042e3: SWAP6
000042e4: POP
000042e5: PUSH2 0x42f0
000042e8: PUSH1 0x20
000042ea: DUP9
000042eb: ADD
000042ec: PUSH2 0x4267
000042ef: JUMP
000042f0: JUMPDEST
000042f1: SWAP5
000042f2: POP
000042f3: PUSH1 0x40
000042f5: DUP8
000042f6: ADD
000042f7: CALLDATALOAD
000042f8: PUSH1 0x01
000042fa: PUSH1 0x01
000042fc: PUSH1 0x40
000042fe: SHL
000042ff: SUB
00004300: DUP2
00004301: GT
00004302: ISZERO
00004303: PUSH2 0x430b
00004306: JUMPI
00004307: PUSH1 0x00
00004309: DUP1
0000430a: REVERT
0000430b: JUMPDEST
0000430c: PUSH2 0x4317
0000430f: DUP10
00004310: DUP3
00004311: DUP11
00004312: ADD
00004313: PUSH2 0x427d
00004316: JUMP
00004317: JUMPDEST
00004318: SWAP1
00004319: SWAP6
0000431a: POP
0000431b: SWAP4
0000431c: POP
0000431d: POP
0000431e: PUSH1 0x60
00004320: DUP8
00004321: ADD
00004322: CALLDATALOAD
00004323: PUSH1 0x01
00004325: PUSH1 0x01
00004327: PUSH1 0x40
00004329: SHL
0000432a: SUB
0000432b: DUP2
0000432c: GT
0000432d: ISZERO
0000432e: PUSH2 0x4336
00004331: JUMPI
00004332: PUSH1 0x00
00004334: DUP1
00004335: REVERT
00004336: JUMPDEST
00004337: PUSH2 0x4342
0000433a: DUP10
0000433b: DUP3
0000433c: DUP11
0000433d: ADD
0000433e: PUSH2 0x427d
00004341: JUMP
00004342: JUMPDEST
00004343: SWAP8
00004344: SWAP11
00004345: SWAP7
00004346: SWAP10
00004347: POP
00004348: SWAP5
00004349: SWAP8
0000434a: POP
0000434b: SWAP3
0000434c: SWAP6
0000434d: SWAP4
0000434e: SWAP5
0000434f: SWAP3
00004350: POP
00004351: POP
00004352: POP
00004353: JUMP
00004354: JUMPDEST
00004355: PUSH1 0x00
00004357: DUP1
00004358: PUSH1 0x00
0000435a: DUP1
0000435b: PUSH1 0x80
0000435d: DUP6
0000435e: DUP8
0000435f: SUB
00004360: SLT
00004361: ISZERO
00004362: PUSH2 0x436a
00004365: JUMPI
00004366: PUSH1 0x00
00004368: DUP1
00004369: REVERT
0000436a: JUMPDEST
0000436b: DUP5
0000436c: CALLDATALOAD
0000436d: PUSH2 0x4375
00004370: DUP2
00004371: PUSH2 0x3ef6
00004374: JUMP
00004375: JUMPDEST
00004376: SWAP4
00004377: POP
00004378: PUSH1 0x20
0000437a: DUP6
0000437b: ADD
0000437c: CALLDATALOAD
0000437d: PUSH2 0x4385
00004380: DUP2
00004381: PUSH2 0x3ef6
00004384: JUMP
00004385: JUMPDEST
00004386: SWAP4
00004387: SWAP7
00004388: SWAP4
00004389: SWAP6
0000438a: POP
0000438b: POP
0000438c: POP
0000438d: POP
0000438e: PUSH1 0x40
00004390: DUP3
00004391: ADD
00004392: CALLDATALOAD
00004393: SWAP2
00004394: PUSH1 0x60
00004396: ADD
00004397: CALLDATALOAD
00004398: SWAP1
00004399: JUMP
0000439a: JUMPDEST
0000439b: PUSH1 0x20
0000439d: DUP1
0000439e: DUP3
0000439f: MSTORE
000043a0: DUP3
000043a1: MLOAD
000043a2: DUP3
000043a3: DUP3
000043a4: ADD
000043a5: DUP2
000043a6: SWAP1
000043a7: MSTORE
000043a8: PUSH1 0x00
000043aa: SWAP2
000043ab: DUP5
000043ac: ADD
000043ad: SWAP1
000043ae: PUSH1 0x40
000043b0: DUP5
000043b1: ADD
000043b2: SWAP1
000043b3: DUP4
000043b4: JUMPDEST
000043b5: DUP2
000043b6: DUP2
000043b7: LT
000043b8: ISZERO
000043b9: PUSH2 0x3e88
000043bc: JUMPI
000043bd: DUP4
000043be: MLOAD
000043bf: DUP4
000043c0: MSTORE
000043c1: PUSH1 0x20
000043c3: SWAP4
000043c4: DUP5
000043c5: ADD
000043c6: SWAP4
000043c7: SWAP1
000043c8: SWAP3
000043c9: ADD
000043ca: SWAP2
000043cb: PUSH1 0x01
000043cd: ADD
000043ce: PUSH2 0x43b4
000043d1: JUMP
000043d2: JUMPDEST
000043d3: PUSH1 0x00
000043d5: DUP1
000043d6: PUSH1 0x00
000043d8: DUP1
000043d9: PUSH1 0x60
000043db: DUP6
000043dc: DUP8
000043dd: SUB
000043de: SLT
000043df: ISZERO
000043e0: PUSH2 0x43e8
000043e3: JUMPI
000043e4: PUSH1 0x00
000043e6: DUP1
000043e7: REVERT
000043e8: JUMPDEST
000043e9: DUP5
000043ea: CALLDATALOAD
000043eb: PUSH2 0x43f3
000043ee: DUP2
000043ef: PUSH2 0x3ef6
000043f2: JUMP
000043f3: JUMPDEST
000043f4: SWAP4
000043f5: POP
000043f6: PUSH1 0x20
000043f8: DUP6
000043f9: ADD
000043fa: CALLDATALOAD
000043fb: SWAP3
000043fc: POP
000043fd: PUSH1 0x40
000043ff: DUP6
00004400: ADD
00004401: CALLDATALOAD
00004402: PUSH1 0x01
00004404: PUSH1 0x01
00004406: PUSH1 0x40
00004408: SHL
00004409: SUB
0000440a: DUP2
0000440b: GT
0000440c: ISZERO
0000440d: PUSH2 0x4415
00004410: JUMPI
00004411: PUSH1 0x00
00004413: DUP1
00004414: REVERT
00004415: JUMPDEST
00004416: PUSH2 0x3fa5
00004419: DUP8
0000441a: DUP3
0000441b: DUP9
0000441c: ADD
0000441d: PUSH2 0x427d
00004420: JUMP
00004421: JUMPDEST
00004422: PUSH1 0x00
00004424: DUP1
00004425: PUSH1 0x00
00004427: DUP1
00004428: PUSH1 0x00
0000442a: DUP1
0000442b: PUSH1 0x00
0000442d: PUSH1 0xa0
0000442f: DUP9
00004430: DUP11
00004431: SUB
00004432: SLT
00004433: ISZERO
00004434: PUSH2 0x443c
00004437: JUMPI
00004438: PUSH1 0x00
0000443a: DUP1
0000443b: REVERT
0000443c: JUMPDEST
0000443d: DUP8
0000443e: CALLDATALOAD
0000443f: PUSH2 0x4447
00004442: DUP2
00004443: PUSH2 0x3ef6
00004446: JUMP
00004447: JUMPDEST
00004448: SWAP7
00004449: POP
0000444a: PUSH1 0x20
0000444c: DUP9
0000444d: ADD
0000444e: CALLDATALOAD
0000444f: PUSH2 0x4457
00004452: DUP2
00004453: PUSH2 0x3ef6
00004456: JUMP
00004457: JUMPDEST
00004458: SWAP6
00004459: POP
0000445a: PUSH1 0x40
0000445c: DUP9
0000445d: ADD
0000445e: CALLDATALOAD
0000445f: SWAP5
00004460: POP
00004461: PUSH1 0x60
00004463: DUP9
00004464: ADD
00004465: CALLDATALOAD
00004466: PUSH1 0x01
00004468: PUSH1 0x01
0000446a: PUSH1 0x40
0000446c: SHL
0000446d: SUB
0000446e: DUP2
0000446f: GT
00004470: ISZERO
00004471: PUSH2 0x4479
00004474: JUMPI
00004475: PUSH1 0x00
00004477: DUP1
00004478: REVERT
00004479: JUMPDEST
0000447a: PUSH2 0x4485
0000447d: DUP11
0000447e: DUP3
0000447f: DUP12
00004480: ADD
00004481: PUSH2 0x427d
00004484: JUMP
00004485: JUMPDEST
00004486: SWAP1
00004487: SWAP6
00004488: POP
00004489: SWAP4
0000448a: POP
0000448b: POP
0000448c: PUSH1 0x80
0000448e: DUP9
0000448f: ADD
00004490: CALLDATALOAD
00004491: PUSH1 0x01
00004493: PUSH1 0x01
00004495: PUSH1 0x40
00004497: SHL
00004498: SUB
00004499: DUP2
0000449a: GT
0000449b: ISZERO
0000449c: PUSH2 0x44a4
0000449f: JUMPI
000044a0: PUSH1 0x00
000044a2: DUP1
000044a3: REVERT
000044a4: JUMPDEST
000044a5: PUSH2 0x44b0
000044a8: DUP11
000044a9: DUP3
000044aa: DUP12
000044ab: ADD
000044ac: PUSH2 0x427d
000044af: JUMP
000044b0: JUMPDEST
000044b1: SWAP9
000044b2: SWAP12
000044b3: SWAP8
000044b4: SWAP11
000044b5: POP
000044b6: SWAP6
000044b7: SWAP9
000044b8: POP
000044b9: SWAP4
000044ba: SWAP7
000044bb: SWAP3
000044bc: SWAP6
000044bd: SWAP3
000044be: SWAP4
000044bf: POP
000044c0: POP
000044c1: POP
000044c2: JUMP
000044c3: JUMPDEST
000044c4: PUSH1 0x00
000044c6: DUP1
000044c7: PUSH1 0x00
000044c9: PUSH1 0x60
000044cb: DUP5
000044cc: DUP7
000044cd: SUB
000044ce: SLT
000044cf: ISZERO
000044d0: PUSH2 0x44d8
000044d3: JUMPI
000044d4: PUSH1 0x00
000044d6: DUP1
000044d7: REVERT
000044d8: JUMPDEST
000044d9: DUP4
000044da: CALLDATALOAD
000044db: PUSH2 0x44e3
000044de: DUP2
000044df: PUSH2 0x3ef6
000044e2: JUMP
000044e3: JUMPDEST
000044e4: SWAP6
000044e5: PUSH1 0x20
000044e7: DUP6
000044e8: ADD
000044e9: CALLDATALOAD
000044ea: SWAP6
000044eb: POP
000044ec: PUSH1 0x40
000044ee: SWAP1
000044ef: SWAP5
000044f0: ADD
000044f1: CALLDATALOAD
000044f2: SWAP4
000044f3: SWAP3
000044f4: POP
000044f5: POP
000044f6: POP
000044f7: JUMP
000044f8: JUMPDEST
000044f9: PUSH1 0x00
000044fb: DUP1
000044fc: PUSH1 0x00
000044fe: PUSH1 0x60
00004500: DUP5
00004501: DUP7
00004502: SUB
00004503: SLT
00004504: ISZERO
00004505: PUSH2 0x450d
00004508: JUMPI
00004509: PUSH1 0x00
0000450b: DUP1
0000450c: REVERT
0000450d: JUMPDEST
0000450e: DUP4
0000450f: CALLDATALOAD
00004510: PUSH2 0x4518
00004513: DUP2
00004514: PUSH2 0x3ef6
00004517: JUMP
00004518: JUMPDEST
00004519: SWAP3
0000451a: POP
0000451b: PUSH1 0x20
0000451d: DUP5
0000451e: ADD
0000451f: CALLDATALOAD
00004520: SWAP2
00004521: POP
00004522: PUSH1 0x40
00004524: DUP5
00004525: ADD
00004526: CALLDATALOAD
00004527: PUSH1 0x01
00004529: PUSH1 0x01
0000452b: PUSH1 0x40
0000452d: SHL
0000452e: SUB
0000452f: DUP2
00004530: GT
00004531: ISZERO
00004532: PUSH2 0x453a
00004535: JUMPI
00004536: PUSH1 0x00
00004538: DUP1
00004539: REVERT
0000453a: JUMPDEST
0000453b: PUSH2 0x4546
0000453e: DUP7
0000453f: DUP3
00004540: DUP8
00004541: ADD
00004542: PUSH2 0x40d8
00004545: JUMP
00004546: JUMPDEST
00004547: SWAP2
00004548: POP
00004549: POP
0000454a: SWAP3
0000454b: POP
0000454c: SWAP3
0000454d: POP
0000454e: SWAP3
0000454f: JUMP
00004550: JUMPDEST
00004551: PUSH1 0x00
00004553: DUP1
00004554: PUSH1 0x00
00004556: DUP1
00004557: PUSH1 0x80
00004559: DUP6
0000455a: DUP8
0000455b: SUB
0000455c: SLT
0000455d: ISZERO
0000455e: PUSH2 0x4566
00004561: JUMPI
00004562: PUSH1 0x00
00004564: DUP1
00004565: REVERT
00004566: JUMPDEST
00004567: DUP5
00004568: CALLDATALOAD
00004569: PUSH2 0x4571
0000456c: DUP2
0000456d: PUSH2 0x3ef6
00004570: JUMP
00004571: JUMPDEST
00004572: SWAP4
00004573: POP
00004574: PUSH1 0x20
00004576: DUP6
00004577: ADD
00004578: CALLDATALOAD
00004579: PUSH2 0x4581
0000457c: DUP2
0000457d: PUSH2 0x3ef6
00004580: JUMP
00004581: JUMPDEST
00004582: SWAP3
00004583: POP
00004584: PUSH1 0x40
00004586: DUP6
00004587: ADD
00004588: CALLDATALOAD
00004589: SWAP2
0000458a: POP
0000458b: PUSH1 0x60
0000458d: DUP6
0000458e: ADD
0000458f: CALLDATALOAD
00004590: PUSH1 0x01
00004592: PUSH1 0x01
00004594: PUSH1 0x40
00004596: SHL
00004597: SUB
00004598: DUP2
00004599: GT
0000459a: ISZERO
0000459b: PUSH2 0x45a3
0000459e: JUMPI
0000459f: PUSH1 0x00
000045a1: DUP1
000045a2: REVERT
000045a3: JUMPDEST
000045a4: PUSH2 0x45af
000045a7: DUP8
000045a8: DUP3
000045a9: DUP9
000045aa: ADD
000045ab: PUSH2 0x40d8
000045ae: JUMP
000045af: JUMPDEST
000045b0: SWAP2
000045b1: POP
000045b2: POP
000045b3: SWAP3
000045b4: SWAP6
000045b5: SWAP2
000045b6: SWAP5
000045b7: POP
000045b8: SWAP3
000045b9: POP
000045ba: JUMP
000045bb: JUMPDEST
000045bc: PUSH1 0x00
000045be: DUP1
000045bf: PUSH1 0x40
000045c1: DUP4
000045c2: DUP6
000045c3: SUB
000045c4: SLT
000045c5: ISZERO
000045c6: PUSH2 0x45ce
000045c9: JUMPI
000045ca: PUSH1 0x00
000045cc: DUP1
000045cd: REVERT
000045ce: JUMPDEST
000045cf: DUP3
000045d0: CALLDATALOAD
000045d1: PUSH2 0x45d9
000045d4: DUP2
000045d5: PUSH2 0x3ef6
000045d8: JUMP
000045d9: JUMPDEST
000045da: SWAP2
000045db: POP
000045dc: PUSH1 0x20
000045de: DUP4
000045df: ADD
000045e0: CALLDATALOAD
000045e1: PUSH2 0x45e9
000045e4: DUP2
000045e5: PUSH2 0x3ef6
000045e8: JUMP
000045e9: JUMPDEST
000045ea: DUP1
000045eb: SWAP2
000045ec: POP
000045ed: POP
000045ee: SWAP3
000045ef: POP
000045f0: SWAP3
000045f1: SWAP1
000045f2: POP
000045f3: JUMP
000045f4: JUMPDEST
000045f5: PUSH1 0x00
000045f7: DUP1
000045f8: PUSH1 0x00
000045fa: DUP1
000045fb: PUSH1 0x00
000045fd: DUP1
000045fe: PUSH1 0x00
00004600: PUSH1 0xa0
00004602: DUP9
00004603: DUP11
00004604: SUB
00004605: SLT
00004606: ISZERO
00004607: PUSH2 0x460f
0000460a: JUMPI
0000460b: PUSH1 0x00
0000460d: DUP1
0000460e: REVERT
0000460f: JUMPDEST
00004610: DUP8
00004611: CALLDATALOAD
00004612: PUSH2 0x461a
00004615: DUP2
00004616: PUSH2 0x3ef6
00004619: JUMP
0000461a: JUMPDEST
0000461b: SWAP7
0000461c: POP
0000461d: PUSH2 0x4628
00004620: PUSH1 0x20
00004622: DUP10
00004623: ADD
00004624: PUSH2 0x4267
00004627: JUMP
00004628: JUMPDEST
00004629: SWAP6
0000462a: POP
0000462b: PUSH1 0x40
0000462d: DUP9
0000462e: ADD
0000462f: CALLDATALOAD
00004630: PUSH1 0x01
00004632: PUSH1 0x01
00004634: PUSH1 0x40
00004636: SHL
00004637: SUB
00004638: DUP2
00004639: GT
0000463a: ISZERO
0000463b: PUSH2 0x4643
0000463e: JUMPI
0000463f: PUSH1 0x00
00004641: DUP1
00004642: REVERT
00004643: JUMPDEST
00004644: PUSH2 0x464f
00004647: DUP11
00004648: DUP3
00004649: DUP12
0000464a: ADD
0000464b: PUSH2 0x427d
0000464e: JUMP
0000464f: JUMPDEST
00004650: SWAP1
00004651: SWAP7
00004652: POP
00004653: SWAP5
00004654: POP
00004655: POP
00004656: PUSH1 0x60
00004658: DUP9
00004659: ADD
0000465a: CALLDATALOAD
0000465b: PUSH1 0x01
0000465d: PUSH1 0x01
0000465f: PUSH1 0x40
00004661: SHL
00004662: SUB
00004663: DUP2
00004664: GT
00004665: ISZERO
00004666: PUSH2 0x466e
00004669: JUMPI
0000466a: PUSH1 0x00
0000466c: DUP1
0000466d: REVERT
0000466e: JUMPDEST
0000466f: PUSH2 0x467a
00004672: DUP11
00004673: DUP3
00004674: DUP12
00004675: ADD
00004676: PUSH2 0x427d
00004679: JUMP
0000467a: JUMPDEST
0000467b: SWAP1
0000467c: SWAP5
0000467d: POP
0000467e: SWAP3
0000467f: POP
00004680: POP
00004681: PUSH1 0x80
00004683: DUP9
00004684: ADD
00004685: CALLDATALOAD
00004686: PUSH2 0x468e
00004689: DUP2
0000468a: PUSH2 0x3ef6
0000468d: JUMP
0000468e: JUMPDEST
0000468f: DUP1
00004690: SWAP2
00004691: POP
00004692: POP
00004693: SWAP3
00004694: SWAP6
00004695: SWAP9
00004696: SWAP2
00004697: SWAP5
00004698: SWAP8
00004699: POP
0000469a: SWAP3
0000469b: SWAP6
0000469c: POP
0000469d: JUMP
0000469e: JUMPDEST
0000469f: PUSH1 0x00
000046a1: DUP1
000046a2: PUSH1 0x00
000046a4: DUP1
000046a5: PUSH1 0x00
000046a7: DUP1
000046a8: PUSH1 0x80
000046aa: DUP8
000046ab: DUP10
000046ac: SUB
000046ad: SLT
000046ae: ISZERO
000046af: PUSH2 0x46b7
000046b2: JUMPI
000046b3: PUSH1 0x00
000046b5: DUP1
000046b6: REVERT
000046b7: JUMPDEST
000046b8: DUP7
000046b9: CALLDATALOAD
000046ba: PUSH2 0x46c2
000046bd: DUP2
000046be: PUSH2 0x3ef6
000046c1: JUMP
000046c2: JUMPDEST
000046c3: SWAP6
000046c4: POP
000046c5: PUSH1 0x20
000046c7: DUP8
000046c8: ADD
000046c9: CALLDATALOAD
000046ca: SWAP5
000046cb: POP
000046cc: PUSH1 0x40
000046ce: DUP8
000046cf: ADD
000046d0: CALLDATALOAD
000046d1: PUSH1 0x01
000046d3: PUSH1 0x01
000046d5: PUSH1 0x40
000046d7: SHL
000046d8: SUB
000046d9: DUP2
000046da: GT
000046db: ISZERO
000046dc: PUSH2 0x430b
000046df: JUMPI
000046e0: PUSH1 0x00
000046e2: DUP1
000046e3: REVERT
000046e4: JUMPDEST
000046e5: PUSH1 0x00
000046e7: DUP1
000046e8: PUSH1 0x00
000046ea: PUSH1 0x40
000046ec: DUP5
000046ed: DUP7
000046ee: SUB
000046ef: SLT
000046f0: ISZERO
000046f1: PUSH2 0x46f9
000046f4: JUMPI
000046f5: PUSH1 0x00
000046f7: DUP1
000046f8: REVERT
000046f9: JUMPDEST
000046fa: DUP4
000046fb: CALLDATALOAD
000046fc: SWAP3
000046fd: POP
000046fe: PUSH1 0x20
00004700: DUP5
00004701: ADD
00004702: CALLDATALOAD
00004703: PUSH1 0x01
00004705: PUSH1 0x01
00004707: PUSH1 0x40
00004709: SHL
0000470a: SUB
0000470b: DUP2
0000470c: GT
0000470d: ISZERO
0000470e: PUSH2 0x4716
00004711: JUMPI
00004712: PUSH1 0x00
00004714: DUP1
00004715: REVERT
00004716: JUMPDEST
00004717: PUSH2 0x4034
0000471a: DUP7
0000471b: DUP3
0000471c: DUP8
0000471d: ADD
0000471e: PUSH2 0x427d
00004721: JUMP
00004722: JUMPDEST
00004723: PUSH1 0x01
00004725: DUP2
00004726: DUP2
00004727: SHR
00004728: SWAP1
00004729: DUP3
0000472a: AND
0000472b: DUP1
0000472c: PUSH2 0x4736
0000472f: JUMPI
00004730: PUSH1 0x7f
00004732: DUP3
00004733: AND
00004734: SWAP2
00004735: POP
00004736: JUMPDEST
00004737: PUSH1 0x20
00004739: DUP3
0000473a: LT
0000473b: DUP2
0000473c: SUB
0000473d: PUSH2 0x4756
00004740: JUMPI
00004741: PUSH4 0x4e487b71
00004746: PUSH1 0xe0
00004748: SHL
00004749: PUSH1 0x00
0000474b: MSTORE
0000474c: PUSH1 0x22
0000474e: PUSH1 0x04
00004750: MSTORE
00004751: PUSH1 0x24
00004753: PUSH1 0x00
00004755: REVERT
00004756: JUMPDEST
00004757: POP
00004758: SWAP2
00004759: SWAP1
0000475a: POP
0000475b: JUMP
0000475c: JUMPDEST
0000475d: PUSH1 0x80
0000475f: DUP1
00004760: DUP3
00004761: MSTORE
00004762: PUSH1 0x0e
00004764: SWAP1
00004765: DUP3
00004766: ADD
00004767: MSTORE
00004768: PUSH14 0x41677265656d656e745374617465
00004777: PUSH1 0x90
00004779: SHL
0000477a: PUSH1 0xa0
0000477c: DUP3
0000477d: ADD
0000477e: MSTORE
0000477f: PUSH1 0x01
00004781: PUSH1 0x01
00004783: PUSH1 0xa0
00004785: SHL
00004786: SUB
00004787: SWAP4
00004788: DUP5
00004789: AND
0000478a: PUSH1 0x20
0000478c: DUP3
0000478d: ADD
0000478e: MSTORE
0000478f: SWAP2
00004790: SWAP1
00004791: SWAP3
00004792: AND
00004793: PUSH1 0x40
00004795: DUP3
00004796: ADD
00004797: MSTORE
00004798: PUSH1 0x60
0000479a: DUP2
0000479b: ADD
0000479c: SWAP2
0000479d: SWAP1
0000479e: SWAP2
0000479f: MSTORE
000047a0: PUSH1 0xc0
000047a2: ADD
000047a3: SWAP1
000047a4: JUMP
000047a5: JUMPDEST
000047a6: PUSH1 0x60
000047a8: DUP1
000047a9: DUP3
000047aa: MSTORE
000047ab: PUSH1 0x0d
000047ad: SWAP1
000047ae: DUP3
000047af: ADD
000047b0: MSTORE
000047b1: PUSH13 0x41677265656d656e7444617461
000047bf: PUSH1 0x98
000047c1: SHL
000047c2: PUSH1 0x80
000047c4: DUP3
000047c5: ADD
000047c6: MSTORE
000047c7: PUSH1 0x01
000047c9: PUSH1 0x01
000047cb: PUSH1 0xa0
000047cd: SHL
000047ce: SUB
000047cf: SWAP3
000047d0: SWAP1
000047d1: SWAP3
000047d2: AND
000047d3: PUSH1 0x20
000047d5: DUP4
000047d6: ADD
000047d7: MSTORE
000047d8: PUSH1 0x40
000047da: DUP3
000047db: ADD
000047dc: MSTORE
000047dd: PUSH1 0xa0
000047df: ADD
000047e0: SWAP1
000047e1: JUMP
000047e2: JUMPDEST
000047e3: DUP4
000047e4: DUP2
000047e5: MSTORE
000047e6: PUSH1 0x40
000047e8: PUSH1 0x20
000047ea: DUP3
000047eb: ADD
000047ec: DUP2
000047ed: SWAP1
000047ee: MSTORE
000047ef: DUP2
000047f0: ADD
000047f1: DUP3
000047f2: SWAP1
000047f3: MSTORE
000047f4: PUSH1 0x00
000047f6: PUSH1 0x01
000047f8: PUSH1 0x01
000047fa: PUSH1 0xfb
000047fc: SHL
000047fd: SUB
000047fe: DUP4
000047ff: GT
00004800: ISZERO
00004801: PUSH2 0x4809
00004804: JUMPI
00004805: PUSH1 0x00
00004807: DUP1
00004808: REVERT
00004809: JUMPDEST
0000480a: DUP3
0000480b: PUSH1 0x05
0000480d: SHL
0000480e: DUP1
0000480f: DUP6
00004810: PUSH1 0x60
00004812: DUP6
00004813: ADD
00004814: CALLDATACOPY
00004815: SWAP2
00004816: SWAP1
00004817: SWAP2
00004818: ADD
00004819: PUSH1 0x60
0000481b: ADD
0000481c: SWAP5
0000481d: SWAP4
0000481e: POP
0000481f: POP
00004820: POP
00004821: POP
00004822: JUMP
00004823: JUMPDEST
00004824: PUSH1 0x00
00004826: PUSH1 0x20
00004828: DUP3
00004829: DUP5
0000482a: SUB
0000482b: SLT
0000482c: ISZERO
0000482d: PUSH2 0x4835
00004830: JUMPI
00004831: PUSH1 0x00
00004833: DUP1
00004834: REVERT
00004835: JUMPDEST
00004836: DUP2
00004837: MLOAD
00004838: PUSH2 0x1882
0000483b: DUP2
0000483c: PUSH2 0x4147
0000483f: JUMP
00004840: JUMPDEST
00004841: PUSH4 0x4e487b71
00004846: PUSH1 0xe0
00004848: SHL
00004849: PUSH1 0x00
0000484b: MSTORE
0000484c: PUSH1 0x11
0000484e: PUSH1 0x04
00004850: MSTORE
00004851: PUSH1 0x24
00004853: PUSH1 0x00
00004855: REVERT
00004856: JUMPDEST
00004857: PUSH1 0x00
00004859: PUSH1 0x01
0000485b: PUSH1 0xff
0000485d: SHL
0000485e: DUP3
0000485f: ADD
00004860: PUSH2 0x486b
00004863: JUMPI
00004864: PUSH2 0x486b
00004867: PUSH2 0x4840
0000486a: JUMP
0000486b: JUMPDEST
0000486c: POP
0000486d: PUSH1 0x00
0000486f: SUB
00004870: SWAP1
00004871: JUMP
00004872: JUMPDEST
00004873: PUSH4 0x4e487b71
00004878: PUSH1 0xe0
0000487a: SHL
0000487b: PUSH1 0x00
0000487d: MSTORE
0000487e: PUSH1 0x01
00004880: PUSH1 0x04
00004882: MSTORE
00004883: PUSH1 0x24
00004885: PUSH1 0x00
00004887: REVERT
00004888: JUMPDEST
00004889: DUP1
0000488a: DUP3
0000488b: ADD
0000488c: DUP3
0000488d: DUP2
0000488e: SLT
0000488f: PUSH1 0x00
00004891: DUP4
00004892: SLT
00004893: DUP1
00004894: ISZERO
00004895: DUP3
00004896: AND
00004897: DUP3
00004898: ISZERO
00004899: DUP3
0000489a: AND
0000489b: OR
0000489c: ISZERO
0000489d: PUSH2 0x48a8
000048a0: JUMPI
000048a1: PUSH2 0x48a8
000048a4: PUSH2 0x4840
000048a7: JUMP
000048a8: JUMPDEST
000048a9: POP
000048aa: POP
000048ab: SWAP3
000048ac: SWAP2
000048ad: POP
000048ae: POP
000048af: JUMP
000048b0: JUMPDEST
000048b1: DUP2
000048b2: DUP2
000048b3: SUB
000048b4: PUSH1 0x00
000048b6: DUP4
000048b7: SLT
000048b8: DUP1
000048b9: ISZERO
000048ba: DUP4
000048bb: DUP4
000048bc: SGT
000048bd: AND
000048be: DUP4
000048bf: DUP4
000048c0: SLT
000048c1: DUP3
000048c2: AND
000048c3: OR
000048c4: ISZERO
000048c5: PUSH2 0x301b
000048c8: JUMPI
000048c9: PUSH2 0x301b
000048cc: PUSH2 0x4840
000048cf: JUMP
000048d0: JUMPDEST
000048d1: DUP6
000048d2: DUP2
000048d3: MSTORE
000048d4: PUSH1 0x01
000048d6: DUP1
000048d7: PUSH1 0xa0
000048d9: SHL
000048da: SUB
000048db: DUP6
000048dc: AND
000048dd: PUSH1 0x20
000048df: DUP3
000048e0: ADD
000048e1: MSTORE
000048e2: DUP4
000048e3: PUSH1 0x40
000048e5: DUP3
000048e6: ADD
000048e7: MSTORE
000048e8: DUP3
000048e9: PUSH1 0x60
000048eb: DUP3
000048ec: ADD
000048ed: MSTORE
000048ee: PUSH1 0xa0
000048f0: PUSH1 0x80
000048f2: DUP3
000048f3: ADD
000048f4: MSTORE
000048f5: PUSH1 0x00
000048f7: PUSH2 0x3d9e
000048fa: PUSH1 0xa0
000048fc: DUP4
000048fd: ADD
000048fe: DUP5
000048ff: PUSH2 0x3eb7
00004902: JUMP
00004903: JUMPDEST
00004904: PUSH1 0x00
00004906: PUSH1 0x20
00004908: DUP3
00004909: DUP5
0000490a: SUB
0000490b: SLT
0000490c: ISZERO
0000490d: PUSH2 0x4915
00004910: JUMPI
00004911: PUSH1 0x00
00004913: DUP1
00004914: REVERT
00004915: JUMPDEST
00004916: POP
00004917: MLOAD
00004918: SWAP2
00004919: SWAP1
0000491a: POP
0000491b: JUMP
0000491c: JUMPDEST
0000491d: PUSH1 0x00
0000491f: PUSH1 0x20
00004921: DUP3
00004922: DUP5
00004923: SUB
00004924: SLT
00004925: ISZERO
00004926: PUSH2 0x492e
00004929: JUMPI
0000492a: PUSH1 0x00
0000492c: DUP1
0000492d: REVERT
0000492e: JUMPDEST
0000492f: DUP2
00004930: MLOAD
00004931: PUSH1 0x01
00004933: PUSH1 0x01
00004935: PUSH1 0x40
00004937: SHL
00004938: SUB
00004939: DUP2
0000493a: GT
0000493b: ISZERO
0000493c: PUSH2 0x4944
0000493f: JUMPI
00004940: PUSH1 0x00
00004942: DUP1
00004943: REVERT
00004944: JUMPDEST
00004945: DUP3
00004946: ADD
00004947: PUSH1 0x1f
00004949: DUP2
0000494a: ADD
0000494b: DUP5
0000494c: SGT
0000494d: PUSH2 0x4955
00004950: JUMPI
00004951: PUSH1 0x00
00004953: DUP1
00004954: REVERT
00004955: JUMPDEST
00004956: DUP1
00004957: MLOAD
00004958: PUSH1 0x01
0000495a: PUSH1 0x01
0000495c: PUSH1 0x40
0000495e: SHL
0000495f: SUB
00004960: DUP2
00004961: GT
00004962: ISZERO
00004963: PUSH2 0x496e
00004966: JUMPI
00004967: PUSH2 0x496e
0000496a: PUSH2 0x4092
0000496d: JUMP
0000496e: JUMPDEST
0000496f: DUP1
00004970: PUSH1 0x05
00004972: SHL
00004973: PUSH2 0x497e
00004976: PUSH1 0x20
00004978: DUP3
00004979: ADD
0000497a: PUSH2 0x40a8
0000497d: JUMP
0000497e: JUMPDEST
0000497f: SWAP2
00004980: DUP3
00004981: MSTORE
00004982: PUSH1 0x20
00004984: DUP2
00004985: DUP5
00004986: ADD
00004987: DUP2
00004988: ADD
00004989: SWAP3
0000498a: SWAP1
0000498b: DUP2
0000498c: ADD
0000498d: SWAP1
0000498e: DUP8
0000498f: DUP5
00004990: GT
00004991: ISZERO
00004992: PUSH2 0x499a
00004995: JUMPI
00004996: PUSH1 0x00
00004998: DUP1
00004999: REVERT
0000499a: JUMPDEST
0000499b: PUSH1 0x20
0000499d: DUP6
0000499e: ADD
0000499f: SWAP5
000049a0: POP
000049a1: JUMPDEST
000049a2: DUP4
000049a3: DUP6
000049a4: LT
000049a5: ISZERO
000049a6: PUSH2 0x3d9e
000049a9: JUMPI
000049aa: DUP5
000049ab: MLOAD
000049ac: SWAP3
000049ad: POP
000049ae: PUSH2 0x49b6
000049b1: DUP4
000049b2: PUSH2 0x3ef6
000049b5: JUMP
000049b6: JUMPDEST
000049b7: DUP3
000049b8: DUP3
000049b9: MSTORE
000049ba: PUSH1 0x20
000049bc: SWAP5
000049bd: DUP6
000049be: ADD
000049bf: SWAP5
000049c0: SWAP1
000049c1: SWAP2
000049c2: ADD
000049c3: SWAP1
000049c4: PUSH2 0x49a1
000049c7: JUMP
000049c8: JUMPDEST
000049c9: DUP1
000049ca: DUP3
000049cb: ADD
000049cc: DUP1
000049cd: DUP3
000049ce: GT
000049cf: ISZERO
000049d0: PUSH2 0x0b84
000049d3: JUMPI
000049d4: PUSH2 0x0b84
000049d7: PUSH2 0x4840
000049da: JUMP
000049db: JUMPDEST
000049dc: PUSH1 0x20
000049de: DUP1
000049df: DUP3
000049e0: MSTORE
000049e1: PUSH1 0x2e
000049e3: SWAP1
000049e4: DUP3
000049e5: ADD
000049e6: MSTORE
000049e7: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561
00004a08: PUSH1 0x40
00004a0a: DUP3
00004a0b: ADD
00004a0c: MSTORE
00004a0d: PUSH14 0x191e481a5b9a5d1a585b1a5e9959
00004a1c: PUSH1 0x92
00004a1e: SHL
00004a1f: PUSH1 0x60
00004a21: DUP3
00004a22: ADD
00004a23: MSTORE
00004a24: PUSH1 0x80
00004a26: ADD
00004a27: SWAP1
00004a28: JUMP
00004a29: JUMPDEST
00004a2a: DUP2
00004a2b: DUP2
00004a2c: SUB
00004a2d: DUP2
00004a2e: DUP2
00004a2f: GT
00004a30: ISZERO
00004a31: PUSH2 0x0b84
00004a34: JUMPI
00004a35: PUSH2 0x0b84
00004a38: PUSH2 0x4840
00004a3b: JUMP
00004a3c: JUMPDEST
00004a3d: PUSH4 0x4e487b71
00004a42: PUSH1 0xe0
00004a44: SHL
00004a45: PUSH1 0x00
00004a47: MSTORE
00004a48: PUSH1 0x32
00004a4a: PUSH1 0x04
00004a4c: MSTORE
00004a4d: PUSH1 0x24
00004a4f: PUSH1 0x00
00004a51: REVERT
00004a52: JUMPDEST
00004a53: PUSH1 0x00
00004a55: DUP1
00004a56: PUSH1 0x00
00004a58: PUSH1 0x60
00004a5a: DUP5
00004a5b: DUP7
00004a5c: SUB
00004a5d: SLT
00004a5e: ISZERO
00004a5f: PUSH2 0x4a67
00004a62: JUMPI
00004a63: PUSH1 0x00
00004a65: DUP1
00004a66: REVERT
00004a67: JUMPDEST
00004a68: POP
00004a69: POP
00004a6a: DUP2
00004a6b: MLOAD
00004a6c: PUSH1 0x20
00004a6e: DUP4
00004a6f: ADD
00004a70: MLOAD
00004a71: PUSH1 0x40
00004a73: SWAP1
00004a74: SWAP4
00004a75: ADD
00004a76: MLOAD
00004a77: SWAP1
00004a78: SWAP5
00004a79: SWAP3
00004a7a: SWAP4
00004a7b: POP
00004a7c: SWAP2
00004a7d: SWAP1
00004a7e: POP
00004a7f: JUMP
00004a80: JUMPDEST
00004a81: PUSH1 0x00
00004a83: PUSH1 0x20
00004a85: DUP3
00004a86: DUP5
00004a87: SUB
00004a88: SLT
00004a89: ISZERO
00004a8a: PUSH2 0x4a92
00004a8d: JUMPI
00004a8e: PUSH1 0x00
00004a90: DUP1
00004a91: REVERT
00004a92: JUMPDEST
00004a93: DUP2
00004a94: MLOAD
00004a95: PUSH2 0x1882
00004a98: DUP2
00004a99: PUSH2 0x3ef6
00004a9c: JUMP
00004a9d: JUMPDEST
00004a9e: PUSH1 0xff
00004aa0: DUP3
00004aa1: DUP2
00004aa2: AND
00004aa3: DUP3
00004aa4: DUP3
00004aa5: AND
00004aa6: SUB
00004aa7: SWAP1
00004aa8: DUP2
00004aa9: GT
00004aaa: ISZERO
00004aab: PUSH2 0x0b84
00004aae: JUMPI
00004aaf: PUSH2 0x0b84
00004ab2: PUSH2 0x4840
00004ab5: JUMP
00004ab6: JUMPDEST
00004ab7: PUSH1 0x01
00004ab9: DUP2
00004aba: JUMPDEST
00004abb: PUSH1 0x01
00004abd: DUP5
00004abe: GT
00004abf: ISZERO
00004ac0: PUSH2 0x4af1
00004ac3: JUMPI
00004ac4: DUP1
00004ac5: DUP6
00004ac6: DIV
00004ac7: DUP2
00004ac8: GT
00004ac9: ISZERO
00004aca: PUSH2 0x4ad5
00004acd: JUMPI
00004ace: PUSH2 0x4ad5
00004ad1: PUSH2 0x4840
00004ad4: JUMP
00004ad5: JUMPDEST
00004ad6: PUSH1 0x01
00004ad8: DUP5
00004ad9: AND
00004ada: ISZERO
00004adb: PUSH2 0x4ae3
00004ade: JUMPI
00004adf: SWAP1
00004ae0: DUP2
00004ae1: MUL
00004ae2: SWAP1
00004ae3: JUMPDEST
00004ae4: PUSH1 0x01
00004ae6: SWAP4
00004ae7: SWAP1
00004ae8: SWAP4
00004ae9: SHR
00004aea: SWAP3
00004aeb: DUP1
00004aec: MUL
00004aed: PUSH2 0x4aba
00004af0: JUMP
00004af1: JUMPDEST
00004af2: SWAP4
00004af3: POP
00004af4: SWAP4
00004af5: SWAP2
00004af6: POP
00004af7: POP
00004af8: JUMP
00004af9: JUMPDEST
00004afa: PUSH1 0x00
00004afc: DUP3
00004afd: PUSH2 0x4b08
00004b00: JUMPI
00004b01: POP
00004b02: PUSH1 0x01
00004b04: PUSH2 0x0b84
00004b07: JUMP
00004b08: JUMPDEST
00004b09: DUP2
00004b0a: PUSH2 0x4b15
00004b0d: JUMPI
00004b0e: POP
00004b0f: PUSH1 0x00
00004b11: PUSH2 0x0b84
00004b14: JUMP
00004b15: JUMPDEST
00004b16: DUP2
00004b17: PUSH1 0x01
00004b19: DUP2
00004b1a: EQ
00004b1b: PUSH2 0x4b2b
00004b1e: JUMPI
00004b1f: PUSH1 0x02
00004b21: DUP2
00004b22: EQ
00004b23: PUSH2 0x4b35
00004b26: JUMPI
00004b27: PUSH2 0x4b51
00004b2a: JUMP
00004b2b: JUMPDEST
00004b2c: PUSH1 0x01
00004b2e: SWAP2
00004b2f: POP
00004b30: POP
00004b31: PUSH2 0x0b84
00004b34: JUMP
00004b35: JUMPDEST
00004b36: PUSH1 0xff
00004b38: DUP5
00004b39: GT
00004b3a: ISZERO
00004b3b: PUSH2 0x4b46
00004b3e: JUMPI
00004b3f: PUSH2 0x4b46
00004b42: PUSH2 0x4840
00004b45: JUMP
00004b46: JUMPDEST
00004b47: POP
00004b48: POP
00004b49: PUSH1 0x01
00004b4b: DUP3
00004b4c: SHL
00004b4d: PUSH2 0x0b84
00004b50: JUMP
00004b51: JUMPDEST
00004b52: POP
00004b53: PUSH1 0x20
00004b55: DUP4
00004b56: LT
00004b57: PUSH2 0x0133
00004b5a: DUP4
00004b5b: LT
00004b5c: AND
00004b5d: PUSH1 0x4e
00004b5f: DUP5
00004b60: LT
00004b61: PUSH1 0x0b
00004b63: DUP5
00004b64: LT
00004b65: AND
00004b66: OR
00004b67: ISZERO
00004b68: PUSH2 0x4b74
00004b6b: JUMPI
00004b6c: POP
00004b6d: DUP2
00004b6e: DUP2
00004b6f: EXP
00004b70: PUSH2 0x0b84
00004b73: JUMP
00004b74: JUMPDEST
00004b75: PUSH2 0x4b81
00004b78: PUSH1 0x00
00004b7a: NOT
00004b7b: DUP5
00004b7c: DUP5
00004b7d: PUSH2 0x4ab6
00004b80: JUMP
00004b81: JUMPDEST
00004b82: DUP1
00004b83: PUSH1 0x00
00004b85: NOT
00004b86: DIV
00004b87: DUP3
00004b88: GT
00004b89: ISZERO
00004b8a: PUSH2 0x4b95
00004b8d: JUMPI
00004b8e: PUSH2 0x4b95
00004b91: PUSH2 0x4840
00004b94: JUMP
00004b95: JUMPDEST
00004b96: MUL
00004b97: SWAP4
00004b98: SWAP3
00004b99: POP
00004b9a: POP
00004b9b: POP
00004b9c: JUMP
00004b9d: JUMPDEST
00004b9e: PUSH1 0x00
00004ba0: PUSH2 0x1882
00004ba3: PUSH1 0xff
00004ba5: DUP5
00004ba6: AND
00004ba7: DUP4
00004ba8: PUSH2 0x4af9
00004bab: JUMP
00004bac: JUMPDEST
00004bad: PUSH1 0x00
00004baf: DUP3
00004bb0: PUSH2 0x4bc9
00004bb3: JUMPI
00004bb4: PUSH4 0x4e487b71
00004bb9: PUSH1 0xe0
00004bbb: SHL
00004bbc: PUSH1 0x00
00004bbe: MSTORE
00004bbf: PUSH1 0x12
00004bc1: PUSH1 0x04
00004bc3: MSTORE
00004bc4: PUSH1 0x24
00004bc6: PUSH1 0x00
00004bc8: REVERT
00004bc9: JUMPDEST
00004bca: POP
00004bcb: DIV
00004bcc: SWAP1
00004bcd: JUMP
00004bce: JUMPDEST
00004bcf: DUP1
00004bd0: DUP3
00004bd1: MUL
00004bd2: DUP2
00004bd3: ISZERO
00004bd4: DUP3
00004bd5: DUP3
00004bd6: DIV
00004bd7: DUP5
00004bd8: EQ
00004bd9: OR
00004bda: PUSH2 0x0b84
00004bdd: JUMPI
00004bde: PUSH2 0x0b84
00004be1: PUSH2 0x4840
00004be4: JUMP
00004be5: JUMPDEST
00004be6: PUSH1 0x1f
00004be8: DUP3
00004be9: GT
00004bea: ISZERO
00004beb: PUSH2 0x10a0
00004bee: JUMPI
00004bef: DUP1
00004bf0: PUSH1 0x00
00004bf2: MSTORE
00004bf3: PUSH1 0x20
00004bf5: PUSH1 0x00
00004bf7: KECCAK256
00004bf8: PUSH1 0x1f
00004bfa: DUP5
00004bfb: ADD
00004bfc: PUSH1 0x05
00004bfe: SHR
00004bff: DUP2
00004c00: ADD
00004c01: PUSH1 0x20
00004c03: DUP6
00004c04: LT
00004c05: ISZERO
00004c06: PUSH2 0x4c0c
00004c09: JUMPI
00004c0a: POP
00004c0b: DUP1
00004c0c: JUMPDEST
00004c0d: PUSH1 0x1f
00004c0f: DUP5
00004c10: ADD
00004c11: PUSH1 0x05
00004c13: SHR
00004c14: DUP3
00004c15: ADD
00004c16: SWAP2
00004c17: POP
00004c18: JUMPDEST
00004c19: DUP2
00004c1a: DUP2
00004c1b: LT
00004c1c: ISZERO
00004c1d: PUSH2 0x0cf1
00004c20: JUMPI
00004c21: PUSH1 0x00
00004c23: DUP2
00004c24: SSTORE
00004c25: PUSH1 0x01
00004c27: ADD
00004c28: PUSH2 0x4c18
00004c2b: JUMP
00004c2c: JUMPDEST
00004c2d: PUSH1 0x01
00004c2f: PUSH1 0x01
00004c31: PUSH1 0x40
00004c33: SHL
00004c34: SUB
00004c35: DUP4
00004c36: GT
00004c37: ISZERO
00004c38: PUSH2 0x4c43
00004c3b: JUMPI
00004c3c: PUSH2 0x4c43
00004c3f: PUSH2 0x4092
00004c42: JUMP
00004c43: JUMPDEST
00004c44: PUSH2 0x4c57
00004c47: DUP4
00004c48: PUSH2 0x4c51
00004c4b: DUP4
00004c4c: SLOAD
00004c4d: PUSH2 0x4722
00004c50: JUMP
00004c51: JUMPDEST
00004c52: DUP4
00004c53: PUSH2 0x4be5
00004c56: JUMP
00004c57: JUMPDEST
00004c58: PUSH1 0x00
00004c5a: PUSH1 0x1f
00004c5c: DUP5
00004c5d: GT
00004c5e: PUSH1 0x01
00004c60: DUP2
00004c61: EQ
00004c62: PUSH2 0x4c8b
00004c65: JUMPI
00004c66: PUSH1 0x00
00004c68: DUP6
00004c69: ISZERO
00004c6a: PUSH2 0x4c73
00004c6d: JUMPI
00004c6e: POP
00004c6f: DUP4
00004c70: DUP3
00004c71: ADD
00004c72: CALLDATALOAD
00004c73: JUMPDEST
00004c74: PUSH1 0x00
00004c76: NOT
00004c77: PUSH1 0x03
00004c79: DUP8
00004c7a: SWAP1
00004c7b: SHL
00004c7c: SHR
00004c7d: NOT
00004c7e: AND
00004c7f: PUSH1 0x01
00004c81: DUP7
00004c82: SWAP1
00004c83: SHL
00004c84: OR
00004c85: DUP4
00004c86: SSTORE
00004c87: PUSH2 0x0cf1
00004c8a: JUMP
00004c8b: JUMPDEST
00004c8c: PUSH1 0x00
00004c8e: DUP4
00004c8f: DUP2
00004c90: MSTORE
00004c91: PUSH1 0x20
00004c93: SWAP1
00004c94: KECCAK256
00004c95: PUSH1 0x1f
00004c97: NOT
00004c98: DUP7
00004c99: AND
00004c9a: SWAP1
00004c9b: DUP4
00004c9c: JUMPDEST
00004c9d: DUP3
00004c9e: DUP2
00004c9f: LT
00004ca0: ISZERO
00004ca1: PUSH2 0x4cbc
00004ca4: JUMPI
00004ca5: DUP7
00004ca6: DUP6
00004ca7: ADD
00004ca8: CALLDATALOAD
00004ca9: DUP3
00004caa: SSTORE
00004cab: PUSH1 0x20
00004cad: SWAP5
00004cae: DUP6
00004caf: ADD
00004cb0: SWAP5
00004cb1: PUSH1 0x01
00004cb3: SWAP1
00004cb4: SWAP3
00004cb5: ADD
00004cb6: SWAP2
00004cb7: ADD
00004cb8: PUSH2 0x4c9c
00004cbb: JUMP
00004cbc: JUMPDEST
00004cbd: POP
00004cbe: DUP7
00004cbf: DUP3
00004cc0: LT
00004cc1: ISZERO
00004cc2: PUSH2 0x4cd9
00004cc5: JUMPI
00004cc6: PUSH1 0x00
00004cc8: NOT
00004cc9: PUSH1 0xf8
00004ccb: DUP9
00004ccc: PUSH1 0x03
00004cce: SHL
00004ccf: AND
00004cd0: SHR
00004cd1: NOT
00004cd2: DUP5
00004cd3: DUP8
00004cd4: ADD
00004cd5: CALLDATALOAD
00004cd6: AND
00004cd7: DUP2
00004cd8: SSTORE
00004cd9: JUMPDEST
00004cda: POP
00004cdb: POP
00004cdc: PUSH1 0x01
00004cde: DUP6
00004cdf: PUSH1 0x01
00004ce1: SHL
00004ce2: ADD
00004ce3: DUP4
00004ce4: SSTORE
00004ce5: POP
00004ce6: POP
00004ce7: POP
00004ce8: POP
00004ce9: POP
00004cea: JUMP
00004ceb: JUMPDEST
00004cec: DUP4
00004ced: DUP2
00004cee: MSTORE
00004cef: PUSH1 0x60
00004cf1: PUSH1 0x20
00004cf3: DUP3
00004cf4: ADD
00004cf5: MSTORE
00004cf6: PUSH1 0x00
00004cf8: PUSH2 0x4d04
00004cfb: PUSH1 0x60
00004cfd: DUP4
00004cfe: ADD
00004cff: DUP6
00004d00: PUSH2 0x3eb7
00004d03: JUMP
00004d04: JUMPDEST
00004d05: DUP3
00004d06: DUP2
00004d07: SUB
00004d08: PUSH1 0x40
00004d0a: DUP5
00004d0b: ADD
00004d0c: MSTORE
00004d0d: PUSH2 0x1659
00004d10: DUP2
00004d11: DUP6
00004d12: PUSH2 0x3eb7
00004d15: JUMP
00004d16: JUMPDEST
00004d17: PUSH1 0x01
00004d19: PUSH1 0x01
00004d1b: PUSH1 0xa0
00004d1d: SHL
00004d1e: SUB
00004d1f: DUP8
00004d20: DUP2
00004d21: AND
00004d22: DUP3
00004d23: MSTORE
00004d24: DUP7
00004d25: DUP2
00004d26: AND
00004d27: PUSH1 0x20
00004d29: DUP4
00004d2a: ADD
00004d2b: MSTORE
00004d2c: DUP6
00004d2d: AND
00004d2e: PUSH1 0x40
00004d30: DUP3
00004d31: ADD
00004d32: MSTORE
00004d33: PUSH1 0x60
00004d35: DUP2
00004d36: ADD
00004d37: DUP5
00004d38: SWAP1
00004d39: MSTORE
00004d3a: PUSH1 0xc0
00004d3c: PUSH1 0x80
00004d3e: DUP3
00004d3f: ADD
00004d40: DUP2
00004d41: SWAP1
00004d42: MSTORE
00004d43: PUSH1 0x00
00004d45: SWAP1
00004d46: PUSH2 0x4d51
00004d49: SWAP1
00004d4a: DUP4
00004d4b: ADD
00004d4c: DUP6
00004d4d: PUSH2 0x3eb7
00004d50: JUMP
00004d51: JUMPDEST
00004d52: DUP3
00004d53: DUP2
00004d54: SUB
00004d55: PUSH1 0xa0
00004d57: DUP5
00004d58: ADD
00004d59: MSTORE
00004d5a: PUSH2 0x4d63
00004d5d: DUP2
00004d5e: DUP6
00004d5f: PUSH2 0x3eb7
00004d62: JUMP
00004d63: JUMPDEST
00004d64: SWAP10
00004d65: SWAP9
00004d66: POP
00004d67: POP
00004d68: POP
00004d69: POP
00004d6a: POP
00004d6b: POP
00004d6c: POP
00004d6d: POP
00004d6e: POP
00004d6f: JUMP
00004d70: JUMPDEST
00004d71: PUSH1 0x00
00004d73: DUP3
00004d74: MLOAD
00004d75: PUSH2 0x4d82
00004d78: DUP2
00004d79: DUP5
00004d7a: PUSH1 0x20
00004d7c: DUP8
00004d7d: ADD
00004d7e: PUSH2 0x3e93
00004d81: JUMP
00004d82: JUMPDEST
00004d83: SWAP2
00004d84: SWAP1
00004d85: SWAP2
00004d86: ADD
00004d87: SWAP3
00004d88: SWAP2
00004d89: POP
00004d8a: POP
00004d8b: JUMP
00004d8c: INVALID
00004d8d: UNKNOWN(0xB5)
00004d8e: BALANCE
00004d8f: UNKNOWN(0x27)
00004d90: PUSH9 0x4a568b3173ae13b9f8
00004d9a: UNKNOWN(0xA6)
00004d9b: ADD
00004d9c: PUSH15 0x243e63b6e8ee1178d6a717850b5d61
00004dac: SUB
00004dad: MSTORE8
00004dae: PUSH22 0x706572546f6b656e3a2064656372656173656420616c
00004dc5: PUSH13 0x6f77616e63652062656c6f7720
00004dd3: PUSH27 0x65726fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a116
00004def: UNKNOWN(0x28)
00004df0: CREATE2
00004df1: GAS
00004df2: UNKNOWN(0x4D)
00004df3: CREATE2
00004df4: UNKNOWN(0x23)
00004df5: UNKNOWN(0xB3)
00004df6: UNKNOWN(0xEF)
00004df7: MSTORE8
00004df8: PUSH22 0x706572546f6b656e3a207472616e7366657220616d6f
00004e0f: PUSH22 0x6e74206578636565647320616c6c6f77616e6365a264
00004e26: PUSH10 0x70667358221220051487
00004e31: UNKNOWN(0x29)
00004e32: PUSH28 0x37014853ca2bf6a1b68805b6deae9a7d985b17481256b57dd48a6e64
00004e4f: PUSH20

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x71d235eb1231a98df822706f249dba13b87e62baeee4c9f0d3db601b5bd0a870
call_targets: 0xf0d7d1d47109ba426b9d8a3cde1941327af1eea3
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x71d235eb1231a98df822706f249dba13b87e62baeee4c9f0d3db601b5bd0a870",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xf0d7d1d47109ba426b9d8a3cde1941327af1eea3"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xef43d2c6",
            "selector": "0xef43d2c6",
            "calldata_variants": [
                "0xef43d2c6",
                "0xef43d2c60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf5a8b4dd",
            "selector": "0xf5a8b4dd",
            "calldata_variants": [
                "0xf5a8b4dd",
                "0xf5a8b4dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfad8b32a",
            "selector": "0xfad8b32a",
            "calldata_variants": [
                "0xfad8b32a",
                "0xfad8b32a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc673c4f",
            "selector": "0xfc673c4f",
            "calldata_variants": [
                "0xfc673c4f",
                "0xfc673c4f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfe9d9303",
            "selector": "0xfe9d9303",
            "calldata_variants": [
                "0xfe9d9303",
                "0xfe9d93030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xeb3537cc",
            "selector": "0xeb3537cc",
            "calldata_variants": [
                "0xeb3537cc",
                "0xeb3537cc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec0d6343",
            "selector": "0xec0d6343",
            "calldata_variants": [
                "0xec0d6343",
                "0xec0d63430000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 14021,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 14174,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 14456,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 5,
    "guards_detected": [],
    "untrusted_call_count": 5
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x71d235eb1231a98df822706f249dba13b87e62baeee4c9f0d3db601b5bd0a870
call_targets: 0xf0d7d1d47109ba426b9d8a3cde1941327af1eea3
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x71d235eb1231a98df822706f249dba13b87e62baeee4c9f0d3db601b5bd0a870",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xf0d7d1d47109ba426b9d8a3cde1941327af1eea3"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xef43d2c6",
            "selector": "0xef43d2c6",
            "calldata_variants": [
                "0xef43d2c6",
                "0xef43d2c60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf5a8b4dd",
            "selector": "0xf5a8b4dd",
            "calldata_variants": [
                "0xf5a8b4dd",
                "0xf5a8b4dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfad8b32a",
            "selector": "0xfad8b32a",
            "calldata_variants": [
                "0xfad8b32a",
                "0xfad8b32a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc673c4f",
            "selector": "0xfc673c4f",
            "calldata_variants": [
                "0xfc673c4f",
                "0xfc673c4f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfe9d9303",
            "selector": "0xfe9d9303",
            "calldata_variants": [
                "0xfe9d9303",
                "0xfe9d93030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xeb3537cc",
            "selector": "0xeb3537cc",
            "calldata_variants": [
                "0xeb3537cc",
                "0xeb3537cc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec0d6343",
            "selector": "0xec0d6343",
            "calldata_variants": [
                "0xec0d6343",
                "0xec0d63430000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 14021,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 14174,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 14456,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 5,
    "guards_detected": []
}
medium upgradeability codex Unprotected initializer/castrate allow takeover or permanent lock of uninitialized proxies 75 no
view
evidence_json
{
    "evidence": "Both initializer entrypoints are external and unguarded, and `castrate` is an external initializer callable by anyone.",
    "locations": [
        "contracts/contracts/superfluid/SuperToken.sol:133",
        "contracts/contracts/superfluid/SuperToken.sol:152",
        "contracts/contracts/upgradability/UUPSProxiable.sol:24"
    ],
    "recommendation": "Initialize proxies atomically on deployment (e.g., pass initializer calldata to the proxy constructor or use a factory that initializes in the same tx), restrict or remove `castrate` from the proxy surface (e.g., guard it with onlyImplementation/notDelegated), and consider calling `_disableInitializers()` in the implementation constructor to lock the logic contract.",
    "exploit_scenario": "If a SuperToken proxy is deployed without calling `initialize` in the same transaction, an attacker can front\u2011run and call `initializeWithAdmin` to set themselves as admin (then upgrade to malicious code) or call `castrate` to set `_initialized` and permanently prevent initialization, effectively bricking the proxy."
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0x67d0dd7dcfcbb60ed754471084e3c2c1224471a80bcc5e3d31e241af8554dfe6
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0x67d0dd7dcfcbb60ed754471084e3c2c1224471a80bcc5e3d31e241af8554dfe6",
    "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": "0xef43d2c6",
            "selector": "0xef43d2c6",
            "calldata_variants": [
                "0xef43d2c6",
                "0xef43d2c60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf5a8b4dd",
            "selector": "0xf5a8b4dd",
            "calldata_variants": [
                "0xf5a8b4dd",
                "0xf5a8b4dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfad8b32a",
            "selector": "0xfad8b32a",
            "calldata_variants": [
                "0xfad8b32a",
                "0xfad8b32a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc673c4f",
            "selector": "0xfc673c4f",
            "calldata_variants": [
                "0xfc673c4f",
                "0xfc673c4f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfe9d9303",
            "selector": "0xfe9d9303",
            "calldata_variants": [
                "0xfe9d9303",
                "0xfe9d93030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xeb3537cc",
            "selector": "0xeb3537cc",
            "calldata_variants": [
                "0xeb3537cc",
                "0xeb3537cc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec0d6343",
            "selector": "0xec0d6343",
            "calldata_variants": [
                "0xec0d6343",
                "0xec0d63430000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 0,
    "create2_count": 2
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 0,
    "create2_count": 2
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 23
}
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": 10
}