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

Analysis Run

ce59d179-7b6b-44f3-a1f7-22805cde84e2

complete
Chain ID
1
Address
Block Number
Created
Sat, Jan 3, 2026 1:13 AM
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
USDT transferFrom/transfer return values ignored, enabling fake deposits and pooled USDT withdrawal
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
31413 report.consolidate complete 1 / 1 3 months ago
77104 artifact.fetch complete 1 / 3 1 week ago
77105 tool.cast_disasm complete 1 / 3 1 week ago
77106 analysis.bundle complete 1 / 3 1 week ago
77107 capability.graph complete 1 / 3 1 week ago
77108 detector.run complete 1 / 3 1 week ago
77109 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
1
No findings?
no
Summary
Unchecked USDT transfers allow crediting deposits without a real transfer, enabling a drain of pooled USDT.
View stderr
[codex:516253] OpenAI Codex v0.77.0 (research preview)
[codex:516253] --------
[codex:516253] workdir: /tmp/codex-multi-zes9ga22
[codex:516253] model: gpt-5.2-codex
[codex:516253] provider: openai
[codex:516253] approval: never
[codex:516253] sandbox: read-only
[codex:516253] reasoning effort: xhigh
[codex:516253] reasoning summaries: auto
[codex:516253] session id: 019b8165-0ead-7371-a392-695004a72d4b
[codex:516253] --------
[codex:516253] user
[codex:516253] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:516253] 
[codex:516253] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:516253] 
[codex:516253] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:516253] - Gas inefficiency, code quality, naming, or best practices
[codex:516253] - Theoretical vulnerabilities without a clear extraction path
[codex:516253] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:516253] - Front-running unless it enables theft beyond MEV
[codex:516253] - DoS, griefing, or issues that don't result in attacker profit
[codex:516253] - Missing events, view function issues, or informational findings
[codex:516253] 
[codex:516253] HIGH-VALUE PATTERNS TO HUNT:
[codex:516253] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:516253] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:516253] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:516253] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:516253] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:516253] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:516253] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:516253] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:516253] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:516253] 
[codex:516253] For each finding, you MUST provide:
[codex:516253] 1. Exact file and line numbers of vulnerable code
[codex:516253] 2. Step-by-step exploit transaction sequence
[codex:516253] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:516253] 
[codex:516253] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:516253] 
[codex:516253] Output MUST be valid JSON matching the provided schema.
[codex:516253] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:516253] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:516253] mcp startup: no servers
[codex:516253] 
[codex:516253] thinking
[codex:516253] **Preparing to read AUDIT_BUNDLE.txt**
[codex:516253] exec
[codex:516253] /bin/bash -lc ls in /tmp/codex-multi-zes9ga22 succeeded in 5ms:
[codex:516253] AUDIT_BUNDLE.txt
[codex:516253] codex-output-schema.json
[codex:516253] contracts
[codex:516253] exec
[codex:516253] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-zes9ga22 succeeded in 5ms:
[codex:516253] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:516253] 
[codex:516253] ================================================================================
[codex:516253] FILE: contracts/contracts/ABDK.sol
[codex:516253] ================================================================================
[codex:516253] /*
[codex:516253]  * ABDK Math 64.64 Smart Contract Library.  Copyright © 2019 by ABDK Consulting.
[codex:516253]  * Author: Mikhail Vladimirov <mikhail.vladimirov@gmail.com>
[codex:516253]  */
[codex:516253] pragma solidity ^0.5.0 || ^0.6.0;
[codex:516253] 
[codex:516253] /**
[codex:516253]  * Smart contract library of mathematical functions operating with signed
[codex:516253]  * 64.64-bit fixed point numbers.  Signed 64.64-bit fixed point number is
[codex:516253]  * basically a simple fraction whose numerator is signed 128-bit integer and
[codex:516253]  * denominator is 2^64.  As long as denominator is always the same, there is no
[codex:516253]  * need to store it, thus in Solidity signed 64.64-bit fixed point numbers are
[codex:516253]  * represented by int128 type holding only the numerator.
[codex:516253]  */
[codex:516253] library ABDKMath64x64 {
[codex:516253] 
[codex:516253] thinking
[codex:516253] **Searching for contracts to audit**
[codex:516253] exec
[codex:516253] /bin/bash -lc 'rg --files' in /tmp/codex-multi-zes9ga22 succeeded in 8ms:
[codex:516253] AUDIT_BUNDLE.txt
[codex:516253] codex-output-schema.json
[codex:516253] contracts/contracts/ABDK.sol
[codex:516253] contracts/contracts/TokenInfoLib.sol
[codex:516253] contracts/contracts/tokenbasic.sol
[codex:516253] contracts/contracts/yam.sol
[codex:516253] contracts/contracts/SignedSafeMath.sol
[codex:516253] contracts/contracts/SafeMath.sol
[codex:516253] contracts/contracts/Ownable.sol
[codex:516253] contracts/contracts/Context.sol
[codex:516253] contracts/contracts/IERC20.sol
[codex:516253] contracts/contracts/bkk.sol
[codex:516253] contracts/contracts/strings.sol
[codex:516253] contracts/contracts/SymbolsLib.sol
[codex:516253] contracts/contracts/SavingAccountParameters.sol
[codex:516253] 
[codex:516253] thinking
[codex:516253] **Examining project contracts for vulnerabilities**
[codex:516253] exec
[codex:516253] /bin/bash -lc 'rg -n "contract" contracts/contracts/*.sol' in /tmp/codex-multi-zes9ga22 succeeded in 11ms:
[codex:516253] contracts/contracts/Context.sol:2:contract Context {
[codex:516253] contracts/contracts/Context.sol:4:    // an instance of this contract, which should be used via inheritance.
[codex:516253] contracts/contracts/Ownable.sol:13:contract Ownable is Context {
[codex:516253] contracts/contracts/Ownable.sol:19:     * @dev Initializes the contract setting the deployer as the initial owner.
[codex:516253] contracts/contracts/Ownable.sol:50:     * @dev Leaves the contract without owner. It will not be possible to call
[codex:516253] contracts/contracts/Ownable.sol:53:     * NOTE: Renouncing ownership will leave the contract without an owner,
[codex:516253] contracts/contracts/Ownable.sol:62:     * @dev Transfers ownership of the contract to a new account (`newOwner`).
[codex:516253] contracts/contracts/Ownable.sol:70:     * @dev Transfers ownership of the contract to a new account (`newOwner`).
[codex:516253] contracts/contracts/SafeMath.sol:76:        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
[codex:516253] contracts/contracts/yam.sol:21:     * @dev Returns true if `account` is a contract.
[codex:516253] contracts/contracts/yam.sol:26:     * false is an externally-owned account (EOA) and not a contract.
[codex:516253] contracts/contracts/yam.sol:32:     *  - a contract in construction
[codex:516253] contracts/contracts/yam.sol:33:     *  - an address where a contract will be created
[codex:516253] contracts/contracts/yam.sol:34:     *  - an address where a contract lived, but was destroyed
[codex:516253] contracts/contracts/yam.sol:63:     * of certain opcodes, possibly making contracts go over the 2300 gas limit
[codex:516253] contracts/contracts/yam.sol:94: * contract returns false). Tokens that return no value (and instead revert or
[codex:516253] contracts/contracts/yam.sol:97: * To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,
[codex:516253] contracts/contracts/yam.sol:134:     * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement
[codex:516253] contracts/contracts/yam.sol:144:        //  1. The target address is checked to verify it contains contract code
[codex:516253] contracts/contracts/yam.sol:148:        require(address(token).isContract(), "SafeERC20: call to non-contract");
[codex:516253] 
[codex:516253] thinking
[codex:516253] **Examining main contract and files**
[codex:516253] exec
[codex:516253] /bin/bash -lc "sed -n '1,260p' contracts/contracts/yam.sol" in /tmp/codex-multi-zes9ga22 succeeded in 7ms:
[codex:516253] pragma solidity >= 0.5.0 < 0.6.0;
[codex:516253] 
[codex:516253] import "./TokenInfoLib.sol";
[codex:516253] import "./SymbolsLib.sol";
[codex:516253] import "./SafeMath.sol";
[codex:516253] import "./SignedSafeMath.sol";
[codex:516253] import "./Ownable.sol";
[codex:516253] import "./SavingAccountParameters.sol";
[codex:516253] import "./IERC20.sol";
[codex:516253] import "./ABDK.sol";
[codex:516253] import "./tokenbasic.sol";
[codex:516253] import "./bkk.sol";
[codex:516253] 
[codex:516253] pragma solidity ^0.5.5;
[codex:516253] 
[codex:516253] /**
[codex:516253]  * @dev Collection of functions related to the address type
[codex:516253]  */
[codex:516253] library Address {
[codex:516253]     /**
[codex:516253] 
[codex:516253] thinking
[codex:516253] **Adding line numbers to file**
[codex:516253] exec
[codex:516253] /bin/bash -lc "nl -ba contracts/contracts/yam.sol | sed -n '260,620p'" in /tmp/codex-multi-zes9ga22 succeeded in 7ms:
[codex:516253]    260	    uint256 public _poolRewardRate = 0;
[codex:516253]    261	    uint256 public _baseRate = 10000;
[codex:516253]    262	    uint256 public _punishTime = 10 days;
[codex:516253]    263	    
[codex:516253]    264	    uint256 public one_Rate = 90;
[codex:516253]    265	    uint256 public sec_Rate = 5;
[codex:516253]    266	    uint256 public thr_Rate = 5;
[codex:516253]    267	    uint256 public BASE_RATE_FORREWARD = 100;
[codex:516253]    268	    
[codex:516253]    269	    
[codex:516253]    270	    mapping(address => mapping(address=>uint256)) public _userRewardPerTokenPaid;
[codex:516253]    271	    mapping(address => mapping(address=>uint256)) public _rewards;
[codex:516253]    272	    mapping(address => mapping(address=>uint256)) public _lastStakedTime;
[codex:516253]    273		SymbolsLib.Symbols symbols;
[codex:516253]    274		int256 constant BASE = 10**6;
[codex:516253]    275		int BORROW_LTV = 66; //TODO check is this 60%?
[codex:516253]    276		int LIQUIDATE_THREADHOLD = 85;
[codex:516253]    277	
[codex:516253]    278		constructor() public {
[codex:516253]    279			SavingAccountParameters params = new SavingAccountParameters();
[codex:516253] exec
[codex:516253] /bin/bash -lc "nl -ba contracts/contracts/yam.sol | sed -n '620,980p'" in /tmp/codex-multi-zes9ga22 succeeded in 6ms:
[codex:516253]    620	        
[codex:516253]    621	        
[codex:516253]    622	    }
[codex:516253]    623	 
[codex:516253]    624	   
[codex:516253]    625		
[codex:516253]    626	
[codex:516253]    627		
[codex:516253]    628		function update_initreward() private {
[codex:516253]    629		    dayNums = dayNums + 1;
[codex:516253]    630	        uint256 thisreward = base_.mul(rate_forReward).mul(10**18).mul((base_Rate_Reward.sub(rate_forReward))**(uint256(dayNums-1))).div(base_Rate_Reward**(uint256(dayNums)));
[codex:516253]    631		    _initReward = uint256(thisreward);
[codex:516253]    632		}
[codex:516253]    633		
[codex:516253]    634		
[codex:516253]    635	
[codex:516253]    636	    // set fix time to start reward
[codex:516253]    637	    function startReward(uint256 startTime)
[codex:516253]    638	        external
[codex:516253]    639	        onlyOwner
[codex:516253] 
[codex:516253] thinking
[codex:516253] **Analyzing token handling and reentrancy risks**
[codex:516253] exec
[codex:516253] /bin/bash -lc "sed -n '1,200p' contracts/contracts/SavingAccountParameters.sol" in /tmp/codex-multi-zes9ga22 succeeded in 5ms:
[codex:516253] pragma solidity >= 0.5.0 < 0.6.0;
[codex:516253] 
[codex:516253] contract SavingAccountParameters {
[codex:516253]     string public ratesURL;
[codex:516253] 	string public tokenNames;
[codex:516253]     address[] public tokenAddresses;
[codex:516253] 
[codex:516253]     constructor() public payable{
[codex:516253]       tokenNames = "ETH,USDT,PROS";
[codex:516253] 	  tokenAddresses = new address[](3);
[codex:516253] 	  tokenAddresses[0] = 0x000000000000000000000000000000000000000E; 
[codex:516253]       tokenAddresses[1] = 0xdAC17F958D2ee523a2206206994597C13D831ec7; 
[codex:516253]       tokenAddresses[2] = 0x306Dd7CD66d964f598B4D2ec92b5a9B275D7fEb3;//usdt //change address for test
[codex:516253] 	}
[codex:516253] 
[codex:516253] 	function getTokenAddresses() public view returns(address[] memory){
[codex:516253]         return tokenAddresses;
[codex:516253]     }
[codex:516253] }
[codex:516253] 
[codex:516253] thinking
[codex:516253] **Analyzing token validation and pricing logic**
[codex:516253] exec
[codex:516253] /bin/bash -lc "sed -n '1,240p' contracts/contracts/SymbolsLib.sol" in /tmp/codex-multi-zes9ga22 succeeded in 5ms:
[codex:516253] pragma solidity >= 0.5.0 < 0.6.0;
[codex:516253] import "./SafeMath.sol";
[codex:516253] import "./strings.sol";
[codex:516253] library SymbolsLib {
[codex:516253]     using SafeMath for uint256;
[codex:516253] 
[codex:516253] 	struct Symbols {
[codex:516253] 		uint count;
[codex:516253] 		mapping(uint => string) indexToSymbol;
[codex:516253] 		mapping(string => uint256) symbolToPrices; 
[codex:516253] 		mapping(address => string) addressToSymbol; 
[codex:516253] 		mapping(string => address) symbolToAddress;
[codex:516253] 		string ratesURL;
[codex:516253] 	}
[codex:516253] 
[codex:516253] 	/** 
[codex:516253] 	 *  initializes the symbols structure
[codex:516253] 	 */
[codex:516253] 	function initialize(Symbols storage self, string memory ratesURL, string memory tokenNames, address[] memory tokenAddresses) public {
[codex:516253] 		strings.slice memory delim = strings.toSlice(",");
[codex:516253] 
[codex:516253] thinking
[codex:516253] **Analyzing price mapping and borrow functions**
[codex:516253] exec
[codex:516253] /bin/bash -lc "sed -n '1,240p' contracts/contracts/TokenInfoLib.sol" in /tmp/codex-multi-zes9ga22 succeeded in 6ms:
[codex:516253] pragma solidity >= 0.5.0 < 0.6.0;
[codex:516253] 
[codex:516253] 
[codex:516253] import "./SafeMath.sol";
[codex:516253] import "./SignedSafeMath.sol";
[codex:516253] library TokenInfoLib {
[codex:516253]     using SafeMath for uint256;
[codex:516253] 	using SignedSafeMath for int256;
[codex:516253]     struct TokenInfo {
[codex:516253] 		int256 balance;
[codex:516253] 		int256 interest;
[codex:516253] 		uint256 rate;
[codex:516253] 		uint256 lastModification;
[codex:516253] 	}
[codex:516253] 	uint256 constant BASE = 10**12; // TODO: 12 vs 18?
[codex:516253] 	int256 constant POSITIVE = 1;
[codex:516253] 	int256 constant NEGATIVE = -1;
[codex:516253] 
[codex:516253] 	// returns the sum of balance, interest posted to the account, and any additional intereset accrued up to the given timestamp
[codex:516253] 	function totalAmount(TokenInfo storage self, uint256 currentTimestamp) public view returns(int256) {
[codex:516253] 
[codex:516253] thinking
[codex:516253] **Investigating token contracts**
[codex:516253] exec
[codex:516253] /bin/bash -lc "sed -n '1,200p' contracts/contracts/tokenbasic.sol" in /tmp/codex-multi-zes9ga22 succeeded in 5ms:
[codex:516253] pragma solidity ^0.5.0;
[codex:516253] 
[codex:516253] interface basic{
[codex:516253]     function allowance(address owner, address spender) external view returns (uint);
[codex:516253]     function transferFrom(address from, address to, uint value) external;
[codex:516253]     function approve(address spender, uint value) external;
[codex:516253]     event Approval(address indexed owner, address indexed spender, uint value);
[codex:516253]     function totalSupply() external view returns (uint);
[codex:516253]     function balanceOf(address who) external view returns (uint);
[codex:516253]     function transfer(address to, uint value) external;
[codex:516253]     event Transfer(address indexed from, address indexed to, uint value);
[codex:516253] }
[codex:516253] 
[codex:516253] thinking
[codex:516253] **Checking for bkk.sol**
[codex:516253] exec
[codex:516253] /bin/bash -lc "sed -n '1,200p' contracts/contracts/bkk.sol" in /tmp/codex-multi-zes9ga22 succeeded in 5ms:
[codex:516253] pragma solidity ^0.5.0;
[codex:516253] 
[codex:516253] /**
[codex:516253]  * @dev Interface of the ERC20 standard as defined in the EIP. Does not include
[codex:516253]  * the optional functions; to access them see {ERC20Detailed}.
[codex:516253]  */
[codex:516253] interface bkk {
[codex:516253]     /**
[codex:516253]      * @dev Returns the amount of tokens in existence.
[codex:516253]      */
[codex:516253]     function totalSupply() external view returns (uint256);
[codex:516253] 
[codex:516253]     /**
[codex:516253]      * @dev Returns the amount of tokens owned by `account`.
[codex:516253]      */
[codex:516253]     function balanceOf(address account) external view returns (uint256);
[codex:516253] 
[codex:516253]     /**
[codex:516253]      * @dev Moves `amount` tokens from the caller's account to `recipient`.
[codex:516253]      *
[codex:516253] 
[codex:516253] thinking
[codex:516253] **Investigating token interface mismatch**
[codex:516253] exec
[codex:516253] /bin/bash -lc "sed -n '1,120p' contracts/contracts/IERC20.sol" in /tmp/codex-multi-zes9ga22 succeeded in 5ms:
[codex:516253] pragma solidity ^0.5.0;
[codex:516253] 
[codex:516253] /**
[codex:516253]  * @dev Interface of the ERC20 standard as defined in the EIP. Does not include
[codex:516253]  * the optional functions; to access them see {ERC20Detailed}.
[codex:516253]  */
[codex:516253] interface IERC20 {
[codex:516253]     /**
[codex:516253]      * @dev Returns the amount of tokens in existence.
[codex:516253]      */
[codex:516253]     function totalSupply() external view returns (uint256);
[codex:516253]     function mint(address account, uint amount) external;
[codex:516253]     /**
[codex:516253]      * @dev Returns the amount of tokens owned by `account`.
[codex:516253]      */
[codex:516253]     function balanceOf(address account) external view returns (uint256);
[codex:516253] 
[codex:516253]     /**
[codex:516253]      * @dev Moves `amount` tokens from the caller's account to `recipient`.
[codex:516253]      *
[codex:516253] 
[codex:516253] 
[codex:516253] 
[codex:516253] 
[codex:516253] 
[codex:516253] thinking
[codex:516253] **Analyzing token minting and deposit vulnerabilities**
[codex:516253] thinking
[codex:516253] **Evaluating token transfer behaviors and reward calculations**
[codex:516253] 
[codex:516253] I’m analyzing how USDT’s non-standard ERC20 functions affect deposits and withdrawals, confirming the contract’s use of a no-return interface to avoid reverts with USDT. I’m also checking if reward calculations could be manipulated through negative totals or timing glitches, while exploring potential reentrancy or state update ordering issues around minting and reward distribution. It seems the protections mostly hold under typical assumptions.
[codex:516253] thinking
[codex:516253] **Assessing reentrancy and token transfer edge cases**
[codex:516253] 
[codex:516253] I’m looking into whether unregistered users can call getReward, potential reentrancy vulnerabilities with ETH refunds, and if depositing tokens while sending ETH could lock ETH in the contract. I’m also analyzing how ignored return values for USDT’s transferFrom might allow attackers to fake deposits and withdraw tokens improperly, weighing this against USDT’s actual revert behavior. There’s a lot to consider about token quirks and modifier order affecting reward minting, but no clear exploit emerges beyond known tricky USDT handling nuances.
[codex:516253] thinking
[codex:516253] **Evaluating reward logic and token handling nuances**
[codex:516253] 
[codex:516253] There is a detailed check of reward timing, token deposit logic, and potential overflows in reward calculations. I’m weighing whether misuses of totalDeposits as int256 or unchecked USDT transfers could be exploited. Also considering if minting via checkHalve might overflow after many periods. The assessment finds no clear, direct exploit path but notices subtle risks tied to long-term operations and token behavior.
[codex:516253] thinking
[codex:516253] **Assessing array bounds and USDT transfer handling**
[codex:516253] 
[codex:516253] I’m examining a potential out-of-bounds array access in updateRewardAll but confirm token count prevents issues, so no findings there. Then I deep-dive into the USDT deposit logic—focusing on unchecked return values from USDT’s transferFrom calls that might allow deposit accounting to be credited without transferring tokens, enabling a drain exploit. Given USDT’s nonstandard behavior of returning false instead of reverting on failure, this looks like a concrete exploit vector worth reporting.
[codex:516253] exec
[codex:516253] /bin/bash -lc "nl -ba contracts/contracts/yam.sol | sed -n '510,585p'" in /tmp/codex-multi-zes9ga22 succeeded in 6ms:
[codex:516253]    510		 * Deposit the amount of tokenAddress to the saving pool. 
[codex:516253]    511		 */
[codex:516253]    512		
[codex:516253]    513		function depositToken(address tokenAddress, uint256 amount) updateReward(msg.sender,tokenAddress) checkHalve checkStart isRegister public payable {
[codex:516253]    514			TokenInfoLib.TokenInfo storage tokenInfo = accounts[msg.sender].tokenInfos[tokenAddress];
[codex:516253]    515			if (!accounts[msg.sender].active) {
[codex:516253]    516				accounts[msg.sender].active = true;
[codex:516253]    517				activeAccounts.push(msg.sender);
[codex:516253]    518			}
[codex:516253]    519	        
[codex:516253]    520			int256 currentBalance = tokenInfo.getCurrentTotalAmount();
[codex:516253]    521	
[codex:516253]    522			require(currentBalance >= 0,
[codex:516253]    523				"Balance of the token must be zero or positive. To pay negative balance, please use repay button.");
[codex:516253]    524	        uint256 LastRatio = 0;
[codex:516253]    525	        
[codex:516253]    526			// deposited amount is new balance after addAmount minus previous balance
[codex:516253]    527			int256 depositedAmount = tokenInfo.addAmount(amount, LastRatio, block.timestamp) - currentBalance;
[codex:516253]    528			totalDeposits[tokenAddress] = totalDeposits[tokenAddress].add(depositedAmount);
[codex:516253]    529	        emit depositTokened(msg.sender,amount,tokenAddress);
[codex:516253] 
[codex:516253] thinking
[codex:516253] **Analyzing USDT transfer return vulnerability**
[codex:516253] 
[codex:516253] I'm putting together a detailed exploit scenario showing how ignoring the USDT transferFrom return value lets an attacker fake deposits and drain pooled USDT from the contract, including line references and a step-by-step attack path with profit estimation. I'll make sure the output matches the required JSON schema exactly.
[codex:516253] codex
[codex:516253] {"no_findings":false,"summary":"Unchecked USDT transfers allow crediting deposits without a real transfer, enabling a drain of pooled USDT.","findings":[{"severity":"critical","category":"other","title":"USDT transferFrom/transfer return values ignored, enabling fake deposits and pooled USDT withdrawal","exploit_scenario":"1) Attacker registers in AllPool and waits until `_startTime`. 2) Call `depositToken(_USDT, X)` with no/insufficient USDT allowance or balance. The USDT branch calls `basic.transferFrom` without checking success, so if USDT returns `false` (no revert), the contract still credits the attacker’s balance and increases `totalDeposits`. 3) Call `withdrawToken(_USDT, Y)` in chunks up to the contract’s actual USDT balance; the contract transfers real USDT to the attacker. Profit potential: up to the entire USDT balance held by the contract (all depositor USDT).","recommendation":"Use SafeERC20 for USDT as well and require success on `transferFrom`/`transfer` (e.g., `callOptionalReturn`), or verify balance changes before/after the USDT transfer and revert if no tokens moved.","evidence":"Internal balances are updated before `receive`, and the USDT branches of `receive`/`send` ignore transfer success, so a failed USDT transfer can still credit/debit balances.","locations":["contracts/contracts/yam.sol:527","contracts/contracts/yam.sol:530","contracts/contracts/yam.sol:563","contracts/contracts/yam.sol:566","contracts/contracts/yam.sol:577","contracts/contracts/yam.sol:580"]}]}
[codex:516253] tokens used
[codex:516253] 70,989
[codex:516253] {"no_findings":false,"summary":"Unchecked USDT transfers allow crediting deposits without a real transfer, enabling a drain of pooled USDT.","findings":[{"severity":"critical","category":"other","title":"USDT transferFrom/transfer return values ignored, enabling fake deposits and pooled USDT withdrawal","exploit_scenario":"1) Attacker registers in AllPool and waits until `_startTime`. 2) Call `depositToken(_USDT, X)` with no/insufficient USDT allowance or balance. The USDT branch calls `basic.transferFrom` without checking success, so if USDT returns `false` (no revert), the contract still credits the attacker’s balance and increases `totalDeposits`. 3) Call `withdrawToken(_USDT, Y)` in chunks up to the contract’s actual USDT balance; the contract transfers real USDT to the attacker. Profit potential: up to the entire USDT balance held by the contract (all depositor USDT).","recommendation":"Use SafeERC20 for USDT as well and require success on `transferFrom`/`transfer` (e.g., `callOptionalReturn`), or verify balance changes before/after the USDT transfer and revert if no tokens moved.","evidence":"Internal balances are updated before `receive`, and the USDT branches of `receive`/`send` ignore transfer success, so a failed USDT transfer can still credit/debit balances.","locations":["contracts/contracts/yam.sol:527","contracts/contracts/yam.sol:530","contracts/contracts/yam.sol:563","contracts/contracts/yam.sol:566","contracts/contracts/yam.sol:577","contracts/contracts/yam.sol:580"]}]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-03T01:13:55.057249+00:00",
        "returncode": 0
    },
    "summary": "Unchecked USDT transfers allow crediting deposits without a real transfer, enabling a drain of pooled USDT.",
    "raw_final": {
        "summary": "Unchecked USDT transfers allow crediting deposits without a real transfer, enabling a drain of pooled USDT.",
        "findings": [
            {
                "title": "USDT transferFrom/transfer return values ignored, enabling fake deposits and pooled USDT withdrawal",
                "category": "other",
                "evidence": "Internal balances are updated before `receive`, and the USDT branches of `receive`/`send` ignore transfer success, so a failed USDT transfer can still credit/debit balances.",
                "severity": "critical",
                "locations": [
                    "contracts/contracts/yam.sol:527",
                    "contracts/contracts/yam.sol:530",
                    "contracts/contracts/yam.sol:563",
                    "contracts/contracts/yam.sol:566",
                    "contracts/contracts/yam.sol:577",
                    "contracts/contracts/yam.sol:580"
                ],
                "recommendation": "Use SafeERC20 for USDT as well and require success on `transferFrom`/`transfer` (e.g., `callOptionalReturn`), or verify balance changes before/after the USDT transfer and revert if no tokens moved.",
                "exploit_scenario": "1) Attacker registers in AllPool and waits until `_startTime`. 2) Call `depositToken(_USDT, X)` with no/insufficient USDT allowance or balance. The USDT branch calls `basic.transferFrom` without checking success, so if USDT returns `false` (no revert), the contract still credits the attacker\u2019s balance and increases `totalDeposits`. 3) Call `withdrawToken(_USDT, Y)` in chunks up to the contract\u2019s actual USDT balance; the contract transfers real USDT to the attacker. Profit potential: up to the entire USDT balance held by the contract (all depositor USDT)."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
23
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
15
EXT*/BALANCE
37
Total opcodes
11424
Flags
delegatecall_present heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x034e
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x80faa57d
00000019: GT
0000001a: PUSH2 0x01c6
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xd2e2a184
00000024: GT
00000025: PUSH2 0x00f7
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xed6525c4
0000002f: GT
00000030: PUSH2 0x0095
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xf2fde38b
0000003a: GT
0000003b: PUSH2 0x006f
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xf2fde38b
00000045: EQ
00000046: PUSH2 0x0b9d
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xf41231da
00000050: EQ
00000051: PUSH2 0x0bd0
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xfa1acb5c
0000005b: EQ
0000005c: PUSH2 0x0be5
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0xffd832c1
00000066: EQ
00000067: PUSH2 0x0bfa
0000006a: JUMPI
0000006b: PUSH2 0x034e
0000006e: JUMP
0000006f: JUMPDEST
00000070: DUP1
00000071: PUSH4 0xed6525c4
00000076: EQ
00000077: PUSH2 0x0b40
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xee5c06f5
00000081: EQ
00000082: PUSH2 0x0b55
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0xf1229777
0000008c: EQ
0000008d: PUSH2 0x0b6a
00000090: JUMPI
00000091: PUSH2 0x034e
00000094: JUMP
00000095: JUMPDEST
00000096: DUP1
00000097: PUSH4 0xdae48b7e
0000009c: GT
0000009d: PUSH2 0x00d1
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0xdae48b7e
000000a7: EQ
000000a8: PUSH2 0x0a58
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0xe42c08f2
000000b2: EQ
000000b3: PUSH2 0x0a93
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0xecd1d70e
000000bd: EQ
000000be: PUSH2 0x0ac6
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0xed5e75d9
000000c8: EQ
000000c9: PUSH2 0x0adb
000000cc: JUMPI
000000cd: PUSH2 0x034e
000000d0: JUMP
000000d1: JUMPDEST
000000d2: DUP1
000000d3: PUSH4 0xd2e2a184
000000d8: EQ
000000d9: PUSH2 0x09dd
000000dc: JUMPI
000000dd: DUP1
000000de: PUSH4 0xd72486ce
000000e3: EQ
000000e4: PUSH2 0x0a10
000000e7: JUMPI
000000e8: DUP1
000000e9: PUSH4 0xd8165743
000000ee: EQ
000000ef: PUSH2 0x0a43
000000f2: JUMPI
000000f3: PUSH2 0x034e
000000f6: JUMP
000000f7: JUMPDEST
000000f8: DUP1
000000f9: PUSH4 0x9f3fbd2b
000000fe: GT
000000ff: PUSH2 0x0164
00000102: JUMPI
00000103: DUP1
00000104: PUSH4 0xc1482ce8
00000109: GT
0000010a: PUSH2 0x013e
0000010d: JUMPI
0000010e: DUP1
0000010f: PUSH4 0xc1482ce8
00000114: EQ
00000115: PUSH2 0x094e
00000118: JUMPI
00000119: DUP1
0000011a: PUSH4 0xc3b2c504
0000011f: EQ
00000120: PUSH2 0x0963
00000123: JUMPI
00000124: DUP1
00000125: PUSH4 0xc909f152
0000012a: EQ
0000012b: PUSH2 0x0978
0000012e: JUMPI
0000012f: DUP1
00000130: PUSH4 0xd0514c87
00000135: EQ
00000136: PUSH2 0x09a2
00000139: JUMPI
0000013a: PUSH2 0x034e
0000013d: JUMP
0000013e: JUMPDEST
0000013f: DUP1
00000140: PUSH4 0x9f3fbd2b
00000145: EQ
00000146: PUSH2 0x08ca
00000149: JUMPI
0000014a: DUP1
0000014b: PUSH4 0xb7883afd
00000150: EQ
00000151: PUSH2 0x08df
00000154: JUMPI
00000155: DUP1
00000156: PUSH4 0xbcf033b8
0000015b: EQ
0000015c: PUSH2 0x0912
0000015f: JUMPI
00000160: PUSH2 0x034e
00000163: JUMP
00000164: JUMPDEST
00000165: DUP1
00000166: PUSH4 0x8da5cb5b
0000016b: GT
0000016c: PUSH2 0x01a0
0000016f: JUMPI
00000170: DUP1
00000171: PUSH4 0x8da5cb5b
00000176: EQ
00000177: PUSH2 0x084b
0000017a: JUMPI
0000017b: DUP1
0000017c: PUSH4 0x8f32d59b
00000181: EQ
00000182: PUSH2 0x0860
00000185: JUMPI
00000186: DUP1
00000187: PUSH4 0x927b26b9
0000018c: EQ
0000018d: PUSH2 0x0889
00000190: JUMPI
00000191: DUP1
00000192: PUSH4 0x9e281a98
00000197: EQ
00000198: PUSH2 0x089e
0000019b: JUMPI
0000019c: PUSH2 0x034e
0000019f: JUMP
000001a0: JUMPDEST
000001a1: DUP1
000001a2: PUSH4 0x80faa57d
000001a7: EQ
000001a8: PUSH2 0x07ee
000001ab: JUMPI
000001ac: DUP1
000001ad: PUSH4 0x856aa9c5
000001b2: EQ
000001b3: PUSH2 0x0803
000001b6: JUMPI
000001b7: DUP1
000001b8: PUSH4 0x8c6e92e0
000001bd: EQ
000001be: PUSH2 0x0836
000001c1: JUMPI
000001c2: PUSH2 0x034e
000001c5: JUMP
000001c6: JUMPDEST
000001c7: DUP1
000001c8: PUSH4 0x37e294d5
000001cd: GT
000001ce: PUSH2 0x02a0
000001d1: JUMPI
000001d2: DUP1
000001d3: PUSH4 0x5db99af2
000001d8: GT
000001d9: PUSH2 0x023e
000001dc: JUMPI
000001dd: DUP1
000001de: PUSH4 0x64d58e6f
000001e3: GT
000001e4: PUSH2 0x0218
000001e7: JUMPI
000001e8: DUP1
000001e9: PUSH4 0x64d58e6f
000001ee: EQ
000001ef: PUSH2 0x0785
000001f2: JUMPI
000001f3: DUP1
000001f4: PUSH4 0x68fd25cd
000001f9: EQ
000001fa: PUSH2 0x07af
000001fd: JUMPI
000001fe: DUP1
000001ff: PUSH4 0x715018a6
00000204: EQ
00000205: PUSH2 0x07c4
00000208: JUMPI
00000209: DUP1
0000020a: PUSH4 0x7b9232d2
0000020f: EQ
00000210: PUSH2 0x07d9
00000213: JUMPI
00000214: PUSH2 0x034e
00000217: JUMP
00000218: JUMPDEST
00000219: DUP1
0000021a: PUSH4 0x5db99af2
0000021f: EQ
00000220: PUSH2 0x070a
00000223: JUMPI
00000224: DUP1
00000225: PUSH4 0x60e0ce95
0000022a: EQ
0000022b: PUSH2 0x071f
0000022e: JUMPI
0000022f: DUP1
00000230: PUSH4 0x61aa7122
00000235: EQ
00000236: PUSH2 0x0752
00000239: JUMPI
0000023a: PUSH2 0x034e
0000023d: JUMP
0000023e: JUMPDEST
0000023f: DUP1
00000240: PUSH4 0x4384e5af
00000245: GT
00000246: PUSH2 0x027a
00000249: JUMPI
0000024a: DUP1
0000024b: PUSH4 0x4384e5af
00000250: EQ
00000251: PUSH2 0x0698
00000254: JUMPI
00000255: DUP1
00000256: PUSH4 0x53364da0
0000025b: EQ
0000025c: PUSH2 0x06ad
0000025f: JUMPI
00000260: DUP1
00000261: PUSH4 0x542b81c6
00000266: EQ
00000267: PUSH2 0x06c2
0000026a: JUMPI
0000026b: DUP1
0000026c: PUSH4 0x57c75e50
00000271: EQ
00000272: PUSH2 0x06f5
00000275: JUMPI
00000276: PUSH2 0x034e
00000279: JUMP
0000027a: JUMPDEST
0000027b: DUP1
0000027c: PUSH4 0x37e294d5
00000281: EQ
00000282: PUSH2 0x0659
00000285: JUMPI
00000286: DUP1
00000287: PUSH4 0x3d18b912
0000028c: EQ
0000028d: PUSH2 0x066e
00000290: JUMPI
00000291: DUP1
00000292: PUSH4 0x40f69193
00000297: EQ
00000298: PUSH2 0x0683
0000029b: JUMPI
0000029c: PUSH2 0x034e
0000029f: JUMP
000002a0: JUMPDEST
000002a1: DUP1
000002a2: PUSH4 0x16751943
000002a7: GT
000002a8: PUSH2 0x030d
000002ab: JUMPI
000002ac: DUP1
000002ad: PUSH4 0x1d547ea3
000002b2: GT
000002b3: PUSH2 0x02e7
000002b6: JUMPI
000002b7: DUP1
000002b8: PUSH4 0x1d547ea3
000002bd: EQ
000002be: PUSH2 0x0572
000002c1: JUMPI
000002c2: DUP1
000002c3: PUSH4 0x211dc32d
000002c8: EQ
000002c9: PUSH2 0x05ad
000002cc: JUMPI
000002cd: DUP1
000002ce: PUSH4 0x2abe4097
000002d3: EQ
000002d4: PUSH2 0x05e8
000002d7: JUMPI
000002d8: DUP1
000002d9: PUSH4 0x338b5dea
000002de: EQ
000002df: PUSH2 0x062d
000002e2: JUMPI
000002e3: PUSH2 0x034e
000002e6: JUMP
000002e7: JUMPDEST
000002e8: DUP1
000002e9: PUSH4 0x16751943
000002ee: EQ
000002ef: PUSH2 0x04d3
000002f2: JUMPI
000002f3: DUP1
000002f4: PUSH4 0x196e208c
000002f9: EQ
000002fa: PUSH2 0x0504
000002fd: JUMPI
000002fe: DUP1
000002ff: PUSH4 0x1bea8006
00000304: EQ
00000305: PUSH2 0x0537
00000308: JUMPI
00000309: PUSH2 0x034e
0000030c: JUMP
0000030d: JUMPDEST
0000030e: DUP1
0000030f: PUSH3 0x113e08
00000313: EQ
00000314: PUSH2 0x0350
00000317: JUMPI
00000318: DUP1
00000319: PUSH3 0x8cc262
0000031d: EQ
0000031e: PUSH2 0x03fe
00000321: JUMPI
00000322: DUP1
00000323: PUSH4 0x07604b6c
00000328: EQ
00000329: PUSH2 0x0443
0000032c: JUMPI
0000032d: DUP1
0000032e: PUSH4 0x097a23b8
00000333: EQ
00000334: PUSH2 0x0458
00000337: JUMPI
00000338: DUP1
00000339: PUSH4 0x0b3eb970
0000033e: EQ
0000033f: PUSH2 0x046d
00000342: JUMPI
00000343: DUP1
00000344: PUSH4 0x1407c664
00000349: EQ
0000034a: PUSH2 0x04be
0000034d: JUMPI
0000034e: JUMPDEST
0000034f: STOP
00000350: JUMPDEST
00000351: CALLVALUE
00000352: DUP1
00000353: ISZERO
00000354: PUSH2 0x035c
00000357: JUMPI
00000358: PUSH1 0x00
0000035a: DUP1
0000035b: REVERT
0000035c: JUMPDEST
0000035d: POP
0000035e: PUSH2 0x0365
00000361: PUSH2 0x0c0f
00000364: JUMP
00000365: JUMPDEST
00000366: PUSH1 0x40
00000368: MLOAD
00000369: DUP1
0000036a: DUP1
0000036b: PUSH1 0x20
0000036d: ADD
0000036e: DUP1
0000036f: PUSH1 0x20
00000371: ADD
00000372: DUP4
00000373: DUP2
00000374: SUB
00000375: DUP4
00000376: MSTORE
00000377: DUP6
00000378: DUP2
00000379: DUP2
0000037a: MLOAD
0000037b: DUP2
0000037c: MSTORE
0000037d: PUSH1 0x20
0000037f: ADD
00000380: SWAP2
00000381: POP
00000382: DUP1
00000383: MLOAD
00000384: SWAP1
00000385: PUSH1 0x20
00000387: ADD
00000388: SWAP1
00000389: PUSH1 0x20
0000038b: MUL
0000038c: DUP1
0000038d: DUP4
0000038e: DUP4
0000038f: PUSH1 0x00
00000391: JUMPDEST
00000392: DUP4
00000393: DUP2
00000394: LT
00000395: ISZERO
00000396: PUSH2 0x03a9
00000399: JUMPI
0000039a: DUP2
0000039b: DUP2
0000039c: ADD
0000039d: MLOAD
0000039e: DUP4
0000039f: DUP3
000003a0: ADD
000003a1: MSTORE
000003a2: PUSH1 0x20
000003a4: ADD
000003a5: PUSH2 0x0391
000003a8: JUMP
000003a9: JUMPDEST
000003aa: POP
000003ab: POP
000003ac: POP
000003ad: POP
000003ae: SWAP1
000003af: POP
000003b0: ADD
000003b1: DUP4
000003b2: DUP2
000003b3: SUB
000003b4: DUP3
000003b5: MSTORE
000003b6: DUP5
000003b7: DUP2
000003b8: DUP2
000003b9: MLOAD
000003ba: DUP2
000003bb: MSTORE
000003bc: PUSH1 0x20
000003be: ADD
000003bf: SWAP2
000003c0: POP
000003c1: DUP1
000003c2: MLOAD
000003c3: SWAP1
000003c4: PUSH1 0x20
000003c6: ADD
000003c7: SWAP1
000003c8: PUSH1 0x20
000003ca: MUL
000003cb: DUP1
000003cc: DUP4
000003cd: DUP4
000003ce: PUSH1 0x00
000003d0: JUMPDEST
000003d1: DUP4
000003d2: DUP2
000003d3: LT
000003d4: ISZERO
000003d5: PUSH2 0x03e8
000003d8: JUMPI
000003d9: DUP2
000003da: DUP2
000003db: ADD
000003dc: MLOAD
000003dd: DUP4
000003de: DUP3
000003df: ADD
000003e0: MSTORE
000003e1: PUSH1 0x20
000003e3: ADD
000003e4: PUSH2 0x03d0
000003e7: JUMP
000003e8: JUMPDEST
000003e9: POP
000003ea: POP
000003eb: POP
000003ec: POP
000003ed: SWAP1
000003ee: POP
000003ef: ADD
000003f0: SWAP5
000003f1: POP
000003f2: POP
000003f3: POP
000003f4: POP
000003f5: POP
000003f6: PUSH1 0x40
000003f8: MLOAD
000003f9: DUP1
000003fa: SWAP2
000003fb: SUB
000003fc: SWAP1
000003fd: RETURN
000003fe: JUMPDEST
000003ff: CALLVALUE
00000400: DUP1
00000401: ISZERO
00000402: PUSH2 0x040a
00000405: JUMPI
00000406: PUSH1 0x00
00000408: DUP1
00000409: REVERT
0000040a: JUMPDEST
0000040b: POP
0000040c: PUSH2 0x0431
0000040f: PUSH1 0x04
00000411: DUP1
00000412: CALLDATASIZE
00000413: SUB
00000414: PUSH1 0x20
00000416: DUP2
00000417: LT
00000418: ISZERO
00000419: PUSH2 0x0421
0000041c: JUMPI
0000041d: PUSH1 0x00
0000041f: DUP1
00000420: REVERT
00000421: JUMPDEST
00000422: POP
00000423: CALLDATALOAD
00000424: PUSH1 0x01
00000426: PUSH1 0x01
00000428: PUSH1 0xa0
0000042a: SHL
0000042b: SUB
0000042c: AND
0000042d: PUSH2 0x0d6d
00000430: JUMP
00000431: JUMPDEST
00000432: PUSH1 0x40
00000434: DUP1
00000435: MLOAD
00000436: SWAP2
00000437: DUP3
00000438: MSTORE
00000439: MLOAD
0000043a: SWAP1
0000043b: DUP2
0000043c: SWAP1
0000043d: SUB
0000043e: PUSH1 0x20
00000440: ADD
00000441: SWAP1
00000442: RETURN
00000443: JUMPDEST
00000444: CALLVALUE
00000445: DUP1
00000446: ISZERO
00000447: PUSH2 0x044f
0000044a: JUMPI
0000044b: PUSH1 0x00
0000044d: DUP1
0000044e: REVERT
0000044f: JUMPDEST
00000450: POP
00000451: PUSH2 0x0431
00000454: PUSH2 0x0e3f
00000457: JUMP
00000458: JUMPDEST
00000459: CALLVALUE
0000045a: DUP1
0000045b: ISZERO
0000045c: PUSH2 0x0464
0000045f: JUMPI
00000460: PUSH1 0x00
00000462: DUP1
00000463: REVERT
00000464: JUMPDEST
00000465: POP
00000466: PUSH2 0x0431
00000469: PUSH2 0x0e45
0000046c: JUMP
0000046d: JUMPDEST
0000046e: CALLVALUE
0000046f: DUP1
00000470: ISZERO
00000471: PUSH2 0x0479
00000474: JUMPI
00000475: PUSH1 0x00
00000477: DUP1
00000478: REVERT
00000479: JUMPDEST
0000047a: POP
0000047b: PUSH2 0x04a0
0000047e: PUSH1 0x04
00000480: DUP1
00000481: CALLDATASIZE
00000482: SUB
00000483: PUSH1 0x20
00000485: DUP2
00000486: LT
00000487: ISZERO
00000488: PUSH2 0x0490
0000048b: JUMPI
0000048c: PUSH1 0x00
0000048e: DUP1
0000048f: REVERT
00000490: JUMPDEST
00000491: POP
00000492: CALLDATALOAD
00000493: PUSH1 0x01
00000495: PUSH1 0x01
00000497: PUSH1 0xa0
00000499: SHL
0000049a: SUB
0000049b: AND
0000049c: PUSH2 0x0e4b
0000049f: JUMP
000004a0: JUMPDEST
000004a1: PUSH1 0x40
000004a3: DUP1
000004a4: MLOAD
000004a5: SWAP4
000004a6: DUP5
000004a7: MSTORE
000004a8: PUSH1 0x20
000004aa: DUP5
000004ab: ADD
000004ac: SWAP3
000004ad: SWAP1
000004ae: SWAP3
000004af: MSTORE
000004b0: DUP3
000004b1: DUP3
000004b2: ADD
000004b3: MSTORE
000004b4: MLOAD
000004b5: SWAP1
000004b6: DUP2
000004b7: SWAP1
000004b8: SUB
000004b9: PUSH1 0x60
000004bb: ADD
000004bc: SWAP1
000004bd: RETURN
000004be: JUMPDEST
000004bf: CALLVALUE
000004c0: DUP1
000004c1: ISZERO
000004c2: PUSH2 0x04ca
000004c5: JUMPI
000004c6: PUSH1 0x00
000004c8: DUP1
000004c9: REVERT
000004ca: JUMPDEST
000004cb: POP
000004cc: PUSH2 0x0431
000004cf: PUSH2 0x0e7d
000004d2: JUMP
000004d3: JUMPDEST
000004d4: CALLVALUE
000004d5: DUP1
000004d6: ISZERO
000004d7: PUSH2 0x04df
000004da: JUMPI
000004db: PUSH1 0x00
000004dd: DUP1
000004de: REVERT
000004df: JUMPDEST
000004e0: POP
000004e1: PUSH2 0x04e8
000004e4: PUSH2 0x0e83
000004e7: JUMP
000004e8: JUMPDEST
000004e9: PUSH1 0x40
000004eb: DUP1
000004ec: MLOAD
000004ed: PUSH1 0x01
000004ef: PUSH1 0x01
000004f1: PUSH1 0xa0
000004f3: SHL
000004f4: SUB
000004f5: SWAP1
000004f6: SWAP3
000004f7: AND
000004f8: DUP3
000004f9: MSTORE
000004fa: MLOAD
000004fb: SWAP1
000004fc: DUP2
000004fd: SWAP1
000004fe: SUB
000004ff: PUSH1 0x20
00000501: ADD
00000502: SWAP1
00000503: RETURN
00000504: JUMPDEST
00000505: CALLVALUE
00000506: DUP1
00000507: ISZERO
00000508: PUSH2 0x0510
0000050b: JUMPI
0000050c: PUSH1 0x00
0000050e: DUP1
0000050f: REVERT
00000510: JUMPDEST
00000511: POP
00000512: PUSH2 0x034e
00000515: PUSH1 0x04
00000517: DUP1
00000518: CALLDATASIZE
00000519: SUB
0000051a: PUSH1 0x20
0000051c: DUP2
0000051d: LT
0000051e: ISZERO
0000051f: PUSH2 0x0527
00000522: JUMPI
00000523: PUSH1 0x00
00000525: DUP1
00000526: REVERT
00000527: JUMPDEST
00000528: POP
00000529: CALLDATALOAD
0000052a: PUSH1 0x01
0000052c: PUSH1 0x01
0000052e: PUSH1 0xa0
00000530: SHL
00000531: SUB
00000532: AND
00000533: PUSH2 0x0e92
00000536: JUMP
00000537: JUMPDEST
00000538: CALLVALUE
00000539: DUP1
0000053a: ISZERO
0000053b: PUSH2 0x0543
0000053e: JUMPI
0000053f: PUSH1 0x00
00000541: DUP1
00000542: REVERT
00000543: JUMPDEST
00000544: POP
00000545: PUSH2 0x0431
00000548: PUSH1 0x04
0000054a: DUP1
0000054b: CALLDATASIZE
0000054c: SUB
0000054d: PUSH1 0x40
0000054f: DUP2
00000550: LT
00000551: ISZERO
00000552: PUSH2 0x055a
00000555: JUMPI
00000556: PUSH1 0x00
00000558: DUP1
00000559: REVERT
0000055a: JUMPDEST
0000055b: POP
0000055c: PUSH1 0x01
0000055e: PUSH1 0x01
00000560: PUSH1 0xa0
00000562: SHL
00000563: SUB
00000564: DUP2
00000565: CALLDATALOAD
00000566: DUP2
00000567: AND
00000568: SWAP2
00000569: PUSH1 0x20
0000056b: ADD
0000056c: CALLDATALOAD
0000056d: AND
0000056e: PUSH2 0x0efb
00000571: JUMP
00000572: JUMPDEST
00000573: CALLVALUE
00000574: DUP1
00000575: ISZERO
00000576: PUSH2 0x057e
00000579: JUMPI
0000057a: PUSH1 0x00
0000057c: DUP1
0000057d: REVERT
0000057e: JUMPDEST
0000057f: POP
00000580: PUSH2 0x0431
00000583: PUSH1 0x04
00000585: DUP1
00000586: CALLDATASIZE
00000587: SUB
00000588: PUSH1 0x40
0000058a: DUP2
0000058b: LT
0000058c: ISZERO
0000058d: PUSH2 0x0595
00000590: JUMPI
00000591: PUSH1 0x00
00000593: DUP1
00000594: REVERT
00000595: JUMPDEST
00000596: POP
00000597: PUSH1 0x01
00000599: PUSH1 0x01
0000059b: PUSH1 0xa0
0000059d: SHL
0000059e: SUB
0000059f: DUP2
000005a0: CALLDATALOAD
000005a1: DUP2
000005a2: AND
000005a3: SWAP2
000005a4: PUSH1 0x20
000005a6: ADD
000005a7: CALLDATALOAD
000005a8: AND
000005a9: PUSH2 0x0fae
000005ac: JUMP
000005ad: JUMPDEST
000005ae: CALLVALUE
000005af: DUP1
000005b0: ISZERO
000005b1: PUSH2 0x05b9
000005b4: JUMPI
000005b5: PUSH1 0x00
000005b7: DUP1
000005b8: REVERT
000005b9: JUMPDEST
000005ba: POP
000005bb: PUSH2 0x0431
000005be: PUSH1 0x04
000005c0: DUP1
000005c1: CALLDATASIZE
000005c2: SUB
000005c3: PUSH1 0x40
000005c5: DUP2
000005c6: LT
000005c7: ISZERO
000005c8: PUSH2 0x05d0
000005cb: JUMPI
000005cc: PUSH1 0x00
000005ce: DUP1
000005cf: REVERT
000005d0: JUMPDEST
000005d1: POP
000005d2: PUSH1 0x01
000005d4: PUSH1 0x01
000005d6: PUSH1 0xa0
000005d8: SHL
000005d9: SUB
000005da: DUP2
000005db: CALLDATALOAD
000005dc: DUP2
000005dd: AND
000005de: SWAP2
000005df: PUSH1 0x20
000005e1: ADD
000005e2: CALLDATALOAD
000005e3: AND
000005e4: PUSH2 0x0fcb
000005e7: JUMP
000005e8: JUMPDEST
000005e9: CALLVALUE
000005ea: DUP1
000005eb: ISZERO
000005ec: PUSH2 0x05f4
000005ef: JUMPI
000005f0: PUSH1 0x00
000005f2: DUP1
000005f3: REVERT
000005f4: JUMPDEST
000005f5: POP
000005f6: PUSH2 0x034e
000005f9: PUSH1 0x04
000005fb: DUP1
000005fc: CALLDATASIZE
000005fd: SUB
000005fe: PUSH1 0x60
00000600: DUP2
00000601: LT
00000602: ISZERO
00000603: PUSH2 0x060b
00000606: JUMPI
00000607: PUSH1 0x00
00000609: DUP1
0000060a: REVERT
0000060b: JUMPDEST
0000060c: POP
0000060d: PUSH1 0x01
0000060f: PUSH1 0x01
00000611: PUSH1 0xa0
00000613: SHL
00000614: SUB
00000615: DUP2
00000616: CALLDATALOAD
00000617: DUP2
00000618: AND
00000619: SWAP2
0000061a: PUSH1 0x20
0000061c: DUP2
0000061d: ADD
0000061e: CALLDATALOAD
0000061f: DUP3
00000620: AND
00000621: SWAP2
00000622: PUSH1 0x40
00000624: SWAP1
00000625: SWAP2
00000626: ADD
00000627: CALLDATALOAD
00000628: AND
00000629: PUSH2 0x106d
0000062c: JUMP
0000062d: JUMPDEST
0000062e: PUSH2 0x034e
00000631: PUSH1 0x04
00000633: DUP1
00000634: CALLDATASIZE
00000635: SUB
00000636: PUSH1 0x40
00000638: DUP2
00000639: LT
0000063a: ISZERO
0000063b: PUSH2 0x0643
0000063e: JUMPI
0000063f: PUSH1 0x00
00000641: DUP1
00000642: REVERT
00000643: JUMPDEST
00000644: POP
00000645: PUSH1 0x01
00000647: PUSH1 0x01
00000649: PUSH1 0xa0
0000064b: SHL
0000064c: SUB
0000064d: DUP2
0000064e: CALLDATALOAD
0000064f: AND
00000650: SWAP1
00000651: PUSH1 0x20
00000653: ADD
00000654: CALLDATALOAD
00000655: PUSH2 0x10f3
00000658: JUMP
00000659: JUMPDEST
0000065a: CALLVALUE
0000065b: DUP1
0000065c: ISZERO
0000065d: PUSH2 0x0665
00000660: JUMPI
00000661: PUSH1 0x00
00000663: DUP1
00000664: REVERT
00000665: JUMPDEST
00000666: POP
00000667: PUSH2 0x04e8
0000066a: PUSH2 0x168d
0000066d: JUMP
0000066e: JUMPDEST
0000066f: CALLVALUE
00000670: DUP1
00000671: ISZERO
00000672: PUSH2 0x067a
00000675: JUMPI
00000676: PUSH1 0x00
00000678: DUP1
00000679: REVERT
0000067a: JUMPDEST
0000067b: POP
0000067c: PUSH2 0x034e
0000067f: PUSH2 0x169c
00000682: JUMP
00000683: JUMPDEST
00000684: CALLVALUE
00000685: DUP1
00000686: ISZERO
00000687: PUSH2 0x068f
0000068a: JUMPI
0000068b: PUSH1 0x00
0000068d: DUP1
0000068e: REVERT
0000068f: JUMPDEST
00000690: POP
00000691: PUSH2 0x0431
00000694: PUSH2 0x1ee6
00000697: JUMP
00000698: JUMPDEST
00000699: CALLVALUE
0000069a: DUP1
0000069b: ISZERO
0000069c: PUSH2 0x06a4
0000069f: JUMPI
000006a0: PUSH1 0x00
000006a2: DUP1
000006a3: REVERT
000006a4: JUMPDEST
000006a5: POP
000006a6: PUSH2 0x04e8
000006a9: PUSH2 0x1eec
000006ac: JUMP
000006ad: JUMPDEST
000006ae: CALLVALUE
000006af: DUP1
000006b0: ISZERO
000006b1: PUSH2 0x06b9
000006b4: JUMPI
000006b5: PUSH1 0x00
000006b7: DUP1
000006b8: REVERT
000006b9: JUMPDEST
000006ba: POP
000006bb: PUSH2 0x0431
000006be: PUSH2 0x1efb
000006c1: JUMP
000006c2: JUMPDEST
000006c3: CALLVALUE
000006c4: DUP1
000006c5: ISZERO
000006c6: PUSH2 0x06ce
000006c9: JUMPI
000006ca: PUSH1 0x00
000006cc: DUP1
000006cd: REVERT
000006ce: JUMPDEST
000006cf: POP
000006d0: PUSH2 0x0431
000006d3: PUSH1 0x04
000006d5: DUP1
000006d6: CALLDATASIZE
000006d7: SUB
000006d8: PUSH1 0x20
000006da: DUP2
000006db: LT
000006dc: ISZERO
000006dd: PUSH2 0x06e5
000006e0: JUMPI
000006e1: PUSH1 0x00
000006e3: DUP1
000006e4: REVERT
000006e5: JUMPDEST
000006e6: POP
000006e7: CALLDATALOAD
000006e8: PUSH1 0x01
000006ea: PUSH1 0x01
000006ec: PUSH1 0xa0
000006ee: SHL
000006ef: SUB
000006f0: AND
000006f1: PUSH2 0x1f01
000006f4: JUMP
000006f5: JUMPDEST
000006f6: CALLVALUE
000006f7: DUP1
000006f8: ISZERO
000006f9: PUSH2 0x0701
000006fc: JUMPI
000006fd: PUSH1 0x00
000006ff: DUP1
00000700: REVERT
00000701: JUMPDEST
00000702: POP
00000703: PUSH2 0x0431
00000706: PUSH2 0x1f28
00000709: JUMP
0000070a: JUMPDEST
0000070b: CALLVALUE
0000070c: DUP1
0000070d: ISZERO
0000070e: PUSH2 0x0716
00000711: JUMPI
00000712: PUSH1 0x00
00000714: DUP1
00000715: REVERT
00000716: JUMPDEST
00000717: POP
00000718: PUSH2 0x04e8
0000071b: PUSH2 0x1f2e
0000071e: JUMP
0000071f: JUMPDEST
00000720: CALLVALUE
00000721: DUP1
00000722: ISZERO
00000723: PUSH2 0x072b
00000726: JUMPI
00000727: PUSH1 0x00
00000729: DUP1
0000072a: REVERT
0000072b: JUMPDEST
0000072c: POP
0000072d: PUSH2 0x0431
00000730: PUSH1 0x04
00000732: DUP1
00000733: CALLDATASIZE
00000734: SUB
00000735: PUSH1 0x20
00000737: DUP2
00000738: LT
00000739: ISZERO
0000073a: PUSH2 0x0742
0000073d: JUMPI
0000073e: PUSH1 0x00
00000740: DUP1
00000741: REVERT
00000742: JUMPDEST
00000743: POP
00000744: CALLDATALOAD
00000745: PUSH1 0x01
00000747: PUSH1 0x01
00000749: PUSH1 0xa0
0000074b: SHL
0000074c: SUB
0000074d: AND
0000074e: PUSH2 0x1f3d
00000751: JUMP
00000752: JUMPDEST
00000753: CALLVALUE
00000754: DUP1
00000755: ISZERO
00000756: PUSH2 0x075e
00000759: JUMPI
0000075a: PUSH1 0x00
0000075c: DUP1
0000075d: REVERT
0000075e: JUMPDEST
0000075f: POP
00000760: PUSH2 0x034e
00000763: PUSH1 0x04
00000765: DUP1
00000766: CALLDATASIZE
00000767: SUB
00000768: PUSH1 0x20
0000076a: DUP2
0000076b: LT
0000076c: ISZERO
0000076d: PUSH2 0x0775
00000770: JUMPI
00000771: PUSH1 0x00
00000773: DUP1
00000774: REVERT
00000775: JUMPDEST
00000776: POP
00000777: CALLDATALOAD
00000778: PUSH1 0x01
0000077a: PUSH1 0x01
0000077c: PUSH1 0xa0
0000077e: SHL
0000077f: SUB
00000780: AND
00000781: PUSH2 0x1f4f
00000784: JUMP
00000785: JUMPDEST
00000786: CALLVALUE
00000787: DUP1
00000788: ISZERO
00000789: PUSH2 0x0791
0000078c: JUMPI
0000078d: PUSH1 0x00
0000078f: DUP1
00000790: REVERT
00000791: JUMPDEST
00000792: POP
00000793: PUSH2 0x04e8
00000796: PUSH1 0x04
00000798: DUP1
00000799: CALLDATASIZE
0000079a: SUB
0000079b: PUSH1 0x20
0000079d: DUP2
0000079e: LT
0000079f: ISZERO
000007a0: PUSH2 0x07a8
000007a3: JUMPI
000007a4: PUSH1 0x00
000007a6: DUP1
000007a7: REVERT
000007a8: JUMPDEST
000007a9: POP
000007aa: CALLDATALOAD
000007ab: PUSH2 0x1fb8
000007ae: JUMP
000007af: JUMPDEST
000007b0: CALLVALUE
000007b1: DUP1
000007b2: ISZERO
000007b3: PUSH2 0x07bb
000007b6: JUMPI
000007b7: PUSH1 0x00
000007b9: DUP1
000007ba: REVERT
000007bb: JUMPDEST
000007bc: POP
000007bd: PUSH2 0x0431
000007c0: PUSH2 0x2046
000007c3: JUMP
000007c4: JUMPDEST
000007c5: CALLVALUE
000007c6: DUP1
000007c7: ISZERO
000007c8: PUSH2 0x07d0
000007cb: JUMPI
000007cc: PUSH1 0x00
000007ce: DUP1
000007cf: REVERT
000007d0: JUMPDEST
000007d1: POP
000007d2: PUSH2 0x034e
000007d5: PUSH2 0x204c
000007d8: JUMP
000007d9: JUMPDEST
000007da: CALLVALUE
000007db: DUP1
000007dc: ISZERO
000007dd: PUSH2 0x07e5
000007e0: JUMPI
000007e1: PUSH1 0x00
000007e3: DUP1
000007e4: REVERT
000007e5: JUMPDEST
000007e6: POP
000007e7: PUSH2 0x04e8
000007ea: PUSH2 0x20dd
000007ed: JUMP
000007ee: JUMPDEST
000007ef: CALLVALUE
000007f0: DUP1
000007f1: ISZERO
000007f2: PUSH2 0x07fa
000007f5: JUMPI
000007f6: PUSH1 0x00
000007f8: DUP1
000007f9: REVERT
000007fa: JUMPDEST
000007fb: POP
000007fc: PUSH2 0x0431
000007ff: PUSH2 0x20ec
00000802: JUMP
00000803: JUMPDEST
00000804: CALLVALUE
00000805: DUP1
00000806: ISZERO
00000807: PUSH2 0x080f
0000080a: JUMPI
0000080b: PUSH1 0x00
0000080d: DUP1
0000080e: REVERT
0000080f: JUMPDEST
00000810: POP
00000811: PUSH2 0x0431
00000814: PUSH1 0x04
00000816: DUP1
00000817: CALLDATASIZE
00000818: SUB
00000819: PUSH1 0x20
0000081b: DUP2
0000081c: LT
0000081d: ISZERO
0000081e: PUSH2 0x0826
00000821: JUMPI
00000822: PUSH1 0x00
00000824: DUP1
00000825: REVERT
00000826: JUMPDEST
00000827: POP
00000828: CALLDATALOAD
00000829: PUSH1 0x01
0000082b: PUSH1 0x01
0000082d: PUSH1 0xa0
0000082f: SHL
00000830: SUB
00000831: AND
00000832: PUSH2 0x20ff
00000835: JUMP
00000836: JUMPDEST
00000837: CALLVALUE
00000838: DUP1
00000839: ISZERO
0000083a: PUSH2 0x0842
0000083d: JUMPI
0000083e: PUSH1 0x00
00000840: DUP1
00000841: REVERT
00000842: JUMPDEST
00000843: POP
00000844: PUSH2 0x0431
00000847: PUSH2 0x2111
0000084a: JUMP
0000084b: JUMPDEST
0000084c: CALLVALUE
0000084d: DUP1
0000084e: ISZERO
0000084f: PUSH2 0x0857
00000852: JUMPI
00000853: PUSH1 0x00
00000855: DUP1
00000856: REVERT
00000857: JUMPDEST
00000858: POP
00000859: PUSH2 0x04e8
0000085c: PUSH2 0x2196
0000085f: JUMP
00000860: JUMPDEST
00000861: CALLVALUE
00000862: DUP1
00000863: ISZERO
00000864: PUSH2 0x086c
00000867: JUMPI
00000868: PUSH1 0x00
0000086a: DUP1
0000086b: REVERT
0000086c: JUMPDEST
0000086d: POP
0000086e: PUSH2 0x0875
00000871: PUSH2 0x21a5
00000874: JUMP
00000875: JUMPDEST
00000876: PUSH1 0x40
00000878: DUP1
00000879: MLOAD
0000087a: SWAP2
0000087b: ISZERO
0000087c: ISZERO
0000087d: DUP3
0000087e: MSTORE
0000087f: MLOAD
00000880: SWAP1
00000881: DUP2
00000882: SWAP1
00000883: SUB
00000884: PUSH1 0x20
00000886: ADD
00000887: SWAP1
00000888: RETURN
00000889: JUMPDEST
0000088a: CALLVALUE
0000088b: DUP1
0000088c: ISZERO
0000088d: PUSH2 0x0895
00000890: JUMPI
00000891: PUSH1 0x00
00000893: DUP1
00000894: REVERT
00000895: JUMPDEST
00000896: POP
00000897: PUSH2 0x0431
0000089a: PUSH2 0x21c9
0000089d: JUMP
0000089e: JUMPDEST
0000089f: PUSH2 0x034e
000008a2: PUSH1 0x04
000008a4: DUP1
000008a5: CALLDATASIZE
000008a6: SUB
000008a7: PUSH1 0x40
000008a9: DUP2
000008aa: LT
000008ab: ISZERO
000008ac: PUSH2 0x08b4
000008af: JUMPI
000008b0: PUSH1 0x00
000008b2: DUP1
000008b3: REVERT
000008b4: JUMPDEST
000008b5: POP
000008b6: PUSH1 0x01
000008b8: PUSH1 0x01
000008ba: PUSH1 0xa0
000008bc: SHL
000008bd: SUB
000008be: DUP2
000008bf: CALLDATALOAD
000008c0: AND
000008c1: SWAP1
000008c2: PUSH1 0x20
000008c4: ADD
000008c5: CALLDATALOAD
000008c6: PUSH2 0x21cf
000008c9: JUMP
000008ca: JUMPDEST
000008cb: CALLVALUE
000008cc: DUP1
000008cd: ISZERO
000008ce: PUSH2 0x08d6
000008d1: JUMPI
000008d2: PUSH1 0x00
000008d4: DUP1
000008d5: REVERT
000008d6: JUMPDEST
000008d7: POP
000008d8: PUSH2 0x0431
000008db: PUSH2 0x27b0
000008de: JUMP
000008df: JUMPDEST
000008e0: CALLVALUE
000008e1: DUP1
000008e2: ISZERO
000008e3: PUSH2 0x08eb
000008e6: JUMPI
000008e7: PUSH1 0x00
000008e9: DUP1
000008ea: REVERT
000008eb: JUMPDEST
000008ec: POP
000008ed: PUSH2 0x0431
000008f0: PUSH1 0x04
000008f2: DUP1
000008f3: CALLDATASIZE
000008f4: SUB
000008f5: PUSH1 0x20
000008f7: DUP2
000008f8: LT
000008f9: ISZERO
000008fa: PUSH2 0x0902
000008fd: JUMPI
000008fe: PUSH1 0x00
00000900: DUP1
00000901: REVERT
00000902: JUMPDEST
00000903: POP
00000904: CALLDATALOAD
00000905: PUSH1 0x01
00000907: PUSH1 0x01
00000909: PUSH1 0xa0
0000090b: SHL
0000090c: SUB
0000090d: AND
0000090e: PUSH2 0x27b6
00000911: JUMP
00000912: JUMPDEST
00000913: CALLVALUE
00000914: DUP1
00000915: ISZERO
00000916: PUSH2 0x091e
00000919: JUMPI
0000091a: PUSH1 0x00
0000091c: DUP1
0000091d: REVERT
0000091e: JUMPDEST
0000091f: POP
00000920: PUSH2 0x034e
00000923: PUSH1 0x04
00000925: DUP1
00000926: CALLDATASIZE
00000927: SUB
00000928: PUSH1 0x80
0000092a: DUP2
0000092b: LT
0000092c: ISZERO
0000092d: PUSH2 0x0935
00000930: JUMPI
00000931: PUSH1 0x00
00000933: DUP1
00000934: REVERT
00000935: JUMPDEST
00000936: POP
00000937: DUP1
00000938: CALLDATALOAD
00000939: SWAP1
0000093a: PUSH1 0x20
0000093c: DUP2
0000093d: ADD
0000093e: CALLDATALOAD
0000093f: SWAP1
00000940: PUSH1 0x40
00000942: DUP2
00000943: ADD
00000944: CALLDATALOAD
00000945: SWAP1
00000946: PUSH1 0x60
00000948: ADD
00000949: CALLDATALOAD
0000094a: PUSH2 0x27c8
0000094d: JUMP
0000094e: JUMPDEST
0000094f: CALLVALUE
00000950: DUP1
00000951: ISZERO
00000952: PUSH2 0x095a
00000955: JUMPI
00000956: PUSH1 0x00
00000958: DUP1
00000959: REVERT
0000095a: JUMPDEST
0000095b: POP
0000095c: PUSH2 0x0431
0000095f: PUSH2 0x2823
00000962: JUMP
00000963: JUMPDEST
00000964: CALLVALUE
00000965: DUP1
00000966: ISZERO
00000967: PUSH2 0x096f
0000096a: JUMPI
0000096b: PUSH1 0x00
0000096d: DUP1
0000096e: REVERT
0000096f: JUMPDEST
00000970: POP
00000971: PUSH2 0x04e8
00000974: PUSH2 0x2829
00000977: JUMP
00000978: JUMPDEST
00000979: CALLVALUE
0000097a: DUP1
0000097b: ISZERO
0000097c: PUSH2 0x0984
0000097f: JUMPI
00000980: PUSH1 0x00
00000982: DUP1
00000983: REVERT
00000984: JUMPDEST
00000985: POP
00000986: PUSH2 0x034e
00000989: PUSH1 0x04
0000098b: DUP1
0000098c: CALLDATASIZE
0000098d: SUB
0000098e: PUSH1 0x20
00000990: DUP2
00000991: LT
00000992: ISZERO
00000993: PUSH2 0x099b
00000996: JUMPI
00000997: PUSH1 0x00
00000999: DUP1
0000099a: REVERT
0000099b: JUMPDEST
0000099c: POP
0000099d: CALLDATALOAD
0000099e: PUSH2 0x2838
000009a1: JUMP
000009a2: JUMPDEST
000009a3: CALLVALUE
000009a4: DUP1
000009a5: ISZERO
000009a6: PUSH2 0x09ae
000009a9: JUMPI
000009aa: PUSH1 0x00
000009ac: DUP1
000009ad: REVERT
000009ae: JUMPDEST
000009af: POP
000009b0: PUSH2 0x0431
000009b3: PUSH1 0x04
000009b5: DUP1
000009b6: CALLDATASIZE
000009b7: SUB
000009b8: PUSH1 0x40
000009ba: DUP2
000009bb: LT
000009bc: ISZERO
000009bd: PUSH2 0x09c5
000009c0: JUMPI
000009c1: PUSH1 0x00
000009c3: DUP1
000009c4: REVERT
000009c5: JUMPDEST
000009c6: POP
000009c7: PUSH1 0x01
000009c9: PUSH1 0x01
000009cb: PUSH1 0xa0
000009cd: SHL
000009ce: SUB
000009cf: DUP2
000009d0: CALLDATALOAD
000009d1: DUP2
000009d2: AND
000009d3: SWAP2
000009d4: PUSH1 0x20
000009d6: ADD
000009d7: CALLDATALOAD
000009d8: AND
000009d9: PUSH2 0x2b68
000009dc: JUMP
000009dd: JUMPDEST
000009de: CALLVALUE
000009df: DUP1
000009e0: ISZERO
000009e1: PUSH2 0x09e9
000009e4: JUMPI
000009e5: PUSH1 0x00
000009e7: DUP1
000009e8: REVERT
000009e9: JUMPDEST
000009ea: POP
000009eb: PUSH2 0x034e
000009ee: PUSH1 0x04
000009f0: DUP1
000009f1: CALLDATASIZE
000009f2: SUB
000009f3: PUSH1 0x20
000009f5: DUP2
000009f6: LT
000009f7: ISZERO
000009f8: PUSH2 0x0a00
000009fb: JUMPI
000009fc: PUSH1 0x00
000009fe: DUP1
000009ff: REVERT
00000a00: JUMPDEST
00000a01: POP
00000a02: CALLDATALOAD
00000a03: PUSH1 0x01
00000a05: PUSH1 0x01
00000a07: PUSH1 0xa0
00000a09: SHL
00000a0a: SUB
00000a0b: AND
00000a0c: PUSH2 0x2b85
00000a0f: JUMP
00000a10: JUMPDEST
00000a11: CALLVALUE
00000a12: DUP1
00000a13: ISZERO
00000a14: PUSH2 0x0a1c
00000a17: JUMPI
00000a18: PUSH1 0x00
00000a1a: DUP1
00000a1b: REVERT
00000a1c: JUMPDEST
00000a1d: POP
00000a1e: PUSH2 0x034e
00000a21: PUSH1 0x04
00000a23: DUP1
00000a24: CALLDATASIZE
00000a25: SUB
00000a26: PUSH1 0x20
00000a28: DUP2
00000a29: LT
00000a2a: ISZERO
00000a2b: PUSH2 0x0a33
00000a2e: JUMPI
00000a2f: PUSH1 0x00
00000a31: DUP1
00000a32: REVERT
00000a33: JUMPDEST
00000a34: POP
00000a35: CALLDATALOAD
00000a36: PUSH1 0x01
00000a38: PUSH1 0x01
00000a3a: PUSH1 0xa0
00000a3c: SHL
00000a3d: SUB
00000a3e: AND
00000a3f: PUSH2 0x2bee
00000a42: JUMP
00000a43: JUMPDEST
00000a44: CALLVALUE
00000a45: DUP1
00000a46: ISZERO
00000a47: PUSH2 0x0a4f
00000a4a: JUMPI
00000a4b: PUSH1 0x00
00000a4d: DUP1
00000a4e: REVERT
00000a4f: JUMPDEST
00000a50: POP
00000a51: PUSH2 0x0365
00000a54: PUSH2 0x2c57
00000a57: JUMP
00000a58: JUMPDEST
00000a59: CALLVALUE
00000a5a: DUP1
00000a5b: ISZERO
00000a5c: PUSH2 0x0a64
00000a5f: JUMPI
00000a60: PUSH1 0x00
00000a62: DUP1
00000a63: REVERT
00000a64: JUMPDEST
00000a65: POP
00000a66: PUSH2 0x0431
00000a69: PUSH1 0x04
00000a6b: DUP1
00000a6c: CALLDATASIZE
00000a6d: SUB
00000a6e: PUSH1 0x40
00000a70: DUP2
00000a71: LT
00000a72: ISZERO
00000a73: PUSH2 0x0a7b
00000a76: JUMPI
00000a77: PUSH1 0x00
00000a79: DUP1
00000a7a: REVERT
00000a7b: JUMPDEST
00000a7c: POP
00000a7d: PUSH1 0x01
00000a7f: PUSH1 0x01
00000a81: PUSH1 0xa0
00000a83: SHL
00000a84: SUB
00000a85: DUP2
00000a86: CALLDATALOAD
00000a87: DUP2
00000a88: AND
00000a89: SWAP2
00000a8a: PUSH1 0x20
00000a8c: ADD
00000a8d: CALLDATALOAD
00000a8e: AND
00000a8f: PUSH2 0x2dcc
00000a92: JUMP
00000a93: JUMPDEST
00000a94: CALLVALUE
00000a95: DUP1
00000a96: ISZERO
00000a97: PUSH2 0x0a9f
00000a9a: JUMPI
00000a9b: PUSH1 0x00
00000a9d: DUP1
00000a9e: REVERT
00000a9f: JUMPDEST
00000aa0: POP
00000aa1: PUSH2 0x0431
00000aa4: PUSH1 0x04
00000aa6: DUP1
00000aa7: CALLDATASIZE
00000aa8: SUB
00000aa9: PUSH1 0x20
00000aab: DUP2
00000aac: LT
00000aad: ISZERO
00000aae: PUSH2 0x0ab6
00000ab1: JUMPI
00000ab2: PUSH1 0x00
00000ab4: DUP1
00000ab5: REVERT
00000ab6: JUMPDEST
00000ab7: POP
00000ab8: CALLDATALOAD
00000ab9: PUSH1 0x01
00000abb: PUSH1 0x01
00000abd: PUSH1 0xa0
00000abf: SHL
00000ac0: SUB
00000ac1: AND
00000ac2: PUSH2 0x2de9
00000ac5: JUMP
00000ac6: JUMPDEST
00000ac7: CALLVALUE
00000ac8: DUP1
00000ac9: ISZERO
00000aca: PUSH2 0x0ad2
00000acd: JUMPI
00000ace: PUSH1 0x00
00000ad0: DUP1
00000ad1: REVERT
00000ad2: JUMPDEST
00000ad3: POP
00000ad4: PUSH2 0x04e8
00000ad7: PUSH2 0x2e5f
00000ada: JUMP
00000adb: JUMPDEST
00000adc: CALLVALUE
00000add: DUP1
00000ade: ISZERO
00000adf: PUSH2 0x0ae7
00000ae2: JUMPI
00000ae3: PUSH1 0x00
00000ae5: DUP1
00000ae6: REVERT
00000ae7: JUMPDEST
00000ae8: POP
00000ae9: PUSH2 0x0af0
00000aec: PUSH2 0x2e6e
00000aef: JUMP
00000af0: JUMPDEST
00000af1: PUSH1 0x40
00000af3: DUP1
00000af4: MLOAD
00000af5: PUSH1 0x20
00000af7: DUP1
00000af8: DUP3
00000af9: MSTORE
00000afa: DUP4
00000afb: MLOAD
00000afc: DUP2
00000afd: DUP4
00000afe: ADD
00000aff: MSTORE
00000b00: DUP4
00000b01: MLOAD
00000b02: SWAP2
00000b03: SWAP3
00000b04: DUP4
00000b05: SWAP3
00000b06: SWAP1
00000b07: DUP4
00000b08: ADD
00000b09: SWAP2
00000b0a: DUP6
00000b0b: DUP2
00000b0c: ADD
00000b0d: SWAP2
00000b0e: MUL
00000b0f: DUP1
00000b10: DUP4
00000b11: DUP4
00000b12: PUSH1 0x00
00000b14: JUMPDEST
00000b15: DUP4
00000b16: DUP2
00000b17: LT
00000b18: ISZERO
00000b19: PUSH2 0x0b2c
00000b1c: JUMPI
00000b1d: DUP2
00000b1e: DUP2
00000b1f: ADD
00000b20: MLOAD
00000b21: DUP4
00000b22: DUP3
00000b23: ADD
00000b24: MSTORE
00000b25: PUSH1 0x20
00000b27: ADD
00000b28: PUSH2 0x0b14
00000b2b: JUMP
00000b2c: JUMPDEST
00000b2d: POP
00000b2e: POP
00000b2f: POP
00000b30: POP
00000b31: SWAP1
00000b32: POP
00000b33: ADD
00000b34: SWAP3
00000b35: POP
00000b36: POP
00000b37: POP
00000b38: PUSH1 0x40
00000b3a: MLOAD
00000b3b: DUP1
00000b3c: SWAP2
00000b3d: SUB
00000b3e: SWAP1
00000b3f: RETURN
00000b40: JUMPDEST
00000b41: CALLVALUE
00000b42: DUP1
00000b43: ISZERO
00000b44: PUSH2 0x0b4c
00000b47: JUMPI
00000b48: PUSH1 0x00
00000b4a: DUP1
00000b4b: REVERT
00000b4c: JUMPDEST
00000b4d: POP
00000b4e: PUSH2 0x0431
00000b51: PUSH2 0x2ed0
00000b54: JUMP
00000b55: JUMPDEST
00000b56: CALLVALUE
00000b57: DUP1
00000b58: ISZERO
00000b59: PUSH2 0x0b61
00000b5c: JUMPI
00000b5d: PUSH1 0x00
00000b5f: DUP1
00000b60: REVERT
00000b61: JUMPDEST
00000b62: POP
00000b63: PUSH2 0x0431
00000b66: PUSH2 0x2ed6
00000b69: JUMP
00000b6a: JUMPDEST
00000b6b: CALLVALUE
00000b6c: DUP1
00000b6d: ISZERO
00000b6e: PUSH2 0x0b76
00000b71: JUMPI
00000b72: PUSH1 0x00
00000b74: DUP1
00000b75: REVERT
00000b76: JUMPDEST
00000b77: POP
00000b78: PUSH2 0x0431
00000b7b: PUSH1 0x04
00000b7d: DUP1
00000b7e: CALLDATASIZE
00000b7f: SUB
00000b80: PUSH1 0x20
00000b82: DUP2
00000b83: LT
00000b84: ISZERO
00000b85: PUSH2 0x0b8d
00000b88: JUMPI
00000b89: PUSH1 0x00
00000b8b: DUP1
00000b8c: REVERT
00000b8d: JUMPDEST
00000b8e: POP
00000b8f: CALLDATALOAD
00000b90: PUSH1 0x01
00000b92: PUSH1 0x01
00000b94: PUSH1 0xa0
00000b96: SHL
00000b97: SUB
00000b98: AND
00000b99: PUSH2 0x2edc
00000b9c: JUMP
00000b9d: JUMPDEST
00000b9e: CALLVALUE
00000b9f: DUP1
00000ba0: ISZERO
00000ba1: PUSH2 0x0ba9
00000ba4: JUMPI
00000ba5: PUSH1 0x00
00000ba7: DUP1
00000ba8: REVERT
00000ba9: JUMPDEST
00000baa: POP
00000bab: PUSH2 0x034e
00000bae: PUSH1 0x04
00000bb0: DUP1
00000bb1: CALLDATASIZE
00000bb2: SUB
00000bb3: PUSH1 0x20
00000bb5: DUP2
00000bb6: LT
00000bb7: ISZERO
00000bb8: PUSH2 0x0bc0
00000bbb: JUMPI
00000bbc: PUSH1 0x00
00000bbe: DUP1
00000bbf: REVERT
00000bc0: JUMPDEST
00000bc1: POP
00000bc2: CALLDATALOAD
00000bc3: PUSH1 0x01
00000bc5: PUSH1 0x01
00000bc7: PUSH1 0xa0
00000bc9: SHL
00000bca: SUB
00000bcb: AND
00000bcc: PUSH2 0x2f90
00000bcf: JUMP
00000bd0: JUMPDEST
00000bd1: CALLVALUE
00000bd2: DUP1
00000bd3: ISZERO
00000bd4: PUSH2 0x0bdc
00000bd7: JUMPI
00000bd8: PUSH1 0x00
00000bda: DUP1
00000bdb: REVERT
00000bdc: JUMPDEST
00000bdd: POP
00000bde: PUSH2 0x0431
00000be1: PUSH2 0x2fe3
00000be4: JUMP
00000be5: JUMPDEST
00000be6: CALLVALUE
00000be7: DUP1
00000be8: ISZERO
00000be9: PUSH2 0x0bf1
00000bec: JUMPI
00000bed: PUSH1 0x00
00000bef: DUP1
00000bf0: REVERT
00000bf1: JUMPDEST
00000bf2: POP
00000bf3: PUSH2 0x0431
00000bf6: PUSH2 0x2fe9
00000bf9: JUMP
00000bfa: JUMPDEST
00000bfb: CALLVALUE
00000bfc: DUP1
00000bfd: ISZERO
00000bfe: PUSH2 0x0c06
00000c01: JUMPI
00000c02: PUSH1 0x00
00000c04: DUP1
00000c05: REVERT
00000c06: JUMPDEST
00000c07: POP
00000c08: PUSH2 0x0431
00000c0b: PUSH2 0x2fef
00000c0e: JUMP
00000c0f: JUMPDEST
00000c10: PUSH1 0x60
00000c12: DUP1
00000c13: PUSH1 0x00
00000c15: PUSH2 0x0c1c
00000c18: PUSH2 0x2111
00000c1b: JUMP
00000c1c: JUMPDEST
00000c1d: SWAP1
00000c1e: POP
00000c1f: DUP1
00000c20: PUSH1 0x40
00000c22: MLOAD
00000c23: SWAP1
00000c24: DUP1
00000c25: DUP3
00000c26: MSTORE
00000c27: DUP1
00000c28: PUSH1 0x20
00000c2a: MUL
00000c2b: PUSH1 0x20
00000c2d: ADD
00000c2e: DUP3
00000c2f: ADD
00000c30: PUSH1 0x40
00000c32: MSTORE
00000c33: DUP1
00000c34: ISZERO
00000c35: PUSH2 0x0c48
00000c38: JUMPI
00000c39: DUP2
00000c3a: PUSH1 0x20
00000c3c: ADD
00000c3d: PUSH1 0x20
00000c3f: DUP3
00000c40: MUL
00000c41: DUP1
00000c42: CODESIZE
00000c43: DUP4
00000c44: CODECOPY
00000c45: ADD
00000c46: SWAP1
00000c47: POP
00000c48: JUMPDEST
00000c49: POP
00000c4a: SWAP3
00000c4b: POP
00000c4c: DUP1
00000c4d: PUSH1 0x40
00000c4f: MLOAD
00000c50: SWAP1
00000c51: DUP1
00000c52: DUP3
00000c53: MSTORE
00000c54: DUP1
00000c55: PUSH1 0x20
00000c57: MUL
00000c58: PUSH1 0x20
00000c5a: ADD
00000c5b: DUP3
00000c5c: ADD
00000c5d: PUSH1 0x40
00000c5f: MSTORE
00000c60: DUP1
00000c61: ISZERO
00000c62: PUSH2 0x0c75
00000c65: JUMPI
00000c66: DUP2
00000c67: PUSH1 0x20
00000c69: ADD
00000c6a: PUSH1 0x20
00000c6c: DUP3
00000c6d: MUL
00000c6e: DUP1
00000c6f: CODESIZE
00000c70: DUP4
00000c71: CODECOPY
00000c72: ADD
00000c73: SWAP1
00000c74: POP
00000c75: JUMPDEST
00000c76: POP
00000c77: SWAP2
00000c78: POP
00000c79: PUSH1 0x00
00000c7b: JUMPDEST
00000c7c: DUP2
00000c7d: DUP2
00000c7e: LT
00000c7f: ISZERO
00000c80: PUSH2 0x0d67
00000c83: JUMPI
00000c84: PUSH1 0x00
00000c86: PUSH1 0x27
00000c88: PUSH20 0x3414b7e8332b4da3e268ca7aa5bee6b9a25787f7
00000c9d: PUSH4 0x20ad2894
00000ca2: SWAP1
00000ca3: SWAP2
00000ca4: DUP5
00000ca5: PUSH1 0x40
00000ca7: MLOAD
00000ca8: DUP4
00000ca9: PUSH4 0xffffffff
00000cae: AND
00000caf: PUSH1 0xe0
00000cb1: SHL
00000cb2: DUP2
00000cb3: MSTORE
00000cb4: PUSH1 0x04
00000cb6: ADD
00000cb7: DUP1
00000cb8: DUP4
00000cb9: DUP2
00000cba: MSTORE
00000cbb: PUSH1 0x20
00000cbd: ADD
00000cbe: DUP3
00000cbf: DUP2
00000cc0: MSTORE
00000cc1: PUSH1 0x20
00000cc3: ADD
00000cc4: SWAP3
00000cc5: POP
00000cc6: POP
00000cc7: POP
00000cc8: PUSH1 0x20
00000cca: PUSH1 0x40
00000ccc: MLOAD
00000ccd: DUP1
00000cce: DUP4
00000ccf: SUB
00000cd0: DUP2
00000cd1: DUP7
00000cd2: DUP1
00000cd3: EXTCODESIZE
00000cd4: ISZERO
00000cd5: DUP1
00000cd6: ISZERO
00000cd7: PUSH2 0x0cdf
00000cda: JUMPI
00000cdb: PUSH1 0x00
00000cdd: DUP1
00000cde: REVERT
00000cdf: JUMPDEST
00000ce0: POP
00000ce1: GAS
00000ce2: DELEGATECALL
00000ce3: ISZERO
00000ce4: DUP1
00000ce5: ISZERO
00000ce6: PUSH2 0x0cf3
00000ce9: JUMPI
00000cea: RETURNDATASIZE
00000ceb: PUSH1 0x00
00000ced: DUP1
00000cee: RETURNDATACOPY
00000cef: RETURNDATASIZE
00000cf0: PUSH1 0x00
00000cf2: REVERT
00000cf3: JUMPDEST
00000cf4: POP
00000cf5: POP
00000cf6: POP
00000cf7: POP
00000cf8: PUSH1 0x40
00000cfa: MLOAD
00000cfb: RETURNDATASIZE
00000cfc: PUSH1 0x20
00000cfe: DUP2
00000cff: LT
00000d00: ISZERO
00000d01: PUSH2 0x0d09
00000d04: JUMPI
00000d05: PUSH1 0x00
00000d07: DUP1
00000d08: REVERT
00000d09: JUMPDEST
00000d0a: POP
00000d0b: MLOAD
00000d0c: DUP6
00000d0d: MLOAD
00000d0e: SWAP1
00000d0f: SWAP2
00000d10: POP
00000d11: DUP2
00000d12: SWAP1
00000d13: DUP7
00000d14: SWAP1
00000d15: DUP5
00000d16: SWAP1
00000d17: DUP2
00000d18: LT
00000d19: PUSH2 0x0d1e
00000d1c: JUMPI
00000d1d: INVALID
00000d1e: JUMPDEST
00000d1f: PUSH1 0x20
00000d21: MUL
00000d22: PUSH1 0x20
00000d24: ADD
00000d25: ADD
00000d26: SWAP1
00000d27: PUSH1 0x01
00000d29: PUSH1 0x01
00000d2b: PUSH1 0xa0
00000d2d: SHL
00000d2e: SUB
00000d2f: AND
00000d30: SWAP1
00000d31: DUP2
00000d32: PUSH1 0x01
00000d34: PUSH1 0x01
00000d36: PUSH1 0xa0
00000d38: SHL
00000d39: SUB
00000d3a: AND
00000d3b: DUP2
00000d3c: MSTORE
00000d3d: POP
00000d3e: POP
00000d3f: PUSH2 0x0d47
00000d42: DUP2
00000d43: PUSH2 0x2de9
00000d46: JUMP
00000d47: JUMPDEST
00000d48: DUP5
00000d49: DUP4
00000d4a: DUP2
00000d4b: MLOAD
00000d4c: DUP2
00000d4d: LT
00000d4e: PUSH2 0x0d53
00000d51: JUMPI
00000d52: INVALID
00000d53: JUMPDEST
00000d54: PUSH1 0x20
00000d56: SWAP1
00000d57: DUP2
00000d58: MUL
00000d59: SWAP2
00000d5a: SWAP1
00000d5b: SWAP2
00000d5c: ADD
00000d5d: ADD
00000d5e: MSTORE
00000d5f: POP
00000d60: PUSH1 0x01
00000d62: ADD
00000d63: PUSH2 0x0c7b
00000d66: JUMP
00000d67: JUMPDEST
00000d68: POP
00000d69: POP
00000d6a: SWAP1
00000d6b: SWAP2
00000d6c: JUMP
00000d6d: JUMPDEST
00000d6e: PUSH1 0x00
00000d70: DUP1
00000d71: PUSH2 0x0d78
00000d74: PUSH2 0x2111
00000d77: JUMP
00000d78: JUMPDEST
00000d79: SWAP1
00000d7a: POP
00000d7b: PUSH1 0x00
00000d7d: DUP1
00000d7e: JUMPDEST
00000d7f: DUP3
00000d80: DUP2
00000d81: LT
00000d82: ISZERO
00000d83: PUSH2 0x0e35
00000d86: JUMPI
00000d87: PUSH1 0x00
00000d89: PUSH1 0x27
00000d8b: PUSH20 0x3414b7e8332b4da3e268ca7aa5bee6b9a25787f7
00000da0: PUSH4 0x20ad2894
00000da5: SWAP1
00000da6: SWAP2
00000da7: DUP5
00000da8: PUSH1 0x40
00000daa: MLOAD
00000dab: DUP4
00000dac: PUSH4 0xffffffff
00000db1: AND
00000db2: PUSH1 0xe0
00000db4: SHL
00000db5: DUP2
00000db6: MSTORE
00000db7: PUSH1 0x04
00000db9: ADD
00000dba: DUP1
00000dbb: DUP4
00000dbc: DUP2
00000dbd: MSTORE
00000dbe: PUSH1 0x20
00000dc0: ADD
00000dc1: DUP3
00000dc2: DUP2
00000dc3: MSTORE
00000dc4: PUSH1 0x20
00000dc6: ADD
00000dc7: SWAP3
00000dc8: POP
00000dc9: POP
00000dca: POP
00000dcb: PUSH1 0x20
00000dcd: PUSH1 0x40
00000dcf: MLOAD
00000dd0: DUP1
00000dd1: DUP4
00000dd2: SUB
00000dd3: DUP2
00000dd4: DUP7
00000dd5: DUP1
00000dd6: EXTCODESIZE
00000dd7: ISZERO
00000dd8: DUP1
00000dd9: ISZERO
00000dda: PUSH2 0x0de2
00000ddd: JUMPI
00000dde: PUSH1 0x00
00000de0: DUP1
00000de1: REVERT
00000de2: JUMPDEST
00000de3: POP
00000de4: GAS
00000de5: DELEGATECALL
00000de6: ISZERO
00000de7: DUP1
00000de8: ISZERO
00000de9: PUSH2 0x0df6
00000dec: JUMPI
00000ded: RETURNDATASIZE
00000dee: PUSH1 0x00
00000df0: DUP1
00000df1: RETURNDATACOPY
00000df2: RETURNDATASIZE
00000df3: PUSH1 0x00
00000df5: REVERT
00000df6: JUMPDEST
00000df7: POP
00000df8: POP
00000df9: POP
00000dfa: POP
00000dfb: PUSH1 0x40
00000dfd: MLOAD
00000dfe: RETURNDATASIZE
00000dff: PUSH1 0x20
00000e01: DUP2
00000e02: LT
00000e03: ISZERO
00000e04: PUSH2 0x0e0c
00000e07: JUMPI
00000e08: PUSH1 0x00
00000e0a: DUP1
00000e0b: REVERT
00000e0c: JUMPDEST
00000e0d: POP
00000e0e: MLOAD
00000e0f: SWAP1
00000e10: POP
00000e11: PUSH2 0x0e2a
00000e14: PUSH2 0x0e1d
00000e17: DUP8
00000e18: DUP4
00000e19: PUSH2 0x0fcb
00000e1c: JUMP
00000e1d: JUMPDEST
00000e1e: DUP5
00000e1f: SWAP1
00000e20: PUSH4 0xffffffff
00000e25: PUSH2 0x2ff5
00000e28: AND
00000e29: JUMP
00000e2a: JUMPDEST
00000e2b: SWAP3
00000e2c: POP
00000e2d: POP
00000e2e: PUSH1 0x01
00000e30: ADD
00000e31: PUSH2 0x0d7e
00000e34: JUMP
00000e35: JUMPDEST
00000e36: POP
00000e37: SWAP2
00000e38: POP
00000e39: POP
00000e3a: JUMPDEST
00000e3b: SWAP2
00000e3c: SWAP1
00000e3d: POP
00000e3e: JUMP
00000e3f: JUMPDEST
00000e40: PUSH1 0x0b
00000e42: SLOAD
00000e43: DUP2
00000e44: JUMP
00000e45: JUMPDEST
00000e46: PUSH1 0x0c
00000e48: SLOAD
00000e49: DUP2
00000e4a: JUMP
00000e4b: JUMPDEST
00000e4c: PUSH1 0x01
00000e4e: PUSH1 0x01
00000e50: PUSH1 0xa0
00000e52: SHL
00000e53: SUB
00000e54: AND
00000e55: PUSH1 0x00
00000e57: SWAP1
00000e58: DUP2
00000e59: MSTORE
00000e5a: PUSH1 0x0f
00000e5c: PUSH1 0x20
00000e5e: SWAP1
00000e5f: DUP2
00000e60: MSTORE
00000e61: PUSH1 0x40
00000e63: DUP1
00000e64: DUP4
00000e65: KECCAK256
00000e66: SLOAD
00000e67: PUSH1 0x10
00000e69: DUP4
00000e6a: MSTORE
00000e6b: DUP2
00000e6c: DUP5
00000e6d: KECCAK256
00000e6e: SLOAD
00000e6f: PUSH1 0x11
00000e71: SWAP1
00000e72: SWAP4
00000e73: MSTORE
00000e74: SWAP3
00000e75: KECCAK256
00000e76: SLOAD
00000e77: SWAP2
00000e78: SWAP3
00000e79: SWAP1
00000e7a: SWAP2
00000e7b: SWAP1
00000e7c: JUMP
00000e7d: JUMPDEST
00000e7e: PUSH1 0x17
00000e80: SLOAD
00000e81: DUP2
00000e82: JUMP
00000e83: JUMPDEST
00000e84: PUSH1 0x05
00000e86: SLOAD
00000e87: PUSH1 0x01
00000e89: PUSH1 0x01
00000e8b: PUSH1 0xa0
00000e8d: SHL
00000e8e: SUB
00000e8f: AND
00000e90: DUP2
00000e91: JUMP
00000e92: JUMPDEST
00000e93: PUSH2 0x0e9a
00000e96: PUSH2 0x21a5
00000e99: JUMP
00000e9a: JUMPDEST
00000e9b: PUSH2 0x0ed9
00000e9e: JUMPI
00000e9f: PUSH1 0x40
00000ea1: DUP1
00000ea2: MLOAD
00000ea3: PUSH3 0x461bcd
00000ea7: PUSH1 0xe5
00000ea9: SHL
00000eaa: DUP2
00000eab: MSTORE
00000eac: PUSH1 0x20
00000eae: PUSH1 0x04
00000eb0: DUP3
00000eb1: ADD
00000eb2: DUP2
00000eb3: SWAP1
00000eb4: MSTORE
00000eb5: PUSH1 0x24
00000eb7: DUP3
00000eb8: ADD
00000eb9: MSTORE
00000eba: PUSH1 0x00
00000ebc: DUP1
00000ebd: MLOAD
00000ebe: PUSH1 0x20
00000ec0: PUSH2 0x41e7
00000ec3: DUP4
00000ec4: CODECOPY
00000ec5: DUP2
00000ec6: MLOAD
00000ec7: SWAP2
00000ec8: MSTORE
00000ec9: PUSH1 0x44
00000ecb: DUP3
00000ecc: ADD
00000ecd: MSTORE
00000ece: SWAP1
00000ecf: MLOAD
00000ed0: SWAP1
00000ed1: DUP2
00000ed2: SWAP1
00000ed3: SUB
00000ed4: PUSH1 0x64
00000ed6: ADD
00000ed7: SWAP1
00000ed8: REVERT
00000ed9: JUMPDEST
00000eda: PUSH1 0x04
00000edc: DUP1
00000edd: SLOAD
00000ede: PUSH1 0x01
00000ee0: PUSH1 0x01
00000ee2: PUSH1 0xa0
00000ee4: SHL
00000ee5: SUB
00000ee6: NOT
00000ee7: AND
00000ee8: PUSH1 0x01
00000eea: PUSH1 0x01
00000eec: PUSH1 0xa0
00000eee: SHL
00000eef: SUB
00000ef0: SWAP3
00000ef1: SWAP1
00000ef2: SWAP3
00000ef3: AND
00000ef4: SWAP2
00000ef5: SWAP1
00000ef6: SWAP2
00000ef7: OR
00000ef8: SWAP1
00000ef9: SSTORE
00000efa: JUMP
00000efb: JUMPDEST
00000efc: PUSH1 0x01
00000efe: PUSH1 0x01
00000f00: PUSH1 0xa0
00000f02: SHL
00000f03: SUB
00000f04: DUP1
00000f05: DUP3
00000f06: AND
00000f07: PUSH1 0x00
00000f09: SWAP1
00000f0a: DUP2
00000f0b: MSTORE
00000f0c: PUSH1 0x0e
00000f0e: PUSH1 0x20
00000f10: SWAP1
00000f11: DUP2
00000f12: MSTORE
00000f13: PUSH1 0x40
00000f15: DUP1
00000f16: DUP4
00000f17: KECCAK256
00000f18: SWAP4
00000f19: DUP7
00000f1a: AND
00000f1b: DUP4
00000f1c: MSTORE
00000f1d: SWAP3
00000f1e: DUP2
00000f1f: MSTORE
00000f20: DUP3
00000f21: DUP3
00000f22: KECCAK256
00000f23: DUP4
00000f24: MLOAD
00000f25: PUSH4 0x3b7a7af7
00000f2a: PUSH1 0xe2
00000f2c: SHL
00000f2d: DUP2
00000f2e: MSTORE
00000f2f: PUSH1 0x04
00000f31: DUP2
00000f32: ADD
00000f33: SWAP2
00000f34: SWAP1
00000f35: SWAP2
00000f36: MSTORE
00000f37: TIMESTAMP
00000f38: PUSH1 0x24
00000f3a: DUP3
00000f3b: ADD
00000f3c: MSTORE
00000f3d: SWAP3
00000f3e: MLOAD
00000f3f: SWAP2
00000f40: SWAP3
00000f41: PUSH20 0xab2ea31dba6270584486b6d7657fbfcd10f8bfae
00000f56: SWAP3
00000f57: PUSH4 0xede9ebdc
00000f5c: SWAP3
00000f5d: PUSH1 0x44
00000f5f: DUP1
00000f60: DUP5
00000f61: ADD
00000f62: SWAP4
00000f63: SWAP2
00000f64: SWAP3
00000f65: SWAP2
00000f66: DUP3
00000f67: SWAP1
00000f68: SUB
00000f69: ADD
00000f6a: DUP2
00000f6b: DUP7
00000f6c: DUP1
00000f6d: EXTCODESIZE
00000f6e: ISZERO
00000f6f: DUP1
00000f70: ISZERO
00000f71: PUSH2 0x0f79
00000f74: JUMPI
00000f75: PUSH1 0x00
00000f77: DUP1
00000f78: REVERT
00000f79: JUMPDEST
00000f7a: POP
00000f7b: GAS
00000f7c: DELEGATECALL
00000f7d: ISZERO
00000f7e: DUP1
00000f7f: ISZERO
00000f80: PUSH2 0x0f8d
00000f83: JUMPI
00000f84: RETURNDATASIZE
00000f85: PUSH1 0x00
00000f87: DUP1
00000f88: RETURNDATACOPY
00000f89: RETURNDATASIZE
00000f8a: PUSH1 0x00
00000f8c: REVERT
00000f8d: JUMPDEST
00000f8e: POP
00000f8f: POP
00000f90: POP
00000f91: POP
00000f92: PUSH1 0x40
00000f94: MLOAD
00000f95: RETURNDATASIZE
00000f96: PUSH1 0x20
00000f98: DUP2
00000f99: LT
00000f9a: ISZERO
00000f9b: PUSH2 0x0fa3
00000f9e: JUMPI
00000f9f: PUSH1 0x00
00000fa1: DUP1
00000fa2: REVERT
00000fa3: JUMPDEST
00000fa4: POP
00000fa5: MLOAD
00000fa6: SWAP1
00000fa7: POP
00000fa8: JUMPDEST
00000fa9: SWAP3
00000faa: SWAP2
00000fab: POP
00000fac: POP
00000fad: JUMP
00000fae: JUMPDEST
00000faf: PUSH1 0x26
00000fb1: PUSH1 0x20
00000fb3: SWAP1
00000fb4: DUP2
00000fb5: MSTORE
00000fb6: PUSH1 0x00
00000fb8: SWAP3
00000fb9: DUP4
00000fba: MSTORE
00000fbb: PUSH1 0x40
00000fbd: DUP1
00000fbe: DUP5
00000fbf: KECCAK256
00000fc0: SWAP1
00000fc1: SWAP2
00000fc2: MSTORE
00000fc3: SWAP1
00000fc4: DUP3
00000fc5: MSTORE
00000fc6: SWAP1
00000fc7: KECCAK256
00000fc8: SLOAD
00000fc9: DUP2
00000fca: JUMP
00000fcb: JUMPDEST
00000fcc: PUSH1 0x01
00000fce: PUSH1 0x01
00000fd0: PUSH1 0xa0
00000fd2: SHL
00000fd3: SUB
00000fd4: DUP1
00000fd5: DUP3
00000fd6: AND
00000fd7: PUSH1 0x00
00000fd9: DUP2
00000fda: DUP2
00000fdb: MSTORE
00000fdc: PUSH1 0x25
00000fde: PUSH1 0x20
00000fe0: SWAP1
00000fe1: DUP2
00000fe2: MSTORE
00000fe3: PUSH1 0x40
00000fe5: DUP1
00000fe6: DUP4
00000fe7: KECCAK256
00000fe8: SWAP5
00000fe9: DUP8
00000fea: AND
00000feb: DUP1
00000fec: DUP5
00000fed: MSTORE
00000fee: SWAP5
00000fef: DUP3
00000ff0: MSTORE
00000ff1: DUP1
00000ff2: DUP4
00000ff3: KECCAK256
00000ff4: SLOAD
00000ff5: SWAP4
00000ff6: DUP4
00000ff7: MSTORE
00000ff8: PUSH1 0x24
00000ffa: DUP3
00000ffb: MSTORE
00000ffc: DUP1
00000ffd: DUP4
00000ffe: KECCAK256
00000fff: SWAP5
00001000: DUP4
00001001: MSTORE
00001002: SWAP4
00001003: SWAP1
00001004: MSTORE
00001005: SWAP2
00001006: DUP3
00001007: KECCAK256
00001008: SLOAD
00001009: PUSH2 0x1066
0000100c: SWAP2
0000100d: SWAP1
0000100e: PUSH2 0x105a
00001011: SWAP1
00001012: PUSH8 0x0de0b6b3a7640000
0000101b: SWAP1
0000101c: PUSH2 0x104e
0000101f: SWAP1
00001020: PUSH2 0x1038
00001023: SWAP1
00001024: PUSH2 0x102c
00001027: DUP10
00001028: PUSH2 0x2edc
0000102b: JUMP
0000102c: JUMPDEST
0000102d: SWAP1
0000102e: PUSH4 0xffffffff
00001033: PUSH2 0x304f
00001036: AND
00001037: JUMP
00001038: JUMPDEST
00001039: PUSH2 0x1042
0000103c: DUP9
0000103d: DUP11
0000103e: PUSH2 0x0efb
00001041: JUMP
00001042: JUMPDEST
00001043: SWAP1
00001044: PUSH4 0xffffffff
00001049: PUSH2 0x3091
0000104c: AND
0000104d: JUMP
0000104e: JUMPDEST
0000104f: SWAP1
00001050: PUSH4 0xffffffff
00001055: PUSH2 0x30ea
00001058: AND
00001059: JUMP
0000105a: JUMPDEST
0000105b: SWAP1
0000105c: PUSH4 0xffffffff
00001061: PUSH2 0x2ff5
00001064: AND
00001065: JUMP
00001066: JUMPDEST
00001067: SWAP4
00001068: SWAP3
00001069: POP
0000106a: POP
0000106b: POP
0000106c: JUMP
0000106d: JUMPDEST
0000106e: PUSH2 0x1075
00001071: PUSH2 0x21a5
00001074: JUMP
00001075: JUMPDEST
00001076: PUSH2 0x10b4
00001079: JUMPI
0000107a: PUSH1 0x40
0000107c: DUP1
0000107d: MLOAD
0000107e: PUSH3 0x461bcd
00001082: PUSH1 0xe5
00001084: SHL
00001085: DUP2
00001086: MSTORE
00001087: PUSH1 0x20
00001089: PUSH1 0x04
0000108b: DUP3
0000108c: ADD
0000108d: DUP2
0000108e: SWAP1
0000108f: MSTORE
00001090: PUSH1 0x24
00001092: DUP3
00001093: ADD
00001094: MSTORE
00001095: PUSH1 0x00
00001097: DUP1
00001098: MLOAD
00001099: PUSH1 0x20
0000109b: PUSH2 0x41e7
0000109e: DUP4
0000109f: CODECOPY
000010a0: DUP2
000010a1: MLOAD
000010a2: SWAP2
000010a3: MSTORE
000010a4: PUSH1 0x44
000010a6: DUP3
000010a7: ADD
000010a8: MSTORE
000010a9: SWAP1
000010aa: MLOAD
000010ab: SWAP1
000010ac: DUP2
000010ad: SWAP1
000010ae: SUB
000010af: PUSH1 0x64
000010b1: ADD
000010b2: SWAP1
000010b3: REVERT
000010b4: JUMPDEST
000010b5: PUSH1 0x06
000010b7: DUP1
000010b8: SLOAD
000010b9: PUSH1 0x01
000010bb: PUSH1 0x01
000010bd: PUSH1 0xa0
000010bf: SHL
000010c0: SUB
000010c1: SWAP5
000010c2: DUP6
000010c3: AND
000010c4: PUSH1 0x01
000010c6: PUSH1 0x01
000010c8: PUSH1 0xa0
000010ca: SHL
000010cb: SUB
000010cc: NOT
000010cd: SWAP2
000010ce: DUP3
000010cf: AND
000010d0: OR
000010d1: SWAP1
000010d2: SWAP2
000010d3: SSTORE
000010d4: PUSH1 0x07
000010d6: DUP1
000010d7: SLOAD
000010d8: SWAP4
000010d9: DUP6
000010da: AND
000010db: SWAP4
000010dc: DUP3
000010dd: AND
000010de: SWAP4
000010df: SWAP1
000010e0: SWAP4
000010e1: OR
000010e2: SWAP1
000010e3: SWAP3
000010e4: SSTORE
000010e5: PUSH1 0x08
000010e7: DUP1
000010e8: SLOAD
000010e9: SWAP2
000010ea: SWAP1
000010eb: SWAP4
000010ec: AND
000010ed: SWAP2
000010ee: AND
000010ef: OR
000010f0: SWAP1
000010f1: SSTORE
000010f2: JUMP
000010f3: JUMPDEST
000010f4: CALLER
000010f5: DUP3
000010f6: PUSH2 0x10fe
000010f9: DUP2
000010fa: PUSH2 0x2edc
000010fd: JUMP
000010fe: JUMPDEST
000010ff: PUSH1 0x01
00001101: PUSH1 0x01
00001103: PUSH1 0xa0
00001105: SHL
00001106: SUB
00001107: DUP3
00001108: AND
00001109: PUSH1 0x00
0000110b: SWAP1
0000110c: DUP2
0000110d: MSTORE
0000110e: PUSH1 0x1b
00001110: PUSH1 0x20
00001112: MSTORE
00001113: PUSH1 0x40
00001115: SWAP1
00001116: KECCAK256
00001117: SSTORE
00001118: PUSH2 0x111f
0000111b: PUSH2 0x20ec
0000111e: JUMP
0000111f: JUMPDEST
00001120: PUSH1 0x01
00001122: PUSH1 0x01
00001124: PUSH1 0xa0
00001126: SHL
00001127: SUB
00001128: DUP1
00001129: DUP4
0000112a: AND
0000112b: PUSH1 0x00
0000112d: SWAP1
0000112e: DUP2
0000112f: MSTORE
00001130: PUSH1 0x1a
00001132: PUSH1 0x20
00001134: MSTORE
00001135: PUSH1 0x40
00001137: SWAP1
00001138: KECCAK256
00001139: SWAP2
0000113a: SWAP1
0000113b: SWAP2
0000113c: SSTORE
0000113d: DUP3
0000113e: AND
0000113f: ISZERO
00001140: PUSH2 0x1198
00001143: JUMPI
00001144: PUSH2 0x114d
00001147: DUP3
00001148: DUP3
00001149: PUSH2 0x0fcb
0000114c: JUMP
0000114d: JUMPDEST
0000114e: PUSH1 0x01
00001150: PUSH1 0x01
00001152: PUSH1 0xa0
00001154: SHL
00001155: SUB
00001156: DUP1
00001157: DUP4
00001158: AND
00001159: PUSH1 0x00
0000115b: DUP2
0000115c: DUP2
0000115d: MSTORE
0000115e: PUSH1 0x25
00001160: PUSH1 0x20
00001162: SWAP1
00001163: DUP2
00001164: MSTORE
00001165: PUSH1 0x40
00001167: DUP1
00001168: DUP4
00001169: KECCAK256
0000116a: SWAP5
0000116b: DUP9
0000116c: AND
0000116d: DUP1
0000116e: DUP5
0000116f: MSTORE
00001170: SWAP5
00001171: DUP3
00001172: MSTORE
00001173: DUP1
00001174: DUP4
00001175: KECCAK256
00001176: SWAP6
00001177: SWAP1
00001178: SWAP6
00001179: SSTORE
0000117a: SWAP2
0000117b: DUP2
0000117c: MSTORE
0000117d: PUSH1 0x1b
0000117f: DUP3
00001180: MSTORE
00001181: DUP4
00001182: DUP2
00001183: KECCAK256
00001184: SLOAD
00001185: PUSH1 0x24
00001187: DUP4
00001188: MSTORE
00001189: DUP5
0000118a: DUP3
0000118b: KECCAK256
0000118c: SWAP4
0000118d: DUP3
0000118e: MSTORE
0000118f: SWAP3
00001190: SWAP1
00001191: SWAP2
00001192: MSTORE
00001193: SWAP2
00001194: SWAP1
00001195: SWAP2
00001196: KECCAK256
00001197: SSTORE
00001198: JUMPDEST
00001199: PUSH1 0x17
0000119b: SLOAD
0000119c: TIMESTAMP
0000119d: LT
0000119e: PUSH2 0x1308
000011a1: JUMPI
000011a2: PUSH2 0x11a9
000011a5: PUSH2 0x312c
000011a8: JUMP
000011a9: JUMPDEST
000011aa: PUSH1 0x02
000011ac: SLOAD
000011ad: PUSH1 0x01
000011af: SLOAD
000011b0: PUSH1 0x40
000011b2: DUP1
000011b3: MLOAD
000011b4: PUSH4 0x40c10f19
000011b9: PUSH1 0xe0
000011bb: SHL
000011bc: DUP2
000011bd: MSTORE
000011be: ADDRESS
000011bf: PUSH1 0x04
000011c1: DUP3
000011c2: ADD
000011c3: MSTORE
000011c4: PUSH1 0x24
000011c6: DUP2
000011c7: ADD
000011c8: SWAP3
000011c9: SWAP1
000011ca: SWAP3
000011cb: MSTORE
000011cc: MLOAD
000011cd: PUSH1 0x01
000011cf: PUSH1 0x01
000011d1: PUSH1 0xa0
000011d3: SHL
000011d4: SUB
000011d5: SWAP1
000011d6: SWAP3
000011d7: AND
000011d8: SWAP2
000011d9: PUSH4 0x40c10f19
000011de: SWAP2
000011df: PUSH1 0x44
000011e1: DUP1
000011e2: DUP3
000011e3: ADD
000011e4: SWAP3
000011e5: PUSH1 0x00
000011e7: SWAP3
000011e8: SWAP1
000011e9: SWAP2
000011ea: SWAP1
000011eb: DUP3
000011ec: SWAP1
000011ed: SUB
000011ee: ADD
000011ef: DUP2
000011f0: DUP4
000011f1: DUP8
000011f2: DUP1
000011f3: EXTCODESIZE
000011f4: ISZERO
000011f5: DUP1
000011f6: ISZERO
000011f7: PUSH2 0x11ff
000011fa: JUMPI
000011fb: PUSH1 0x00
000011fd: DUP1
000011fe: REVERT
000011ff: JUMPDEST
00001200: POP
00001201: GAS
00001202: CALL
00001203: ISZERO
00001204: DUP1
00001205: ISZERO
00001206: PUSH2 0x1213
00001209: JUMPI
0000120a: RETURNDATASIZE
0000120b: PUSH1 0x00
0000120d: DUP1
0000120e: RETURNDATACOPY
0000120f: RETURNDATASIZE
00001210: PUSH1 0x00
00001212: REVERT
00001213: JUMPDEST
00001214: POP
00001215: POP
00001216: PUSH1 0x09
00001218: SLOAD
00001219: PUSH1 0x01
0000121b: SLOAD
0000121c: PUSH2 0x1230
0000121f: SWAP4
00001220: POP
00001221: SWAP2
00001222: POP
00001223: PUSH1 0x03
00001225: MUL
00001226: PUSH4 0xffffffff
0000122b: PUSH2 0x30ea
0000122e: AND
0000122f: JUMP
00001230: JUMPDEST
00001231: PUSH1 0x18
00001233: DUP2
00001234: SWAP1
00001235: SSTORE
00001236: POP
00001237: PUSH2 0x1257
0000123a: PUSH1 0x23
0000123c: SLOAD
0000123d: PUSH1 0x09
0000123f: SLOAD
00001240: MUL
00001241: PUSH2 0x104e
00001244: PUSH1 0x20
00001246: SLOAD
00001247: PUSH1 0x01
00001249: SLOAD
0000124a: PUSH2 0x3091
0000124d: SWAP1
0000124e: SWAP2
0000124f: SWAP1
00001250: PUSH4 0xffffffff
00001255: AND
00001256: JUMP
00001257: JUMPDEST
00001258: PUSH1 0x08
0000125a: SLOAD
0000125b: PUSH1 0x01
0000125d: PUSH1 0x01
0000125f: PUSH1 0xa0
00001261: SHL
00001262: SUB
00001263: AND
00001264: PUSH1 0x00
00001266: SWAP1
00001267: DUP2
00001268: MSTORE
00001269: PUSH1 0x19
0000126b: PUSH1 0x20
0000126d: MSTORE
0000126e: PUSH1 0x40
00001270: SWAP1
00001271: KECCAK256
00001272: SSTORE
00001273: PUSH1 0x23
00001275: SLOAD
00001276: PUSH1 0x09
00001278: SLOAD
00001279: PUSH1 0x21
0000127b: SLOAD
0000127c: PUSH1 0x01
0000127e: SLOAD
0000127f: PUSH2 0x1296
00001282: SWAP4
00001283: SWAP3
00001284: SWAP1
00001285: SWAP3
00001286: MUL
00001287: SWAP2
00001288: PUSH2 0x104e
0000128b: SWAP2
0000128c: PUSH4 0xffffffff
00001291: PUSH2 0x3091
00001294: AND
00001295: JUMP
00001296: JUMPDEST
00001297: PUSH1 0x07
00001299: SLOAD
0000129a: PUSH1 0x01
0000129c: PUSH1 0x01
0000129e: PUSH1 0xa0
000012a0: SHL
000012a1: SUB
000012a2: AND
000012a3: PUSH1 0x00
000012a5: SWAP1
000012a6: DUP2
000012a7: MSTORE
000012a8: PUSH1 0x19
000012aa: PUSH1 0x20
000012ac: MSTORE
000012ad: PUSH1 0x40
000012af: SWAP1
000012b0: KECCAK256
000012b1: SSTORE
000012b2: PUSH1 0x23
000012b4: SLOAD
000012b5: PUSH1 0x09
000012b7: SLOAD
000012b8: PUSH1 0x22
000012ba: SLOAD
000012bb: PUSH1 0x01
000012bd: SLOAD
000012be: PUSH2 0x12d5
000012c1: SWAP4
000012c2: SWAP3
000012c3: SWAP1
000012c4: SWAP3
000012c5: MUL
000012c6: SWAP2
000012c7: PUSH2 0x104e
000012ca: SWAP2
000012cb: PUSH4 0xffffffff
000012d0: PUSH2 0x3091
000012d3: AND
000012d4: JUMP
000012d5: JUMPDEST
000012d6: PUSH1 0x06
000012d8: SLOAD
000012d9: PUSH1 0x01
000012db: PUSH1 0x01
000012dd: PUSH1 0xa0
000012df: SHL
000012e0: SUB
000012e1: AND
000012e2: PUSH1 0x00
000012e4: SWAP1
000012e5: DUP2
000012e6: MSTORE
000012e7: PUSH1 0x19
000012e9: PUSH1 0x20
000012eb: MSTORE
000012ec: PUSH1 0x40
000012ee: SWAP1
000012ef: KECCAK256
000012f0: SSTORE
000012f1: PUSH1 0x09
000012f3: SLOAD
000012f4: PUSH2 0x1304
000012f7: SWAP1
000012f8: TIMESTAMP
000012f9: SWAP1
000012fa: PUSH4 0xffffffff
000012ff: PUSH2 0x2ff5
00001302: AND
00001303: JUMP
00001304: JUMPDEST
00001305: PUSH1 0x17
00001307: SSTORE
00001308: JUMPDEST
00001309: PUSH1 0x16
0000130b: SLOAD
0000130c: TIMESTAMP
0000130d: GT
0000130e: PUSH2 0x134a
00001311: JUMPI
00001312: PUSH1 0x40
00001314: DUP1
00001315: MLOAD
00001316: PUSH3 0x461bcd
0000131a: PUSH1 0xe5
0000131c: SHL
0000131d: DUP2
0000131e: MSTORE
0000131f: PUSH1 0x20
00001321: PUSH1 0x04
00001323: DUP3
00001324: ADD
00001325: MSTORE
00001326: PUSH1 0x09
00001328: PUSH1 0x24
0000132a: DUP3
0000132b: ADD
0000132c: MSTORE
0000132d: PUSH9 0x1b9bdd081cdd185c9d
00001337: PUSH1 0xba
00001339: SHL
0000133a: PUSH1 0x44
0000133c: DUP3
0000133d: ADD
0000133e: MSTORE
0000133f: SWAP1
00001340: MLOAD
00001341: SWAP1
00001342: DUP2
00001343: SWAP1
00001344: SUB
00001345: PUSH1 0x64
00001347: ADD
00001348: SWAP1
00001349: REVERT
0000134a: JUMPDEST
0000134b: PUSH1 0x05
0000134d: SLOAD
0000134e: PUSH1 0x40
00001350: DUP1
00001351: MLOAD
00001352: PUSH4 0xd82c0339
00001357: PUSH1 0xe0
00001359: SHL
0000135a: DUP2
0000135b: MSTORE
0000135c: CALLER
0000135d: PUSH1 0x04
0000135f: DUP3
00001360: ADD
00001361: MSTORE
00001362: SWAP1
00001363: MLOAD
00001364: PUSH1 0x01
00001366: PUSH1 0x01
00001368: PUSH1 0xa0
0000136a: SHL
0000136b: SUB
0000136c: SWAP1
0000136d: SWAP3
0000136e: AND
0000136f: SWAP2
00001370: PUSH4 0xd82c0339
00001375: SWAP2
00001376: PUSH1 0x24
00001378: DUP1
00001379: DUP3
0000137a: ADD
0000137b: SWAP3
0000137c: PUSH1 0x20
0000137e: SWAP3
0000137f: SWAP1
00001380: SWAP2
00001381: SWAP1
00001382: DUP3
00001383: SWAP1
00001384: SUB
00001385: ADD
00001386: DUP2
00001387: DUP7
00001388: DUP1
00001389: EXTCODESIZE
0000138a: ISZERO
0000138b: DUP1
0000138c: ISZERO
0000138d: PUSH2 0x1395
00001390: JUMPI
00001391: PUSH1 0x00
00001393: DUP1
00001394: REVERT
00001395: JUMPDEST
00001396: POP
00001397: GAS
00001398: STATICCALL
00001399: ISZERO
0000139a: DUP1
0000139b: ISZERO
0000139c: PUSH2 0x13a9
0000139f: JUMPI
000013a0: RETURNDATASIZE
000013a1: PUSH1 0x00
000013a3: DUP1
000013a4: RETURNDATACOPY
000013a5: RETURNDATASIZE
000013a6: PUSH1 0x00
000013a8: REVERT
000013a9: JUMPDEST
000013aa: POP
000013ab: POP
000013ac: POP
000013ad: POP
000013ae: PUSH1 0x40
000013b0: MLOAD
000013b1: RETURNDATASIZE
000013b2: PUSH1 0x20
000013b4: DUP2
000013b5: LT
000013b6: ISZERO
000013b7: PUSH2 0x13bf
000013ba: JUMPI
000013bb: PUSH1 0x00
000013bd: DUP1
000013be: REVERT
000013bf: JUMPDEST
000013c0: POP
000013c1: MLOAD
000013c2: ISZERO
000013c3: ISZERO
000013c4: PUSH1 0x01
000013c6: EQ
000013c7: PUSH2 0x1401
000013ca: JUMPI
000013cb: PUSH1 0x40
000013cd: MLOAD
000013ce: PUSH3 0x461bcd
000013d2: PUSH1 0xe5
000013d4: SHL
000013d5: DUP2
000013d6: MSTORE
000013d7: PUSH1 0x04
000013d9: ADD
000013da: DUP1
000013db: DUP1
000013dc: PUSH1 0x20
000013de: ADD
000013df: DUP3
000013e0: DUP2
000013e1: SUB
000013e2: DUP3
000013e3: MSTORE
000013e4: PUSH1 0x2d
000013e6: DUP2
000013e7: MSTORE
000013e8: PUSH1 0x20
000013ea: ADD
000013eb: DUP1
000013ec: PUSH2 0x422e
000013ef: PUSH1 0x2d
000013f1: SWAP2
000013f2: CODECOPY
000013f3: PUSH1 0x40
000013f5: ADD
000013f6: SWAP2
000013f7: POP
000013f8: POP
000013f9: PUSH1 0x40
000013fb: MLOAD
000013fc: DUP1
000013fd: SWAP2
000013fe: SUB
000013ff: SWAP1
00001400: REVERT
00001401: JUMPDEST
00001402: CALLER
00001403: PUSH1 0x00
00001405: DUP2
00001406: DUP2
00001407: MSTORE
00001408: PUSH1 0x0e
0000140a: PUSH1 0x20
0000140c: DUP2
0000140d: DUP2
0000140e: MSTORE
0000140f: PUSH1 0x40
00001411: DUP1
00001412: DUP5
00001413: KECCAK256
00001414: PUSH1 0x01
00001416: PUSH1 0x01
00001418: PUSH1 0xa0
0000141a: SHL
0000141b: SUB
0000141c: DUP11
0000141d: AND
0000141e: DUP6
0000141f: MSTORE
00001420: DUP1
00001421: DUP4
00001422: MSTORE
00001423: SWAP1
00001424: DUP5
00001425: KECCAK256
00001426: SWAP5
00001427: SWAP1
00001428: SWAP4
00001429: MSTORE
0000142a: MSTORE
0000142b: PUSH1 0x01
0000142d: ADD
0000142e: SLOAD
0000142f: PUSH1 0xff
00001431: AND
00001432: PUSH2 0x1493
00001435: JUMPI
00001436: CALLER
00001437: PUSH1 0x00
00001439: DUP2
0000143a: DUP2
0000143b: MSTORE
0000143c: PUSH1 0x0e
0000143e: PUSH1 0x20
00001440: MSTORE
00001441: PUSH1 0x40
00001443: DUP2
00001444: KECCAK256
00001445: PUSH1 0x01
00001447: SWAP1
00001448: DUP2
00001449: ADD
0000144a: DUP1
0000144b: SLOAD
0000144c: PUSH1 0xff
0000144e: NOT
0000144f: AND
00001450: DUP3
00001451: OR
00001452: SWAP1
00001453: SSTORE
00001454: PUSH1 0x13
00001456: DUP1
00001457: SLOAD
00001458: SWAP2
00001459: DUP3
0000145a: ADD
0000145b: DUP2
0000145c: SSTORE
0000145d: SWAP1
0000145e: SWAP2
0000145f: MSTORE
00001460: PUSH32 0x66de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a090
00001481: ADD
00001482: DUP1
00001483: SLOAD
00001484: PUSH1 0x01
00001486: PUSH1 0x01
00001488: PUSH1 0xa0
0000148a: SHL
0000148b: SUB
0000148c: NOT
0000148d: AND
0000148e: SWAP1
0000148f: SWAP2
00001490: OR
00001491: SWAP1
00001492: SSTORE
00001493: JUMPDEST
00001494: PUSH1 0x00
00001496: DUP2
00001497: PUSH20 0xab2ea31dba6270584486b6d7657fbfcd10f8bfae
000014ac: PUSH4 0x95ab34b2
000014b1: SWAP1
000014b2: SWAP2
000014b3: PUSH1 0x40
000014b5: MLOAD
000014b6: DUP3
000014b7: PUSH4 0xffffffff
000014bc: AND
000014bd: PUSH1 0xe0
000014bf: SHL
000014c0: DUP2
000014c1: MSTORE
000014c2: PUSH1 0x04
000014c4: ADD
000014c5: DUP1
000014c6: DUP3
000014c7: DUP2
000014c8: MSTORE
000014c9: PUSH1 0x20
000014cb: ADD
000014cc: SWAP2
000014cd: POP
000014ce: POP
000014cf: PUSH1 0x20
000014d1: PUSH1 0x40
000014d3: MLOAD
000014d4: DUP1
000014d5: DUP4
000014d6: SUB
000014d7: DUP2
000014d8: DUP7
000014d9: DUP1
000014da: EXTCODESIZE
000014db: ISZERO
000014dc: DUP1
000014dd: ISZERO
000014de: PUSH2 0x14e6
000014e1: JUMPI
000014e2: PUSH1 0x00
000014e4: DUP1
000014e5: REVERT
000014e6: JUMPDEST
000014e7: POP
000014e8: GAS
000014e9: DELEGATECALL
000014ea: ISZERO
000014eb: DUP1
000014ec: ISZERO
000014ed: PUSH2 0x14fa
000014f0: JUMPI
000014f1: RETURNDATASIZE
000014f2: PUSH1 0x00
000014f4: DUP1
000014f5: RETURNDATACOPY
000014f6: RETURNDATASIZE
000014f7: PUSH1 0x00
000014f9: REVERT
000014fa: JUMPDEST
000014fb: POP
000014fc: POP
000014fd: POP
000014fe: POP
000014ff: PUSH1 0x40
00001501: MLOAD
00001502: RETURNDATASIZE
00001503: PUSH1 0x20
00001505: DUP2
00001506: LT
00001507: ISZERO
00001508: PUSH2 0x1510
0000150b: JUMPI
0000150c: PUSH1 0x00
0000150e: DUP1
0000150f: REVERT
00001510: JUMPDEST
00001511: POP
00001512: MLOAD
00001513: SWAP1
00001514: POP
00001515: PUSH1 0x00
00001517: DUP2
00001518: SLT
00001519: ISZERO
0000151a: PUSH2 0x1554
0000151d: JUMPI
0000151e: PUSH1 0x40
00001520: MLOAD
00001521: PUSH3 0x461bcd
00001525: PUSH1 0xe5
00001527: SHL
00001528: DUP2
00001529: MSTORE
0000152a: PUSH1 0x04
0000152c: ADD
0000152d: DUP1
0000152e: DUP1
0000152f: PUSH1 0x20
00001531: ADD
00001532: DUP3
00001533: DUP2
00001534: SUB
00001535: DUP3
00001536: MSTORE
00001537: PUSH1 0x60
00001539: DUP2
0000153a: MSTORE
0000153b: PUSH1 0x20
0000153d: ADD
0000153e: DUP1
0000153f: PUSH2 0x425b
00001542: PUSH1 0x60
00001544: SWAP2
00001545: CODECOPY
00001546: PUSH1 0x60
00001548: ADD
00001549: SWAP2
0000154a: POP
0000154b: POP
0000154c: PUSH1 0x40
0000154e: MLOAD
0000154f: DUP1
00001550: SWAP2
00001551: SUB
00001552: SWAP1
00001553: REVERT
00001554: JUMPDEST
00001555: PUSH1 0x40
00001557: DUP1
00001558: MLOAD
00001559: PUSH4 0x06bf22c7
0000155e: PUSH1 0xe5
00001560: SHL
00001561: DUP2
00001562: MSTORE
00001563: PUSH1 0x04
00001565: DUP2
00001566: ADD
00001567: DUP5
00001568: SWAP1
00001569: MSTORE
0000156a: PUSH1 0x24
0000156c: DUP2
0000156d: ADD
0000156e: DUP8
0000156f: SWAP1
00001570: MSTORE
00001571: PUSH1 0x00
00001573: PUSH1 0x44
00001575: DUP3
00001576: ADD
00001577: DUP2
00001578: SWAP1
00001579: MSTORE
0000157a: TIMESTAMP
0000157b: PUSH1 0x64
0000157d: DUP4
0000157e: ADD
0000157f: MSTORE
00001580: SWAP2
00001581: MLOAD
00001582: DUP3
00001583: SWAP2
00001584: DUP5
00001585: SWAP2
00001586: PUSH20 0xab2ea31dba6270584486b6d7657fbfcd10f8bfae
0000159b: SWAP2
0000159c: PUSH4 0xd7e458e0
000015a1: SWAP2
000015a2: PUSH1 0x84
000015a4: DUP1
000015a5: DUP4
000015a6: ADD
000015a7: SWAP3
000015a8: PUSH1 0x20
000015aa: SWAP3
000015ab: SWAP2
000015ac: SWAP1
000015ad: DUP3
000015ae: SWAP1
000015af: SUB
000015b0: ADD
000015b1: DUP2
000015b2: DUP7
000015b3: DUP1
000015b4: EXTCODESIZE
000015b5: ISZERO
000015b6: DUP1
000015b7: ISZERO
000015b8: PUSH2 0x15c0
000015bb: JUMPI
000015bc: PUSH1 0x00
000015be: DUP1
000015bf: REVERT
000015c0: JUMPDEST
000015c1: POP
000015c2: GAS
000015c3: DELEGATECALL
000015c4: ISZERO
000015c5: DUP1
000015c6: ISZERO
000015c7: PUSH2 0x15d4
000015ca: JUMPI
000015cb: RETURNDATASIZE
000015cc: PUSH1 0x00
000015ce: DUP1
000015cf: RETURNDATACOPY
000015d0: RETURNDATASIZE
000015d1: PUSH1 0x00
000015d3: REVERT
000015d4: JUMPDEST
000015d5: POP
000015d6: POP
000015d7: POP
000015d8: POP
000015d9: PUSH1 0x40
000015db: MLOAD
000015dc: RETURNDATASIZE
000015dd: PUSH1 0x20
000015df: DUP2
000015e0: LT
000015e1: ISZERO
000015e2: PUSH2 0x15ea
000015e5: JUMPI
000015e6: PUSH1 0x00
000015e8: DUP1
000015e9: REVERT
000015ea: JUMPDEST
000015eb: POP
000015ec: MLOAD
000015ed: PUSH1 0x01
000015ef: PUSH1 0x01
000015f1: PUSH1 0xa0
000015f3: SHL
000015f4: SUB
000015f5: DUP11
000015f6: AND
000015f7: PUSH1 0x00
000015f9: SWAP1
000015fa: DUP2
000015fb: MSTORE
000015fc: PUSH1 0x0f
000015fe: PUSH1 0x20
00001600: MSTORE
00001601: PUSH1 0x40
00001603: SWAP1
00001604: KECCAK256
00001605: SLOAD
00001606: SWAP2
00001607: SWAP1
00001608: SUB
00001609: SWAP2
0000160a: POP
0000160b: PUSH2 0x161a
0000160e: SWAP1
0000160f: DUP3
00001610: PUSH4 0xffffffff
00001615: PUSH2 0x31bc
00001618: AND
00001619: JUMP
0000161a: JUMPDEST
0000161b: PUSH1 0x01
0000161d: PUSH1 0x01
0000161f: PUSH1 0xa0
00001621: SHL
00001622: SUB
00001623: DUP10
00001624: AND
00001625: PUSH1 0x00
00001627: DUP2
00001628: DUP2
00001629: MSTORE
0000162a: PUSH1 0x0f
0000162c: PUSH1 0x20
0000162e: SWAP1
0000162f: DUP2
00001630: MSTORE
00001631: PUSH1 0x40
00001633: SWAP2
00001634: DUP3
00001635: SWAP1
00001636: KECCAK256
00001637: SWAP4
00001638: SWAP1
00001639: SWAP4
0000163a: SSTORE
0000163b: DUP1
0000163c: MLOAD
0000163d: CALLER
0000163e: DUP2
0000163f: MSTORE
00001640: SWAP3
00001641: DUP4
00001642: ADD
00001643: DUP11
00001644: SWAP1
00001645: MSTORE
00001646: DUP3
00001647: DUP2
00001648: ADD
00001649: SWAP2
0000164a: SWAP1
0000164b: SWAP2
0000164c: MSTORE
0000164d: MLOAD
0000164e: PUSH32 0xffe41e781f5e74edc062629956c6173a848f8b277257d0199d152839f4bab732
0000166f: SWAP2
00001670: DUP2
00001671: SWAP1
00001672: SUB
00001673: PUSH1 0x60
00001675: ADD
00001676: SWAP1
00001677: LOG1
00001678: PUSH2 0x1683
0000167b: CALLER
0000167c: DUP9
0000167d: DUP10
0000167e: DUP12
0000167f: PUSH2 0x3221
00001682: JUMP
00001683: JUMPDEST
00001684: POP
00001685: POP
00001686: POP
00001687: POP
00001688: POP
00001689: POP
0000168a: POP
0000168b: POP
0000168c: JUMP
0000168d: JUMPDEST
0000168e: PUSH1 0x03
00001690: SLOAD
00001691: PUSH1 0x01
00001693: PUSH1 0x01
00001695: PUSH1 0xa0
00001697: SHL
00001698: SUB
00001699: AND
0000169a: DUP2
0000169b: JUMP
0000169c: JUMPDEST
0000169d: CALLER
0000169e: PUSH1 0x00
000016a0: PUSH2 0x16a7
000016a3: PUSH2 0x2111
000016a6: JUMP
000016a7: JUMPDEST
000016a8: SWAP1
000016a9: POP
000016aa: PUSH1 0x60
000016ac: DUP2
000016ad: PUSH1 0x40
000016af: MLOAD
000016b0: SWAP1
000016b1: DUP1
000016b2: DUP3
000016b3: MSTORE
000016b4: DUP1
000016b5: PUSH1 0x20
000016b7: MUL
000016b8: PUSH1 0x20
000016ba: ADD
000016bb: DUP3
000016bc: ADD
000016bd: PUSH1 0x40
000016bf: MSTORE
000016c0: DUP1
000016c1: ISZERO
000016c2: PUSH2 0x16d5
000016c5: JUMPI
000016c6: DUP2
000016c7: PUSH1 0x20
000016c9: ADD
000016ca: PUSH1 0x20
000016cc: DUP3
000016cd: MUL
000016ce: DUP1
000016cf: CODESIZE
000016d0: DUP4
000016d1: CODECOPY
000016d2: ADD
000016d3: SWAP1
000016d4: POP
000016d5: JUMPDEST
000016d6: POP
000016d7: SWAP1
000016d8: POP
000016d9: PUSH1 0x00
000016db: JUMPDEST
000016dc: DUP3
000016dd: DUP2
000016de: LT
000016df: ISZERO
000016e0: PUSH2 0x179f
000016e3: JUMPI
000016e4: PUSH1 0x00
000016e6: PUSH1 0x27
000016e8: PUSH20 0x3414b7e8332b4da3e268ca7aa5bee6b9a25787f7
000016fd: PUSH4 0x20ad2894
00001702: SWAP1
00001703: SWAP2
00001704: DUP5
00001705: PUSH1 0x40
00001707: MLOAD
00001708: DUP4
00001709: PUSH4 0xffffffff
0000170e: AND
0000170f: PUSH1 0xe0
00001711: SHL
00001712: DUP2
00001713: MSTORE
00001714: PUSH1 0x04
00001716: ADD
00001717: DUP1
00001718: DUP4
00001719: DUP2
0000171a: MSTORE
0000171b: PUSH1 0x20
0000171d: ADD
0000171e: DUP3
0000171f: DUP2
00001720: MSTORE
00001721: PUSH1 0x20
00001723: ADD
00001724: SWAP3
00001725: POP
00001726: POP
00001727: POP
00001728: PUSH1 0x20
0000172a: PUSH1 0x40
0000172c: MLOAD
0000172d: DUP1
0000172e: DUP4
0000172f: SUB
00001730: DUP2
00001731: DUP7
00001732: DUP1
00001733: EXTCODESIZE
00001734: ISZERO
00001735: DUP1
00001736: ISZERO
00001737: PUSH2 0x173f
0000173a: JUMPI
0000173b: PUSH1 0x00
0000173d: DUP1
0000173e: REVERT
0000173f: JUMPDEST
00001740: POP
00001741: GAS
00001742: DELEGATECALL
00001743: ISZERO
00001744: DUP1
00001745: ISZERO
00001746: PUSH2 0x1753
00001749: JUMPI
0000174a: RETURNDATASIZE
0000174b: PUSH1 0x00
0000174d: DUP1
0000174e: RETURNDATACOPY
0000174f: RETURNDATASIZE
00001750: PUSH1 0x00
00001752: REVERT
00001753: JUMPDEST
00001754: POP
00001755: POP
00001756: POP
00001757: POP
00001758: PUSH1 0x40
0000175a: MLOAD
0000175b: RETURNDATASIZE
0000175c: PUSH1 0x20
0000175e: DUP2
0000175f: LT
00001760: ISZERO
00001761: PUSH2 0x1769
00001764: JUMPI
00001765: PUSH1 0x00
00001767: DUP1
00001768: REVERT
00001769: JUMPDEST
0000176a: POP
0000176b: MLOAD
0000176c: DUP4
0000176d: MLOAD
0000176e: SWAP1
0000176f: SWAP2
00001770: POP
00001771: DUP2
00001772: SWAP1
00001773: DUP5
00001774: SWAP1
00001775: DUP5
00001776: SWAP1
00001777: DUP2
00001778: LT
00001779: PUSH2 0x177e
0000177c: JUMPI
0000177d: INVALID
0000177e: JUMPDEST
0000177f: PUSH1 0x01
00001781: PUSH1 0x01
00001783: PUSH1 0xa0
00001785: SHL
00001786: SUB
00001787: SWAP1
00001788: SWAP3
00001789: AND
0000178a: PUSH1 0x20
0000178c: SWAP3
0000178d: DUP4
0000178e: MUL
0000178f: SWAP2
00001790: SWAP1
00001791: SWAP2
00001792: ADD
00001793: SWAP1
00001794: SWAP2
00001795: ADD
00001796: MSTORE
00001797: POP
00001798: PUSH1 0x01
0000179a: ADD
0000179b: PUSH2 0x16db
0000179e: JUMP
0000179f: JUMPDEST
000017a0: POP
000017a1: PUSH1 0x00
000017a3: JUMPDEST
000017a4: PUSH1 0x03
000017a6: DUP2
000017a7: LT
000017a8: ISZERO
000017a9: PUSH2 0x1870
000017ac: JUMPI
000017ad: PUSH1 0x00
000017af: DUP3
000017b0: DUP3
000017b1: DUP2
000017b2: MLOAD
000017b3: DUP2
000017b4: LT
000017b5: PUSH2 0x17ba
000017b8: JUMPI
000017b9: INVALID
000017ba: JUMPDEST
000017bb: PUSH1 0x20
000017bd: MUL
000017be: PUSH1 0x20
000017c0: ADD
000017c1: ADD
000017c2: MLOAD
000017c3: SWAP1
000017c4: POP
000017c5: PUSH2 0x17cd
000017c8: DUP2
000017c9: PUSH2 0x2edc
000017cc: JUMP
000017cd: JUMPDEST
000017ce: PUSH1 0x01
000017d0: PUSH1 0x01
000017d2: PUSH1 0xa0
000017d4: SHL
000017d5: SUB
000017d6: DUP3
000017d7: AND
000017d8: PUSH1 0x00
000017da: SWAP1
000017db: DUP2
000017dc: MSTORE
000017dd: PUSH1 0x1b
000017df: PUSH1 0x20
000017e1: MSTORE
000017e2: PUSH1 0x40
000017e4: SWAP1
000017e5: KECCAK256
000017e6: SSTORE
000017e7: PUSH2 0x17ee
000017ea: PUSH2 0x20ec
000017ed: JUMP
000017ee: JUMPDEST
000017ef: PUSH1 0x01
000017f1: PUSH1 0x01
000017f3: PUSH1 0xa0
000017f5: SHL
000017f6: SUB
000017f7: DUP1
000017f8: DUP4
000017f9: AND
000017fa: PUSH1 0x00
000017fc: SWAP1
000017fd: DUP2
000017fe: MSTORE
000017ff: PUSH1 0x1a
00001801: PUSH1 0x20
00001803: MSTORE
00001804: PUSH1 0x40
00001806: SWAP1
00001807: KECCAK256
00001808: SWAP2
00001809: SWAP1
0000180a: SWAP2
0000180b: SSTORE
0000180c: DUP6
0000180d: AND
0000180e: ISZERO
0000180f: PUSH2 0x1867
00001812: JUMPI
00001813: PUSH2 0x181c
00001816: DUP6
00001817: DUP3
00001818: PUSH2 0x0fcb
0000181b: JUMP
0000181c: JUMPDEST
0000181d: PUSH1 0x01
0000181f: PUSH1 0x01
00001821: PUSH1 0xa0
00001823: SHL
00001824: SUB
00001825: DUP1
00001826: DUP4
00001827: AND
00001828: PUSH1 0x00
0000182a: DUP2
0000182b: DUP2
0000182c: MSTORE
0000182d: PUSH1 0x25
0000182f: PUSH1 0x20
00001831: SWAP1
00001832: DUP2
00001833: MSTORE
00001834: PUSH1 0x40
00001836: DUP1
00001837: DUP4
00001838: KECCAK256
00001839: SWAP5
0000183a: DUP12
0000183b: AND
0000183c: DUP1
0000183d: DUP5
0000183e: MSTORE
0000183f: SWAP5
00001840: DUP3
00001841: MSTORE
00001842: DUP1
00001843: DUP4
00001844: KECCAK256
00001845: SWAP6
00001846: SWAP1
00001847: SWAP6
00001848: SSTORE
00001849: SWAP2
0000184a: DUP2
0000184b: MSTORE
0000184c: PUSH1 0x1b
0000184e: DUP3
0000184f: MSTORE
00001850: DUP4
00001851: DUP2
00001852: KECCAK256
00001853: SLOAD
00001854: PUSH1 0x24
00001856: DUP4
00001857: MSTORE
00001858: DUP5
00001859: DUP3
0000185a: KECCAK256
0000185b: SWAP4
0000185c: DUP3
0000185d: MSTORE
0000185e: SWAP3
0000185f: SWAP1
00001860: SWAP2
00001861: MSTORE
00001862: SWAP2
00001863: SWAP1
00001864: SWAP2
00001865: KECCAK256
00001866: SSTORE
00001867: JUMPDEST
00001868: POP
00001869: PUSH1 0x01
0000186b: ADD
0000186c: PUSH2 0x17a3
0000186f: JUMP
00001870: JUMPDEST
00001871: POP
00001872: PUSH1 0x17
00001874: SLOAD
00001875: TIMESTAMP
00001876: LT
00001877: PUSH2 0x19e1
0000187a: JUMPI
0000187b: PUSH2 0x1882
0000187e: PUSH2 0x312c
00001881: JUMP
00001882: JUMPDEST
00001883: PUSH1 0x02
00001885: SLOAD
00001886: PUSH1 0x01
00001888: SLOAD
00001889: PUSH1 0x40
0000188b: DUP1
0000188c: MLOAD
0000188d: PUSH4 0x40c10f19
00001892: PUSH1 0xe0
00001894: SHL
00001895: DUP2
00001896: MSTORE
00001897: ADDRESS
00001898: PUSH1 0x04
0000189a: DUP3
0000189b: ADD
0000189c: MSTORE
0000189d: PUSH1 0x24
0000189f: DUP2
000018a0: ADD
000018a1: SWAP3
000018a2: SWAP1
000018a3: SWAP3
000018a4: MSTORE
000018a5: MLOAD
000018a6: PUSH1 0x01
000018a8: PUSH1 0x01
000018aa: PUSH1 0xa0
000018ac: SHL
000018ad: SUB
000018ae: SWAP1
000018af: SWAP3
000018b0: AND
000018b1: SWAP2
000018b2: PUSH4 0x40c10f19
000018b7: SWAP2
000018b8: PUSH1 0x44
000018ba: DUP1
000018bb: DUP3
000018bc: ADD
000018bd: SWAP3
000018be: PUSH1 0x00
000018c0: SWAP3
000018c1: SWAP1
000018c2: SWAP2
000018c3: SWAP1
000018c4: DUP3
000018c5: SWAP1
000018c6: SUB
000018c7: ADD
000018c8: DUP2
000018c9: DUP4
000018ca: DUP8
000018cb: DUP1
000018cc: EXTCODESIZE
000018cd: ISZERO
000018ce: DUP1
000018cf: ISZERO
000018d0: PUSH2 0x18d8
000018d3: JUMPI
000018d4: PUSH1 0x00
000018d6: DUP1
000018d7: REVERT
000018d8: JUMPDEST
000018d9: POP
000018da: GAS
000018db: CALL
000018dc: ISZERO
000018dd: DUP1
000018de: ISZERO
000018df: PUSH2 0x18ec
000018e2: JUMPI
000018e3: RETURNDATASIZE
000018e4: PUSH1 0x00
000018e6: DUP1
000018e7: RETURNDATACOPY
000018e8: RETURNDATASIZE
000018e9: PUSH1 0x00
000018eb: REVERT
000018ec: JUMPDEST
000018ed: POP
000018ee: POP
000018ef: PUSH1 0x09
000018f1: SLOAD
000018f2: PUSH1 0x01
000018f4: SLOAD
000018f5: PUSH2 0x1909
000018f8: SWAP4
000018f9: POP
000018fa: SWAP2
000018fb: POP
000018fc: PUSH1 0x03
000018fe: MUL
000018ff: PUSH4 0xffffffff
00001904: PUSH2 0x30ea
00001907: AND
00001908: JUMP
00001909: JUMPDEST
0000190a: PUSH1 0x18
0000190c: DUP2
0000190d: SWAP1
0000190e: SSTORE
0000190f: POP
00001910: PUSH2 0x1930
00001913: PUSH1 0x23
00001915: SLOAD
00001916: PUSH1 0x09
00001918: SLOAD
00001919: MUL
0000191a: PUSH2 0x104e
0000191d: PUSH1 0x20
0000191f: SLOAD
00001920: PUSH1 0x01
00001922: SLOAD
00001923: PUSH2 0x3091
00001926: SWAP1
00001927: SWAP2
00001928: SWAP1
00001929: PUSH4 0xffffffff
0000192e: AND
0000192f: JUMP
00001930: JUMPDEST
00001931: PUSH1 0x08
00001933: SLOAD
00001934: PUSH1 0x01
00001936: PUSH1 0x01
00001938: PUSH1 0xa0
0000193a: SHL
0000193b: SUB
0000193c: AND
0000193d: PUSH1 0x00
0000193f: SWAP1
00001940: DUP2
00001941: MSTORE
00001942: PUSH1 0x19
00001944: PUSH1 0x20
00001946: MSTORE
00001947: PUSH1 0x40
00001949: SWAP1
0000194a: KECCAK256
0000194b: SSTORE
0000194c: PUSH1 0x23
0000194e: SLOAD
0000194f: PUSH1 0x09
00001951: SLOAD
00001952: PUSH1 0x21
00001954: SLOAD
00001955: PUSH1 0x01
00001957: SLOAD
00001958: PUSH2 0x196f
0000195b: SWAP4
0000195c: SWAP3
0000195d: SWAP1
0000195e: SWAP3
0000195f: MUL
00001960: SWAP2
00001961: PUSH2 0x104e
00001964: SWAP2
00001965: PUSH4 0xffffffff
0000196a: PUSH2 0x3091
0000196d: AND
0000196e: JUMP
0000196f: JUMPDEST
00001970: PUSH1 0x07
00001972: SLOAD
00001973: PUSH1 0x01
00001975: PUSH1 0x01
00001977: PUSH1 0xa0
00001979: SHL
0000197a: SUB
0000197b: AND
0000197c: PUSH1 0x00
0000197e: SWAP1
0000197f: DUP2
00001980: MSTORE
00001981: PUSH1 0x19
00001983: PUSH1 0x20
00001985: MSTORE
00001986: PUSH1 0x40
00001988: SWAP1
00001989: KECCAK256
0000198a: SSTORE
0000198b: PUSH1 0x23
0000198d: SLOAD
0000198e: PUSH1 0x09
00001990: SLOAD
00001991: PUSH1 0x22
00001993: SLOAD
00001994: PUSH1 0x01
00001996: SLOAD
00001997: PUSH2 0x19ae
0000199a: SWAP4
0000199b: SWAP3
0000199c: SWAP1
0000199d: SWAP3
0000199e: MUL
0000199f: SWAP2
000019a0: PUSH2 0x104e
000019a3: SWAP2
000019a4: PUSH4 0xffffffff
000019a9: PUSH2 0x3091
000019ac: AND
000019ad: JUMP
000019ae: JUMPDEST
000019af: PUSH1 0x06
000019b1: SLOAD
000019b2: PUSH1 0x01
000019b4: PUSH1 0x01
000019b6: PUSH1 0xa0
000019b8: SHL
000019b9: SUB
000019ba: AND
000019bb: PUSH1 0x00
000019bd: SWAP1
000019be: DUP2
000019bf: MSTORE
000019c0: PUSH1 0x19
000019c2: PUSH1 0x20
000019c4: MSTORE
000019c5: PUSH1 0x40
000019c7: SWAP1
000019c8: KECCAK256
000019c9: SSTORE
000019ca: PUSH1 0x09
000019cc: SLOAD
000019cd: PUSH2 0x19dd
000019d0: SWAP1
000019d1: TIMESTAMP
000019d2: SWAP1
000019d3: PUSH4 0xffffffff
000019d8: PUSH2 0x2ff5
000019db: AND
000019dc: JUMP
000019dd: JUMPDEST
000019de: PUSH1 0x17
000019e0: SSTORE
000019e1: JUMPDEST
000019e2: PUSH1 0x16
000019e4: SLOAD
000019e5: TIMESTAMP
000019e6: GT
000019e7: PUSH2 0x1a23
000019ea: JUMPI
000019eb: PUSH1 0x40
000019ed: DUP1
000019ee: MLOAD
000019ef: PUSH3 0x461bcd
000019f3: PUSH1 0xe5
000019f5: SHL
000019f6: DUP2
000019f7: MSTORE
000019f8: PUSH1 0x20
000019fa: PUSH1 0x04
000019fc: DUP3
000019fd: ADD
000019fe: MSTORE
000019ff: PUSH1 0x09
00001a01: PUSH1 0x24
00001a03: DUP3
00001a04: ADD
00001a05: MSTORE
00001a06: PUSH9 0x1b9bdd081cdd185c9d
00001a10: PUSH1 0xba
00001a12: SHL
00001a13: PUSH1 0x44
00001a15: DUP3
00001a16: ADD
00001a17: MSTORE
00001a18: SWAP1
00001a19: MLOAD
00001a1a: SWAP1
00001a1b: DUP2
00001a1c: SWAP1
00001a1d: SUB
00001a1e: PUSH1 0x64
00001a20: ADD
00001a21: SWAP1
00001a22: REVERT
00001a23: JUMPDEST
00001a24: PUSH1 0x00
00001a26: DUP1
00001a27: PUSH2 0x1a2e
00001a2a: PUSH2 0x2111
00001a2d: JUMP
00001a2e: JUMPDEST
00001a2f: SWAP1
00001a30: POP
00001a31: PUSH1 0x60
00001a33: DUP2
00001a34: PUSH1 0x40
00001a36: MLOAD
00001a37: SWAP1
00001a38: DUP1
00001a39: DUP3
00001a3a: MSTORE
00001a3b: DUP1
00001a3c: PUSH1 0x20
00001a3e: MUL
00001a3f: PUSH1 0x20
00001a41: ADD
00001a42: DUP3
00001a43: ADD
00001a44: PUSH1 0x40
00001a46: MSTORE
00001a47: DUP1
00001a48: ISZERO
00001a49: PUSH2 0x1a5c
00001a4c: JUMPI
00001a4d: DUP2
00001a4e: PUSH1 0x20
00001a50: ADD
00001a51: PUSH1 0x20
00001a53: DUP3
00001a54: MUL
00001a55: DUP1
00001a56: CODESIZE
00001a57: DUP4
00001a58: CODECOPY
00001a59: ADD
00001a5a: SWAP1
00001a5b: POP
00001a5c: JUMPDEST
00001a5d: POP
00001a5e: SWAP1
00001a5f: POP
00001a60: PUSH1 0x00
00001a62: JUMPDEST
00001a63: DUP3
00001a64: DUP2
00001a65: LT
00001a66: ISZERO
00001a67: PUSH2 0x1b5d
00001a6a: JUMPI
00001a6b: PUSH1 0x00
00001a6d: PUSH1 0x27
00001a6f: PUSH20 0x3414b7e8332b4da3e268ca7aa5bee6b9a25787f7
00001a84: PUSH4 0x20ad2894
00001a89: SWAP1
00001a8a: SWAP2
00001a8b: DUP5
00001a8c: PUSH1 0x40
00001a8e: MLOAD
00001a8f: DUP4
00001a90: PUSH4 0xffffffff
00001a95: AND
00001a96: PUSH1 0xe0
00001a98: SHL
00001a99: DUP2
00001a9a: MSTORE
00001a9b: PUSH1 0x04
00001a9d: ADD
00001a9e: DUP1
00001a9f: DUP4
00001aa0: DUP2
00001aa1: MSTORE
00001aa2: PUSH1 0x20
00001aa4: ADD
00001aa5: DUP3
00001aa6: DUP2
00001aa7: MSTORE
00001aa8: PUSH1 0x20
00001aaa: ADD
00001aab: SWAP3
00001aac: POP
00001aad: POP
00001aae: POP
00001aaf: PUSH1 0x20
00001ab1: PUSH1 0x40
00001ab3: MLOAD
00001ab4: DUP1
00001ab5: DUP4
00001ab6: SUB
00001ab7: DUP2
00001ab8: DUP7
00001ab9: DUP1
00001aba: EXTCODESIZE
00001abb: ISZERO
00001abc: DUP1
00001abd: ISZERO
00001abe: PUSH2 0x1ac6
00001ac1: JUMPI
00001ac2: PUSH1 0x00
00001ac4: DUP1
00001ac5: REVERT
00001ac6: JUMPDEST
00001ac7: POP
00001ac8: GAS
00001ac9: DELEGATECALL
00001aca: ISZERO
00001acb: DUP1
00001acc: ISZERO
00001acd: PUSH2 0x1ada
00001ad0: JUMPI
00001ad1: RETURNDATASIZE
00001ad2: PUSH1 0x00
00001ad4: DUP1
00001ad5: RETURNDATACOPY
00001ad6: RETURNDATASIZE
00001ad7: PUSH1 0x00
00001ad9: REVERT
00001ada: JUMPDEST
00001adb: POP
00001adc: POP
00001add: POP
00001ade: POP
00001adf: PUSH1 0x40
00001ae1: MLOAD
00001ae2: RETURNDATASIZE
00001ae3: PUSH1 0x20
00001ae5: DUP2
00001ae6: LT
00001ae7: ISZERO
00001ae8: PUSH2 0x1af0
00001aeb: JUMPI
00001aec: PUSH1 0x00
00001aee: DUP1
00001aef: REVERT
00001af0: JUMPDEST
00001af1: POP
00001af2: MLOAD
00001af3: DUP4
00001af4: MLOAD
00001af5: SWAP1
00001af6: SWAP2
00001af7: POP
00001af8: DUP2
00001af9: SWAP1
00001afa: DUP5
00001afb: SWAP1
00001afc: DUP5
00001afd: SWAP1
00001afe: DUP2
00001aff: LT
00001b00: PUSH2 0x1b05
00001b03: JUMPI
00001b04: INVALID
00001b05: JUMPDEST
00001b06: PUSH1 0x20
00001b08: MUL
00001b09: PUSH1 0x20
00001b0b: ADD
00001b0c: ADD
00001b0d: SWAP1
00001b0e: PUSH1 0x01
00001b10: PUSH1 0x01
00001b12: PUSH1 0xa0
00001b14: SHL
00001b15: SUB
00001b16: AND
00001b17: SWAP1
00001b18: DUP2
00001b19: PUSH1 0x01
00001b1b: PUSH1 0x01
00001b1d: PUSH1 0xa0
00001b1f: SHL
00001b20: SUB
00001b21: AND
00001b22: DUP2
00001b23: MSTORE
00001b24: POP
00001b25: POP
00001b26: PUSH2 0x1b52
00001b29: PUSH2 0x1b45
00001b2c: CALLER
00001b2d: DUP6
00001b2e: DUP6
00001b2f: DUP2
00001b30: MLOAD
00001b31: DUP2
00001b32: LT
00001b33: PUSH2 0x1b38
00001b36: JUMPI
00001b37: INVALID
00001b38: JUMPDEST
00001b39: PUSH1 0x20
00001b3b: MUL
00001b3c: PUSH1 0x20
00001b3e: ADD
00001b3f: ADD
00001b40: MLOAD
00001b41: PUSH2 0x0fcb
00001b44: JUMP
00001b45: JUMPDEST
00001b46: DUP7
00001b47: SWAP1
00001b48: PUSH4 0xffffffff
00001b4d: PUSH2 0x2ff5
00001b50: AND
00001b51: JUMP
00001b52: JUMPDEST
00001b53: SWAP5
00001b54: POP
00001b55: POP
00001b56: PUSH1 0x01
00001b58: ADD
00001b59: PUSH2 0x1a62
00001b5c: JUMP
00001b5d: JUMPDEST
00001b5e: POP
00001b5f: DUP3
00001b60: ISZERO
00001b61: PUSH2 0x1ede
00001b64: JUMPI
00001b65: PUSH1 0x00
00001b67: PUSH1 0x25
00001b69: PUSH1 0x00
00001b6b: DUP4
00001b6c: PUSH1 0x00
00001b6e: DUP2
00001b6f: MLOAD
00001b70: DUP2
00001b71: LT
00001b72: PUSH2 0x1b77
00001b75: JUMPI
00001b76: INVALID
00001b77: JUMPDEST
00001b78: PUSH1 0x20
00001b7a: MUL
00001b7b: PUSH1 0x20
00001b7d: ADD
00001b7e: ADD
00001b7f: MLOAD
00001b80: PUSH1 0x01
00001b82: PUSH1 0x01
00001b84: PUSH1 0xa0
00001b86: SHL
00001b87: SUB
00001b88: AND
00001b89: PUSH1 0x01
00001b8b: PUSH1 0x01
00001b8d: PUSH1 0xa0
00001b8f: SHL
00001b90: SUB
00001b91: AND
00001b92: DUP2
00001b93: MSTORE
00001b94: PUSH1 0x20
00001b96: ADD
00001b97: SWAP1
00001b98: DUP2
00001b99: MSTORE
00001b9a: PUSH1 0x20
00001b9c: ADD
00001b9d: PUSH1 0x00
00001b9f: KECCAK256
00001ba0: PUSH1 0x00
00001ba2: CALLER
00001ba3: PUSH1 0x01
00001ba5: PUSH1 0x01
00001ba7: PUSH1 0xa0
00001ba9: SHL
00001baa: SUB
00001bab: AND
00001bac: PUSH1 0x01
00001bae: PUSH1 0x01
00001bb0: PUSH1 0xa0
00001bb2: SHL
00001bb3: SUB
00001bb4: AND
00001bb5: DUP2
00001bb6: MSTORE
00001bb7: PUSH1 0x20
00001bb9: ADD
00001bba: SWAP1
00001bbb: DUP2
00001bbc: MSTORE
00001bbd: PUSH1 0x20
00001bbf: ADD
00001bc0: PUSH1 0x00
00001bc2: KECCAK256
00001bc3: DUP2
00001bc4: SWAP1
00001bc5: SSTORE
00001bc6: POP
00001bc7: PUSH1 0x00
00001bc9: PUSH1 0x25
00001bcb: PUSH1 0x00
00001bcd: DUP4
00001bce: PUSH1 0x01
00001bd0: DUP2
00001bd1: MLOAD
00001bd2: DUP2
00001bd3: LT
00001bd4: PUSH2 0x1bd9
00001bd7: JUMPI
00001bd8: INVALID
00001bd9: JUMPDEST
00001bda: PUSH1 0x20
00001bdc: MUL
00001bdd: PUSH1 0x20
00001bdf: ADD
00001be0: ADD
00001be1: MLOAD
00001be2: PUSH1 0x01
00001be4: PUSH1 0x01
00001be6: PUSH1 0xa0
00001be8: SHL
00001be9: SUB
00001bea: AND
00001beb: PUSH1 0x01
00001bed: PUSH1 0x01
00001bef: PUSH1 0xa0
00001bf1: SHL
00001bf2: SUB
00001bf3: AND
00001bf4: DUP2
00001bf5: MSTORE
00001bf6: PUSH1 0x20
00001bf8: ADD
00001bf9: SWAP1
00001bfa: DUP2
00001bfb: MSTORE
00001bfc: PUSH1 0x20
00001bfe: ADD
00001bff: PUSH1 0x00
00001c01: KECCAK256
00001c02: PUSH1 0x00
00001c04: CALLER
00001c05: PUSH1 0x01
00001c07: PUSH1 0x01
00001c09: PUSH1 0xa0
00001c0b: SHL
00001c0c: SUB
00001c0d: AND
00001c0e: PUSH1 0x01
00001c10: PUSH1 0x01
00001c12: PUSH1 0xa0
00001c14: SHL
00001c15: SUB
00001c16: AND
00001c17: DUP2
00001c18: MSTORE
00001c19: PUSH1 0x20
00001c1b: ADD
00001c1c: SWAP1
00001c1d: DUP2
00001c1e: MSTORE
00001c1f: PUSH1 0x20
00001c21: ADD
00001c22: PUSH1 0x00
00001c24: KECCAK256
00001c25: DUP2
00001c26: SWAP1
00001c27: SSTORE
00001c28: POP
00001c29: PUSH1 0x00
00001c2b: PUSH1 0x25
00001c2d: PUSH1 0x00
00001c2f: DUP4
00001c30: PUSH1 0x02
00001c32: DUP2
00001c33: MLOAD
00001c34: DUP2
00001c35: LT
00001c36: PUSH2 0x1c3b
00001c39: JUMPI
00001c3a: INVALID
00001c3b: JUMPDEST
00001c3c: PUSH1 0x20
00001c3e: SWAP1
00001c3f: DUP2
00001c40: MUL
00001c41: SWAP2
00001c42: SWAP1
00001c43: SWAP2
00001c44: ADD
00001c45: DUP2
00001c46: ADD
00001c47: MLOAD
00001c48: PUSH1 0x01
00001c4a: PUSH1 0x01
00001c4c: PUSH1 0xa0
00001c4e: SHL
00001c4f: SUB
00001c50: SWAP1
00001c51: DUP2
00001c52: AND
00001c53: DUP4
00001c54: MSTORE
00001c55: DUP3
00001c56: DUP3
00001c57: ADD
00001c58: SWAP4
00001c59: SWAP1
00001c5a: SWAP4
00001c5b: MSTORE
00001c5c: PUSH1 0x40
00001c5e: SWAP2
00001c5f: DUP3
00001c60: ADD
00001c61: PUSH1 0x00
00001c63: SWAP1
00001c64: DUP2
00001c65: KECCAK256
00001c66: CALLER
00001c67: DUP1
00001c68: DUP4
00001c69: MSTORE
00001c6a: SWAP1
00001c6b: DUP4
00001c6c: MSTORE
00001c6d: DUP4
00001c6e: DUP3
00001c6f: KECCAK256
00001c70: SWAP6
00001c71: SWAP1
00001c72: SWAP6
00001c73: SSTORE
00001c74: PUSH1 0x05
00001c76: SLOAD
00001c77: DUP4
00001c78: MLOAD
00001c79: PUSH4 0x7cb95f21
00001c7e: PUSH1 0xe1
00001c80: SHL
00001c81: DUP2
00001c82: MSTORE
00001c83: PUSH1 0x04
00001c85: DUP2
00001c86: ADD
00001c87: SWAP7
00001c88: SWAP1
00001c89: SWAP7
00001c8a: MSTORE
00001c8b: SWAP3
00001c8c: MLOAD
00001c8d: SWAP1
00001c8e: SWAP5
00001c8f: SWAP3
00001c90: SWAP1
00001c91: SWAP4
00001c92: AND
00001c93: SWAP3
00001c94: PUSH4 0xf972be42
00001c99: SWAP3
00001c9a: PUSH1 0x24
00001c9c: DUP1
00001c9d: DUP3
00001c9e: ADD
00001c9f: SWAP4
00001ca0: SWAP3
00001ca1: SWAP2
00001ca2: DUP3
00001ca3: SWAP1
00001ca4: SUB
00001ca5: ADD
00001ca6: DUP2
00001ca7: DUP7
00001ca8: DUP1
00001ca9: EXTCODESIZE
00001caa: ISZERO
00001cab: DUP1
00001cac: ISZERO
00001cad: PUSH2 0x1cb5
00001cb0: JUMPI
00001cb1: PUSH1 0x00
00001cb3: DUP1
00001cb4: REVERT
00001cb5: JUMPDEST
00001cb6: POP
00001cb7: GAS
00001cb8: STATICCALL
00001cb9: ISZERO
00001cba: DUP1
00001cbb: ISZERO
00001cbc: PUSH2 0x1cc9
00001cbf: JUMPI
00001cc0: RETURNDATASIZE
00001cc1: PUSH1 0x00
00001cc3: DUP1
00001cc4: RETURNDATACOPY
00001cc5: RETURNDATASIZE
00001cc6: PUSH1 0x00
00001cc8: REVERT
00001cc9: JUMPDEST
00001cca: POP
00001ccb: POP
00001ccc: POP
00001ccd: POP
00001cce: PUSH1 0x40
00001cd0: MLOAD
00001cd1: RETURNDATASIZE
00001cd2: PUSH1 0x20
00001cd4: DUP2
00001cd5: LT
00001cd6: ISZERO
00001cd7: PUSH2 0x1cdf
00001cda: JUMPI
00001cdb: PUSH1 0x00
00001cdd: DUP1
00001cde: REVERT
00001cdf: JUMPDEST
00001ce0: POP
00001ce1: MLOAD
00001ce2: PUSH1 0x01
00001ce4: PUSH1 0x01
00001ce6: PUSH1 0xa0
00001ce8: SHL
00001ce9: SUB
00001cea: AND
00001ceb: ISZERO
00001cec: PUSH2 0x1d6b
00001cef: JUMPI
00001cf0: PUSH1 0x05
00001cf2: SLOAD
00001cf3: PUSH1 0x40
00001cf5: DUP1
00001cf6: MLOAD
00001cf7: PUSH4 0x7cb95f21
00001cfc: PUSH1 0xe1
00001cfe: SHL
00001cff: DUP2
00001d00: MSTORE
00001d01: CALLER
00001d02: PUSH1 0x04
00001d04: DUP3
00001d05: ADD
00001d06: MSTORE
00001d07: SWAP1
00001d08: MLOAD
00001d09: PUSH1 0x01
00001d0b: PUSH1 0x01
00001d0d: PUSH1 0xa0
00001d0f: SHL
00001d10: SUB
00001d11: SWAP1
00001d12: SWAP3
00001d13: AND
00001d14: SWAP2
00001d15: PUSH4 0xf972be42
00001d1a: SWAP2
00001d1b: PUSH1 0x24
00001d1d: DUP1
00001d1e: DUP3
00001d1f: ADD
00001d20: SWAP3
00001d21: PUSH1 0x20
00001d23: SWAP3
00001d24: SWAP1
00001d25: SWAP2
00001d26: SWAP1
00001d27: DUP3
00001d28: SWAP1
00001d29: SUB
00001d2a: ADD
00001d2b: DUP2
00001d2c: DUP7
00001d2d: DUP1
00001d2e: EXTCODESIZE
00001d2f: ISZERO
00001d30: DUP1
00001d31: ISZERO
00001d32: PUSH2 0x1d3a
00001d35: JUMPI
00001d36: PUSH1 0x00
00001d38: DUP1
00001d39: REVERT
00001d3a: JUMPDEST
00001d3b: POP
00001d3c: GAS
00001d3d: STATICCALL
00001d3e: ISZERO
00001d3f: DUP1
00001d40: ISZERO
00001d41: PUSH2 0x1d4e
00001d44: JUMPI
00001d45: RETURNDATASIZE
00001d46: PUSH1 0x00
00001d48: DUP1
00001d49: RETURNDATACOPY
00001d4a: RETURNDATASIZE
00001d4b: PUSH1 0x00
00001d4d: REVERT
00001d4e: JUMPDEST
00001d4f: POP
00001d50: POP
00001d51: POP
00001d52: POP
00001d53: PUSH1 0x40
00001d55: MLOAD
00001d56: RETURNDATASIZE
00001d57: PUSH1 0x20
00001d59: DUP2
00001d5a: LT
00001d5b: ISZERO
00001d5c: PUSH2 0x1d64
00001d5f: JUMPI
00001d60: PUSH1 0x00
00001d62: DUP1
00001d63: REVERT
00001d64: JUMPDEST
00001d65: POP
00001d66: MLOAD
00001d67: PUSH2 0x1d78
00001d6a: JUMP
00001d6b: JUMPDEST
00001d6c: PUSH1 0x04
00001d6e: SLOAD
00001d6f: PUSH1 0x01
00001d71: PUSH1 0x01
00001d73: PUSH1 0xa0
00001d75: SHL
00001d76: SUB
00001d77: AND
00001d78: JUMPDEST
00001d79: PUSH1 0x40
00001d7b: DUP1
00001d7c: MLOAD
00001d7d: PUSH4 0x35380a55
00001d82: PUSH1 0xe0
00001d84: SHL
00001d85: DUP2
00001d86: MSTORE
00001d87: CALLER
00001d88: PUSH1 0x04
00001d8a: DUP3
00001d8b: ADD
00001d8c: MSTORE
00001d8d: PUSH1 0x24
00001d8f: DUP2
00001d90: ADD
00001d91: DUP8
00001d92: SWAP1
00001d93: MSTORE
00001d94: SWAP1
00001d95: MLOAD
00001d96: SWAP2
00001d97: SWAP3
00001d98: POP
00001d99: PUSH1 0x00
00001d9b: SWAP2
00001d9c: PUSH1 0x01
00001d9e: PUSH1 0x01
00001da0: PUSH1 0xa0
00001da2: SHL
00001da3: SUB
00001da4: DUP5
00001da5: AND
00001da6: SWAP2
00001da7: PUSH4 0x35380a55
00001dac: SWAP2
00001dad: PUSH1 0x44
00001daf: DUP1
00001db0: DUP4
00001db1: ADD
00001db2: SWAP3
00001db3: PUSH1 0x20
00001db5: SWAP3
00001db6: SWAP2
00001db7: SWAP1
00001db8: DUP3
00001db9: SWAP1
00001dba: SUB
00001dbb: ADD
00001dbc: DUP2
00001dbd: DUP8
00001dbe: DUP8
00001dbf: DUP1
00001dc0: EXTCODESIZE
00001dc1: ISZERO
00001dc2: DUP1
00001dc3: ISZERO
00001dc4: PUSH2 0x1dcc
00001dc7: JUMPI
00001dc8: PUSH1 0x00
00001dca: DUP1
00001dcb: REVERT
00001dcc: JUMPDEST
00001dcd: POP
00001dce: GAS
00001dcf: CALL
00001dd0: ISZERO
00001dd1: DUP1
00001dd2: ISZERO
00001dd3: PUSH2 0x1de0
00001dd6: JUMPI
00001dd7: RETURNDATASIZE
00001dd8: PUSH1 0x00
00001dda: DUP1
00001ddb: RETURNDATACOPY
00001ddc: RETURNDATASIZE
00001ddd: PUSH1 0x00
00001ddf: REVERT
00001de0: JUMPDEST
00001de1: POP
00001de2: POP
00001de3: POP
00001de4: POP
00001de5: PUSH1 0x40
00001de7: MLOAD
00001de8: RETURNDATASIZE
00001de9: PUSH1 0x20
00001deb: DUP2
00001dec: LT
00001ded: ISZERO
00001dee: PUSH2 0x1df6
00001df1: JUMPI
00001df2: PUSH1 0x00
00001df4: DUP1
00001df5: REVERT
00001df6: JUMPDEST
00001df7: POP
00001df8: MLOAD
00001df9: SWAP1
00001dfa: POP
00001dfb: DUP1
00001dfc: ISZERO
00001dfd: PUSH2 0x1e1d
00001e00: JUMPI
00001e01: PUSH1 0x02
00001e03: SLOAD
00001e04: PUSH2 0x1e1d
00001e07: SWAP1
00001e08: PUSH1 0x01
00001e0a: PUSH1 0x01
00001e0c: PUSH1 0xa0
00001e0e: SHL
00001e0f: SUB
00001e10: AND
00001e11: DUP4
00001e12: DUP4
00001e13: PUSH4 0xffffffff
00001e18: PUSH2 0x3441
00001e1b: AND
00001e1c: JUMP
00001e1d: JUMPDEST
00001e1e: PUSH1 0x00
00001e20: PUSH2 0x1e3a
00001e23: PUSH1 0x1e
00001e25: SLOAD
00001e26: PUSH2 0x104e
00001e29: PUSH1 0x1c
00001e2b: SLOAD
00001e2c: DUP10
00001e2d: PUSH2 0x3091
00001e30: SWAP1
00001e31: SWAP2
00001e32: SWAP1
00001e33: PUSH4 0xffffffff
00001e38: AND
00001e39: JUMP
00001e3a: JUMPDEST
00001e3b: SWAP1
00001e3c: POP
00001e3d: DUP1
00001e3e: ISZERO
00001e3f: PUSH2 0x1e65
00001e42: JUMPI
00001e43: PUSH1 0x03
00001e45: SLOAD
00001e46: PUSH1 0x02
00001e48: SLOAD
00001e49: PUSH2 0x1e65
00001e4c: SWAP2
00001e4d: PUSH1 0x01
00001e4f: PUSH1 0x01
00001e51: PUSH1 0xa0
00001e53: SHL
00001e54: SUB
00001e55: SWAP2
00001e56: DUP3
00001e57: AND
00001e58: SWAP2
00001e59: AND
00001e5a: DUP4
00001e5b: PUSH4 0xffffffff
00001e60: PUSH2 0x3441
00001e63: AND
00001e64: JUMP
00001e65: JUMPDEST
00001e66: PUSH1 0x00
00001e68: PUSH2 0x1e7b
00001e6b: DUP3
00001e6c: PUSH2 0x102c
00001e6f: DUP10
00001e70: DUP7
00001e71: PUSH4 0xffffffff
00001e76: PUSH2 0x304f
00001e79: AND
00001e7a: JUMP
00001e7b: JUMPDEST
00001e7c: SWAP1
00001e7d: POP
00001e7e: PUSH1 0x00
00001e80: DUP2
00001e81: ISZERO
00001e82: PUSH2 0x1ea2
00001e85: JUMPI
00001e86: PUSH1 0x02
00001e88: SLOAD
00001e89: PUSH2 0x1ea2
00001e8c: SWAP1
00001e8d: PUSH1 0x01
00001e8f: PUSH1 0x01
00001e91: PUSH1 0xa0
00001e93: SHL
00001e94: SUB
00001e95: AND
00001e96: CALLER
00001e97: DUP5
00001e98: PUSH4 0xffffffff
00001e9d: PUSH2 0x3441
00001ea0: AND
00001ea1: JUMP
00001ea2: JUMPDEST
00001ea3: PUSH1 0x40
00001ea5: DUP1
00001ea6: MLOAD
00001ea7: DUP10
00001ea8: DUP2
00001ea9: MSTORE
00001eaa: SWAP1
00001eab: MLOAD
00001eac: CALLER
00001ead: SWAP2
00001eae: PUSH32 0xe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486
00001ecf: SWAP2
00001ed0: SWAP1
00001ed1: DUP2
00001ed2: SWAP1
00001ed3: SUB
00001ed4: PUSH1 0x20
00001ed6: ADD
00001ed7: SWAP1
00001ed8: LOG2
00001ed9: POP
00001eda: POP
00001edb: POP
00001edc: POP
00001edd: POP
00001ede: JUMPDEST
00001edf: POP
00001ee0: POP
00001ee1: POP
00001ee2: POP
00001ee3: POP
00001ee4: POP
00001ee5: JUMP
00001ee6: JUMPDEST
00001ee7: PUSH1 0x20
00001ee9: SLOAD
00001eea: DUP2
00001eeb: JUMP
00001eec: JUMPDEST
00001eed: PUSH1 0x04
00001eef: SLOAD
00001ef0: PUSH1 0x01
00001ef2: PUSH1 0x01
00001ef4: PUSH1 0xa0
00001ef6: SHL
00001ef7: SUB
00001ef8: AND
00001ef9: DUP2
00001efa: JUMP
00001efb: JUMPDEST
00001efc: PUSH1 0x1d
00001efe: SLOAD
00001eff: DUP2
00001f00: JUMP
00001f01: JUMPDEST
00001f02: PUSH1 0x00
00001f04: PUSH2 0x0fa8
00001f07: PUSH2 0x1f11
00001f0a: DUP4
00001f0b: PUSH1 0x00
00001f0d: PUSH2 0x3498
00001f10: JUMP
00001f11: JUMPDEST
00001f12: PUSH2 0x1f1c
00001f15: DUP5
00001f16: PUSH1 0x01
00001f18: PUSH2 0x3498
00001f1b: JUMP
00001f1c: JUMPDEST
00001f1d: SWAP1
00001f1e: PUSH4 0xffffffff
00001f23: PUSH2 0x31bc
00001f26: AND
00001f27: JUMP
00001f28: JUMPDEST
00001f29: PUSH1 0x22
00001f2b: SLOAD
00001f2c: DUP2
00001f2d: JUMP
00001f2e: JUMPDEST
00001f2f: PUSH1 0x06
00001f31: SLOAD
00001f32: PUSH1 0x01
00001f34: PUSH1 0x01
00001f36: PUSH1 0xa0
00001f38: SHL
00001f39: SUB
00001f3a: AND
00001f3b: DUP2
00001f3c: JUMP
00001f3d: JUMPDEST
00001f3e: PUSH1 0x1b
00001f40: PUSH1 0x20
00001f42: MSTORE
00001f43: PUSH1 0x00
00001f45: SWAP1
00001f46: DUP2
00001f47: MSTORE
00001f48: PUSH1 0x40
00001f4a: SWAP1
00001f4b: KECCAK256
00001f4c: SLOAD
00001f4d: DUP2
00001f4e: JUMP
00001f4f: JUMPDEST
00001f50: PUSH2 0x1f57
00001f53: PUSH2 0x21a5
00001f56: JUMP
00001f57: JUMPDEST
00001f58: PUSH2 0x1f96
00001f5b: JUMPI
00001f5c: PUSH1 0x40
00001f5e: DUP1
00001f5f: MLOAD
00001f60: PUSH3 0x461bcd
00001f64: PUSH1 0xe5
00001f66: SHL
00001f67: DUP2
00001f68: MSTORE
00001f69: PUSH1 0x20
00001f6b: PUSH1 0x04
00001f6d: DUP3
00001f6e: ADD
00001f6f: DUP2
00001f70: SWAP1
00001f71: MSTORE
00001f72: PUSH1 0x24
00001f74: DUP3
00001f75: ADD
00001f76: MSTORE
00001f77: PUSH1 0x00
00001f79: DUP1
00001f7a: MLOAD
00001f7b: PUSH1 0x20
00001f7d: PUSH2 0x41e7
00001f80: DUP4
00001f81: CODECOPY
00001f82: DUP2
00001f83: MLOAD
00001f84: SWAP2
00001f85: MSTORE
00001f86: PUSH1 0x44
00001f88: DUP3
00001f89: ADD
00001f8a: MSTORE
00001f8b: SWAP1
00001f8c: MLOAD
00001f8d: SWAP1
00001f8e: DUP2
00001f8f: SWAP1
00001f90: SUB
00001f91: PUSH1 0x64
00001f93: ADD
00001f94: SWAP1
00001f95: REVERT
00001f96: JUMPDEST
00001f97: PUSH1 0x05
00001f99: DUP1
00001f9a: SLOAD
00001f9b: PUSH1 0x01
00001f9d: PUSH1 0x01
00001f9f: PUSH1 0xa0
00001fa1: SHL
00001fa2: SUB
00001fa3: NOT
00001fa4: AND
00001fa5: PUSH1 0x01
00001fa7: PUSH1 0x01
00001fa9: PUSH1 0xa0
00001fab: SHL
00001fac: SUB
00001fad: SWAP3
00001fae: SWAP1
00001faf: SWAP3
00001fb0: AND
00001fb1: SWAP2
00001fb2: SWAP1
00001fb3: SWAP2
00001fb4: OR
00001fb5: SWAP1
00001fb6: SSTORE
00001fb7: JUMP
00001fb8: JUMPDEST
00001fb9: PUSH1 0x00
00001fbb: PUSH1 0x27
00001fbd: PUSH20 0x3414b7e8332b4da3e268ca7aa5bee6b9a25787f7
00001fd2: PUSH4 0x20ad2894
00001fd7: SWAP1
00001fd8: SWAP2
00001fd9: DUP5
00001fda: PUSH1 0x40
00001fdc: MLOAD
00001fdd: DUP4
00001fde: PUSH4 0xffffffff
00001fe3: AND
00001fe4: PUSH1 0xe0
00001fe6: SHL
00001fe7: DUP2
00001fe8: MSTORE
00001fe9: PUSH1 0x04
00001feb: ADD
00001fec: DUP1
00001fed: DUP4
00001fee: DUP2
00001fef: MSTORE
00001ff0: PUSH1 0x20
00001ff2: ADD
00001ff3: DUP3
00001ff4: DUP2
00001ff5: MSTORE
00001ff6: PUSH1 0x20
00001ff8: ADD
00001ff9: SWAP3
00001ffa: POP
00001ffb: POP
00001ffc: POP
00001ffd: PUSH1 0x20
00001fff: PUSH1 0x40
00002001: MLOAD
00002002: DUP1
00002003: DUP4
00002004: SUB
00002005: DUP2
00002006: DUP7
00002007: DUP1
00002008: EXTCODESIZE
00002009: ISZERO
0000200a: DUP1
0000200b: ISZERO
0000200c: PUSH2 0x2014
0000200f: JUMPI
00002010: PUSH1 0x00
00002012: DUP1
00002013: REVERT
00002014: JUMPDEST
00002015: POP
00002016: GAS
00002017: DELEGATECALL
00002018: ISZERO
00002019: DUP1
0000201a: ISZERO
0000201b: PUSH2 0x2028
0000201e: JUMPI
0000201f: RETURNDATASIZE
00002020: PUSH1 0x00
00002022: DUP1
00002023: RETURNDATACOPY
00002024: RETURNDATASIZE
00002025: PUSH1 0x00
00002027: REVERT
00002028: JUMPDEST
00002029: POP
0000202a: POP
0000202b: POP
0000202c: POP
0000202d: PUSH1 0x40
0000202f: MLOAD
00002030: RETURNDATASIZE
00002031: PUSH1 0x20
00002033: DUP2
00002034: LT
00002035: ISZERO
00002036: PUSH2 0x203e
00002039: JUMPI
0000203a: PUSH1 0x00
0000203c: DUP1
0000203d: REVERT
0000203e: JUMPDEST
0000203f: POP
00002040: MLOAD
00002041: SWAP3
00002042: SWAP2
00002043: POP
00002044: POP
00002045: JUMP
00002046: JUMPDEST
00002047: PUSH1 0x18
00002049: SLOAD
0000204a: DUP2
0000204b: JUMP
0000204c: JUMPDEST
0000204d: PUSH2 0x2054
00002050: PUSH2 0x21a5
00002053: JUMP
00002054: JUMPDEST
00002055: PUSH2 0x2093
00002058: JUMPI
00002059: PUSH1 0x40
0000205b: DUP1
0000205c: MLOAD
0000205d: PUSH3 0x461bcd
00002061: PUSH1 0xe5
00002063: SHL
00002064: DUP2
00002065: MSTORE
00002066: PUSH1 0x20
00002068: PUSH1 0x04
0000206a: DUP3
0000206b: ADD
0000206c: DUP2
0000206d: SWAP1
0000206e: MSTORE
0000206f: PUSH1 0x24
00002071: DUP3
00002072: ADD
00002073: MSTORE
00002074: PUSH1 0x00
00002076: DUP1
00002077: MLOAD
00002078: PUSH1 0x20
0000207a: PUSH2 0x41e7
0000207d: DUP4
0000207e: CODECOPY
0000207f: DUP2
00002080: MLOAD
00002081: SWAP2
00002082: MSTORE
00002083: PUSH1 0x44
00002085: DUP3
00002086: ADD
00002087: MSTORE
00002088: SWAP1
00002089: MLOAD
0000208a: SWAP1
0000208b: DUP2
0000208c: SWAP1
0000208d: SUB
0000208e: PUSH1 0x64
00002090: ADD
00002091: SWAP1
00002092: REVERT
00002093: JUMPDEST
00002094: PUSH1 0x00
00002096: DUP1
00002097: SLOAD
00002098: PUSH1 0x40
0000209a: MLOAD
0000209b: PUSH1 0x01
0000209d: PUSH1 0x01
0000209f: PUSH1 0xa0
000020a1: SHL
000020a2: SUB
000020a3: SWAP1
000020a4: SWAP2
000020a5: AND
000020a6: SWAP1
000020a7: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
000020c8: SWAP1
000020c9: DUP4
000020ca: SWAP1
000020cb: LOG3
000020cc: PUSH1 0x00
000020ce: DUP1
000020cf: SLOAD
000020d0: PUSH1 0x01
000020d2: PUSH1 0x01
000020d4: PUSH1 0xa0
000020d6: SHL
000020d7: SUB
000020d8: NOT
000020d9: AND
000020da: SWAP1
000020db: SSTORE
000020dc: JUMP
000020dd: JUMPDEST
000020de: PUSH1 0x08
000020e0: SLOAD
000020e1: PUSH1 0x01
000020e3: PUSH1 0x01
000020e5: PUSH1 0xa0
000020e7: SHL
000020e8: SUB
000020e9: AND
000020ea: DUP2
000020eb: JUMP
000020ec: JUMPDEST
000020ed: PUSH1 0x00
000020ef: PUSH2 0x20fa
000020f2: TIMESTAMP
000020f3: PUSH1 0x17
000020f5: SLOAD
000020f6: PUSH2 0x39af
000020f9: JUMP
000020fa: JUMPDEST
000020fb: SWAP1
000020fc: POP
000020fd: SWAP1
000020fe: JUMP
000020ff: JUMPDEST
00002100: PUSH1 0x1a
00002102: PUSH1 0x20
00002104: MSTORE
00002105: PUSH1 0x00
00002107: SWAP1
00002108: DUP2
00002109: MSTORE
0000210a: PUSH1 0x40
0000210c: SWAP1
0000210d: KECCAK256
0000210e: SLOAD
0000210f: DUP2
00002110: JUMP
00002111: JUMPDEST
00002112: PUSH1 0x00
00002114: PUSH1 0x27
00002116: PUSH20 0x3414b7e8332b4da3e268ca7aa5bee6b9a25787f7
0000212b: PUSH4 0x1b9a7a5e
00002130: SWAP1
00002131: SWAP2
00002132: PUSH1 0x40
00002134: MLOAD
00002135: DUP3
00002136: PUSH4 0xffffffff
0000213b: AND
0000213c: PUSH1 0xe0
0000213e: SHL
0000213f: DUP2
00002140: MSTORE
00002141: PUSH1 0x04
00002143: ADD
00002144: DUP1
00002145: DUP3
00002146: DUP2
00002147: MSTORE
00002148: PUSH1 0x20
0000214a: ADD
0000214b: SWAP2
0000214c: POP
0000214d: POP
0000214e: PUSH1 0x20
00002150: PUSH1 0x40
00002152: MLOAD
00002153: DUP1
00002154: DUP4
00002155: SUB
00002156: DUP2
00002157: DUP7
00002158: DUP1
00002159: EXTCODESIZE
0000215a: ISZERO
0000215b: DUP1
0000215c: ISZERO
0000215d: PUSH2 0x2165
00002160: JUMPI
00002161: PUSH1 0x00
00002163: DUP1
00002164: REVERT
00002165: JUMPDEST
00002166: POP
00002167: GAS
00002168: DELEGATECALL
00002169: ISZERO
0000216a: DUP1
0000216b: ISZERO
0000216c: PUSH2 0x2179
0000216f: JUMPI
00002170: RETURNDATASIZE
00002171: PUSH1 0x00
00002173: DUP1
00002174: RETURNDATACOPY
00002175: RETURNDATASIZE
00002176: PUSH1 0x00
00002178: REVERT
00002179: JUMPDEST
0000217a: POP
0000217b: POP
0000217c: POP
0000217d: POP
0000217e: PUSH1 0x40
00002180: MLOAD
00002181: RETURNDATASIZE
00002182: PUSH1 0x20
00002184: DUP2
00002185: LT
00002186: ISZERO
00002187: PUSH2 0x218f
0000218a: JUMPI
0000218b: PUSH1 0x00
0000218d: DUP1
0000218e: REVERT
0000218f: JUMPDEST
00002190: POP
00002191: MLOAD
00002192: SWAP1
00002193: POP
00002194: SWAP1
00002195: JUMP
00002196: JUMPDEST
00002197: PUSH1 0x00
00002199: SLOAD
0000219a: PUSH1 0x01
0000219c: PUSH1 0x01
0000219e: PUSH1 0xa0
000021a0: SHL
000021a1: SUB
000021a2: AND
000021a3: SWAP1
000021a4: JUMP
000021a5: JUMPDEST
000021a6: PUSH1 0x00
000021a8: DUP1
000021a9: SLOAD
000021aa: PUSH1 0x01
000021ac: PUSH1 0x01
000021ae: PUSH1 0xa0
000021b0: SHL
000021b1: SUB
000021b2: AND
000021b3: PUSH2 0x21ba
000021b6: PUSH2 0x39c5
000021b9: JUMP
000021ba: JUMPDEST
000021bb: PUSH1 0x01
000021bd: PUSH1 0x01
000021bf: PUSH1 0xa0
000021c1: SHL
000021c2: SUB
000021c3: AND
000021c4: EQ
000021c5: SWAP1
000021c6: POP
000021c7: SWAP1
000021c8: JUMP
000021c9: JUMPDEST
000021ca: PUSH1 0x1e
000021cc: SLOAD
000021cd: DUP2
000021ce: JUMP
000021cf: JUMPDEST
000021d0: CALLER
000021d1: DUP3
000021d2: PUSH2 0x21da
000021d5: DUP2
000021d6: PUSH2 0x2edc
000021d9: JUMP
000021da: JUMPDEST
000021db: PUSH1 0x01
000021dd: PUSH1 0x01
000021df: PUSH1 0xa0
000021e1: SHL
000021e2: SUB
000021e3: DUP3
000021e4: AND
000021e5: PUSH1 0x00
000021e7: SWAP1
000021e8: DUP2
000021e9: MSTORE
000021ea: PUSH1 0x1b
000021ec: PUSH1 0x20
000021ee: MSTORE
000021ef: PUSH1 0x40
000021f1: SWAP1
000021f2: KECCAK256
000021f3: SSTORE
000021f4: PUSH2 0x21fb
000021f7: PUSH2 0x20ec
000021fa: JUMP
000021fb: JUMPDEST
000021fc: PUSH1 0x01
000021fe: PUSH1 0x01
00002200: PUSH1 0xa0
00002202: SHL
00002203: SUB
00002204: DUP1
00002205: DUP4
00002206: AND
00002207: PUSH1 0x00
00002209: SWAP1
0000220a: DUP2
0000220b: MSTORE
0000220c: PUSH1 0x1a
0000220e: PUSH1 0x20
00002210: MSTORE
00002211: PUSH1 0x40
00002213: SWAP1
00002214: KECCAK256
00002215: SWAP2
00002216: SWAP1
00002217: SWAP2
00002218: SSTORE
00002219: DUP3
0000221a: AND
0000221b: ISZERO
0000221c: PUSH2 0x2274
0000221f: JUMPI
00002220: PUSH2 0x2229
00002223: DUP3
00002224: DUP3
00002225: PUSH2 0x0fcb
00002228: JUMP
00002229: JUMPDEST
0000222a: PUSH1 0x01
0000222c: PUSH1 0x01
0000222e: PUSH1 0xa0
00002230: SHL
00002231: SUB
00002232: DUP1
00002233: DUP4
00002234: AND
00002235: PUSH1 0x00
00002237: DUP2
00002238: DUP2
00002239: MSTORE
0000223a: PUSH1 0x25
0000223c: PUSH1 0x20
0000223e: SWAP1
0000223f: DUP2
00002240: MSTORE
00002241: PUSH1 0x40
00002243: DUP1
00002244: DUP4
00002245: KECCAK256
00002246: SWAP5
00002247: DUP9
00002248: AND
00002249: DUP1
0000224a: DUP5
0000224b: MSTORE
0000224c: SWAP5
0000224d: DUP3
0000224e: MSTORE
0000224f: DUP1
00002250: DUP4
00002251: KECCAK256
00002252: SWAP6
00002253: SWAP1
00002254: SWAP6
00002255: SSTORE
00002256: SWAP2
00002257: DUP2
00002258: MSTORE
00002259: PUSH1 0x1b
0000225b: DUP3
0000225c: MSTORE
0000225d: DUP4
0000225e: DUP2
0000225f: KECCAK256
00002260: SLOAD
00002261: PUSH1 0x24
00002263: DUP4
00002264: MSTORE
00002265: DUP5
00002266: DUP3
00002267: KECCAK256
00002268: SWAP4
00002269: DUP3
0000226a: MSTORE
0000226b: SWAP3
0000226c: SWAP1
0000226d: SWAP2
0000226e: MSTORE
0000226f: SWAP2
00002270: SWAP1
00002271: SWAP2
00002272: KECCAK256
00002273: SSTORE
00002274: JUMPDEST
00002275: PUSH1 0x16
00002277: SLOAD
00002278: TIMESTAMP
00002279: GT
0000227a: PUSH2 0x22b6
0000227d: JUMPI
0000227e: PUSH1 0x40
00002280: DUP1
00002281: MLOAD
00002282: PUSH3 0x461bcd
00002286: PUSH1 0xe5
00002288: SHL
00002289: DUP2
0000228a: MSTORE
0000228b: PUSH1 0x20
0000228d: PUSH1 0x04
0000228f: DUP3
00002290: ADD
00002291: MSTORE
00002292: PUSH1 0x09
00002294: PUSH1 0x24
00002296: DUP3
00002297: ADD
00002298: MSTORE
00002299: PUSH9 0x1b9bdd081cdd185c9d
000022a3: PUSH1 0xba
000022a5: SHL
000022a6: PUSH1 0x44
000022a8: DUP3
000022a9: ADD
000022aa: MSTORE
000022ab: SWAP1
000022ac: MLOAD
000022ad: SWAP1
000022ae: DUP2
000022af: SWAP1
000022b0: SUB
000022b1: PUSH1 0x64
000022b3: ADD
000022b4: SWAP1
000022b5: REVERT
000022b6: JUMPDEST
000022b7: PUSH1 0x17
000022b9: SLOAD
000022ba: TIMESTAMP
000022bb: LT
000022bc: PUSH2 0x2426
000022bf: JUMPI
000022c0: PUSH2 0x22c7
000022c3: PUSH2 0x312c
000022c6: JUMP
000022c7: JUMPDEST
000022c8: PUSH1 0x02
000022ca: SLOAD
000022cb: PUSH1 0x01
000022cd: SLOAD
000022ce: PUSH1 0x40
000022d0: DUP1
000022d1: MLOAD
000022d2: PUSH4 0x40c10f19
000022d7: PUSH1 0xe0
000022d9: SHL
000022da: DUP2
000022db: MSTORE
000022dc: ADDRESS
000022dd: PUSH1 0x04
000022df: DUP3
000022e0: ADD
000022e1: MSTORE
000022e2: PUSH1 0x24
000022e4: DUP2
000022e5: ADD
000022e6: SWAP3
000022e7: SWAP1
000022e8: SWAP3
000022e9: MSTORE
000022ea: MLOAD
000022eb: PUSH1 0x01
000022ed: PUSH1 0x01
000022ef: PUSH1 0xa0
000022f1: SHL
000022f2: SUB
000022f3: SWAP1
000022f4: SWAP3
000022f5: AND
000022f6: SWAP2
000022f7: PUSH4 0x40c10f19
000022fc: SWAP2
000022fd: PUSH1 0x44
000022ff: DUP1
00002300: DUP3
00002301: ADD
00002302: SWAP3
00002303: PUSH1 0x00
00002305: SWAP3
00002306: SWAP1
00002307: SWAP2
00002308: SWAP1
00002309: DUP3
0000230a: SWAP1
0000230b: SUB
0000230c: ADD
0000230d: DUP2
0000230e: DUP4
0000230f: DUP8
00002310: DUP1
00002311: EXTCODESIZE
00002312: ISZERO
00002313: DUP1
00002314: ISZERO
00002315: PUSH2 0x231d
00002318: JUMPI
00002319: PUSH1 0x00
0000231b: DUP1
0000231c: REVERT
0000231d: JUMPDEST
0000231e: POP
0000231f: GAS
00002320: CALL
00002321: ISZERO
00002322: DUP1
00002323: ISZERO
00002324: PUSH2 0x2331
00002327: JUMPI
00002328: RETURNDATASIZE
00002329: PUSH1 0x00
0000232b: DUP1
0000232c: RETURNDATACOPY
0000232d: RETURNDATASIZE
0000232e: PUSH1 0x00
00002330: REVERT
00002331: JUMPDEST
00002332: POP
00002333: POP
00002334: PUSH1 0x09
00002336: SLOAD
00002337: PUSH1 0x01
00002339: SLOAD
0000233a: PUSH2 0x234e
0000233d: SWAP4
0000233e: POP
0000233f: SWAP2
00002340: POP
00002341: PUSH1 0x03
00002343: MUL
00002344: PUSH4 0xffffffff
00002349: PUSH2 0x30ea
0000234c: AND
0000234d: JUMP
0000234e: JUMPDEST
0000234f: PUSH1 0x18
00002351: DUP2
00002352: SWAP1
00002353: SSTORE
00002354: POP
00002355: PUSH2 0x2375
00002358: PUSH1 0x23
0000235a: SLOAD
0000235b: PUSH1 0x09
0000235d: SLOAD
0000235e: MUL
0000235f: PUSH2 0x104e
00002362: PUSH1 0x20
00002364: SLOAD
00002365: PUSH1 0x01
00002367: SLOAD
00002368: PUSH2 0x3091
0000236b: SWAP1
0000236c: SWAP2
0000236d: SWAP1
0000236e: PUSH4 0xffffffff
00002373: AND
00002374: JUMP
00002375: JUMPDEST
00002376: PUSH1 0x08
00002378: SLOAD
00002379: PUSH1 0x01
0000237b: PUSH1 0x01
0000237d: PUSH1 0xa0
0000237f: SHL
00002380: SUB
00002381: AND
00002382: PUSH1 0x00
00002384: SWAP1
00002385: DUP2
00002386: MSTORE
00002387: PUSH1 0x19
00002389: PUSH1 0x20
0000238b: MSTORE
0000238c: PUSH1 0x40
0000238e: SWAP1
0000238f: KECCAK256
00002390: SSTORE
00002391: PUSH1 0x23
00002393: SLOAD
00002394: PUSH1 0x09
00002396: SLOAD
00002397: PUSH1 0x21
00002399: SLOAD
0000239a: PUSH1 0x01
0000239c: SLOAD
0000239d: PUSH2 0x23b4
000023a0: SWAP4
000023a1: SWAP3
000023a2: SWAP1
000023a3: SWAP3
000023a4: MUL
000023a5: SWAP2
000023a6: PUSH2 0x104e
000023a9: SWAP2
000023aa: PUSH4 0xffffffff
000023af: PUSH2 0x3091
000023b2: AND
000023b3: JUMP
000023b4: JUMPDEST
000023b5: PUSH1 0x07
000023b7: SLOAD
000023b8: PUSH1 0x01
000023ba: PUSH1 0x01
000023bc: PUSH1 0xa0
000023be: SHL
000023bf: SUB
000023c0: AND
000023c1: PUSH1 0x00
000023c3: SWAP1
000023c4: DUP2
000023c5: MSTORE
000023c6: PUSH1 0x19
000023c8: PUSH1 0x20
000023ca: MSTORE
000023cb: PUSH1 0x40
000023cd: SWAP1
000023ce: KECCAK256
000023cf: SSTORE
000023d0: PUSH1 0x23
000023d2: SLOAD
000023d3: PUSH1 0x09
000023d5: SLOAD
000023d6: PUSH1 0x22
000023d8: SLOAD
000023d9: PUSH1 0x01
000023db: SLOAD
000023dc: PUSH2 0x23f3
000023df: SWAP4
000023e0: SWAP3
000023e1: SWAP1
000023e2: SWAP3
000023e3: MUL
000023e4: SWAP2
000023e5: PUSH2 0x104e
000023e8: SWAP2
000023e9: PUSH4 0xffffffff
000023ee: PUSH2 0x3091
000023f1: AND
000023f2: JUMP
000023f3: JUMPDEST
000023f4: PUSH1 0x06
000023f6: SLOAD
000023f7: PUSH1 0x01
000023f9: PUSH1 0x01
000023fb: PUSH1 0xa0
000023fd: SHL
000023fe: SUB
000023ff: AND
00002400: PUSH1 0x00
00002402: SWAP1
00002403: DUP2
00002404: MSTORE
00002405: PUSH1 0x19
00002407: PUSH1 0x20
00002409: MSTORE
0000240a: PUSH1 0x40
0000240c: SWAP1
0000240d: KECCAK256
0000240e: SSTORE
0000240f: PUSH1 0x09
00002411: SLOAD
00002412: PUSH2 0x2422
00002415: SWAP1
00002416: TIMESTAMP
00002417: SWAP1
00002418: PUSH4 0xffffffff
0000241d: PUSH2 0x2ff5
00002420: AND
00002421: JUMP
00002422: JUMPDEST
00002423: PUSH1 0x17
00002425: SSTORE
00002426: JUMPDEST
00002427: CALLER
00002428: PUSH1 0x00
0000242a: SWAP1
0000242b: DUP2
0000242c: MSTORE
0000242d: PUSH1 0x0e
0000242f: PUSH1 0x20
00002431: MSTORE
00002432: PUSH1 0x40
00002434: SWAP1
00002435: KECCAK256
00002436: PUSH1 0x01
00002438: ADD
00002439: SLOAD
0000243a: PUSH1 0xff
0000243c: AND
0000243d: PUSH2 0x2477
00002440: JUMPI
00002441: PUSH1 0x40
00002443: MLOAD
00002444: PUSH3 0x461bcd
00002448: PUSH1 0xe5
0000244a: SHL
0000244b: DUP2
0000244c: MSTORE
0000244d: PUSH1 0x04
0000244f: ADD
00002450: DUP1
00002451: DUP1
00002452: PUSH1 0x20
00002454: ADD
00002455: DUP3
00002456: DUP2
00002457: SUB
00002458: DUP3
00002459: MSTORE
0000245a: PUSH1 0x29
0000245c: DUP2
0000245d: MSTORE
0000245e: PUSH1 0x20
00002460: ADD
00002461: DUP1
00002462: PUSH2 0x4158
00002465: PUSH1 0x29
00002467: SWAP2
00002468: CODECOPY
00002469: PUSH1 0x40
0000246b: ADD
0000246c: SWAP2
0000246d: POP
0000246e: POP
0000246f: PUSH1 0x40
00002471: MLOAD
00002472: DUP1
00002473: SWAP2
00002474: SUB
00002475: SWAP1
00002476: REVERT
00002477: JUMPDEST
00002478: CALLER
00002479: PUSH1 0x00
0000247b: SWAP1
0000247c: DUP2
0000247d: MSTORE
0000247e: PUSH1 0x0e
00002480: PUSH1 0x20
00002482: SWAP1
00002483: DUP2
00002484: MSTORE
00002485: PUSH1 0x40
00002487: DUP1
00002488: DUP4
00002489: KECCAK256
0000248a: PUSH1 0x01
0000248c: PUSH1 0x01
0000248e: PUSH1 0xa0
00002490: SHL
00002491: SUB
00002492: DUP9
00002493: AND
00002494: DUP5
00002495: MSTORE
00002496: DUP3
00002497: MSTORE
00002498: SWAP2
00002499: DUP3
0000249a: SWAP1
0000249b: KECCAK256
0000249c: DUP3
0000249d: MLOAD
0000249e: PUSH4 0x3b7a7af7
000024a3: PUSH1 0xe2
000024a5: SHL
000024a6: DUP2
000024a7: MSTORE
000024a8: PUSH1 0x04
000024aa: DUP2
000024ab: ADD
000024ac: DUP3
000024ad: SWAP1
000024ae: MSTORE
000024af: TIMESTAMP
000024b0: PUSH1 0x24
000024b2: DUP3
000024b3: ADD
000024b4: MSTORE
000024b5: SWAP3
000024b6: MLOAD
000024b7: SWAP1
000024b8: SWAP3
000024b9: DUP7
000024ba: SWAP3
000024bb: PUSH20 0xab2ea31dba6270584486b6d7657fbfcd10f8bfae
000024d0: SWAP3
000024d1: PUSH4 0xede9ebdc
000024d6: SWAP3
000024d7: PUSH1 0x44
000024d9: DUP1
000024da: DUP3
000024db: ADD
000024dc: SWAP4
000024dd: SWAP3
000024de: SWAP2
000024df: DUP3
000024e0: SWAP1
000024e1: SUB
000024e2: ADD
000024e3: DUP2
000024e4: DUP7
000024e5: DUP1
000024e6: EXTCODESIZE
000024e7: ISZERO
000024e8: DUP1
000024e9: ISZERO
000024ea: PUSH2 0x24f2
000024ed: JUMPI
000024ee: PUSH1 0x00
000024f0: DUP1
000024f1: REVERT
000024f2: JUMPDEST
000024f3: POP
000024f4: GAS
000024f5: DELEGATECALL
000024f6: ISZERO
000024f7: DUP1
000024f8: ISZERO
000024f9: PUSH2 0x2506
000024fc: JUMPI
000024fd: RETURNDATASIZE
000024fe: PUSH1 0x00
00002500: DUP1
00002501: RETURNDATACOPY
00002502: RETURNDATASIZE
00002503: PUSH1 0x00
00002505: REVERT
00002506: JUMPDEST
00002507: POP
00002508: POP
00002509: POP
0000250a: POP
0000250b: PUSH1 0x40
0000250d: MLOAD
0000250e: RETURNDATASIZE
0000250f: PUSH1 0x20
00002511: DUP2
00002512: LT
00002513: ISZERO
00002514: PUSH2 0x251c
00002517: JUMPI
00002518: PUSH1 0x00
0000251a: DUP1
0000251b: REVERT
0000251c: JUMPDEST
0000251d: POP
0000251e: MLOAD
0000251f: SLT
00002520: ISZERO
00002521: PUSH2 0x2569
00002524: JUMPI
00002525: PUSH1 0x40
00002527: DUP1
00002528: MLOAD
00002529: PUSH3 0x461bcd
0000252d: PUSH1 0xe5
0000252f: SHL
00002530: DUP2
00002531: MSTORE
00002532: PUSH1 0x20
00002534: PUSH1 0x04
00002536: DUP3
00002537: ADD
00002538: MSTORE
00002539: PUSH1 0x15
0000253b: PUSH1 0x24
0000253d: DUP3
0000253e: ADD
0000253f: MSTORE
00002540: PUSH21 0x24b739bab33334b1b4b2b73a103130b630b731b297
00002556: PUSH1 0x59
00002558: SHL
00002559: PUSH1 0x44
0000255b: DUP3
0000255c: ADD
0000255d: MSTORE
0000255e: SWAP1
0000255f: MLOAD
00002560: SWAP1
00002561: DUP2
00002562: SWAP1
00002563: SUB
00002564: PUSH1 0x64
00002566: ADD
00002567: SWAP1
00002568: REVERT
00002569: JUMPDEST
0000256a: PUSH2 0x2636
0000256d: PUSH1 0x2d
0000256f: SLOAD
00002570: PUSH2 0x261e
00002573: PUSH3 0x0f4240
00002577: PUSH2 0x104e
0000257a: PUSH1 0x27
0000257c: PUSH20 0x3414b7e8332b4da3e268ca7aa5bee6b9a25787f7
00002591: PUSH4 0x76e05d8b
00002596: SWAP1
00002597: SWAP2
00002598: DUP13
00002599: PUSH1 0x40
0000259b: MLOAD
0000259c: DUP4
0000259d: PUSH4 0xffffffff
000025a2: AND
000025a3: PUSH1 0xe0
000025a5: SHL
000025a6: DUP2
000025a7: MSTORE
000025a8: PUSH1 0x04
000025aa: ADD
000025ab: DUP1
000025ac: DUP4
000025ad: DUP2
000025ae: MSTORE
000025af: PUSH1 0x20
000025b1: ADD
000025b2: DUP3
000025b3: PUSH1 0x01
000025b5: PUSH1 0x01
000025b7: PUSH1 0xa0
000025b9: SHL
000025ba: SUB
000025bb: AND
000025bc: PUSH1 0x01
000025be: PUSH1 0x01
000025c0: PUSH1 0xa0
000025c2: SHL
000025c3: SUB
000025c4: AND
000025c5: DUP2
000025c6: MSTORE
000025c7: PUSH1 0x20
000025c9: ADD
000025ca: SWAP3
000025cb: POP
000025cc: POP
000025cd: POP
000025ce: PUSH1 0x20
000025d0: PUSH1 0x40
000025d2: MLOAD
000025d3: DUP1
000025d4: DUP4
000025d5: SUB
000025d6: DUP2
000025d7: DUP7
000025d8: DUP1
000025d9: EXTCODESIZE
000025da: ISZERO
000025db: DUP1
000025dc: ISZERO
000025dd: PUSH2 0x25e5
000025e0: JUMPI
000025e1: PUSH1 0x00
000025e3: DUP1
000025e4: REVERT
000025e5: JUMPDEST
000025e6: POP
000025e7: GAS
000025e8: DELEGATECALL
000025e9: ISZERO
000025ea: DUP1
000025eb: ISZERO
000025ec: PUSH2 0x25f9
000025ef: JUMPI
000025f0: RETURNDATASIZE
000025f1: PUSH1 0x00
000025f3: DUP1
000025f4: RETURNDATACOPY
000025f5: RETURNDATASIZE
000025f6: PUSH1 0x00
000025f8: REVERT
000025f9: JUMPDEST
000025fa: POP
000025fb: POP
000025fc: POP
000025fd: POP
000025fe: PUSH1 0x40
00002600: MLOAD
00002601: RETURNDATASIZE
00002602: PUSH1 0x20
00002604: DUP2
00002605: LT
00002606: ISZERO
00002607: PUSH2 0x260f
0000260a: JUMPI
0000260b: PUSH1 0x00
0000260d: DUP1
0000260e: REVERT
0000260f: JUMPDEST
00002610: POP
00002611: MLOAD
00002612: DUP10
00002613: SWAP1
00002614: PUSH4 0xffffffff
00002619: PUSH2 0x3091
0000261c: AND
0000261d: JUMP
0000261e: JUMPDEST
0000261f: PUSH2 0x2629
00002622: CALLER
00002623: PUSH1 0x01
00002625: PUSH2 0x3498
00002628: JUMP
00002629: JUMPDEST
0000262a: SUB
0000262b: SWAP1
0000262c: PUSH4 0xffffffff
00002631: PUSH2 0x39c9
00002634: AND
00002635: JUMP
00002636: JUMPDEST
00002637: PUSH2 0x2658
0000263a: PUSH1 0x64
0000263c: PUSH2 0x264c
0000263f: PUSH1 0x00
00002641: NOT
00002642: PUSH2 0x264c
00002645: CALLER
00002646: PUSH1 0x00
00002648: PUSH2 0x3498
0000264b: JUMP
0000264c: JUMPDEST
0000264d: SWAP1
0000264e: PUSH4 0xffffffff
00002653: PUSH2 0x39c9
00002656: AND
00002657: JUMP
00002658: JUMPDEST
00002659: SGT
0000265a: ISZERO
0000265b: PUSH2 0x2663
0000265e: JUMPI
0000265f: PUSH1 0x00
00002661: DUP1
00002662: REVERT
00002663: JUMPDEST
00002664: PUSH1 0x40
00002666: DUP1
00002667: MLOAD
00002668: CALLER
00002669: DUP2
0000266a: MSTORE
0000266b: PUSH1 0x20
0000266d: DUP2
0000266e: ADD
0000266f: DUP7
00002670: SWAP1
00002671: MSTORE
00002672: PUSH1 0x01
00002674: PUSH1 0x01
00002676: PUSH1 0xa0
00002678: SHL
00002679: SUB
0000267a: DUP8
0000267b: AND
0000267c: DUP2
0000267d: DUP4
0000267e: ADD
0000267f: MSTORE
00002680: SWAP1
00002681: MLOAD
00002682: PUSH32 0x69f6efb088e56b54569ee79ee864c3c51ec7326a74dfcb70b34571a79092624a
000026a3: SWAP2
000026a4: DUP2
000026a5: SWAP1
000026a6: SUB
000026a7: PUSH1 0x60
000026a9: ADD
000026aa: SWAP1
000026ab: LOG1
000026ac: PUSH1 0x40
000026ae: DUP1
000026af: MLOAD
000026b0: PUSH4 0x2e0590c3
000026b5: PUSH1 0xe2
000026b7: SHL
000026b8: DUP2
000026b9: MSTORE
000026ba: PUSH1 0x04
000026bc: DUP2
000026bd: ADD
000026be: DUP4
000026bf: SWAP1
000026c0: MSTORE
000026c1: PUSH1 0x24
000026c3: DUP2
000026c4: ADD
000026c5: DUP7
000026c6: SWAP1
000026c7: MSTORE
000026c8: PUSH1 0x00
000026ca: PUSH1 0x44
000026cc: DUP3
000026cd: ADD
000026ce: DUP2
000026cf: SWAP1
000026d0: MSTORE
000026d1: TIMESTAMP
000026d2: PUSH1 0x64
000026d4: DUP4
000026d5: ADD
000026d6: MSTORE
000026d7: SWAP2
000026d8: MLOAD
000026d9: PUSH20 0xab2ea31dba6270584486b6d7657fbfcd10f8bfae
000026ee: SWAP3
000026ef: PUSH4 0xb816430c
000026f4: SWAP3
000026f5: PUSH1 0x84
000026f7: DUP1
000026f8: DUP3
000026f9: ADD
000026fa: SWAP4
000026fb: SWAP2
000026fc: DUP3
000026fd: SWAP1
000026fe: SUB
000026ff: ADD
00002700: DUP2
00002701: DUP7
00002702: DUP1
00002703: EXTCODESIZE
00002704: ISZERO
00002705: DUP1
00002706: ISZERO
00002707: PUSH2 0x270f
0000270a: JUMPI
0000270b: PUSH1 0x00
0000270d: DUP1
0000270e: REVERT
0000270f: JUMPDEST
00002710: POP
00002711: GAS
00002712: DELEGATECALL
00002713: ISZERO
00002714: DUP1
00002715: ISZERO
00002716: PUSH2 0x2723
00002719: JUMPI
0000271a: RETURNDATASIZE
0000271b: PUSH1 0x00
0000271d: DUP1
0000271e: RETURNDATACOPY
0000271f: RETURNDATASIZE
00002720: PUSH1 0x00
00002722: REVERT
00002723: JUMPDEST
00002724: POP
00002725: POP
00002726: POP
00002727: PUSH1 0x01
00002729: PUSH1 0x01
0000272b: PUSH1 0xa0
0000272d: SHL
0000272e: SUB
0000272f: DUP7
00002730: AND
00002731: PUSH1 0x00
00002733: SWAP1
00002734: DUP2
00002735: MSTORE
00002736: PUSH1 0x0f
00002738: PUSH1 0x20
0000273a: MSTORE
0000273b: PUSH1 0x40
0000273d: SWAP1
0000273e: KECCAK256
0000273f: SLOAD
00002740: PUSH2 0x2750
00002743: SWAP2
00002744: POP
00002745: DUP6
00002746: PUSH4 0xffffffff
0000274b: PUSH2 0x3a72
0000274e: AND
0000274f: JUMP
00002750: JUMPDEST
00002751: PUSH1 0x01
00002753: PUSH1 0x01
00002755: PUSH1 0xa0
00002757: SHL
00002758: SUB
00002759: DUP7
0000275a: AND
0000275b: PUSH1 0x00
0000275d: SWAP1
0000275e: DUP2
0000275f: MSTORE
00002760: PUSH1 0x0f
00002762: PUSH1 0x20
00002764: SWAP1
00002765: DUP2
00002766: MSTORE
00002767: PUSH1 0x40
00002769: DUP1
0000276a: DUP4
0000276b: KECCAK256
0000276c: SWAP4
0000276d: SWAP1
0000276e: SWAP4
0000276f: SSTORE
00002770: PUSH1 0x11
00002772: SWAP1
00002773: MSTORE
00002774: KECCAK256
00002775: SLOAD
00002776: PUSH2 0x2785
00002779: SWAP1
0000277a: DUP6
0000277b: PUSH4 0xffffffff
00002780: PUSH2 0x3a72
00002783: AND
00002784: JUMP
00002785: JUMPDEST
00002786: PUSH1 0x01
00002788: PUSH1 0x01
0000278a: PUSH1 0xa0
0000278c: SHL
0000278d: SUB
0000278e: DUP7
0000278f: AND
00002790: PUSH1 0x00
00002792: SWAP1
00002793: DUP2
00002794: MSTORE
00002795: PUSH1 0x11
00002797: PUSH1 0x20
00002799: MSTORE
0000279a: PUSH1 0x40
0000279c: SWAP1
0000279d: KECCAK256
0000279e: SSTORE
0000279f: PUSH2 0x27a9
000027a2: CALLER
000027a3: DUP6
000027a4: DUP8
000027a5: PUSH2 0x3ad7
000027a8: JUMP
000027a9: JUMPDEST
000027aa: POP
000027ab: POP
000027ac: POP
000027ad: POP
000027ae: POP
000027af: JUMP
000027b0: JUMPDEST
000027b1: PUSH1 0x1f
000027b3: SLOAD
000027b4: DUP2
000027b5: JUMP
000027b6: JUMPDEST
000027b7: PUSH1 0x19
000027b9: PUSH1 0x20
000027bb: MSTORE
000027bc: PUSH1 0x00
000027be: SWAP1
000027bf: DUP2
000027c0: MSTORE
000027c1: PUSH1 0x40
000027c3: SWAP1
000027c4: KECCAK256
000027c5: SLOAD
000027c6: DUP2
000027c7: JUMP
000027c8: JUMPDEST
000027c9: PUSH2 0x27d0
000027cc: PUSH2 0x21a5
000027cf: JUMP
000027d0: JUMPDEST
000027d1: PUSH2 0x280f
000027d4: JUMPI
000027d5: PUSH1 0x40
000027d7: DUP1
000027d8: MLOAD
000027d9: PUSH3 0x461bcd
000027dd: PUSH1 0xe5
000027df: SHL
000027e0: DUP2
000027e1: MSTORE
000027e2: PUSH1 0x20
000027e4: PUSH1 0x04
000027e6: DUP3
000027e7: ADD
000027e8: DUP2
000027e9: SWAP1
000027ea: MSTORE
000027eb: PUSH1 0x24
000027ed: DUP3
000027ee: ADD
000027ef: MSTORE
000027f0: PUSH1 0x00
000027f2: DUP1
000027f3: MLOAD
000027f4: PUSH1 0x20
000027f6: PUSH2 0x41e7
000027f9: DUP4
000027fa: CODECOPY
000027fb: DUP2
000027fc: MLOAD
000027fd: SWAP2
000027fe: MSTORE
000027ff: PUSH1 0x44
00002801: DUP3
00002802: ADD
00002803: MSTORE
00002804: SWAP1
00002805: MLOAD
00002806: SWAP1
00002807: DUP2
00002808: SWAP1
00002809: SUB
0000280a: PUSH1 0x64
0000280c: ADD
0000280d: SWAP1
0000280e: REVERT
0000280f: JUMPDEST
00002810: PUSH1 0x20
00002812: SWAP4
00002813: SWAP1
00002814: SWAP4
00002815: SSTORE
00002816: PUSH1 0x21
00002818: SWAP2
00002819: SWAP1
0000281a: SWAP2
0000281b: SSTORE
0000281c: PUSH1 0x22
0000281e: SSTORE
0000281f: PUSH1 0x23
00002821: SSTORE
00002822: JUMP
00002823: JUMPDEST
00002824: PUSH1 0x0d
00002826: SLOAD
00002827: DUP2
00002828: JUMP
00002829: JUMPDEST
0000282a: PUSH1 0x02
0000282c: SLOAD
0000282d: PUSH1 0x01
0000282f: PUSH1 0x01
00002831: PUSH1 0xa0
00002833: SHL
00002834: SUB
00002835: AND
00002836: DUP2
00002837: JUMP
00002838: JUMPDEST
00002839: PUSH2 0x2840
0000283c: PUSH2 0x21a5
0000283f: JUMP
00002840: JUMPDEST
00002841: PUSH2 0x287f
00002844: JUMPI
00002845: PUSH1 0x40
00002847: DUP1
00002848: MLOAD
00002849: PUSH3 0x461bcd
0000284d: PUSH1 0xe5
0000284f: SHL
00002850: DUP2
00002851: MSTORE
00002852: PUSH1 0x20
00002854: PUSH1 0x04
00002856: DUP3
00002857: ADD
00002858: DUP2
00002859: SWAP1
0000285a: MSTORE
0000285b: PUSH1 0x24
0000285d: DUP3
0000285e: ADD
0000285f: MSTORE
00002860: PUSH1 0x00
00002862: DUP1
00002863: MLOAD
00002864: PUSH1 0x20
00002866: PUSH2 0x41e7
00002869: DUP4
0000286a: CODECOPY
0000286b: DUP2
0000286c: MLOAD
0000286d: SWAP2
0000286e: MSTORE
0000286f: PUSH1 0x44
00002871: DUP3
00002872: ADD
00002873: MSTORE
00002874: SWAP1
00002875: MLOAD
00002876: SWAP1
00002877: DUP2
00002878: SWAP1
00002879: SUB
0000287a: PUSH1 0x64
0000287c: ADD
0000287d: SWAP1
0000287e: REVERT
0000287f: JUMPDEST
00002880: PUSH1 0x06
00002882: SLOAD
00002883: PUSH1 0x00
00002885: SWAP1
00002886: PUSH1 0x01
00002888: PUSH1 0x01
0000288a: PUSH1 0xa0
0000288c: SHL
0000288d: SUB
0000288e: AND
0000288f: PUSH2 0x2897
00002892: DUP2
00002893: PUSH2 0x2edc
00002896: JUMP
00002897: JUMPDEST
00002898: PUSH1 0x01
0000289a: PUSH1 0x01
0000289c: PUSH1 0xa0
0000289e: SHL
0000289f: SUB
000028a0: DUP3
000028a1: AND
000028a2: PUSH1 0x00
000028a4: SWAP1
000028a5: DUP2
000028a6: MSTORE
000028a7: PUSH1 0x1b
000028a9: PUSH1 0x20
000028ab: MSTORE
000028ac: PUSH1 0x40
000028ae: SWAP1
000028af: KECCAK256
000028b0: SSTORE
000028b1: PUSH2 0x28b8
000028b4: PUSH2 0x20ec
000028b7: JUMP
000028b8: JUMPDEST
000028b9: PUSH1 0x01
000028bb: PUSH1 0x01
000028bd: PUSH1 0xa0
000028bf: SHL
000028c0: SUB
000028c1: DUP1
000028c2: DUP4
000028c3: AND
000028c4: PUSH1 0x00
000028c6: SWAP1
000028c7: DUP2
000028c8: MSTORE
000028c9: PUSH1 0x1a
000028cb: PUSH1 0x20
000028cd: MSTORE
000028ce: PUSH1 0x40
000028d0: SWAP1
000028d1: KECCAK256
000028d2: SWAP2
000028d3: SWAP1
000028d4: SWAP2
000028d5: SSTORE
000028d6: DUP3
000028d7: AND
000028d8: ISZERO
000028d9: PUSH2 0x2931
000028dc: JUMPI
000028dd: PUSH2 0x28e6
000028e0: DUP3
000028e1: DUP3
000028e2: PUSH2 0x0fcb
000028e5: JUMP
000028e6: JUMPDEST
000028e7: PUSH1 0x01
000028e9: PUSH1 0x01
000028eb: PUSH1 0xa0
000028ed: SHL
000028ee: SUB
000028ef: DUP1
000028f0: DUP4
000028f1: AND
000028f2: PUSH1 0x00
000028f4: DUP2
000028f5: DUP2
000028f6: MSTORE
000028f7: PUSH1 0x25
000028f9: PUSH1 0x20
000028fb: SWAP1
000028fc: DUP2
000028fd: MSTORE
000028fe: PUSH1 0x40
00002900: DUP1
00002901: DUP4
00002902: KECCAK256
00002903: SWAP5
00002904: DUP9
00002905: AND
00002906: DUP1
00002907: DUP5
00002908: MSTORE
00002909: SWAP5
0000290a: DUP3
0000290b: MSTORE
0000290c: DUP1
0000290d: DUP4
0000290e: KECCAK256
0000290f: SWAP6
00002910: SWAP1
00002911: SWAP6
00002912: SSTORE
00002913: SWAP2
00002914: DUP2
00002915: MSTORE
00002916: PUSH1 0x1b
00002918: DUP3
00002919: MSTORE
0000291a: DUP4
0000291b: DUP2
0000291c: KECCAK256
0000291d: SLOAD
0000291e: PUSH1 0x24
00002920: DUP4
00002921: MSTORE
00002922: DUP5
00002923: DUP3
00002924: KECCAK256
00002925: SWAP4
00002926: DUP3
00002927: MSTORE
00002928: SWAP3
00002929: SWAP1
0000292a: SWAP2
0000292b: MSTORE
0000292c: SWAP2
0000292d: SWAP1
0000292e: SWAP2
0000292f: KECCAK256
00002930: SSTORE
00002931: JUMPDEST
00002932: PUSH1 0x00
00002934: SLOAD
00002935: PUSH1 0x01
00002937: PUSH1 0xa0
00002939: SHL
0000293a: SWAP1
0000293b: DIV
0000293c: PUSH1 0xff
0000293e: AND
0000293f: ISZERO
00002940: PUSH2 0x297e
00002943: JUMPI
00002944: PUSH1 0x40
00002946: DUP1
00002947: MLOAD
00002948: PUSH3 0x461bcd
0000294c: PUSH1 0xe5
0000294e: SHL
0000294f: DUP2
00002950: MSTORE
00002951: PUSH1 0x20
00002953: PUSH1 0x04
00002955: DUP3
00002956: ADD
00002957: MSTORE
00002958: PUSH1 0x0b
0000295a: PUSH1 0x24
0000295c: DUP3
0000295d: ADD
0000295e: MSTORE
0000295f: PUSH11 0x1a185cc81cdd185c9d1959
0000296b: PUSH1 0xaa
0000296d: SHL
0000296e: PUSH1 0x44
00002970: DUP3
00002971: ADD
00002972: MSTORE
00002973: SWAP1
00002974: MLOAD
00002975: SWAP1
00002976: DUP2
00002977: SWAP1
00002978: SUB
00002979: PUSH1 0x64
0000297b: ADD
0000297c: SWAP1
0000297d: REVERT
0000297e: JUMPDEST
0000297f: PUSH1 0x00
00002981: DUP1
00002982: SLOAD
00002983: PUSH1 0xff
00002985: PUSH1 0xa0
00002987: SHL
00002988: NOT
00002989: AND
0000298a: PUSH1 0x01
0000298c: PUSH1 0xa0
0000298e: SHL
0000298f: OR
00002990: SWAP1
00002991: SSTORE
00002992: PUSH1 0x16
00002994: DUP4
00002995: SWAP1
00002996: SSTORE
00002997: PUSH2 0x299e
0000299a: PUSH2 0x312c
0000299d: JUMP
0000299e: JUMPDEST
0000299f: PUSH1 0x09
000029a1: SLOAD
000029a2: PUSH1 0x01
000029a4: SLOAD
000029a5: PUSH2 0x29b6
000029a8: SWAP2
000029a9: PUSH1 0x03
000029ab: MUL
000029ac: PUSH4 0xffffffff
000029b1: PUSH2 0x30ea
000029b4: AND
000029b5: JUMP
000029b6: JUMPDEST
000029b7: PUSH1 0x18
000029b9: DUP2
000029ba: SWAP1
000029bb: SSTORE
000029bc: POP
000029bd: PUSH2 0x29dd
000029c0: PUSH1 0x23
000029c2: SLOAD
000029c3: PUSH1 0x09
000029c5: SLOAD
000029c6: MUL
000029c7: PUSH2 0x104e
000029ca: PUSH1 0x20
000029cc: SLOAD
000029cd: PUSH1 0x01
000029cf: SLOAD
000029d0: PUSH2 0x3091
000029d3: SWAP1
000029d4: SWAP2
000029d5: SWAP1
000029d6: PUSH4 0xffffffff
000029db: AND
000029dc: JUMP
000029dd: JUMPDEST
000029de: PUSH1 0x08
000029e0: SLOAD
000029e1: PUSH1 0x01
000029e3: PUSH1 0x01
000029e5: PUSH1 0xa0
000029e7: SHL
000029e8: SUB
000029e9: AND
000029ea: PUSH1 0x00
000029ec: SWAP1
000029ed: DUP2
000029ee: MSTORE
000029ef: PUSH1 0x19
000029f1: PUSH1 0x20
000029f3: MSTORE
000029f4: PUSH1 0x40
000029f6: SWAP1
000029f7: KECCAK256
000029f8: SSTORE
000029f9: PUSH1 0x23
000029fb: SLOAD
000029fc: PUSH1 0x09
000029fe: SLOAD
000029ff: PUSH1 0x21
00002a01: SLOAD
00002a02: PUSH1 0x01
00002a04: SLOAD
00002a05: PUSH2 0x2a1c
00002a08: SWAP4
00002a09: SWAP3
00002a0a: SWAP1
00002a0b: SWAP3
00002a0c: MUL
00002a0d: SWAP2
00002a0e: PUSH2 0x104e
00002a11: SWAP2
00002a12: PUSH4 0xffffffff
00002a17: PUSH2 0x3091
00002a1a: AND
00002a1b: JUMP
00002a1c: JUMPDEST
00002a1d: PUSH1 0x07
00002a1f: SLOAD
00002a20: PUSH1 0x01
00002a22: PUSH1 0x01
00002a24: PUSH1 0xa0
00002a26: SHL
00002a27: SUB
00002a28: AND
00002a29: PUSH1 0x00
00002a2b: SWAP1
00002a2c: DUP2
00002a2d: MSTORE
00002a2e: PUSH1 0x19
00002a30: PUSH1 0x20
00002a32: MSTORE
00002a33: PUSH1 0x40
00002a35: SWAP1
00002a36: KECCAK256
00002a37: SSTORE
00002a38: PUSH1 0x23
00002a3a: SLOAD
00002a3b: PUSH1 0x09
00002a3d: SLOAD
00002a3e: PUSH1 0x22
00002a40: SLOAD
00002a41: PUSH1 0x01
00002a43: SLOAD
00002a44: PUSH2 0x2a5b
00002a47: SWAP4
00002a48: SWAP3
00002a49: SWAP1
00002a4a: SWAP3
00002a4b: MUL
00002a4c: SWAP2
00002a4d: PUSH2 0x104e
00002a50: SWAP2
00002a51: PUSH4 0xffffffff
00002a56: PUSH2 0x3091
00002a59: AND
00002a5a: JUMP
00002a5b: JUMPDEST
00002a5c: PUSH1 0x06
00002a5e: SLOAD
00002a5f: PUSH1 0x01
00002a61: PUSH1 0x01
00002a63: PUSH1 0xa0
00002a65: SHL
00002a66: SUB
00002a67: SWAP1
00002a68: DUP2
00002a69: AND
00002a6a: PUSH1 0x00
00002a6c: SWAP1
00002a6d: DUP2
00002a6e: MSTORE
00002a6f: PUSH1 0x19
00002a71: PUSH1 0x20
00002a73: MSTORE
00002a74: PUSH1 0x40
00002a76: DUP1
00002a77: DUP3
00002a78: KECCAK256
00002a79: SWAP4
00002a7a: SWAP1
00002a7b: SWAP4
00002a7c: SSTORE
00002a7d: PUSH1 0x02
00002a7f: SLOAD
00002a80: PUSH1 0x01
00002a82: SLOAD
00002a83: DUP5
00002a84: MLOAD
00002a85: PUSH4 0x40c10f19
00002a8a: PUSH1 0xe0
00002a8c: SHL
00002a8d: DUP2
00002a8e: MSTORE
00002a8f: ADDRESS
00002a90: PUSH1 0x04
00002a92: DUP3
00002a93: ADD
00002a94: MSTORE
00002a95: PUSH1 0x24
00002a97: DUP2
00002a98: ADD
00002a99: SWAP2
00002a9a: SWAP1
00002a9b: SWAP2
00002a9c: MSTORE
00002a9d: SWAP4
00002a9e: MLOAD
00002a9f: SWAP3
00002aa0: AND
00002aa1: SWAP3
00002aa2: PUSH4 0x40c10f19
00002aa7: SWAP3
00002aa8: PUSH1 0x44
00002aaa: DUP1
00002aab: DUP4
00002aac: ADD
00002aad: SWAP4
00002aae: SWAP3
00002aaf: DUP3
00002ab0: SWAP1
00002ab1: SUB
00002ab2: ADD
00002ab3: DUP2
00002ab4: DUP4
00002ab5: DUP8
00002ab6: DUP1
00002ab7: EXTCODESIZE
00002ab8: ISZERO
00002ab9: DUP1
00002aba: ISZERO
00002abb: PUSH2 0x2ac3
00002abe: JUMPI
00002abf: PUSH1 0x00
00002ac1: DUP1
00002ac2: REVERT
00002ac3: JUMPDEST
00002ac4: POP
00002ac5: GAS
00002ac6: CALL
00002ac7: ISZERO
00002ac8: DUP1
00002ac9: ISZERO
00002aca: PUSH2 0x2ad7
00002acd: JUMPI
00002ace: RETURNDATASIZE
00002acf: PUSH1 0x00
00002ad1: DUP1
00002ad2: RETURNDATACOPY
00002ad3: RETURNDATASIZE
00002ad4: PUSH1 0x00
00002ad6: REVERT
00002ad7: JUMPDEST
00002ad8: POP
00002ad9: POP
00002ada: PUSH1 0x16
00002adc: SLOAD
00002add: PUSH1 0x06
00002adf: SLOAD
00002ae0: PUSH1 0x01
00002ae2: PUSH1 0x01
00002ae4: PUSH1 0xa0
00002ae6: SHL
00002ae7: SUB
00002ae8: SWAP1
00002ae9: DUP2
00002aea: AND
00002aeb: PUSH1 0x00
00002aed: SWAP1
00002aee: DUP2
00002aef: MSTORE
00002af0: PUSH1 0x1a
00002af2: PUSH1 0x20
00002af4: MSTORE
00002af5: PUSH1 0x40
00002af7: DUP1
00002af8: DUP3
00002af9: KECCAK256
00002afa: DUP5
00002afb: SWAP1
00002afc: SSTORE
00002afd: PUSH1 0x07
00002aff: SLOAD
00002b00: DUP4
00002b01: AND
00002b02: DUP3
00002b03: MSTORE
00002b04: DUP1
00002b05: DUP3
00002b06: KECCAK256
00002b07: DUP5
00002b08: SWAP1
00002b09: SSTORE
00002b0a: PUSH1 0x08
00002b0c: SLOAD
00002b0d: SWAP1
00002b0e: SWAP3
00002b0f: AND
00002b10: DUP2
00002b11: MSTORE
00002b12: KECCAK256
00002b13: DUP2
00002b14: SWAP1
00002b15: SSTORE
00002b16: PUSH1 0x09
00002b18: SLOAD
00002b19: PUSH2 0x2b2b
00002b1c: SWAP4
00002b1d: POP
00002b1e: SWAP1
00002b1f: SWAP2
00002b20: POP
00002b21: PUSH4 0xffffffff
00002b26: PUSH2 0x2ff5
00002b29: AND
00002b2a: JUMP
00002b2b: JUMPDEST
00002b2c: PUSH1 0x17
00002b2e: SSTORE
00002b2f: PUSH1 0x01
00002b31: SLOAD
00002b32: PUSH1 0x40
00002b34: DUP1
00002b35: MLOAD
00002b36: SWAP2
00002b37: DUP3
00002b38: MSTORE
00002b39: MLOAD
00002b3a: PUSH32 0xde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d
00002b5b: SWAP2
00002b5c: DUP2
00002b5d: SWAP1
00002b5e: SUB
00002b5f: PUSH1 0x20
00002b61: ADD
00002b62: SWAP1
00002b63: LOG1
00002b64: POP
00002b65: POP
00002b66: POP
00002b67: JUMP
00002b68: JUMPDEST
00002b69: PUSH1 0x25
00002b6b: PUSH1 0x20
00002b6d: SWAP1
00002b6e: DUP2
00002b6f: MSTORE
00002b70: PUSH1 0x00
00002b72: SWAP3
00002b73: DUP4
00002b74: MSTORE
00002b75: PUSH1 0x40
00002b77: DUP1
00002b78: DUP5
00002b79: KECCAK256
00002b7a: SWAP1
00002b7b: SWAP2
00002b7c: MSTORE
00002b7d: SWAP1
00002b7e: DUP3
00002b7f: MSTORE
00002b80: SWAP1
00002b81: KECCAK256
00002b82: SLOAD
00002b83: DUP2
00002b84: JUMP
00002b85: JUMPDEST
00002b86: PUSH2 0x2b8d
00002b89: PUSH2 0x21a5
00002b8c: JUMP
00002b8d: JUMPDEST
00002b8e: PUSH2 0x2bcc
00002b91: JUMPI
00002b92: PUSH1 0x40
00002b94: DUP1
00002b95: MLOAD
00002b96: PUSH3 0x461bcd
00002b9a: PUSH1 0xe5
00002b9c: SHL
00002b9d: DUP2
00002b9e: MSTORE
00002b9f: PUSH1 0x20
00002ba1: PUSH1 0x04
00002ba3: DUP3
00002ba4: ADD
00002ba5: DUP2
00002ba6: SWAP1
00002ba7: MSTORE
00002ba8: PUSH1 0x24
00002baa: DUP3
00002bab: ADD
00002bac: MSTORE
00002bad: PUSH1 0x00
00002baf: DUP1
00002bb0: MLOAD
00002bb1: PUSH1 0x20
00002bb3: PUSH2 0x41e7
00002bb6: DUP4
00002bb7: CODECOPY
00002bb8: DUP2
00002bb9: MLOAD
00002bba: SWAP2
00002bbb: MSTORE
00002bbc: PUSH1 0x44
00002bbe: DUP3
00002bbf: ADD
00002bc0: MSTORE
00002bc1: SWAP1
00002bc2: MLOAD
00002bc3: SWAP1
00002bc4: DUP2
00002bc5: SWAP1
00002bc6: SUB
00002bc7: PUSH1 0x64
00002bc9: ADD
00002bca: SWAP1
00002bcb: REVERT
00002bcc: JUMPDEST
00002bcd: PUSH1 0x03
00002bcf: DUP1
00002bd0: SLOAD
00002bd1: PUSH1 0x01
00002bd3: PUSH1 0x01
00002bd5: PUSH1 0xa0
00002bd7: SHL
00002bd8: SUB
00002bd9: NOT
00002bda: AND
00002bdb: PUSH1 0x01
00002bdd: PUSH1 0x01
00002bdf: PUSH1 0xa0
00002be1: SHL
00002be2: SUB
00002be3: SWAP3
00002be4: SWAP1
00002be5: SWAP3
00002be6: AND
00002be7: SWAP2
00002be8: SWAP1
00002be9: SWAP2
00002bea: OR
00002beb: SWAP1
00002bec: SSTORE
00002bed: JUMP
00002bee: JUMPDEST
00002bef: PUSH2 0x2bf6
00002bf2: PUSH2 0x21a5
00002bf5: JUMP
00002bf6: JUMPDEST
00002bf7: PUSH2 0x2c35
00002bfa: JUMPI
00002bfb: PUSH1 0x40
00002bfd: DUP1
00002bfe: MLOAD
00002bff: PUSH3 0x461bcd
00002c03: PUSH1 0xe5
00002c05: SHL
00002c06: DUP2
00002c07: MSTORE
00002c08: PUSH1 0x20
00002c0a: PUSH1 0x04
00002c0c: DUP3
00002c0d: ADD
00002c0e: DUP2
00002c0f: SWAP1
00002c10: MSTORE
00002c11: PUSH1 0x24
00002c13: DUP3
00002c14: ADD
00002c15: MSTORE
00002c16: PUSH1 0x00
00002c18: DUP1
00002c19: MLOAD
00002c1a: PUSH1 0x20
00002c1c: PUSH2 0x41e7
00002c1f: DUP4
00002c20: CODECOPY
00002c21: DUP2
00002c22: MLOAD
00002c23: SWAP2
00002c24: MSTORE
00002c25: PUSH1 0x44
00002c27: DUP3
00002c28: ADD
00002c29: MSTORE
00002c2a: SWAP1
00002c2b: MLOAD
00002c2c: SWAP1
00002c2d: DUP2
00002c2e: SWAP1
00002c2f: SUB
00002c30: PUSH1 0x64
00002c32: ADD
00002c33: SWAP1
00002c34: REVERT
00002c35: JUMPDEST
00002c36: PUSH1 0x02
00002c38: DUP1
00002c39: SLOAD
00002c3a: PUSH1 0x01
00002c3c: PUSH1 0x01
00002c3e: PUSH1 0xa0
00002c40: SHL
00002c41: SUB
00002c42: NOT
00002c43: AND
00002c44: PUSH1 0x01
00002c46: PUSH1 0x01
00002c48: PUSH1 0xa0
00002c4a: SHL
00002c4b: SUB
00002c4c: SWAP3
00002c4d: SWAP1
00002c4e: SWAP3
00002c4f: AND
00002c50: SWAP2
00002c51: SWAP1
00002c52: SWAP2
00002c53: OR
00002c54: SWAP1
00002c55: SSTORE
00002c56: JUMP
00002c57: JUMPDEST
00002c58: PUSH1 0x60
00002c5a: DUP1
00002c5b: PUSH1 0x00
00002c5d: PUSH2 0x2c64
00002c60: PUSH2 0x2111
00002c63: JUMP
00002c64: JUMPDEST
00002c65: SWAP1
00002c66: POP
00002c67: DUP1
00002c68: PUSH1 0x40
00002c6a: MLOAD
00002c6b: SWAP1
00002c6c: DUP1
00002c6d: DUP3
00002c6e: MSTORE
00002c6f: DUP1
00002c70: PUSH1 0x20
00002c72: MUL
00002c73: PUSH1 0x20
00002c75: ADD
00002c76: DUP3
00002c77: ADD
00002c78: PUSH1 0x40
00002c7a: MSTORE
00002c7b: DUP1
00002c7c: ISZERO
00002c7d: PUSH2 0x2c90
00002c80: JUMPI
00002c81: DUP2
00002c82: PUSH1 0x20
00002c84: ADD
00002c85: PUSH1 0x20
00002c87: DUP3
00002c88: MUL
00002c89: DUP1
00002c8a: CODESIZE
00002c8b: DUP4
00002c8c: CODECOPY
00002c8d: ADD
00002c8e: SWAP1
00002c8f: POP
00002c90: JUMPDEST
00002c91: POP
00002c92: SWAP3
00002c93: POP
00002c94: DUP1
00002c95: PUSH1 0x40
00002c97: MLOAD
00002c98: SWAP1
00002c99: DUP1
00002c9a: DUP3
00002c9b: MSTORE
00002c9c: DUP1
00002c9d: PUSH1 0x20
00002c9f: MUL
00002ca0: PUSH1 0x20
00002ca2: ADD
00002ca3: DUP3
00002ca4: ADD
00002ca5: PUSH1 0x40
00002ca7: MSTORE
00002ca8: DUP1
00002ca9: ISZERO
00002caa: PUSH2 0x2cbd
00002cad: JUMPI
00002cae: DUP2
00002caf: PUSH1 0x20
00002cb1: ADD
00002cb2: PUSH1 0x20
00002cb4: DUP3
00002cb5: MUL
00002cb6: DUP1
00002cb7: CODESIZE
00002cb8: DUP4
00002cb9: CODECOPY
00002cba: ADD
00002cbb: SWAP1
00002cbc: POP
00002cbd: JUMPDEST
00002cbe: POP
00002cbf: SWAP2
00002cc0: POP
00002cc1: PUSH1 0x00
00002cc3: JUMPDEST
00002cc4: DUP2
00002cc5: DUP2
00002cc6: LT
00002cc7: ISZERO
00002cc8: PUSH2 0x0d67
00002ccb: JUMPI
00002ccc: PUSH1 0x00
00002cce: PUSH1 0x27
00002cd0: PUSH20 0x3414b7e8332b4da3e268ca7aa5bee6b9a25787f7
00002ce5: PUSH4 0x20ad2894
00002cea: SWAP1
00002ceb: SWAP2
00002cec: DUP5
00002ced: PUSH1 0x40
00002cef: MLOAD
00002cf0: DUP4
00002cf1: PUSH4 0xffffffff
00002cf6: AND
00002cf7: PUSH1 0xe0
00002cf9: SHL
00002cfa: DUP2
00002cfb: MSTORE
00002cfc: PUSH1 0x04
00002cfe: ADD
00002cff: DUP1
00002d00: DUP4
00002d01: DUP2
00002d02: MSTORE
00002d03: PUSH1 0x20
00002d05: ADD
00002d06: DUP3
00002d07: DUP2
00002d08: MSTORE
00002d09: PUSH1 0x20
00002d0b: ADD
00002d0c: SWAP3
00002d0d: POP
00002d0e: POP
00002d0f: POP
00002d10: PUSH1 0x20
00002d12: PUSH1 0x40
00002d14: MLOAD
00002d15: DUP1
00002d16: DUP4
00002d17: SUB
00002d18: DUP2
00002d19: DUP7
00002d1a: DUP1
00002d1b: EXTCODESIZE
00002d1c: ISZERO
00002d1d: DUP1
00002d1e: ISZERO
00002d1f: PUSH2 0x2d27
00002d22: JUMPI
00002d23: PUSH1 0x00
00002d25: DUP1
00002d26: REVERT
00002d27: JUMPDEST
00002d28: POP
00002d29: GAS
00002d2a: DELEGATECALL
00002d2b: ISZERO
00002d2c: DUP1
00002d2d: ISZERO
00002d2e: PUSH2 0x2d3b
00002d31: JUMPI
00002d32: RETURNDATASIZE
00002d33: PUSH1 0x00
00002d35: DUP1
00002d36: RETURNDATACOPY
00002d37: RETURNDATASIZE
00002d38: PUSH1 0x00
00002d3a: REVERT
00002d3b: JUMPDEST
00002d3c: POP
00002d3d: POP
00002d3e: POP
00002d3f: POP
00002d40: PUSH1 0x40
00002d42: MLOAD
00002d43: RETURNDATASIZE
00002d44: PUSH1 0x20
00002d46: DUP2
00002d47: LT
00002d48: ISZERO
00002d49: PUSH2 0x2d51
00002d4c: JUMPI
00002d4d: PUSH1 0x00
00002d4f: DUP1
00002d50: REVERT
00002d51: JUMPDEST
00002d52: POP
00002d53: MLOAD
00002d54: DUP6
00002d55: MLOAD
00002d56: SWAP1
00002d57: SWAP2
00002d58: POP
00002d59: DUP2
00002d5a: SWAP1
00002d5b: DUP7
00002d5c: SWAP1
00002d5d: DUP5
00002d5e: SWAP1
00002d5f: DUP2
00002d60: LT
00002d61: PUSH2 0x2d66
00002d64: JUMPI
00002d65: INVALID
00002d66: JUMPDEST
00002d67: PUSH1 0x20
00002d69: MUL
00002d6a: PUSH1 0x20
00002d6c: ADD
00002d6d: ADD
00002d6e: SWAP1
00002d6f: PUSH1 0x01
00002d71: PUSH1 0x01
00002d73: PUSH1 0xa0
00002d75: SHL
00002d76: SUB
00002d77: AND
00002d78: SWAP1
00002d79: DUP2
00002d7a: PUSH1 0x01
00002d7c: PUSH1 0x01
00002d7e: PUSH1 0xa0
00002d80: SHL
00002d81: SUB
00002d82: AND
00002d83: DUP2
00002d84: MSTORE
00002d85: POP
00002d86: POP
00002d87: PUSH1 0x0f
00002d89: PUSH1 0x00
00002d8b: DUP3
00002d8c: PUSH1 0x01
00002d8e: PUSH1 0x01
00002d90: PUSH1 0xa0
00002d92: SHL
00002d93: SUB
00002d94: AND
00002d95: PUSH1 0x01
00002d97: PUSH1 0x01
00002d99: PUSH1 0xa0
00002d9b: SHL
00002d9c: SUB
00002d9d: AND
00002d9e: DUP2
00002d9f: MSTORE
00002da0: PUSH1 0x20
00002da2: ADD
00002da3: SWAP1
00002da4: DUP2
00002da5: MSTORE
00002da6: PUSH1 0x20
00002da8: ADD
00002da9: PUSH1 0x00
00002dab: KECCAK256
00002dac: SLOAD
00002dad: DUP5
00002dae: DUP4
00002daf: DUP2
00002db0: MLOAD
00002db1: DUP2
00002db2: LT
00002db3: PUSH2 0x2db8
00002db6: JUMPI
00002db7: INVALID
00002db8: JUMPDEST
00002db9: PUSH1 0x20
00002dbb: SWAP1
00002dbc: DUP2
00002dbd: MUL
00002dbe: SWAP2
00002dbf: SWAP1
00002dc0: SWAP2
00002dc1: ADD
00002dc2: ADD
00002dc3: MSTORE
00002dc4: POP
00002dc5: PUSH1 0x01
00002dc7: ADD
00002dc8: PUSH2 0x2cc3
00002dcb: JUMP
00002dcc: JUMPDEST
00002dcd: PUSH1 0x24
00002dcf: PUSH1 0x20
00002dd1: SWAP1
00002dd2: DUP2
00002dd3: MSTORE
00002dd4: PUSH1 0x00
00002dd6: SWAP3
00002dd7: DUP4
00002dd8: MSTORE
00002dd9: PUSH1 0x40
00002ddb: DUP1
00002ddc: DUP5
00002ddd: KECCAK256
00002dde: SWAP1
00002ddf: SWAP2
00002de0: MSTORE
00002de1: SWAP1
00002de2: DUP3
00002de3: MSTORE
00002de4: SWAP1
00002de5: KECCAK256
00002de6: SLOAD
00002de7: DUP2
00002de8: JUMP
00002de9: JUMPDEST
00002dea: CALLER
00002deb: PUSH1 0x00
00002ded: SWAP1
00002dee: DUP2
00002def: MSTORE
00002df0: PUSH1 0x0e
00002df2: PUSH1 0x20
00002df4: SWAP1
00002df5: DUP2
00002df6: MSTORE
00002df7: PUSH1 0x40
00002df9: DUP1
00002dfa: DUP4
00002dfb: KECCAK256
00002dfc: PUSH1 0x01
00002dfe: PUSH1 0x01
00002e00: PUSH1 0xa0
00002e02: SHL
00002e03: SUB
00002e04: DUP6
00002e05: AND
00002e06: DUP5
00002e07: MSTORE
00002e08: DUP3
00002e09: MSTORE
00002e0a: DUP1
00002e0b: DUP4
00002e0c: KECCAK256
00002e0d: DUP2
00002e0e: MLOAD
00002e0f: PUSH4 0x3b7a7af7
00002e14: PUSH1 0xe2
00002e16: SHL
00002e17: DUP2
00002e18: MSTORE
00002e19: PUSH1 0x04
00002e1b: DUP2
00002e1c: ADD
00002e1d: SWAP2
00002e1e: SWAP1
00002e1f: SWAP2
00002e20: MSTORE
00002e21: TIMESTAMP
00002e22: PUSH1 0x24
00002e24: DUP3
00002e25: ADD
00002e26: MSTORE
00002e27: SWAP1
00002e28: MLOAD
00002e29: PUSH20 0xab2ea31dba6270584486b6d7657fbfcd10f8bfae
00002e3e: SWAP3
00002e3f: PUSH4 0xede9ebdc
00002e44: SWAP3
00002e45: PUSH1 0x44
00002e47: DUP1
00002e48: DUP3
00002e49: ADD
00002e4a: SWAP4
00002e4b: SWAP2
00002e4c: DUP3
00002e4d: SWAP1
00002e4e: SUB
00002e4f: ADD
00002e50: DUP2
00002e51: DUP7
00002e52: DUP1
00002e53: EXTCODESIZE
00002e54: ISZERO
00002e55: DUP1
00002e56: ISZERO
00002e57: PUSH2 0x2014
00002e5a: JUMPI
00002e5b: PUSH1 0x00
00002e5d: DUP1
00002e5e: REVERT
00002e5f: JUMPDEST
00002e60: PUSH1 0x07
00002e62: SLOAD
00002e63: PUSH1 0x01
00002e65: PUSH1 0x01
00002e67: PUSH1 0xa0
00002e69: SHL
00002e6a: SUB
00002e6b: AND
00002e6c: DUP2
00002e6d: JUMP
00002e6e: JUMPDEST
00002e6f: PUSH1 0x60
00002e71: PUSH1 0x13
00002e73: DUP1
00002e74: SLOAD
00002e75: DUP1
00002e76: PUSH1 0x20
00002e78: MUL
00002e79: PUSH1 0x20
00002e7b: ADD
00002e7c: PUSH1 0x40
00002e7e: MLOAD
00002e7f: SWAP1
00002e80: DUP2
00002e81: ADD
00002e82: PUSH1 0x40
00002e84: MSTORE
00002e85: DUP1
00002e86: SWAP3
00002e87: SWAP2
00002e88: SWAP1
00002e89: DUP2
00002e8a: DUP2
00002e8b: MSTORE
00002e8c: PUSH1 0x20
00002e8e: ADD
00002e8f: DUP3
00002e90: DUP1
00002e91: SLOAD
00002e92: DUP1
00002e93: ISZERO
00002e94: PUSH2 0x2ec6
00002e97: JUMPI
00002e98: PUSH1 0x20
00002e9a: MUL
00002e9b: DUP3
00002e9c: ADD
00002e9d: SWAP2
00002e9e: SWAP1
00002e9f: PUSH1 0x00
00002ea1: MSTORE
00002ea2: PUSH1 0x20
00002ea4: PUSH1 0x00
00002ea6: KECCAK256
00002ea7: SWAP1
00002ea8: JUMPDEST
00002ea9: DUP2
00002eaa: SLOAD
00002eab: PUSH1 0x01
00002ead: PUSH1 0x01
00002eaf: PUSH1 0xa0
00002eb1: SHL
00002eb2: SUB
00002eb3: AND
00002eb4: DUP2
00002eb5: MSTORE
00002eb6: PUSH1 0x01
00002eb8: SWAP1
00002eb9: SWAP2
00002eba: ADD
00002ebb: SWAP1
00002ebc: PUSH1 0x20
00002ebe: ADD
00002ebf: DUP1
00002ec0: DUP4
00002ec1: GT
00002ec2: PUSH2 0x2ea8
00002ec5: JUMPI
00002ec6: JUMPDEST
00002ec7: POP
00002ec8: POP
00002ec9: POP
00002eca: POP
00002ecb: POP
00002ecc: SWAP1
00002ecd: POP
00002ece: SWAP1
00002ecf: JUMP
00002ed0: JUMPDEST
00002ed1: PUSH1 0x1c
00002ed3: SLOAD
00002ed4: DUP2
00002ed5: JUMP
00002ed6: JUMPDEST
00002ed7: PUSH1 0x23
00002ed9: SLOAD
00002eda: DUP2
00002edb: JUMP
00002edc: JUMPDEST
00002edd: PUSH1 0x01
00002edf: PUSH1 0x01
00002ee1: PUSH1 0xa0
00002ee3: SHL
00002ee4: SUB
00002ee5: DUP2
00002ee6: AND
00002ee7: PUSH1 0x00
00002ee9: SWAP1
00002eea: DUP2
00002eeb: MSTORE
00002eec: PUSH1 0x0f
00002eee: PUSH1 0x20
00002ef0: MSTORE
00002ef1: PUSH1 0x40
00002ef3: DUP2
00002ef4: KECCAK256
00002ef5: SLOAD
00002ef6: PUSH2 0x2f18
00002ef9: JUMPI
00002efa: POP
00002efb: PUSH1 0x01
00002efd: PUSH1 0x01
00002eff: PUSH1 0xa0
00002f01: SHL
00002f02: SUB
00002f03: DUP2
00002f04: AND
00002f05: PUSH1 0x00
00002f07: SWAP1
00002f08: DUP2
00002f09: MSTORE
00002f0a: PUSH1 0x1b
00002f0c: PUSH1 0x20
00002f0e: MSTORE
00002f0f: PUSH1 0x40
00002f11: SWAP1
00002f12: KECCAK256
00002f13: SLOAD
00002f14: PUSH2 0x0e3a
00002f17: JUMP
00002f18: JUMPDEST
00002f19: PUSH1 0x01
00002f1b: PUSH1 0x01
00002f1d: PUSH1 0xa0
00002f1f: SHL
00002f20: SUB
00002f21: DUP3
00002f22: AND
00002f23: PUSH1 0x00
00002f25: SWAP1
00002f26: DUP2
00002f27: MSTORE
00002f28: PUSH1 0x0f
00002f2a: PUSH1 0x20
00002f2c: SWAP1
00002f2d: DUP2
00002f2e: MSTORE
00002f2f: PUSH1 0x40
00002f31: DUP1
00002f32: DUP4
00002f33: KECCAK256
00002f34: SLOAD
00002f35: PUSH1 0x19
00002f37: DUP4
00002f38: MSTORE
00002f39: DUP2
00002f3a: DUP5
00002f3b: KECCAK256
00002f3c: SLOAD
00002f3d: PUSH1 0x1a
00002f3f: SWAP1
00002f40: SWAP4
00002f41: MSTORE
00002f42: SWAP3
00002f43: KECCAK256
00002f44: SLOAD
00002f45: PUSH2 0x0fa8
00002f48: SWAP3
00002f49: PUSH2 0x2f6b
00002f4c: SWAP3
00002f4d: SWAP1
00002f4e: SWAP2
00002f4f: PUSH2 0x104e
00002f52: SWAP2
00002f53: PUSH8 0x0de0b6b3a7640000
00002f5c: SWAP2
00002f5d: PUSH2 0x1042
00002f60: SWAP2
00002f61: SWAP1
00002f62: DUP3
00002f63: SWAP1
00002f64: PUSH2 0x102c
00002f67: PUSH2 0x20ec
00002f6a: JUMP
00002f6b: JUMPDEST
00002f6c: PUSH1 0x01
00002f6e: PUSH1 0x01
00002f70: PUSH1 0xa0
00002f72: SHL
00002f73: SUB
00002f74: DUP5
00002f75: AND
00002f76: PUSH1 0x00
00002f78: SWAP1
00002f79: DUP2
00002f7a: MSTORE
00002f7b: PUSH1 0x1b
00002f7d: PUSH1 0x20
00002f7f: MSTORE
00002f80: PUSH1 0x40
00002f82: SWAP1
00002f83: KECCAK256
00002f84: SLOAD
00002f85: SWAP1
00002f86: PUSH4 0xffffffff
00002f8b: PUSH2 0x2ff5
00002f8e: AND
00002f8f: JUMP
00002f90: JUMPDEST
00002f91: PUSH2 0x2f98
00002f94: PUSH2 0x21a5
00002f97: JUMP
00002f98: JUMPDEST
00002f99: PUSH2 0x2fd7
00002f9c: JUMPI
00002f9d: PUSH1 0x40
00002f9f: DUP1
00002fa0: MLOAD
00002fa1: PUSH3 0x461bcd
00002fa5: PUSH1 0xe5
00002fa7: SHL
00002fa8: DUP2
00002fa9: MSTORE
00002faa: PUSH1 0x20
00002fac: PUSH1 0x04
00002fae: DUP3
00002faf: ADD
00002fb0: DUP2
00002fb1: SWAP1
00002fb2: MSTORE
00002fb3: PUSH1 0x24
00002fb5: DUP3
00002fb6: ADD
00002fb7: MSTORE
00002fb8: PUSH1 0x00
00002fba: DUP1
00002fbb: MLOAD
00002fbc: PUSH1 0x20
00002fbe: PUSH2 0x41e7
00002fc1: DUP4
00002fc2: CODECOPY
00002fc3: DUP2
00002fc4: MLOAD
00002fc5: SWAP2
00002fc6: MSTORE
00002fc7: PUSH1 0x44
00002fc9: DUP3
00002fca: ADD
00002fcb: MSTORE
00002fcc: SWAP1
00002fcd: MLOAD
00002fce: SWAP1
00002fcf: DUP2
00002fd0: SWAP1
00002fd1: SUB
00002fd2: PUSH1 0x64
00002fd4: ADD
00002fd5: SWAP1
00002fd6: REVERT
00002fd7: JUMPDEST
00002fd8: PUSH2 0x2fe0
00002fdb: DUP2
00002fdc: PUSH2 0x3cc8
00002fdf: JUMP
00002fe0: JUMPDEST
00002fe1: POP
00002fe2: JUMP
00002fe3: JUMPDEST
00002fe4: PUSH1 0x21
00002fe6: SLOAD
00002fe7: DUP2
00002fe8: JUMP
00002fe9: JUMPDEST
00002fea: PUSH1 0x16
00002fec: SLOAD
00002fed: DUP2
00002fee: JUMP
00002fef: JUMPDEST
00002ff0: PUSH1 0x01
00002ff2: SLOAD
00002ff3: DUP2
00002ff4: JUMP
00002ff5: JUMPDEST
00002ff6: PUSH1 0x00
00002ff8: DUP3
00002ff9: DUP3
00002ffa: ADD
00002ffb: DUP4
00002ffc: DUP2
00002ffd: LT
00002ffe: ISZERO
00002fff: PUSH2 0x1066
00003002: JUMPI
00003003: PUSH1 0x40
00003005: DUP1
00003006: MLOAD
00003007: PUSH3 0x461bcd
0000300b: PUSH1 0xe5
0000300d: SHL
0000300e: DUP2
0000300f: MSTORE
00003010: PUSH1 0x20
00003012: PUSH1 0x04
00003014: DUP3
00003015: ADD
00003016: MSTORE
00003017: PUSH1 0x1b
00003019: PUSH1 0x24
0000301b: DUP3
0000301c: ADD
0000301d: MSTORE
0000301e: PUSH32 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000
0000303f: PUSH1 0x44
00003041: DUP3
00003042: ADD
00003043: MSTORE
00003044: SWAP1
00003045: MLOAD
00003046: SWAP1
00003047: DUP2
00003048: SWAP1
00003049: SUB
0000304a: PUSH1 0x64
0000304c: ADD
0000304d: SWAP1
0000304e: REVERT
0000304f: JUMPDEST
00003050: PUSH1 0x00
00003052: PUSH2 0x1066
00003055: DUP4
00003056: DUP4
00003057: PUSH1 0x40
00003059: MLOAD
0000305a: DUP1
0000305b: PUSH1 0x40
0000305d: ADD
0000305e: PUSH1 0x40
00003060: MSTORE
00003061: DUP1
00003062: PUSH1 0x1e
00003064: DUP2
00003065: MSTORE
00003066: PUSH1 0x20
00003068: ADD
00003069: PUSH32 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000
0000308a: DUP2
0000308b: MSTORE
0000308c: POP
0000308d: PUSH2 0x3d68
00003090: JUMP
00003091: JUMPDEST
00003092: PUSH1 0x00
00003094: DUP3
00003095: PUSH2 0x30a0
00003098: JUMPI
00003099: POP
0000309a: PUSH1 0x00
0000309c: PUSH2 0x0fa8
0000309f: JUMP
000030a0: JUMPDEST
000030a1: DUP3
000030a2: DUP3
000030a3: MUL
000030a4: DUP3
000030a5: DUP5
000030a6: DUP3
000030a7: DUP2
000030a8: PUSH2 0x30ad
000030ab: JUMPI
000030ac: INVALID
000030ad: JUMPDEST
000030ae: DIV
000030af: EQ
000030b0: PUSH2 0x1066
000030b3: JUMPI
000030b4: PUSH1 0x40
000030b6: MLOAD
000030b7: PUSH3 0x461bcd
000030bb: PUSH1 0xe5
000030bd: SHL
000030be: DUP2
000030bf: MSTORE
000030c0: PUSH1 0x04
000030c2: ADD
000030c3: DUP1
000030c4: DUP1
000030c5: PUSH1 0x20
000030c7: ADD
000030c8: DUP3
000030c9: DUP2
000030ca: SUB
000030cb: DUP3
000030cc: MSTORE
000030cd: PUSH1 0x21
000030cf: DUP2
000030d0: MSTORE
000030d1: PUSH1 0x20
000030d3: ADD
000030d4: DUP1
000030d5: PUSH2 0x41c6
000030d8: PUSH1 0x21
000030da: SWAP2
000030db: CODECOPY
000030dc: PUSH1 0x40
000030de: ADD
000030df: SWAP2
000030e0: POP
000030e1: POP
000030e2: PUSH1 0x40
000030e4: MLOAD
000030e5: DUP1
000030e6: SWAP2
000030e7: SUB
000030e8: SWAP1
000030e9: REVERT
000030ea: JUMPDEST
000030eb: PUSH1 0x00
000030ed: PUSH2 0x1066
000030f0: DUP4
000030f1: DUP4
000030f2: PUSH1 0x40
000030f4: MLOAD
000030f5: DUP1
000030f6: PUSH1 0x40
000030f8: ADD
000030f9: PUSH1 0x40
000030fb: MSTORE
000030fc: DUP1
000030fd: PUSH1 0x1a
000030ff: DUP2
00003100: MSTORE
00003101: PUSH1 0x20
00003103: ADD
00003104: PUSH32 0x536166654d6174683a206469766973696f6e206279207a65726f000000000000
00003125: DUP2
00003126: MSTORE
00003127: POP
00003128: PUSH2 0x3dff
0000312b: JUMP
0000312c: JUMPDEST
0000312d: PUSH1 0x0a
0000312f: DUP1
00003130: SLOAD
00003131: PUSH16 0xffffffffffffffffffffffffffffffff
00003142: NOT
00003143: DUP2
00003144: AND
00003145: PUSH16 0xffffffffffffffffffffffffffffffff
00003156: PUSH1 0x01
00003158: PUSH1 0x0f
0000315a: SWAP4
0000315b: DUP5
0000315c: SIGNEXTEND
0000315d: ADD
0000315e: DUP4
0000315f: SIGNEXTEND
00003160: AND
00003161: OR
00003162: SWAP2
00003163: DUP3
00003164: SWAP1
00003165: SSTORE
00003166: PUSH1 0x0d
00003168: SLOAD
00003169: PUSH1 0x0c
0000316b: SLOAD
0000316c: PUSH1 0x00
0000316e: SWAP4
0000316f: PUSH2 0x31b6
00003172: SWAP4
00003173: SWAP1
00003174: DUP2
00003175: SIGNEXTEND
00003176: DUP1
00003177: DUP3
00003178: SIGNEXTEND
00003179: DUP5
0000317a: EXP
0000317b: SWAP4
0000317c: PUSH2 0x104e
0000317f: SWAP4
00003180: PUSH1 0x00
00003182: NOT
00003183: SWAP1
00003184: SWAP3
00003185: ADD
00003186: SWAP1
00003187: SWAP3
00003188: SIGNEXTEND
00003189: SWAP2
0000318a: PUSH2 0x3192
0000318d: SWAP2
0000318e: PUSH2 0x304f
00003191: JUMP
00003192: JUMPDEST
00003193: EXP
00003194: PUSH2 0x1042
00003197: PUSH8 0x0de0b6b3a7640000
000031a0: PUSH2 0x1042
000031a3: PUSH1 0x0c
000031a5: SLOAD
000031a6: PUSH1 0x0b
000031a8: SLOAD
000031a9: PUSH2 0x3091
000031ac: SWAP1
000031ad: SWAP2
000031ae: SWAP1
000031af: PUSH4 0xffffffff
000031b4: AND
000031b5: JUMP
000031b6: JUMPDEST
000031b7: PUSH1 0x01
000031b9: SSTORE
000031ba: POP
000031bb: JUMP
000031bc: JUMPDEST
000031bd: PUSH1 0x00
000031bf: DUP3
000031c0: DUP3
000031c1: ADD
000031c2: DUP2
000031c3: DUP4
000031c4: SLT
000031c5: DUP1
000031c6: ISZERO
000031c7: SWAP1
000031c8: PUSH2 0x31d1
000031cb: JUMPI
000031cc: POP
000031cd: DUP4
000031ce: DUP2
000031cf: SLT
000031d0: ISZERO
000031d1: JUMPDEST
000031d2: DUP1
000031d3: PUSH2 0x31e6
000031d6: JUMPI
000031d7: POP
000031d8: PUSH1 0x00
000031da: DUP4
000031db: SLT
000031dc: DUP1
000031dd: ISZERO
000031de: PUSH2 0x31e6
000031e1: JUMPI
000031e2: POP
000031e3: DUP4
000031e4: DUP2
000031e5: SLT
000031e6: JUMPDEST
000031e7: PUSH2 0x1066
000031ea: JUMPI
000031eb: PUSH1 0x40
000031ed: MLOAD
000031ee: PUSH3 0x461bcd
000031f2: PUSH1 0xe5
000031f4: SHL
000031f5: DUP2
000031f6: MSTORE
000031f7: PUSH1 0x04
000031f9: ADD
000031fa: DUP1
000031fb: DUP1
000031fc: PUSH1 0x20
000031fe: ADD
000031ff: DUP3
00003200: DUP2
00003201: SUB
00003202: DUP3
00003203: MSTORE
00003204: PUSH1 0x21
00003206: DUP2
00003207: MSTORE
00003208: PUSH1 0x20
0000320a: ADD
0000320b: DUP1
0000320c: PUSH2 0x4137
0000320f: PUSH1 0x21
00003211: SWAP2
00003212: CODECOPY
00003213: PUSH1 0x40
00003215: ADD
00003216: SWAP2
00003217: POP
00003218: POP
00003219: PUSH1 0x40
0000321b: MLOAD
0000321c: DUP1
0000321d: SWAP2
0000321e: SUB
0000321f: SWAP1
00003220: REVERT
00003221: JUMPDEST
00003222: PUSH1 0x40
00003224: DUP1
00003225: MLOAD
00003226: PUSH4 0x9f941e71
0000322b: PUSH1 0xe0
0000322d: SHL
0000322e: DUP2
0000322f: MSTORE
00003230: PUSH1 0x27
00003232: PUSH1 0x04
00003234: DUP3
00003235: ADD
00003236: MSTORE
00003237: PUSH1 0x01
00003239: PUSH1 0x01
0000323b: PUSH1 0xa0
0000323d: SHL
0000323e: SUB
0000323f: DUP4
00003240: AND
00003241: PUSH1 0x24
00003243: DUP3
00003244: ADD
00003245: MSTORE
00003246: SWAP1
00003247: MLOAD
00003248: PUSH20 0x3414b7e8332b4da3e268ca7aa5bee6b9a25787f7
0000325d: SWAP2
0000325e: PUSH4 0x9f941e71
00003263: SWAP2
00003264: PUSH1 0x44
00003266: DUP1
00003267: DUP4
00003268: ADD
00003269: SWAP3
0000326a: PUSH1 0x20
0000326c: SWAP3
0000326d: SWAP2
0000326e: SWAP1
0000326f: DUP3
00003270: SWAP1
00003271: SUB
00003272: ADD
00003273: DUP2
00003274: DUP7
00003275: DUP1
00003276: EXTCODESIZE
00003277: ISZERO
00003278: DUP1
00003279: ISZERO
0000327a: PUSH2 0x3282
0000327d: JUMPI
0000327e: PUSH1 0x00
00003280: DUP1
00003281: REVERT
00003282: JUMPDEST
00003283: POP
00003284: GAS
00003285: DELEGATECALL
00003286: ISZERO
00003287: DUP1
00003288: ISZERO
00003289: PUSH2 0x3296
0000328c: JUMPI
0000328d: RETURNDATASIZE
0000328e: PUSH1 0x00
00003290: DUP1
00003291: RETURNDATACOPY
00003292: RETURNDATASIZE
00003293: PUSH1 0x00
00003295: REVERT
00003296: JUMPDEST
00003297: POP
00003298: POP
00003299: POP
0000329a: POP
0000329b: PUSH1 0x40
0000329d: MLOAD
0000329e: RETURNDATASIZE
0000329f: PUSH1 0x20
000032a1: DUP2
000032a2: LT
000032a3: ISZERO
000032a4: PUSH2 0x32ac
000032a7: JUMPI
000032a8: PUSH1 0x00
000032aa: DUP1
000032ab: REVERT
000032ac: JUMPDEST
000032ad: POP
000032ae: MLOAD
000032af: ISZERO
000032b0: PUSH2 0x3327
000032b3: JUMPI
000032b4: DUP2
000032b5: CALLVALUE
000032b6: LT
000032b7: ISZERO
000032b8: PUSH2 0x32f2
000032bb: JUMPI
000032bc: PUSH1 0x40
000032be: MLOAD
000032bf: PUSH3 0x461bcd
000032c3: PUSH1 0xe5
000032c5: SHL
000032c6: DUP2
000032c7: MSTORE
000032c8: PUSH1 0x04
000032ca: ADD
000032cb: DUP1
000032cc: DUP1
000032cd: PUSH1 0x20
000032cf: ADD
000032d0: DUP3
000032d1: DUP2
000032d2: SUB
000032d3: DUP3
000032d4: MSTORE
000032d5: PUSH1 0x24
000032d7: DUP2
000032d8: MSTORE
000032d9: PUSH1 0x20
000032db: ADD
000032dc: DUP1
000032dd: PUSH2 0x4181
000032e0: PUSH1 0x24
000032e2: SWAP2
000032e3: CODECOPY
000032e4: PUSH1 0x40
000032e6: ADD
000032e7: SWAP2
000032e8: POP
000032e9: POP
000032ea: PUSH1 0x40
000032ec: MLOAD
000032ed: DUP1
000032ee: SWAP2
000032ef: SUB
000032f0: SWAP1
000032f1: REVERT
000032f2: JUMPDEST
000032f3: PUSH1 0x40
000032f5: MLOAD
000032f6: CALLER
000032f7: SWAP1
000032f8: CALLVALUE
000032f9: DUP5
000032fa: SWAP1
000032fb: SUB
000032fc: DUP1
000032fd: ISZERO
000032fe: PUSH2 0x08fc
00003301: MUL
00003302: SWAP2
00003303: PUSH1 0x00
00003305: DUP2
00003306: DUP2
00003307: DUP2
00003308: DUP6
00003309: DUP9
0000330a: DUP9
0000330b: CALL
0000330c: SWAP4
0000330d: POP
0000330e: POP
0000330f: POP
00003310: POP
00003311: ISZERO
00003312: DUP1
00003313: ISZERO
00003314: PUSH2 0x3321
00003317: JUMPI
00003318: RETURNDATASIZE
00003319: PUSH1 0x00
0000331b: DUP1
0000331c: RETURNDATACOPY
0000331d: RETURNDATASIZE
0000331e: PUSH1 0x00
00003320: REVERT
00003321: JUMPDEST
00003322: POP
00003323: PUSH2 0x343b
00003326: JUMP
00003327: JUMPDEST
00003328: PUSH1 0x07
0000332a: SLOAD
0000332b: PUSH1 0x01
0000332d: PUSH1 0x01
0000332f: PUSH1 0xa0
00003331: SHL
00003332: SUB
00003333: DUP3
00003334: DUP2
00003335: AND
00003336: SWAP2
00003337: AND
00003338: EQ
00003339: PUSH2 0x33cf
0000333c: JUMPI
0000333d: PUSH1 0x40
0000333f: DUP1
00003340: MLOAD
00003341: PUSH4 0x23b872dd
00003346: PUSH1 0xe0
00003348: SHL
00003349: DUP2
0000334a: MSTORE
0000334b: PUSH1 0x01
0000334d: PUSH1 0x01
0000334f: PUSH1 0xa0
00003351: SHL
00003352: SUB
00003353: DUP7
00003354: DUP2
00003355: AND
00003356: PUSH1 0x04
00003358: DUP4
00003359: ADD
0000335a: MSTORE
0000335b: ADDRESS
0000335c: PUSH1 0x24
0000335e: DUP4
0000335f: ADD
00003360: MSTORE
00003361: PUSH1 0x44
00003363: DUP3
00003364: ADD
00003365: DUP7
00003366: SWAP1
00003367: MSTORE
00003368: SWAP2
00003369: MLOAD
0000336a: SWAP2
0000336b: DUP4
0000336c: AND
0000336d: SWAP2
0000336e: PUSH4 0x23b872dd
00003373: SWAP2
00003374: PUSH1 0x64
00003376: DUP1
00003377: DUP3
00003378: ADD
00003379: SWAP3
0000337a: PUSH1 0x20
0000337c: SWAP3
0000337d: SWAP1
0000337e: SWAP2
0000337f: SWAP1
00003380: DUP3
00003381: SWAP1
00003382: SUB
00003383: ADD
00003384: DUP2
00003385: PUSH1 0x00
00003387: DUP8
00003388: DUP1
00003389: EXTCODESIZE
0000338a: ISZERO
0000338b: DUP1
0000338c: ISZERO
0000338d: PUSH2 0x3395
00003390: JUMPI
00003391: PUSH1 0x00
00003393: DUP1
00003394: REVERT
00003395: JUMPDEST
00003396: POP
00003397: GAS
00003398: CALL
00003399: ISZERO
0000339a: DUP1
0000339b: ISZERO
0000339c: PUSH2 0x33a9
0000339f: JUMPI
000033a0: RETURNDATASIZE
000033a1: PUSH1 0x00
000033a3: DUP1
000033a4: RETURNDATACOPY
000033a5: RETURNDATASIZE
000033a6: PUSH1 0x00
000033a8: REVERT
000033a9: JUMPDEST
000033aa: POP
000033ab: POP
000033ac: POP
000033ad: POP
000033ae: PUSH1 0x40
000033b0: MLOAD
000033b1: RETURNDATASIZE
000033b2: PUSH1 0x20
000033b4: DUP2
000033b5: LT
000033b6: ISZERO
000033b7: PUSH2 0x33bf
000033ba: JUMPI
000033bb: PUSH1 0x00
000033bd: DUP1
000033be: REVERT
000033bf: JUMPDEST
000033c0: POP
000033c1: MLOAD
000033c2: PUSH2 0x33ca
000033c5: JUMPI
000033c6: PUSH1 0x00
000033c8: DUP1
000033c9: REVERT
000033ca: JUMPDEST
000033cb: PUSH2 0x343b
000033ce: JUMP
000033cf: JUMPDEST
000033d0: PUSH1 0x40
000033d2: DUP1
000033d3: MLOAD
000033d4: PUSH4 0x23b872dd
000033d9: PUSH1 0xe0
000033db: SHL
000033dc: DUP2
000033dd: MSTORE
000033de: PUSH1 0x01
000033e0: PUSH1 0x01
000033e2: PUSH1 0xa0
000033e4: SHL
000033e5: SUB
000033e6: DUP7
000033e7: DUP2
000033e8: AND
000033e9: PUSH1 0x04
000033eb: DUP4
000033ec: ADD
000033ed: MSTORE
000033ee: ADDRESS
000033ef: PUSH1 0x24
000033f1: DUP4
000033f2: ADD
000033f3: MSTORE
000033f4: PUSH1 0x44
000033f6: DUP3
000033f7: ADD
000033f8: DUP7
000033f9: SWAP1
000033fa: MSTORE
000033fb: SWAP2
000033fc: MLOAD
000033fd: SWAP2
000033fe: DUP4
000033ff: AND
00003400: SWAP2
00003401: PUSH4 0x23b872dd
00003406: SWAP2
00003407: PUSH1 0x64
00003409: DUP1
0000340a: DUP3
0000340b: ADD
0000340c: SWAP3
0000340d: PUSH1 0x00
0000340f: SWAP3
00003410: SWAP1
00003411: SWAP2
00003412: SWAP1
00003413: DUP3
00003414: SWAP1
00003415: SUB
00003416: ADD
00003417: DUP2
00003418: DUP4
00003419: DUP8
0000341a: DUP1
0000341b: EXTCODESIZE
0000341c: ISZERO
0000341d: DUP1
0000341e: ISZERO
0000341f: PUSH2 0x3427
00003422: JUMPI
00003423: PUSH1 0x00
00003425: DUP1
00003426: REVERT
00003427: JUMPDEST
00003428: POP
00003429: GAS
0000342a: CALL
0000342b: ISZERO
0000342c: DUP1
0000342d: ISZERO
0000342e: PUSH2 0x1683
00003431: JUMPI
00003432: RETURNDATASIZE
00003433: PUSH1 0x00
00003435: DUP1
00003436: RETURNDATACOPY
00003437: RETURNDATASIZE
00003438: PUSH1 0x00
0000343a: REVERT
0000343b: JUMPDEST
0000343c: POP
0000343d: POP
0000343e: POP
0000343f: POP
00003440: JUMP
00003441: JUMPDEST
00003442: PUSH1 0x40
00003444: DUP1
00003445: MLOAD
00003446: PUSH1 0x01
00003448: PUSH1 0x01
0000344a: PUSH1 0xa0
0000344c: SHL
0000344d: SUB
0000344e: DUP5
0000344f: AND
00003450: PUSH1 0x24
00003452: DUP3
00003453: ADD
00003454: MSTORE
00003455: PUSH1 0x44
00003457: DUP1
00003458: DUP3
00003459: ADD
0000345a: DUP5
0000345b: SWAP1
0000345c: MSTORE
0000345d: DUP3
0000345e: MLOAD
0000345f: DUP1
00003460: DUP4
00003461: SUB
00003462: SWAP1
00003463: SWAP2
00003464: ADD
00003465: DUP2
00003466: MSTORE
00003467: PUSH1 0x64
00003469: SWAP1
0000346a: SWAP2
0000346b: ADD
0000346c: SWAP1
0000346d: SWAP2
0000346e: MSTORE
0000346f: PUSH1 0x20
00003471: DUP2
00003472: ADD
00003473: DUP1
00003474: MLOAD
00003475: PUSH1 0x01
00003477: PUSH1 0x01
00003479: PUSH1 0xe0
0000347b: SHL
0000347c: SUB
0000347d: AND
0000347e: PUSH4 0xa9059cbb
00003483: PUSH1 0xe0
00003485: SHL
00003486: OR
00003487: SWAP1
00003488: MSTORE
00003489: PUSH2 0x3493
0000348c: SWAP1
0000348d: DUP5
0000348e: SWAP1
0000348f: PUSH2 0x3e64
00003492: JUMP
00003493: JUMPDEST
00003494: POP
00003495: POP
00003496: POP
00003497: JUMP
00003498: JUMPDEST
00003499: PUSH1 0x00
0000349b: DUP1
0000349c: DUP1
0000349d: JUMPDEST
0000349e: PUSH2 0x34a5
000034a1: PUSH2 0x2111
000034a4: JUMP
000034a5: JUMPDEST
000034a6: DUP2
000034a7: LT
000034a8: ISZERO
000034a9: PUSH2 0x39a7
000034ac: JUMPI
000034ad: DUP4
000034ae: DUP1
000034af: ISZERO
000034b0: PUSH2 0x35f2
000034b3: JUMPI
000034b4: POP
000034b5: PUSH1 0x01
000034b7: PUSH1 0x01
000034b9: PUSH1 0xa0
000034bb: SHL
000034bc: SUB
000034bd: DUP6
000034be: AND
000034bf: PUSH1 0x00
000034c1: SWAP1
000034c2: DUP2
000034c3: MSTORE
000034c4: PUSH1 0x0e
000034c6: PUSH1 0x20
000034c8: SWAP1
000034c9: DUP2
000034ca: MSTORE
000034cb: PUSH1 0x40
000034cd: DUP1
000034ce: DUP4
000034cf: KECCAK256
000034d0: DUP2
000034d1: MLOAD
000034d2: PUSH4 0x082b4a25
000034d7: PUSH1 0xe2
000034d9: SHL
000034da: DUP2
000034db: MSTORE
000034dc: PUSH1 0x27
000034de: PUSH1 0x04
000034e0: DUP3
000034e1: ADD
000034e2: MSTORE
000034e3: PUSH1 0x24
000034e5: DUP2
000034e6: ADD
000034e7: DUP7
000034e8: SWAP1
000034e9: MSTORE
000034ea: SWAP2
000034eb: MLOAD
000034ec: SWAP1
000034ed: SWAP3
000034ee: DUP5
000034ef: SWAP3
000034f0: PUSH20 0x3414b7e8332b4da3e268ca7aa5bee6b9a25787f7
00003505: SWAP3
00003506: PUSH4 0x20ad2894
0000350b: SWAP3
0000350c: PUSH1 0x44
0000350e: DUP1
0000350f: DUP5
00003510: ADD
00003511: SWAP4
00003512: SWAP2
00003513: SWAP3
00003514: SWAP2
00003515: DUP3
00003516: SWAP1
00003517: SUB
00003518: ADD
00003519: DUP2
0000351a: DUP7
0000351b: DUP1
0000351c: EXTCODESIZE
0000351d: ISZERO
0000351e: DUP1
0000351f: ISZERO
00003520: PUSH2 0x3528
00003523: JUMPI
00003524: PUSH1 0x00
00003526: DUP1
00003527: REVERT
00003528: JUMPDEST
00003529: POP
0000352a: GAS
0000352b: DELEGATECALL
0000352c: ISZERO
0000352d: DUP1
0000352e: ISZERO
0000352f: PUSH2 0x353c
00003532: JUMPI
00003533: RETURNDATASIZE
00003534: PUSH1 0x00
00003536: DUP1
00003537: RETURNDATACOPY
00003538: RETURNDATASIZE
00003539: PUSH1 0x00
0000353b: REVERT
0000353c: JUMPDEST
0000353d: POP
0000353e: POP
0000353f: POP
00003540: POP
00003541: PUSH1 0x40
00003543: MLOAD
00003544: RETURNDATASIZE
00003545: PUSH1 0x20
00003547: DUP2
00003548: LT
00003549: ISZERO
0000354a: PUSH2 0x3552
0000354d: JUMPI
0000354e: PUSH1 0x00
00003550: DUP1
00003551: REVERT
00003552: JUMPDEST
00003553: POP
00003554: MLOAD
00003555: PUSH1 0x01
00003557: PUSH1 0x01
00003559: PUSH1 0xa0
0000355b: SHL
0000355c: SUB
0000355d: AND
0000355e: DUP2
0000355f: MSTORE
00003560: PUSH1 0x20
00003562: DUP2
00003563: DUP2
00003564: ADD
00003565: SWAP3
00003566: SWAP1
00003567: SWAP3
00003568: MSTORE
00003569: PUSH1 0x40
0000356b: SWAP1
0000356c: DUP2
0000356d: ADD
0000356e: PUSH1 0x00
00003570: KECCAK256
00003571: DUP2
00003572: MLOAD
00003573: PUSH4 0x3b7a7af7
00003578: PUSH1 0xe2
0000357a: SHL
0000357b: DUP2
0000357c: MSTORE
0000357d: PUSH1 0x04
0000357f: DUP2
00003580: ADD
00003581: SWAP2
00003582: SWAP1
00003583: SWAP2
00003584: MSTORE
00003585: TIMESTAMP
00003586: PUSH1 0x24
00003588: DUP3
00003589: ADD
0000358a: MSTORE
0000358b: SWAP1
0000358c: MLOAD
0000358d: PUSH20 0xab2ea31dba6270584486b6d7657fbfcd10f8bfae
000035a2: SWAP3
000035a3: PUSH4 0xede9ebdc
000035a8: SWAP3
000035a9: PUSH1 0x44
000035ab: DUP1
000035ac: DUP3
000035ad: ADD
000035ae: SWAP4
000035af: SWAP2
000035b0: DUP3
000035b1: SWAP1
000035b2: SUB
000035b3: ADD
000035b4: DUP2
000035b5: DUP7
000035b6: DUP1
000035b7: EXTCODESIZE
000035b8: ISZERO
000035b9: DUP1
000035ba: ISZERO
000035bb: PUSH2 0x35c3
000035be: JUMPI
000035bf: PUSH1 0x00
000035c1: DUP1
000035c2: REVERT
000035c3: JUMPDEST
000035c4: POP
000035c5: GAS
000035c6: DELEGATECALL
000035c7: ISZERO
000035c8: DUP1
000035c9: ISZERO
000035ca: PUSH2 0x35d7
000035cd: JUMPI
000035ce: RETURNDATASIZE
000035cf: PUSH1 0x00
000035d1: DUP1
000035d2: RETURNDATACOPY
000035d3: RETURNDATASIZE
000035d4: PUSH1 0x00
000035d6: REVERT
000035d7: JUMPDEST
000035d8: POP
000035d9: POP
000035da: POP
000035db: POP
000035dc: PUSH1 0x40
000035de: MLOAD
000035df: RETURNDATASIZE
000035e0: PUSH1 0x20
000035e2: DUP2
000035e3: LT
000035e4: ISZERO
000035e5: PUSH2 0x35ed
000035e8: JUMPI
000035e9: PUSH1 0x00
000035eb: DUP1
000035ec: REVERT
000035ed: JUMPDEST
000035ee: POP
000035ef: MLOAD
000035f0: SLT
000035f1: ISZERO
000035f2: JUMPDEST
000035f3: ISZERO
000035f4: PUSH2 0x37ea
000035f7: JUMPI
000035f8: PUSH2 0x37e7
000035fb: PUSH2 0x37da
000035fe: PUSH3 0x0f4240
00003602: PUSH2 0x37ce
00003605: PUSH1 0x27
00003607: PUSH20 0x3414b7e8332b4da3e268ca7aa5bee6b9a25787f7
0000361c: PUSH4 0x8e151a05
00003621: SWAP1
00003622: SWAP2
00003623: DUP8
00003624: PUSH1 0x40
00003626: MLOAD
00003627: DUP4
00003628: PUSH4 0xffffffff
0000362d: AND
0000362e: PUSH1 0xe0
00003630: SHL
00003631: DUP2
00003632: MSTORE
00003633: PUSH1 0x04
00003635: ADD
00003636: DUP1
00003637: DUP4
00003638: DUP2
00003639: MSTORE
0000363a: PUSH1 0x20
0000363c: ADD
0000363d: DUP3
0000363e: DUP2
0000363f: MSTORE
00003640: PUSH1 0x20
00003642: ADD
00003643: SWAP3
00003644: POP
00003645: POP
00003646: POP
00003647: PUSH1 0x20
00003649: PUSH1 0x40
0000364b: MLOAD
0000364c: DUP1
0000364d: DUP4
0000364e: SUB
0000364f: DUP2
00003650: DUP7
00003651: DUP1
00003652: EXTCODESIZE
00003653: ISZERO
00003654: DUP1
00003655: ISZERO
00003656: PUSH2 0x365e
00003659: JUMPI
0000365a: PUSH1 0x00
0000365c: DUP1
0000365d: REVERT
0000365e: JUMPDEST
0000365f: POP
00003660: GAS
00003661: DELEGATECALL
00003662: ISZERO
00003663: DUP1
00003664: ISZERO
00003665: PUSH2 0x3672
00003668: JUMPI
00003669: RETURNDATASIZE
0000366a: PUSH1 0x00
0000366c: DUP1
0000366d: RETURNDATACOPY
0000366e: RETURNDATASIZE
0000366f: PUSH1 0x00
00003671: REVERT
00003672: JUMPDEST
00003673: POP
00003674: POP
00003675: POP
00003676: POP
00003677: PUSH1 0x40
00003679: MLOAD
0000367a: RETURNDATASIZE
0000367b: PUSH1 0x20
0000367d: DUP2
0000367e: LT
0000367f: ISZERO
00003680: PUSH2 0x3688
00003683: JUMPI
00003684: PUSH1 0x00
00003686: DUP1
00003687: REVERT
00003688: JUMPDEST
00003689: POP
0000368a: MLOAD
0000368b: PUSH1 0x01
0000368d: PUSH1 0x01
0000368f: PUSH1 0xa0
00003691: SHL
00003692: SUB
00003693: DUP11
00003694: AND
00003695: PUSH1 0x00
00003697: SWAP1
00003698: DUP2
00003699: MSTORE
0000369a: PUSH1 0x0e
0000369c: PUSH1 0x20
0000369e: SWAP1
0000369f: DUP2
000036a0: MSTORE
000036a1: PUSH1 0x40
000036a3: DUP1
000036a4: DUP4
000036a5: KECCAK256
000036a6: DUP2
000036a7: MLOAD
000036a8: PUSH4 0x082b4a25
000036ad: PUSH1 0xe2
000036af: SHL
000036b0: DUP2
000036b1: MSTORE
000036b2: PUSH1 0x27
000036b4: PUSH1 0x04
000036b6: DUP3
000036b7: ADD
000036b8: MSTORE
000036b9: PUSH1 0x24
000036bb: DUP2
000036bc: ADD
000036bd: DUP12
000036be: SWAP1
000036bf: MSTORE
000036c0: SWAP2
000036c1: MLOAD
000036c2: SWAP1
000036c3: SWAP4
000036c4: SWAP3
000036c5: PUSH20 0x3414b7e8332b4da3e268ca7aa5bee6b9a25787f7
000036da: SWAP3
000036db: PUSH4 0x20ad2894
000036e0: SWAP3
000036e1: PUSH1 0x44
000036e3: DUP1
000036e4: DUP4
000036e5: ADD
000036e6: SWAP4
000036e7: SWAP3
000036e8: DUP3
000036e9: SWAP1
000036ea: SUB
000036eb: ADD
000036ec: DUP2
000036ed: DUP7
000036ee: DUP1
000036ef: EXTCODESIZE
000036f0: ISZERO
000036f1: DUP1
000036f2: ISZERO
000036f3: PUSH2 0x36fb
000036f6: JUMPI
000036f7: PUSH1 0x00
000036f9: DUP1
000036fa: REVERT
000036fb: JUMPDEST
000036fc: POP
000036fd: GAS
000036fe: DELEGATECALL
000036ff: ISZERO
00003700: DUP1
00003701: ISZERO
00003702: PUSH2 0x370f
00003705: JUMPI
00003706: RETURNDATASIZE
00003707: PUSH1 0x00
00003709: DUP1
0000370a: RETURNDATACOPY
0000370b: RETURNDATASIZE
0000370c: PUSH1 0x00
0000370e: REVERT
0000370f: JUMPDEST
00003710: POP
00003711: POP
00003712: POP
00003713: POP
00003714: PUSH1 0x40
00003716: MLOAD
00003717: RETURNDATASIZE
00003718: PUSH1 0x20
0000371a: DUP2
0000371b: LT
0000371c: ISZERO
0000371d: PUSH2 0x3725
00003720: JUMPI
00003721: PUSH1 0x00
00003723: DUP1
00003724: REVERT
00003725: JUMPDEST
00003726: POP
00003727: MLOAD
00003728: PUSH1 0x01
0000372a: PUSH1 0x01
0000372c: PUSH1 0xa0
0000372e: SHL
0000372f: SUB
00003730: AND
00003731: DUP2
00003732: MSTORE
00003733: PUSH1 0x20
00003735: DUP2
00003736: DUP2
00003737: ADD
00003738: SWAP3
00003739: SWAP1
0000373a: SWAP3
0000373b: MSTORE
0000373c: PUSH1 0x40
0000373e: SWAP1
0000373f: DUP2
00003740: ADD
00003741: PUSH1 0x00
00003743: KECCAK256
00003744: DUP2
00003745: MLOAD
00003746: PUSH4 0x3b7a7af7
0000374b: PUSH1 0xe2
0000374d: SHL
0000374e: DUP2
0000374f: MSTORE
00003750: PUSH1 0x04
00003752: DUP2
00003753: ADD
00003754: SWAP2
00003755: SWAP1
00003756: SWAP2
00003757: MSTORE
00003758: TIMESTAMP
00003759: PUSH1 0x24
0000375b: DUP3
0000375c: ADD
0000375d: MSTORE
0000375e: SWAP1
0000375f: MLOAD
00003760: PUSH20 0xab2ea31dba6270584486b6d7657fbfcd10f8bfae
00003775: SWAP3
00003776: PUSH4 0xede9ebdc
0000377b: SWAP3
0000377c: PUSH1 0x44
0000377e: DUP1
0000377f: DUP3
00003780: ADD
00003781: SWAP4
00003782: SWAP2
00003783: DUP3
00003784: SWAP1
00003785: SUB
00003786: ADD
00003787: DUP2
00003788: DUP7
00003789: DUP1
0000378a: EXTCODESIZE
0000378b: ISZERO
0000378c: DUP1
0000378d: ISZERO
0000378e: PUSH2 0x3796
00003791: JUMPI
00003792: PUSH1 0x00
00003794: DUP1
00003795: REVERT
00003796: JUMPDEST
00003797: POP
00003798: GAS
00003799: DELEGATECALL
0000379a: ISZERO
0000379b: DUP1
0000379c: ISZERO
0000379d: PUSH2 0x37aa
000037a0: JUMPI
000037a1: RETURNDATASIZE
000037a2: PUSH1 0x00
000037a4: DUP1
000037a5: RETURNDATACOPY
000037a6: RETURNDATASIZE
000037a7: PUSH1 0x00
000037a9: REVERT
000037aa: JUMPDEST
000037ab: POP
000037ac: POP
000037ad: POP
000037ae: POP
000037af: PUSH1 0x40
000037b1: MLOAD
000037b2: RETURNDATASIZE
000037b3: PUSH1 0x20
000037b5: DUP2
000037b6: LT
000037b7: ISZERO
000037b8: PUSH2 0x37c0
000037bb: JUMPI
000037bc: PUSH1 0x00
000037be: DUP1
000037bf: REVERT
000037c0: JUMPDEST
000037c1: POP
000037c2: MLOAD
000037c3: SWAP1
000037c4: PUSH4 0xffffffff
000037c9: PUSH2 0x39c9
000037cc: AND
000037cd: JUMP
000037ce: JUMPDEST
000037cf: SWAP1
000037d0: PUSH4 0xffffffff
000037d5: PUSH2 0x401c
000037d8: AND
000037d9: JUMP
000037da: JUMPDEST
000037db: DUP4
000037dc: SWAP1
000037dd: PUSH4 0xffffffff
000037e2: PUSH2 0x31bc
000037e5: AND
000037e6: JUMP
000037e7: JUMPDEST
000037e8: SWAP2
000037e9: POP
000037ea: JUMPDEST
000037eb: DUP4
000037ec: ISZERO
000037ed: DUP1
000037ee: ISZERO
000037ef: PUSH2 0x3930
000037f2: JUMPI
000037f3: POP
000037f4: PUSH1 0x01
000037f6: PUSH1 0x01
000037f8: PUSH1 0xa0
000037fa: SHL
000037fb: SUB
000037fc: DUP6
000037fd: AND
000037fe: PUSH1 0x00
00003800: SWAP1
00003801: DUP2
00003802: MSTORE
00003803: PUSH1 0x0e
00003805: PUSH1 0x20
00003807: SWAP1
00003808: DUP2
00003809: MSTORE
0000380a: PUSH1 0x40
0000380c: DUP1
0000380d: DUP4
0000380e: KECCAK256
0000380f: DUP2
00003810: MLOAD
00003811: PUSH4 0x082b4a25
00003816: PUSH1 0xe2
00003818: SHL
00003819: DUP2
0000381a: MSTORE
0000381b: PUSH1 0x27
0000381d: PUSH1 0x04
0000381f: DUP3
00003820: ADD
00003821: MSTORE
00003822: PUSH1 0x24
00003824: DUP2
00003825: ADD
00003826: DUP7
00003827: SWAP1
00003828: MSTORE
00003829: SWAP2
0000382a: MLOAD
0000382b: SWAP1
0000382c: SWAP3
0000382d: DUP5
0000382e: SWAP3
0000382f: PUSH20 0x3414b7e8332b4da3e268ca7aa5bee6b9a25787f7
00003844: SWAP3
00003845: PUSH4 0x20ad2894
0000384a: SWAP3
0000384b: PUSH1 0x44
0000384d: DUP1
0000384e: DUP5
0000384f: ADD
00003850: SWAP4
00003851: SWAP2
00003852: SWAP3
00003853: SWAP2
00003854: DUP3
00003855: SWAP1
00003856: SUB
00003857: ADD
00003858: DUP2
00003859: DUP7
0000385a: DUP1
0000385b: EXTCODESIZE
0000385c: ISZERO
0000385d: DUP1
0000385e: ISZERO
0000385f: PUSH2 0x3867
00003862: JUMPI
00003863: PUSH1 0x00
00003865: DUP1
00003866: REVERT
00003867: JUMPDEST
00003868: POP
00003869: GAS
0000386a: DELEGATECALL
0000386b: ISZERO
0000386c: DUP1
0000386d: ISZERO
0000386e: PUSH2 0x387b
00003871: JUMPI
00003872: RETURNDATASIZE
00003873: PUSH1 0x00
00003875: DUP1
00003876: RETURNDATACOPY
00003877: RETURNDATASIZE
00003878: PUSH1 0x00
0000387a: REVERT
0000387b: JUMPDEST
0000387c: POP
0000387d: POP
0000387e: POP
0000387f: POP
00003880: PUSH1 0x40
00003882: MLOAD
00003883: RETURNDATASIZE
00003884: PUSH1 0x20
00003886: DUP2
00003887: LT
00003888: ISZERO
00003889: PUSH2 0x3891
0000388c: JUMPI
0000388d: PUSH1 0x00
0000388f: DUP1
00003890: REVERT
00003891: JUMPDEST
00003892: POP
00003893: MLOAD
00003894: PUSH1 0x01
00003896: PUSH1 0x01
00003898: PUSH1 0xa0
0000389a: SHL
0000389b: SUB
0000389c: AND
0000389d: DUP2
0000389e: MSTORE
0000389f: PUSH1 0x20
000038a1: DUP2
000038a2: DUP2
000038a3: ADD
000038a4: SWAP3
000038a5: SWAP1
000038a6: SWAP3
000038a7: MSTORE
000038a8: PUSH1 0x40
000038aa: SWAP1
000038ab: DUP2
000038ac: ADD
000038ad: PUSH1 0x00
000038af: KECCAK256
000038b0: DUP2
000038b1: MLOAD
000038b2: PUSH4 0x3b7a7af7
000038b7: PUSH1 0xe2
000038b9: SHL
000038ba: DUP2
000038bb: MSTORE
000038bc: PUSH1 0x04
000038be: DUP2
000038bf: ADD
000038c0: SWAP2
000038c1: SWAP1
000038c2: SWAP2
000038c3: MSTORE
000038c4: TIMESTAMP
000038c5: PUSH1 0x24
000038c7: DUP3
000038c8: ADD
000038c9: MSTORE
000038ca: SWAP1
000038cb: MLOAD
000038cc: PUSH20 0xab2ea31dba6270584486b6d7657fbfcd10f8bfae
000038e1: SWAP3
000038e2: PUSH4 0xede9ebdc
000038e7: SWAP3
000038e8: PUSH1 0x44
000038ea: DUP1
000038eb: DUP3
000038ec: ADD
000038ed: SWAP4
000038ee: SWAP2
000038ef: DUP3
000038f0: SWAP1
000038f1: SUB
000038f2: ADD
000038f3: DUP2
000038f4: DUP7
000038f5: DUP1
000038f6: EXTCODESIZE
000038f7: ISZERO
000038f8: DUP1
000038f9: ISZERO
000038fa: PUSH2 0x3902
000038fd: JUMPI
000038fe: PUSH1 0x00
00003900: DUP1
00003901: REVERT
00003902: JUMPDEST
00003903: POP
00003904: GAS
00003905: DELEGATECALL
00003906: ISZERO
00003907: DUP1
00003908: ISZERO
00003909: PUSH2 0x3916
0000390c: JUMPI
0000390d: RETURNDATASIZE
0000390e: PUSH1 0x00
00003910: DUP1
00003911: RETURNDATACOPY
00003912: RETURNDATASIZE
00003913: PUSH1 0x00
00003915: REVERT
00003916: JUMPDEST
00003917: POP
00003918: POP
00003919: POP
0000391a: POP
0000391b: PUSH1 0x40
0000391d: MLOAD
0000391e: RETURNDATASIZE
0000391f: PUSH1 0x20
00003921: DUP2
00003922: LT
00003923: ISZERO
00003924: PUSH2 0x392c
00003927: JUMPI
00003928: PUSH1 0x00
0000392a: DUP1
0000392b: REVERT
0000392c: JUMPDEST
0000392d: POP
0000392e: MLOAD
0000392f: SLT
00003930: JUMPDEST
00003931: ISZERO
00003932: PUSH2 0x399f
00003935: JUMPI
00003936: PUSH2 0x399c
00003939: PUSH2 0x37da
0000393c: PUSH3 0x0f4240
00003940: PUSH2 0x37ce
00003943: PUSH1 0x27
00003945: PUSH20 0x3414b7e8332b4da3e268ca7aa5bee6b9a25787f7
0000395a: PUSH4 0x8e151a05
0000395f: SWAP1
00003960: SWAP2
00003961: DUP8
00003962: PUSH1 0x40
00003964: MLOAD
00003965: DUP4
00003966: PUSH4 0xffffffff
0000396b: AND
0000396c: PUSH1 0xe0
0000396e: SHL
0000396f: DUP2
00003970: MSTORE
00003971: PUSH1 0x04
00003973: ADD
00003974: DUP1
00003975: DUP4
00003976: DUP2
00003977: MSTORE
00003978: PUSH1 0x20
0000397a: ADD
0000397b: DUP3
0000397c: DUP2
0000397d: MSTORE
0000397e: PUSH1 0x20
00003980: ADD
00003981: SWAP3
00003982: POP
00003983: POP
00003984: POP
00003985: PUSH1 0x20
00003987: PUSH1 0x40
00003989: MLOAD
0000398a: DUP1
0000398b: DUP4
0000398c: SUB
0000398d: DUP2
0000398e: DUP7
0000398f: DUP1
00003990: EXTCODESIZE
00003991: ISZERO
00003992: DUP1
00003993: ISZERO
00003994: PUSH2 0x365e
00003997: JUMPI
00003998: PUSH1 0x00
0000399a: DUP1
0000399b: REVERT
0000399c: JUMPDEST
0000399d: SWAP2
0000399e: POP
0000399f: JUMPDEST
000039a0: PUSH1 0x01
000039a2: ADD
000039a3: PUSH2 0x349d
000039a6: JUMP
000039a7: JUMPDEST
000039a8: POP
000039a9: SWAP4
000039aa: SWAP3
000039ab: POP
000039ac: POP
000039ad: POP
000039ae: JUMP
000039af: JUMPDEST
000039b0: PUSH1 0x00
000039b2: DUP2
000039b3: DUP4
000039b4: LT
000039b5: PUSH2 0x39be
000039b8: JUMPI
000039b9: DUP2
000039ba: PUSH2 0x1066
000039bd: JUMP
000039be: JUMPDEST
000039bf: POP
000039c0: SWAP1
000039c1: SWAP2
000039c2: SWAP1
000039c3: POP
000039c4: JUMP
000039c5: JUMPDEST
000039c6: CALLER
000039c7: SWAP1
000039c8: JUMP
000039c9: JUMPDEST
000039ca: PUSH1 0x00
000039cc: DUP3
000039cd: PUSH2 0x39d8
000039d0: JUMPI
000039d1: POP
000039d2: PUSH1 0x00
000039d4: PUSH2 0x0fa8
000039d7: JUMP
000039d8: JUMPDEST
000039d9: DUP3
000039da: PUSH1 0x00
000039dc: NOT
000039dd: EQ
000039de: DUP1
000039df: ISZERO
000039e0: PUSH2 0x39ec
000039e3: JUMPI
000039e4: POP
000039e5: PUSH1 0x01
000039e7: PUSH1 0xff
000039e9: SHL
000039ea: DUP3
000039eb: EQ
000039ec: JUMPDEST
000039ed: ISZERO
000039ee: PUSH2 0x3a28
000039f1: JUMPI
000039f2: PUSH1 0x40
000039f4: MLOAD
000039f5: PUSH3 0x461bcd
000039f9: PUSH1 0xe5
000039fb: SHL
000039fc: DUP2
000039fd: MSTORE
000039fe: PUSH1 0x04
00003a00: ADD
00003a01: DUP1
00003a02: DUP1
00003a03: PUSH1 0x20
00003a05: ADD
00003a06: DUP3
00003a07: DUP2
00003a08: SUB
00003a09: DUP3
00003a0a: MSTORE
00003a0b: PUSH1 0x27
00003a0d: DUP2
00003a0e: MSTORE
00003a0f: PUSH1 0x20
00003a11: ADD
00003a12: DUP1
00003a13: PUSH2 0x4207
00003a16: PUSH1 0x27
00003a18: SWAP2
00003a19: CODECOPY
00003a1a: PUSH1 0x40
00003a1c: ADD
00003a1d: SWAP2
00003a1e: POP
00003a1f: POP
00003a20: PUSH1 0x40
00003a22: MLOAD
00003a23: DUP1
00003a24: SWAP2
00003a25: SUB
00003a26: SWAP1
00003a27: REVERT
00003a28: JUMPDEST
00003a29: DUP3
00003a2a: DUP3
00003a2b: MUL
00003a2c: DUP3
00003a2d: DUP5
00003a2e: DUP3
00003a2f: DUP2
00003a30: PUSH2 0x3a35
00003a33: JUMPI
00003a34: INVALID
00003a35: JUMPDEST
00003a36: SDIV
00003a37: EQ
00003a38: PUSH2 0x1066
00003a3b: JUMPI
00003a3c: PUSH1 0x40
00003a3e: MLOAD
00003a3f: PUSH3 0x461bcd
00003a43: PUSH1 0xe5
00003a45: SHL
00003a46: DUP2
00003a47: MSTORE
00003a48: PUSH1 0x04
00003a4a: ADD
00003a4b: DUP1
00003a4c: DUP1
00003a4d: PUSH1 0x20
00003a4f: ADD
00003a50: DUP3
00003a51: DUP2
00003a52: SUB
00003a53: DUP3
00003a54: MSTORE
00003a55: PUSH1 0x27
00003a57: DUP2
00003a58: MSTORE
00003a59: PUSH1 0x20
00003a5b: ADD
00003a5c: DUP1
00003a5d: PUSH2 0x4207
00003a60: PUSH1 0x27
00003a62: SWAP2
00003a63: CODECOPY
00003a64: PUSH1 0x40
00003a66: ADD
00003a67: SWAP2
00003a68: POP
00003a69: POP
00003a6a: PUSH1 0x40
00003a6c: MLOAD
00003a6d: DUP1
00003a6e: SWAP2
00003a6f: SUB
00003a70: SWAP1
00003a71: REVERT
00003a72: JUMPDEST
00003a73: PUSH1 0x00
00003a75: DUP2
00003a76: DUP4
00003a77: SUB
00003a78: DUP2
00003a79: DUP4
00003a7a: SLT
00003a7b: DUP1
00003a7c: ISZERO
00003a7d: SWAP1
00003a7e: PUSH2 0x3a87
00003a81: JUMPI
00003a82: POP
00003a83: DUP4
00003a84: DUP2
00003a85: SGT
00003a86: ISZERO
00003a87: JUMPDEST
00003a88: DUP1
00003a89: PUSH2 0x3a9c
00003a8c: JUMPI
00003a8d: POP
00003a8e: PUSH1 0x00
00003a90: DUP4
00003a91: SLT
00003a92: DUP1
00003a93: ISZERO
00003a94: PUSH2 0x3a9c
00003a97: JUMPI
00003a98: POP
00003a99: DUP4
00003a9a: DUP2
00003a9b: SGT
00003a9c: JUMPDEST
00003a9d: PUSH2 0x1066
00003aa0: JUMPI
00003aa1: PUSH1 0x40
00003aa3: MLOAD
00003aa4: PUSH3 0x461bcd
00003aa8: PUSH1 0xe5
00003aaa: SHL
00003aab: DUP2
00003aac: MSTORE
00003aad: PUSH1 0x04
00003aaf: ADD
00003ab0: DUP1
00003ab1: DUP1
00003ab2: PUSH1 0x20
00003ab4: ADD
00003ab5: DUP3
00003ab6: DUP2
00003ab7: SUB
00003ab8: DUP3
00003ab9: MSTORE
00003aba: PUSH1 0x24
00003abc: DUP2
00003abd: MSTORE
00003abe: PUSH1 0x20
00003ac0: ADD
00003ac1: DUP1
00003ac2: PUSH2 0x42bb
00003ac5: PUSH1 0x24
00003ac7: SWAP2
00003ac8: CODECOPY
00003ac9: PUSH1 0x40
00003acb: ADD
00003acc: SWAP2
00003acd: POP
00003ace: POP
00003acf: PUSH1 0x40
00003ad1: MLOAD
00003ad2: DUP1
00003ad3: SWAP2
00003ad4: SUB
00003ad5: SWAP1
00003ad6: REVERT
00003ad7: JUMPDEST
00003ad8: PUSH1 0x40
00003ada: DUP1
00003adb: MLOAD
00003adc: PUSH4 0x9f941e71
00003ae1: PUSH1 0xe0
00003ae3: SHL
00003ae4: DUP2
00003ae5: MSTORE
00003ae6: PUSH1 0x27
00003ae8: PUSH1 0x04
00003aea: DUP3
00003aeb: ADD
00003aec: MSTORE
00003aed: PUSH1 0x01
00003aef: PUSH1 0x01
00003af1: PUSH1 0xa0
00003af3: SHL
00003af4: SUB
00003af5: DUP4
00003af6: AND
00003af7: PUSH1 0x24
00003af9: DUP3
00003afa: ADD
00003afb: MSTORE
00003afc: SWAP1
00003afd: MLOAD
00003afe: PUSH20 0x3414b7e8332b4da3e268ca7aa5bee6b9a25787f7
00003b13: SWAP2
00003b14: PUSH4 0x9f941e71
00003b19: SWAP2
00003b1a: PUSH1 0x44
00003b1c: DUP1
00003b1d: DUP4
00003b1e: ADD
00003b1f: SWAP3
00003b20: PUSH1 0x20
00003b22: SWAP3
00003b23: SWAP2
00003b24: SWAP1
00003b25: DUP3
00003b26: SWAP1
00003b27: SUB
00003b28: ADD
00003b29: DUP2
00003b2a: DUP7
00003b2b: DUP1
00003b2c: EXTCODESIZE
00003b2d: ISZERO
00003b2e: DUP1
00003b2f: ISZERO
00003b30: PUSH2 0x3b38
00003b33: JUMPI
00003b34: PUSH1 0x00
00003b36: DUP1
00003b37: REVERT
00003b38: JUMPDEST
00003b39: POP
00003b3a: GAS
00003b3b: DELEGATECALL
00003b3c: ISZERO
00003b3d: DUP1
00003b3e: ISZERO
00003b3f: PUSH2 0x3b4c
00003b42: JUMPI
00003b43: RETURNDATASIZE
00003b44: PUSH1 0x00
00003b46: DUP1
00003b47: RETURNDATACOPY
00003b48: RETURNDATASIZE
00003b49: PUSH1 0x00
00003b4b: REVERT
00003b4c: JUMPDEST
00003b4d: POP
00003b4e: POP
00003b4f: POP
00003b50: POP
00003b51: PUSH1 0x40
00003b53: MLOAD
00003b54: RETURNDATASIZE
00003b55: PUSH1 0x20
00003b57: DUP2
00003b58: LT
00003b59: ISZERO
00003b5a: PUSH2 0x3b62
00003b5d: JUMPI
00003b5e: PUSH1 0x00
00003b60: DUP1
00003b61: REVERT
00003b62: JUMPDEST
00003b63: POP
00003b64: MLOAD
00003b65: ISZERO
00003b66: PUSH2 0x3b9c
00003b69: JUMPI
00003b6a: PUSH1 0x40
00003b6c: MLOAD
00003b6d: CALLER
00003b6e: SWAP1
00003b6f: DUP4
00003b70: ISZERO
00003b71: PUSH2 0x08fc
00003b74: MUL
00003b75: SWAP1
00003b76: DUP5
00003b77: SWAP1
00003b78: PUSH1 0x00
00003b7a: DUP2
00003b7b: DUP2
00003b7c: DUP2
00003b7d: DUP6
00003b7e: DUP9
00003b7f: DUP9
00003b80: CALL
00003b81: SWAP4
00003b82: POP
00003b83: POP
00003b84: POP
00003b85: POP
00003b86: ISZERO
00003b87: DUP1
00003b88: ISZERO
00003b89: PUSH2 0x3b96
00003b8c: JUMPI
00003b8d: RETURNDATASIZE
00003b8e: PUSH1 0x00
00003b90: DUP1
00003b91: RETURNDATACOPY
00003b92: RETURNDATASIZE
00003b93: PUSH1 0x00
00003b95: REVERT
00003b96: JUMPDEST
00003b97: POP
00003b98: PUSH2 0x3493
00003b9b: JUMP
00003b9c: JUMPDEST
00003b9d: PUSH1 0x07
00003b9f: SLOAD
00003ba0: PUSH1 0x01
00003ba2: PUSH1 0x01
00003ba4: PUSH1 0xa0
00003ba6: SHL
00003ba7: SUB
00003ba8: DUP3
00003ba9: DUP2
00003baa: AND
00003bab: SWAP2
00003bac: AND
00003bad: EQ
00003bae: PUSH2 0x3c4b
00003bb1: JUMPI
00003bb2: DUP1
00003bb3: PUSH1 0x01
00003bb5: PUSH1 0x01
00003bb7: PUSH1 0xa0
00003bb9: SHL
00003bba: SUB
00003bbb: AND
00003bbc: PUSH4 0xa9059cbb
00003bc1: DUP5
00003bc2: DUP5
00003bc3: PUSH1 0x40
00003bc5: MLOAD
00003bc6: DUP4
00003bc7: PUSH4 0xffffffff
00003bcc: AND
00003bcd: PUSH1 0xe0
00003bcf: SHL
00003bd0: DUP2
00003bd1: MSTORE
00003bd2: PUSH1 0x04
00003bd4: ADD
00003bd5: DUP1
00003bd6: DUP4
00003bd7: PUSH1 0x01
00003bd9: PUSH1 0x01
00003bdb: PUSH1 0xa0
00003bdd: SHL
00003bde: SUB
00003bdf: AND
00003be0: PUSH1 0x01
00003be2: PUSH1 0x01
00003be4: PUSH1 0xa0
00003be6: SHL
00003be7: SUB
00003be8: AND
00003be9: DUP2
00003bea: MSTORE
00003beb: PUSH1 0x20
00003bed: ADD
00003bee: DUP3
00003bef: DUP2
00003bf0: MSTORE
00003bf1: PUSH1 0x20
00003bf3: ADD
00003bf4: SWAP3
00003bf5: POP
00003bf6: POP
00003bf7: POP
00003bf8: PUSH1 0x20
00003bfa: PUSH1 0x40
00003bfc: MLOAD
00003bfd: DUP1
00003bfe: DUP4
00003bff: SUB
00003c00: DUP2
00003c01: PUSH1 0x00
00003c03: DUP8
00003c04: DUP1
00003c05: EXTCODESIZE
00003c06: ISZERO
00003c07: DUP1
00003c08: ISZERO
00003c09: PUSH2 0x3c11
00003c0c: JUMPI
00003c0d: PUSH1 0x00
00003c0f: DUP1
00003c10: REVERT
00003c11: JUMPDEST
00003c12: POP
00003c13: GAS
00003c14: CALL
00003c15: ISZERO
00003c16: DUP1
00003c17: ISZERO
00003c18: PUSH2 0x3c25
00003c1b: JUMPI
00003c1c: RETURNDATASIZE
00003c1d: PUSH1 0x00
00003c1f: DUP1
00003c20: RETURNDATACOPY
00003c21: RETURNDATASIZE
00003c22: PUSH1 0x00
00003c24: REVERT
00003c25: JUMPDEST
00003c26: POP
00003c27: POP
00003c28: POP
00003c29: POP
00003c2a: PUSH1 0x40
00003c2c: MLOAD
00003c2d: RETURNDATASIZE
00003c2e: PUSH1 0x20
00003c30: DUP2
00003c31: LT
00003c32: ISZERO
00003c33: PUSH2 0x3c3b
00003c36: JUMPI
00003c37: PUSH1 0x00
00003c39: DUP1
00003c3a: REVERT
00003c3b: JUMPDEST
00003c3c: POP
00003c3d: MLOAD
00003c3e: PUSH2 0x3c46
00003c41: JUMPI
00003c42: PUSH1 0x00
00003c44: DUP1
00003c45: REVERT
00003c46: JUMPDEST
00003c47: PUSH2 0x3493
00003c4a: JUMP
00003c4b: JUMPDEST
00003c4c: DUP1
00003c4d: PUSH1 0x01
00003c4f: PUSH1 0x01
00003c51: PUSH1 0xa0
00003c53: SHL
00003c54: SUB
00003c55: AND
00003c56: PUSH4 0xa9059cbb
00003c5b: DUP5
00003c5c: DUP5
00003c5d: PUSH1 0x40
00003c5f: MLOAD
00003c60: DUP4
00003c61: PUSH4 0xffffffff
00003c66: AND
00003c67: PUSH1 0xe0
00003c69: SHL
00003c6a: DUP2
00003c6b: MSTORE
00003c6c: PUSH1 0x04
00003c6e: ADD
00003c6f: DUP1
00003c70: DUP4
00003c71: PUSH1 0x01
00003c73: PUSH1 0x01
00003c75: PUSH1 0xa0
00003c77: SHL
00003c78: SUB
00003c79: AND
00003c7a: PUSH1 0x01
00003c7c: PUSH1 0x01
00003c7e: PUSH1 0xa0
00003c80: SHL
00003c81: SUB
00003c82: AND
00003c83: DUP2
00003c84: MSTORE
00003c85: PUSH1 0x20
00003c87: ADD
00003c88: DUP3
00003c89: DUP2
00003c8a: MSTORE
00003c8b: PUSH1 0x20
00003c8d: ADD
00003c8e: SWAP3
00003c8f: POP
00003c90: POP
00003c91: POP
00003c92: PUSH1 0x00
00003c94: PUSH1 0x40
00003c96: MLOAD
00003c97: DUP1
00003c98: DUP4
00003c99: SUB
00003c9a: DUP2
00003c9b: PUSH1 0x00
00003c9d: DUP8
00003c9e: DUP1
00003c9f: EXTCODESIZE
00003ca0: ISZERO
00003ca1: DUP1
00003ca2: ISZERO
00003ca3: PUSH2 0x3cab
00003ca6: JUMPI
00003ca7: PUSH1 0x00
00003ca9: DUP1
00003caa: REVERT
00003cab: JUMPDEST
00003cac: POP
00003cad: GAS
00003cae: CALL
00003caf: ISZERO
00003cb0: DUP1
00003cb1: ISZERO
00003cb2: PUSH2 0x3cbf
00003cb5: JUMPI
00003cb6: RETURNDATASIZE
00003cb7: PUSH1 0x00
00003cb9: DUP1
00003cba: RETURNDATACOPY
00003cbb: RETURNDATASIZE
00003cbc: PUSH1 0x00
00003cbe: REVERT
00003cbf: JUMPDEST
00003cc0: POP
00003cc1: POP
00003cc2: POP
00003cc3: POP
00003cc4: POP
00003cc5: POP
00003cc6: POP
00003cc7: JUMP
00003cc8: JUMPDEST
00003cc9: PUSH1 0x01
00003ccb: PUSH1 0x01
00003ccd: PUSH1 0xa0
00003ccf: SHL
00003cd0: SUB
00003cd1: DUP2
00003cd2: AND
00003cd3: PUSH2 0x3d0d
00003cd6: JUMPI
00003cd7: PUSH1 0x40
00003cd9: MLOAD
00003cda: PUSH3 0x461bcd
00003cde: PUSH1 0xe5
00003ce0: SHL
00003ce1: DUP2
00003ce2: MSTORE
00003ce3: PUSH1 0x04
00003ce5: ADD
00003ce6: DUP1
00003ce7: DUP1
00003ce8: PUSH1 0x20
00003cea: ADD
00003ceb: DUP3
00003cec: DUP2
00003ced: SUB
00003cee: DUP3
00003cef: MSTORE
00003cf0: PUSH1 0x26
00003cf2: DUP2
00003cf3: MSTORE
00003cf4: PUSH1 0x20
00003cf6: ADD
00003cf7: DUP1
00003cf8: PUSH2 0x4111
00003cfb: PUSH1 0x26
00003cfd: SWAP2
00003cfe: CODECOPY
00003cff: PUSH1 0x40
00003d01: ADD
00003d02: SWAP2
00003d03: POP
00003d04: POP
00003d05: PUSH1 0x40
00003d07: MLOAD
00003d08: DUP1
00003d09: SWAP2
00003d0a: SUB
00003d0b: SWAP1
00003d0c: REVERT
00003d0d: JUMPDEST
00003d0e: PUSH1 0x00
00003d10: DUP1
00003d11: SLOAD
00003d12: PUSH1 0x40
00003d14: MLOAD
00003d15: PUSH1 0x01
00003d17: PUSH1 0x01
00003d19: PUSH1 0xa0
00003d1b: SHL
00003d1c: SUB
00003d1d: DUP1
00003d1e: DUP6
00003d1f: AND
00003d20: SWAP4
00003d21: SWAP3
00003d22: AND
00003d23: SWAP2
00003d24: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00003d45: SWAP2
00003d46: LOG3
00003d47: PUSH1 0x00
00003d49: DUP1
00003d4a: SLOAD
00003d4b: PUSH1 0x01
00003d4d: PUSH1 0x01
00003d4f: PUSH1 0xa0
00003d51: SHL
00003d52: SUB
00003d53: NOT
00003d54: AND
00003d55: PUSH1 0x01
00003d57: PUSH1 0x01
00003d59: PUSH1 0xa0
00003d5b: SHL
00003d5c: SUB
00003d5d: SWAP3
00003d5e: SWAP1
00003d5f: SWAP3
00003d60: AND
00003d61: SWAP2
00003d62: SWAP1
00003d63: SWAP2
00003d64: OR
00003d65: SWAP1
00003d66: SSTORE
00003d67: JUMP
00003d68: JUMPDEST
00003d69: PUSH1 0x00
00003d6b: DUP2
00003d6c: DUP5
00003d6d: DUP5
00003d6e: GT
00003d6f: ISZERO
00003d70: PUSH2 0x3df7
00003d73: JUMPI
00003d74: PUSH1 0x40
00003d76: MLOAD
00003d77: PUSH3 0x461bcd
00003d7b: PUSH1 0xe5
00003d7d: SHL
00003d7e: DUP2
00003d7f: MSTORE
00003d80: PUSH1 0x04
00003d82: ADD
00003d83: DUP1
00003d84: DUP1
00003d85: PUSH1 0x20
00003d87: ADD
00003d88: DUP3
00003d89: DUP2
00003d8a: SUB
00003d8b: DUP3
00003d8c: MSTORE
00003d8d: DUP4
00003d8e: DUP2
00003d8f: DUP2
00003d90: MLOAD
00003d91: DUP2
00003d92: MSTORE
00003d93: PUSH1 0x20
00003d95: ADD
00003d96: SWAP2
00003d97: POP
00003d98: DUP1
00003d99: MLOAD
00003d9a: SWAP1
00003d9b: PUSH1 0x20
00003d9d: ADD
00003d9e: SWAP1
00003d9f: DUP1
00003da0: DUP4
00003da1: DUP4
00003da2: PUSH1 0x00
00003da4: JUMPDEST
00003da5: DUP4
00003da6: DUP2
00003da7: LT
00003da8: ISZERO
00003da9: PUSH2 0x3dbc
00003dac: JUMPI
00003dad: DUP2
00003dae: DUP2
00003daf: ADD
00003db0: MLOAD
00003db1: DUP4
00003db2: DUP3
00003db3: ADD
00003db4: MSTORE
00003db5: PUSH1 0x20
00003db7: ADD
00003db8: PUSH2 0x3da4
00003dbb: JUMP
00003dbc: JUMPDEST
00003dbd: POP
00003dbe: POP
00003dbf: POP
00003dc0: POP
00003dc1: SWAP1
00003dc2: POP
00003dc3: SWAP1
00003dc4: DUP2
00003dc5: ADD
00003dc6: SWAP1
00003dc7: PUSH1 0x1f
00003dc9: AND
00003dca: DUP1
00003dcb: ISZERO
00003dcc: PUSH2 0x3de9
00003dcf: JUMPI
00003dd0: DUP1
00003dd1: DUP3
00003dd2: SUB
00003dd3: DUP1
00003dd4: MLOAD
00003dd5: PUSH1 0x01
00003dd7: DUP4
00003dd8: PUSH1 0x20
00003dda: SUB
00003ddb: PUSH2 0x0100
00003dde: EXP
00003ddf: SUB
00003de0: NOT
00003de1: AND
00003de2: DUP2
00003de3: MSTORE
00003de4: PUSH1 0x20
00003de6: ADD
00003de7: SWAP2
00003de8: POP
00003de9: JUMPDEST
00003dea: POP
00003deb: SWAP3
00003dec: POP
00003ded: POP
00003dee: POP
00003def: PUSH1 0x40
00003df1: MLOAD
00003df2: DUP1
00003df3: SWAP2
00003df4: SUB
00003df5: SWAP1
00003df6: REVERT
00003df7: JUMPDEST
00003df8: POP
00003df9: POP
00003dfa: POP
00003dfb: SWAP1
00003dfc: SUB
00003dfd: SWAP1
00003dfe: JUMP
00003dff: JUMPDEST
00003e00: PUSH1 0x00
00003e02: DUP2
00003e03: DUP4
00003e04: PUSH2 0x3e4e
00003e07: JUMPI
00003e08: PUSH1 0x40
00003e0a: MLOAD
00003e0b: PUSH3 0x461bcd
00003e0f: PUSH1 0xe5
00003e11: SHL
00003e12: DUP2
00003e13: MSTORE
00003e14: PUSH1 0x20
00003e16: PUSH1 0x04
00003e18: DUP3
00003e19: ADD
00003e1a: DUP2
00003e1b: DUP2
00003e1c: MSTORE
00003e1d: DUP4
00003e1e: MLOAD
00003e1f: PUSH1 0x24
00003e21: DUP5
00003e22: ADD
00003e23: MSTORE
00003e24: DUP4
00003e25: MLOAD
00003e26: SWAP1
00003e27: SWAP3
00003e28: DUP4
00003e29: SWAP3
00003e2a: PUSH1 0x44
00003e2c: SWAP1
00003e2d: SWAP2
00003e2e: ADD
00003e2f: SWAP2
00003e30: SWAP1
00003e31: DUP6
00003e32: ADD
00003e33: SWAP1
00003e34: DUP1
00003e35: DUP4
00003e36: DUP4
00003e37: PUSH1 0x00
00003e39: DUP4
00003e3a: ISZERO
00003e3b: PUSH2 0x3dbc
00003e3e: JUMPI
00003e3f: DUP2
00003e40: DUP2
00003e41: ADD
00003e42: MLOAD
00003e43: DUP4
00003e44: DUP3
00003e45: ADD
00003e46: MSTORE
00003e47: PUSH1 0x20
00003e49: ADD
00003e4a: PUSH2 0x3da4
00003e4d: JUMP
00003e4e: JUMPDEST
00003e4f: POP
00003e50: PUSH1 0x00
00003e52: DUP4
00003e53: DUP6
00003e54: DUP2
00003e55: PUSH2 0x3e5a
00003e58: JUMPI
00003e59: INVALID
00003e5a: JUMPDEST
00003e5b: DIV
00003e5c: SWAP6
00003e5d: SWAP5
00003e5e: POP
00003e5f: POP
00003e60: POP
00003e61: POP
00003e62: POP
00003e63: JUMP
00003e64: JUMPDEST
00003e65: PUSH2 0x3e76
00003e68: DUP3
00003e69: PUSH1 0x01
00003e6b: PUSH1 0x01
00003e6d: PUSH1 0xa0
00003e6f: SHL
00003e70: SUB
00003e71: AND
00003e72: PUSH2 0x40d4
00003e75: JUMP
00003e76: JUMPDEST
00003e77: PUSH2 0x3ec7
00003e7a: JUMPI
00003e7b: PUSH1 0x40
00003e7d: DUP1
00003e7e: MLOAD
00003e7f: PUSH3 0x461bcd
00003e83: PUSH1 0xe5
00003e85: SHL
00003e86: DUP2
00003e87: MSTORE
00003e88: PUSH1 0x20
00003e8a: PUSH1 0x04
00003e8c: DUP3
00003e8d: ADD
00003e8e: MSTORE
00003e8f: PUSH1 0x1f
00003e91: PUSH1 0x24
00003e93: DUP3
00003e94: ADD
00003e95: MSTORE
00003e96: PUSH32 0x5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400
00003eb7: PUSH1 0x44
00003eb9: DUP3
00003eba: ADD
00003ebb: MSTORE
00003ebc: SWAP1
00003ebd: MLOAD
00003ebe: SWAP1
00003ebf: DUP2
00003ec0: SWAP1
00003ec1: SUB
00003ec2: PUSH1 0x64
00003ec4: ADD
00003ec5: SWAP1
00003ec6: REVERT
00003ec7: JUMPDEST
00003ec8: PUSH1 0x00
00003eca: PUSH1 0x60
00003ecc: DUP4
00003ecd: PUSH1 0x01
00003ecf: PUSH1 0x01
00003ed1: PUSH1 0xa0
00003ed3: SHL
00003ed4: SUB
00003ed5: AND
00003ed6: DUP4
00003ed7: PUSH1 0x40
00003ed9: MLOAD
00003eda: DUP1
00003edb: DUP3
00003edc: DUP1
00003edd: MLOAD
00003ede: SWAP1
00003edf: PUSH1 0x20
00003ee1: ADD
00003ee2: SWAP1
00003ee3: DUP1
00003ee4: DUP4
00003ee5: DUP4
00003ee6: JUMPDEST
00003ee7: PUSH1 0x20
00003ee9: DUP4
00003eea: LT
00003eeb: PUSH2 0x3f05
00003eee: JUMPI
00003eef: DUP1
00003ef0: MLOAD
00003ef1: DUP3
00003ef2: MSTORE
00003ef3: PUSH1 0x1f
00003ef5: NOT
00003ef6: SWAP1
00003ef7: SWAP3
00003ef8: ADD
00003ef9: SWAP2
00003efa: PUSH1 0x20
00003efc: SWAP2
00003efd: DUP3
00003efe: ADD
00003eff: SWAP2
00003f00: ADD
00003f01: PUSH2 0x3ee6
00003f04: JUMP
00003f05: JUMPDEST
00003f06: PUSH1 0x01
00003f08: DUP4
00003f09: PUSH1 0x20
00003f0b: SUB
00003f0c: PUSH2 0x0100
00003f0f: EXP
00003f10: SUB
00003f11: DUP1
00003f12: NOT
00003f13: DUP3
00003f14: MLOAD
00003f15: AND
00003f16: DUP2
00003f17: DUP5
00003f18: MLOAD
00003f19: AND
00003f1a: DUP1
00003f1b: DUP3
00003f1c: OR
00003f1d: DUP6
00003f1e: MSTORE
00003f1f: POP
00003f20: POP
00003f21: POP
00003f22: POP
00003f23: POP
00003f24: POP
00003f25: SWAP1
00003f26: POP
00003f27: ADD
00003f28: SWAP2
00003f29: POP
00003f2a: POP
00003f2b: PUSH1 0x00
00003f2d: PUSH1 0x40
00003f2f: MLOAD
00003f30: DUP1
00003f31: DUP4
00003f32: SUB
00003f33: DUP2
00003f34: PUSH1 0x00
00003f36: DUP7
00003f37: GAS
00003f38: CALL
00003f39: SWAP2
00003f3a: POP
00003f3b: POP
00003f3c: RETURNDATASIZE
00003f3d: DUP1
00003f3e: PUSH1 0x00
00003f40: DUP2
00003f41: EQ
00003f42: PUSH2 0x3f67
00003f45: JUMPI
00003f46: PUSH1 0x40
00003f48: MLOAD
00003f49: SWAP2
00003f4a: POP
00003f4b: PUSH1 0x1f
00003f4d: NOT
00003f4e: PUSH1 0x3f
00003f50: RETURNDATASIZE
00003f51: ADD
00003f52: AND
00003f53: DUP3
00003f54: ADD
00003f55: PUSH1 0x40
00003f57: MSTORE
00003f58: RETURNDATASIZE
00003f59: DUP3
00003f5a: MSTORE
00003f5b: RETURNDATASIZE
00003f5c: PUSH1 0x00
00003f5e: PUSH1 0x20
00003f60: DUP5
00003f61: ADD
00003f62: RETURNDATACOPY
00003f63: PUSH2 0x3f6c
00003f66: JUMP
00003f67: JUMPDEST
00003f68: PUSH1 0x60
00003f6a: SWAP2
00003f6b: POP
00003f6c: JUMPDEST
00003f6d: POP
00003f6e: SWAP2
00003f6f: POP
00003f70: SWAP2
00003f71: POP
00003f72: DUP2
00003f73: PUSH2 0x3fc3
00003f76: JUMPI
00003f77: PUSH1 0x40
00003f79: DUP1
00003f7a: MLOAD
00003f7b: PUSH3 0x461bcd
00003f7f: PUSH1 0xe5
00003f81: SHL
00003f82: DUP2
00003f83: MSTORE
00003f84: PUSH1 0x20
00003f86: PUSH1 0x04
00003f88: DUP3
00003f89: ADD
00003f8a: DUP2
00003f8b: SWAP1
00003f8c: MSTORE
00003f8d: PUSH1 0x24
00003f8f: DUP3
00003f90: ADD
00003f91: MSTORE
00003f92: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00003fb3: PUSH1 0x44
00003fb5: DUP3
00003fb6: ADD
00003fb7: MSTORE
00003fb8: SWAP1
00003fb9: MLOAD
00003fba: SWAP1
00003fbb: DUP2
00003fbc: SWAP1
00003fbd: SUB
00003fbe: PUSH1 0x64
00003fc0: ADD
00003fc1: SWAP1
00003fc2: REVERT
00003fc3: JUMPDEST
00003fc4: DUP1
00003fc5: MLOAD
00003fc6: ISZERO
00003fc7: PUSH2 0x343b
00003fca: JUMPI
00003fcb: DUP1
00003fcc: DUP1
00003fcd: PUSH1 0x20
00003fcf: ADD
00003fd0: SWAP1
00003fd1: MLOAD
00003fd2: PUSH1 0x20
00003fd4: DUP2
00003fd5: LT
00003fd6: ISZERO
00003fd7: PUSH2 0x3fdf
00003fda: JUMPI
00003fdb: PUSH1 0x00
00003fdd: DUP1
00003fde: REVERT
00003fdf: JUMPDEST
00003fe0: POP
00003fe1: MLOAD
00003fe2: PUSH2 0x343b
00003fe5: JUMPI
00003fe6: PUSH1 0x40
00003fe8: MLOAD
00003fe9: PUSH3 0x461bcd
00003fed: PUSH1 0xe5
00003fef: SHL
00003ff0: DUP2
00003ff1: MSTORE
00003ff2: PUSH1 0x04
00003ff4: ADD
00003ff5: DUP1
00003ff6: DUP1
00003ff7: PUSH1 0x20
00003ff9: ADD
00003ffa: DUP3
00003ffb: DUP2
00003ffc: SUB
00003ffd: DUP3
00003ffe: MSTORE
00003fff: PUSH1 0x2a
00004001: DUP2
00004002: MSTORE
00004003: PUSH1 0x20
00004005: ADD
00004006: DUP1
00004007: PUSH2 0x42df
0000400a: PUSH1 0x2a
0000400c: SWAP2
0000400d: CODECOPY
0000400e: PUSH1 0x40
00004010: ADD
00004011: SWAP2
00004012: POP
00004013: POP
00004014: PUSH1 0x40
00004016: MLOAD
00004017: DUP1
00004018: SWAP2
00004019: SUB
0000401a: SWAP1
0000401b: REVERT
0000401c: JUMPDEST
0000401d: PUSH1 0x00
0000401f: DUP2
00004020: PUSH2 0x4070
00004023: JUMPI
00004024: PUSH1 0x40
00004026: DUP1
00004027: MLOAD
00004028: PUSH3 0x461bcd
0000402c: PUSH1 0xe5
0000402e: SHL
0000402f: DUP2
00004030: MSTORE
00004031: PUSH1 0x20
00004033: PUSH1 0x04
00004035: DUP3
00004036: ADD
00004037: DUP2
00004038: SWAP1
00004039: MSTORE
0000403a: PUSH1 0x24
0000403c: DUP3
0000403d: ADD
0000403e: MSTORE
0000403f: PUSH32 0x5369676e6564536166654d6174683a206469766973696f6e206279207a65726f
00004060: PUSH1 0x44
00004062: DUP3
00004063: ADD
00004064: MSTORE
00004065: SWAP1
00004066: MLOAD
00004067: SWAP1
00004068: DUP2
00004069: SWAP1
0000406a: SUB
0000406b: PUSH1 0x64
0000406d: ADD
0000406e: SWAP1
0000406f: REVERT
00004070: JUMPDEST
00004071: DUP2
00004072: PUSH1 0x00
00004074: NOT
00004075: EQ
00004076: DUP1
00004077: ISZERO
00004078: PUSH2 0x4084
0000407b: JUMPI
0000407c: POP
0000407d: PUSH1 0x01
0000407f: PUSH1 0xff
00004081: SHL
00004082: DUP4
00004083: EQ
00004084: JUMPDEST
00004085: ISZERO
00004086: PUSH2 0x40c0
00004089: JUMPI
0000408a: PUSH1 0x40
0000408c: MLOAD
0000408d: PUSH3 0x461bcd
00004091: PUSH1 0xe5
00004093: SHL
00004094: DUP2
00004095: MSTORE
00004096: PUSH1 0x04
00004098: ADD
00004099: DUP1
0000409a: DUP1
0000409b: PUSH1 0x20
0000409d: ADD
0000409e: DUP3
0000409f: DUP2
000040a0: SUB
000040a1: DUP3
000040a2: MSTORE
000040a3: PUSH1 0x21
000040a5: DUP2
000040a6: MSTORE
000040a7: PUSH1 0x20
000040a9: ADD
000040aa: DUP1
000040ab: PUSH2 0x41a5
000040ae: PUSH1 0x21
000040b0: SWAP2
000040b1: CODECOPY
000040b2: PUSH1 0x40
000040b4: ADD
000040b5: SWAP2
000040b6: POP
000040b7: POP
000040b8: PUSH1 0x40
000040ba: MLOAD
000040bb: DUP1
000040bc: SWAP2
000040bd: SUB
000040be: SWAP1
000040bf: REVERT
000040c0: JUMPDEST
000040c1: PUSH1 0x00
000040c3: DUP3
000040c4: DUP5
000040c5: DUP2
000040c6: PUSH2 0x40cb
000040c9: JUMPI
000040ca: INVALID
000040cb: JUMPDEST
000040cc: SDIV
000040cd: SWAP5
000040ce: SWAP4
000040cf: POP
000040d0: POP
000040d1: POP
000040d2: POP
000040d3: JUMP
000040d4: JUMPDEST
000040d5: PUSH1 0x00
000040d7: DUP2
000040d8: EXTCODEHASH
000040d9: PUSH32 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470
000040fa: DUP2
000040fb: DUP2
000040fc: EQ
000040fd: DUP1
000040fe: ISZERO
000040ff: SWAP1
00004100: PUSH2 0x4108
00004103: JUMPI
00004104: POP
00004105: DUP2
00004106: ISZERO
00004107: ISZERO
00004108: JUMPDEST
00004109: SWAP5
0000410a: SWAP4
0000410b: POP
0000410c: POP
0000410d: POP
0000410e: POP
0000410f: JUMP
00004110: INVALID
00004111: UNKNOWN(0x4F)
00004112: PUSH24 0x6e61626c653a206e6577206f776e65722069732074686520
0000412b: PUSH27 0x65726f20616464726573735369676e6564536166654d6174683a20
00004147: PUSH2 0x6464
0000414a: PUSH10 0x74696f6e206f76657266
00004155: PUSH13 0x6f774163636f756e74206e6f74
00004163: KECCAK256
00004164: PUSH2 0x6374
00004167: PUSH10 0x76652c20706c65617365
00004172: KECCAK256
00004173: PUSH5 0x65706f7369
00004179: PUSH21 0x2066697273742e54686520616d6f756e7420697320
0000418f: PUSH15 0x6f742073656e742066726f6d206164
0000419f: PUSH5 0x726573732e
000041a5: MSTORE8
000041a6: PUSH10 0x676e6564536166654d61
000041b1: PUSH21 0x683a206469766973696f6e206f766572666c6f7753
000041c7: PUSH2 0x6665
000041ca: UNKNOWN(0x4D)
000041cb: PUSH2 0x7468
000041ce: GASPRICE
000041cf: KECCAK256
000041d0: PUSH14 0x756c7469706c69636174696f6e20
000041df: PUSH16 0x766572666c6f774f776e61626c653a20
000041f0: PUSH4 0x616c6c65
000041f5: PUSH19 0x206973206e6f7420746865206f776e65725369
00004209: PUSH8 0x6e6564536166654d
00004212: PUSH2 0x7468
00004215: GASPRICE
00004216: KECCAK256
00004217: PUSH14 0x756c7469706c69636174696f6e20
00004226: PUSH16 0x766572666c6f7761646472657373206e
00004237: PUSH16 0x74207265676973746572206f72206e61
00004248: PUSH14 0x6520616c72656164792072656769
00004257: PUSH20 0x74657242616c616e6365206f662074686520746f
0000426c: PUSH12 0x656e206d757374206265207a
00004279: PUSH6 0x726f206f7220
00004280: PUSH17 0x6f7369746976652e20546f20706179206e
00004292: PUSH6 0x676174697665
00004299: KECCAK256
0000429a: PUSH3 0x616c61
0000429e: PUSH15 0x63652c20706c656173652075736520
000042ae: PUSH19 0x6570617920627574746f6e2e5369676e656453
000042c2: PUSH2 0x6665
000042c5: UNKNOWN(0x4D)
000042c6: PUSH2 0x7468
000042c9: GASPRICE
000042ca: KECCAK256
000042cb: PUSH20 0x75627472616374696f6e206f766572666c6f7753
000042e0: PUSH2 0x6665
000042e3: GASLIMIT
000042e4: MSTORE
000042e5: NUMBER
000042e6: ORIGIN
000042e7: ADDRESS
000042e8: GASPRICE
000042e9: KECCAK256
000042ea: GASLIMIT
000042eb: MSTORE
000042ec: NUMBER
000042ed: ORIGIN
000042ee: ADDRESS
000042ef: KECCAK256
000042f0: PUSH16 0x7065726174696f6e20646964206e6f74
00004301: KECCAK256
00004302: PUSH20 0x756363656564a265627a7a723158202b38d96809
00004317: DELEGATECALL
00004318: UNKNOWN(0xBD)
00004319: PUSH21 0xd43deaddead165654369c38c6908383e4c19d1508a
0000432f: UNKNOWN(0xCB)
00004330: UNKNOWN(0xC2)
00004331: JUMPI
00004332: PUSH5 0x736f6c6343
00004338: STOP
00004339: SDIV
0000433a: GT
0000433b: STOP
0000433c: ORIGIN

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical other codex USDT transferFrom/transfer return values ignored, enabling fake deposits and pooled USDT withdrawal 90 no
view
evidence_json
{
    "evidence": "Internal balances are updated before `receive`, and the USDT branches of `receive`/`send` ignore transfer success, so a failed USDT transfer can still credit/debit balances.",
    "locations": [
        "contracts/contracts/yam.sol:527",
        "contracts/contracts/yam.sol:530",
        "contracts/contracts/yam.sol:563",
        "contracts/contracts/yam.sol:566",
        "contracts/contracts/yam.sol:577",
        "contracts/contracts/yam.sol:580"
    ],
    "recommendation": "Use SafeERC20 for USDT as well and require success on `transferFrom`/`transfer` (e.g., `callOptionalReturn`), or verify balance changes before/after the USDT transfer and revert if no tokens moved.",
    "exploit_scenario": "1) Attacker registers in AllPool and waits until `_startTime`. 2) Call `depositToken(_USDT, X)` with no/insufficient USDT allowance or balance. The USDT branch calls `basic.transferFrom` without checking success, so if USDT returns `false` (no revert), the contract still credits the attacker\u2019s balance and increases `totalDeposits`. 3) Call `withdrawToken(_USDT, Y)` in chunks up to the contract\u2019s actual USDT balance; the contract transfers real USDT to the attacker. Profit potential: up to the entire USDT balance held by the contract (all depositor USDT)."
}
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf41231da",
            "selector": "0xf41231da",
            "calldata_variants": [
                "0xf41231da",
                "0xf41231da0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa1acb5c",
            "selector": "0xfa1acb5c",
            "calldata_variants": [
                "0xfa1acb5c",
                "0xfa1acb5c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xffd832c1",
            "selector": "0xffd832c1",
            "calldata_variants": [
                "0xffd832c1",
                "0xffd832c10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xed6525c4",
            "selector": "0xed6525c4",
            "calldata_variants": [
                "0xed6525c4",
                "0xed6525c40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xee5c06f5",
            "selector": "0xee5c06f5",
            "calldata_variants": [
                "0xee5c06f5",
                "0xee5c06f50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf1229777",
            "selector": "0xf1229777",
            "calldata_variants": [
                "0xf1229777",
                "0xf12297770000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdae48b7e",
            "selector": "0xdae48b7e",
            "calldata_variants": [
                "0xdae48b7e",
                "0xdae48b7e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 17126,
            "type": "tx_origin_used"
        },
        {
            "pc": 17133,
            "type": "tx_origin_used"
        },
        {
            "pc": 17212,
            "type": "tx_origin_used"
        }
    ]
}
high upgradeability detector Untrusted DELEGATECALL target reachable 55 no no
view
trace_id: 0xaeaec3c6bb8162b55dbeda435dac4e50a5a4dd31e107050cf69a4be7c2d48218
call_targets: 0xab2ea31dba6270584486b6d7657fbfcd10f8bfae
target_varies: no
classification: constant_target
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 98,
    "trace_id": "0xaeaec3c6bb8162b55dbeda435dac4e50a5a4dd31e107050cf69a4be7c2d48218",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xab2ea31dba6270584486b6d7657fbfcd10f8bfae"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf41231da",
            "selector": "0xf41231da",
            "calldata_variants": [
                "0xf41231da",
                "0xf41231da0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa1acb5c",
            "selector": "0xfa1acb5c",
            "calldata_variants": [
                "0xfa1acb5c",
                "0xfa1acb5c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xffd832c1",
            "selector": "0xffd832c1",
            "calldata_variants": [
                "0xffd832c1",
                "0xffd832c10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xed6525c4",
            "selector": "0xed6525c4",
            "calldata_variants": [
                "0xed6525c4",
                "0xed6525c40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xee5c06f5",
            "selector": "0xee5c06f5",
            "calldata_variants": [
                "0xee5c06f5",
                "0xee5c06f50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf1229777",
            "selector": "0xf1229777",
            "calldata_variants": [
                "0xf1229777",
                "0xf12297770000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdae48b7e",
            "selector": "0xdae48b7e",
            "calldata_variants": [
                "0xdae48b7e",
                "0xdae48b7e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3298,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 3557,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 3964,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [
        {
            "pc": 17126,
            "type": "tx_origin_used"
        },
        {
            "pc": 17133,
            "type": "tx_origin_used"
        },
        {
            "pc": 17212,
            "type": "tx_origin_used"
        }
    ],
    "delegatecall_count": 23,
    "untrusted_delegatecall_count": 22
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0xedf2ffe5abb48653075bde2ab6b23f2ae7e6ad9209cc8d5a0941b1759ee646ed
call_targets: 0x6f35a5e6a7301627a090822895e5e7209ed72f77
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xedf2ffe5abb48653075bde2ab6b23f2ae7e6ad9209cc8d5a0941b1759ee646ed",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x6f35a5e6a7301627a090822895e5e7209ed72f77"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf41231da",
            "selector": "0xf41231da",
            "calldata_variants": [
                "0xf41231da",
                "0xf41231da0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa1acb5c",
            "selector": "0xfa1acb5c",
            "calldata_variants": [
                "0xfa1acb5c",
                "0xfa1acb5c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xffd832c1",
            "selector": "0xffd832c1",
            "calldata_variants": [
                "0xffd832c1",
                "0xffd832c10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xed6525c4",
            "selector": "0xed6525c4",
            "calldata_variants": [
                "0xed6525c4",
                "0xed6525c40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xee5c06f5",
            "selector": "0xee5c06f5",
            "calldata_variants": [
                "0xee5c06f5",
                "0xee5c06f50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf1229777",
            "selector": "0xf1229777",
            "calldata_variants": [
                "0xf1229777",
                "0xf12297770000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdae48b7e",
            "selector": "0xdae48b7e",
            "calldata_variants": [
                "0xdae48b7e",
                "0xdae48b7e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4610,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6363,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7631,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 12,
    "guards_detected": [
        {
            "pc": 17126,
            "type": "tx_origin_used"
        },
        {
            "pc": 17133,
            "type": "tx_origin_used"
        },
        {
            "pc": 17212,
            "type": "tx_origin_used"
        }
    ]
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 23
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0xedf2ffe5abb48653075bde2ab6b23f2ae7e6ad9209cc8d5a0941b1759ee646ed
call_targets: 0x6f35a5e6a7301627a090822895e5e7209ed72f77
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xedf2ffe5abb48653075bde2ab6b23f2ae7e6ad9209cc8d5a0941b1759ee646ed",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x6f35a5e6a7301627a090822895e5e7209ed72f77"
    ],
    "matched_probe": null,
    "target_varies": false,
    "classification": "constant_target"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf41231da",
            "selector": "0xf41231da",
            "calldata_variants": [
                "0xf41231da",
                "0xf41231da0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa1acb5c",
            "selector": "0xfa1acb5c",
            "calldata_variants": [
                "0xfa1acb5c",
                "0xfa1acb5c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xffd832c1",
            "selector": "0xffd832c1",
            "calldata_variants": [
                "0xffd832c1",
                "0xffd832c10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xed6525c4",
            "selector": "0xed6525c4",
            "calldata_variants": [
                "0xed6525c4",
                "0xed6525c40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xee5c06f5",
            "selector": "0xee5c06f5",
            "calldata_variants": [
                "0xee5c06f5",
                "0xee5c06f50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf1229777",
            "selector": "0xf1229777",
            "calldata_variants": [
                "0xf1229777",
                "0xf12297770000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdae48b7e",
            "selector": "0xdae48b7e",
            "calldata_variants": [
                "0xdae48b7e",
                "0xdae48b7e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4610,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6363,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7631,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 12,
    "guards_detected": [
        {
            "pc": 17126,
            "type": "tx_origin_used"
        },
        {
            "pc": 17133,
            "type": "tx_origin_used"
        },
        {
            "pc": 17212,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 12
}
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": 15
}
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": 37
}