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

Analysis Run

4512afe7-5f93-4201-92ac-099a73dc43a6

complete
Chain ID
1
Address
Block Number
Created
Tue, Dec 30, 2025 12:37 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
ETH value transfer possible
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
30630 report.consolidate complete 1 / 1 3 months ago
74776 artifact.fetch complete 1 / 3 1 week ago
74777 tool.cast_disasm complete 1 / 3 1 week ago
74778 analysis.bundle complete 1 / 3 1 week ago
74779 capability.graph complete 1 / 3 1 week ago
74780 detector.run complete 1 / 3 1 week ago
74781 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
3
No findings?
no
Summary
Identified 3 issues: withdrawals ignore locked collateral (insolvency risk), missing oracle freshness/positivity checks, and unrestricted Facade approvals.
View stderr
[codex:585309] OpenAI Codex v0.77.0 (research preview)
[codex:585309] --------
[codex:585309] workdir: /tmp/codex-multi-jf_zb9ed
[codex:585309] model: gpt-5.2-codex
[codex:585309] provider: openai
[codex:585309] approval: never
[codex:585309] sandbox: read-only
[codex:585309] reasoning effort: xhigh
[codex:585309] reasoning summaries: auto
[codex:585309] session id: 019b6caa-57f7-7e10-a198-dfb7a991f37b
[codex:585309] --------
[codex:585309] user
[codex:585309] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:585309] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:585309] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:585309] 
[codex:585309] Scope rules:
[codex:585309] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:585309] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:585309] 
[codex:585309] Output MUST be valid JSON matching the provided schema.
[codex:585309] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:585309] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:585309] 
[codex:585309] Output constraints (IMPORTANT):
[codex:585309] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:585309] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:585309] mcp startup: no servers
[codex:585309] 
[codex:585309] thinking
[codex:585309] **Checking instructions for skill**
[codex:585309] exec
[codex:585309] /bin/bash -lc ls in /tmp/codex-multi-jf_zb9ed succeeded in 5ms:
[codex:585309] AUDIT_BUNDLE.txt
[codex:585309] codex-output-schema.json
[codex:585309] contracts
[codex:585309] exec
[codex:585309] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-jf_zb9ed succeeded in 6ms:
[codex:585309] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:585309] 
[codex:585309] ================================================================================
[codex:585309] FILE: contracts/@chainlink/contracts/src/v0.7/interfaces/AggregatorV3Interface.sol
[codex:585309] ================================================================================
[codex:585309] // SPDX-License-Identifier: MIT
[codex:585309] pragma solidity >=0.7.0;
[codex:585309] 
[codex:585309] interface AggregatorV3Interface {
[codex:585309] 
[codex:585309]   function decimals() external view returns (uint8);
[codex:585309]   function description() external view returns (string memory);
[codex:585309]   function version() external view returns (uint256);
[codex:585309] 
[codex:585309]   // getRoundData and latestRoundData should both raise "No data present"
[codex:585309]   // if they do not have data to report, instead of returning unset values
[codex:585309]   // which could be misinterpreted as actual reported values.
[codex:585309]   function getRoundData(uint80 _roundId)
[codex:585309]     external
[codex:585309]     view
[codex:585309] 
[codex:585309] thinking
[codex:585309] **Preparing for first-party audit**
[codex:585309] exec
[codex:585309] /bin/bash -lc 'rg --files contracts/contracts' in /tmp/codex-multi-jf_zb9ed succeeded in 10ms:
[codex:585309] contracts/contracts/Exerciser.sol
[codex:585309] contracts/contracts/Pool/HegicCall.sol
[codex:585309] contracts/contracts/Pool/HegicPut.sol
[codex:585309] contracts/contracts/Pool/HegicPool.sol
[codex:585309] contracts/contracts/Mocks/WETH.sol
[codex:585309] contracts/contracts/Mocks/ERC20Mock.sol
[codex:585309] contracts/contracts/Mocks/UniswapRouterMock.sol
[codex:585309] contracts/contracts/Facade/Facade.sol
[codex:585309] contracts/contracts/Staking/HegicStaking.sol
[codex:585309] contracts/contracts/utils/Math.sol
[codex:585309] contracts/contracts/Interfaces/IOptionsManager.sol
[codex:585309] contracts/contracts/Interfaces/Interfaces.sol
[codex:585309] contracts/contracts/Options/PriceCalculator.sol
[codex:585309] contracts/contracts/Options/OptionsManager.sol
[codex:585309] 
[codex:585309] thinking
[codex:585309] **Reviewing first-party contract files**
[codex:585309] exec
[codex:585309] /bin/bash -lc "sed -n '1,240p' contracts/contracts/Pool/HegicPool.sol" in /tmp/codex-multi-jf_zb9ed succeeded in 5ms:
[codex:585309] pragma solidity 0.8.6;
[codex:585309] 
[codex:585309] /**
[codex:585309]  * SPDX-License-Identifier: GPL-3.0-or-later
[codex:585309]  * Hegic
[codex:585309]  * Copyright (C) 2021 Hegic Protocol
[codex:585309]  *
[codex:585309]  * This program is free software: you can redistribute it and/or modify
[codex:585309]  * it under the terms of the GNU General Public License as published by
[codex:585309]  * the Free Software Foundation, either version 3 of the License, or
[codex:585309]  * (at your option) any later version.
[codex:585309]  *
[codex:585309]  * This program is distributed in the hope that it will be useful,
[codex:585309]  * but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:585309]  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:585309]  * GNU General Public License for more details.
[codex:585309]  *
[codex:585309]  * You should have received a copy of the GNU General Public License
[codex:585309]  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
[codex:585309]  **/
[codex:585309] exec
[codex:585309] /bin/bash -lc "sed -n '240,520p' contracts/contracts/Pool/HegicPool.sol" in /tmp/codex-multi-jf_zb9ed succeeded in 6ms:
[codex:585309]         (uint256 settlementFee, uint256 premium) =
[codex:585309]             _calculateTotalPremium(period, amount, strike);
[codex:585309]         uint256 hedgedPremiumTotal = (premium * hedgedBalance) / balance;
[codex:585309]         uint256 hedgeFee = (hedgedPremiumTotal * hedgeFeeRate) / 100;
[codex:585309]         uint256 hedgePremium = hedgedPremiumTotal - hedgeFee;
[codex:585309]         uint256 unhedgePremium = premium - hedgedPremiumTotal;
[codex:585309] 
[codex:585309]         lockedAmount += amountToBeLocked;
[codex:585309]         id = optionsManager.createOptionFor(holder);
[codex:585309]         options[id] = Option(
[codex:585309]             OptionState.Active,
[codex:585309]             strike,
[codex:585309]             amount,
[codex:585309]             amountToBeLocked,
[codex:585309]             block.timestamp + period,
[codex:585309]             hedgePremium,
[codex:585309]             unhedgePremium
[codex:585309]         );
[codex:585309] 
[codex:585309]         token.safeTransferFrom(
[codex:585309] exec
[codex:585309] /bin/bash -lc "sed -n '520,920p' contracts/contracts/Pool/HegicPool.sol" in /tmp/codex-multi-jf_zb9ed succeeded in 5ms:
[codex:585309]     /**
[codex:585309]      * @notice Used for calculating the `TotalPremium`
[codex:585309]      * for the particular option with regards to
[codex:585309]      * the parameters chosen by the option buyer
[codex:585309]      * such as the period of holding, size (amount)
[codex:585309]      * and strike price.
[codex:585309]      * @param period The period of holding the option
[codex:585309]      * @param period The size of the option
[codex:585309]      **/
[codex:585309]     function calculateTotalPremium(
[codex:585309]         uint256 period,
[codex:585309]         uint256 amount,
[codex:585309]         uint256 strike
[codex:585309]     ) external view override returns (uint256 settlementFee, uint256 premium) {
[codex:585309]         return _calculateTotalPremium(period, amount, strike);
[codex:585309]     }
[codex:585309] 
[codex:585309]     function _calculateTotalPremium(
[codex:585309]         uint256 period,
[codex:585309]         uint256 amount,
[codex:585309] 
[codex:585309] thinking
[codex:585309] **Analyzing potential reentrancy concerns**
[codex:585309] exec
[codex:585309] /bin/bash -lc "sed -n '1,260p' contracts/contracts/Pool/HegicCall.sol" in /tmp/codex-multi-jf_zb9ed succeeded in 5ms:
[codex:585309] pragma solidity 0.8.6;
[codex:585309] 
[codex:585309] /**
[codex:585309]  * SPDX-License-Identifier: GPL-3.0-or-later
[codex:585309]  * Hegic
[codex:585309]  * Copyright (C) 2021 Hegic Protocol
[codex:585309]  *
[codex:585309]  * This program is free software: you can redistribute it and/or modify
[codex:585309]  * it under the terms of the GNU General Public License as published by
[codex:585309]  * the Free Software Foundation, either version 3 of the License, or
[codex:585309]  * (at your option) any later version.
[codex:585309]  *
[codex:585309]  * This program is distributed in the hope that it will be useful,
[codex:585309]  * but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:585309]  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:585309]  * GNU General Public License for more details.
[codex:585309]  *
[codex:585309]  * You should have received a copy of the GNU General Public License
[codex:585309]  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
[codex:585309]  **/
[codex:585309] 
[codex:585309] thinking
[codex:585309] **Exploring OptionsManager next**
[codex:585309] exec
[codex:585309] /bin/bash -lc "sed -n '1,260p' contracts/contracts/Options/OptionsManager.sol" in /tmp/codex-multi-jf_zb9ed succeeded in 5ms:
[codex:585309] pragma solidity 0.8.6;
[codex:585309] 
[codex:585309] /**
[codex:585309]  * SPDX-License-Identifier: GPL-3.0-or-later
[codex:585309]  * Hegic
[codex:585309]  * Copyright (C) 2021 Hegic Protocol
[codex:585309]  *
[codex:585309]  * This program is free software: you can redistribute it and/or modify
[codex:585309]  * it under the terms of the GNU General Public License as published by
[codex:585309]  * the Free Software Foundation, either version 3 of the License, or
[codex:585309]  * (at your option) any later version.
[codex:585309]  *
[codex:585309]  * This program is distributed in the hope that it will be useful,
[codex:585309]  * but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:585309]  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:585309]  * GNU General Public License for more details.
[codex:585309]  *
[codex:585309]  * You should have received a copy of the GNU General Public License
[codex:585309]  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
[codex:585309]  **/
[codex:585309] 
[codex:585309] thinking
[codex:585309] **Moving to PriceCalculator**
[codex:585309] exec
[codex:585309] /bin/bash -lc "sed -n '1,260p' contracts/contracts/Options/PriceCalculator.sol" in /tmp/codex-multi-jf_zb9ed succeeded in 5ms:
[codex:585309] pragma solidity 0.8.6;
[codex:585309] 
[codex:585309] /**
[codex:585309]  * SPDX-License-Identifier: GPL-3.0-or-later
[codex:585309]  * Hegic
[codex:585309]  * Copyright (C) 2021 Hegic Protocol
[codex:585309]  *
[codex:585309]  * This program is free software: you can redistribute it and/or modify
[codex:585309]  * it under the terms of the GNU General Public License as published by
[codex:585309]  * the Free Software Foundation, either version 3 of the License, or
[codex:585309]  * (at your option) any later version.
[codex:585309]  *
[codex:585309]  * This program is distributed in the hope that it will be useful,
[codex:585309]  * but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:585309]  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:585309]  * GNU General Public License for more details.
[codex:585309]  *
[codex:585309]  * You should have received a copy of the GNU General Public License
[codex:585309]  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
[codex:585309]  **/
[codex:585309] 
[codex:585309] thinking
[codex:585309] **Analyzing PriceCalculator risks**
[codex:585309] exec
[codex:585309] /bin/bash -lc "sed -n '1,260p' contracts/contracts/Exerciser.sol" in /tmp/codex-multi-jf_zb9ed succeeded in 6ms:
[codex:585309] pragma solidity 0.8.6;
[codex:585309] 
[codex:585309] /**
[codex:585309]  * SPDX-License-Identifier: GPL-3.0-or-later
[codex:585309]  * Hegic
[codex:585309]  * Copyright (C) 2021 Hegic Protocol
[codex:585309]  *
[codex:585309]  * This program is free software: you can redistribute it and/or modify
[codex:585309]  * it under the terms of the GNU General Public License as published by
[codex:585309]  * the Free Software Foundation, either version 3 of the License, or
[codex:585309]  * (at your option) any later version.
[codex:585309]  *
[codex:585309]  * This program is distributed in the hope that it will be useful,
[codex:585309]  * but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:585309]  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:585309]  * GNU General Public License for more details.
[codex:585309]  *
[codex:585309]  * You should have received a copy of the GNU General Public License
[codex:585309]  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
[codex:585309]  **/
[codex:585309] 
[codex:585309] thinking
[codex:585309] **Clarifying exerciser permissions**
[codex:585309] exec
[codex:585309] /bin/bash -lc "sed -n '1,260p' contracts/contracts/Facade/Facade.sol" in /tmp/codex-multi-jf_zb9ed succeeded in 6ms:
[codex:585309] pragma solidity 0.8.6;
[codex:585309] 
[codex:585309] /**
[codex:585309]  * SPDX-License-Identifier: GPL-3.0-or-later
[codex:585309]  * Hegic
[codex:585309]  * Copyright (C) 2021 Hegic Protocol
[codex:585309]  *
[codex:585309]  * This program is free software: you can redistribute it and/or modify
[codex:585309]  * it under the terms of the GNU General Public License as published by
[codex:585309]  * the Free Software Foundation, either version 3 of the License, or
[codex:585309]  * (at your option) any later version.
[codex:585309]  *
[codex:585309]  * This program is distributed in the hope that it will be useful,
[codex:585309]  * but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:585309]  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:585309]  * GNU General Public License for more details.
[codex:585309]  *
[codex:585309]  * You should have received a copy of the GNU General Public License
[codex:585309]  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
[codex:585309]  **/
[codex:585309] 
[codex:585309] thinking
[codex:585309] **Analyzing contract approval and reentrancy risks**
[codex:585309] exec
[codex:585309] /bin/bash -lc "sed -n '1,260p' contracts/contracts/Interfaces/Interfaces.sol" in /tmp/codex-multi-jf_zb9ed succeeded in 6ms:
[codex:585309] pragma solidity 0.8.6;
[codex:585309] 
[codex:585309] /**
[codex:585309]  * SPDX-License-Identifier: GPL-3.0-or-later
[codex:585309]  * Hegic
[codex:585309]  * Copyright (C) 2021 Hegic Protocol
[codex:585309]  *
[codex:585309]  * This program is free software: you can redistribute it and/or modify
[codex:585309]  * it under the terms of the GNU General Public License as published by
[codex:585309]  * the Free Software Foundation, either version 3 of the License, or
[codex:585309]  * (at your option) any later version.
[codex:585309]  *
[codex:585309]  * This program is distributed in the hope that it will be useful,
[codex:585309]  * but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:585309]  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:585309]  * GNU General Public License for more details.
[codex:585309]  *
[codex:585309]  * You should have received a copy of the GNU General Public License
[codex:585309]  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
[codex:585309]  **/
[codex:585309] 
[codex:585309] 
[codex:585309] thinking
[codex:585309] **Analyzing potential vulnerabilities and accounting risks**
[codex:585309] 
[codex:585309] I’m carefully examining option state defaults, reentrancy concerns, price oracle usage, and liquidity accounting in the pool. There’s a notable risk that liquidity providers can withdraw funds while options remain active, potentially leaving the pool undercollateralized and risking option exercise failures. I’m also spotting oracle staleness and validation weaknesses that could lead to price manipulation, plus some subtle reentrancy and access control considerations involving token transfers and external calls. This is a complex mix of design and potential security issues worth highlighting.
[codex:585309] thinking
[codex:585309] **Evaluating pricing, reentrancy, and approval concerns**
[codex:585309] 
[codex:585309] I’m investigating risks around zero or negative prices causing divide-by-zero errors in profit calculations, plus subtle reentrancy during option sales that could allow liquidity withdrawals mid-process, potentially impacting pool balances. I also see that open approvals in Facade let anyone grant unlimited allowances to arbitrary pools, which could lead to token draining if tokens accumulate there. Some interactions with price oracles lack freshness checks, adding to potential issues. Overall, these factors together highlight important areas to review around accounting, reentrancy, and access control.
[codex:585309] exec
[codex:585309] /bin/bash -lc "sed -n '1,260p' contracts/contracts/Mocks/WETH.sol" in /tmp/codex-multi-jf_zb9ed succeeded in 6ms:
[codex:585309] pragma solidity 0.8.6;
[codex:585309] 
[codex:585309] /**
[codex:585309]  * SPDX-License-Identifier: GPL-3.0-or-later
[codex:585309]  * Hegic
[codex:585309]  * Copyright (C) 2021 Hegic
[codex:585309]  *
[codex:585309]  * This program is free software: you can redistribute it and/or modify
[codex:585309]  * it under the terms of the GNU General Public License as published by
[codex:585309]  * the Free Software Foundation, either version 3 of the License, or
[codex:585309]  * (at your option) any later version.
[codex:585309]  *
[codex:585309]  * This program is distributed in the hope that it will be useful,
[codex:585309]  * but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:585309]  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:585309]  * GNU General Public License for more details.
[codex:585309]  *
[codex:585309]  * You should have received a copy of the GNU General Public License
[codex:585309]  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
[codex:585309]  **/
[codex:585309] 
[codex:585309] thinking
[codex:585309] **Analyzing potential vulnerabilities and design flaws**
[codex:585309] exec
[codex:585309] /bin/bash -lc "nl -ba contracts/contracts/Pool/HegicPool.sol | sed -n '540,620p'" in /tmp/codex-multi-jf_zb9ed succeeded in 7ms:
[codex:585309]    540	        uint256 strike
[codex:585309]    541	    ) internal view virtual returns (uint256 settlementFee, uint256 premium) {
[codex:585309]    542	        (settlementFee, premium) = pricer.calculateTotalPremium(
[codex:585309]    543	            period,
[codex:585309]    544	            amount,
[codex:585309]    545	            strike
[codex:585309]    546	        );
[codex:585309]    547	        require(
[codex:585309]    548	            settlementFee + premium > amount / 1000,
[codex:585309]    549	            "HegicPool: The option's price is too low"
[codex:585309]    550	        );
[codex:585309]    551	    }
[codex:585309]    552	
[codex:585309]    553	    /**
[codex:585309]    554	     * @notice Used for changing the `settlementFeeRecipient`
[codex:585309]    555	     * contract address for distributing the settlement fees
[codex:585309]    556	     * (staking rewards) among the staking participants.
[codex:585309]    557	     * @param recipient New staking contract address
[codex:585309]    558	     **/
[codex:585309]    559	    function setSettlementFeeRecipient(IHegicStaking recipient)
[codex:585309] 
[codex:585309] thinking
[codex:585309] **Reviewing PriceCalculator currentPrice method**
[codex:585309] exec
[codex:585309] /bin/bash -lc "nl -ba contracts/contracts/Options/PriceCalculator.sol | sed -n '120,220p'" in /tmp/codex-multi-jf_zb9ed succeeded in 6ms:
[codex:585309]    120	        IHegicPool pool
[codex:585309]    121	    ) internal view returns (uint256 iv) {
[codex:585309]    122	        uint256 poolBalance = pool.totalBalance();
[codex:585309]    123	        require(poolBalance > 0, "Pool Error: The pool is empty");
[codex:585309]    124	        iv = impliedVolRate * period.sqrt();
[codex:585309]    125	
[codex:585309]    126	        uint256 lockedAmount = pool.lockedAmount() + amount;
[codex:585309]    127	        uint256 utilization = (lockedAmount * 100e8) / poolBalance;
[codex:585309]    128	
[codex:585309]    129	        if (utilization > 40e8) {
[codex:585309]    130	            iv += (iv * (utilization - 40e8) * utilizationRate) / 40e16;
[codex:585309]    131	        }
[codex:585309]    132	    }
[codex:585309]    133	
[codex:585309]    134	    /**
[codex:585309]    135	     * @notice Used for requesting the current price of the asset
[codex:585309]    136	     * using the ChainLink data feeds contracts.
[codex:585309]    137	     * See https://feeds.chain.link/
[codex:585309]    138	     * @return price Price
[codex:585309]    139	     **/
[codex:585309] 
[codex:585309] thinking
[codex:585309] **Noting withdrawal logic location**
[codex:585309] exec
[codex:585309] /bin/bash -lc "nl -ba contracts/contracts/Pool/HegicPool.sol | sed -n '330,460p'" in /tmp/codex-multi-jf_zb9ed succeeded in 7ms:
[codex:585309]    330	            option.expired < block.timestamp,
[codex:585309]    331	            "Pool Error: The option has not expired yet"
[codex:585309]    332	        );
[codex:585309]    333	        _unlock(option);
[codex:585309]    334	        option.state = OptionState.Expired;
[codex:585309]    335	        emit Expired(id);
[codex:585309]    336	    }
[codex:585309]    337	
[codex:585309]    338	    function _unlock(Option storage option) internal {
[codex:585309]    339	        require(
[codex:585309]    340	            option.state == OptionState.Active,
[codex:585309]    341	            "Pool Error: The option with such an ID has already been exercised or expired"
[codex:585309]    342	        );
[codex:585309]    343	        lockedAmount -= option.lockedAmount;
[codex:585309]    344	        hedgedBalance += option.hedgePremium;
[codex:585309]    345	        unhedgedBalance += option.unhedgePremium;
[codex:585309]    346	    }
[codex:585309]    347	
[codex:585309]    348	    function _calculateLockedAmount(uint256 amount)
[codex:585309]    349	        internal
[codex:585309] exec
[codex:585309] /bin/bash -lc "nl -ba contracts/contracts/Pool/HegicPool.sol | sed -n '460,540p'" in /tmp/codex-multi-jf_zb9ed succeeded in 7ms:
[codex:585309]    460	        require(
[codex:585309]    461	            block.timestamp > t.creationTimestamp + lockupPeriod,
[codex:585309]    462	            "Pool Error: The withdrawal is locked up"
[codex:585309]    463	        );
[codex:585309]    464	
[codex:585309]    465	        t.state = TrancheState.Closed;
[codex:585309]    466	        if (t.hedged) {
[codex:585309]    467	            amount = (t.share * hedgedBalance) / hedgedShare;
[codex:585309]    468	            hedgedShare -= t.share;
[codex:585309]    469	            hedgedBalance -= amount;
[codex:585309]    470	        } else {
[codex:585309]    471	            amount = (t.share * unhedgedBalance) / unhedgedShare;
[codex:585309]    472	            unhedgedShare -= t.share;
[codex:585309]    473	            unhedgedBalance -= amount;
[codex:585309]    474	        }
[codex:585309]    475	
[codex:585309]    476	        token.safeTransfer(owner, amount);
[codex:585309]    477	    }
[codex:585309]    478	
[codex:585309]    479	    /**
[codex:585309] 
[codex:585309] thinking
[codex:585309] **Analyzing withdrawal logic and access control risks**
[codex:585309] 
[codex:585309] I'm inspecting how the withdraw function ignores locked amounts and noticing potential decimal scaling issues with Chainlink price feeds in HegicPut. I'm also uncovering a potential access control vulnerability in Facade’s poolApprove method that could allow a malicious pool to drain leftover tokens, which seems to be a low-severity but valid concern worth including.
[codex:585309] exec
[codex:585309] /bin/bash -lc "nl -ba contracts/contracts/Facade/Facade.sol | sed -n '70,170p'" in /tmp/codex-multi-jf_zb9ed succeeded in 7ms:
[codex:585309]     70	        uint256 amount,
[codex:585309]     71	        uint256 strike,
[codex:585309]     72	        address[] calldata swappath
[codex:585309]     73	    )
[codex:585309]     74	        public
[codex:585309]     75	        view
[codex:585309]     76	        returns (
[codex:585309]     77	            uint256 total,
[codex:585309]     78	            uint256 baseTotal,
[codex:585309]     79	            uint256 settlementFee,
[codex:585309]     80	            uint256 premium
[codex:585309]     81	        )
[codex:585309]     82	    {
[codex:585309]     83	        (uint256 _baseTotal, uint256 baseSettlementFee, uint256 basePremium) =
[codex:585309]     84	            getBaseOptionCost(pool, period, amount, strike);
[codex:585309]     85	        if (swappath.length > 1)
[codex:585309]     86	            total = exchange.getAmountsIn(_baseTotal, swappath)[0];
[codex:585309]     87	        else total = _baseTotal;
[codex:585309]     88	
[codex:585309]     89	        baseTotal = _baseTotal;
[codex:585309] 
[codex:585309] thinking
[codex:585309] **Summarizing audit findings and crafting JSON output**
[codex:585309] 
[codex:585309] I'll organize the identified issues into three detailed findings with severity, category, evidence, exploit scenarios, recommendations, and locations, then format everything into a structured JSON report summarizing the audit results.
[codex:585309] codex
[codex:585309] {"no_findings":false,"summary":"Identified 3 issues: withdrawals ignore locked collateral (insolvency risk), missing oracle freshness/positivity checks, and unrestricted Facade approvals.","findings":[{"severity":"high","category":"other","title":"Withdrawals ignore locked collateral, enabling pool insolvency","exploit_scenario":"A liquidity provider waits out the lockup, then withdraws while options are still active. `_withdraw` pays out based on total balances without accounting for `lockedAmount`, so totalBalance can fall below locked collateral. Subsequent option exercises can revert or be underfunded, breaking solvency.","recommendation":"Enforce withdrawals only against `availableBalance` (totalBalance - lockedAmount) or proportionally reduce withdrawable amounts when options are active; prevent withdrawals that would make totalBalance < lockedAmount.","evidence":"`_withdraw` calculates payout from `hedgedBalance`/`unhedgedBalance` and never checks `lockedAmount`; `availableBalance()` exists but is unused in withdrawals.","locations":["contracts/contracts/Pool/HegicPool.sol:449","contracts/contracts/Pool/HegicPool.sol:482"]},{"severity":"medium","category":"oracle","title":"Chainlink price used without freshness/positivity checks","exploit_scenario":"If the aggregator returns stale/zero/negative data (e.g., sequencer downtime or oracle malfunction), the cast to `uint256` is still used for pricing and profit/lockedAmount calculations, leading to mispriced options or incorrect payouts.","recommendation":"Validate `updatedAt`, `answeredInRound`, and `price > 0` from `latestRoundData()` and enforce a staleness threshold (and sequencer uptime check on L2s).","evidence":"Both `_currentPrice` implementations cast `latestPrice` directly to `uint256` without checking `updatedAt`/`answeredInRound` or `price > 0`.","locations":["contracts/contracts/Pool/HegicPool.sol:567","contracts/contracts/Options/PriceCalculator.sol:140"]},{"severity":"low","category":"access_control","title":"Unrestricted `poolApprove` lets anyone grant unlimited allowances from Facade","exploit_scenario":"An attacker deploys a fake pool that returns a valuable ERC20 address in `token()` and calls `poolApprove`. This grants their pool unlimited allowance from the Facade, letting them `transferFrom` any tokens that accumulate there (e.g., swap leftovers or accidental transfers).","recommendation":"Restrict `poolApprove` to the owner or a whitelist of trusted pools, or remove the function and perform approvals only inside `createOption` for vetted pools.","evidence":"`poolApprove` is external and unprotected, and it blindly sets `type(uint256).max` allowance for `pool.token()` to `pool`.","locations":["contracts/contracts/Facade/Facade.sol:126"]}]}
[codex:585309] tokens used
[codex:585309] 55,077
[codex:585309] {"no_findings":false,"summary":"Identified 3 issues: withdrawals ignore locked collateral (insolvency risk), missing oracle freshness/positivity checks, and unrestricted Facade approvals.","findings":[{"severity":"high","category":"other","title":"Withdrawals ignore locked collateral, enabling pool insolvency","exploit_scenario":"A liquidity provider waits out the lockup, then withdraws while options are still active. `_withdraw` pays out based on total balances without accounting for `lockedAmount`, so totalBalance can fall below locked collateral. Subsequent option exercises can revert or be underfunded, breaking solvency.","recommendation":"Enforce withdrawals only against `availableBalance` (totalBalance - lockedAmount) or proportionally reduce withdrawable amounts when options are active; prevent withdrawals that would make totalBalance < lockedAmount.","evidence":"`_withdraw` calculates payout from `hedgedBalance`/`unhedgedBalance` and never checks `lockedAmount`; `availableBalance()` exists but is unused in withdrawals.","locations":["contracts/contracts/Pool/HegicPool.sol:449","contracts/contracts/Pool/HegicPool.sol:482"]},{"severity":"medium","category":"oracle","title":"Chainlink price used without freshness/positivity checks","exploit_scenario":"If the aggregator returns stale/zero/negative data (e.g., sequencer downtime or oracle malfunction), the cast to `uint256` is still used for pricing and profit/lockedAmount calculations, leading to mispriced options or incorrect payouts.","recommendation":"Validate `updatedAt`, `answeredInRound`, and `price > 0` from `latestRoundData()` and enforce a staleness threshold (and sequencer uptime check on L2s).","evidence":"Both `_currentPrice` implementations cast `latestPrice` directly to `uint256` without checking `updatedAt`/`answeredInRound` or `price > 0`.","locations":["contracts/contracts/Pool/HegicPool.sol:567","contracts/contracts/Options/PriceCalculator.sol:140"]},{"severity":"low","category":"access_control","title":"Unrestricted `poolApprove` lets anyone grant unlimited allowances from Facade","exploit_scenario":"An attacker deploys a fake pool that returns a valuable ERC20 address in `token()` and calls `poolApprove`. This grants their pool unlimited allowance from the Facade, letting them `transferFrom` any tokens that accumulate there (e.g., swap leftovers or accidental transfers).","recommendation":"Restrict `poolApprove` to the owner or a whitelist of trusted pools, or remove the function and perform approvals only inside `createOption` for vetted pools.","evidence":"`poolApprove` is external and unprotected, and it blindly sets `type(uint256).max` allowance for `pool.token()` to `pool`.","locations":["contracts/contracts/Facade/Facade.sol:126"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-30T00:37:13.753385+00:00",
        "returncode": 0
    },
    "summary": "Identified 3 issues: withdrawals ignore locked collateral (insolvency risk), missing oracle freshness/positivity checks, and unrestricted Facade approvals.",
    "raw_final": {
        "summary": "Identified 3 issues: withdrawals ignore locked collateral (insolvency risk), missing oracle freshness/positivity checks, and unrestricted Facade approvals.",
        "findings": [
            {
                "title": "Withdrawals ignore locked collateral, enabling pool insolvency",
                "category": "other",
                "evidence": "`_withdraw` calculates payout from `hedgedBalance`/`unhedgedBalance` and never checks `lockedAmount`; `availableBalance()` exists but is unused in withdrawals.",
                "severity": "high",
                "locations": [
                    "contracts/contracts/Pool/HegicPool.sol:449",
                    "contracts/contracts/Pool/HegicPool.sol:482"
                ],
                "recommendation": "Enforce withdrawals only against `availableBalance` (totalBalance - lockedAmount) or proportionally reduce withdrawable amounts when options are active; prevent withdrawals that would make totalBalance < lockedAmount.",
                "exploit_scenario": "A liquidity provider waits out the lockup, then withdraws while options are still active. `_withdraw` pays out based on total balances without accounting for `lockedAmount`, so totalBalance can fall below locked collateral. Subsequent option exercises can revert or be underfunded, breaking solvency."
            },
            {
                "title": "Chainlink price used without freshness/positivity checks",
                "category": "oracle",
                "evidence": "Both `_currentPrice` implementations cast `latestPrice` directly to `uint256` without checking `updatedAt`/`answeredInRound` or `price > 0`.",
                "severity": "medium",
                "locations": [
                    "contracts/contracts/Pool/HegicPool.sol:567",
                    "contracts/contracts/Options/PriceCalculator.sol:140"
                ],
                "recommendation": "Validate `updatedAt`, `answeredInRound`, and `price > 0` from `latestRoundData()` and enforce a staleness threshold (and sequencer uptime check on L2s).",
                "exploit_scenario": "If the aggregator returns stale/zero/negative data (e.g., sequencer downtime or oracle malfunction), the cast to `uint256` is still used for pricing and profit/lockedAmount calculations, leading to mispriced options or incorrect payouts."
            },
            {
                "title": "Unrestricted `poolApprove` lets anyone grant unlimited allowances from Facade",
                "category": "access_control",
                "evidence": "`poolApprove` is external and unprotected, and it blindly sets `type(uint256).max` allowance for `pool.token()` to `pool`.",
                "severity": "low",
                "locations": [
                    "contracts/contracts/Facade/Facade.sol:126"
                ],
                "recommendation": "Restrict `poolApprove` to the owner or a whitelist of trusted pools, or remove the function and perform approvals only inside `createOption` for vetted pools.",
                "exploit_scenario": "An attacker deploys a fake pool that returns a valuable ERC20 address in `token()` and calls `poolApprove`. This grants their pool unlimited allowance from the Facade, letting them `transferFrom` any tokens that accumulate there (e.g., swap leftovers or accidental transfers)."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
9
EXT*/BALANCE
9
Total opcodes
9014
Flags
create_opcodes_present heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLVALUE
00000006: DUP1
00000007: ISZERO
00000008: PUSH2 0x0010
0000000b: JUMPI
0000000c: PUSH1 0x00
0000000e: DUP1
0000000f: REVERT
00000010: JUMPDEST
00000011: POP
00000012: PUSH1 0x04
00000014: CALLDATASIZE
00000015: LT
00000016: PUSH2 0x0383
00000019: JUMPI
0000001a: PUSH1 0x00
0000001c: CALLDATALOAD
0000001d: PUSH1 0xe0
0000001f: SHR
00000020: DUP1
00000021: PUSH4 0x762f3a16
00000026: GT
00000027: PUSH2 0x01de
0000002a: JUMPI
0000002b: DUP1
0000002c: PUSH4 0xb07f0a41
00000031: GT
00000032: PUSH2 0x010f
00000035: JUMPI
00000036: DUP1
00000037: PUSH4 0xd07a1c57
0000003c: GT
0000003d: PUSH2 0x00ad
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0xe5829d20
00000047: GT
00000048: PUSH2 0x007c
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0xe5829d20
00000052: EQ
00000053: PUSH2 0x07c6
00000056: JUMPI
00000057: DUP1
00000058: PUSH4 0xe985e9c5
0000005d: EQ
0000005e: PUSH2 0x07d9
00000061: JUMPI
00000062: DUP1
00000063: PUSH4 0xfc0c546a
00000068: EQ
00000069: PUSH2 0x0815
0000006c: JUMPI
0000006d: DUP1
0000006e: PUSH4 0xfeed2342
00000073: EQ
00000074: PUSH2 0x0828
00000077: JUMPI
00000078: PUSH1 0x00
0000007a: DUP1
0000007b: REVERT
0000007c: JUMPDEST
0000007d: DUP1
0000007e: PUSH4 0xd07a1c57
00000083: EQ
00000084: PUSH2 0x0779
00000087: JUMPI
00000088: DUP1
00000089: PUSH4 0xd547741f
0000008e: EQ
0000008f: PUSH2 0x07a1
00000092: JUMPI
00000093: DUP1
00000094: PUSH4 0xdcaf9c44
00000099: EQ
0000009a: PUSH2 0x07b4
0000009d: JUMPI
0000009e: DUP1
0000009f: PUSH4 0xdfcb48bd
000000a4: EQ
000000a5: PUSH2 0x07bd
000000a8: JUMPI
000000a9: PUSH1 0x00
000000ab: DUP1
000000ac: REVERT
000000ad: JUMPDEST
000000ae: DUP1
000000af: PUSH4 0xb88d4fde
000000b4: GT
000000b5: PUSH2 0x00e9
000000b8: JUMPI
000000b9: DUP1
000000ba: PUSH4 0xb88d4fde
000000bf: EQ
000000c0: PUSH2 0x0741
000000c3: JUMPI
000000c4: DUP1
000000c5: PUSH4 0xc87b56dd
000000ca: EQ
000000cb: PUSH2 0x0754
000000ce: JUMPI
000000cf: DUP1
000000d0: PUSH4 0xce8ff5a4
000000d5: EQ
000000d6: PUSH2 0x0767
000000d9: JUMPI
000000da: DUP1
000000db: PUSH4 0xcfffdefa
000000e0: EQ
000000e1: PUSH2 0x0770
000000e4: JUMPI
000000e5: PUSH1 0x00
000000e7: DUP1
000000e8: REVERT
000000e9: JUMPDEST
000000ea: DUP1
000000eb: PUSH4 0xb07f0a41
000000f0: EQ
000000f1: PUSH2 0x06f4
000000f4: JUMPI
000000f5: DUP1
000000f6: PUSH4 0xb1e368cd
000000fb: EQ
000000fc: PUSH2 0x0707
000000ff: JUMPI
00000100: DUP1
00000101: PUSH4 0xb888879e
00000106: EQ
00000107: PUSH2 0x071a
0000010a: JUMPI
0000010b: PUSH1 0x00
0000010d: DUP1
0000010e: REVERT
0000010f: JUMPDEST
00000110: DUP1
00000111: PUSH4 0x9cf0ea1d
00000116: GT
00000117: PUSH2 0x017c
0000011a: JUMPI
0000011b: DUP1
0000011c: PUSH4 0xa22cb465
00000121: GT
00000122: PUSH2 0x0156
00000125: JUMPI
00000126: DUP1
00000127: PUSH4 0xa22cb465
0000012c: EQ
0000012d: PUSH2 0x06be
00000130: JUMPI
00000131: DUP1
00000132: PUSH4 0xa6138ed9
00000137: EQ
00000138: PUSH2 0x06d1
0000013b: JUMPI
0000013c: DUP1
0000013d: PUSH4 0xab2f0e51
00000142: EQ
00000143: PUSH2 0x06e4
00000146: JUMPI
00000147: DUP1
00000148: PUSH4 0xad7a672f
0000014d: EQ
0000014e: PUSH2 0x06ec
00000151: JUMPI
00000152: PUSH1 0x00
00000154: DUP1
00000155: REVERT
00000156: JUMPDEST
00000157: DUP1
00000158: PUSH4 0x9cf0ea1d
0000015d: EQ
0000015e: PUSH2 0x069a
00000161: JUMPI
00000162: DUP1
00000163: PUSH4 0x9e252f08
00000168: EQ
00000169: PUSH2 0x06a3
0000016c: JUMPI
0000016d: DUP1
0000016e: PUSH4 0xa217fddf
00000173: EQ
00000174: PUSH2 0x06b6
00000177: JUMPI
00000178: PUSH1 0x00
0000017a: DUP1
0000017b: REVERT
0000017c: JUMPDEST
0000017d: DUP1
0000017e: PUSH4 0x911e3025
00000183: GT
00000184: PUSH2 0x01b8
00000187: JUMPI
00000188: DUP1
00000189: PUSH4 0x911e3025
0000018e: EQ
0000018f: PUSH2 0x0659
00000192: JUMPI
00000193: DUP1
00000194: PUSH4 0x91d14854
00000199: EQ
0000019a: PUSH2 0x066c
0000019d: JUMPI
0000019e: DUP1
0000019f: PUSH4 0x95d89b41
000001a4: EQ
000001a5: PUSH2 0x067f
000001a8: JUMPI
000001a9: DUP1
000001aa: PUSH4 0x96350a85
000001af: EQ
000001b0: PUSH2 0x0687
000001b3: JUMPI
000001b4: PUSH1 0x00
000001b6: DUP1
000001b7: REVERT
000001b8: JUMPDEST
000001b9: DUP1
000001ba: PUSH4 0x762f3a16
000001bf: EQ
000001c0: PUSH2 0x0634
000001c3: JUMPI
000001c4: DUP1
000001c5: PUSH4 0x7632bffb
000001ca: EQ
000001cb: PUSH2 0x063d
000001ce: JUMPI
000001cf: DUP1
000001d0: PUSH4 0x8ed83271
000001d5: EQ
000001d6: PUSH2 0x0650
000001d9: JUMPI
000001da: PUSH1 0x00
000001dc: DUP1
000001dd: REVERT
000001de: JUMPDEST
000001df: DUP1
000001e0: PUSH4 0x36568abe
000001e5: GT
000001e6: PUSH2 0x02b8
000001e9: JUMPI
000001ea: DUP1
000001eb: PUSH4 0x52cf2a6b
000001f0: GT
000001f1: PUSH2 0x0256
000001f4: JUMPI
000001f5: DUP1
000001f6: PUSH4 0x63d1fac0
000001fb: GT
000001fc: PUSH2 0x0230
000001ff: JUMPI
00000200: DUP1
00000201: PUSH4 0x63d1fac0
00000206: EQ
00000207: PUSH2 0x05fc
0000020a: JUMPI
0000020b: DUP1
0000020c: PUSH4 0x6922d7b6
00000211: EQ
00000212: PUSH2 0x0605
00000215: JUMPI
00000216: DUP1
00000217: PUSH4 0x6ab28bc8
0000021c: EQ
0000021d: PUSH2 0x0618
00000220: JUMPI
00000221: DUP1
00000222: PUSH4 0x70a08231
00000227: EQ
00000228: PUSH2 0x0621
0000022b: JUMPI
0000022c: PUSH1 0x00
0000022e: DUP1
0000022f: REVERT
00000230: JUMPDEST
00000231: DUP1
00000232: PUSH4 0x52cf2a6b
00000237: EQ
00000238: PUSH2 0x05c3
0000023b: JUMPI
0000023c: DUP1
0000023d: PUSH4 0x6198e339
00000242: EQ
00000243: PUSH2 0x05d6
00000246: JUMPI
00000247: DUP1
00000248: PUSH4 0x6352211e
0000024d: EQ
0000024e: PUSH2 0x05e9
00000251: JUMPI
00000252: PUSH1 0x00
00000254: DUP1
00000255: REVERT
00000256: JUMPDEST
00000257: DUP1
00000258: PUSH4 0x409e2205
0000025d: GT
0000025e: PUSH2 0x0292
00000261: JUMPI
00000262: DUP1
00000263: PUSH4 0x409e2205
00000268: EQ
00000269: PUSH2 0x0535
0000026c: JUMPI
0000026d: DUP1
0000026e: PUSH4 0x42842e0e
00000273: EQ
00000274: PUSH2 0x0597
00000277: JUMPI
00000278: DUP1
00000279: PUSH4 0x49a1bd31
0000027e: EQ
0000027f: PUSH2 0x05aa
00000282: JUMPI
00000283: DUP1
00000284: PUSH4 0x4dbac733
00000289: EQ
0000028a: PUSH2 0x05b3
0000028d: JUMPI
0000028e: PUSH1 0x00
00000290: DUP1
00000291: REVERT
00000292: JUMPDEST
00000293: DUP1
00000294: PUSH4 0x36568abe
00000299: EQ
0000029a: PUSH2 0x04f2
0000029d: JUMPI
0000029e: DUP1
0000029f: PUSH4 0x36bcbee6
000002a4: EQ
000002a5: PUSH2 0x0505
000002a8: JUMPI
000002a9: DUP1
000002aa: PUSH4 0x399735bf
000002af: EQ
000002b0: PUSH2 0x050e
000002b3: JUMPI
000002b4: PUSH1 0x00
000002b6: DUP1
000002b7: REVERT
000002b8: JUMPDEST
000002b9: DUP1
000002ba: PUSH4 0x23b872dd
000002bf: GT
000002c0: PUSH2 0x0325
000002c3: JUMPI
000002c4: DUP1
000002c5: PUSH4 0x2e1a7d4d
000002ca: GT
000002cb: PUSH2 0x02ff
000002ce: JUMPI
000002cf: DUP1
000002d0: PUSH4 0x2e1a7d4d
000002d5: EQ
000002d6: PUSH2 0x04a6
000002d9: JUMPI
000002da: DUP1
000002db: PUSH4 0x2f2ff15d
000002e0: EQ
000002e1: PUSH2 0x04b9
000002e4: JUMPI
000002e5: DUP1
000002e6: PUSH4 0x330fd6d3
000002eb: EQ
000002ec: PUSH2 0x04cc
000002ef: JUMPI
000002f0: DUP1
000002f1: PUSH4 0x331a4060
000002f6: EQ
000002f7: PUSH2 0x04df
000002fa: JUMPI
000002fb: PUSH1 0x00
000002fd: DUP1
000002fe: REVERT
000002ff: JUMPDEST
00000300: DUP1
00000301: PUSH4 0x23b872dd
00000306: EQ
00000307: PUSH2 0x044c
0000030a: JUMPI
0000030b: DUP1
0000030c: PUSH4 0x248a9ca3
00000311: EQ
00000312: PUSH2 0x045f
00000315: JUMPI
00000316: DUP1
00000317: PUSH4 0x26c25962
0000031c: EQ
0000031d: PUSH2 0x0482
00000320: JUMPI
00000321: PUSH1 0x00
00000323: DUP1
00000324: REVERT
00000325: JUMPDEST
00000326: DUP1
00000327: PUSH4 0x095ea7b3
0000032c: GT
0000032d: PUSH2 0x0361
00000330: JUMPI
00000331: DUP1
00000332: PUSH4 0x095ea7b3
00000337: EQ
00000338: PUSH2 0x03f0
0000033b: JUMPI
0000033c: DUP1
0000033d: PUSH4 0x0af3f226
00000342: EQ
00000343: PUSH2 0x0405
00000346: JUMPI
00000347: DUP1
00000348: PUSH4 0x11b56020
0000034d: EQ
0000034e: PUSH2 0x0426
00000351: JUMPI
00000352: DUP1
00000353: PUSH4 0x181731dc
00000358: EQ
00000359: PUSH2 0x0439
0000035c: JUMPI
0000035d: PUSH1 0x00
0000035f: DUP1
00000360: REVERT
00000361: JUMPDEST
00000362: DUP1
00000363: PUSH4 0x01ffc9a7
00000368: EQ
00000369: PUSH2 0x0388
0000036c: JUMPI
0000036d: DUP1
0000036e: PUSH4 0x06fdde03
00000373: EQ
00000374: PUSH2 0x03b0
00000377: JUMPI
00000378: DUP1
00000379: PUSH4 0x081812fc
0000037e: EQ
0000037f: PUSH2 0x03c5
00000382: JUMPI
00000383: JUMPDEST
00000384: PUSH1 0x00
00000386: DUP1
00000387: REVERT
00000388: JUMPDEST
00000389: PUSH2 0x039b
0000038c: PUSH2 0x0396
0000038f: CALLDATASIZE
00000390: PUSH1 0x04
00000392: PUSH2 0x36dc
00000395: JUMP
00000396: JUMPDEST
00000397: PUSH2 0x0831
0000039a: JUMP
0000039b: JUMPDEST
0000039c: PUSH1 0x40
0000039e: MLOAD
0000039f: SWAP1
000003a0: ISZERO
000003a1: ISZERO
000003a2: DUP2
000003a3: MSTORE
000003a4: PUSH1 0x20
000003a6: ADD
000003a7: JUMPDEST
000003a8: PUSH1 0x40
000003aa: MLOAD
000003ab: DUP1
000003ac: SWAP2
000003ad: SUB
000003ae: SWAP1
000003af: RETURN
000003b0: JUMPDEST
000003b1: PUSH2 0x03b8
000003b4: PUSH2 0x086b
000003b7: JUMP
000003b8: JUMPDEST
000003b9: PUSH1 0x40
000003bb: MLOAD
000003bc: PUSH2 0x03a7
000003bf: SWAP2
000003c0: SWAP1
000003c1: PUSH2 0x3993
000003c4: JUMP
000003c5: JUMPDEST
000003c6: PUSH2 0x03d8
000003c9: PUSH2 0x03d3
000003cc: CALLDATASIZE
000003cd: PUSH1 0x04
000003cf: PUSH2 0x369e
000003d2: JUMP
000003d3: JUMPDEST
000003d4: PUSH2 0x08fd
000003d7: JUMP
000003d8: JUMPDEST
000003d9: PUSH1 0x40
000003db: MLOAD
000003dc: PUSH1 0x01
000003de: PUSH1 0x01
000003e0: PUSH1 0xa0
000003e2: SHL
000003e3: SUB
000003e4: SWAP1
000003e5: SWAP2
000003e6: AND
000003e7: DUP2
000003e8: MSTORE
000003e9: PUSH1 0x20
000003eb: ADD
000003ec: PUSH2 0x03a7
000003ef: JUMP
000003f0: JUMPDEST
000003f1: PUSH2 0x0403
000003f4: PUSH2 0x03fe
000003f7: CALLDATASIZE
000003f8: PUSH1 0x04
000003fa: PUSH2 0x35d2
000003fd: JUMP
000003fe: JUMPDEST
000003ff: PUSH2 0x0997
00000402: JUMP
00000403: JUMPDEST
00000404: STOP
00000405: JUMPDEST
00000406: PUSH2 0x0418
00000409: PUSH2 0x0413
0000040c: CALLDATASIZE
0000040d: PUSH1 0x04
0000040f: PUSH2 0x369e
00000412: JUMP
00000413: JUMPDEST
00000414: PUSH2 0x0aad
00000417: JUMP
00000418: JUMPDEST
00000419: PUSH1 0x40
0000041b: MLOAD
0000041c: SWAP1
0000041d: DUP2
0000041e: MSTORE
0000041f: PUSH1 0x20
00000421: ADD
00000422: PUSH2 0x03a7
00000425: JUMP
00000426: JUMPDEST
00000427: PUSH2 0x0403
0000042a: PUSH2 0x0434
0000042d: CALLDATASIZE
0000042e: PUSH1 0x04
00000430: PUSH2 0x372f
00000433: JUMP
00000434: JUMPDEST
00000435: PUSH2 0x0b3f
00000438: JUMP
00000439: JUMPDEST
0000043a: PUSH1 0x15
0000043c: SLOAD
0000043d: PUSH2 0x03d8
00000440: SWAP1
00000441: PUSH1 0x01
00000443: PUSH1 0x01
00000445: PUSH1 0xa0
00000447: SHL
00000448: SUB
00000449: AND
0000044a: DUP2
0000044b: JUMP
0000044c: JUMPDEST
0000044d: PUSH2 0x0403
00000450: PUSH2 0x045a
00000453: CALLDATASIZE
00000454: PUSH1 0x04
00000456: PUSH2 0x3483
00000459: JUMP
0000045a: JUMPDEST
0000045b: PUSH2 0x0bdc
0000045e: JUMP
0000045f: JUMPDEST
00000460: PUSH2 0x0418
00000463: PUSH2 0x046d
00000466: CALLDATASIZE
00000467: PUSH1 0x04
00000469: PUSH2 0x369e
0000046c: JUMP
0000046d: JUMPDEST
0000046e: PUSH1 0x00
00000470: SWAP1
00000471: DUP2
00000472: MSTORE
00000473: PUSH1 0x06
00000475: PUSH1 0x20
00000477: MSTORE
00000478: PUSH1 0x40
0000047a: SWAP1
0000047b: KECCAK256
0000047c: PUSH1 0x01
0000047e: ADD
0000047f: SLOAD
00000480: SWAP1
00000481: JUMP
00000482: JUMPDEST
00000483: PUSH2 0x0495
00000486: PUSH2 0x0490
00000489: CALLDATASIZE
0000048a: PUSH1 0x04
0000048c: PUSH2 0x369e
0000048f: JUMP
00000490: JUMPDEST
00000491: PUSH2 0x0c0d
00000494: JUMP
00000495: JUMPDEST
00000496: PUSH1 0x40
00000498: MLOAD
00000499: PUSH2 0x03a7
0000049c: SWAP6
0000049d: SWAP5
0000049e: SWAP4
0000049f: SWAP3
000004a0: SWAP2
000004a1: SWAP1
000004a2: PUSH2 0x395c
000004a5: JUMP
000004a6: JUMPDEST
000004a7: PUSH2 0x0418
000004aa: PUSH2 0x04b4
000004ad: CALLDATASIZE
000004ae: PUSH1 0x04
000004b0: PUSH2 0x369e
000004b3: JUMP
000004b4: JUMPDEST
000004b5: PUSH2 0x0c55
000004b8: JUMP
000004b9: JUMPDEST
000004ba: PUSH2 0x0403
000004bd: PUSH2 0x04c7
000004c0: CALLDATASIZE
000004c1: PUSH1 0x04
000004c3: PUSH2 0x36b7
000004c6: JUMP
000004c7: JUMPDEST
000004c8: PUSH2 0x0dcc
000004cb: JUMP
000004cc: JUMPDEST
000004cd: PUSH2 0x0403
000004d0: PUSH2 0x04da
000004d3: CALLDATASIZE
000004d4: PUSH1 0x04
000004d6: PUSH2 0x372f
000004d9: JUMP
000004da: JUMPDEST
000004db: PUSH2 0x0df2
000004de: JUMP
000004df: JUMPDEST
000004e0: PUSH2 0x0418
000004e3: PUSH2 0x04ed
000004e6: CALLDATASIZE
000004e7: PUSH1 0x04
000004e9: PUSH2 0x3646
000004ec: JUMP
000004ed: JUMPDEST
000004ee: PUSH2 0x0ee6
000004f1: JUMP
000004f2: JUMPDEST
000004f3: PUSH2 0x0403
000004f6: PUSH2 0x0500
000004f9: CALLDATASIZE
000004fa: PUSH1 0x04
000004fc: PUSH2 0x36b7
000004ff: JUMP
00000500: JUMPDEST
00000501: PUSH2 0x1320
00000504: JUMP
00000505: JUMPDEST
00000506: PUSH2 0x0418
00000509: PUSH1 0x09
0000050b: SLOAD
0000050c: DUP2
0000050d: JUMP
0000050e: JUMPDEST
0000050f: PUSH2 0x03d8
00000512: PUSH32 0x0000000000000000000000001ba4b447d0df64da64024e5ec47da94458c1e97f
00000533: DUP2
00000534: JUMP
00000535: JUMPDEST
00000536: PUSH2 0x0584
00000539: PUSH2 0x0543
0000053c: CALLDATASIZE
0000053d: PUSH1 0x04
0000053f: PUSH2 0x369e
00000542: JUMP
00000543: JUMPDEST
00000544: PUSH1 0x18
00000546: PUSH1 0x20
00000548: MSTORE
00000549: PUSH1 0x00
0000054b: SWAP1
0000054c: DUP2
0000054d: MSTORE
0000054e: PUSH1 0x40
00000550: SWAP1
00000551: KECCAK256
00000552: DUP1
00000553: SLOAD
00000554: PUSH1 0x01
00000556: DUP3
00000557: ADD
00000558: SLOAD
00000559: PUSH1 0x02
0000055b: DUP4
0000055c: ADD
0000055d: SLOAD
0000055e: PUSH1 0x03
00000560: DUP5
00000561: ADD
00000562: SLOAD
00000563: PUSH1 0x04
00000565: DUP6
00000566: ADD
00000567: SLOAD
00000568: PUSH1 0x05
0000056a: DUP7
0000056b: ADD
0000056c: SLOAD
0000056d: PUSH1 0x06
0000056f: SWAP1
00000570: SWAP7
00000571: ADD
00000572: SLOAD
00000573: PUSH1 0xff
00000575: SWAP1
00000576: SWAP6
00000577: AND
00000578: SWAP6
00000579: SWAP4
0000057a: SWAP5
0000057b: SWAP3
0000057c: SWAP4
0000057d: SWAP2
0000057e: SWAP3
0000057f: SWAP1
00000580: SWAP2
00000581: SWAP1
00000582: DUP8
00000583: JUMP
00000584: JUMPDEST
00000585: PUSH1 0x40
00000587: MLOAD
00000588: PUSH2 0x03a7
0000058b: SWAP8
0000058c: SWAP7
0000058d: SWAP6
0000058e: SWAP5
0000058f: SWAP4
00000590: SWAP3
00000591: SWAP2
00000592: SWAP1
00000593: PUSH2 0x391a
00000596: JUMP
00000597: JUMPDEST
00000598: PUSH2 0x0403
0000059b: PUSH2 0x05a5
0000059e: CALLDATASIZE
0000059f: PUSH1 0x04
000005a1: PUSH2 0x3483
000005a4: JUMP
000005a5: JUMPDEST
000005a6: PUSH2 0x139e
000005a9: JUMP
000005aa: JUMPDEST
000005ab: PUSH2 0x0418
000005ae: PUSH1 0x0a
000005b0: SLOAD
000005b1: DUP2
000005b2: JUMP
000005b3: JUMPDEST
000005b4: PUSH2 0x0418
000005b7: PUSH9 0x056bc75e2d63100000
000005c1: DUP2
000005c2: JUMP
000005c3: JUMPDEST
000005c4: PUSH2 0x0403
000005c7: PUSH2 0x05d1
000005ca: CALLDATASIZE
000005cb: PUSH1 0x04
000005cd: PUSH2 0x369e
000005d0: JUMP
000005d1: JUMPDEST
000005d2: PUSH2 0x13b9
000005d5: JUMP
000005d6: JUMPDEST
000005d7: PUSH2 0x0403
000005da: PUSH2 0x05e4
000005dd: CALLDATASIZE
000005de: PUSH1 0x04
000005e0: PUSH2 0x369e
000005e3: JUMP
000005e4: JUMPDEST
000005e5: PUSH2 0x1445
000005e8: JUMP
000005e9: JUMPDEST
000005ea: PUSH2 0x03d8
000005ed: PUSH2 0x05f7
000005f0: CALLDATASIZE
000005f1: PUSH1 0x04
000005f3: PUSH2 0x369e
000005f6: JUMP
000005f7: JUMPDEST
000005f8: PUSH2 0x14fc
000005fb: JUMP
000005fc: JUMPDEST
000005fd: PUSH2 0x0418
00000600: PUSH1 0x0b
00000602: SLOAD
00000603: DUP2
00000604: JUMP
00000605: JUMPDEST
00000606: PUSH2 0x0403
00000609: PUSH2 0x0613
0000060c: CALLDATASIZE
0000060d: PUSH1 0x04
0000060f: PUSH2 0x3410
00000612: JUMP
00000613: JUMPDEST
00000614: PUSH2 0x1573
00000617: JUMP
00000618: JUMPDEST
00000619: PUSH2 0x0418
0000061c: PUSH1 0x0e
0000061e: SLOAD
0000061f: DUP2
00000620: JUMP
00000621: JUMPDEST
00000622: PUSH2 0x0418
00000625: PUSH2 0x062f
00000628: CALLDATASIZE
00000629: PUSH1 0x04
0000062b: PUSH2 0x3410
0000062e: JUMP
0000062f: JUMPDEST
00000630: PUSH2 0x15a2
00000633: JUMP
00000634: JUMPDEST
00000635: PUSH2 0x0418
00000638: PUSH1 0x10
0000063a: SLOAD
0000063b: DUP2
0000063c: JUMP
0000063d: JUMPDEST
0000063e: PUSH2 0x0418
00000641: PUSH2 0x064b
00000644: CALLDATASIZE
00000645: PUSH1 0x04
00000647: PUSH2 0x369e
0000064a: JUMP
0000064b: JUMPDEST
0000064c: PUSH2 0x1629
0000064f: JUMP
00000650: JUMPDEST
00000651: PUSH2 0x0418
00000654: PUSH1 0x0f
00000656: SLOAD
00000657: DUP2
00000658: JUMP
00000659: JUMPDEST
0000065a: PUSH2 0x0418
0000065d: PUSH2 0x0667
00000660: CALLDATASIZE
00000661: PUSH1 0x04
00000663: PUSH2 0x35fe
00000666: JUMP
00000667: JUMPDEST
00000668: PUSH2 0x16b5
0000066b: JUMP
0000066c: JUMPDEST
0000066d: PUSH2 0x039b
00000670: PUSH2 0x067a
00000673: CALLDATASIZE
00000674: PUSH1 0x04
00000676: PUSH2 0x36b7
00000679: JUMP
0000067a: JUMPDEST
0000067b: PUSH2 0x1a10
0000067e: JUMP
0000067f: JUMPDEST
00000680: PUSH2 0x03b8
00000683: PUSH2 0x1a3b
00000686: JUMP
00000687: JUMPDEST
00000688: PUSH2 0x0403
0000068b: PUSH2 0x0695
0000068e: CALLDATASIZE
0000068f: PUSH1 0x04
00000691: PUSH2 0x3410
00000694: JUMP
00000695: JUMPDEST
00000696: PUSH2 0x1a4a
00000699: JUMP
0000069a: JUMPDEST
0000069b: PUSH2 0x0418
0000069e: PUSH1 0x14
000006a0: SLOAD
000006a1: DUP2
000006a2: JUMP
000006a3: JUMPDEST
000006a4: PUSH1 0x16
000006a6: SLOAD
000006a7: PUSH2 0x03d8
000006aa: SWAP1
000006ab: PUSH1 0x01
000006ad: PUSH1 0x01
000006af: PUSH1 0xa0
000006b1: SHL
000006b2: SUB
000006b3: AND
000006b4: DUP2
000006b5: JUMP
000006b6: JUMPDEST
000006b7: PUSH2 0x0418
000006ba: PUSH1 0x00
000006bc: DUP2
000006bd: JUMP
000006be: JUMPDEST
000006bf: PUSH2 0x0403
000006c2: PUSH2 0x06cc
000006c5: CALLDATASIZE
000006c6: PUSH1 0x04
000006c8: PUSH2 0x35a4
000006cb: JUMP
000006cc: JUMPDEST
000006cd: PUSH2 0x1a8c
000006d0: JUMP
000006d1: JUMPDEST
000006d2: PUSH1 0x08
000006d4: SLOAD
000006d5: PUSH2 0x03d8
000006d8: SWAP1
000006d9: PUSH1 0x01
000006db: PUSH1 0x01
000006dd: PUSH1 0xa0
000006df: SHL
000006e0: SUB
000006e1: AND
000006e2: DUP2
000006e3: JUMP
000006e4: JUMPDEST
000006e5: PUSH2 0x0418
000006e8: PUSH2 0x1b51
000006eb: JUMP
000006ec: JUMPDEST
000006ed: PUSH2 0x0418
000006f0: PUSH2 0x1b6d
000006f3: JUMP
000006f4: JUMPDEST
000006f5: PUSH2 0x0403
000006f8: PUSH2 0x0702
000006fb: CALLDATASIZE
000006fc: PUSH1 0x04
000006fe: PUSH2 0x369e
00000701: JUMP
00000702: JUMPDEST
00000703: PUSH2 0x1b7f
00000706: JUMP
00000707: JUMPDEST
00000708: PUSH2 0x0403
0000070b: PUSH2 0x0715
0000070e: CALLDATASIZE
0000070f: PUSH1 0x04
00000711: PUSH2 0x3410
00000714: JUMP
00000715: JUMPDEST
00000716: PUSH2 0x1e9f
00000719: JUMP
0000071a: JUMPDEST
0000071b: PUSH2 0x03d8
0000071e: PUSH32 0x0000000000000000000000005f4ec3df9cbd43714fe2740f5e3616155c5b8419
0000073f: DUP2
00000740: JUMP
00000741: JUMPDEST
00000742: PUSH2 0x0403
00000745: PUSH2 0x074f
00000748: CALLDATASIZE
00000749: PUSH1 0x04
0000074b: PUSH2 0x34c4
0000074e: JUMP
0000074f: JUMPDEST
00000750: PUSH2 0x1ee1
00000753: JUMP
00000754: JUMPDEST
00000755: PUSH2 0x03b8
00000758: PUSH2 0x0762
0000075b: CALLDATASIZE
0000075c: PUSH1 0x04
0000075e: PUSH2 0x369e
00000761: JUMP
00000762: JUMPDEST
00000763: PUSH2 0x1f19
00000766: JUMP
00000767: JUMPDEST
00000768: PUSH2 0x0418
0000076b: PUSH1 0x11
0000076d: SLOAD
0000076e: DUP2
0000076f: JUMP
00000770: JUMPDEST
00000771: PUSH2 0x0418
00000774: PUSH1 0x12
00000776: SLOAD
00000777: DUP2
00000778: JUMP
00000779: JUMPDEST
0000077a: PUSH2 0x078c
0000077d: PUSH2 0x0787
00000780: CALLDATASIZE
00000781: PUSH1 0x04
00000783: PUSH2 0x3775
00000786: JUMP
00000787: JUMPDEST
00000788: PUSH2 0x2001
0000078b: JUMP
0000078c: JUMPDEST
0000078d: PUSH1 0x40
0000078f: DUP1
00000790: MLOAD
00000791: SWAP3
00000792: DUP4
00000793: MSTORE
00000794: PUSH1 0x20
00000796: DUP4
00000797: ADD
00000798: SWAP2
00000799: SWAP1
0000079a: SWAP2
0000079b: MSTORE
0000079c: ADD
0000079d: PUSH2 0x03a7
000007a0: JUMP
000007a1: JUMPDEST
000007a2: PUSH2 0x0403
000007a5: PUSH2 0x07af
000007a8: CALLDATASIZE
000007a9: PUSH1 0x04
000007ab: PUSH2 0x36b7
000007ae: JUMP
000007af: JUMPDEST
000007b0: PUSH2 0x201c
000007b3: JUMP
000007b4: JUMPDEST
000007b5: PUSH2 0x0418
000007b8: PUSH1 0x0d
000007ba: SLOAD
000007bb: DUP2
000007bc: JUMP
000007bd: JUMPDEST
000007be: PUSH2 0x0418
000007c1: PUSH1 0x0c
000007c3: SLOAD
000007c4: DUP2
000007c5: JUMP
000007c6: JUMPDEST
000007c7: PUSH2 0x0403
000007ca: PUSH2 0x07d4
000007cd: CALLDATASIZE
000007ce: PUSH1 0x04
000007d0: PUSH2 0x369e
000007d3: JUMP
000007d4: JUMPDEST
000007d5: PUSH2 0x2042
000007d8: JUMP
000007d9: JUMPDEST
000007da: PUSH2 0x039b
000007dd: PUSH2 0x07e7
000007e0: CALLDATASIZE
000007e1: PUSH1 0x04
000007e3: PUSH2 0x344a
000007e6: JUMP
000007e7: JUMPDEST
000007e8: PUSH1 0x01
000007ea: PUSH1 0x01
000007ec: PUSH1 0xa0
000007ee: SHL
000007ef: SUB
000007f0: SWAP2
000007f1: DUP3
000007f2: AND
000007f3: PUSH1 0x00
000007f5: SWAP1
000007f6: DUP2
000007f7: MSTORE
000007f8: PUSH1 0x05
000007fa: PUSH1 0x20
000007fc: SWAP1
000007fd: DUP2
000007fe: MSTORE
000007ff: PUSH1 0x40
00000801: DUP1
00000802: DUP4
00000803: KECCAK256
00000804: SWAP4
00000805: SWAP1
00000806: SWAP5
00000807: AND
00000808: DUP3
00000809: MSTORE
0000080a: SWAP2
0000080b: SWAP1
0000080c: SWAP2
0000080d: MSTORE
0000080e: KECCAK256
0000080f: SLOAD
00000810: PUSH1 0xff
00000812: AND
00000813: SWAP1
00000814: JUMP
00000815: JUMPDEST
00000816: PUSH1 0x19
00000818: SLOAD
00000819: PUSH2 0x03d8
0000081c: SWAP1
0000081d: PUSH1 0x01
0000081f: PUSH1 0x01
00000821: PUSH1 0xa0
00000823: SHL
00000824: SUB
00000825: AND
00000826: DUP2
00000827: JUMP
00000828: JUMPDEST
00000829: PUSH2 0x0418
0000082c: PUSH1 0x13
0000082e: SLOAD
0000082f: DUP2
00000830: JUMP
00000831: JUMPDEST
00000832: PUSH1 0x00
00000834: PUSH1 0x01
00000836: PUSH1 0x01
00000838: PUSH1 0xe0
0000083a: SHL
0000083b: SUB
0000083c: NOT
0000083d: DUP3
0000083e: AND
0000083f: PUSH4 0x131c0b09
00000844: PUSH1 0xe2
00000846: SHL
00000847: EQ
00000848: DUP1
00000849: PUSH2 0x0856
0000084c: JUMPI
0000084d: POP
0000084e: PUSH2 0x0856
00000851: DUP3
00000852: PUSH2 0x20ca
00000855: JUMP
00000856: JUMPDEST
00000857: DUP1
00000858: PUSH2 0x0865
0000085b: JUMPI
0000085c: POP
0000085d: PUSH2 0x0865
00000860: DUP3
00000861: PUSH2 0x20eb
00000864: JUMP
00000865: JUMPDEST
00000866: SWAP3
00000867: SWAP2
00000868: POP
00000869: POP
0000086a: JUMP
0000086b: JUMPDEST
0000086c: PUSH1 0x60
0000086e: PUSH1 0x00
00000870: DUP1
00000871: SLOAD
00000872: PUSH2 0x087a
00000875: SWAP1
00000876: PUSH2 0x3b25
00000879: JUMP
0000087a: JUMPDEST
0000087b: DUP1
0000087c: PUSH1 0x1f
0000087e: ADD
0000087f: PUSH1 0x20
00000881: DUP1
00000882: SWAP2
00000883: DIV
00000884: MUL
00000885: PUSH1 0x20
00000887: ADD
00000888: PUSH1 0x40
0000088a: MLOAD
0000088b: SWAP1
0000088c: DUP2
0000088d: ADD
0000088e: PUSH1 0x40
00000890: MSTORE
00000891: DUP1
00000892: SWAP3
00000893: SWAP2
00000894: SWAP1
00000895: DUP2
00000896: DUP2
00000897: MSTORE
00000898: PUSH1 0x20
0000089a: ADD
0000089b: DUP3
0000089c: DUP1
0000089d: SLOAD
0000089e: PUSH2 0x08a6
000008a1: SWAP1
000008a2: PUSH2 0x3b25
000008a5: JUMP
000008a6: JUMPDEST
000008a7: DUP1
000008a8: ISZERO
000008a9: PUSH2 0x08f3
000008ac: JUMPI
000008ad: DUP1
000008ae: PUSH1 0x1f
000008b0: LT
000008b1: PUSH2 0x08c8
000008b4: JUMPI
000008b5: PUSH2 0x0100
000008b8: DUP1
000008b9: DUP4
000008ba: SLOAD
000008bb: DIV
000008bc: MUL
000008bd: DUP4
000008be: MSTORE
000008bf: SWAP2
000008c0: PUSH1 0x20
000008c2: ADD
000008c3: SWAP2
000008c4: PUSH2 0x08f3
000008c7: JUMP
000008c8: JUMPDEST
000008c9: DUP3
000008ca: ADD
000008cb: SWAP2
000008cc: SWAP1
000008cd: PUSH1 0x00
000008cf: MSTORE
000008d0: PUSH1 0x20
000008d2: PUSH1 0x00
000008d4: KECCAK256
000008d5: SWAP1
000008d6: JUMPDEST
000008d7: DUP2
000008d8: SLOAD
000008d9: DUP2
000008da: MSTORE
000008db: SWAP1
000008dc: PUSH1 0x01
000008de: ADD
000008df: SWAP1
000008e0: PUSH1 0x20
000008e2: ADD
000008e3: DUP1
000008e4: DUP4
000008e5: GT
000008e6: PUSH2 0x08d6
000008e9: JUMPI
000008ea: DUP3
000008eb: SWAP1
000008ec: SUB
000008ed: PUSH1 0x1f
000008ef: AND
000008f0: DUP3
000008f1: ADD
000008f2: SWAP2
000008f3: JUMPDEST
000008f4: POP
000008f5: POP
000008f6: POP
000008f7: POP
000008f8: POP
000008f9: SWAP1
000008fa: POP
000008fb: SWAP1
000008fc: JUMP
000008fd: JUMPDEST
000008fe: PUSH1 0x00
00000900: DUP2
00000901: DUP2
00000902: MSTORE
00000903: PUSH1 0x02
00000905: PUSH1 0x20
00000907: MSTORE
00000908: PUSH1 0x40
0000090a: DUP2
0000090b: KECCAK256
0000090c: SLOAD
0000090d: PUSH1 0x01
0000090f: PUSH1 0x01
00000911: PUSH1 0xa0
00000913: SHL
00000914: SUB
00000915: AND
00000916: PUSH2 0x097b
00000919: JUMPI
0000091a: PUSH1 0x40
0000091c: MLOAD
0000091d: PUSH3 0x461bcd
00000921: PUSH1 0xe5
00000923: SHL
00000924: DUP2
00000925: MSTORE
00000926: PUSH1 0x20
00000928: PUSH1 0x04
0000092a: DUP3
0000092b: ADD
0000092c: MSTORE
0000092d: PUSH1 0x2c
0000092f: PUSH1 0x24
00000931: DUP3
00000932: ADD
00000933: MSTORE
00000934: PUSH32 0x4552433732313a20617070726f76656420717565727920666f72206e6f6e6578
00000955: PUSH1 0x44
00000957: DUP3
00000958: ADD
00000959: MSTORE
0000095a: PUSH12 0x34b9ba32b73a103a37b5b2b7
00000967: PUSH1 0xa1
00000969: SHL
0000096a: PUSH1 0x64
0000096c: DUP3
0000096d: ADD
0000096e: MSTORE
0000096f: PUSH1 0x84
00000971: ADD
00000972: JUMPDEST
00000973: PUSH1 0x40
00000975: MLOAD
00000976: DUP1
00000977: SWAP2
00000978: SUB
00000979: SWAP1
0000097a: REVERT
0000097b: JUMPDEST
0000097c: POP
0000097d: PUSH1 0x00
0000097f: SWAP1
00000980: DUP2
00000981: MSTORE
00000982: PUSH1 0x04
00000984: PUSH1 0x20
00000986: MSTORE
00000987: PUSH1 0x40
00000989: SWAP1
0000098a: KECCAK256
0000098b: SLOAD
0000098c: PUSH1 0x01
0000098e: PUSH1 0x01
00000990: PUSH1 0xa0
00000992: SHL
00000993: SUB
00000994: AND
00000995: SWAP1
00000996: JUMP
00000997: JUMPDEST
00000998: PUSH1 0x00
0000099a: PUSH2 0x09a2
0000099d: DUP3
0000099e: PUSH2 0x14fc
000009a1: JUMP
000009a2: JUMPDEST
000009a3: SWAP1
000009a4: POP
000009a5: DUP1
000009a6: PUSH1 0x01
000009a8: PUSH1 0x01
000009aa: PUSH1 0xa0
000009ac: SHL
000009ad: SUB
000009ae: AND
000009af: DUP4
000009b0: PUSH1 0x01
000009b2: PUSH1 0x01
000009b4: PUSH1 0xa0
000009b6: SHL
000009b7: SUB
000009b8: AND
000009b9: EQ
000009ba: ISZERO
000009bb: PUSH2 0x0a10
000009be: JUMPI
000009bf: PUSH1 0x40
000009c1: MLOAD
000009c2: PUSH3 0x461bcd
000009c6: PUSH1 0xe5
000009c8: SHL
000009c9: DUP2
000009ca: MSTORE
000009cb: PUSH1 0x20
000009cd: PUSH1 0x04
000009cf: DUP3
000009d0: ADD
000009d1: MSTORE
000009d2: PUSH1 0x21
000009d4: PUSH1 0x24
000009d6: DUP3
000009d7: ADD
000009d8: MSTORE
000009d9: PUSH32 0x4552433732313a20617070726f76616c20746f2063757272656e74206f776e65
000009fa: PUSH1 0x44
000009fc: DUP3
000009fd: ADD
000009fe: MSTORE
000009ff: PUSH1 0x39
00000a01: PUSH1 0xf9
00000a03: SHL
00000a04: PUSH1 0x64
00000a06: DUP3
00000a07: ADD
00000a08: MSTORE
00000a09: PUSH1 0x84
00000a0b: ADD
00000a0c: PUSH2 0x0972
00000a0f: JUMP
00000a10: JUMPDEST
00000a11: CALLER
00000a12: PUSH1 0x01
00000a14: PUSH1 0x01
00000a16: PUSH1 0xa0
00000a18: SHL
00000a19: SUB
00000a1a: DUP3
00000a1b: AND
00000a1c: EQ
00000a1d: DUP1
00000a1e: PUSH2 0x0a2c
00000a21: JUMPI
00000a22: POP
00000a23: PUSH2 0x0a2c
00000a26: DUP2
00000a27: CALLER
00000a28: PUSH2 0x07e7
00000a2b: JUMP
00000a2c: JUMPDEST
00000a2d: PUSH2 0x0a9e
00000a30: JUMPI
00000a31: PUSH1 0x40
00000a33: MLOAD
00000a34: PUSH3 0x461bcd
00000a38: PUSH1 0xe5
00000a3a: SHL
00000a3b: DUP2
00000a3c: MSTORE
00000a3d: PUSH1 0x20
00000a3f: PUSH1 0x04
00000a41: DUP3
00000a42: ADD
00000a43: MSTORE
00000a44: PUSH1 0x38
00000a46: PUSH1 0x24
00000a48: DUP3
00000a49: ADD
00000a4a: MSTORE
00000a4b: PUSH32 0x4552433732313a20617070726f76652063616c6c6572206973206e6f74206f77
00000a6c: PUSH1 0x44
00000a6e: DUP3
00000a6f: ADD
00000a70: MSTORE
00000a71: PUSH32 0x6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000
00000a92: PUSH1 0x64
00000a94: DUP3
00000a95: ADD
00000a96: MSTORE
00000a97: PUSH1 0x84
00000a99: ADD
00000a9a: PUSH2 0x0972
00000a9d: JUMP
00000a9e: JUMPDEST
00000a9f: PUSH2 0x0aa8
00000aa2: DUP4
00000aa3: DUP4
00000aa4: PUSH2 0x213b
00000aa7: JUMP
00000aa8: JUMPDEST
00000aa9: POP
00000aaa: POP
00000aab: POP
00000aac: JUMP
00000aad: JUMPDEST
00000aae: PUSH1 0x00
00000ab0: PUSH1 0x02
00000ab2: PUSH1 0x07
00000ab4: SLOAD
00000ab5: EQ
00000ab6: ISZERO
00000ab7: PUSH2 0x0ad2
00000aba: JUMPI
00000abb: PUSH1 0x40
00000abd: MLOAD
00000abe: PUSH3 0x461bcd
00000ac2: PUSH1 0xe5
00000ac4: SHL
00000ac5: DUP2
00000ac6: MSTORE
00000ac7: PUSH1 0x04
00000ac9: ADD
00000aca: PUSH2 0x0972
00000acd: SWAP1
00000ace: PUSH2 0x3a49
00000ad1: JUMP
00000ad2: JUMPDEST
00000ad3: PUSH1 0x02
00000ad5: PUSH1 0x07
00000ad7: SSTORE
00000ad8: PUSH1 0x00
00000ada: PUSH2 0x0ae2
00000add: DUP4
00000ade: PUSH2 0x14fc
00000ae1: JUMP
00000ae2: JUMPDEST
00000ae3: SWAP1
00000ae4: POP
00000ae5: PUSH2 0x0aee
00000ae8: DUP2
00000ae9: DUP5
00000aea: PUSH2 0x21a9
00000aed: JUMP
00000aee: JUMPDEST
00000aef: SWAP2
00000af0: POP
00000af1: DUP3
00000af2: DUP2
00000af3: PUSH1 0x01
00000af5: PUSH1 0x01
00000af7: PUSH1 0xa0
00000af9: SHL
00000afa: SUB
00000afb: AND
00000afc: PUSH32 0x92ccf450a286a957af52509bc1c9939d1a6a481783e142e41e2499f0bb66ebc6
00000b1d: DUP5
00000b1e: PUSH1 0x40
00000b20: MLOAD
00000b21: PUSH2 0x0b2c
00000b24: SWAP2
00000b25: DUP2
00000b26: MSTORE
00000b27: PUSH1 0x20
00000b29: ADD
00000b2a: SWAP1
00000b2b: JUMP
00000b2c: JUMPDEST
00000b2d: PUSH1 0x40
00000b2f: MLOAD
00000b30: DUP1
00000b31: SWAP2
00000b32: SUB
00000b33: SWAP1
00000b34: LOG3
00000b35: POP
00000b36: PUSH1 0x01
00000b38: PUSH1 0x07
00000b3a: SSTORE
00000b3b: SWAP2
00000b3c: SWAP1
00000b3d: POP
00000b3e: JUMP
00000b3f: JUMPDEST
00000b40: PUSH1 0x00
00000b42: PUSH2 0x0b4b
00000b45: DUP2
00000b46: CALLER
00000b47: PUSH2 0x2377
00000b4a: JUMP
00000b4b: JUMPDEST
00000b4c: DUP2
00000b4d: DUP4
00000b4e: LT
00000b4f: ISZERO
00000b50: PUSH2 0x0bd0
00000b53: JUMPI
00000b54: PUSH1 0x40
00000b56: MLOAD
00000b57: PUSH3 0x461bcd
00000b5b: PUSH1 0xe5
00000b5d: SHL
00000b5e: DUP2
00000b5f: MSTORE
00000b60: PUSH1 0x20
00000b62: PUSH1 0x04
00000b64: DUP3
00000b65: ADD
00000b66: MSTORE
00000b67: PUSH1 0x46
00000b69: PUSH1 0x24
00000b6b: DUP3
00000b6c: ADD
00000b6d: MSTORE
00000b6e: PUSH32 0x506f6f6c204572726f723a2054686520746f74616c20616d6f756e742073686f
00000b8f: PUSH1 0x44
00000b91: DUP3
00000b92: ADD
00000b93: MSTORE
00000b94: PUSH32 0x756c646e2774206265206c6f776572207468616e207468652068656467656420
00000bb5: PUSH1 0x64
00000bb7: DUP3
00000bb8: ADD
00000bb9: MSTORE
00000bba: PUSH6 0x185b5bdd5b9d
00000bc1: PUSH1 0xd2
00000bc3: SHL
00000bc4: PUSH1 0x84
00000bc6: DUP3
00000bc7: ADD
00000bc8: MSTORE
00000bc9: PUSH1 0xa4
00000bcb: ADD
00000bcc: PUSH2 0x0972
00000bcf: JUMP
00000bd0: JUMPDEST
00000bd1: POP
00000bd2: PUSH1 0x0f
00000bd4: SWAP2
00000bd5: SWAP1
00000bd6: SWAP2
00000bd7: SSTORE
00000bd8: PUSH1 0x10
00000bda: SSTORE
00000bdb: JUMP
00000bdc: JUMPDEST
00000bdd: PUSH2 0x0be6
00000be0: CALLER
00000be1: DUP3
00000be2: PUSH2 0x23db
00000be5: JUMP
00000be6: JUMPDEST
00000be7: PUSH2 0x0c02
00000bea: JUMPI
00000beb: PUSH1 0x40
00000bed: MLOAD
00000bee: PUSH3 0x461bcd
00000bf2: PUSH1 0xe5
00000bf4: SHL
00000bf5: DUP2
00000bf6: MSTORE
00000bf7: PUSH1 0x04
00000bf9: ADD
00000bfa: PUSH2 0x0972
00000bfd: SWAP1
00000bfe: PUSH2 0x39f8
00000c01: JUMP
00000c02: JUMPDEST
00000c03: PUSH2 0x0aa8
00000c06: DUP4
00000c07: DUP4
00000c08: DUP4
00000c09: PUSH2 0x24d2
00000c0c: JUMP
00000c0d: JUMPDEST
00000c0e: PUSH1 0x17
00000c10: DUP2
00000c11: DUP2
00000c12: SLOAD
00000c13: DUP2
00000c14: LT
00000c15: PUSH2 0x0c1d
00000c18: JUMPI
00000c19: PUSH1 0x00
00000c1b: DUP1
00000c1c: REVERT
00000c1d: JUMPDEST
00000c1e: PUSH1 0x00
00000c20: SWAP2
00000c21: DUP3
00000c22: MSTORE
00000c23: PUSH1 0x20
00000c25: SWAP1
00000c26: SWAP2
00000c27: KECCAK256
00000c28: PUSH1 0x05
00000c2a: SWAP1
00000c2b: SWAP2
00000c2c: MUL
00000c2d: ADD
00000c2e: DUP1
00000c2f: SLOAD
00000c30: PUSH1 0x01
00000c32: DUP3
00000c33: ADD
00000c34: SLOAD
00000c35: PUSH1 0x02
00000c37: DUP4
00000c38: ADD
00000c39: SLOAD
00000c3a: PUSH1 0x03
00000c3c: DUP5
00000c3d: ADD
00000c3e: SLOAD
00000c3f: PUSH1 0x04
00000c41: SWAP1
00000c42: SWAP5
00000c43: ADD
00000c44: SLOAD
00000c45: PUSH1 0xff
00000c47: SWAP4
00000c48: DUP5
00000c49: AND
00000c4a: SWAP6
00000c4b: POP
00000c4c: SWAP2
00000c4d: SWAP4
00000c4e: SWAP1
00000c4f: SWAP3
00000c50: SWAP1
00000c51: SWAP2
00000c52: AND
00000c53: DUP6
00000c54: JUMP
00000c55: JUMPDEST
00000c56: PUSH1 0x00
00000c58: PUSH1 0x02
00000c5a: PUSH1 0x07
00000c5c: SLOAD
00000c5d: EQ
00000c5e: ISZERO
00000c5f: PUSH2 0x0c7a
00000c62: JUMPI
00000c63: PUSH1 0x40
00000c65: MLOAD
00000c66: PUSH3 0x461bcd
00000c6a: PUSH1 0xe5
00000c6c: SHL
00000c6d: DUP2
00000c6e: MSTORE
00000c6f: PUSH1 0x04
00000c71: ADD
00000c72: PUSH2 0x0972
00000c75: SWAP1
00000c76: PUSH2 0x3a49
00000c79: JUMP
00000c7a: JUMPDEST
00000c7b: PUSH1 0x02
00000c7d: PUSH1 0x07
00000c7f: SSTORE
00000c80: PUSH1 0x00
00000c82: PUSH2 0x0c8a
00000c85: DUP4
00000c86: PUSH2 0x14fc
00000c89: JUMP
00000c8a: JUMPDEST
00000c8b: SWAP1
00000c8c: POP
00000c8d: PUSH1 0x00
00000c8f: PUSH1 0x17
00000c91: DUP5
00000c92: DUP2
00000c93: SLOAD
00000c94: DUP2
00000c95: LT
00000c96: PUSH2 0x0ca1
00000c99: JUMPI
00000c9a: PUSH2 0x0ca1
00000c9d: PUSH2 0x3bd1
00000ca0: JUMP
00000ca1: JUMPDEST
00000ca2: PUSH1 0x00
00000ca4: SWAP2
00000ca5: DUP3
00000ca6: MSTORE
00000ca7: PUSH1 0x20
00000ca9: SWAP1
00000caa: SWAP2
00000cab: KECCAK256
00000cac: PUSH1 0x40
00000cae: DUP1
00000caf: MLOAD
00000cb0: PUSH1 0xa0
00000cb2: DUP2
00000cb3: ADD
00000cb4: SWAP1
00000cb5: SWAP2
00000cb6: MSTORE
00000cb7: PUSH1 0x05
00000cb9: SWAP1
00000cba: SWAP3
00000cbb: MUL
00000cbc: ADD
00000cbd: DUP1
00000cbe: SLOAD
00000cbf: DUP3
00000cc0: SWAP1
00000cc1: PUSH1 0xff
00000cc3: AND
00000cc4: PUSH1 0x02
00000cc6: DUP2
00000cc7: GT
00000cc8: ISZERO
00000cc9: PUSH2 0x0cd4
00000ccc: JUMPI
00000ccd: PUSH2 0x0cd4
00000cd0: PUSH2 0x3bbb
00000cd3: JUMP
00000cd4: JUMPDEST
00000cd5: PUSH1 0x02
00000cd7: DUP2
00000cd8: GT
00000cd9: ISZERO
00000cda: PUSH2 0x0ce5
00000cdd: JUMPI
00000cde: PUSH2 0x0ce5
00000ce1: PUSH2 0x3bbb
00000ce4: JUMP
00000ce5: JUMPDEST
00000ce6: DUP2
00000ce7: MSTORE
00000ce8: PUSH1 0x01
00000cea: DUP3
00000ceb: ADD
00000cec: SLOAD
00000ced: PUSH1 0x20
00000cef: DUP3
00000cf0: ADD
00000cf1: MSTORE
00000cf2: PUSH1 0x02
00000cf4: DUP3
00000cf5: ADD
00000cf6: SLOAD
00000cf7: PUSH1 0x40
00000cf9: DUP3
00000cfa: ADD
00000cfb: MSTORE
00000cfc: PUSH1 0x03
00000cfe: DUP3
00000cff: ADD
00000d00: SLOAD
00000d01: PUSH1 0x60
00000d03: DUP3
00000d04: ADD
00000d05: MSTORE
00000d06: PUSH1 0x04
00000d08: SWAP1
00000d09: SWAP2
00000d0a: ADD
00000d0b: SLOAD
00000d0c: PUSH1 0xff
00000d0e: AND
00000d0f: ISZERO
00000d10: ISZERO
00000d11: PUSH1 0x80
00000d13: SWAP1
00000d14: SWAP2
00000d15: ADD
00000d16: MSTORE
00000d17: SWAP1
00000d18: POP
00000d19: PUSH2 0x0d22
00000d1c: DUP3
00000d1d: DUP6
00000d1e: PUSH2 0x21a9
00000d21: JUMP
00000d22: JUMPDEST
00000d23: SWAP3
00000d24: POP
00000d25: DUP1
00000d26: PUSH1 0x80
00000d28: ADD
00000d29: MLOAD
00000d2a: DUP1
00000d2b: ISZERO
00000d2c: PUSH2 0x0d38
00000d2f: JUMPI
00000d30: POP
00000d31: DUP1
00000d32: PUSH1 0x40
00000d34: ADD
00000d35: MLOAD
00000d36: DUP4
00000d37: LT
00000d38: JUMPDEST
00000d39: ISZERO
00000d3a: PUSH2 0x0d7c
00000d3d: JUMPI
00000d3e: PUSH1 0x16
00000d40: SLOAD
00000d41: PUSH1 0x40
00000d43: DUP3
00000d44: ADD
00000d45: MLOAD
00000d46: PUSH2 0x0d74
00000d49: SWAP2
00000d4a: PUSH1 0x01
00000d4c: PUSH1 0x01
00000d4e: PUSH1 0xa0
00000d50: SHL
00000d51: SUB
00000d52: AND
00000d53: SWAP1
00000d54: DUP5
00000d55: SWAP1
00000d56: PUSH2 0x0d60
00000d59: SWAP1
00000d5a: DUP8
00000d5b: SWAP1
00000d5c: PUSH2 0x3acb
00000d5f: JUMP
00000d60: JUMPDEST
00000d61: PUSH1 0x19
00000d63: SLOAD
00000d64: PUSH1 0x01
00000d66: PUSH1 0x01
00000d68: PUSH1 0xa0
00000d6a: SHL
00000d6b: SUB
00000d6c: AND
00000d6d: SWAP3
00000d6e: SWAP2
00000d6f: SWAP1
00000d70: PUSH2 0x267d
00000d73: JUMP
00000d74: JUMPDEST
00000d75: DUP1
00000d76: PUSH1 0x40
00000d78: ADD
00000d79: MLOAD
00000d7a: SWAP3
00000d7b: POP
00000d7c: JUMPDEST
00000d7d: DUP4
00000d7e: DUP3
00000d7f: PUSH1 0x01
00000d81: PUSH1 0x01
00000d83: PUSH1 0xa0
00000d85: SHL
00000d86: SUB
00000d87: AND
00000d88: PUSH32 0x92ccf450a286a957af52509bc1c9939d1a6a481783e142e41e2499f0bb66ebc6
00000da9: DUP6
00000daa: PUSH1 0x40
00000dac: MLOAD
00000dad: PUSH2 0x0db8
00000db0: SWAP2
00000db1: DUP2
00000db2: MSTORE
00000db3: PUSH1 0x20
00000db5: ADD
00000db6: SWAP1
00000db7: JUMP
00000db8: JUMPDEST
00000db9: PUSH1 0x40
00000dbb: MLOAD
00000dbc: DUP1
00000dbd: SWAP2
00000dbe: SUB
00000dbf: SWAP1
00000dc0: LOG3
00000dc1: POP
00000dc2: POP
00000dc3: PUSH1 0x01
00000dc5: PUSH1 0x07
00000dc7: SSTORE
00000dc8: SWAP2
00000dc9: SWAP1
00000dca: POP
00000dcb: JUMP
00000dcc: JUMPDEST
00000dcd: PUSH1 0x00
00000dcf: DUP3
00000dd0: DUP2
00000dd1: MSTORE
00000dd2: PUSH1 0x06
00000dd4: PUSH1 0x20
00000dd6: MSTORE
00000dd7: PUSH1 0x40
00000dd9: SWAP1
00000dda: KECCAK256
00000ddb: PUSH1 0x01
00000ddd: ADD
00000dde: SLOAD
00000ddf: PUSH2 0x0de8
00000de2: DUP2
00000de3: CALLER
00000de4: PUSH2 0x2377
00000de7: JUMP
00000de8: JUMPDEST
00000de9: PUSH2 0x0aa8
00000dec: DUP4
00000ded: DUP4
00000dee: PUSH2 0x26e8
00000df1: JUMP
00000df2: JUMPDEST
00000df3: PUSH1 0x00
00000df5: PUSH2 0x0dfe
00000df8: DUP2
00000df9: CALLER
00000dfa: PUSH2 0x2377
00000dfd: JUMP
00000dfe: JUMPDEST
00000dff: PUSH3 0x4f1a00
00000e03: DUP4
00000e04: GT
00000e05: ISZERO
00000e06: PUSH2 0x0e6b
00000e09: JUMPI
00000e0a: PUSH1 0x40
00000e0c: MLOAD
00000e0d: PUSH3 0x461bcd
00000e11: PUSH1 0xe5
00000e13: SHL
00000e14: DUP2
00000e15: MSTORE
00000e16: PUSH1 0x20
00000e18: PUSH1 0x04
00000e1a: DUP3
00000e1b: ADD
00000e1c: MSTORE
00000e1d: PUSH1 0x31
00000e1f: PUSH1 0x24
00000e21: DUP3
00000e22: ADD
00000e23: MSTORE
00000e24: PUSH32 0x546865206c6f636b757020706572696f6420666f722068656467656420747261
00000e45: PUSH1 0x44
00000e47: DUP3
00000e48: ADD
00000e49: MSTORE
00000e4a: PUSH17 0x6e6368657320697320746f6f206c6f6e67
00000e5c: PUSH1 0x78
00000e5e: SHL
00000e5f: PUSH1 0x64
00000e61: DUP3
00000e62: ADD
00000e63: MSTORE
00000e64: PUSH1 0x84
00000e66: ADD
00000e67: PUSH2 0x0972
00000e6a: JUMP
00000e6b: JUMPDEST
00000e6c: PUSH3 0x278d00
00000e70: DUP3
00000e71: GT
00000e72: ISZERO
00000e73: PUSH2 0x0eda
00000e76: JUMPI
00000e77: PUSH1 0x40
00000e79: MLOAD
00000e7a: PUSH3 0x461bcd
00000e7e: PUSH1 0xe5
00000e80: SHL
00000e81: DUP2
00000e82: MSTORE
00000e83: PUSH1 0x20
00000e85: PUSH1 0x04
00000e87: DUP3
00000e88: ADD
00000e89: MSTORE
00000e8a: PUSH1 0x33
00000e8c: PUSH1 0x24
00000e8e: DUP3
00000e8f: ADD
00000e90: MSTORE
00000e91: PUSH32 0x546865206c6f636b757020706572696f6420666f7220756e6865646765642074
00000eb2: PUSH1 0x44
00000eb4: DUP3
00000eb5: ADD
00000eb6: MSTORE
00000eb7: PUSH19 0x72616e6368657320697320746f6f206c6f6e67
00000ecb: PUSH1 0x68
00000ecd: SHL
00000ece: PUSH1 0x64
00000ed0: DUP3
00000ed1: ADD
00000ed2: MSTORE
00000ed3: PUSH1 0x84
00000ed5: ADD
00000ed6: PUSH2 0x0972
00000ed9: JUMP
00000eda: JUMPDEST
00000edb: POP
00000edc: PUSH1 0x09
00000ede: SWAP2
00000edf: SWAP1
00000ee0: SWAP2
00000ee1: SSTORE
00000ee2: PUSH1 0x0a
00000ee4: SSTORE
00000ee5: JUMP
00000ee6: JUMPDEST
00000ee7: PUSH1 0x00
00000ee9: DUP2
00000eea: PUSH2 0x0ef8
00000eed: JUMPI
00000eee: PUSH2 0x0ef5
00000ef1: PUSH2 0x276e
00000ef4: JUMP
00000ef5: JUMPDEST
00000ef6: SWAP2
00000ef7: POP
00000ef8: JUMPDEST
00000ef9: PUSH1 0x00
00000efb: PUSH2 0x0f02
00000efe: PUSH2 0x1b6d
00000f01: JUMP
00000f02: JUMPDEST
00000f03: SWAP1
00000f04: POP
00000f05: PUSH1 0x00
00000f07: PUSH2 0x0f0f
00000f0a: DUP6
00000f0b: PUSH2 0x280d
00000f0e: JUMP
00000f0f: JUMPDEST
00000f10: SWAP1
00000f11: POP
00000f12: PUSH3 0x015180
00000f16: DUP7
00000f17: LT
00000f18: ISZERO
00000f19: PUSH2 0x0f70
00000f1c: JUMPI
00000f1d: PUSH1 0x40
00000f1f: MLOAD
00000f20: PUSH3 0x461bcd
00000f24: PUSH1 0xe5
00000f26: SHL
00000f27: DUP2
00000f28: MSTORE
00000f29: PUSH1 0x20
00000f2b: PUSH1 0x04
00000f2d: DUP3
00000f2e: ADD
00000f2f: MSTORE
00000f30: PUSH1 0x23
00000f32: PUSH1 0x24
00000f34: DUP3
00000f35: ADD
00000f36: MSTORE
00000f37: PUSH32 0x506f6f6c204572726f723a2054686520706572696f6420697320746f6f207368
00000f58: PUSH1 0x44
00000f5a: DUP3
00000f5b: ADD
00000f5c: MSTORE
00000f5d: PUSH3 0x1bdc9d
00000f61: PUSH1 0xea
00000f63: SHL
00000f64: PUSH1 0x64
00000f66: DUP3
00000f67: ADD
00000f68: MSTORE
00000f69: PUSH1 0x84
00000f6b: ADD
00000f6c: PUSH2 0x0972
00000f6f: JUMP
00000f70: JUMPDEST
00000f71: PUSH3 0x76a700
00000f75: DUP7
00000f76: GT
00000f77: ISZERO
00000f78: PUSH2 0x0fce
00000f7b: JUMPI
00000f7c: PUSH1 0x40
00000f7e: MLOAD
00000f7f: PUSH3 0x461bcd
00000f83: PUSH1 0xe5
00000f85: SHL
00000f86: DUP2
00000f87: MSTORE
00000f88: PUSH1 0x20
00000f8a: PUSH1 0x04
00000f8c: DUP3
00000f8d: ADD
00000f8e: MSTORE
00000f8f: PUSH1 0x22
00000f91: PUSH1 0x24
00000f93: DUP3
00000f94: ADD
00000f95: MSTORE
00000f96: PUSH32 0x506f6f6c204572726f723a2054686520706572696f6420697320746f6f206c6f
00000fb7: PUSH1 0x44
00000fb9: DUP3
00000fba: ADD
00000fbb: MSTORE
00000fbc: PUSH2 0x6e67
00000fbf: PUSH1 0xf0
00000fc1: SHL
00000fc2: PUSH1 0x64
00000fc4: DUP3
00000fc5: ADD
00000fc6: MSTORE
00000fc7: PUSH1 0x84
00000fc9: ADD
00000fca: PUSH2 0x0972
00000fcd: JUMP
00000fce: JUMPDEST
00000fcf: PUSH1 0x0c
00000fd1: SLOAD
00000fd2: PUSH2 0x0fdb
00000fd5: SWAP1
00000fd6: DUP4
00000fd7: PUSH2 0x3aac
00000fda: JUMP
00000fdb: JUMPDEST
00000fdc: DUP2
00000fdd: PUSH1 0x0e
00000fdf: SLOAD
00000fe0: PUSH2 0x0fe9
00000fe3: SWAP2
00000fe4: SWAP1
00000fe5: PUSH2 0x3a80
00000fe8: JUMP
00000fe9: JUMPDEST
00000fea: PUSH2 0x0ff4
00000fed: SWAP1
00000fee: PUSH1 0x64
00000ff0: PUSH2 0x3aac
00000ff3: JUMP
00000ff4: JUMPDEST
00000ff5: GT
00000ff6: ISZERO
00000ff7: PUSH2 0x104e
00000ffa: JUMPI
00000ffb: PUSH1 0x40
00000ffd: MLOAD
00000ffe: PUSH3 0x461bcd
00001002: PUSH1 0xe5
00001004: SHL
00001005: DUP2
00001006: MSTORE
00001007: PUSH1 0x20
00001009: PUSH1 0x04
0000100b: DUP3
0000100c: ADD
0000100d: MSTORE
0000100e: PUSH1 0x23
00001010: PUSH1 0x24
00001012: DUP3
00001013: ADD
00001014: MSTORE
00001015: PUSH32 0x506f6f6c204572726f723a2054686520616d6f756e7420697320746f6f206c61
00001036: PUSH1 0x44
00001038: DUP3
00001039: ADD
0000103a: MSTORE
0000103b: PUSH3 0x726765
0000103f: PUSH1 0xe8
00001041: SHL
00001042: PUSH1 0x64
00001044: DUP3
00001045: ADD
00001046: MSTORE
00001047: PUSH1 0x84
00001049: ADD
0000104a: PUSH2 0x0972
0000104d: JUMP
0000104e: JUMPDEST
0000104f: PUSH1 0x00
00001051: DUP1
00001052: PUSH2 0x105c
00001055: DUP9
00001056: DUP9
00001057: DUP9
00001058: PUSH2 0x2829
0000105b: JUMP
0000105c: JUMPDEST
0000105d: SWAP2
0000105e: POP
0000105f: SWAP2
00001060: POP
00001061: PUSH1 0x00
00001063: DUP5
00001064: PUSH1 0x14
00001066: SLOAD
00001067: DUP4
00001068: PUSH2 0x1071
0000106b: SWAP2
0000106c: SWAP1
0000106d: PUSH2 0x3aac
00001070: JUMP
00001071: JUMPDEST
00001072: PUSH2 0x107b
00001075: SWAP2
00001076: SWAP1
00001077: PUSH2 0x3a98
0000107a: JUMP
0000107b: JUMPDEST
0000107c: SWAP1
0000107d: POP
0000107e: PUSH1 0x00
00001080: PUSH1 0x64
00001082: PUSH1 0x0b
00001084: SLOAD
00001085: DUP4
00001086: PUSH2 0x108f
00001089: SWAP2
0000108a: SWAP1
0000108b: PUSH2 0x3aac
0000108e: JUMP
0000108f: JUMPDEST
00001090: PUSH2 0x1099
00001093: SWAP2
00001094: SWAP1
00001095: PUSH2 0x3a98
00001098: JUMP
00001099: JUMPDEST
0000109a: SWAP1
0000109b: POP
0000109c: PUSH1 0x00
0000109e: PUSH2 0x10a7
000010a1: DUP3
000010a2: DUP5
000010a3: PUSH2 0x3acb
000010a6: JUMP
000010a7: JUMPDEST
000010a8: SWAP1
000010a9: POP
000010aa: PUSH1 0x00
000010ac: PUSH2 0x10b5
000010af: DUP5
000010b0: DUP7
000010b1: PUSH2 0x3acb
000010b4: JUMP
000010b5: JUMPDEST
000010b6: SWAP1
000010b7: POP
000010b8: DUP7
000010b9: PUSH1 0x0e
000010bb: PUSH1 0x00
000010bd: DUP3
000010be: DUP3
000010bf: SLOAD
000010c0: PUSH2 0x10c9
000010c3: SWAP2
000010c4: SWAP1
000010c5: PUSH2 0x3a80
000010c8: JUMP
000010c9: JUMPDEST
000010ca: SWAP1
000010cb: SWAP2
000010cc: SSTORE
000010cd: POP
000010ce: POP
000010cf: PUSH1 0x40
000010d1: MLOAD
000010d2: PUSH4 0x012c0d81
000010d7: PUSH1 0xe7
000010d9: SHL
000010da: DUP2
000010db: MSTORE
000010dc: PUSH1 0x01
000010de: PUSH1 0x01
000010e0: PUSH1 0xa0
000010e2: SHL
000010e3: SUB
000010e4: DUP15
000010e5: DUP2
000010e6: AND
000010e7: PUSH1 0x04
000010e9: DUP4
000010ea: ADD
000010eb: MSTORE
000010ec: PUSH32 0x0000000000000000000000001ba4b447d0df64da64024e5ec47da94458c1e97f
0000110d: AND
0000110e: SWAP1
0000110f: PUSH4 0x9606c080
00001114: SWAP1
00001115: PUSH1 0x24
00001117: ADD
00001118: PUSH1 0x20
0000111a: PUSH1 0x40
0000111c: MLOAD
0000111d: DUP1
0000111e: DUP4
0000111f: SUB
00001120: DUP2
00001121: PUSH1 0x00
00001123: DUP8
00001124: DUP1
00001125: EXTCODESIZE
00001126: ISZERO
00001127: DUP1
00001128: ISZERO
00001129: PUSH2 0x1131
0000112c: JUMPI
0000112d: PUSH1 0x00
0000112f: DUP1
00001130: REVERT
00001131: JUMPDEST
00001132: POP
00001133: GAS
00001134: CALL
00001135: ISZERO
00001136: DUP1
00001137: ISZERO
00001138: PUSH2 0x1145
0000113b: JUMPI
0000113c: RETURNDATASIZE
0000113d: PUSH1 0x00
0000113f: DUP1
00001140: RETURNDATACOPY
00001141: RETURNDATASIZE
00001142: PUSH1 0x00
00001144: REVERT
00001145: JUMPDEST
00001146: POP
00001147: POP
00001148: POP
00001149: POP
0000114a: PUSH1 0x40
0000114c: MLOAD
0000114d: RETURNDATASIZE
0000114e: PUSH1 0x1f
00001150: NOT
00001151: PUSH1 0x1f
00001153: DUP3
00001154: ADD
00001155: AND
00001156: DUP3
00001157: ADD
00001158: DUP1
00001159: PUSH1 0x40
0000115b: MSTORE
0000115c: POP
0000115d: DUP2
0000115e: ADD
0000115f: SWAP1
00001160: PUSH2 0x1169
00001163: SWAP2
00001164: SWAP1
00001165: PUSH2 0x3716
00001168: JUMP
00001169: JUMPDEST
0000116a: PUSH1 0x40
0000116c: DUP1
0000116d: MLOAD
0000116e: PUSH1 0xe0
00001170: DUP2
00001171: ADD
00001172: SWAP1
00001173: SWAP2
00001174: MSTORE
00001175: SWAP1
00001176: SWAP10
00001177: POP
00001178: DUP1
00001179: PUSH1 0x01
0000117b: DUP2
0000117c: MSTORE
0000117d: PUSH1 0x20
0000117f: ADD
00001180: DUP12
00001181: DUP2
00001182: MSTORE
00001183: PUSH1 0x20
00001185: ADD
00001186: DUP13
00001187: DUP2
00001188: MSTORE
00001189: PUSH1 0x20
0000118b: ADD
0000118c: DUP9
0000118d: DUP2
0000118e: MSTORE
0000118f: PUSH1 0x20
00001191: ADD
00001192: DUP14
00001193: TIMESTAMP
00001194: PUSH2 0x119d
00001197: SWAP2
00001198: SWAP1
00001199: PUSH2 0x3a80
0000119c: JUMP
0000119d: JUMPDEST
0000119e: DUP2
0000119f: MSTORE
000011a0: PUSH1 0x20
000011a2: DUP1
000011a3: DUP3
000011a4: ADD
000011a5: DUP6
000011a6: SWAP1
000011a7: MSTORE
000011a8: PUSH1 0x40
000011aa: SWAP2
000011ab: DUP3
000011ac: ADD
000011ad: DUP5
000011ae: SWAP1
000011af: MSTORE
000011b0: PUSH1 0x00
000011b2: DUP13
000011b3: DUP2
000011b4: MSTORE
000011b5: PUSH1 0x18
000011b7: SWAP1
000011b8: SWAP2
000011b9: MSTORE
000011ba: KECCAK256
000011bb: DUP2
000011bc: MLOAD
000011bd: DUP2
000011be: SLOAD
000011bf: DUP3
000011c0: SWAP1
000011c1: PUSH1 0xff
000011c3: NOT
000011c4: AND
000011c5: PUSH1 0x01
000011c7: DUP4
000011c8: PUSH1 0x03
000011ca: DUP2
000011cb: GT
000011cc: ISZERO
000011cd: PUSH2 0x11d8
000011d0: JUMPI
000011d1: PUSH2 0x11d8
000011d4: PUSH2 0x3bbb
000011d7: JUMP
000011d8: JUMPDEST
000011d9: MUL
000011da: OR
000011db: SWAP1
000011dc: SSTORE
000011dd: POP
000011de: PUSH1 0x20
000011e0: DUP3
000011e1: ADD
000011e2: MLOAD
000011e3: PUSH1 0x01
000011e5: DUP3
000011e6: ADD
000011e7: SSTORE
000011e8: PUSH1 0x40
000011ea: DUP3
000011eb: ADD
000011ec: MLOAD
000011ed: PUSH1 0x02
000011ef: DUP3
000011f0: ADD
000011f1: SSTORE
000011f2: PUSH1 0x60
000011f4: DUP3
000011f5: ADD
000011f6: MLOAD
000011f7: PUSH1 0x03
000011f9: DUP3
000011fa: ADD
000011fb: SSTORE
000011fc: PUSH1 0x80
000011fe: DUP3
000011ff: ADD
00001200: MLOAD
00001201: PUSH1 0x04
00001203: DUP3
00001204: ADD
00001205: SSTORE
00001206: PUSH1 0xa0
00001208: DUP3
00001209: ADD
0000120a: MLOAD
0000120b: PUSH1 0x05
0000120d: DUP3
0000120e: ADD
0000120f: SSTORE
00001210: PUSH1 0xc0
00001212: SWAP1
00001213: SWAP2
00001214: ADD
00001215: MLOAD
00001216: PUSH1 0x06
00001218: SWAP1
00001219: SWAP2
0000121a: ADD
0000121b: SSTORE
0000121c: PUSH2 0x122a
0000121f: CALLER
00001220: ADDRESS
00001221: PUSH2 0x0d60
00001224: DUP10
00001225: DUP10
00001226: PUSH2 0x3a80
00001229: JUMP
0000122a: JUMPDEST
0000122b: PUSH1 0x15
0000122d: SLOAD
0000122e: PUSH1 0x19
00001230: SLOAD
00001231: PUSH2 0x1247
00001234: SWAP2
00001235: PUSH1 0x01
00001237: PUSH1 0x01
00001239: PUSH1 0xa0
0000123b: SHL
0000123c: SUB
0000123d: SWAP2
0000123e: DUP3
0000123f: AND
00001240: SWAP2
00001241: AND
00001242: DUP9
00001243: PUSH2 0x2930
00001246: JUMP
00001247: JUMPDEST
00001248: PUSH1 0x15
0000124a: PUSH1 0x00
0000124c: SWAP1
0000124d: SLOAD
0000124e: SWAP1
0000124f: PUSH2 0x0100
00001252: EXP
00001253: SWAP1
00001254: DIV
00001255: PUSH1 0x01
00001257: PUSH1 0x01
00001259: PUSH1 0xa0
0000125b: SHL
0000125c: SUB
0000125d: AND
0000125e: PUSH1 0x01
00001260: PUSH1 0x01
00001262: PUSH1 0xa0
00001264: SHL
00001265: SUB
00001266: AND
00001267: PUSH4 0xda34364b
0000126c: PUSH1 0x40
0000126e: MLOAD
0000126f: DUP2
00001270: PUSH4 0xffffffff
00001275: AND
00001276: PUSH1 0xe0
00001278: SHL
00001279: DUP2
0000127a: MSTORE
0000127b: PUSH1 0x04
0000127d: ADD
0000127e: PUSH1 0x00
00001280: PUSH1 0x40
00001282: MLOAD
00001283: DUP1
00001284: DUP4
00001285: SUB
00001286: DUP2
00001287: PUSH1 0x00
00001289: DUP8
0000128a: DUP1
0000128b: EXTCODESIZE
0000128c: ISZERO
0000128d: DUP1
0000128e: ISZERO
0000128f: PUSH2 0x1297
00001292: JUMPI
00001293: PUSH1 0x00
00001295: DUP1
00001296: REVERT
00001297: JUMPDEST
00001298: POP
00001299: GAS
0000129a: CALL
0000129b: ISZERO
0000129c: DUP1
0000129d: ISZERO
0000129e: PUSH2 0x12ab
000012a1: JUMPI
000012a2: RETURNDATASIZE
000012a3: PUSH1 0x00
000012a5: DUP1
000012a6: RETURNDATACOPY
000012a7: RETURNDATASIZE
000012a8: PUSH1 0x00
000012aa: REVERT
000012ab: JUMPDEST
000012ac: POP
000012ad: POP
000012ae: POP
000012af: POP
000012b0: PUSH1 0x00
000012b2: DUP4
000012b3: GT
000012b4: ISZERO
000012b5: PUSH2 0x12d5
000012b8: JUMPI
000012b9: PUSH1 0x16
000012bb: SLOAD
000012bc: PUSH1 0x19
000012be: SLOAD
000012bf: PUSH2 0x12d5
000012c2: SWAP2
000012c3: PUSH1 0x01
000012c5: PUSH1 0x01
000012c7: PUSH1 0xa0
000012c9: SHL
000012ca: SUB
000012cb: SWAP2
000012cc: DUP3
000012cd: AND
000012ce: SWAP2
000012cf: AND
000012d0: DUP6
000012d1: PUSH2 0x2930
000012d4: JUMP
000012d5: JUMPDEST
000012d6: PUSH1 0x40
000012d8: DUP1
000012d9: MLOAD
000012da: DUP8
000012db: DUP2
000012dc: MSTORE
000012dd: PUSH1 0x20
000012df: DUP2
000012e0: ADD
000012e1: DUP8
000012e2: SWAP1
000012e3: MSTORE
000012e4: DUP11
000012e5: SWAP2
000012e6: PUSH32 0xf5857d7b7b0e768564a581006734ebdf2b129d61875a3368bd9b0c84e226da75
00001307: SWAP2
00001308: ADD
00001309: PUSH1 0x40
0000130b: MLOAD
0000130c: DUP1
0000130d: SWAP2
0000130e: SUB
0000130f: SWAP1
00001310: LOG2
00001311: POP
00001312: POP
00001313: POP
00001314: POP
00001315: POP
00001316: POP
00001317: POP
00001318: POP
00001319: SWAP5
0000131a: SWAP4
0000131b: POP
0000131c: POP
0000131d: POP
0000131e: POP
0000131f: JUMP
00001320: JUMPDEST
00001321: PUSH1 0x01
00001323: PUSH1 0x01
00001325: PUSH1 0xa0
00001327: SHL
00001328: SUB
00001329: DUP2
0000132a: AND
0000132b: CALLER
0000132c: EQ
0000132d: PUSH2 0x1390
00001330: JUMPI
00001331: PUSH1 0x40
00001333: MLOAD
00001334: PUSH3 0x461bcd
00001338: PUSH1 0xe5
0000133a: SHL
0000133b: DUP2
0000133c: MSTORE
0000133d: PUSH1 0x20
0000133f: PUSH1 0x04
00001341: DUP3
00001342: ADD
00001343: MSTORE
00001344: PUSH1 0x2f
00001346: PUSH1 0x24
00001348: DUP3
00001349: ADD
0000134a: MSTORE
0000134b: PUSH32 0x416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365
0000136c: PUSH1 0x44
0000136e: DUP3
0000136f: ADD
00001370: MSTORE
00001371: PUSH15 0x103937b632b9903337b91039b2b633
00001381: PUSH1 0x89
00001383: SHL
00001384: PUSH1 0x64
00001386: DUP3
00001387: ADD
00001388: MSTORE
00001389: PUSH1 0x84
0000138b: ADD
0000138c: PUSH2 0x0972
0000138f: JUMP
00001390: JUMPDEST
00001391: PUSH2 0x139a
00001394: DUP3
00001395: DUP3
00001396: PUSH2 0x2960
00001399: JUMP
0000139a: JUMPDEST
0000139b: POP
0000139c: POP
0000139d: JUMP
0000139e: JUMPDEST
0000139f: PUSH2 0x0aa8
000013a2: DUP4
000013a3: DUP4
000013a4: DUP4
000013a5: PUSH1 0x40
000013a7: MLOAD
000013a8: DUP1
000013a9: PUSH1 0x20
000013ab: ADD
000013ac: PUSH1 0x40
000013ae: MSTORE
000013af: DUP1
000013b0: PUSH1 0x00
000013b2: DUP2
000013b3: MSTORE
000013b4: POP
000013b5: PUSH2 0x1ee1
000013b8: JUMP
000013b9: JUMPDEST
000013ba: PUSH1 0x00
000013bc: PUSH2 0x13c5
000013bf: DUP2
000013c0: CALLER
000013c1: PUSH2 0x2377
000013c4: JUMP
000013c5: JUMPDEST
000013c6: DUP2
000013c7: PUSH1 0x32
000013c9: GT
000013ca: ISZERO
000013cb: DUP1
000013cc: ISZERO
000013cd: PUSH2 0x13d7
000013d0: JUMPI
000013d1: POP
000013d2: PUSH1 0x64
000013d4: DUP3
000013d5: GT
000013d6: ISZERO
000013d7: JUMPDEST
000013d8: PUSH2 0x143f
000013db: JUMPI
000013dc: PUSH1 0x40
000013de: MLOAD
000013df: PUSH3 0x461bcd
000013e3: PUSH1 0xe5
000013e5: SHL
000013e6: DUP2
000013e7: MSTORE
000013e8: PUSH1 0x20
000013ea: PUSH1 0x04
000013ec: DUP3
000013ed: ADD
000013ee: MSTORE
000013ef: PUSH1 0x33
000013f1: PUSH1 0x24
000013f3: DUP3
000013f4: ADD
000013f5: MSTORE
000013f6: PUSH32 0x506f6f6c206572726f723a2057726f6e67207574696c697a6174696f6e207261
00001417: PUSH1 0x44
00001419: DUP3
0000141a: ADD
0000141b: MSTORE
0000141c: PUSH19 0x7465206c696d69746174696f6e2076616c7565
00001430: PUSH1 0x68
00001432: SHL
00001433: PUSH1 0x64
00001435: DUP3
00001436: ADD
00001437: MSTORE
00001438: PUSH1 0x84
0000143a: ADD
0000143b: PUSH2 0x0972
0000143e: JUMP
0000143f: JUMPDEST
00001440: POP
00001441: PUSH1 0x0c
00001443: SSTORE
00001444: JUMP
00001445: JUMPDEST
00001446: PUSH1 0x00
00001448: DUP2
00001449: DUP2
0000144a: MSTORE
0000144b: PUSH1 0x18
0000144d: PUSH1 0x20
0000144f: MSTORE
00001450: PUSH1 0x40
00001452: SWAP1
00001453: KECCAK256
00001454: PUSH1 0x04
00001456: DUP2
00001457: ADD
00001458: SLOAD
00001459: TIMESTAMP
0000145a: GT
0000145b: PUSH2 0x14b9
0000145e: JUMPI
0000145f: PUSH1 0x40
00001461: MLOAD
00001462: PUSH3 0x461bcd
00001466: PUSH1 0xe5
00001468: SHL
00001469: DUP2
0000146a: MSTORE
0000146b: PUSH1 0x20
0000146d: PUSH1 0x04
0000146f: DUP3
00001470: ADD
00001471: MSTORE
00001472: PUSH1 0x2a
00001474: PUSH1 0x24
00001476: DUP3
00001477: ADD
00001478: MSTORE
00001479: PUSH32 0x506f6f6c204572726f723a20546865206f7074696f6e20686173206e6f742065
0000149a: PUSH1 0x44
0000149c: DUP3
0000149d: ADD
0000149e: MSTORE
0000149f: PUSH10 0x1e1c1a5c9959081e595d
000014aa: PUSH1 0xb2
000014ac: SHL
000014ad: PUSH1 0x64
000014af: DUP3
000014b0: ADD
000014b1: MSTORE
000014b2: PUSH1 0x84
000014b4: ADD
000014b5: PUSH2 0x0972
000014b8: JUMP
000014b9: JUMPDEST
000014ba: PUSH2 0x14c2
000014bd: DUP2
000014be: PUSH2 0x29c7
000014c1: JUMP
000014c2: JUMPDEST
000014c3: DUP1
000014c4: SLOAD
000014c5: PUSH1 0xff
000014c7: NOT
000014c8: AND
000014c9: PUSH1 0x03
000014cb: OR
000014cc: DUP2
000014cd: SSTORE
000014ce: PUSH1 0x40
000014d0: MLOAD
000014d1: DUP3
000014d2: SWAP1
000014d3: PUSH32 0xf80dbaea4785589e52984ca36a31de106adc77759539a5c7d92883bf49692fe9
000014f4: SWAP1
000014f5: PUSH1 0x00
000014f7: SWAP1
000014f8: LOG2
000014f9: POP
000014fa: POP
000014fb: JUMP
000014fc: JUMPDEST
000014fd: PUSH1 0x00
000014ff: DUP2
00001500: DUP2
00001501: MSTORE
00001502: PUSH1 0x02
00001504: PUSH1 0x20
00001506: MSTORE
00001507: PUSH1 0x40
00001509: DUP2
0000150a: KECCAK256
0000150b: SLOAD
0000150c: PUSH1 0x01
0000150e: PUSH1 0x01
00001510: PUSH1 0xa0
00001512: SHL
00001513: SUB
00001514: AND
00001515: DUP1
00001516: PUSH2 0x0865
00001519: JUMPI
0000151a: PUSH1 0x40
0000151c: MLOAD
0000151d: PUSH3 0x461bcd
00001521: PUSH1 0xe5
00001523: SHL
00001524: DUP2
00001525: MSTORE
00001526: PUSH1 0x20
00001528: PUSH1 0x04
0000152a: DUP3
0000152b: ADD
0000152c: MSTORE
0000152d: PUSH1 0x29
0000152f: PUSH1 0x24
00001531: DUP3
00001532: ADD
00001533: MSTORE
00001534: PUSH32 0x4552433732313a206f776e657220717565727920666f72206e6f6e6578697374
00001555: PUSH1 0x44
00001557: DUP3
00001558: ADD
00001559: MSTORE
0000155a: PUSH9 0x32b73a103a37b5b2b7
00001564: PUSH1 0xb9
00001566: SHL
00001567: PUSH1 0x64
00001569: DUP3
0000156a: ADD
0000156b: MSTORE
0000156c: PUSH1 0x84
0000156e: ADD
0000156f: PUSH2 0x0972
00001572: JUMP
00001573: JUMPDEST
00001574: PUSH1 0x00
00001576: PUSH2 0x157f
00001579: DUP2
0000157a: CALLER
0000157b: PUSH2 0x2377
0000157e: JUMP
0000157f: JUMPDEST
00001580: POP
00001581: PUSH1 0x08
00001583: DUP1
00001584: SLOAD
00001585: PUSH1 0x01
00001587: PUSH1 0x01
00001589: PUSH1 0xa0
0000158b: SHL
0000158c: SUB
0000158d: NOT
0000158e: AND
0000158f: PUSH1 0x01
00001591: PUSH1 0x01
00001593: PUSH1 0xa0
00001595: SHL
00001596: SUB
00001597: SWAP3
00001598: SWAP1
00001599: SWAP3
0000159a: AND
0000159b: SWAP2
0000159c: SWAP1
0000159d: SWAP2
0000159e: OR
0000159f: SWAP1
000015a0: SSTORE
000015a1: JUMP
000015a2: JUMPDEST
000015a3: PUSH1 0x00
000015a5: PUSH1 0x01
000015a7: PUSH1 0x01
000015a9: PUSH1 0xa0
000015ab: SHL
000015ac: SUB
000015ad: DUP3
000015ae: AND
000015af: PUSH2 0x160d
000015b2: JUMPI
000015b3: PUSH1 0x40
000015b5: MLOAD
000015b6: PUSH3 0x461bcd
000015ba: PUSH1 0xe5
000015bc: SHL
000015bd: DUP2
000015be: MSTORE
000015bf: PUSH1 0x20
000015c1: PUSH1 0x04
000015c3: DUP3
000015c4: ADD
000015c5: MSTORE
000015c6: PUSH1 0x2a
000015c8: PUSH1 0x24
000015ca: DUP3
000015cb: ADD
000015cc: MSTORE
000015cd: PUSH32 0x4552433732313a2062616c616e636520717565727920666f7220746865207a65
000015ee: PUSH1 0x44
000015f0: DUP3
000015f1: ADD
000015f2: MSTORE
000015f3: PUSH10 0x726f2061646472657373
000015fe: PUSH1 0xb0
00001600: SHL
00001601: PUSH1 0x64
00001603: DUP3
00001604: ADD
00001605: MSTORE
00001606: PUSH1 0x84
00001608: ADD
00001609: PUSH2 0x0972
0000160c: JUMP
0000160d: JUMPDEST
0000160e: POP
0000160f: PUSH1 0x01
00001611: PUSH1 0x01
00001613: PUSH1 0xa0
00001615: SHL
00001616: SUB
00001617: AND
00001618: PUSH1 0x00
0000161a: SWAP1
0000161b: DUP2
0000161c: MSTORE
0000161d: PUSH1 0x03
0000161f: PUSH1 0x20
00001621: MSTORE
00001622: PUSH1 0x40
00001624: SWAP1
00001625: KECCAK256
00001626: SLOAD
00001627: SWAP1
00001628: JUMP
00001629: JUMPDEST
0000162a: PUSH1 0x00
0000162c: DUP2
0000162d: DUP2
0000162e: MSTORE
0000162f: PUSH1 0x18
00001631: PUSH1 0x20
00001633: MSTORE
00001634: PUSH1 0x40
00001636: DUP1
00001637: DUP3
00001638: KECCAK256
00001639: DUP2
0000163a: MLOAD
0000163b: PUSH1 0xe0
0000163d: DUP2
0000163e: ADD
0000163f: SWAP1
00001640: SWAP3
00001641: MSTORE
00001642: DUP1
00001643: SLOAD
00001644: PUSH2 0x0865
00001647: SWAP3
00001648: SWAP2
00001649: SWAP1
0000164a: DUP3
0000164b: SWAP1
0000164c: PUSH1 0xff
0000164e: AND
0000164f: PUSH1 0x03
00001651: DUP2
00001652: GT
00001653: ISZERO
00001654: PUSH2 0x165f
00001657: JUMPI
00001658: PUSH2 0x165f
0000165b: PUSH2 0x3bbb
0000165e: JUMP
0000165f: JUMPDEST
00001660: PUSH1 0x03
00001662: DUP2
00001663: GT
00001664: ISZERO
00001665: PUSH2 0x1670
00001668: JUMPI
00001669: PUSH2 0x1670
0000166c: PUSH2 0x3bbb
0000166f: JUMP
00001670: JUMPDEST
00001671: DUP2
00001672: MSTORE
00001673: PUSH1 0x20
00001675: ADD
00001676: PUSH1 0x01
00001678: DUP3
00001679: ADD
0000167a: SLOAD
0000167b: DUP2
0000167c: MSTORE
0000167d: PUSH1 0x20
0000167f: ADD
00001680: PUSH1 0x02
00001682: DUP3
00001683: ADD
00001684: SLOAD
00001685: DUP2
00001686: MSTORE
00001687: PUSH1 0x20
00001689: ADD
0000168a: PUSH1 0x03
0000168c: DUP3
0000168d: ADD
0000168e: SLOAD
0000168f: DUP2
00001690: MSTORE
00001691: PUSH1 0x20
00001693: ADD
00001694: PUSH1 0x04
00001696: DUP3
00001697: ADD
00001698: SLOAD
00001699: DUP2
0000169a: MSTORE
0000169b: PUSH1 0x20
0000169d: ADD
0000169e: PUSH1 0x05
000016a0: DUP3
000016a1: ADD
000016a2: SLOAD
000016a3: DUP2
000016a4: MSTORE
000016a5: PUSH1 0x20
000016a7: ADD
000016a8: PUSH1 0x06
000016aa: DUP3
000016ab: ADD
000016ac: SLOAD
000016ad: DUP2
000016ae: MSTORE
000016af: POP
000016b0: POP
000016b1: PUSH2 0x2abd
000016b4: JUMP
000016b5: JUMPDEST
000016b6: PUSH1 0x00
000016b8: PUSH1 0x02
000016ba: PUSH1 0x07
000016bc: SLOAD
000016bd: EQ
000016be: ISZERO
000016bf: PUSH2 0x16da
000016c2: JUMPI
000016c3: PUSH1 0x40
000016c5: MLOAD
000016c6: PUSH3 0x461bcd
000016ca: PUSH1 0xe5
000016cc: SHL
000016cd: DUP2
000016ce: MSTORE
000016cf: PUSH1 0x04
000016d1: ADD
000016d2: PUSH2 0x0972
000016d5: SWAP1
000016d6: PUSH2 0x3a49
000016d9: JUMP
000016da: JUMPDEST
000016db: PUSH1 0x02
000016dd: PUSH1 0x07
000016df: SSTORE
000016e0: PUSH1 0x00
000016e2: DUP4
000016e3: PUSH2 0x16ee
000016e6: JUMPI
000016e7: PUSH1 0x11
000016e9: SLOAD
000016ea: PUSH2 0x16f2
000016ed: JUMP
000016ee: JUMPDEST
000016ef: PUSH1 0x12
000016f1: SLOAD
000016f2: JUMPDEST
000016f3: SWAP1
000016f4: POP
000016f5: PUSH1 0x00
000016f7: DUP5
000016f8: PUSH2 0x1703
000016fb: JUMPI
000016fc: PUSH1 0x13
000016fe: SLOAD
000016ff: PUSH2 0x1707
00001702: JUMP
00001703: JUMPDEST
00001704: PUSH1 0x14
00001706: SLOAD
00001707: JUMPDEST
00001708: SWAP1
00001709: POP
0000170a: PUSH1 0x00
0000170c: DUP3
0000170d: GT
0000170e: DUP1
0000170f: ISZERO
00001710: PUSH2 0x1719
00001713: JUMPI
00001714: POP
00001715: PUSH1 0x00
00001717: DUP2
00001718: GT
00001719: JUMPDEST
0000171a: PUSH2 0x1735
0000171d: JUMPI
0000171e: PUSH2 0x1730
00001721: PUSH9 0x056bc75e2d63100000
0000172b: DUP8
0000172c: PUSH2 0x3aac
0000172f: JUMP
00001730: JUMPDEST
00001731: PUSH2 0x174a
00001734: JUMP
00001735: JUMPDEST
00001736: DUP1
00001737: PUSH2 0x1740
0000173a: DUP4
0000173b: DUP9
0000173c: PUSH2 0x3aac
0000173f: JUMP
00001740: JUMPDEST
00001741: PUSH2 0x174a
00001744: SWAP2
00001745: SWAP1
00001746: PUSH2 0x3a98
00001749: JUMP
0000174a: JUMPDEST
0000174b: SWAP3
0000174c: POP
0000174d: PUSH1 0x00
0000174f: DUP6
00001750: PUSH2 0x1775
00001753: JUMPI
00001754: PUSH1 0x13
00001756: SLOAD
00001757: PUSH1 0x14
00001759: SLOAD
0000175a: PUSH1 0x0f
0000175c: SLOAD
0000175d: PUSH2 0x1766
00001760: SWAP2
00001761: SWAP1
00001762: PUSH2 0x3acb
00001765: JUMP
00001766: JUMPDEST
00001767: PUSH2 0x1770
0000176a: SWAP2
0000176b: SWAP1
0000176c: PUSH2 0x3acb
0000176f: JUMP
00001770: JUMPDEST
00001771: PUSH2 0x1785
00001774: JUMP
00001775: JUMPDEST
00001776: PUSH1 0x14
00001778: SLOAD
00001779: PUSH1 0x10
0000177b: SLOAD
0000177c: PUSH2 0x1785
0000177f: SWAP2
00001780: SWAP1
00001781: PUSH2 0x3acb
00001784: JUMP
00001785: JUMPDEST
00001786: SWAP1
00001787: POP
00001788: DUP5
00001789: DUP5
0000178a: LT
0000178b: ISZERO
0000178c: PUSH2 0x17e7
0000178f: JUMPI
00001790: PUSH1 0x40
00001792: MLOAD
00001793: PUSH3 0x461bcd
00001797: PUSH1 0xe5
00001799: SHL
0000179a: DUP2
0000179b: MSTORE
0000179c: PUSH1 0x20
0000179e: PUSH1 0x04
000017a0: DUP3
000017a1: ADD
000017a2: MSTORE
000017a3: PUSH1 0x27
000017a5: PUSH1 0x24
000017a7: DUP3
000017a8: ADD
000017a9: MSTORE
000017aa: PUSH32 0x506f6f6c204572726f723a20546865206d696e74206c696d697420697320746f
000017cb: PUSH1 0x44
000017cd: DUP3
000017ce: ADD
000017cf: MSTORE
000017d0: PUSH7 0x6f206c61726765
000017d8: PUSH1 0xc8
000017da: SHL
000017db: PUSH1 0x64
000017dd: DUP3
000017de: ADD
000017df: MSTORE
000017e0: PUSH1 0x84
000017e2: ADD
000017e3: PUSH2 0x0972
000017e6: JUMP
000017e7: JUMPDEST
000017e8: PUSH1 0x00
000017ea: DUP5
000017eb: GT
000017ec: PUSH2 0x1843
000017ef: JUMPI
000017f0: PUSH1 0x40
000017f2: MLOAD
000017f3: PUSH3 0x461bcd
000017f7: PUSH1 0xe5
000017f9: SHL
000017fa: DUP2
000017fb: MSTORE
000017fc: PUSH1 0x20
000017fe: PUSH1 0x04
00001800: DUP3
00001801: ADD
00001802: MSTORE
00001803: PUSH1 0x23
00001805: PUSH1 0x24
00001807: DUP3
00001808: ADD
00001809: MSTORE
0000180a: PUSH32 0x506f6f6c204572726f723a2054686520616d6f756e7420697320746f6f20736d
0000182b: PUSH1 0x44
0000182d: DUP3
0000182e: ADD
0000182f: MSTORE
00001830: PUSH3 0x185b1b
00001834: PUSH1 0xea
00001836: SHL
00001837: PUSH1 0x64
00001839: DUP3
0000183a: ADD
0000183b: MSTORE
0000183c: PUSH1 0x84
0000183e: ADD
0000183f: PUSH2 0x0972
00001842: JUMP
00001843: JUMPDEST
00001844: DUP1
00001845: DUP8
00001846: GT
00001847: ISZERO
00001848: PUSH2 0x18b1
0000184b: JUMPI
0000184c: PUSH1 0x40
0000184e: MLOAD
0000184f: PUSH3 0x461bcd
00001853: PUSH1 0xe5
00001855: SHL
00001856: DUP2
00001857: MSTORE
00001858: PUSH1 0x20
0000185a: PUSH1 0x04
0000185c: DUP3
0000185d: ADD
0000185e: MSTORE
0000185f: PUSH1 0x35
00001861: PUSH1 0x24
00001863: DUP3
00001864: ADD
00001865: MSTORE
00001866: PUSH32 0x506f6f6c204572726f723a204465706f736974696e6720696e746f2074686520
00001887: PUSH1 0x44
00001889: DUP3
0000188a: ADD
0000188b: MSTORE
0000188c: PUSH21 0x706f6f6c206973206e6f7420617661696c61626c65
000018a2: PUSH1 0x58
000018a4: SHL
000018a5: PUSH1 0x64
000018a7: DUP3
000018a8: ADD
000018a9: MSTORE
000018aa: PUSH1 0x84
000018ac: ADD
000018ad: PUSH2 0x0972
000018b0: JUMP
000018b1: JUMPDEST
000018b2: DUP6
000018b3: ISZERO
000018b4: PUSH2 0x18ed
000018b7: JUMPI
000018b8: DUP4
000018b9: PUSH1 0x12
000018bb: PUSH1 0x00
000018bd: DUP3
000018be: DUP3
000018bf: SLOAD
000018c0: PUSH2 0x18c9
000018c3: SWAP2
000018c4: SWAP1
000018c5: PUSH2 0x3a80
000018c8: JUMP
000018c9: JUMPDEST
000018ca: SWAP3
000018cb: POP
000018cc: POP
000018cd: DUP2
000018ce: SWAP1
000018cf: SSTORE
000018d0: POP
000018d1: DUP7
000018d2: PUSH1 0x14
000018d4: PUSH1 0x00
000018d6: DUP3
000018d7: DUP3
000018d8: SLOAD
000018d9: PUSH2 0x18e2
000018dc: SWAP2
000018dd: SWAP1
000018de: PUSH2 0x3a80
000018e1: JUMP
000018e2: JUMPDEST
000018e3: SWAP1
000018e4: SWAP2
000018e5: SSTORE
000018e6: POP
000018e7: PUSH2 0x191e
000018ea: SWAP1
000018eb: POP
000018ec: JUMP
000018ed: JUMPDEST
000018ee: DUP4
000018ef: PUSH1 0x11
000018f1: PUSH1 0x00
000018f3: DUP3
000018f4: DUP3
000018f5: SLOAD
000018f6: PUSH2 0x18ff
000018f9: SWAP2
000018fa: SWAP1
000018fb: PUSH2 0x3a80
000018fe: JUMP
000018ff: JUMPDEST
00001900: SWAP3
00001901: POP
00001902: POP
00001903: DUP2
00001904: SWAP1
00001905: SSTORE
00001906: POP
00001907: DUP7
00001908: PUSH1 0x13
0000190a: PUSH1 0x00
0000190c: DUP3
0000190d: DUP3
0000190e: SLOAD
0000190f: PUSH2 0x1918
00001912: SWAP2
00001913: SWAP1
00001914: PUSH2 0x3a80
00001917: JUMP
00001918: JUMPDEST
00001919: SWAP1
0000191a: SWAP2
0000191b: SSTORE
0000191c: POP
0000191d: POP
0000191e: JUMPDEST
0000191f: PUSH1 0x17
00001921: DUP1
00001922: SLOAD
00001923: PUSH1 0x40
00001925: DUP1
00001926: MLOAD
00001927: PUSH1 0xa0
00001929: DUP2
0000192a: ADD
0000192b: DUP3
0000192c: MSTORE
0000192d: PUSH1 0x01
0000192f: DUP1
00001930: DUP3
00001931: MSTORE
00001932: PUSH1 0x20
00001934: DUP3
00001935: ADD
00001936: DUP10
00001937: SWAP1
00001938: MSTORE
00001939: SWAP2
0000193a: DUP2
0000193b: ADD
0000193c: DUP12
0000193d: SWAP1
0000193e: MSTORE
0000193f: TIMESTAMP
00001940: PUSH1 0x60
00001942: DUP3
00001943: ADD
00001944: MSTORE
00001945: DUP10
00001946: ISZERO
00001947: ISZERO
00001948: PUSH1 0x80
0000194a: DUP3
0000194b: ADD
0000194c: MSTORE
0000194d: DUP2
0000194e: DUP4
0000194f: ADD
00001950: DUP5
00001951: SSTORE
00001952: PUSH1 0x00
00001954: SWAP4
00001955: SWAP1
00001956: SWAP4
00001957: MSTORE
00001958: DUP3
00001959: MLOAD
0000195a: PUSH1 0x05
0000195c: DUP4
0000195d: MUL
0000195e: PUSH32 0xc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15
0000197f: ADD
00001980: DUP1
00001981: SLOAD
00001982: SWAP4
00001983: SWAP5
00001984: SWAP4
00001985: SWAP1
00001986: SWAP3
00001987: DUP4
00001988: SWAP2
00001989: PUSH1 0xff
0000198b: NOT
0000198c: AND
0000198d: SWAP1
0000198e: DUP4
0000198f: PUSH1 0x02
00001991: DUP2
00001992: GT
00001993: ISZERO
00001994: PUSH2 0x199f
00001997: JUMPI
00001998: PUSH2 0x199f
0000199b: PUSH2 0x3bbb
0000199e: JUMP
0000199f: JUMPDEST
000019a0: MUL
000019a1: OR
000019a2: SWAP1
000019a3: SSTORE
000019a4: POP
000019a5: PUSH1 0x20
000019a7: DUP3
000019a8: ADD
000019a9: MLOAD
000019aa: PUSH1 0x01
000019ac: DUP3
000019ad: ADD
000019ae: SSTORE
000019af: PUSH1 0x40
000019b1: DUP3
000019b2: ADD
000019b3: MLOAD
000019b4: PUSH1 0x02
000019b6: DUP3
000019b7: ADD
000019b8: SSTORE
000019b9: PUSH1 0x60
000019bb: DUP3
000019bc: ADD
000019bd: MLOAD
000019be: PUSH1 0x03
000019c0: DUP3
000019c1: ADD
000019c2: SSTORE
000019c3: PUSH1 0x80
000019c5: SWAP1
000019c6: SWAP2
000019c7: ADD
000019c8: MLOAD
000019c9: PUSH1 0x04
000019cb: SWAP1
000019cc: SWAP2
000019cd: ADD
000019ce: DUP1
000019cf: SLOAD
000019d0: PUSH1 0xff
000019d2: NOT
000019d3: AND
000019d4: SWAP2
000019d5: ISZERO
000019d6: ISZERO
000019d7: SWAP2
000019d8: SWAP1
000019d9: SWAP2
000019da: OR
000019db: SWAP1
000019dc: SSTORE
000019dd: PUSH2 0x19e6
000019e0: DUP10
000019e1: DUP3
000019e2: PUSH2 0x2b09
000019e5: JUMP
000019e6: JUMPDEST
000019e7: PUSH2 0x19fe
000019ea: CALLER
000019eb: PUSH1 0x19
000019ed: SLOAD
000019ee: PUSH1 0x01
000019f0: PUSH1 0x01
000019f2: PUSH1 0xa0
000019f4: SHL
000019f5: SUB
000019f6: AND
000019f7: SWAP1
000019f8: ADDRESS
000019f9: DUP12
000019fa: PUSH2 0x267d
000019fd: JUMP
000019fe: JUMPDEST
000019ff: POP
00001a00: POP
00001a01: PUSH1 0x01
00001a03: PUSH1 0x07
00001a05: SSTORE
00001a06: POP
00001a07: SWAP1
00001a08: SWAP6
00001a09: SWAP5
00001a0a: POP
00001a0b: POP
00001a0c: POP
00001a0d: POP
00001a0e: POP
00001a0f: JUMP
00001a10: JUMPDEST
00001a11: PUSH1 0x00
00001a13: SWAP2
00001a14: DUP3
00001a15: MSTORE
00001a16: PUSH1 0x06
00001a18: PUSH1 0x20
00001a1a: SWAP1
00001a1b: DUP2
00001a1c: MSTORE
00001a1d: PUSH1 0x40
00001a1f: DUP1
00001a20: DUP5
00001a21: KECCAK256
00001a22: PUSH1 0x01
00001a24: PUSH1 0x01
00001a26: PUSH1 0xa0
00001a28: SHL
00001a29: SUB
00001a2a: SWAP4
00001a2b: SWAP1
00001a2c: SWAP4
00001a2d: AND
00001a2e: DUP5
00001a2f: MSTORE
00001a30: SWAP2
00001a31: SWAP1
00001a32: MSTORE
00001a33: SWAP1
00001a34: KECCAK256
00001a35: SLOAD
00001a36: PUSH1 0xff
00001a38: AND
00001a39: SWAP1
00001a3a: JUMP
00001a3b: JUMPDEST
00001a3c: PUSH1 0x60
00001a3e: PUSH1 0x01
00001a40: DUP1
00001a41: SLOAD
00001a42: PUSH2 0x087a
00001a45: SWAP1
00001a46: PUSH2 0x3b25
00001a49: JUMP
00001a4a: JUMPDEST
00001a4b: PUSH1 0x00
00001a4d: PUSH2 0x1a56
00001a50: DUP2
00001a51: CALLER
00001a52: PUSH2 0x2377
00001a55: JUMP
00001a56: JUMPDEST
00001a57: PUSH1 0x01
00001a59: PUSH1 0x01
00001a5b: PUSH1 0xa0
00001a5d: SHL
00001a5e: SUB
00001a5f: DUP3
00001a60: AND
00001a61: PUSH2 0x1a69
00001a64: JUMPI
00001a65: PUSH1 0x00
00001a67: DUP1
00001a68: REVERT
00001a69: JUMPDEST
00001a6a: POP
00001a6b: PUSH1 0x15
00001a6d: DUP1
00001a6e: SLOAD
00001a6f: PUSH1 0x01
00001a71: PUSH1 0x01
00001a73: PUSH1 0xa0
00001a75: SHL
00001a76: SUB
00001a77: NOT
00001a78: AND
00001a79: PUSH1 0x01
00001a7b: PUSH1 0x01
00001a7d: PUSH1 0xa0
00001a7f: SHL
00001a80: SUB
00001a81: SWAP3
00001a82: SWAP1
00001a83: SWAP3
00001a84: AND
00001a85: SWAP2
00001a86: SWAP1
00001a87: SWAP2
00001a88: OR
00001a89: SWAP1
00001a8a: SSTORE
00001a8b: JUMP
00001a8c: JUMPDEST
00001a8d: PUSH1 0x01
00001a8f: PUSH1 0x01
00001a91: PUSH1 0xa0
00001a93: SHL
00001a94: SUB
00001a95: DUP3
00001a96: AND
00001a97: CALLER
00001a98: EQ
00001a99: ISZERO
00001a9a: PUSH2 0x1ae5
00001a9d: JUMPI
00001a9e: PUSH1 0x40
00001aa0: MLOAD
00001aa1: PUSH3 0x461bcd
00001aa5: PUSH1 0xe5
00001aa7: SHL
00001aa8: DUP2
00001aa9: MSTORE
00001aaa: PUSH1 0x20
00001aac: PUSH1 0x04
00001aae: DUP3
00001aaf: ADD
00001ab0: MSTORE
00001ab1: PUSH1 0x19
00001ab3: PUSH1 0x24
00001ab5: DUP3
00001ab6: ADD
00001ab7: MSTORE
00001ab8: PUSH32 0x4552433732313a20617070726f766520746f2063616c6c657200000000000000
00001ad9: PUSH1 0x44
00001adb: DUP3
00001adc: ADD
00001add: MSTORE
00001ade: PUSH1 0x64
00001ae0: ADD
00001ae1: PUSH2 0x0972
00001ae4: JUMP
00001ae5: JUMPDEST
00001ae6: CALLER
00001ae7: PUSH1 0x00
00001ae9: DUP2
00001aea: DUP2
00001aeb: MSTORE
00001aec: PUSH1 0x05
00001aee: PUSH1 0x20
00001af0: SWAP1
00001af1: DUP2
00001af2: MSTORE
00001af3: PUSH1 0x40
00001af5: DUP1
00001af6: DUP4
00001af7: KECCAK256
00001af8: PUSH1 0x01
00001afa: PUSH1 0x01
00001afc: PUSH1 0xa0
00001afe: SHL
00001aff: SUB
00001b00: DUP8
00001b01: AND
00001b02: DUP1
00001b03: DUP6
00001b04: MSTORE
00001b05: SWAP1
00001b06: DUP4
00001b07: MSTORE
00001b08: SWAP3
00001b09: DUP2
00001b0a: SWAP1
00001b0b: KECCAK256
00001b0c: DUP1
00001b0d: SLOAD
00001b0e: PUSH1 0xff
00001b10: NOT
00001b11: AND
00001b12: DUP7
00001b13: ISZERO
00001b14: ISZERO
00001b15: SWAP1
00001b16: DUP2
00001b17: OR
00001b18: SWAP1
00001b19: SWAP2
00001b1a: SSTORE
00001b1b: SWAP1
00001b1c: MLOAD
00001b1d: SWAP1
00001b1e: DUP2
00001b1f: MSTORE
00001b20: SWAP2
00001b21: SWAP3
00001b22: SWAP2
00001b23: PUSH32 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31
00001b44: SWAP2
00001b45: ADD
00001b46: PUSH1 0x40
00001b48: MLOAD
00001b49: DUP1
00001b4a: SWAP2
00001b4b: SUB
00001b4c: SWAP1
00001b4d: LOG3
00001b4e: POP
00001b4f: POP
00001b50: JUMP
00001b51: JUMPDEST
00001b52: PUSH1 0x00
00001b54: PUSH1 0x0e
00001b56: SLOAD
00001b57: PUSH2 0x1b5e
00001b5a: PUSH2 0x1b6d
00001b5d: JUMP
00001b5e: JUMPDEST
00001b5f: PUSH2 0x1b68
00001b62: SWAP2
00001b63: SWAP1
00001b64: PUSH2 0x3acb
00001b67: JUMP
00001b68: JUMPDEST
00001b69: SWAP1
00001b6a: POP
00001b6b: SWAP1
00001b6c: JUMP
00001b6d: JUMPDEST
00001b6e: PUSH1 0x00
00001b70: PUSH1 0x13
00001b72: SLOAD
00001b73: PUSH1 0x14
00001b75: SLOAD
00001b76: PUSH2 0x1b68
00001b79: SWAP2
00001b7a: SWAP1
00001b7b: PUSH2 0x3a80
00001b7e: JUMP
00001b7f: JUMPDEST
00001b80: PUSH1 0x00
00001b82: DUP2
00001b83: DUP2
00001b84: MSTORE
00001b85: PUSH1 0x18
00001b87: PUSH1 0x20
00001b89: MSTORE
00001b8a: PUSH1 0x40
00001b8c: DUP1
00001b8d: DUP3
00001b8e: KECCAK256
00001b8f: DUP2
00001b90: MLOAD
00001b91: PUSH1 0xe0
00001b93: DUP2
00001b94: ADD
00001b95: SWAP1
00001b96: SWAP3
00001b97: MSTORE
00001b98: DUP1
00001b99: SLOAD
00001b9a: SWAP1
00001b9b: SWAP3
00001b9c: SWAP2
00001b9d: PUSH2 0x1bb8
00001ba0: SWAP2
00001ba1: DUP5
00001ba2: SWAP1
00001ba3: DUP3
00001ba4: SWAP1
00001ba5: PUSH1 0xff
00001ba7: AND
00001ba8: PUSH1 0x03
00001baa: DUP2
00001bab: GT
00001bac: ISZERO
00001bad: PUSH2 0x165f
00001bb0: JUMPI
00001bb1: PUSH2 0x165f
00001bb4: PUSH2 0x3bbb
00001bb7: JUMP
00001bb8: JUMPDEST
00001bb9: SWAP1
00001bba: POP
00001bbb: PUSH1 0x01
00001bbd: PUSH1 0x01
00001bbf: PUSH1 0xa0
00001bc1: SHL
00001bc2: SUB
00001bc3: PUSH32 0x0000000000000000000000001ba4b447d0df64da64024e5ec47da94458c1e97f
00001be4: AND
00001be5: PUSH4 0x430c2081
00001bea: CALLER
00001beb: PUSH1 0x40
00001bed: MLOAD
00001bee: PUSH1 0x01
00001bf0: PUSH1 0x01
00001bf2: PUSH1 0xe0
00001bf4: SHL
00001bf5: SUB
00001bf6: NOT
00001bf7: PUSH1 0xe0
00001bf9: DUP5
00001bfa: SWAP1
00001bfb: SHL
00001bfc: AND
00001bfd: DUP2
00001bfe: MSTORE
00001bff: PUSH1 0x01
00001c01: PUSH1 0x01
00001c03: PUSH1 0xa0
00001c05: SHL
00001c06: SUB
00001c07: SWAP1
00001c08: SWAP2
00001c09: AND
00001c0a: PUSH1 0x04
00001c0c: DUP3
00001c0d: ADD
00001c0e: MSTORE
00001c0f: PUSH1 0x24
00001c11: DUP2
00001c12: ADD
00001c13: DUP7
00001c14: SWAP1
00001c15: MSTORE
00001c16: PUSH1 0x44
00001c18: ADD
00001c19: PUSH1 0x20
00001c1b: PUSH1 0x40
00001c1d: MLOAD
00001c1e: DUP1
00001c1f: DUP4
00001c20: SUB
00001c21: DUP2
00001c22: DUP7
00001c23: DUP1
00001c24: EXTCODESIZE
00001c25: ISZERO
00001c26: DUP1
00001c27: ISZERO
00001c28: PUSH2 0x1c30
00001c2b: JUMPI
00001c2c: PUSH1 0x00
00001c2e: DUP1
00001c2f: REVERT
00001c30: JUMPDEST
00001c31: POP
00001c32: GAS
00001c33: STATICCALL
00001c34: ISZERO
00001c35: DUP1
00001c36: ISZERO
00001c37: PUSH2 0x1c44
00001c3a: JUMPI
00001c3b: RETURNDATASIZE
00001c3c: PUSH1 0x00
00001c3e: DUP1
00001c3f: RETURNDATACOPY
00001c40: RETURNDATASIZE
00001c41: PUSH1 0x00
00001c43: REVERT
00001c44: JUMPDEST
00001c45: POP
00001c46: POP
00001c47: POP
00001c48: POP
00001c49: PUSH1 0x40
00001c4b: MLOAD
00001c4c: RETURNDATASIZE
00001c4d: PUSH1 0x1f
00001c4f: NOT
00001c50: PUSH1 0x1f
00001c52: DUP3
00001c53: ADD
00001c54: AND
00001c55: DUP3
00001c56: ADD
00001c57: DUP1
00001c58: PUSH1 0x40
00001c5a: MSTORE
00001c5b: POP
00001c5c: DUP2
00001c5d: ADD
00001c5e: SWAP1
00001c5f: PUSH2 0x1c68
00001c62: SWAP2
00001c63: SWAP1
00001c64: PUSH2 0x3681
00001c67: JUMP
00001c68: JUMPDEST
00001c69: PUSH2 0x1cce
00001c6c: JUMPI
00001c6d: PUSH1 0x40
00001c6f: MLOAD
00001c70: PUSH3 0x461bcd
00001c74: PUSH1 0xe5
00001c76: SHL
00001c77: DUP2
00001c78: MSTORE
00001c79: PUSH1 0x20
00001c7b: PUSH1 0x04
00001c7d: DUP3
00001c7e: ADD
00001c7f: MSTORE
00001c80: PUSH1 0x31
00001c82: PUSH1 0x24
00001c84: DUP3
00001c85: ADD
00001c86: MSTORE
00001c87: PUSH32 0x506f6f6c204572726f723a206d73672e73656e6465722063616e277420657865
00001ca8: PUSH1 0x44
00001caa: DUP3
00001cab: ADD
00001cac: MSTORE
00001cad: PUSH17 0x3931b4b9b2903a3434b99037b83a34b7b7
00001cbf: PUSH1 0x79
00001cc1: SHL
00001cc2: PUSH1 0x64
00001cc4: DUP3
00001cc5: ADD
00001cc6: MSTORE
00001cc7: PUSH1 0x84
00001cc9: ADD
00001cca: PUSH2 0x0972
00001ccd: JUMP
00001cce: JUMPDEST
00001ccf: TIMESTAMP
00001cd0: DUP3
00001cd1: PUSH1 0x04
00001cd3: ADD
00001cd4: SLOAD
00001cd5: GT
00001cd6: PUSH2 0x1d34
00001cd9: JUMPI
00001cda: PUSH1 0x40
00001cdc: MLOAD
00001cdd: PUSH3 0x461bcd
00001ce1: PUSH1 0xe5
00001ce3: SHL
00001ce4: DUP2
00001ce5: MSTORE
00001ce6: PUSH1 0x20
00001ce8: PUSH1 0x04
00001cea: DUP3
00001ceb: ADD
00001cec: MSTORE
00001ced: PUSH1 0x2a
00001cef: PUSH1 0x24
00001cf1: DUP3
00001cf2: ADD
00001cf3: MSTORE
00001cf4: PUSH32 0x506f6f6c204572726f723a20546865206f7074696f6e2068617320616c726561
00001d15: PUSH1 0x44
00001d17: DUP3
00001d18: ADD
00001d19: MSTORE
00001d1a: PUSH10 0x191e48195e1c1a5c9959
00001d25: PUSH1 0xb2
00001d27: SHL
00001d28: PUSH1 0x64
00001d2a: DUP3
00001d2b: ADD
00001d2c: MSTORE
00001d2d: PUSH1 0x84
00001d2f: ADD
00001d30: PUSH2 0x0972
00001d33: JUMP
00001d34: JUMPDEST
00001d35: PUSH1 0x00
00001d37: DUP2
00001d38: GT
00001d39: PUSH2 0x1daa
00001d3c: JUMPI
00001d3d: PUSH1 0x40
00001d3f: MLOAD
00001d40: PUSH3 0x461bcd
00001d44: PUSH1 0xe5
00001d46: SHL
00001d47: DUP2
00001d48: MSTORE
00001d49: PUSH1 0x20
00001d4b: PUSH1 0x04
00001d4d: DUP3
00001d4e: ADD
00001d4f: MSTORE
00001d50: PUSH1 0x3b
00001d52: PUSH1 0x24
00001d54: DUP3
00001d55: ADD
00001d56: MSTORE
00001d57: PUSH32 0x506f6f6c204572726f723a20546865726520617265206e6f20756e7265616c69
00001d78: PUSH1 0x44
00001d7a: DUP3
00001d7b: ADD
00001d7c: MSTORE
00001d7d: PUSH32 0x7a65642070726f6669747320666f722074686973206f7074696f6e0000000000
00001d9e: PUSH1 0x64
00001da0: DUP3
00001da1: ADD
00001da2: MSTORE
00001da3: PUSH1 0x84
00001da5: ADD
00001da6: PUSH2 0x0972
00001da9: JUMP
00001daa: JUMPDEST
00001dab: PUSH2 0x1db3
00001dae: DUP3
00001daf: PUSH2 0x29c7
00001db2: JUMP
00001db3: JUMPDEST
00001db4: DUP2
00001db5: SLOAD
00001db6: PUSH1 0xff
00001db8: NOT
00001db9: AND
00001dba: PUSH1 0x02
00001dbc: OR
00001dbd: DUP3
00001dbe: SSTORE
00001dbf: PUSH1 0x40
00001dc1: MLOAD
00001dc2: PUSH4 0x31a9108f
00001dc7: PUSH1 0xe1
00001dc9: SHL
00001dca: DUP2
00001dcb: MSTORE
00001dcc: PUSH1 0x04
00001dce: DUP2
00001dcf: ADD
00001dd0: DUP5
00001dd1: SWAP1
00001dd2: MSTORE
00001dd3: PUSH2 0x1e60
00001dd6: SWAP1
00001dd7: PUSH1 0x01
00001dd9: PUSH1 0x01
00001ddb: PUSH1 0xa0
00001ddd: SHL
00001dde: SUB
00001ddf: PUSH32 0x0000000000000000000000001ba4b447d0df64da64024e5ec47da94458c1e97f
00001e00: AND
00001e01: SWAP1
00001e02: PUSH4 0x6352211e
00001e07: SWAP1
00001e08: PUSH1 0x24
00001e0a: ADD
00001e0b: PUSH1 0x20
00001e0d: PUSH1 0x40
00001e0f: MLOAD
00001e10: DUP1
00001e11: DUP4
00001e12: SUB
00001e13: DUP2
00001e14: DUP7
00001e15: DUP1
00001e16: EXTCODESIZE
00001e17: ISZERO
00001e18: DUP1
00001e19: ISZERO
00001e1a: PUSH2 0x1e22
00001e1d: JUMPI
00001e1e: PUSH1 0x00
00001e20: DUP1
00001e21: REVERT
00001e22: JUMPDEST
00001e23: POP
00001e24: GAS
00001e25: STATICCALL
00001e26: ISZERO
00001e27: DUP1
00001e28: ISZERO
00001e29: PUSH2 0x1e36
00001e2c: JUMPI
00001e2d: RETURNDATASIZE
00001e2e: PUSH1 0x00
00001e30: DUP1
00001e31: RETURNDATACOPY
00001e32: RETURNDATASIZE
00001e33: PUSH1 0x00
00001e35: REVERT
00001e36: JUMPDEST
00001e37: POP
00001e38: POP
00001e39: POP
00001e3a: POP
00001e3b: PUSH1 0x40
00001e3d: MLOAD
00001e3e: RETURNDATASIZE
00001e3f: PUSH1 0x1f
00001e41: NOT
00001e42: PUSH1 0x1f
00001e44: DUP3
00001e45: ADD
00001e46: AND
00001e47: DUP3
00001e48: ADD
00001e49: DUP1
00001e4a: PUSH1 0x40
00001e4c: MSTORE
00001e4d: POP
00001e4e: DUP2
00001e4f: ADD
00001e50: SWAP1
00001e51: PUSH2 0x1e5a
00001e54: SWAP2
00001e55: SWAP1
00001e56: PUSH2 0x342d
00001e59: JUMP
00001e5a: JUMPDEST
00001e5b: DUP3
00001e5c: PUSH2 0x2b23
00001e5f: JUMP
00001e60: JUMPDEST
00001e61: DUP3
00001e62: PUSH32 0x0328c770810250ca303b85a612c9103929d1701abdf1dd1114607d139edfbed6
00001e83: DUP3
00001e84: PUSH1 0x40
00001e86: MLOAD
00001e87: PUSH2 0x1e92
00001e8a: SWAP2
00001e8b: DUP2
00001e8c: MSTORE
00001e8d: PUSH1 0x20
00001e8f: ADD
00001e90: SWAP1
00001e91: JUMP
00001e92: JUMPDEST
00001e93: PUSH1 0x40
00001e95: MLOAD
00001e96: DUP1
00001e97: SWAP2
00001e98: SUB
00001e99: SWAP1
00001e9a: LOG2
00001e9b: POP
00001e9c: POP
00001e9d: POP
00001e9e: JUMP
00001e9f: JUMPDEST
00001ea0: PUSH1 0x00
00001ea2: PUSH2 0x1eab
00001ea5: DUP2
00001ea6: CALLER
00001ea7: PUSH2 0x2377
00001eaa: JUMP
00001eab: JUMPDEST
00001eac: PUSH1 0x01
00001eae: PUSH1 0x01
00001eb0: PUSH1 0xa0
00001eb2: SHL
00001eb3: SUB
00001eb4: DUP3
00001eb5: AND
00001eb6: PUSH2 0x1ebe
00001eb9: JUMPI
00001eba: PUSH1 0x00
00001ebc: DUP1
00001ebd: REVERT
00001ebe: JUMPDEST
00001ebf: POP
00001ec0: PUSH1 0x16
00001ec2: DUP1
00001ec3: SLOAD
00001ec4: PUSH1 0x01
00001ec6: PUSH1 0x01
00001ec8: PUSH1 0xa0
00001eca: SHL
00001ecb: SUB
00001ecc: NOT
00001ecd: AND
00001ece: PUSH1 0x01
00001ed0: PUSH1 0x01
00001ed2: PUSH1 0xa0
00001ed4: SHL
00001ed5: SUB
00001ed6: SWAP3
00001ed7: SWAP1
00001ed8: SWAP3
00001ed9: AND
00001eda: SWAP2
00001edb: SWAP1
00001edc: SWAP2
00001edd: OR
00001ede: SWAP1
00001edf: SSTORE
00001ee0: JUMP
00001ee1: JUMPDEST
00001ee2: PUSH2 0x1eeb
00001ee5: CALLER
00001ee6: DUP4
00001ee7: PUSH2 0x23db
00001eea: JUMP
00001eeb: JUMPDEST
00001eec: PUSH2 0x1f07
00001eef: JUMPI
00001ef0: PUSH1 0x40
00001ef2: MLOAD
00001ef3: PUSH3 0x461bcd
00001ef7: PUSH1 0xe5
00001ef9: SHL
00001efa: DUP2
00001efb: MSTORE
00001efc: PUSH1 0x04
00001efe: ADD
00001eff: PUSH2 0x0972
00001f02: SWAP1
00001f03: PUSH2 0x39f8
00001f06: JUMP
00001f07: JUMPDEST
00001f08: PUSH2 0x1f13
00001f0b: DUP5
00001f0c: DUP5
00001f0d: DUP5
00001f0e: DUP5
00001f0f: PUSH2 0x2bae
00001f12: JUMP
00001f13: JUMPDEST
00001f14: POP
00001f15: POP
00001f16: POP
00001f17: POP
00001f18: JUMP
00001f19: JUMPDEST
00001f1a: PUSH1 0x00
00001f1c: DUP2
00001f1d: DUP2
00001f1e: MSTORE
00001f1f: PUSH1 0x02
00001f21: PUSH1 0x20
00001f23: MSTORE
00001f24: PUSH1 0x40
00001f26: SWAP1
00001f27: KECCAK256
00001f28: SLOAD
00001f29: PUSH1 0x60
00001f2b: SWAP1
00001f2c: PUSH1 0x01
00001f2e: PUSH1 0x01
00001f30: PUSH1 0xa0
00001f32: SHL
00001f33: SUB
00001f34: AND
00001f35: PUSH2 0x1f98
00001f38: JUMPI
00001f39: PUSH1 0x40
00001f3b: MLOAD
00001f3c: PUSH3 0x461bcd
00001f40: PUSH1 0xe5
00001f42: SHL
00001f43: DUP2
00001f44: MSTORE
00001f45: PUSH1 0x20
00001f47: PUSH1 0x04
00001f49: DUP3
00001f4a: ADD
00001f4b: MSTORE
00001f4c: PUSH1 0x2f
00001f4e: PUSH1 0x24
00001f50: DUP3
00001f51: ADD
00001f52: MSTORE
00001f53: PUSH32 0x4552433732314d657461646174613a2055524920717565727920666f72206e6f
00001f74: PUSH1 0x44
00001f76: DUP3
00001f77: ADD
00001f78: MSTORE
00001f79: PUSH15 0x3732bc34b9ba32b73a103a37b5b2b7
00001f89: PUSH1 0x89
00001f8b: SHL
00001f8c: PUSH1 0x64
00001f8e: DUP3
00001f8f: ADD
00001f90: MSTORE
00001f91: PUSH1 0x84
00001f93: ADD
00001f94: PUSH2 0x0972
00001f97: JUMP
00001f98: JUMPDEST
00001f99: PUSH1 0x00
00001f9b: PUSH2 0x1faf
00001f9e: PUSH1 0x40
00001fa0: DUP1
00001fa1: MLOAD
00001fa2: PUSH1 0x20
00001fa4: DUP2
00001fa5: ADD
00001fa6: SWAP1
00001fa7: SWAP2
00001fa8: MSTORE
00001fa9: PUSH1 0x00
00001fab: DUP2
00001fac: MSTORE
00001fad: SWAP1
00001fae: JUMP
00001faf: JUMPDEST
00001fb0: SWAP1
00001fb1: POP
00001fb2: PUSH1 0x00
00001fb4: DUP2
00001fb5: MLOAD
00001fb6: GT
00001fb7: PUSH2 0x1fcf
00001fba: JUMPI
00001fbb: PUSH1 0x40
00001fbd: MLOAD
00001fbe: DUP1
00001fbf: PUSH1 0x20
00001fc1: ADD
00001fc2: PUSH1 0x40
00001fc4: MSTORE
00001fc5: DUP1
00001fc6: PUSH1 0x00
00001fc8: DUP2
00001fc9: MSTORE
00001fca: POP
00001fcb: PUSH2 0x1ffa
00001fce: JUMP
00001fcf: JUMPDEST
00001fd0: DUP1
00001fd1: PUSH2 0x1fd9
00001fd4: DUP5
00001fd5: PUSH2 0x2be1
00001fd8: JUMP
00001fd9: JUMPDEST
00001fda: PUSH1 0x40
00001fdc: MLOAD
00001fdd: PUSH1 0x20
00001fdf: ADD
00001fe0: PUSH2 0x1fea
00001fe3: SWAP3
00001fe4: SWAP2
00001fe5: SWAP1
00001fe6: PUSH2 0x3839
00001fe9: JUMP
00001fea: JUMPDEST
00001feb: PUSH1 0x40
00001fed: MLOAD
00001fee: PUSH1 0x20
00001ff0: DUP2
00001ff1: DUP4
00001ff2: SUB
00001ff3: SUB
00001ff4: DUP2
00001ff5: MSTORE
00001ff6: SWAP1
00001ff7: PUSH1 0x40
00001ff9: MSTORE
00001ffa: JUMPDEST
00001ffb: SWAP4
00001ffc: SWAP3
00001ffd: POP
00001ffe: POP
00001fff: POP
00002000: JUMP
00002001: JUMPDEST
00002002: PUSH1 0x00
00002004: DUP1
00002005: PUSH2 0x200f
00002008: DUP6
00002009: DUP6
0000200a: DUP6
0000200b: PUSH2 0x2829
0000200e: JUMP
0000200f: JUMPDEST
00002010: SWAP2
00002011: POP
00002012: SWAP2
00002013: POP
00002014: JUMPDEST
00002015: SWAP4
00002016: POP
00002017: SWAP4
00002018: SWAP2
00002019: POP
0000201a: POP
0000201b: JUMP
0000201c: JUMPDEST
0000201d: PUSH1 0x00
0000201f: DUP3
00002020: DUP2
00002021: MSTORE
00002022: PUSH1 0x06
00002024: PUSH1 0x20
00002026: MSTORE
00002027: PUSH1 0x40
00002029: SWAP1
0000202a: KECCAK256
0000202b: PUSH1 0x01
0000202d: ADD
0000202e: SLOAD
0000202f: PUSH2 0x2038
00002032: DUP2
00002033: CALLER
00002034: PUSH2 0x2377
00002037: JUMP
00002038: JUMPDEST
00002039: PUSH2 0x0aa8
0000203c: DUP4
0000203d: DUP4
0000203e: PUSH2 0x2960
00002041: JUMP
00002042: JUMPDEST
00002043: PUSH1 0x00
00002045: PUSH2 0x204e
00002048: DUP2
00002049: CALLER
0000204a: PUSH2 0x2377
0000204d: JUMP
0000204e: JUMPDEST
0000204f: DUP2
00002050: PUSH1 0x1e
00002052: GT
00002053: ISZERO
00002054: DUP1
00002055: ISZERO
00002056: PUSH2 0x2060
00002059: JUMPI
0000205a: POP
0000205b: PUSH1 0x64
0000205d: DUP3
0000205e: GT
0000205f: ISZERO
00002060: JUMPDEST
00002061: PUSH2 0x20c4
00002064: JUMPI
00002065: PUSH1 0x40
00002067: MLOAD
00002068: PUSH3 0x461bcd
0000206c: PUSH1 0xe5
0000206e: SHL
0000206f: DUP2
00002070: MSTORE
00002071: PUSH1 0x20
00002073: PUSH1 0x04
00002075: DUP3
00002076: ADD
00002077: MSTORE
00002078: PUSH1 0x2f
0000207a: PUSH1 0x24
0000207c: DUP3
0000207d: ADD
0000207e: MSTORE
0000207f: PUSH32 0x506f6f6c204572726f723a2057726f6e6720636f6c6c61746572616c697a6174
000020a0: PUSH1 0x44
000020a2: DUP3
000020a3: ADD
000020a4: MSTORE
000020a5: PUSH15 0x696f6e20726174696f2076616c7565
000020b5: PUSH1 0x88
000020b7: SHL
000020b8: PUSH1 0x64
000020ba: DUP3
000020bb: ADD
000020bc: MSTORE
000020bd: PUSH1 0x84
000020bf: ADD
000020c0: PUSH2 0x0972
000020c3: JUMP
000020c4: JUMPDEST
000020c5: POP
000020c6: PUSH1 0x0d
000020c8: SSTORE
000020c9: JUMP
000020ca: JUMPDEST
000020cb: PUSH1 0x00
000020cd: PUSH1 0x01
000020cf: PUSH1 0x01
000020d1: PUSH1 0xe0
000020d3: SHL
000020d4: SUB
000020d5: NOT
000020d6: DUP3
000020d7: AND
000020d8: PUSH4 0x7965db0b
000020dd: PUSH1 0xe0
000020df: SHL
000020e0: EQ
000020e1: DUP1
000020e2: PUSH2 0x0865
000020e5: JUMPI
000020e6: POP
000020e7: PUSH2 0x0865
000020ea: DUP3
000020eb: JUMPDEST
000020ec: PUSH1 0x00
000020ee: PUSH1 0x01
000020f0: PUSH1 0x01
000020f2: PUSH1 0xe0
000020f4: SHL
000020f5: SUB
000020f6: NOT
000020f7: DUP3
000020f8: AND
000020f9: PUSH4 0x80ac58cd
000020fe: PUSH1 0xe0
00002100: SHL
00002101: EQ
00002102: DUP1
00002103: PUSH2 0x211c
00002106: JUMPI
00002107: POP
00002108: PUSH1 0x01
0000210a: PUSH1 0x01
0000210c: PUSH1 0xe0
0000210e: SHL
0000210f: SUB
00002110: NOT
00002111: DUP3
00002112: AND
00002113: PUSH4 0x5b5e139f
00002118: PUSH1 0xe0
0000211a: SHL
0000211b: EQ
0000211c: JUMPDEST
0000211d: DUP1
0000211e: PUSH2 0x0865
00002121: JUMPI
00002122: POP
00002123: PUSH4 0x01ffc9a7
00002128: PUSH1 0xe0
0000212a: SHL
0000212b: PUSH1 0x01
0000212d: PUSH1 0x01
0000212f: PUSH1 0xe0
00002131: SHL
00002132: SUB
00002133: NOT
00002134: DUP4
00002135: AND
00002136: EQ
00002137: PUSH2 0x0865
0000213a: JUMP
0000213b: JUMPDEST
0000213c: PUSH1 0x00
0000213e: DUP2
0000213f: DUP2
00002140: MSTORE
00002141: PUSH1 0x04
00002143: PUSH1 0x20
00002145: MSTORE
00002146: PUSH1 0x40
00002148: SWAP1
00002149: KECCAK256
0000214a: DUP1
0000214b: SLOAD
0000214c: PUSH1 0x01
0000214e: PUSH1 0x01
00002150: PUSH1 0xa0
00002152: SHL
00002153: SUB
00002154: NOT
00002155: AND
00002156: PUSH1 0x01
00002158: PUSH1 0x01
0000215a: PUSH1 0xa0
0000215c: SHL
0000215d: SUB
0000215e: DUP5
0000215f: AND
00002160: SWAP1
00002161: DUP2
00002162: OR
00002163: SWAP1
00002164: SWAP2
00002165: SSTORE
00002166: DUP2
00002167: SWAP1
00002168: PUSH2 0x2170
0000216b: DUP3
0000216c: PUSH2 0x14fc
0000216f: JUMP
00002170: JUMPDEST
00002171: PUSH1 0x01
00002173: PUSH1 0x01
00002175: PUSH1 0xa0
00002177: SHL
00002178: SUB
00002179: AND
0000217a: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
0000219b: PUSH1 0x40
0000219d: MLOAD
0000219e: PUSH1 0x40
000021a0: MLOAD
000021a1: DUP1
000021a2: SWAP2
000021a3: SUB
000021a4: SWAP1
000021a5: LOG4
000021a6: POP
000021a7: POP
000021a8: JUMP
000021a9: JUMPDEST
000021aa: PUSH1 0x00
000021ac: DUP1
000021ad: PUSH1 0x17
000021af: DUP4
000021b0: DUP2
000021b1: SLOAD
000021b2: DUP2
000021b3: LT
000021b4: PUSH2 0x21bf
000021b7: JUMPI
000021b8: PUSH2 0x21bf
000021bb: PUSH2 0x3bd1
000021be: JUMP
000021bf: JUMPDEST
000021c0: PUSH1 0x00
000021c2: SWAP2
000021c3: DUP3
000021c4: MSTORE
000021c5: PUSH1 0x20
000021c7: DUP3
000021c8: KECCAK256
000021c9: PUSH1 0x04
000021cb: PUSH1 0x05
000021cd: SWAP1
000021ce: SWAP3
000021cf: MUL
000021d0: ADD
000021d1: SWAP1
000021d2: DUP2
000021d3: ADD
000021d4: SLOAD
000021d5: SWAP1
000021d6: SWAP3
000021d7: POP
000021d8: PUSH1 0xff
000021da: AND
000021db: PUSH2 0x21e6
000021de: JUMPI
000021df: PUSH1 0x0a
000021e1: SLOAD
000021e2: PUSH2 0x21ea
000021e5: JUMP
000021e6: JUMPDEST
000021e7: PUSH1 0x09
000021e9: SLOAD
000021ea: JUMPDEST
000021eb: SWAP1
000021ec: POP
000021ed: PUSH1 0x01
000021ef: DUP3
000021f0: SLOAD
000021f1: PUSH1 0xff
000021f3: AND
000021f4: PUSH1 0x02
000021f6: DUP2
000021f7: GT
000021f8: ISZERO
000021f9: PUSH2 0x2204
000021fc: JUMPI
000021fd: PUSH2 0x2204
00002200: PUSH2 0x3bbb
00002203: JUMP
00002204: JUMPDEST
00002205: EQ
00002206: PUSH2 0x220e
00002209: JUMPI
0000220a: PUSH1 0x00
0000220c: DUP1
0000220d: REVERT
0000220e: JUMPDEST
0000220f: PUSH2 0x2218
00002212: CALLER
00002213: DUP6
00002214: PUSH2 0x23db
00002217: JUMP
00002218: JUMPDEST
00002219: PUSH2 0x2221
0000221c: JUMPI
0000221d: PUSH1 0x00
0000221f: DUP1
00002220: REVERT
00002221: JUMPDEST
00002222: DUP1
00002223: DUP3
00002224: PUSH1 0x03
00002226: ADD
00002227: SLOAD
00002228: PUSH2 0x2231
0000222b: SWAP2
0000222c: SWAP1
0000222d: PUSH2 0x3a80
00002230: JUMP
00002231: JUMPDEST
00002232: TIMESTAMP
00002233: GT
00002234: PUSH2 0x228f
00002237: JUMPI
00002238: PUSH1 0x40
0000223a: MLOAD
0000223b: PUSH3 0x461bcd
0000223f: PUSH1 0xe5
00002241: SHL
00002242: DUP2
00002243: MSTORE
00002244: PUSH1 0x20
00002246: PUSH1 0x04
00002248: DUP3
00002249: ADD
0000224a: MSTORE
0000224b: PUSH1 0x27
0000224d: PUSH1 0x24
0000224f: DUP3
00002250: ADD
00002251: MSTORE
00002252: PUSH32 0x506f6f6c204572726f723a20546865207769746864726177616c206973206c6f
00002273: PUSH1 0x44
00002275: DUP3
00002276: ADD
00002277: MSTORE
00002278: PUSH7 0x0636b656420757
00002280: PUSH1 0xcc
00002282: SHL
00002283: PUSH1 0x64
00002285: DUP3
00002286: ADD
00002287: MSTORE
00002288: PUSH1 0x84
0000228a: ADD
0000228b: PUSH2 0x0972
0000228e: JUMP
0000228f: JUMPDEST
00002290: DUP2
00002291: SLOAD
00002292: PUSH1 0xff
00002294: NOT
00002295: AND
00002296: PUSH1 0x02
00002298: OR
00002299: DUP3
0000229a: SSTORE
0000229b: PUSH1 0x04
0000229d: DUP3
0000229e: ADD
0000229f: SLOAD
000022a0: PUSH1 0xff
000022a2: AND
000022a3: ISZERO
000022a4: PUSH2 0x2302
000022a7: JUMPI
000022a8: PUSH1 0x12
000022aa: SLOAD
000022ab: PUSH1 0x14
000022ad: SLOAD
000022ae: DUP4
000022af: PUSH1 0x01
000022b1: ADD
000022b2: SLOAD
000022b3: PUSH2 0x22bc
000022b6: SWAP2
000022b7: SWAP1
000022b8: PUSH2 0x3aac
000022bb: JUMP
000022bc: JUMPDEST
000022bd: PUSH2 0x22c6
000022c0: SWAP2
000022c1: SWAP1
000022c2: PUSH2 0x3a98
000022c5: JUMP
000022c6: JUMPDEST
000022c7: SWAP3
000022c8: POP
000022c9: DUP2
000022ca: PUSH1 0x01
000022cc: ADD
000022cd: SLOAD
000022ce: PUSH1 0x12
000022d0: PUSH1 0x00
000022d2: DUP3
000022d3: DUP3
000022d4: SLOAD
000022d5: PUSH2 0x22de
000022d8: SWAP2
000022d9: SWAP1
000022da: PUSH2 0x3acb
000022dd: JUMP
000022de: JUMPDEST
000022df: SWAP3
000022e0: POP
000022e1: POP
000022e2: DUP2
000022e3: SWAP1
000022e4: SSTORE
000022e5: POP
000022e6: DUP3
000022e7: PUSH1 0x14
000022e9: PUSH1 0x00
000022eb: DUP3
000022ec: DUP3
000022ed: SLOAD
000022ee: PUSH2 0x22f7
000022f1: SWAP2
000022f2: SWAP1
000022f3: PUSH2 0x3acb
000022f6: JUMP
000022f7: JUMPDEST
000022f8: SWAP1
000022f9: SWAP2
000022fa: SSTORE
000022fb: POP
000022fc: PUSH2 0x2358
000022ff: SWAP1
00002300: POP
00002301: JUMP
00002302: JUMPDEST
00002303: PUSH1 0x11
00002305: SLOAD
00002306: PUSH1 0x13
00002308: SLOAD
00002309: DUP4
0000230a: PUSH1 0x01
0000230c: ADD
0000230d: SLOAD
0000230e: PUSH2 0x2317
00002311: SWAP2
00002312: SWAP1
00002313: PUSH2 0x3aac
00002316: JUMP
00002317: JUMPDEST
00002318: PUSH2 0x2321
0000231b: SWAP2
0000231c: SWAP1
0000231d: PUSH2 0x3a98
00002320: JUMP
00002321: JUMPDEST
00002322: SWAP3
00002323: POP
00002324: DUP2
00002325: PUSH1 0x01
00002327: ADD
00002328: SLOAD
00002329: PUSH1 0x11
0000232b: PUSH1 0x00
0000232d: DUP3
0000232e: DUP3
0000232f: SLOAD
00002330: PUSH2 0x2339
00002333: SWAP2
00002334: SWAP1
00002335: PUSH2 0x3acb
00002338: JUMP
00002339: JUMPDEST
0000233a: SWAP3
0000233b: POP
0000233c: POP
0000233d: DUP2
0000233e: SWAP1
0000233f: SSTORE
00002340: POP
00002341: DUP3
00002342: PUSH1 0x13
00002344: PUSH1 0x00
00002346: DUP3
00002347: DUP3
00002348: SLOAD
00002349: PUSH2 0x2352
0000234c: SWAP2
0000234d: SWAP1
0000234e: PUSH2 0x3acb
00002351: JUMP
00002352: JUMPDEST
00002353: SWAP1
00002354: SWAP2
00002355: SSTORE
00002356: POP
00002357: POP
00002358: JUMPDEST
00002359: PUSH1 0x19
0000235b: SLOAD
0000235c: PUSH2 0x236f
0000235f: SWAP1
00002360: PUSH1 0x01
00002362: PUSH1 0x01
00002364: PUSH1 0xa0
00002366: SHL
00002367: SUB
00002368: AND
00002369: DUP7
0000236a: DUP6
0000236b: PUSH2 0x2930
0000236e: JUMP
0000236f: JUMPDEST
00002370: POP
00002371: POP
00002372: SWAP3
00002373: SWAP2
00002374: POP
00002375: POP
00002376: JUMP
00002377: JUMPDEST
00002378: PUSH2 0x2381
0000237b: DUP3
0000237c: DUP3
0000237d: PUSH2 0x1a10
00002380: JUMP
00002381: JUMPDEST
00002382: PUSH2 0x139a
00002385: JUMPI
00002386: PUSH2 0x2399
00002389: DUP2
0000238a: PUSH1 0x01
0000238c: PUSH1 0x01
0000238e: PUSH1 0xa0
00002390: SHL
00002391: SUB
00002392: AND
00002393: PUSH1 0x14
00002395: PUSH2 0x2cdf
00002398: JUMP
00002399: JUMPDEST
0000239a: PUSH2 0x23a4
0000239d: DUP4
0000239e: PUSH1 0x20
000023a0: PUSH2 0x2cdf
000023a3: JUMP
000023a4: JUMPDEST
000023a5: PUSH1 0x40
000023a7: MLOAD
000023a8: PUSH1 0x20
000023aa: ADD
000023ab: PUSH2 0x23b5
000023ae: SWAP3
000023af: SWAP2
000023b0: SWAP1
000023b1: PUSH2 0x3868
000023b4: JUMP
000023b5: JUMPDEST
000023b6: PUSH1 0x40
000023b8: DUP1
000023b9: MLOAD
000023ba: PUSH1 0x1f
000023bc: NOT
000023bd: DUP2
000023be: DUP5
000023bf: SUB
000023c0: ADD
000023c1: DUP2
000023c2: MSTORE
000023c3: SWAP1
000023c4: DUP3
000023c5: SWAP1
000023c6: MSTORE
000023c7: PUSH3 0x461bcd
000023cb: PUSH1 0xe5
000023cd: SHL
000023ce: DUP3
000023cf: MSTORE
000023d0: PUSH2 0x0972
000023d3: SWAP2
000023d4: PUSH1 0x04
000023d6: ADD
000023d7: PUSH2 0x3993
000023da: JUMP
000023db: JUMPDEST
000023dc: PUSH1 0x00
000023de: DUP2
000023df: DUP2
000023e0: MSTORE
000023e1: PUSH1 0x02
000023e3: PUSH1 0x20
000023e5: MSTORE
000023e6: PUSH1 0x40
000023e8: DUP2
000023e9: KECCAK256
000023ea: SLOAD
000023eb: PUSH1 0x01
000023ed: PUSH1 0x01
000023ef: PUSH1 0xa0
000023f1: SHL
000023f2: SUB
000023f3: AND
000023f4: PUSH2 0x2454
000023f7: JUMPI
000023f8: PUSH1 0x40
000023fa: MLOAD
000023fb: PUSH3 0x461bcd
000023ff: PUSH1 0xe5
00002401: SHL
00002402: DUP2
00002403: MSTORE
00002404: PUSH1 0x20
00002406: PUSH1 0x04
00002408: DUP3
00002409: ADD
0000240a: MSTORE
0000240b: PUSH1 0x2c
0000240d: PUSH1 0x24
0000240f: DUP3
00002410: ADD
00002411: MSTORE
00002412: PUSH32 0x4552433732313a206f70657261746f7220717565727920666f72206e6f6e6578
00002433: PUSH1 0x44
00002435: DUP3
00002436: ADD
00002437: MSTORE
00002438: PUSH12 0x34b9ba32b73a103a37b5b2b7
00002445: PUSH1 0xa1
00002447: SHL
00002448: PUSH1 0x64
0000244a: DUP3
0000244b: ADD
0000244c: MSTORE
0000244d: PUSH1 0x84
0000244f: ADD
00002450: PUSH2 0x0972
00002453: JUMP
00002454: JUMPDEST
00002455: PUSH1 0x00
00002457: PUSH2 0x245f
0000245a: DUP4
0000245b: PUSH2 0x14fc
0000245e: JUMP
0000245f: JUMPDEST
00002460: SWAP1
00002461: POP
00002462: DUP1
00002463: PUSH1 0x01
00002465: PUSH1 0x01
00002467: PUSH1 0xa0
00002469: SHL
0000246a: SUB
0000246b: AND
0000246c: DUP5
0000246d: PUSH1 0x01
0000246f: PUSH1 0x01
00002471: PUSH1 0xa0
00002473: SHL
00002474: SUB
00002475: AND
00002476: EQ
00002477: DUP1
00002478: PUSH2 0x249a
0000247b: JUMPI
0000247c: POP
0000247d: DUP4
0000247e: PUSH1 0x01
00002480: PUSH1 0x01
00002482: PUSH1 0xa0
00002484: SHL
00002485: SUB
00002486: AND
00002487: PUSH2 0x248f
0000248a: DUP5
0000248b: PUSH2 0x08fd
0000248e: JUMP
0000248f: JUMPDEST
00002490: PUSH1 0x01
00002492: PUSH1 0x01
00002494: PUSH1 0xa0
00002496: SHL
00002497: SUB
00002498: AND
00002499: EQ
0000249a: JUMPDEST
0000249b: DUP1
0000249c: PUSH2 0x24ca
0000249f: JUMPI
000024a0: POP
000024a1: PUSH1 0x01
000024a3: PUSH1 0x01
000024a5: PUSH1 0xa0
000024a7: SHL
000024a8: SUB
000024a9: DUP1
000024aa: DUP3
000024ab: AND
000024ac: PUSH1 0x00
000024ae: SWAP1
000024af: DUP2
000024b0: MSTORE
000024b1: PUSH1 0x05
000024b3: PUSH1 0x20
000024b5: SWAP1
000024b6: DUP2
000024b7: MSTORE
000024b8: PUSH1 0x40
000024ba: DUP1
000024bb: DUP4
000024bc: KECCAK256
000024bd: SWAP4
000024be: DUP9
000024bf: AND
000024c0: DUP4
000024c1: MSTORE
000024c2: SWAP3
000024c3: SWAP1
000024c4: MSTORE
000024c5: KECCAK256
000024c6: SLOAD
000024c7: PUSH1 0xff
000024c9: AND
000024ca: JUMPDEST
000024cb: SWAP5
000024cc: SWAP4
000024cd: POP
000024ce: POP
000024cf: POP
000024d0: POP
000024d1: JUMP
000024d2: JUMPDEST
000024d3: DUP3
000024d4: PUSH1 0x01
000024d6: PUSH1 0x01
000024d8: PUSH1 0xa0
000024da: SHL
000024db: SUB
000024dc: AND
000024dd: PUSH2 0x24e5
000024e0: DUP3
000024e1: PUSH2 0x14fc
000024e4: JUMP
000024e5: JUMPDEST
000024e6: PUSH1 0x01
000024e8: PUSH1 0x01
000024ea: PUSH1 0xa0
000024ec: SHL
000024ed: SUB
000024ee: AND
000024ef: EQ
000024f0: PUSH2 0x254d
000024f3: JUMPI
000024f4: PUSH1 0x40
000024f6: MLOAD
000024f7: PUSH3 0x461bcd
000024fb: PUSH1 0xe5
000024fd: SHL
000024fe: DUP2
000024ff: MSTORE
00002500: PUSH1 0x20
00002502: PUSH1 0x04
00002504: DUP3
00002505: ADD
00002506: MSTORE
00002507: PUSH1 0x29
00002509: PUSH1 0x24
0000250b: DUP3
0000250c: ADD
0000250d: MSTORE
0000250e: PUSH32 0x4552433732313a207472616e73666572206f6620746f6b656e20746861742069
0000252f: PUSH1 0x44
00002531: DUP3
00002532: ADD
00002533: MSTORE
00002534: PUSH9 0x39903737ba1037bbb7
0000253e: PUSH1 0xb9
00002540: SHL
00002541: PUSH1 0x64
00002543: DUP3
00002544: ADD
00002545: MSTORE
00002546: PUSH1 0x84
00002548: ADD
00002549: PUSH2 0x0972
0000254c: JUMP
0000254d: JUMPDEST
0000254e: PUSH1 0x01
00002550: PUSH1 0x01
00002552: PUSH1 0xa0
00002554: SHL
00002555: SUB
00002556: DUP3
00002557: AND
00002558: PUSH2 0x25af
0000255b: JUMPI
0000255c: PUSH1 0x40
0000255e: MLOAD
0000255f: PUSH3 0x461bcd
00002563: PUSH1 0xe5
00002565: SHL
00002566: DUP2
00002567: MSTORE
00002568: PUSH1 0x20
0000256a: PUSH1 0x04
0000256c: DUP3
0000256d: ADD
0000256e: MSTORE
0000256f: PUSH1 0x24
00002571: DUP1
00002572: DUP3
00002573: ADD
00002574: MSTORE
00002575: PUSH32 0x4552433732313a207472616e7366657220746f20746865207a65726f20616464
00002596: PUSH1 0x44
00002598: DUP3
00002599: ADD
0000259a: MSTORE
0000259b: PUSH4 0x72657373
000025a0: PUSH1 0xe0
000025a2: SHL
000025a3: PUSH1 0x64
000025a5: DUP3
000025a6: ADD
000025a7: MSTORE
000025a8: PUSH1 0x84
000025aa: ADD
000025ab: PUSH2 0x0972
000025ae: JUMP
000025af: JUMPDEST
000025b0: PUSH2 0x25ba
000025b3: DUP4
000025b4: DUP4
000025b5: DUP4
000025b6: PUSH2 0x2e7b
000025b9: JUMP
000025ba: JUMPDEST
000025bb: PUSH2 0x25c5
000025be: PUSH1 0x00
000025c0: DUP3
000025c1: PUSH2 0x213b
000025c4: JUMP
000025c5: JUMPDEST
000025c6: PUSH1 0x01
000025c8: PUSH1 0x01
000025ca: PUSH1 0xa0
000025cc: SHL
000025cd: SUB
000025ce: DUP4
000025cf: AND
000025d0: PUSH1 0x00
000025d2: SWAP1
000025d3: DUP2
000025d4: MSTORE
000025d5: PUSH1 0x03
000025d7: PUSH1 0x20
000025d9: MSTORE
000025da: PUSH1 0x40
000025dc: DUP2
000025dd: KECCAK256
000025de: DUP1
000025df: SLOAD
000025e0: PUSH1 0x01
000025e2: SWAP3
000025e3: SWAP1
000025e4: PUSH2 0x25ee
000025e7: SWAP1
000025e8: DUP5
000025e9: SWAP1
000025ea: PUSH2 0x3acb
000025ed: JUMP
000025ee: JUMPDEST
000025ef: SWAP1
000025f0: SWAP2
000025f1: SSTORE
000025f2: POP
000025f3: POP
000025f4: PUSH1 0x01
000025f6: PUSH1 0x01
000025f8: PUSH1 0xa0
000025fa: SHL
000025fb: SUB
000025fc: DUP3
000025fd: AND
000025fe: PUSH1 0x00
00002600: SWAP1
00002601: DUP2
00002602: MSTORE
00002603: PUSH1 0x03
00002605: PUSH1 0x20
00002607: MSTORE
00002608: PUSH1 0x40
0000260a: DUP2
0000260b: KECCAK256
0000260c: DUP1
0000260d: SLOAD
0000260e: PUSH1 0x01
00002610: SWAP3
00002611: SWAP1
00002612: PUSH2 0x261c
00002615: SWAP1
00002616: DUP5
00002617: SWAP1
00002618: PUSH2 0x3a80
0000261b: JUMP
0000261c: JUMPDEST
0000261d: SWAP1
0000261e: SWAP2
0000261f: SSTORE
00002620: POP
00002621: POP
00002622: PUSH1 0x00
00002624: DUP2
00002625: DUP2
00002626: MSTORE
00002627: PUSH1 0x02
00002629: PUSH1 0x20
0000262b: MSTORE
0000262c: PUSH1 0x40
0000262e: DUP1
0000262f: DUP3
00002630: KECCAK256
00002631: DUP1
00002632: SLOAD
00002633: PUSH1 0x01
00002635: PUSH1 0x01
00002637: PUSH1 0xa0
00002639: SHL
0000263a: SUB
0000263b: NOT
0000263c: AND
0000263d: PUSH1 0x01
0000263f: PUSH1 0x01
00002641: PUSH1 0xa0
00002643: SHL
00002644: SUB
00002645: DUP7
00002646: DUP2
00002647: AND
00002648: SWAP2
00002649: DUP3
0000264a: OR
0000264b: SWAP1
0000264c: SWAP3
0000264d: SSTORE
0000264e: SWAP2
0000264f: MLOAD
00002650: DUP5
00002651: SWAP4
00002652: SWAP2
00002653: DUP8
00002654: AND
00002655: SWAP2
00002656: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00002677: SWAP2
00002678: LOG4
00002679: POP
0000267a: POP
0000267b: POP
0000267c: JUMP
0000267d: JUMPDEST
0000267e: PUSH1 0x40
00002680: MLOAD
00002681: PUSH1 0x01
00002683: PUSH1 0x01
00002685: PUSH1 0xa0
00002687: SHL
00002688: SUB
00002689: DUP1
0000268a: DUP6
0000268b: AND
0000268c: PUSH1 0x24
0000268e: DUP4
0000268f: ADD
00002690: MSTORE
00002691: DUP4
00002692: AND
00002693: PUSH1 0x44
00002695: DUP3
00002696: ADD
00002697: MSTORE
00002698: PUSH1 0x64
0000269a: DUP2
0000269b: ADD
0000269c: DUP3
0000269d: SWAP1
0000269e: MSTORE
0000269f: PUSH2 0x1f13
000026a2: SWAP1
000026a3: DUP6
000026a4: SWAP1
000026a5: PUSH4 0x23b872dd
000026aa: PUSH1 0xe0
000026ac: SHL
000026ad: SWAP1
000026ae: PUSH1 0x84
000026b0: ADD
000026b1: JUMPDEST
000026b2: PUSH1 0x40
000026b4: DUP1
000026b5: MLOAD
000026b6: PUSH1 0x1f
000026b8: NOT
000026b9: DUP2
000026ba: DUP5
000026bb: SUB
000026bc: ADD
000026bd: DUP2
000026be: MSTORE
000026bf: SWAP2
000026c0: SWAP1
000026c1: MSTORE
000026c2: PUSH1 0x20
000026c4: DUP2
000026c5: ADD
000026c6: DUP1
000026c7: MLOAD
000026c8: PUSH1 0x01
000026ca: PUSH1 0x01
000026cc: PUSH1 0xe0
000026ce: SHL
000026cf: SUB
000026d0: AND
000026d1: PUSH1 0x01
000026d3: PUSH1 0x01
000026d5: PUSH1 0xe0
000026d7: SHL
000026d8: SUB
000026d9: NOT
000026da: SWAP1
000026db: SWAP4
000026dc: AND
000026dd: SWAP3
000026de: SWAP1
000026df: SWAP3
000026e0: OR
000026e1: SWAP1
000026e2: SWAP2
000026e3: MSTORE
000026e4: PUSH2 0x2f21
000026e7: JUMP
000026e8: JUMPDEST
000026e9: PUSH2 0x26f2
000026ec: DUP3
000026ed: DUP3
000026ee: PUSH2 0x1a10
000026f1: JUMP
000026f2: JUMPDEST
000026f3: PUSH2 0x139a
000026f6: JUMPI
000026f7: PUSH1 0x00
000026f9: DUP3
000026fa: DUP2
000026fb: MSTORE
000026fc: PUSH1 0x06
000026fe: PUSH1 0x20
00002700: SWAP1
00002701: DUP2
00002702: MSTORE
00002703: PUSH1 0x40
00002705: DUP1
00002706: DUP4
00002707: KECCAK256
00002708: PUSH1 0x01
0000270a: PUSH1 0x01
0000270c: PUSH1 0xa0
0000270e: SHL
0000270f: SUB
00002710: DUP6
00002711: AND
00002712: DUP5
00002713: MSTORE
00002714: SWAP1
00002715: SWAP2
00002716: MSTORE
00002717: SWAP1
00002718: KECCAK256
00002719: DUP1
0000271a: SLOAD
0000271b: PUSH1 0xff
0000271d: NOT
0000271e: AND
0000271f: PUSH1 0x01
00002721: OR
00002722: SWAP1
00002723: SSTORE
00002724: PUSH2 0x272a
00002727: CALLER
00002728: SWAP1
00002729: JUMP
0000272a: JUMPDEST
0000272b: PUSH1 0x01
0000272d: PUSH1 0x01
0000272f: PUSH1 0xa0
00002731: SHL
00002732: SUB
00002733: AND
00002734: DUP2
00002735: PUSH1 0x01
00002737: PUSH1 0x01
00002739: PUSH1 0xa0
0000273b: SHL
0000273c: SUB
0000273d: AND
0000273e: DUP4
0000273f: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d
00002760: PUSH1 0x40
00002762: MLOAD
00002763: PUSH1 0x40
00002765: MLOAD
00002766: DUP1
00002767: SWAP2
00002768: SUB
00002769: SWAP1
0000276a: LOG4
0000276b: POP
0000276c: POP
0000276d: JUMP
0000276e: JUMPDEST
0000276f: PUSH1 0x00
00002771: DUP1
00002772: PUSH32 0x0000000000000000000000005f4ec3df9cbd43714fe2740f5e3616155c5b8419
00002793: PUSH1 0x01
00002795: PUSH1 0x01
00002797: PUSH1 0xa0
00002799: SHL
0000279a: SUB
0000279b: AND
0000279c: PUSH4 0xfeaf968c
000027a1: PUSH1 0x40
000027a3: MLOAD
000027a4: DUP2
000027a5: PUSH4 0xffffffff
000027aa: AND
000027ab: PUSH1 0xe0
000027ad: SHL
000027ae: DUP2
000027af: MSTORE
000027b0: PUSH1 0x04
000027b2: ADD
000027b3: PUSH1 0xa0
000027b5: PUSH1 0x40
000027b7: MLOAD
000027b8: DUP1
000027b9: DUP4
000027ba: SUB
000027bb: DUP2
000027bc: DUP7
000027bd: DUP1
000027be: EXTCODESIZE
000027bf: ISZERO
000027c0: DUP1
000027c1: ISZERO
000027c2: PUSH2 0x27ca
000027c5: JUMPI
000027c6: PUSH1 0x00
000027c8: DUP1
000027c9: REVERT
000027ca: JUMPDEST
000027cb: POP
000027cc: GAS
000027cd: STATICCALL
000027ce: ISZERO
000027cf: DUP1
000027d0: ISZERO
000027d1: PUSH2 0x27de
000027d4: JUMPI
000027d5: RETURNDATASIZE
000027d6: PUSH1 0x00
000027d8: DUP1
000027d9: RETURNDATACOPY
000027da: RETURNDATASIZE
000027db: PUSH1 0x00
000027dd: REVERT
000027de: JUMPDEST
000027df: POP
000027e0: POP
000027e1: POP
000027e2: POP
000027e3: PUSH1 0x40
000027e5: MLOAD
000027e6: RETURNDATASIZE
000027e7: PUSH1 0x1f
000027e9: NOT
000027ea: PUSH1 0x1f
000027ec: DUP3
000027ed: ADD
000027ee: AND
000027ef: DUP3
000027f0: ADD
000027f1: DUP1
000027f2: PUSH1 0x40
000027f4: MSTORE
000027f5: POP
000027f6: DUP2
000027f7: ADD
000027f8: SWAP1
000027f9: PUSH2 0x2802
000027fc: SWAP2
000027fd: SWAP1
000027fe: PUSH2 0x37a1
00002801: JUMP
00002802: JUMPDEST
00002803: POP
00002804: SWAP2
00002805: SWAP6
00002806: SWAP5
00002807: POP
00002808: POP
00002809: POP
0000280a: POP
0000280b: POP
0000280c: JUMP
0000280d: JUMPDEST
0000280e: PUSH1 0x00
00002810: PUSH1 0x64
00002812: PUSH1 0x0d
00002814: SLOAD
00002815: DUP4
00002816: PUSH2 0x281f
00002819: SWAP2
0000281a: SWAP1
0000281b: PUSH2 0x3aac
0000281e: JUMP
0000281f: JUMPDEST
00002820: PUSH2 0x0865
00002823: SWAP2
00002824: SWAP1
00002825: PUSH2 0x3a98
00002828: JUMP
00002829: JUMPDEST
0000282a: PUSH1 0x08
0000282c: SLOAD
0000282d: PUSH1 0x40
0000282f: MLOAD
00002830: PUSH4 0xd07a1c57
00002835: PUSH1 0xe0
00002837: SHL
00002838: DUP2
00002839: MSTORE
0000283a: PUSH1 0x04
0000283c: DUP2
0000283d: ADD
0000283e: DUP6
0000283f: SWAP1
00002840: MSTORE
00002841: PUSH1 0x24
00002843: DUP2
00002844: ADD
00002845: DUP5
00002846: SWAP1
00002847: MSTORE
00002848: PUSH1 0x44
0000284a: DUP2
0000284b: ADD
0000284c: DUP4
0000284d: SWAP1
0000284e: MSTORE
0000284f: PUSH1 0x00
00002851: SWAP2
00002852: DUP3
00002853: SWAP2
00002854: PUSH1 0x01
00002856: PUSH1 0x01
00002858: PUSH1 0xa0
0000285a: SHL
0000285b: SUB
0000285c: SWAP1
0000285d: SWAP2
0000285e: AND
0000285f: SWAP1
00002860: PUSH4 0xd07a1c57
00002865: SWAP1
00002866: PUSH1 0x64
00002868: ADD
00002869: PUSH1 0x40
0000286b: DUP1
0000286c: MLOAD
0000286d: DUP1
0000286e: DUP4
0000286f: SUB
00002870: DUP2
00002871: DUP7
00002872: DUP1
00002873: EXTCODESIZE
00002874: ISZERO
00002875: DUP1
00002876: ISZERO
00002877: PUSH2 0x287f
0000287a: JUMPI
0000287b: PUSH1 0x00
0000287d: DUP1
0000287e: REVERT
0000287f: JUMPDEST
00002880: POP
00002881: GAS
00002882: STATICCALL
00002883: ISZERO
00002884: DUP1
00002885: ISZERO
00002886: PUSH2 0x2893
00002889: JUMPI
0000288a: RETURNDATASIZE
0000288b: PUSH1 0x00
0000288d: DUP1
0000288e: RETURNDATACOPY
0000288f: RETURNDATASIZE
00002890: PUSH1 0x00
00002892: REVERT
00002893: JUMPDEST
00002894: POP
00002895: POP
00002896: POP
00002897: POP
00002898: PUSH1 0x40
0000289a: MLOAD
0000289b: RETURNDATASIZE
0000289c: PUSH1 0x1f
0000289e: NOT
0000289f: PUSH1 0x1f
000028a1: DUP3
000028a2: ADD
000028a3: AND
000028a4: DUP3
000028a5: ADD
000028a6: DUP1
000028a7: PUSH1 0x40
000028a9: MSTORE
000028aa: POP
000028ab: DUP2
000028ac: ADD
000028ad: SWAP1
000028ae: PUSH2 0x28b7
000028b1: SWAP2
000028b2: SWAP1
000028b3: PUSH2 0x3751
000028b6: JUMP
000028b7: JUMPDEST
000028b8: SWAP1
000028b9: SWAP3
000028ba: POP
000028bb: SWAP1
000028bc: POP
000028bd: PUSH2 0x28c8
000028c0: PUSH2 0x03e8
000028c3: DUP6
000028c4: PUSH2 0x3a98
000028c7: JUMP
000028c8: JUMPDEST
000028c9: PUSH2 0x28d2
000028cc: DUP3
000028cd: DUP5
000028ce: PUSH2 0x3a80
000028d1: JUMP
000028d2: JUMPDEST
000028d3: GT
000028d4: PUSH2 0x2014
000028d7: JUMPI
000028d8: PUSH1 0x40
000028da: MLOAD
000028db: PUSH3 0x461bcd
000028df: PUSH1 0xe5
000028e1: SHL
000028e2: DUP2
000028e3: MSTORE
000028e4: PUSH1 0x20
000028e6: PUSH1 0x04
000028e8: DUP3
000028e9: ADD
000028ea: MSTORE
000028eb: PUSH1 0x28
000028ed: PUSH1 0x24
000028ef: DUP3
000028f0: ADD
000028f1: MSTORE
000028f2: PUSH32 0x4865676963506f6f6c3a20546865206f7074696f6e2773207072696365206973
00002913: PUSH1 0x44
00002915: DUP3
00002916: ADD
00002917: MSTORE
00002918: PUSH8 0x20746f6f206c6f77
00002921: PUSH1 0xc0
00002923: SHL
00002924: PUSH1 0x64
00002926: DUP3
00002927: ADD
00002928: MSTORE
00002929: PUSH1 0x84
0000292b: ADD
0000292c: PUSH2 0x0972
0000292f: JUMP
00002930: JUMPDEST
00002931: PUSH1 0x40
00002933: MLOAD
00002934: PUSH1 0x01
00002936: PUSH1 0x01
00002938: PUSH1 0xa0
0000293a: SHL
0000293b: SUB
0000293c: DUP4
0000293d: AND
0000293e: PUSH1 0x24
00002940: DUP3
00002941: ADD
00002942: MSTORE
00002943: PUSH1 0x44
00002945: DUP2
00002946: ADD
00002947: DUP3
00002948: SWAP1
00002949: MSTORE
0000294a: PUSH2 0x0aa8
0000294d: SWAP1
0000294e: DUP5
0000294f: SWAP1
00002950: PUSH4 0xa9059cbb
00002955: PUSH1 0xe0
00002957: SHL
00002958: SWAP1
00002959: PUSH1 0x64
0000295b: ADD
0000295c: PUSH2 0x26b1
0000295f: JUMP
00002960: JUMPDEST
00002961: PUSH2 0x296a
00002964: DUP3
00002965: DUP3
00002966: PUSH2 0x1a10
00002969: JUMP
0000296a: JUMPDEST
0000296b: ISZERO
0000296c: PUSH2 0x139a
0000296f: JUMPI
00002970: PUSH1 0x00
00002972: DUP3
00002973: DUP2
00002974: MSTORE
00002975: PUSH1 0x06
00002977: PUSH1 0x20
00002979: SWAP1
0000297a: DUP2
0000297b: MSTORE
0000297c: PUSH1 0x40
0000297e: DUP1
0000297f: DUP4
00002980: KECCAK256
00002981: PUSH1 0x01
00002983: PUSH1 0x01
00002985: PUSH1 0xa0
00002987: SHL
00002988: SUB
00002989: DUP6
0000298a: AND
0000298b: DUP1
0000298c: DUP6
0000298d: MSTORE
0000298e: SWAP3
0000298f: MSTORE
00002990: DUP1
00002991: DUP4
00002992: KECCAK256
00002993: DUP1
00002994: SLOAD
00002995: PUSH1 0xff
00002997: NOT
00002998: AND
00002999: SWAP1
0000299a: SSTORE
0000299b: MLOAD
0000299c: CALLER
0000299d: SWAP3
0000299e: DUP6
0000299f: SWAP2
000029a0: PUSH32 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b
000029c1: SWAP2
000029c2: SWAP1
000029c3: LOG4
000029c4: POP
000029c5: POP
000029c6: JUMP
000029c7: JUMPDEST
000029c8: PUSH1 0x01
000029ca: DUP2
000029cb: SLOAD
000029cc: PUSH1 0xff
000029ce: AND
000029cf: PUSH1 0x03
000029d1: DUP2
000029d2: GT
000029d3: ISZERO
000029d4: PUSH2 0x29df
000029d7: JUMPI
000029d8: PUSH2 0x29df
000029db: PUSH2 0x3bbb
000029de: JUMP
000029df: JUMPDEST
000029e0: EQ
000029e1: PUSH2 0x2a67
000029e4: JUMPI
000029e5: PUSH1 0x40
000029e7: MLOAD
000029e8: PUSH3 0x461bcd
000029ec: PUSH1 0xe5
000029ee: SHL
000029ef: DUP2
000029f0: MSTORE
000029f1: PUSH1 0x20
000029f3: PUSH1 0x04
000029f5: DUP3
000029f6: ADD
000029f7: MSTORE
000029f8: PUSH1 0x4c
000029fa: PUSH1 0x24
000029fc: DUP3
000029fd: ADD
000029fe: MSTORE
000029ff: PUSH32 0x506f6f6c204572726f723a20546865206f7074696f6e20776974682073756368
00002a20: PUSH1 0x44
00002a22: DUP3
00002a23: ADD
00002a24: MSTORE
00002a25: PUSH32 0x20616e2049442068617320616c7265616479206265656e206578657263697365
00002a46: PUSH1 0x64
00002a48: DUP3
00002a49: ADD
00002a4a: MSTORE
00002a4b: PUSH12 0x19081bdc88195e1c1a5c9959
00002a58: PUSH1 0xa2
00002a5a: SHL
00002a5b: PUSH1 0x84
00002a5d: DUP3
00002a5e: ADD
00002a5f: MSTORE
00002a60: PUSH1 0xa4
00002a62: ADD
00002a63: PUSH2 0x0972
00002a66: JUMP
00002a67: JUMPDEST
00002a68: DUP1
00002a69: PUSH1 0x03
00002a6b: ADD
00002a6c: SLOAD
00002a6d: PUSH1 0x0e
00002a6f: PUSH1 0x00
00002a71: DUP3
00002a72: DUP3
00002a73: SLOAD
00002a74: PUSH2 0x2a7d
00002a77: SWAP2
00002a78: SWAP1
00002a79: PUSH2 0x3acb
00002a7c: JUMP
00002a7d: JUMPDEST
00002a7e: SWAP1
00002a7f: SWAP2
00002a80: SSTORE
00002a81: POP
00002a82: POP
00002a83: PUSH1 0x05
00002a85: DUP2
00002a86: ADD
00002a87: SLOAD
00002a88: PUSH1 0x14
00002a8a: DUP1
00002a8b: SLOAD
00002a8c: PUSH1 0x00
00002a8e: SWAP1
00002a8f: PUSH2 0x2a99
00002a92: SWAP1
00002a93: DUP5
00002a94: SWAP1
00002a95: PUSH2 0x3a80
00002a98: JUMP
00002a99: JUMPDEST
00002a9a: SWAP1
00002a9b: SWAP2
00002a9c: SSTORE
00002a9d: POP
00002a9e: POP
00002a9f: PUSH1 0x06
00002aa1: DUP2
00002aa2: ADD
00002aa3: SLOAD
00002aa4: PUSH1 0x13
00002aa6: DUP1
00002aa7: SLOAD
00002aa8: PUSH1 0x00
00002aaa: SWAP1
00002aab: PUSH2 0x2ab5
00002aae: SWAP1
00002aaf: DUP5
00002ab0: SWAP1
00002ab1: PUSH2 0x3a80
00002ab4: JUMP
00002ab5: JUMPDEST
00002ab6: SWAP1
00002ab7: SWAP2
00002ab8: SSTORE
00002ab9: POP
00002aba: POP
00002abb: POP
00002abc: JUMP
00002abd: JUMPDEST
00002abe: PUSH1 0x00
00002ac0: DUP1
00002ac1: PUSH2 0x2ac8
00002ac4: PUSH2 0x276e
00002ac7: JUMP
00002ac8: JUMPDEST
00002ac9: SWAP1
00002aca: POP
00002acb: DUP3
00002acc: PUSH1 0x20
00002ace: ADD
00002acf: MLOAD
00002ad0: DUP2
00002ad1: LT
00002ad2: ISZERO
00002ad3: PUSH2 0x2adf
00002ad6: JUMPI
00002ad7: POP
00002ad8: PUSH1 0x00
00002ada: SWAP3
00002adb: SWAP2
00002adc: POP
00002add: POP
00002ade: JUMP
00002adf: JUMPDEST
00002ae0: DUP1
00002ae1: DUP4
00002ae2: PUSH1 0x40
00002ae4: ADD
00002ae5: MLOAD
00002ae6: DUP5
00002ae7: PUSH1 0x20
00002ae9: ADD
00002aea: MLOAD
00002aeb: DUP4
00002aec: PUSH2 0x2af5
00002aef: SWAP2
00002af0: SWAP1
00002af1: PUSH2 0x3acb
00002af4: JUMP
00002af5: JUMPDEST
00002af6: PUSH2 0x2aff
00002af9: SWAP2
00002afa: SWAP1
00002afb: PUSH2 0x3aac
00002afe: JUMP
00002aff: JUMPDEST
00002b00: PUSH2 0x1ffa
00002b03: SWAP2
00002b04: SWAP1
00002b05: PUSH2 0x3a98
00002b08: JUMP
00002b09: JUMPDEST
00002b0a: PUSH2 0x139a
00002b0d: DUP3
00002b0e: DUP3
00002b0f: PUSH1 0x40
00002b11: MLOAD
00002b12: DUP1
00002b13: PUSH1 0x20
00002b15: ADD
00002b16: PUSH1 0x40
00002b18: MSTORE
00002b19: DUP1
00002b1a: PUSH1 0x00
00002b1c: DUP2
00002b1d: MSTORE
00002b1e: POP
00002b1f: PUSH2 0x2ff3
00002b22: JUMP
00002b23: JUMPDEST
00002b24: PUSH1 0x01
00002b26: PUSH1 0x01
00002b28: PUSH1 0xa0
00002b2a: SHL
00002b2b: SUB
00002b2c: DUP3
00002b2d: AND
00002b2e: PUSH2 0x2b36
00002b31: JUMPI
00002b32: PUSH1 0x00
00002b34: DUP1
00002b35: REVERT
00002b36: JUMPDEST
00002b37: PUSH1 0x00
00002b39: PUSH2 0x2b40
00002b3c: PUSH2 0x1b6d
00002b3f: JUMP
00002b40: JUMPDEST
00002b41: PUSH1 0x14
00002b43: SLOAD
00002b44: PUSH2 0x2b4d
00002b47: SWAP1
00002b48: DUP5
00002b49: PUSH2 0x3aac
00002b4c: JUMP
00002b4d: JUMPDEST
00002b4e: PUSH2 0x2b57
00002b51: SWAP2
00002b52: SWAP1
00002b53: PUSH2 0x3a98
00002b56: JUMP
00002b57: JUMPDEST
00002b58: SWAP1
00002b59: POP
00002b5a: PUSH1 0x00
00002b5c: PUSH2 0x2b65
00002b5f: DUP3
00002b60: DUP5
00002b61: PUSH2 0x3acb
00002b64: JUMP
00002b65: JUMPDEST
00002b66: SWAP1
00002b67: POP
00002b68: DUP2
00002b69: PUSH1 0x14
00002b6b: PUSH1 0x00
00002b6d: DUP3
00002b6e: DUP3
00002b6f: SLOAD
00002b70: PUSH2 0x2b79
00002b73: SWAP2
00002b74: SWAP1
00002b75: PUSH2 0x3acb
00002b78: JUMP
00002b79: JUMPDEST
00002b7a: SWAP3
00002b7b: POP
00002b7c: POP
00002b7d: DUP2
00002b7e: SWAP1
00002b7f: SSTORE
00002b80: POP
00002b81: DUP1
00002b82: PUSH1 0x13
00002b84: PUSH1 0x00
00002b86: DUP3
00002b87: DUP3
00002b88: SLOAD
00002b89: PUSH2 0x2b92
00002b8c: SWAP2
00002b8d: SWAP1
00002b8e: PUSH2 0x3acb
00002b91: JUMP
00002b92: JUMPDEST
00002b93: SWAP1
00002b94: SWAP2
00002b95: SSTORE
00002b96: POP
00002b97: POP
00002b98: PUSH1 0x19
00002b9a: SLOAD
00002b9b: PUSH2 0x1f13
00002b9e: SWAP1
00002b9f: PUSH1 0x01
00002ba1: PUSH1 0x01
00002ba3: PUSH1 0xa0
00002ba5: SHL
00002ba6: SUB
00002ba7: AND
00002ba8: DUP6
00002ba9: DUP6
00002baa: PUSH2 0x2930
00002bad: JUMP
00002bae: JUMPDEST
00002baf: PUSH2 0x2bb9
00002bb2: DUP5
00002bb3: DUP5
00002bb4: DUP5
00002bb5: PUSH2 0x24d2
00002bb8: JUMP
00002bb9: JUMPDEST
00002bba: PUSH2 0x2bc5
00002bbd: DUP5
00002bbe: DUP5
00002bbf: DUP5
00002bc0: DUP5
00002bc1: PUSH2 0x3026
00002bc4: JUMP
00002bc5: JUMPDEST
00002bc6: PUSH2 0x1f13
00002bc9: JUMPI
00002bca: PUSH1 0x40
00002bcc: MLOAD
00002bcd: PUSH3 0x461bcd
00002bd1: PUSH1 0xe5
00002bd3: SHL
00002bd4: DUP2
00002bd5: MSTORE
00002bd6: PUSH1 0x04
00002bd8: ADD
00002bd9: PUSH2 0x0972
00002bdc: SWAP1
00002bdd: PUSH2 0x39a6
00002be0: JUMP
00002be1: JUMPDEST
00002be2: PUSH1 0x60
00002be4: DUP2
00002be5: PUSH2 0x2c05
00002be8: JUMPI
00002be9: POP
00002bea: POP
00002beb: PUSH1 0x40
00002bed: DUP1
00002bee: MLOAD
00002bef: DUP1
00002bf0: DUP3
00002bf1: ADD
00002bf2: SWAP1
00002bf3: SWAP2
00002bf4: MSTORE
00002bf5: PUSH1 0x01
00002bf7: DUP2
00002bf8: MSTORE
00002bf9: PUSH1 0x03
00002bfb: PUSH1 0xfc
00002bfd: SHL
00002bfe: PUSH1 0x20
00002c00: DUP3
00002c01: ADD
00002c02: MSTORE
00002c03: SWAP1
00002c04: JUMP
00002c05: JUMPDEST
00002c06: DUP2
00002c07: PUSH1 0x00
00002c09: JUMPDEST
00002c0a: DUP2
00002c0b: ISZERO
00002c0c: PUSH2 0x2c2f
00002c0f: JUMPI
00002c10: DUP1
00002c11: PUSH2 0x2c19
00002c14: DUP2
00002c15: PUSH2 0x3b60
00002c18: JUMP
00002c19: JUMPDEST
00002c1a: SWAP2
00002c1b: POP
00002c1c: PUSH2 0x2c28
00002c1f: SWAP1
00002c20: POP
00002c21: PUSH1 0x0a
00002c23: DUP4
00002c24: PUSH2 0x3a98
00002c27: JUMP
00002c28: JUMPDEST
00002c29: SWAP2
00002c2a: POP
00002c2b: PUSH2 0x2c09
00002c2e: JUMP
00002c2f: JUMPDEST
00002c30: PUSH1 0x00
00002c32: DUP2
00002c33: PUSH8 0xffffffffffffffff
00002c3c: DUP2
00002c3d: GT
00002c3e: ISZERO
00002c3f: PUSH2 0x2c4a
00002c42: JUMPI
00002c43: PUSH2 0x2c4a
00002c46: PUSH2 0x3be7
00002c49: JUMP
00002c4a: JUMPDEST
00002c4b: PUSH1 0x40
00002c4d: MLOAD
00002c4e: SWAP1
00002c4f: DUP1
00002c50: DUP3
00002c51: MSTORE
00002c52: DUP1
00002c53: PUSH1 0x1f
00002c55: ADD
00002c56: PUSH1 0x1f
00002c58: NOT
00002c59: AND
00002c5a: PUSH1 0x20
00002c5c: ADD
00002c5d: DUP3
00002c5e: ADD
00002c5f: PUSH1 0x40
00002c61: MSTORE
00002c62: DUP1
00002c63: ISZERO
00002c64: PUSH2 0x2c74
00002c67: JUMPI
00002c68: PUSH1 0x20
00002c6a: DUP3
00002c6b: ADD
00002c6c: DUP2
00002c6d: DUP1
00002c6e: CALLDATASIZE
00002c6f: DUP4
00002c70: CALLDATACOPY
00002c71: ADD
00002c72: SWAP1
00002c73: POP
00002c74: JUMPDEST
00002c75: POP
00002c76: SWAP1
00002c77: POP
00002c78: JUMPDEST
00002c79: DUP5
00002c7a: ISZERO
00002c7b: PUSH2 0x24ca
00002c7e: JUMPI
00002c7f: PUSH2 0x2c89
00002c82: PUSH1 0x01
00002c84: DUP4
00002c85: PUSH2 0x3acb
00002c88: JUMP
00002c89: JUMPDEST
00002c8a: SWAP2
00002c8b: POP
00002c8c: PUSH2 0x2c96
00002c8f: PUSH1 0x0a
00002c91: DUP7
00002c92: PUSH2 0x3b7b
00002c95: JUMP
00002c96: JUMPDEST
00002c97: PUSH2 0x2ca1
00002c9a: SWAP1
00002c9b: PUSH1 0x30
00002c9d: PUSH2 0x3a80
00002ca0: JUMP
00002ca1: JUMPDEST
00002ca2: PUSH1 0xf8
00002ca4: SHL
00002ca5: DUP2
00002ca6: DUP4
00002ca7: DUP2
00002ca8: MLOAD
00002ca9: DUP2
00002caa: LT
00002cab: PUSH2 0x2cb6
00002cae: JUMPI
00002caf: PUSH2 0x2cb6
00002cb2: PUSH2 0x3bd1
00002cb5: JUMP
00002cb6: JUMPDEST
00002cb7: PUSH1 0x20
00002cb9: ADD
00002cba: ADD
00002cbb: SWAP1
00002cbc: PUSH1 0x01
00002cbe: PUSH1 0x01
00002cc0: PUSH1 0xf8
00002cc2: SHL
00002cc3: SUB
00002cc4: NOT
00002cc5: AND
00002cc6: SWAP1
00002cc7: DUP2
00002cc8: PUSH1 0x00
00002cca: BYTE
00002ccb: SWAP1
00002ccc: MSTORE8
00002ccd: POP
00002cce: PUSH2 0x2cd8
00002cd1: PUSH1 0x0a
00002cd3: DUP7
00002cd4: PUSH2 0x3a98
00002cd7: JUMP
00002cd8: JUMPDEST
00002cd9: SWAP5
00002cda: POP
00002cdb: PUSH2 0x2c78
00002cde: JUMP
00002cdf: JUMPDEST
00002ce0: PUSH1 0x60
00002ce2: PUSH1 0x00
00002ce4: PUSH2 0x2cee
00002ce7: DUP4
00002ce8: PUSH1 0x02
00002cea: PUSH2 0x3aac
00002ced: JUMP
00002cee: JUMPDEST
00002cef: PUSH2 0x2cf9
00002cf2: SWAP1
00002cf3: PUSH1 0x02
00002cf5: PUSH2 0x3a80
00002cf8: JUMP
00002cf9: JUMPDEST
00002cfa: PUSH8 0xffffffffffffffff
00002d03: DUP2
00002d04: GT
00002d05: ISZERO
00002d06: PUSH2 0x2d11
00002d09: JUMPI
00002d0a: PUSH2 0x2d11
00002d0d: PUSH2 0x3be7
00002d10: JUMP
00002d11: JUMPDEST
00002d12: PUSH1 0x40
00002d14: MLOAD
00002d15: SWAP1
00002d16: DUP1
00002d17: DUP3
00002d18: MSTORE
00002d19: DUP1
00002d1a: PUSH1 0x1f
00002d1c: ADD
00002d1d: PUSH1 0x1f
00002d1f: NOT
00002d20: AND
00002d21: PUSH1 0x20
00002d23: ADD
00002d24: DUP3
00002d25: ADD
00002d26: PUSH1 0x40
00002d28: MSTORE
00002d29: DUP1
00002d2a: ISZERO
00002d2b: PUSH2 0x2d3b
00002d2e: JUMPI
00002d2f: PUSH1 0x20
00002d31: DUP3
00002d32: ADD
00002d33: DUP2
00002d34: DUP1
00002d35: CALLDATASIZE
00002d36: DUP4
00002d37: CALLDATACOPY
00002d38: ADD
00002d39: SWAP1
00002d3a: POP
00002d3b: JUMPDEST
00002d3c: POP
00002d3d: SWAP1
00002d3e: POP
00002d3f: PUSH1 0x03
00002d41: PUSH1 0xfc
00002d43: SHL
00002d44: DUP2
00002d45: PUSH1 0x00
00002d47: DUP2
00002d48: MLOAD
00002d49: DUP2
00002d4a: LT
00002d4b: PUSH2 0x2d56
00002d4e: JUMPI
00002d4f: PUSH2 0x2d56
00002d52: PUSH2 0x3bd1
00002d55: JUMP
00002d56: JUMPDEST
00002d57: PUSH1 0x20
00002d59: ADD
00002d5a: ADD
00002d5b: SWAP1
00002d5c: PUSH1 0x01
00002d5e: PUSH1 0x01
00002d60: PUSH1 0xf8
00002d62: SHL
00002d63: SUB
00002d64: NOT
00002d65: AND
00002d66: SWAP1
00002d67: DUP2
00002d68: PUSH1 0x00
00002d6a: BYTE
00002d6b: SWAP1
00002d6c: MSTORE8
00002d6d: POP
00002d6e: PUSH1 0x0f
00002d70: PUSH1 0xfb
00002d72: SHL
00002d73: DUP2
00002d74: PUSH1 0x01
00002d76: DUP2
00002d77: MLOAD
00002d78: DUP2
00002d79: LT
00002d7a: PUSH2 0x2d85
00002d7d: JUMPI
00002d7e: PUSH2 0x2d85
00002d81: PUSH2 0x3bd1
00002d84: JUMP
00002d85: JUMPDEST
00002d86: PUSH1 0x20
00002d88: ADD
00002d89: ADD
00002d8a: SWAP1
00002d8b: PUSH1 0x01
00002d8d: PUSH1 0x01
00002d8f: PUSH1 0xf8
00002d91: SHL
00002d92: SUB
00002d93: NOT
00002d94: AND
00002d95: SWAP1
00002d96: DUP2
00002d97: PUSH1 0x00
00002d99: BYTE
00002d9a: SWAP1
00002d9b: MSTORE8
00002d9c: POP
00002d9d: PUSH1 0x00
00002d9f: PUSH2 0x2da9
00002da2: DUP5
00002da3: PUSH1 0x02
00002da5: PUSH2 0x3aac
00002da8: JUMP
00002da9: JUMPDEST
00002daa: PUSH2 0x2db4
00002dad: SWAP1
00002dae: PUSH1 0x01
00002db0: PUSH2 0x3a80
00002db3: JUMP
00002db4: JUMPDEST
00002db5: SWAP1
00002db6: POP
00002db7: JUMPDEST
00002db8: PUSH1 0x01
00002dba: DUP2
00002dbb: GT
00002dbc: ISZERO
00002dbd: PUSH2 0x2e2c
00002dc0: JUMPI
00002dc1: PUSH16 0x181899199a1a9b1b9c1cb0b131b232b3
00002dd2: PUSH1 0x81
00002dd4: SHL
00002dd5: DUP6
00002dd6: PUSH1 0x0f
00002dd8: AND
00002dd9: PUSH1 0x10
00002ddb: DUP2
00002ddc: LT
00002ddd: PUSH2 0x2de8
00002de0: JUMPI
00002de1: PUSH2 0x2de8
00002de4: PUSH2 0x3bd1
00002de7: JUMP
00002de8: JUMPDEST
00002de9: BYTE
00002dea: PUSH1 0xf8
00002dec: SHL
00002ded: DUP3
00002dee: DUP3
00002def: DUP2
00002df0: MLOAD
00002df1: DUP2
00002df2: LT
00002df3: PUSH2 0x2dfe
00002df6: JUMPI
00002df7: PUSH2 0x2dfe
00002dfa: PUSH2 0x3bd1
00002dfd: JUMP
00002dfe: JUMPDEST
00002dff: PUSH1 0x20
00002e01: ADD
00002e02: ADD
00002e03: SWAP1
00002e04: PUSH1 0x01
00002e06: PUSH1 0x01
00002e08: PUSH1 0xf8
00002e0a: SHL
00002e0b: SUB
00002e0c: NOT
00002e0d: AND
00002e0e: SWAP1
00002e0f: DUP2
00002e10: PUSH1 0x00
00002e12: BYTE
00002e13: SWAP1
00002e14: MSTORE8
00002e15: POP
00002e16: PUSH1 0x04
00002e18: SWAP5
00002e19: SWAP1
00002e1a: SWAP5
00002e1b: SHR
00002e1c: SWAP4
00002e1d: PUSH2 0x2e25
00002e20: DUP2
00002e21: PUSH2 0x3b0e
00002e24: JUMP
00002e25: JUMPDEST
00002e26: SWAP1
00002e27: POP
00002e28: PUSH2 0x2db7
00002e2b: JUMP
00002e2c: JUMPDEST
00002e2d: POP
00002e2e: DUP4
00002e2f: ISZERO
00002e30: PUSH2 0x1ffa
00002e33: JUMPI
00002e34: PUSH1 0x40
00002e36: MLOAD
00002e37: PUSH3 0x461bcd
00002e3b: PUSH1 0xe5
00002e3d: SHL
00002e3e: DUP2
00002e3f: MSTORE
00002e40: PUSH1 0x20
00002e42: PUSH1 0x04
00002e44: DUP3
00002e45: ADD
00002e46: DUP2
00002e47: SWAP1
00002e48: MSTORE
00002e49: PUSH1 0x24
00002e4b: DUP3
00002e4c: ADD
00002e4d: MSTORE
00002e4e: PUSH32 0x537472696e67733a20686578206c656e67746820696e73756666696369656e74
00002e6f: PUSH1 0x44
00002e71: DUP3
00002e72: ADD
00002e73: MSTORE
00002e74: PUSH1 0x64
00002e76: ADD
00002e77: PUSH2 0x0972
00002e7a: JUMP
00002e7b: JUMPDEST
00002e7c: PUSH1 0x01
00002e7e: PUSH1 0x17
00002e80: DUP3
00002e81: DUP2
00002e82: SLOAD
00002e83: DUP2
00002e84: LT
00002e85: PUSH2 0x2e90
00002e88: JUMPI
00002e89: PUSH2 0x2e90
00002e8c: PUSH2 0x3bd1
00002e8f: JUMP
00002e90: JUMPDEST
00002e91: PUSH1 0x00
00002e93: SWAP2
00002e94: DUP3
00002e95: MSTORE
00002e96: PUSH1 0x20
00002e98: SWAP1
00002e99: SWAP2
00002e9a: KECCAK256
00002e9b: PUSH1 0x05
00002e9d: SWAP1
00002e9e: SWAP2
00002e9f: MUL
00002ea0: ADD
00002ea1: SLOAD
00002ea2: PUSH1 0xff
00002ea4: AND
00002ea5: PUSH1 0x02
00002ea7: DUP2
00002ea8: GT
00002ea9: ISZERO
00002eaa: PUSH2 0x2eb5
00002ead: JUMPI
00002eae: PUSH2 0x2eb5
00002eb1: PUSH2 0x3bbb
00002eb4: JUMP
00002eb5: JUMPDEST
00002eb6: EQ
00002eb7: PUSH2 0x0aa8
00002eba: JUMPI
00002ebb: PUSH1 0x40
00002ebd: MLOAD
00002ebe: PUSH3 0x461bcd
00002ec2: PUSH1 0xe5
00002ec4: SHL
00002ec5: DUP2
00002ec6: MSTORE
00002ec7: PUSH1 0x20
00002ec9: PUSH1 0x04
00002ecb: DUP3
00002ecc: ADD
00002ecd: MSTORE
00002ece: PUSH1 0x36
00002ed0: PUSH1 0x24
00002ed2: DUP3
00002ed3: ADD
00002ed4: MSTORE
00002ed5: PUSH32 0x506f6f6c204572726f723a2054686520636c6f736564207472616e6368657320
00002ef6: PUSH1 0x44
00002ef8: DUP3
00002ef9: ADD
00002efa: MSTORE
00002efb: PUSH22 0x18d85b881b9bdd081899481d1c985b9cd9995c9c9959
00002f12: PUSH1 0x52
00002f14: SHL
00002f15: PUSH1 0x64
00002f17: DUP3
00002f18: ADD
00002f19: MSTORE
00002f1a: PUSH1 0x84
00002f1c: ADD
00002f1d: PUSH2 0x0972
00002f20: JUMP
00002f21: JUMPDEST
00002f22: PUSH1 0x00
00002f24: PUSH2 0x2f76
00002f27: DUP3
00002f28: PUSH1 0x40
00002f2a: MLOAD
00002f2b: DUP1
00002f2c: PUSH1 0x40
00002f2e: ADD
00002f2f: PUSH1 0x40
00002f31: MSTORE
00002f32: DUP1
00002f33: PUSH1 0x20
00002f35: DUP2
00002f36: MSTORE
00002f37: PUSH1 0x20
00002f39: ADD
00002f3a: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00002f5b: DUP2
00002f5c: MSTORE
00002f5d: POP
00002f5e: DUP6
00002f5f: PUSH1 0x01
00002f61: PUSH1 0x01
00002f63: PUSH1 0xa0
00002f65: SHL
00002f66: SUB
00002f67: AND
00002f68: PUSH2 0x3133
00002f6b: SWAP1
00002f6c: SWAP3
00002f6d: SWAP2
00002f6e: SWAP1
00002f6f: PUSH4 0xffffffff
00002f74: AND
00002f75: JUMP
00002f76: JUMPDEST
00002f77: DUP1
00002f78: MLOAD
00002f79: SWAP1
00002f7a: SWAP2
00002f7b: POP
00002f7c: ISZERO
00002f7d: PUSH2 0x0aa8
00002f80: JUMPI
00002f81: DUP1
00002f82: DUP1
00002f83: PUSH1 0x20
00002f85: ADD
00002f86: SWAP1
00002f87: MLOAD
00002f88: DUP2
00002f89: ADD
00002f8a: SWAP1
00002f8b: PUSH2 0x2f94
00002f8e: SWAP2
00002f8f: SWAP1
00002f90: PUSH2 0x3681
00002f93: JUMP
00002f94: JUMPDEST
00002f95: PUSH2 0x0aa8
00002f98: JUMPI
00002f99: PUSH1 0x40
00002f9b: MLOAD
00002f9c: PUSH3 0x461bcd
00002fa0: PUSH1 0xe5
00002fa2: SHL
00002fa3: DUP2
00002fa4: MSTORE
00002fa5: PUSH1 0x20
00002fa7: PUSH1 0x04
00002fa9: DUP3
00002faa: ADD
00002fab: MSTORE
00002fac: PUSH1 0x2a
00002fae: PUSH1 0x24
00002fb0: DUP3
00002fb1: ADD
00002fb2: MSTORE
00002fb3: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
00002fd4: PUSH1 0x44
00002fd6: DUP3
00002fd7: ADD
00002fd8: MSTORE
00002fd9: PUSH10 0x1bdd081cdd58d8d95959
00002fe4: PUSH1 0xb2
00002fe6: SHL
00002fe7: PUSH1 0x64
00002fe9: DUP3
00002fea: ADD
00002feb: MSTORE
00002fec: PUSH1 0x84
00002fee: ADD
00002fef: PUSH2 0x0972
00002ff2: JUMP
00002ff3: JUMPDEST
00002ff4: PUSH2 0x2ffd
00002ff7: DUP4
00002ff8: DUP4
00002ff9: PUSH2 0x3142
00002ffc: JUMP
00002ffd: JUMPDEST
00002ffe: PUSH2 0x300a
00003001: PUSH1 0x00
00003003: DUP5
00003004: DUP5
00003005: DUP5
00003006: PUSH2 0x3026
00003009: JUMP
0000300a: JUMPDEST
0000300b: PUSH2 0x0aa8
0000300e: JUMPI
0000300f: PUSH1 0x40
00003011: MLOAD
00003012: PUSH3 0x461bcd
00003016: PUSH1 0xe5
00003018: SHL
00003019: DUP2
0000301a: MSTORE
0000301b: PUSH1 0x04
0000301d: ADD
0000301e: PUSH2 0x0972
00003021: SWAP1
00003022: PUSH2 0x39a6
00003025: JUMP
00003026: JUMPDEST
00003027: PUSH1 0x00
00003029: PUSH1 0x01
0000302b: PUSH1 0x01
0000302d: PUSH1 0xa0
0000302f: SHL
00003030: SUB
00003031: DUP5
00003032: AND
00003033: EXTCODESIZE
00003034: ISZERO
00003035: PUSH2 0x3128
00003038: JUMPI
00003039: PUSH1 0x40
0000303b: MLOAD
0000303c: PUSH4 0x0a85bd01
00003041: PUSH1 0xe1
00003043: SHL
00003044: DUP2
00003045: MSTORE
00003046: PUSH1 0x01
00003048: PUSH1 0x01
0000304a: PUSH1 0xa0
0000304c: SHL
0000304d: SUB
0000304e: DUP6
0000304f: AND
00003050: SWAP1
00003051: PUSH4 0x150b7a02
00003056: SWAP1
00003057: PUSH2 0x306a
0000305a: SWAP1
0000305b: CALLER
0000305c: SWAP1
0000305d: DUP10
0000305e: SWAP1
0000305f: DUP9
00003060: SWAP1
00003061: DUP9
00003062: SWAP1
00003063: PUSH1 0x04
00003065: ADD
00003066: PUSH2 0x38dd
00003069: JUMP
0000306a: JUMPDEST
0000306b: PUSH1 0x20
0000306d: PUSH1 0x40
0000306f: MLOAD
00003070: DUP1
00003071: DUP4
00003072: SUB
00003073: DUP2
00003074: PUSH1 0x00
00003076: DUP8
00003077: DUP1
00003078: EXTCODESIZE
00003079: ISZERO
0000307a: DUP1
0000307b: ISZERO
0000307c: PUSH2 0x3084
0000307f: JUMPI
00003080: PUSH1 0x00
00003082: DUP1
00003083: REVERT
00003084: JUMPDEST
00003085: POP
00003086: GAS
00003087: CALL
00003088: SWAP3
00003089: POP
0000308a: POP
0000308b: POP
0000308c: DUP1
0000308d: ISZERO
0000308e: PUSH2 0x30b4
00003091: JUMPI
00003092: POP
00003093: PUSH1 0x40
00003095: DUP1
00003096: MLOAD
00003097: PUSH1 0x1f
00003099: RETURNDATASIZE
0000309a: SWAP1
0000309b: DUP2
0000309c: ADD
0000309d: PUSH1 0x1f
0000309f: NOT
000030a0: AND
000030a1: DUP3
000030a2: ADD
000030a3: SWAP1
000030a4: SWAP3
000030a5: MSTORE
000030a6: PUSH2 0x30b1
000030a9: SWAP2
000030aa: DUP2
000030ab: ADD
000030ac: SWAP1
000030ad: PUSH2 0x36f9
000030b0: JUMP
000030b1: JUMPDEST
000030b2: PUSH1 0x01
000030b4: JUMPDEST
000030b5: PUSH2 0x310e
000030b8: JUMPI
000030b9: RETURNDATASIZE
000030ba: DUP1
000030bb: DUP1
000030bc: ISZERO
000030bd: PUSH2 0x30e2
000030c0: JUMPI
000030c1: PUSH1 0x40
000030c3: MLOAD
000030c4: SWAP2
000030c5: POP
000030c6: PUSH1 0x1f
000030c8: NOT
000030c9: PUSH1 0x3f
000030cb: RETURNDATASIZE
000030cc: ADD
000030cd: AND
000030ce: DUP3
000030cf: ADD
000030d0: PUSH1 0x40
000030d2: MSTORE
000030d3: RETURNDATASIZE
000030d4: DUP3
000030d5: MSTORE
000030d6: RETURNDATASIZE
000030d7: PUSH1 0x00
000030d9: PUSH1 0x20
000030db: DUP5
000030dc: ADD
000030dd: RETURNDATACOPY
000030de: PUSH2 0x30e7
000030e1: JUMP
000030e2: JUMPDEST
000030e3: PUSH1 0x60
000030e5: SWAP2
000030e6: POP
000030e7: JUMPDEST
000030e8: POP
000030e9: DUP1
000030ea: MLOAD
000030eb: PUSH2 0x3106
000030ee: JUMPI
000030ef: PUSH1 0x40
000030f1: MLOAD
000030f2: PUSH3 0x461bcd
000030f6: PUSH1 0xe5
000030f8: SHL
000030f9: DUP2
000030fa: MSTORE
000030fb: PUSH1 0x04
000030fd: ADD
000030fe: PUSH2 0x0972
00003101: SWAP1
00003102: PUSH2 0x39a6
00003105: JUMP
00003106: JUMPDEST
00003107: DUP1
00003108: MLOAD
00003109: DUP2
0000310a: PUSH1 0x20
0000310c: ADD
0000310d: REVERT
0000310e: JUMPDEST
0000310f: PUSH1 0x01
00003111: PUSH1 0x01
00003113: PUSH1 0xe0
00003115: SHL
00003116: SUB
00003117: NOT
00003118: AND
00003119: PUSH4 0x0a85bd01
0000311e: PUSH1 0xe1
00003120: SHL
00003121: EQ
00003122: SWAP1
00003123: POP
00003124: PUSH2 0x24ca
00003127: JUMP
00003128: JUMPDEST
00003129: POP
0000312a: PUSH1 0x01
0000312c: SWAP5
0000312d: SWAP4
0000312e: POP
0000312f: POP
00003130: POP
00003131: POP
00003132: JUMP
00003133: JUMPDEST
00003134: PUSH1 0x60
00003136: PUSH2 0x24ca
00003139: DUP5
0000313a: DUP5
0000313b: PUSH1 0x00
0000313d: DUP6
0000313e: PUSH2 0x3290
00003141: JUMP
00003142: JUMPDEST
00003143: PUSH1 0x01
00003145: PUSH1 0x01
00003147: PUSH1 0xa0
00003149: SHL
0000314a: SUB
0000314b: DUP3
0000314c: AND
0000314d: PUSH2 0x3198
00003150: JUMPI
00003151: PUSH1 0x40
00003153: MLOAD
00003154: PUSH3 0x461bcd
00003158: PUSH1 0xe5
0000315a: SHL
0000315b: DUP2
0000315c: MSTORE
0000315d: PUSH1 0x20
0000315f: PUSH1 0x04
00003161: DUP3
00003162: ADD
00003163: DUP2
00003164: SWAP1
00003165: MSTORE
00003166: PUSH1 0x24
00003168: DUP3
00003169: ADD
0000316a: MSTORE
0000316b: PUSH32 0x4552433732313a206d696e7420746f20746865207a65726f2061646472657373
0000318c: PUSH1 0x44
0000318e: DUP3
0000318f: ADD
00003190: MSTORE
00003191: PUSH1 0x64
00003193: ADD
00003194: PUSH2 0x0972
00003197: JUMP
00003198: JUMPDEST
00003199: PUSH1 0x00
0000319b: DUP2
0000319c: DUP2
0000319d: MSTORE
0000319e: PUSH1 0x02
000031a0: PUSH1 0x20
000031a2: MSTORE
000031a3: PUSH1 0x40
000031a5: SWAP1
000031a6: KECCAK256
000031a7: SLOAD
000031a8: PUSH1 0x01
000031aa: PUSH1 0x01
000031ac: PUSH1 0xa0
000031ae: SHL
000031af: SUB
000031b0: AND
000031b1: ISZERO
000031b2: PUSH2 0x31fd
000031b5: JUMPI
000031b6: PUSH1 0x40
000031b8: MLOAD
000031b9: PUSH3 0x461bcd
000031bd: PUSH1 0xe5
000031bf: SHL
000031c0: DUP2
000031c1: MSTORE
000031c2: PUSH1 0x20
000031c4: PUSH1 0x04
000031c6: DUP3
000031c7: ADD
000031c8: MSTORE
000031c9: PUSH1 0x1c
000031cb: PUSH1 0x24
000031cd: DUP3
000031ce: ADD
000031cf: MSTORE
000031d0: PUSH32 0x4552433732313a20746f6b656e20616c7265616479206d696e74656400000000
000031f1: PUSH1 0x44
000031f3: DUP3
000031f4: ADD
000031f5: MSTORE
000031f6: PUSH1 0x64
000031f8: ADD
000031f9: PUSH2 0x0972
000031fc: JUMP
000031fd: JUMPDEST
000031fe: PUSH2 0x3209
00003201: PUSH1 0x00
00003203: DUP4
00003204: DUP4
00003205: PUSH2 0x2e7b
00003208: JUMP
00003209: JUMPDEST
0000320a: PUSH1 0x01
0000320c: PUSH1 0x01
0000320e: PUSH1 0xa0
00003210: SHL
00003211: SUB
00003212: DUP3
00003213: AND
00003214: PUSH1 0x00
00003216: SWAP1
00003217: DUP2
00003218: MSTORE
00003219: PUSH1 0x03
0000321b: PUSH1 0x20
0000321d: MSTORE
0000321e: PUSH1 0x40
00003220: DUP2
00003221: KECCAK256
00003222: DUP1
00003223: SLOAD
00003224: PUSH1 0x01
00003226: SWAP3
00003227: SWAP1
00003228: PUSH2 0x3232
0000322b: SWAP1
0000322c: DUP5
0000322d: SWAP1
0000322e: PUSH2 0x3a80
00003231: JUMP
00003232: JUMPDEST
00003233: SWAP1
00003234: SWAP2
00003235: SSTORE
00003236: POP
00003237: POP
00003238: PUSH1 0x00
0000323a: DUP2
0000323b: DUP2
0000323c: MSTORE
0000323d: PUSH1 0x02
0000323f: PUSH1 0x20
00003241: MSTORE
00003242: PUSH1 0x40
00003244: DUP1
00003245: DUP3
00003246: KECCAK256
00003247: DUP1
00003248: SLOAD
00003249: PUSH1 0x01
0000324b: PUSH1 0x01
0000324d: PUSH1 0xa0
0000324f: SHL
00003250: SUB
00003251: NOT
00003252: AND
00003253: PUSH1 0x01
00003255: PUSH1 0x01
00003257: PUSH1 0xa0
00003259: SHL
0000325a: SUB
0000325b: DUP7
0000325c: AND
0000325d: SWAP1
0000325e: DUP2
0000325f: OR
00003260: SWAP1
00003261: SWAP2
00003262: SSTORE
00003263: SWAP1
00003264: MLOAD
00003265: DUP4
00003266: SWAP3
00003267: SWAP1
00003268: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00003289: SWAP1
0000328a: DUP3
0000328b: SWAP1
0000328c: LOG4
0000328d: POP
0000328e: POP
0000328f: JUMP
00003290: JUMPDEST
00003291: PUSH1 0x60
00003293: DUP3
00003294: SELFBALANCE
00003295: LT
00003296: ISZERO
00003297: PUSH2 0x32f1
0000329a: JUMPI
0000329b: PUSH1 0x40
0000329d: MLOAD
0000329e: PUSH3 0x461bcd
000032a2: PUSH1 0xe5
000032a4: SHL
000032a5: DUP2
000032a6: MSTORE
000032a7: PUSH1 0x20
000032a9: PUSH1 0x04
000032ab: DUP3
000032ac: ADD
000032ad: MSTORE
000032ae: PUSH1 0x26
000032b0: PUSH1 0x24
000032b2: DUP3
000032b3: ADD
000032b4: MSTORE
000032b5: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f
000032d6: PUSH1 0x44
000032d8: DUP3
000032d9: ADD
000032da: MSTORE
000032db: PUSH6 0x1c8818d85b1b
000032e2: PUSH1 0xd2
000032e4: SHL
000032e5: PUSH1 0x64
000032e7: DUP3
000032e8: ADD
000032e9: MSTORE
000032ea: PUSH1 0x84
000032ec: ADD
000032ed: PUSH2 0x0972
000032f0: JUMP
000032f1: JUMPDEST
000032f2: DUP5
000032f3: EXTCODESIZE
000032f4: PUSH2 0x333f
000032f7: JUMPI
000032f8: PUSH1 0x40
000032fa: MLOAD
000032fb: PUSH3 0x461bcd
000032ff: PUSH1 0xe5
00003301: SHL
00003302: DUP2
00003303: MSTORE
00003304: PUSH1 0x20
00003306: PUSH1 0x04
00003308: DUP3
00003309: ADD
0000330a: MSTORE
0000330b: PUSH1 0x1d
0000330d: PUSH1 0x24
0000330f: DUP3
00003310: ADD
00003311: MSTORE
00003312: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
00003333: PUSH1 0x44
00003335: DUP3
00003336: ADD
00003337: MSTORE
00003338: PUSH1 0x64
0000333a: ADD
0000333b: PUSH2 0x0972
0000333e: JUMP
0000333f: JUMPDEST
00003340: PUSH1 0x00
00003342: DUP1
00003343: DUP7
00003344: PUSH1 0x01
00003346: PUSH1 0x01
00003348: PUSH1 0xa0
0000334a: SHL
0000334b: SUB
0000334c: AND
0000334d: DUP6
0000334e: DUP8
0000334f: PUSH1 0x40
00003351: MLOAD
00003352: PUSH2 0x335b
00003355: SWAP2
00003356: SWAP1
00003357: PUSH2 0x381d
0000335a: JUMP
0000335b: JUMPDEST
0000335c: PUSH1 0x00
0000335e: PUSH1 0x40
00003360: MLOAD
00003361: DUP1
00003362: DUP4
00003363: SUB
00003364: DUP2
00003365: DUP6
00003366: DUP8
00003367: GAS
00003368: CALL
00003369: SWAP3
0000336a: POP
0000336b: POP
0000336c: POP
0000336d: RETURNDATASIZE
0000336e: DUP1
0000336f: PUSH1 0x00
00003371: DUP2
00003372: EQ
00003373: PUSH2 0x3398
00003376: JUMPI
00003377: PUSH1 0x40
00003379: MLOAD
0000337a: SWAP2
0000337b: POP
0000337c: PUSH1 0x1f
0000337e: NOT
0000337f: PUSH1 0x3f
00003381: RETURNDATASIZE
00003382: ADD
00003383: AND
00003384: DUP3
00003385: ADD
00003386: PUSH1 0x40
00003388: MSTORE
00003389: RETURNDATASIZE
0000338a: DUP3
0000338b: MSTORE
0000338c: RETURNDATASIZE
0000338d: PUSH1 0x00
0000338f: PUSH1 0x20
00003391: DUP5
00003392: ADD
00003393: RETURNDATACOPY
00003394: PUSH2 0x339d
00003397: JUMP
00003398: JUMPDEST
00003399: PUSH1 0x60
0000339b: SWAP2
0000339c: POP
0000339d: JUMPDEST
0000339e: POP
0000339f: SWAP2
000033a0: POP
000033a1: SWAP2
000033a2: POP
000033a3: PUSH2 0x33ad
000033a6: DUP3
000033a7: DUP3
000033a8: DUP7
000033a9: PUSH2 0x33b8
000033ac: JUMP
000033ad: JUMPDEST
000033ae: SWAP8
000033af: SWAP7
000033b0: POP
000033b1: POP
000033b2: POP
000033b3: POP
000033b4: POP
000033b5: POP
000033b6: POP
000033b7: JUMP
000033b8: JUMPDEST
000033b9: PUSH1 0x60
000033bb: DUP4
000033bc: ISZERO
000033bd: PUSH2 0x33c7
000033c0: JUMPI
000033c1: POP
000033c2: DUP2
000033c3: PUSH2 0x1ffa
000033c6: JUMP
000033c7: JUMPDEST
000033c8: DUP3
000033c9: MLOAD
000033ca: ISZERO
000033cb: PUSH2 0x33d7
000033ce: JUMPI
000033cf: DUP3
000033d0: MLOAD
000033d1: DUP1
000033d2: DUP5
000033d3: PUSH1 0x20
000033d5: ADD
000033d6: REVERT
000033d7: JUMPDEST
000033d8: DUP2
000033d9: PUSH1 0x40
000033db: MLOAD
000033dc: PUSH3 0x461bcd
000033e0: PUSH1 0xe5
000033e2: SHL
000033e3: DUP2
000033e4: MSTORE
000033e5: PUSH1 0x04
000033e7: ADD
000033e8: PUSH2 0x0972
000033eb: SWAP2
000033ec: SWAP1
000033ed: PUSH2 0x3993
000033f0: JUMP
000033f1: JUMPDEST
000033f2: DUP1
000033f3: MLOAD
000033f4: PUSH10 0xffffffffffffffffffff
000033ff: DUP2
00003400: AND
00003401: DUP2
00003402: EQ
00003403: PUSH2 0x340b
00003406: JUMPI
00003407: PUSH1 0x00
00003409: DUP1
0000340a: REVERT
0000340b: JUMPDEST
0000340c: SWAP2
0000340d: SWAP1
0000340e: POP
0000340f: JUMP
00003410: JUMPDEST
00003411: PUSH1 0x00
00003413: PUSH1 0x20
00003415: DUP3
00003416: DUP5
00003417: SUB
00003418: SLT
00003419: ISZERO
0000341a: PUSH2 0x3422
0000341d: JUMPI
0000341e: PUSH1 0x00
00003420: DUP1
00003421: REVERT
00003422: JUMPDEST
00003423: DUP2
00003424: CALLDATALOAD
00003425: PUSH2 0x1ffa
00003428: DUP2
00003429: PUSH2 0x3bfd
0000342c: JUMP
0000342d: JUMPDEST
0000342e: PUSH1 0x00
00003430: PUSH1 0x20
00003432: DUP3
00003433: DUP5
00003434: SUB
00003435: SLT
00003436: ISZERO
00003437: PUSH2 0x343f
0000343a: JUMPI
0000343b: PUSH1 0x00
0000343d: DUP1
0000343e: REVERT
0000343f: JUMPDEST
00003440: DUP2
00003441: MLOAD
00003442: PUSH2 0x1ffa
00003445: DUP2
00003446: PUSH2 0x3bfd
00003449: JUMP
0000344a: JUMPDEST
0000344b: PUSH1 0x00
0000344d: DUP1
0000344e: PUSH1 0x40
00003450: DUP4
00003451: DUP6
00003452: SUB
00003453: SLT
00003454: ISZERO
00003455: PUSH2 0x345d
00003458: JUMPI
00003459: PUSH1 0x00
0000345b: DUP1
0000345c: REVERT
0000345d: JUMPDEST
0000345e: DUP3
0000345f: CALLDATALOAD
00003460: PUSH2 0x3468
00003463: DUP2
00003464: PUSH2 0x3bfd
00003467: JUMP
00003468: JUMPDEST
00003469: SWAP2
0000346a: POP
0000346b: PUSH1 0x20
0000346d: DUP4
0000346e: ADD
0000346f: CALLDATALOAD
00003470: PUSH2 0x3478
00003473: DUP2
00003474: PUSH2 0x3bfd
00003477: JUMP
00003478: JUMPDEST
00003479: DUP1
0000347a: SWAP2
0000347b: POP
0000347c: POP
0000347d: SWAP3
0000347e: POP
0000347f: SWAP3
00003480: SWAP1
00003481: POP
00003482: JUMP
00003483: JUMPDEST
00003484: PUSH1 0x00
00003486: DUP1
00003487: PUSH1 0x00
00003489: PUSH1 0x60
0000348b: DUP5
0000348c: DUP7
0000348d: SUB
0000348e: SLT
0000348f: ISZERO
00003490: PUSH2 0x3498
00003493: JUMPI
00003494: PUSH1 0x00
00003496: DUP1
00003497: REVERT
00003498: JUMPDEST
00003499: DUP4
0000349a: CALLDATALOAD
0000349b: PUSH2 0x34a3
0000349e: DUP2
0000349f: PUSH2 0x3bfd
000034a2: JUMP
000034a3: JUMPDEST
000034a4: SWAP3
000034a5: POP
000034a6: PUSH1 0x20
000034a8: DUP5
000034a9: ADD
000034aa: CALLDATALOAD
000034ab: PUSH2 0x34b3
000034ae: DUP2
000034af: PUSH2 0x3bfd
000034b2: JUMP
000034b3: JUMPDEST
000034b4: SWAP3
000034b5: SWAP6
000034b6: SWAP3
000034b7: SWAP5
000034b8: POP
000034b9: POP
000034ba: POP
000034bb: PUSH1 0x40
000034bd: SWAP2
000034be: SWAP1
000034bf: SWAP2
000034c0: ADD
000034c1: CALLDATALOAD
000034c2: SWAP1
000034c3: JUMP
000034c4: JUMPDEST
000034c5: PUSH1 0x00
000034c7: DUP1
000034c8: PUSH1 0x00
000034ca: DUP1
000034cb: PUSH1 0x80
000034cd: DUP6
000034ce: DUP8
000034cf: SUB
000034d0: SLT
000034d1: ISZERO
000034d2: PUSH2 0x34da
000034d5: JUMPI
000034d6: PUSH1 0x00
000034d8: DUP1
000034d9: REVERT
000034da: JUMPDEST
000034db: DUP5
000034dc: CALLDATALOAD
000034dd: PUSH2 0x34e5
000034e0: DUP2
000034e1: PUSH2 0x3bfd
000034e4: JUMP
000034e5: JUMPDEST
000034e6: SWAP4
000034e7: POP
000034e8: PUSH1 0x20
000034ea: DUP6
000034eb: ADD
000034ec: CALLDATALOAD
000034ed: PUSH2 0x34f5
000034f0: DUP2
000034f1: PUSH2 0x3bfd
000034f4: JUMP
000034f5: JUMPDEST
000034f6: SWAP3
000034f7: POP
000034f8: PUSH1 0x40
000034fa: DUP6
000034fb: ADD
000034fc: CALLDATALOAD
000034fd: SWAP2
000034fe: POP
000034ff: PUSH1 0x60
00003501: DUP6
00003502: ADD
00003503: CALLDATALOAD
00003504: PUSH8 0xffffffffffffffff
0000350d: DUP1
0000350e: DUP3
0000350f: GT
00003510: ISZERO
00003511: PUSH2 0x3519
00003514: JUMPI
00003515: PUSH1 0x00
00003517: DUP1
00003518: REVERT
00003519: JUMPDEST
0000351a: DUP2
0000351b: DUP8
0000351c: ADD
0000351d: SWAP2
0000351e: POP
0000351f: DUP8
00003520: PUSH1 0x1f
00003522: DUP4
00003523: ADD
00003524: SLT
00003525: PUSH2 0x352d
00003528: JUMPI
00003529: PUSH1 0x00
0000352b: DUP1
0000352c: REVERT
0000352d: JUMPDEST
0000352e: DUP2
0000352f: CALLDATALOAD
00003530: DUP2
00003531: DUP2
00003532: GT
00003533: ISZERO
00003534: PUSH2 0x353f
00003537: JUMPI
00003538: PUSH2 0x353f
0000353b: PUSH2 0x3be7
0000353e: JUMP
0000353f: JUMPDEST
00003540: PUSH1 0x40
00003542: MLOAD
00003543: PUSH1 0x1f
00003545: DUP3
00003546: ADD
00003547: PUSH1 0x1f
00003549: NOT
0000354a: SWAP1
0000354b: DUP2
0000354c: AND
0000354d: PUSH1 0x3f
0000354f: ADD
00003550: AND
00003551: DUP2
00003552: ADD
00003553: SWAP1
00003554: DUP4
00003555: DUP3
00003556: GT
00003557: DUP2
00003558: DUP4
00003559: LT
0000355a: OR
0000355b: ISZERO
0000355c: PUSH2 0x3567
0000355f: JUMPI
00003560: PUSH2 0x3567
00003563: PUSH2 0x3be7
00003566: JUMP
00003567: JUMPDEST
00003568: DUP2
00003569: PUSH1 0x40
0000356b: MSTORE
0000356c: DUP3
0000356d: DUP2
0000356e: MSTORE
0000356f: DUP11
00003570: PUSH1 0x20
00003572: DUP5
00003573: DUP8
00003574: ADD
00003575: ADD
00003576: GT
00003577: ISZERO
00003578: PUSH2 0x3580
0000357b: JUMPI
0000357c: PUSH1 0x00
0000357e: DUP1
0000357f: REVERT
00003580: JUMPDEST
00003581: DUP3
00003582: PUSH1 0x20
00003584: DUP7
00003585: ADD
00003586: PUSH1 0x20
00003588: DUP4
00003589: ADD
0000358a: CALLDATACOPY
0000358b: PUSH1 0x00
0000358d: PUSH1 0x20
0000358f: DUP5
00003590: DUP4
00003591: ADD
00003592: ADD
00003593: MSTORE
00003594: DUP1
00003595: SWAP6
00003596: POP
00003597: POP
00003598: POP
00003599: POP
0000359a: POP
0000359b: POP
0000359c: SWAP3
0000359d: SWAP6
0000359e: SWAP2
0000359f: SWAP5
000035a0: POP
000035a1: SWAP3
000035a2: POP
000035a3: JUMP
000035a4: JUMPDEST
000035a5: PUSH1 0x00
000035a7: DUP1
000035a8: PUSH1 0x40
000035aa: DUP4
000035ab: DUP6
000035ac: SUB
000035ad: SLT
000035ae: ISZERO
000035af: PUSH2 0x35b7
000035b2: JUMPI
000035b3: PUSH1 0x00
000035b5: DUP1
000035b6: REVERT
000035b7: JUMPDEST
000035b8: DUP3
000035b9: CALLDATALOAD
000035ba: PUSH2 0x35c2
000035bd: DUP2
000035be: PUSH2 0x3bfd
000035c1: JUMP
000035c2: JUMPDEST
000035c3: SWAP2
000035c4: POP
000035c5: PUSH1 0x20
000035c7: DUP4
000035c8: ADD
000035c9: CALLDATALOAD
000035ca: PUSH2 0x3478
000035cd: DUP2
000035ce: PUSH2 0x3c15
000035d1: JUMP
000035d2: JUMPDEST
000035d3: PUSH1 0x00
000035d5: DUP1
000035d6: PUSH1 0x40
000035d8: DUP4
000035d9: DUP6
000035da: SUB
000035db: SLT
000035dc: ISZERO
000035dd: PUSH2 0x35e5
000035e0: JUMPI
000035e1: PUSH1 0x00
000035e3: DUP1
000035e4: REVERT
000035e5: JUMPDEST
000035e6: DUP3
000035e7: CALLDATALOAD
000035e8: PUSH2 0x35f0
000035eb: DUP2
000035ec: PUSH2 0x3bfd
000035ef: JUMP
000035f0: JUMPDEST
000035f1: SWAP5
000035f2: PUSH1 0x20
000035f4: SWAP4
000035f5: SWAP1
000035f6: SWAP4
000035f7: ADD
000035f8: CALLDATALOAD
000035f9: SWAP4
000035fa: POP
000035fb: POP
000035fc: POP
000035fd: JUMP
000035fe: JUMPDEST
000035ff: PUSH1 0x00
00003601: DUP1
00003602: PUSH1 0x00
00003604: DUP1
00003605: PUSH1 0x80
00003607: DUP6
00003608: DUP8
00003609: SUB
0000360a: SLT
0000360b: ISZERO
0000360c: PUSH2 0x3614
0000360f: JUMPI
00003610: PUSH1 0x00
00003612: DUP1
00003613: REVERT
00003614: JUMPDEST
00003615: DUP5
00003616: CALLDATALOAD
00003617: PUSH2 0x361f
0000361a: DUP2
0000361b: PUSH2 0x3bfd
0000361e: JUMP
0000361f: JUMPDEST
00003620: SWAP4
00003621: POP
00003622: PUSH1 0x20
00003624: DUP6
00003625: ADD
00003626: CALLDATALOAD
00003627: SWAP3
00003628: POP
00003629: PUSH1 0x40
0000362b: DUP6
0000362c: ADD
0000362d: CALLDATALOAD
0000362e: PUSH2 0x3636
00003631: DUP2
00003632: PUSH2 0x3c15
00003635: JUMP
00003636: JUMPDEST
00003637: SWAP4
00003638: SWAP7
00003639: SWAP3
0000363a: SWAP6
0000363b: POP
0000363c: SWAP3
0000363d: SWAP4
0000363e: PUSH1 0x60
00003640: ADD
00003641: CALLDATALOAD
00003642: SWAP3
00003643: POP
00003644: POP
00003645: JUMP
00003646: JUMPDEST
00003647: PUSH1 0x00
00003649: DUP1
0000364a: PUSH1 0x00
0000364c: DUP1
0000364d: PUSH1 0x80
0000364f: DUP6
00003650: DUP8
00003651: SUB
00003652: SLT
00003653: ISZERO
00003654: PUSH2 0x365c
00003657: JUMPI
00003658: PUSH1 0x00
0000365a: DUP1
0000365b: REVERT
0000365c: JUMPDEST
0000365d: DUP5
0000365e: CALLDATALOAD
0000365f: PUSH2 0x3667
00003662: DUP2
00003663: PUSH2 0x3bfd
00003666: JUMP
00003667: JUMPDEST
00003668: SWAP7
00003669: PUSH1 0x20
0000366b: DUP7
0000366c: ADD
0000366d: CALLDATALOAD
0000366e: SWAP7
0000366f: POP
00003670: PUSH1 0x40
00003672: DUP7
00003673: ADD
00003674: CALLDATALOAD
00003675: SWAP6
00003676: PUSH1 0x60
00003678: ADD
00003679: CALLDATALOAD
0000367a: SWAP5
0000367b: POP
0000367c: SWAP3
0000367d: POP
0000367e: POP
0000367f: POP
00003680: JUMP
00003681: JUMPDEST
00003682: PUSH1 0x00
00003684: PUSH1 0x20
00003686: DUP3
00003687: DUP5
00003688: SUB
00003689: SLT
0000368a: ISZERO
0000368b: PUSH2 0x3693
0000368e: JUMPI
0000368f: PUSH1 0x00
00003691: DUP1
00003692: REVERT
00003693: JUMPDEST
00003694: DUP2
00003695: MLOAD
00003696: PUSH2 0x1ffa
00003699: DUP2
0000369a: PUSH2 0x3c15
0000369d: JUMP
0000369e: JUMPDEST
0000369f: PUSH1 0x00
000036a1: PUSH1 0x20
000036a3: DUP3
000036a4: DUP5
000036a5: SUB
000036a6: SLT
000036a7: ISZERO
000036a8: PUSH2 0x36b0
000036ab: JUMPI
000036ac: PUSH1 0x00
000036ae: DUP1
000036af: REVERT
000036b0: JUMPDEST
000036b1: POP
000036b2: CALLDATALOAD
000036b3: SWAP2
000036b4: SWAP1
000036b5: POP
000036b6: JUMP
000036b7: JUMPDEST
000036b8: PUSH1 0x00
000036ba: DUP1
000036bb: PUSH1 0x40
000036bd: DUP4
000036be: DUP6
000036bf: SUB
000036c0: SLT
000036c1: ISZERO
000036c2: PUSH2 0x36ca
000036c5: JUMPI
000036c6: PUSH1 0x00
000036c8: DUP1
000036c9: REVERT
000036ca: JUMPDEST
000036cb: DUP3
000036cc: CALLDATALOAD
000036cd: SWAP2
000036ce: POP
000036cf: PUSH1 0x20
000036d1: DUP4
000036d2: ADD
000036d3: CALLDATALOAD
000036d4: PUSH2 0x3478
000036d7: DUP2
000036d8: PUSH2 0x3bfd
000036db: JUMP
000036dc: JUMPDEST
000036dd: PUSH1 0x00
000036df: PUSH1 0x20
000036e1: DUP3
000036e2: DUP5
000036e3: SUB
000036e4: SLT
000036e5: ISZERO
000036e6: PUSH2 0x36ee
000036e9: JUMPI
000036ea: PUSH1 0x00
000036ec: DUP1
000036ed: REVERT
000036ee: JUMPDEST
000036ef: DUP2
000036f0: CALLDATALOAD
000036f1: PUSH2 0x1ffa
000036f4: DUP2
000036f5: PUSH2 0x3c23
000036f8: JUMP
000036f9: JUMPDEST
000036fa: PUSH1 0x00
000036fc: PUSH1 0x20
000036fe: DUP3
000036ff: DUP5
00003700: SUB
00003701: SLT
00003702: ISZERO
00003703: PUSH2 0x370b
00003706: JUMPI
00003707: PUSH1 0x00
00003709: DUP1
0000370a: REVERT
0000370b: JUMPDEST
0000370c: DUP2
0000370d: MLOAD
0000370e: PUSH2 0x1ffa
00003711: DUP2
00003712: PUSH2 0x3c23
00003715: JUMP
00003716: JUMPDEST
00003717: PUSH1 0x00
00003719: PUSH1 0x20
0000371b: DUP3
0000371c: DUP5
0000371d: SUB
0000371e: SLT
0000371f: ISZERO
00003720: PUSH2 0x3728
00003723: JUMPI
00003724: PUSH1 0x00
00003726: DUP1
00003727: REVERT
00003728: JUMPDEST
00003729: POP
0000372a: MLOAD
0000372b: SWAP2
0000372c: SWAP1
0000372d: POP
0000372e: JUMP
0000372f: JUMPDEST
00003730: PUSH1 0x00
00003732: DUP1
00003733: PUSH1 0x40
00003735: DUP4
00003736: DUP6
00003737: SUB
00003738: SLT
00003739: ISZERO
0000373a: PUSH2 0x3742
0000373d: JUMPI
0000373e: PUSH1 0x00
00003740: DUP1
00003741: REVERT
00003742: JUMPDEST
00003743: POP
00003744: POP
00003745: DUP1
00003746: CALLDATALOAD
00003747: SWAP3
00003748: PUSH1 0x20
0000374a: SWAP1
0000374b: SWAP2
0000374c: ADD
0000374d: CALLDATALOAD
0000374e: SWAP2
0000374f: POP
00003750: JUMP
00003751: JUMPDEST
00003752: PUSH1 0x00
00003754: DUP1
00003755: PUSH1 0x40
00003757: DUP4
00003758: DUP6
00003759: SUB
0000375a: SLT
0000375b: ISZERO
0000375c: PUSH2 0x3764
0000375f: JUMPI
00003760: PUSH1 0x00
00003762: DUP1
00003763: REVERT
00003764: JUMPDEST
00003765: POP
00003766: POP
00003767: DUP1
00003768: MLOAD
00003769: PUSH1 0x20
0000376b: SWAP1
0000376c: SWAP2
0000376d: ADD
0000376e: MLOAD
0000376f: SWAP1
00003770: SWAP3
00003771: SWAP1
00003772: SWAP2
00003773: POP
00003774: JUMP
00003775: JUMPDEST
00003776: PUSH1 0x00
00003778: DUP1
00003779: PUSH1 0x00
0000377b: PUSH1 0x60
0000377d: DUP5
0000377e: DUP7
0000377f: SUB
00003780: SLT
00003781: ISZERO
00003782: PUSH2 0x378a
00003785: JUMPI
00003786: PUSH1 0x00
00003788: DUP1
00003789: REVERT
0000378a: JUMPDEST
0000378b: POP
0000378c: POP
0000378d: DUP2
0000378e: CALLDATALOAD
0000378f: SWAP4
00003790: PUSH1 0x20
00003792: DUP4
00003793: ADD
00003794: CALLDATALOAD
00003795: SWAP4
00003796: POP
00003797: PUSH1 0x40
00003799: SWAP1
0000379a: SWAP3
0000379b: ADD
0000379c: CALLDATALOAD
0000379d: SWAP2
0000379e: SWAP1
0000379f: POP
000037a0: JUMP
000037a1: JUMPDEST
000037a2: PUSH1 0x00
000037a4: DUP1
000037a5: PUSH1 0x00
000037a7: DUP1
000037a8: PUSH1 0x00
000037aa: PUSH1 0xa0
000037ac: DUP7
000037ad: DUP9
000037ae: SUB
000037af: SLT
000037b0: ISZERO
000037b1: PUSH2 0x37b9
000037b4: JUMPI
000037b5: PUSH1 0x00
000037b7: DUP1
000037b8: REVERT
000037b9: JUMPDEST
000037ba: PUSH2 0x37c2
000037bd: DUP7
000037be: PUSH2 0x33f1
000037c1: JUMP
000037c2: JUMPDEST
000037c3: SWAP5
000037c4: POP
000037c5: PUSH1 0x20
000037c7: DUP7
000037c8: ADD
000037c9: MLOAD
000037ca: SWAP4
000037cb: POP
000037cc: PUSH1 0x40
000037ce: DUP7
000037cf: ADD
000037d0: MLOAD
000037d1: SWAP3
000037d2: POP
000037d3: PUSH1 0x60
000037d5: DUP7
000037d6: ADD
000037d7: MLOAD
000037d8: SWAP2
000037d9: POP
000037da: PUSH2 0x37e5
000037dd: PUSH1 0x80
000037df: DUP8
000037e0: ADD
000037e1: PUSH2 0x33f1
000037e4: JUMP
000037e5: JUMPDEST
000037e6: SWAP1
000037e7: POP
000037e8: SWAP3
000037e9: SWAP6
000037ea: POP
000037eb: SWAP3
000037ec: SWAP6
000037ed: SWAP1
000037ee: SWAP4
000037ef: POP
000037f0: JUMP
000037f1: JUMPDEST
000037f2: PUSH1 0x00
000037f4: DUP2
000037f5: MLOAD
000037f6: DUP1
000037f7: DUP5
000037f8: MSTORE
000037f9: PUSH2 0x3809
000037fc: DUP2
000037fd: PUSH1 0x20
000037ff: DUP7
00003800: ADD
00003801: PUSH1 0x20
00003803: DUP7
00003804: ADD
00003805: PUSH2 0x3ae2
00003808: JUMP
00003809: JUMPDEST
0000380a: PUSH1 0x1f
0000380c: ADD
0000380d: PUSH1 0x1f
0000380f: NOT
00003810: AND
00003811: SWAP3
00003812: SWAP1
00003813: SWAP3
00003814: ADD
00003815: PUSH1 0x20
00003817: ADD
00003818: SWAP3
00003819: SWAP2
0000381a: POP
0000381b: POP
0000381c: JUMP
0000381d: JUMPDEST
0000381e: PUSH1 0x00
00003820: DUP3
00003821: MLOAD
00003822: PUSH2 0x382f
00003825: DUP2
00003826: DUP5
00003827: PUSH1 0x20
00003829: DUP8
0000382a: ADD
0000382b: PUSH2 0x3ae2
0000382e: JUMP
0000382f: JUMPDEST
00003830: SWAP2
00003831: SWAP1
00003832: SWAP2
00003833: ADD
00003834: SWAP3
00003835: SWAP2
00003836: POP
00003837: POP
00003838: JUMP
00003839: JUMPDEST
0000383a: PUSH1 0x00
0000383c: DUP4
0000383d: MLOAD
0000383e: PUSH2 0x384b
00003841: DUP2
00003842: DUP5
00003843: PUSH1 0x20
00003845: DUP9
00003846: ADD
00003847: PUSH2 0x3ae2
0000384a: JUMP
0000384b: JUMPDEST
0000384c: DUP4
0000384d: MLOAD
0000384e: SWAP1
0000384f: DUP4
00003850: ADD
00003851: SWAP1
00003852: PUSH2 0x385f
00003855: DUP2
00003856: DUP4
00003857: PUSH1 0x20
00003859: DUP9
0000385a: ADD
0000385b: PUSH2 0x3ae2
0000385e: JUMP
0000385f: JUMPDEST
00003860: ADD
00003861: SWAP5
00003862: SWAP4
00003863: POP
00003864: POP
00003865: POP
00003866: POP
00003867: JUMP
00003868: JUMPDEST
00003869: PUSH32 0x416363657373436f6e74726f6c3a206163636f756e7420000000000000000000
0000388a: DUP2
0000388b: MSTORE
0000388c: PUSH1 0x00
0000388e: DUP4
0000388f: MLOAD
00003890: PUSH2 0x38a0
00003893: DUP2
00003894: PUSH1 0x17
00003896: DUP6
00003897: ADD
00003898: PUSH1 0x20
0000389a: DUP9
0000389b: ADD
0000389c: PUSH2 0x3ae2
0000389f: JUMP
000038a0: JUMPDEST
000038a1: PUSH17 0x01034b99036b4b9b9b4b733903937b6329
000038b3: PUSH1 0x7d
000038b5: SHL
000038b6: PUSH1 0x17
000038b8: SWAP2
000038b9: DUP5
000038ba: ADD
000038bb: SWAP2
000038bc: DUP3
000038bd: ADD
000038be: MSTORE
000038bf: DUP4
000038c0: MLOAD
000038c1: PUSH2 0x38d1
000038c4: DUP2
000038c5: PUSH1 0x28
000038c7: DUP5
000038c8: ADD
000038c9: PUSH1 0x20
000038cb: DUP9
000038cc: ADD
000038cd: PUSH2 0x3ae2
000038d0: JUMP
000038d1: JUMPDEST
000038d2: ADD
000038d3: PUSH1 0x28
000038d5: ADD
000038d6: SWAP5
000038d7: SWAP4
000038d8: POP
000038d9: POP
000038da: POP
000038db: POP
000038dc: JUMP
000038dd: JUMPDEST
000038de: PUSH1 0x01
000038e0: PUSH1 0x01
000038e2: PUSH1 0xa0
000038e4: SHL
000038e5: SUB
000038e6: DUP6
000038e7: DUP2
000038e8: AND
000038e9: DUP3
000038ea: MSTORE
000038eb: DUP5
000038ec: AND
000038ed: PUSH1 0x20
000038ef: DUP3
000038f0: ADD
000038f1: MSTORE
000038f2: PUSH1 0x40
000038f4: DUP2
000038f5: ADD
000038f6: DUP4
000038f7: SWAP1
000038f8: MSTORE
000038f9: PUSH1 0x80
000038fb: PUSH1 0x60
000038fd: DUP3
000038fe: ADD
000038ff: DUP2
00003900: SWAP1
00003901: MSTORE
00003902: PUSH1 0x00
00003904: SWAP1
00003905: PUSH2 0x3910
00003908: SWAP1
00003909: DUP4
0000390a: ADD
0000390b: DUP5
0000390c: PUSH2 0x37f1
0000390f: JUMP
00003910: JUMPDEST
00003911: SWAP7
00003912: SWAP6
00003913: POP
00003914: POP
00003915: POP
00003916: POP
00003917: POP
00003918: POP
00003919: JUMP
0000391a: JUMPDEST
0000391b: PUSH1 0xe0
0000391d: DUP2
0000391e: ADD
0000391f: PUSH1 0x04
00003921: DUP10
00003922: LT
00003923: PUSH2 0x392e
00003926: JUMPI
00003927: PUSH2 0x392e
0000392a: PUSH2 0x3bbb
0000392d: JUMP
0000392e: JUMPDEST
0000392f: SWAP8
00003930: DUP2
00003931: MSTORE
00003932: PUSH1 0x20
00003934: DUP2
00003935: ADD
00003936: SWAP7
00003937: SWAP1
00003938: SWAP7
00003939: MSTORE
0000393a: PUSH1 0x40
0000393c: DUP7
0000393d: ADD
0000393e: SWAP5
0000393f: SWAP1
00003940: SWAP5
00003941: MSTORE
00003942: PUSH1 0x60
00003944: DUP6
00003945: ADD
00003946: SWAP3
00003947: SWAP1
00003948: SWAP3
00003949: MSTORE
0000394a: PUSH1 0x80
0000394c: DUP5
0000394d: ADD
0000394e: MSTORE
0000394f: PUSH1 0xa0
00003951: DUP4
00003952: ADD
00003953: MSTORE
00003954: PUSH1 0xc0
00003956: SWAP1
00003957: SWAP2
00003958: ADD
00003959: MSTORE
0000395a: SWAP1
0000395b: JUMP
0000395c: JUMPDEST
0000395d: PUSH1 0xa0
0000395f: DUP2
00003960: ADD
00003961: PUSH1 0x03
00003963: DUP8
00003964: LT
00003965: PUSH2 0x3970
00003968: JUMPI
00003969: PUSH2 0x3970
0000396c: PUSH2 0x3bbb
0000396f: JUMP
00003970: JUMPDEST
00003971: SWAP6
00003972: DUP2
00003973: MSTORE
00003974: PUSH1 0x20
00003976: DUP2
00003977: ADD
00003978: SWAP5
00003979: SWAP1
0000397a: SWAP5
0000397b: MSTORE
0000397c: PUSH1 0x40
0000397e: DUP5
0000397f: ADD
00003980: SWAP3
00003981: SWAP1
00003982: SWAP3
00003983: MSTORE
00003984: PUSH1 0x60
00003986: DUP4
00003987: ADD
00003988: MSTORE
00003989: ISZERO
0000398a: ISZERO
0000398b: PUSH1 0x80
0000398d: SWAP1
0000398e: SWAP2
0000398f: ADD
00003990: MSTORE
00003991: SWAP1
00003992: JUMP
00003993: JUMPDEST
00003994: PUSH1 0x20
00003996: DUP2
00003997: MSTORE
00003998: PUSH1 0x00
0000399a: PUSH2 0x1ffa
0000399d: PUSH1 0x20
0000399f: DUP4
000039a0: ADD
000039a1: DUP5
000039a2: PUSH2 0x37f1
000039a5: JUMP
000039a6: JUMPDEST
000039a7: PUSH1 0x20
000039a9: DUP1
000039aa: DUP3
000039ab: MSTORE
000039ac: PUSH1 0x32
000039ae: SWAP1
000039af: DUP3
000039b0: ADD
000039b1: MSTORE
000039b2: PUSH32 0x4552433732313a207472616e7366657220746f206e6f6e204552433732315265
000039d3: PUSH1 0x40
000039d5: DUP3
000039d6: ADD
000039d7: MSTORE
000039d8: PUSH18 0x31b2b4bb32b91034b6b83632b6b2b73a32b9
000039eb: PUSH1 0x71
000039ed: SHL
000039ee: PUSH1 0x60
000039f0: DUP3
000039f1: ADD
000039f2: MSTORE
000039f3: PUSH1 0x80
000039f5: ADD
000039f6: SWAP1
000039f7: JUMP
000039f8: JUMPDEST
000039f9: PUSH1 0x20
000039fb: DUP1
000039fc: DUP3
000039fd: MSTORE
000039fe: PUSH1 0x31
00003a00: SWAP1
00003a01: DUP3
00003a02: ADD
00003a03: MSTORE
00003a04: PUSH32 0x4552433732313a207472616e736665722063616c6c6572206973206e6f74206f
00003a25: PUSH1 0x40
00003a27: DUP3
00003a28: ADD
00003a29: MSTORE
00003a2a: PUSH17 0x1ddb995c881b9bdc88185c1c1c9bdd9959
00003a3c: PUSH1 0x7a
00003a3e: SHL
00003a3f: PUSH1 0x60
00003a41: DUP3
00003a42: ADD
00003a43: MSTORE
00003a44: PUSH1 0x80
00003a46: ADD
00003a47: SWAP1
00003a48: JUMP
00003a49: JUMPDEST
00003a4a: PUSH1 0x20
00003a4c: DUP1
00003a4d: DUP3
00003a4e: MSTORE
00003a4f: PUSH1 0x1f
00003a51: SWAP1
00003a52: DUP3
00003a53: ADD
00003a54: MSTORE
00003a55: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
00003a76: PUSH1 0x40
00003a78: DUP3
00003a79: ADD
00003a7a: MSTORE
00003a7b: PUSH1 0x60
00003a7d: ADD
00003a7e: SWAP1
00003a7f: JUMP
00003a80: JUMPDEST
00003a81: PUSH1 0x00
00003a83: DUP3
00003a84: NOT
00003a85: DUP3
00003a86: GT
00003a87: ISZERO
00003a88: PUSH2 0x3a93
00003a8b: JUMPI
00003a8c: PUSH2 0x3a93
00003a8f: PUSH2 0x3b8f
00003a92: JUMP
00003a93: JUMPDEST
00003a94: POP
00003a95: ADD
00003a96: SWAP1
00003a97: JUMP
00003a98: JUMPDEST
00003a99: PUSH1 0x00
00003a9b: DUP3
00003a9c: PUSH2 0x3aa7
00003a9f: JUMPI
00003aa0: PUSH2 0x3aa7
00003aa3: PUSH2 0x3ba5
00003aa6: JUMP
00003aa7: JUMPDEST
00003aa8: POP
00003aa9: DIV
00003aaa: SWAP1
00003aab: JUMP
00003aac: JUMPDEST
00003aad: PUSH1 0x00
00003aaf: DUP2
00003ab0: PUSH1 0x00
00003ab2: NOT
00003ab3: DIV
00003ab4: DUP4
00003ab5: GT
00003ab6: DUP3
00003ab7: ISZERO
00003ab8: ISZERO
00003ab9: AND
00003aba: ISZERO
00003abb: PUSH2 0x3ac6
00003abe: JUMPI
00003abf: PUSH2 0x3ac6
00003ac2: PUSH2 0x3b8f
00003ac5: JUMP
00003ac6: JUMPDEST
00003ac7: POP
00003ac8: MUL
00003ac9: SWAP1
00003aca: JUMP
00003acb: JUMPDEST
00003acc: PUSH1 0x00
00003ace: DUP3
00003acf: DUP3
00003ad0: LT
00003ad1: ISZERO
00003ad2: PUSH2 0x3add
00003ad5: JUMPI
00003ad6: PUSH2 0x3add
00003ad9: PUSH2 0x3b8f
00003adc: JUMP
00003add: JUMPDEST
00003ade: POP
00003adf: SUB
00003ae0: SWAP1
00003ae1: JUMP
00003ae2: JUMPDEST
00003ae3: PUSH1 0x00
00003ae5: JUMPDEST
00003ae6: DUP4
00003ae7: DUP2
00003ae8: LT
00003ae9: ISZERO
00003aea: PUSH2 0x3afd
00003aed: JUMPI
00003aee: DUP2
00003aef: DUP2
00003af0: ADD
00003af1: MLOAD
00003af2: DUP4
00003af3: DUP3
00003af4: ADD
00003af5: MSTORE
00003af6: PUSH1 0x20
00003af8: ADD
00003af9: PUSH2 0x3ae5
00003afc: JUMP
00003afd: JUMPDEST
00003afe: DUP4
00003aff: DUP2
00003b00: GT
00003b01: ISZERO
00003b02: PUSH2 0x1f13
00003b05: JUMPI
00003b06: POP
00003b07: POP
00003b08: PUSH1 0x00
00003b0a: SWAP2
00003b0b: ADD
00003b0c: MSTORE
00003b0d: JUMP
00003b0e: JUMPDEST
00003b0f: PUSH1 0x00
00003b11: DUP2
00003b12: PUSH2 0x3b1d
00003b15: JUMPI
00003b16: PUSH2 0x3b1d
00003b19: PUSH2 0x3b8f
00003b1c: JUMP
00003b1d: JUMPDEST
00003b1e: POP
00003b1f: PUSH1 0x00
00003b21: NOT
00003b22: ADD
00003b23: SWAP1
00003b24: JUMP
00003b25: JUMPDEST
00003b26: PUSH1 0x01
00003b28: DUP2
00003b29: DUP2
00003b2a: SHR
00003b2b: SWAP1
00003b2c: DUP3
00003b2d: AND
00003b2e: DUP1
00003b2f: PUSH2 0x3b39
00003b32: JUMPI
00003b33: PUSH1 0x7f
00003b35: DUP3
00003b36: AND
00003b37: SWAP2
00003b38: POP
00003b39: JUMPDEST
00003b3a: PUSH1 0x20
00003b3c: DUP3
00003b3d: LT
00003b3e: DUP2
00003b3f: EQ
00003b40: ISZERO
00003b41: PUSH2 0x3b5a
00003b44: JUMPI
00003b45: PUSH4 0x4e487b71
00003b4a: PUSH1 0xe0
00003b4c: SHL
00003b4d: PUSH1 0x00
00003b4f: MSTORE
00003b50: PUSH1 0x22
00003b52: PUSH1 0x04
00003b54: MSTORE
00003b55: PUSH1 0x24
00003b57: PUSH1 0x00
00003b59: REVERT
00003b5a: JUMPDEST
00003b5b: POP
00003b5c: SWAP2
00003b5d: SWAP1
00003b5e: POP
00003b5f: JUMP
00003b60: JUMPDEST
00003b61: PUSH1 0x00
00003b63: PUSH1 0x00
00003b65: NOT
00003b66: DUP3
00003b67: EQ
00003b68: ISZERO
00003b69: PUSH2 0x3b74
00003b6c: JUMPI
00003b6d: PUSH2 0x3b74
00003b70: PUSH2 0x3b8f
00003b73: JUMP
00003b74: JUMPDEST
00003b75: POP
00003b76: PUSH1 0x01
00003b78: ADD
00003b79: SWAP1
00003b7a: JUMP
00003b7b: JUMPDEST
00003b7c: PUSH1 0x00
00003b7e: DUP3
00003b7f: PUSH2 0x3b8a
00003b82: JUMPI
00003b83: PUSH2 0x3b8a
00003b86: PUSH2 0x3ba5
00003b89: JUMP
00003b8a: JUMPDEST
00003b8b: POP
00003b8c: MOD
00003b8d: SWAP1
00003b8e: JUMP
00003b8f: JUMPDEST
00003b90: PUSH4 0x4e487b71
00003b95: PUSH1 0xe0
00003b97: SHL
00003b98: PUSH1 0x00
00003b9a: MSTORE
00003b9b: PUSH1 0x11
00003b9d: PUSH1 0x04
00003b9f: MSTORE
00003ba0: PUSH1 0x24
00003ba2: PUSH1 0x00
00003ba4: REVERT
00003ba5: JUMPDEST
00003ba6: PUSH4 0x4e487b71
00003bab: PUSH1 0xe0
00003bad: SHL
00003bae: PUSH1 0x00
00003bb0: MSTORE
00003bb1: PUSH1 0x12
00003bb3: PUSH1 0x04
00003bb5: MSTORE
00003bb6: PUSH1 0x24
00003bb8: PUSH1 0x00
00003bba: REVERT
00003bbb: JUMPDEST
00003bbc: PUSH4 0x4e487b71
00003bc1: PUSH1 0xe0
00003bc3: SHL
00003bc4: PUSH1 0x00
00003bc6: MSTORE
00003bc7: PUSH1 0x21
00003bc9: PUSH1 0x04
00003bcb: MSTORE
00003bcc: PUSH1 0x24
00003bce: PUSH1 0x00
00003bd0: REVERT
00003bd1: JUMPDEST
00003bd2: PUSH4 0x4e487b71
00003bd7: PUSH1 0xe0
00003bd9: SHL
00003bda: PUSH1 0x00
00003bdc: MSTORE
00003bdd: PUSH1 0x32
00003bdf: PUSH1 0x04
00003be1: MSTORE
00003be2: PUSH1 0x24
00003be4: PUSH1 0x00
00003be6: REVERT
00003be7: JUMPDEST
00003be8: PUSH4 0x4e487b71
00003bed: PUSH1 0xe0
00003bef: SHL
00003bf0: PUSH1 0x00
00003bf2: MSTORE
00003bf3: PUSH1 0x41
00003bf5: PUSH1 0x04
00003bf7: MSTORE
00003bf8: PUSH1 0x24
00003bfa: PUSH1 0x00
00003bfc: REVERT
00003bfd: JUMPDEST
00003bfe: PUSH1 0x01
00003c00: PUSH1 0x01
00003c02: PUSH1 0xa0
00003c04: SHL
00003c05: SUB
00003c06: DUP2
00003c07: AND
00003c08: DUP2
00003c09: EQ
00003c0a: PUSH2 0x3c12
00003c0d: JUMPI
00003c0e: PUSH1 0x00
00003c10: DUP1
00003c11: REVERT
00003c12: JUMPDEST
00003c13: POP
00003c14: JUMP
00003c15: JUMPDEST
00003c16: DUP1
00003c17: ISZERO
00003c18: ISZERO
00003c19: DUP2
00003c1a: EQ
00003c1b: PUSH2 0x3c12
00003c1e: JUMPI
00003c1f: PUSH1 0x00
00003c21: DUP1
00003c22: REVERT
00003c23: JUMPDEST
00003c24: PUSH1 0x01
00003c26: PUSH1 0x01
00003c28: PUSH1 0xe0
00003c2a: SHL
00003c2b: SUB
00003c2c: NOT
00003c2d: DUP2
00003c2e: AND
00003c2f: DUP2
00003c30: EQ
00003c31: PUSH2 0x3c12
00003c34: JUMPI
00003c35: PUSH1 0x00
00003c37: DUP1
00003c38: REVERT
00003c39: INVALID
00003c3a: LOG2
00003c3b: PUSH5 0x6970667358
00003c41: UNKNOWN(0x22)
00003c42: SLT
00003c43: KECCAK256
00003c44: UNKNOWN(0xAE)
00003c45: PUSH8 0x28538a1c88c3d1c8
00003c4e: CREATE
00003c4f: UNKNOWN(0xB8)
00003c50: UNKNOWN(0xD5)
00003c51: CALLCODE
00003c52: UNKNOWN(0xC6)
00003c53: PUSH22 0xfab700194c5baa0c3085508d3794500864736f6c6343
00003c6a: STOP
00003c6b: ADDMOD
00003c6c: MOD
00003c6d: STOP
00003c6e: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector ETH value transfer possible 55 no no
view
trace_id: 0xfc4b3b9a9f445cf308a10d291517762b439d322b783c9562531e72c77cba1739
call_targets: 0xb9ed94c6d594b2517c4296e24a8c517ff133fb6d
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xfc4b3b9a9f445cf308a10d291517762b439d322b783c9562531e72c77cba1739",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xb9ed94c6d594b2517c4296e24a8c517ff133fb6d"
    ],
    "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": "0xe5829d20",
            "selector": "0xe5829d20",
            "calldata_variants": [
                "0xe5829d20",
                "0xe5829d200000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe985e9c5",
            "selector": "0xe985e9c5",
            "calldata_variants": [
                "0xe985e9c5",
                "0xe985e9c50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc0c546a",
            "selector": "0xfc0c546a",
            "calldata_variants": [
                "0xfc0c546a",
                "0xfc0c546a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfeed2342",
            "selector": "0xfeed2342",
            "calldata_variants": [
                "0xfeed2342",
                "0xfeed23420000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd07a1c57",
            "selector": "0xd07a1c57",
            "calldata_variants": [
                "0xd07a1c57",
                "0xd07a1c570000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd547741f",
            "selector": "0xd547741f",
            "calldata_variants": [
                "0xd547741f",
                "0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdcaf9c44",
            "selector": "0xdcaf9c44",
            "calldata_variants": [
                "0xdcaf9c44",
                "0xdcaf9c440000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdfcb48bd",
            "selector": "0xdfcb48bd",
            "calldata_variants": [
                "0xdfcb48bd",
                "0xdfcb48bd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4404,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4762,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 12423,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 5,
    "guards_detected": []
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0xfc4b3b9a9f445cf308a10d291517762b439d322b783c9562531e72c77cba1739
call_targets: 0xb9ed94c6d594b2517c4296e24a8c517ff133fb6d
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xfc4b3b9a9f445cf308a10d291517762b439d322b783c9562531e72c77cba1739",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xb9ed94c6d594b2517c4296e24a8c517ff133fb6d"
    ],
    "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": "0xe5829d20",
            "selector": "0xe5829d20",
            "calldata_variants": [
                "0xe5829d20",
                "0xe5829d200000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe985e9c5",
            "selector": "0xe985e9c5",
            "calldata_variants": [
                "0xe985e9c5",
                "0xe985e9c50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc0c546a",
            "selector": "0xfc0c546a",
            "calldata_variants": [
                "0xfc0c546a",
                "0xfc0c546a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfeed2342",
            "selector": "0xfeed2342",
            "calldata_variants": [
                "0xfeed2342",
                "0xfeed23420000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd07a1c57",
            "selector": "0xd07a1c57",
            "calldata_variants": [
                "0xd07a1c57",
                "0xd07a1c570000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd547741f",
            "selector": "0xd547741f",
            "calldata_variants": [
                "0xd547741f",
                "0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdcaf9c44",
            "selector": "0xdcaf9c44",
            "calldata_variants": [
                "0xdcaf9c44",
                "0xdcaf9c440000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdfcb48bd",
            "selector": "0xdfcb48bd",
            "calldata_variants": [
                "0xdfcb48bd",
                "0xdfcb48bd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4404,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4762,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 12423,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 5,
    "guards_detected": [],
    "untrusted_call_count": 5
}
high other codex Withdrawals ignore locked collateral, enabling pool insolvency 85 no
view
evidence_json
{
    "evidence": "`_withdraw` calculates payout from `hedgedBalance`/`unhedgedBalance` and never checks `lockedAmount`; `availableBalance()` exists but is unused in withdrawals.",
    "locations": [
        "contracts/contracts/Pool/HegicPool.sol:449",
        "contracts/contracts/Pool/HegicPool.sol:482"
    ],
    "recommendation": "Enforce withdrawals only against `availableBalance` (totalBalance - lockedAmount) or proportionally reduce withdrawable amounts when options are active; prevent withdrawals that would make totalBalance < lockedAmount.",
    "exploit_scenario": "A liquidity provider waits out the lockup, then withdraws while options are still active. `_withdraw` pays out based on total balances without accounting for `lockedAmount`, so totalBalance can fall below locked collateral. Subsequent option exercises can revert or be underfunded, breaking solvency."
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0x9a4cc13b87cb7d2ba7cfae133e4c637feb7b3226d8c3e1fe6c299d68d306e2f8
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0x9a4cc13b87cb7d2ba7cfae133e4c637feb7b3226d8c3e1fe6c299d68d306e2f8",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xe5829d20",
            "selector": "0xe5829d20",
            "calldata_variants": [
                "0xe5829d20",
                "0xe5829d200000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe985e9c5",
            "selector": "0xe985e9c5",
            "calldata_variants": [
                "0xe985e9c5",
                "0xe985e9c50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc0c546a",
            "selector": "0xfc0c546a",
            "calldata_variants": [
                "0xfc0c546a",
                "0xfc0c546a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfeed2342",
            "selector": "0xfeed2342",
            "calldata_variants": [
                "0xfeed2342",
                "0xfeed23420000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd07a1c57",
            "selector": "0xd07a1c57",
            "calldata_variants": [
                "0xd07a1c57",
                "0xd07a1c570000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd547741f",
            "selector": "0xd547741f",
            "calldata_variants": [
                "0xd547741f",
                "0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdcaf9c44",
            "selector": "0xdcaf9c44",
            "calldata_variants": [
                "0xdcaf9c44",
                "0xdcaf9c440000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdfcb48bd",
            "selector": "0xdfcb48bd",
            "calldata_variants": [
                "0xdfcb48bd",
                "0xdfcb48bd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 1,
    "create2_count": 0
}
medium oracle codex Chainlink price used without freshness/positivity checks 75 no
view
evidence_json
{
    "evidence": "Both `_currentPrice` implementations cast `latestPrice` directly to `uint256` without checking `updatedAt`/`answeredInRound` or `price > 0`.",
    "locations": [
        "contracts/contracts/Pool/HegicPool.sol:567",
        "contracts/contracts/Options/PriceCalculator.sol:140"
    ],
    "recommendation": "Validate `updatedAt`, `answeredInRound`, and `price > 0` from `latestRoundData()` and enforce a staleness threshold (and sequencer uptime check on L2s).",
    "exploit_scenario": "If the aggregator returns stale/zero/negative data (e.g., sequencer downtime or oracle malfunction), the cast to `uint256` is still used for pricing and profit/lockedAmount calculations, leading to mispriced options or incorrect payouts."
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 1,
    "create2_count": 0
}
low access_control codex Unrestricted `poolApprove` lets anyone grant unlimited allowances from Facade 65 no
view
evidence_json
{
    "evidence": "`poolApprove` is external and unprotected, and it blindly sets `type(uint256).max` allowance for `pool.token()` to `pool`.",
    "locations": [
        "contracts/contracts/Facade/Facade.sol:126"
    ],
    "recommendation": "Restrict `poolApprove` to the owner or a whitelist of trusted pools, or remove the function and perform approvals only inside `createOption` for vetted pools.",
    "exploit_scenario": "An attacker deploys a fake pool that returns a valuable ERC20 address in `token()` and calls `poolApprove`. This grants their pool unlimited allowance from the Facade, letting them `transferFrom` any tokens that accumulate there (e.g., swap leftovers or accidental transfers)."
}
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": 9
}