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

Analysis Run

ffebce4c-2965-43ca-b4bc-25ee78b21aa6

complete
Chain ID
1
Address
Block Number
Created
Fri, Dec 26, 2025 3:22 PM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30181 report.consolidate complete 1 / 1 3 months ago
93685 artifact.fetch complete 1 / 3 2 weeks ago
93686 tool.cast_disasm complete 1 / 3 2 weeks ago
93687 analysis.bundle complete 1 / 3 2 weeks ago
93688 capability.graph complete 1 / 3 2 weeks ago
93689 detector.run complete 1 / 3 2 weeks ago
93690 validation.fork complete 1 / 3 2 weeks 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
0
No findings?
yes
Summary
No exploitable vulnerabilities found in the first-party Vault contracts within the provided AUDIT_BUNDLE scope.
View stderr
[codex:544923] OpenAI Codex v0.77.0 (research preview)
[codex:544923] --------
[codex:544923] workdir: /tmp/codex-multi-p2j0ji02
[codex:544923] model: gpt-5.2-codex
[codex:544923] provider: openai
[codex:544923] approval: never
[codex:544923] sandbox: read-only
[codex:544923] reasoning effort: xhigh
[codex:544923] reasoning summaries: auto
[codex:544923] session id: 019b5b3a-a80d-76f3-b1c1-55fa9d592603
[codex:544923] --------
[codex:544923] user
[codex:544923] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:544923] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:544923] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:544923] 
[codex:544923] Scope rules:
[codex:544923] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:544923] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:544923] 
[codex:544923] Output MUST be valid JSON matching the provided schema.
[codex:544923] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:544923] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:544923] 
[codex:544923] Output constraints (IMPORTANT):
[codex:544923] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:544923] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:544923] mcp startup: no servers
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Reading AUDIT_BUNDLE.txt**
[codex:544923] exec
[codex:544923] /bin/bash -lc ls in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] AUDIT_BUNDLE.txt
[codex:544923] codex-output-schema.json
[codex:544923] contracts
[codex:544923] exec
[codex:544923] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:544923] 
[codex:544923] ================================================================================
[codex:544923] FILE: contracts/contracts/lib/helpers/AssetHelpers.sol
[codex:544923] ================================================================================
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923] 
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:544923] // GNU General Public License for more details.
[codex:544923] 
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program.  If not, see <http://www.gnu.org/licenses/>.
[codex:544923] 
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Analyzing large audit bundle for vulnerabilities**
[codex:544923] 
[codex:544923] I'll tackle the big AUDIT_BUNDLE by focusing on first-party code, ignoring known third-party libraries like OpenZeppelin. Since the code might be related to Balancer V2, I'll search for patterns indicating vulnerabilities such as missing reentrancy guards or unsafe external calls before state updates. I plan to carefully scan relevant vault and pool modules and generate a JSON report listing any issues found or confirming no vulnerabilities.
[codex:544923] exec
[codex:544923] /bin/bash -lc 'rg -n "contract Vault|Vault" AUDIT_BUNDLE.txt' in /tmp/codex-multi-p2j0ji02 succeeded in 7ms:
[codex:544923] 312:    // Vault
[codex:544923] 2563:import "./interfaces/IVault.sol";
[codex:544923] 2577:     * caller of this function to check that this is true to prevent the Vault from using its own ETH (though the Vault
[codex:544923] 2594:            // the Vault at a 1:1 ratio.
[codex:544923] 2597:            // Note we're checking for the Vault's total balance, *not* ETH sent in this transaction.
[codex:544923] 2639:            // First, the Vault withdraws deposited ETH from the WETH contract, by burning the same amount of WETH
[codex:544923] 2640:            // from the Vault. This receipt will be handled by the Vault's `receive`.
[codex:544923] 2659:     * Because the caller might not know exactly how much ETH a Vault action will require, they may send extra.
[codex:544923] 2674:     * @dev Enables the Vault to receive ETH. This is required for it to be able to unwrap WETH, which sends ETH to the
[codex:544923] 2677:     * Any ETH sent to the Vault outside of the WETH unwrapping mechanism would be forever locked inside the Vault, so
[codex:544923] 2678:     * we prevent that from happening. Other mechanisms used to send ETH to the Vault (such as being the recipient of an
[codex:544923] 2732:import "./VaultAuthorization.sol";
[codex:544923] 2733:import "./interfaces/IVault.sol";
[codex:544923] 2736: * @dev To reduce the bytecode size of the Vault, most of the protocol fee logic is not here, but in the
[codex:544923] 2739:abstract contract Fees is IVault {
[codex:544923] 2745:        _protocolFeesCollector = new ProtocolFeesCollector(IVault(this));
[codex:544923] 2809: * @dev Handles Flash Loans through the Vault. Calls the `receiveFlashLoan` hook on the flash loan recipient
[codex:544923] 3065:        // The Vault ignores the `recipient` in joins and the `sender` in exits: it is up to the Pool to keep track of
[codex:544923] 3208:import "./VaultAuthorization.sol";
[codex:544923] 3214:abstract contract PoolRegistry is ReentrancyGuard, VaultAuthorization {
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Analyzing AUDIT_BUNDLE for vulnerabilities**
[codex:544923] 
[codex:544923] I’m examining the full Balancer contract included in AUDIT_BUNDLE to identify potential security issues, focusing on key modules like VaultAuthorization, SignaturesValidator, and ReentrancyGuard. Since the file is large, I’m prioritizing known vulnerability patterns and comparing with original source files to get precise context and line numbers. I'm especially curious about signature validation, external calls, and any subtle reentrancy risks.
[codex:544923] exec
[codex:544923] /bin/bash -lc 'rg -n "SignaturesValidator" contracts -g "*.sol"' in /tmp/codex-multi-p2j0ji02 succeeded in 8ms:
[codex:544923] contracts/contracts/vault/VaultAuthorization.sol:22:import "../lib/helpers/SignaturesValidator.sol";
[codex:544923] contracts/contracts/vault/VaultAuthorization.sol:37:    SignaturesValidator,
[codex:544923] contracts/contracts/vault/VaultAuthorization.sol:79:        SignaturesValidator("Balancer V2 Vault")
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:25:import "../../lib/helpers/ISignaturesValidator.sol";
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:34:interface IVault is ISignaturesValidator, ITemporarilyPausable {
[codex:544923] contracts/contracts/lib/helpers/SignaturesValidator.sol:18:import "./ISignaturesValidator.sol";
[codex:544923] contracts/contracts/lib/helpers/SignaturesValidator.sol:29:abstract contract SignaturesValidator is ISignaturesValidator, EIP712 {
[codex:544923] contracts/contracts/lib/helpers/ISignaturesValidator.sol:20:interface ISignaturesValidator {
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/lib/helpers/SignaturesValidator.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923] 
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:544923] // GNU General Public License for more details.
[codex:544923] 
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program.  If not, see <http://www.gnu.org/licenses/>.
[codex:544923] 
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] 
[codex:544923] import "./BalancerErrors.sol";
[codex:544923] import "./ISignaturesValidator.sol";
[codex:544923] import "../openzeppelin/EIP712.sol";
[codex:544923] 
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Analyzing signature validation logic**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/vault/VaultAuthorization.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923] 
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:544923] // GNU General Public License for more details.
[codex:544923] 
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program.  If not, see <http://www.gnu.org/licenses/>.
[codex:544923] 
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923] 
[codex:544923] import "../lib/helpers/BalancerErrors.sol";
[codex:544923] import "../lib/helpers/Authentication.sol";
[codex:544923] import "../lib/helpers/TemporarilyPausable.sol";
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Examining signature validation with relayers**
[codex:544923] exec
[codex:544923] /bin/bash -lc 'rg -n "function joinPool|joinPool" -n contracts/contracts/vault -g "*.sol"' in /tmp/codex-multi-p2j0ji02 succeeded in 11ms:
[codex:544923] contracts/contracts/vault/PoolBalances.sol:43:    function joinPool(
[codex:544923] contracts/contracts/vault/PoolBalances.sol:105:     * @dev Implements both `joinPool` and `exitPool`, based on `kind`.
[codex:544923] contracts/contracts/vault/interfaces/IBasePool.sol:28:     * @dev Called by the Vault when a user calls `IVault.joinPool` to add liquidity to this Pool. Returns how many of
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:324:     * The order of the `tokens` array is the same order that will be used in `joinPool`, `exitPool`, as well as in all
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:375:    function joinPool(
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:439:     * @dev Emitted when a user joins or exits a Pool by calling `joinPool` or `exitPool`, respectively.
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:615:     * `joinPool`.
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/vault/PoolBalances.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923] 
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:544923] // GNU General Public License for more details.
[codex:544923] 
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program.  If not, see <http://www.gnu.org/licenses/>.
[codex:544923] 
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923] 
[codex:544923] import "../lib/math/Math.sol";
[codex:544923] import "../lib/helpers/BalancerErrors.sol";
[codex:544923] import "../lib/helpers/InputHelpers.sol";
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Analyzing signature validation and relayer binding**
[codex:544923] 
[codex:544923] I'm exploring how the signature validation works in relation to the relayer and sender addresses, verifying that the user’s signature includes the relayer’s address to prevent unauthorized replay or substitution. While the calldata includes the sender parameter and the signature binds to the relayer, this seems secure by design. I'm also considering edge cases around calldata length and EVM assembly behavior to check for vulnerabilities, and scanning for upgradeability or delegatecall risks next.
[codex:544923] exec
[codex:544923] /bin/bash -lc 'rg -n "delegatecall" contracts -g "*.sol"' in /tmp/codex-multi-p2j0ji02 exited 1 in 9ms:
[codex:544923] 
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Checking reentrancy protections**
[codex:544923] exec
[codex:544923] /bin/bash -lc 'rg -n "function swap|function batchSwap|flashLoan|managePoolBalance" contracts/contracts/vault -g "*.sol"' in /tmp/codex-multi-p2j0ji02 succeeded in 9ms:
[codex:544923] contracts/contracts/vault/FlashLoans.sol:37:    function flashLoan(
[codex:544923] contracts/contracts/vault/ProtocolFeesCollector.sol:52:    uint256 private _flashLoanFeePercentage;
[codex:544923] contracts/contracts/vault/ProtocolFeesCollector.sol:90:        _flashLoanFeePercentage = newFlashLoanFeePercentage;
[codex:544923] contracts/contracts/vault/ProtocolFeesCollector.sol:99:        return _flashLoanFeePercentage;
[codex:544923] contracts/contracts/vault/Swaps.sol:56:    function swap(
[codex:544923] contracts/contracts/vault/Swaps.sol:107:    function batchSwap(
[codex:544923] contracts/contracts/vault/PoolBalances.sol:35: * `managePoolBalance` handles all Asset Manager interactions.
[codex:544923] contracts/contracts/vault/AssetManagers.sol:43:    function managePoolBalance(PoolBalanceOp[] memory ops) external override nonReentrant whenNotPaused {
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:253:     * Manager for the corresponding token. Asset Managers can manage a Pool's tokens via `managePoolBalance`,
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:513:    function swap(
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:568:    function batchSwap(
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:666:    function flashLoan(
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:674:     * @dev Emitted for each individual flash loan performed by `flashLoan`.
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:700:    function managePoolBalance(PoolBalanceOp[] memory ops) external;
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:720:     * @dev Emitted when a Pool's token Asset Manager alters its balance via `managePoolBalance`.
[codex:544923] contracts/contracts/vault/interfaces/IFlashLoanRecipient.sol:23:     * @dev When `flashLoan` is called on the Vault, it invokes the `receiveFlashLoan` hook on the recipient.
[codex:544923] contracts/contracts/vault/interfaces/IFlashLoanRecipient.sol:29:     * `userData` is the same value passed in the `IVault.flashLoan` call.
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/vault/Swaps.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923] 
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:544923] // GNU General Public License for more details.
[codex:544923] 
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program.  If not, see <http://www.gnu.org/licenses/>.
[codex:544923] 
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923] 
[codex:544923] import "../lib/math/Math.sol";
[codex:544923] import "../lib/helpers/BalancerErrors.sol";
[codex:544923] import "../lib/helpers/InputHelpers.sol";
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Checking for flash loan vulnerabilities**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/vault/FlashLoans.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 5ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923] 
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:544923] // GNU General Public License for more details.
[codex:544923] 
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program.  If not, see <http://www.gnu.org/licenses/>.
[codex:544923] 
[codex:544923] // This flash loan provider was based on the Aave protocol's open source
[codex:544923] // implementation and terminology and interfaces are intentionally kept
[codex:544923] // similar
[codex:544923] 
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Analyzing flash loan token transfer and access control**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/vault/ProtocolFeesCollector.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 5ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923] 
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:544923] // GNU General Public License for more details.
[codex:544923] 
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program.  If not, see <http://www.gnu.org/licenses/>.
[codex:544923] 
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923] 
[codex:544923] import "../lib/openzeppelin/IERC20.sol";
[codex:544923] import "../lib/helpers/InputHelpers.sol";
[codex:544923] import "../lib/helpers/Authentication.sol";
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Evaluating access control and oracle usage**
[codex:544923] exec
[codex:544923] /bin/bash -lc 'rg -n "oracle|price" contracts/contracts -g "*.sol"' in /tmp/codex-multi-p2j0ji02 succeeded in 10ms:
[codex:544923] contracts/contracts/vault/balances/BalanceAllocation.sol:37:// can be used to implement price oracles that are resilient to 'sandwich' attacks.
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:305:     * example when developing price oracles. A change of zero (e.g. caused by a swap with amount zero) is considered a
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:455:    // aware of the Pools' pricing algorithms in order to estimate the prices Pools will quote.
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:684:    // prices of the other tokens, and then drain the Pool with swaps. The risk of using Asset Managers is therefore
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Checking for receive functions**
[codex:544923] exec
[codex:544923] /bin/bash -lc "rg -n \"receive\\(\\)\" contracts/contracts/vault -g \"*.sol\"" in /tmp/codex-multi-p2j0ji02 succeeded in 9ms:
[codex:544923] contracts/contracts/vault/AssetTransfersHandler.sol:147:    receive() external payable {
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,220p' contracts/contracts/vault/AssetTransfersHandler.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923] 
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:544923] // GNU General Public License for more details.
[codex:544923] 
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program.  If not, see <http://www.gnu.org/licenses/>.
[codex:544923] 
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923] 
[codex:544923] import "../lib/math/Math.sol";
[codex:544923] import "../lib/helpers/BalancerErrors.sol";
[codex:544923] import "../lib/openzeppelin/IERC20.sol";
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Analyzing ETH handling for vulnerabilities**
[codex:544923] exec
[codex:544923] /bin/bash -lc 'rg -n "_handleRemainingEth" contracts/contracts/vault -g "*.sol"' in /tmp/codex-multi-p2j0ji02 succeeded in 9ms:
[codex:544923] contracts/contracts/vault/Swaps.sol:104:        _handleRemainingEth(_isETH(singleSwap.assetIn) ? amountIn : 0);
[codex:544923] contracts/contracts/vault/Swaps.sol:154:        _handleRemainingEth(wrappedEth);
[codex:544923] contracts/contracts/vault/UserBalance.sol:116:        _handleRemainingEth(ethWrapped);
[codex:544923] contracts/contracts/vault/AssetTransfersHandler.sol:128:    function _handleRemainingEth(uint256 amountUsed) internal {
[codex:544923] contracts/contracts/vault/PoolBalances.sol:247:        _handleRemainingEth(wrappedEth);
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Inspecting PoolBalances ETH handling**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '200,340p' contracts/contracts/vault/PoolBalances.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 5ms:
[codex:544923]         // their participation.
[codex:544923]         finalBalances = kind == PoolBalanceChangeKind.JOIN
[codex:544923]             ? _processJoinPoolTransfers(sender, change, balances, amountsInOrOut, dueProtocolFeeAmounts)
[codex:544923]             : _processExitPoolTransfers(recipient, change, balances, amountsInOrOut, dueProtocolFeeAmounts);
[codex:544923]     }
[codex:544923] 
[codex:544923]     /**
[codex:544923]      * @dev Transfers `amountsIn` from `sender`, checking that they are within their accepted limits, and pays
[codex:544923]      * accumulated protocol swap fees.
[codex:544923]      *
[codex:544923]      * Returns the Pool's final balances, which are the current balances plus `amountsIn` minus accumulated protocol
[codex:544923]      * swap fees.
[codex:544923]      */
[codex:544923]     function _processJoinPoolTransfers(
[codex:544923]         address sender,
[codex:544923]         PoolBalanceChange memory change,
[codex:544923]         bytes32[] memory balances,
[codex:544923]         uint256[] memory amountsIn,
[codex:544923]         uint256[] memory dueProtocolFeeAmounts
[codex:544923]     ) private returns (bytes32[] memory finalBalances) {
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Analyzing ETH handling and reentrancy risks**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/vault/UserBalance.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923] 
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:544923] // GNU General Public License for more details.
[codex:544923] 
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program.  If not, see <http://www.gnu.org/licenses/>.
[codex:544923] 
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923] 
[codex:544923] import "../lib/helpers/BalancerErrors.sol";
[codex:544923] import "../lib/math/Math.sol";
[codex:544923] import "../lib/openzeppelin/IERC20.sol";
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Inspecting user balance validation**
[codex:544923] exec
[codex:544923] /bin/bash -lc 'rg -n "_validateUserBalanceOp" -n contracts/contracts/vault/UserBalance.sol' in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] 74:            // This destructuring by calling `_validateUserBalanceOp` seems odd, but results in reduced bytecode size.
[codex:544923] 75:            (kind, asset, amount, sender, recipient, checkedCallerIsRelayer) = _validateUserBalanceOp(
[codex:544923] 224:    function _validateUserBalanceOp(UserBalanceOp memory op, bool checkedCallerIsRelayer)
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '200,320p' contracts/contracts/vault/UserBalance.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 5ms:
[codex:544923]      * Emits an `InternalBalanceChanged` event. This event includes `delta`, which is the amount the balance increased
[codex:544923]      * (if positive) or decreased (if negative). To avoid reading the current balance in order to compute the delta,
[codex:544923]      * this function relies on the caller providing it directly.
[codex:544923]      */
[codex:544923]     function _setInternalBalance(
[codex:544923]         address account,
[codex:544923]         IERC20 token,
[codex:544923]         uint256 newBalance,
[codex:544923]         int256 delta
[codex:544923]     ) private {
[codex:544923]         _internalTokenBalance[account][token] = newBalance;
[codex:544923]         emit InternalBalanceChanged(account, token, delta);
[codex:544923]     }
[codex:544923] 
[codex:544923]     /**
[codex:544923]      * @dev Returns `account`'s Internal Balance for `token`.
[codex:544923]      */
[codex:544923]     function _getInternalBalance(address account, IERC20 token) internal view returns (uint256) {
[codex:544923]         return _internalTokenBalance[account][token];
[codex:544923]     }
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Reviewing user balance and swap security**
[codex:544923] 
[codex:544923] I'll verify relayer approval logic and nonPaused checks around internal withdrawals, confirm permission enforcement via _authenticateCaller, and carefully examine swap functions `_swapWithPools` and `_swapWithPool` for potential reentrancy or balance inconsistencies during external pool calls.
[codex:544923] exec
[codex:544923] /bin/bash -lc 'rg -n "_swapWithPools|_swapWithPool" -n contracts/contracts/vault/Swaps.sol' in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] 97:        (amountCalculated, amountIn, amountOut) = _swapWithPool(poolRequest);
[codex:544923] 130:        assetDeltas = _swapWithPools(swaps, assets, funds, kind);
[codex:544923] 157:    // For `_swapWithPools` to handle both 'given in' and 'given out' swaps, it internally tracks the 'given' amount
[codex:544923] 205:    function _swapWithPools(
[codex:544923] 257:            (previousAmountCalculated, amountIn, amountOut) = _swapWithPool(poolRequest);
[codex:544923] 275:    function _swapWithPool(IPoolSwapStructs.SwapRequest memory request)
[codex:544923] 516:            int256[] memory deltas = _swapWithPools(swaps, assets, funds, kind);
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '200,380p' contracts/contracts/vault/Swaps.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 5ms:
[codex:544923]     /**
[codex:544923]      * @dev Performs all `swaps`, calling swap hooks on the Pool contracts and updating their balances. Does not cause
[codex:544923]      * any transfer of tokens - instead it returns the net Vault token deltas: positive if the Vault should receive
[codex:544923]      * tokens, and negative if it should send them.
[codex:544923]      */
[codex:544923]     function _swapWithPools(
[codex:544923]         BatchSwapStep[] memory swaps,
[codex:544923]         IAsset[] memory assets,
[codex:544923]         FundManagement memory funds,
[codex:544923]         SwapKind kind
[codex:544923]     ) private returns (int256[] memory assetDeltas) {
[codex:544923]         assetDeltas = new int256[](assets.length);
[codex:544923] 
[codex:544923]         // These variables could be declared inside the loop, but that causes the compiler to allocate memory on each
[codex:544923]         // loop iteration, increasing gas costs.
[codex:544923]         BatchSwapStep memory batchSwapStep;
[codex:544923]         IPoolSwapStructs.SwapRequest memory poolRequest;
[codex:544923] 
[codex:544923]         // These store data about the previous swap here to implement multihop logic across swaps.
[codex:544923]         IERC20 previousTokenCalculated;
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Inspecting _callMinimalSwapInfoPoolOnSwapHook details**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '380,560p' contracts/contracts/vault/Swaps.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 5ms:
[codex:544923]         request.lastChangeBlock = Math.max(tokenInBalance.lastChangeBlock(), tokenOutBalance.lastChangeBlock());
[codex:544923] 
[codex:544923]         // Perform the swap request callback, and compute the new balances for 'token in' and 'token out' after the swap
[codex:544923]         amountCalculated = pool.onSwap(request, tokenInTotal, tokenOutTotal);
[codex:544923]         (uint256 amountIn, uint256 amountOut) = _getAmounts(request.kind, request.amount, amountCalculated);
[codex:544923] 
[codex:544923]         newTokenInBalance = tokenInBalance.increaseCash(amountIn);
[codex:544923]         newTokenOutBalance = tokenOutBalance.decreaseCash(amountOut);
[codex:544923]     }
[codex:544923] 
[codex:544923]     function _processGeneralPoolSwapRequest(IPoolSwapStructs.SwapRequest memory request, IGeneralPool pool)
[codex:544923]         private
[codex:544923]         returns (uint256 amountCalculated)
[codex:544923]     {
[codex:544923]         bytes32 tokenInBalance;
[codex:544923]         bytes32 tokenOutBalance;
[codex:544923] 
[codex:544923]         // We access both token indexes without checking existence, because we will do it manually immediately after.
[codex:544923]         EnumerableMap.IERC20ToBytes32Map storage poolBalances = _generalPoolsBalances[request.poolId];
[codex:544923]         uint256 indexIn = poolBalances.unchecked_indexOf(request.tokenIn);
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Analyzing potential reentrancy and signature validation risks**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/vault/AssetManagers.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923] 
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:544923] // GNU General Public License for more details.
[codex:544923] 
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program.  If not, see <http://www.gnu.org/licenses/>.
[codex:544923] 
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923] 
[codex:544923] import "../lib/math/Math.sol";
[codex:544923] import "../lib/helpers/BalancerErrors.sol";
[codex:544923] import "../lib/helpers/InputHelpers.sol";
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Investigating pool implementations for vulnerabilities**
[codex:544923] exec
[codex:544923] /bin/bash -lc 'rg --files contracts/contracts -g "*.sol"' in /tmp/codex-multi-p2j0ji02 succeeded in 11ms:
[codex:544923] contracts/contracts/vault/FlashLoans.sol
[codex:544923] contracts/contracts/vault/ProtocolFeesCollector.sol
[codex:544923] contracts/contracts/vault/Swaps.sol
[codex:544923] contracts/contracts/vault/Vault.sol
[codex:544923] contracts/contracts/vault/VaultAuthorization.sol
[codex:544923] contracts/contracts/vault/PoolTokens.sol
[codex:544923] contracts/contracts/vault/Fees.sol
[codex:544923] contracts/contracts/vault/PoolBalances.sol
[codex:544923] contracts/contracts/vault/AssetManagers.sol
[codex:544923] contracts/contracts/vault/PoolRegistry.sol
[codex:544923] contracts/contracts/vault/AssetTransfersHandler.sol
[codex:544923] contracts/contracts/vault/balances/MinimalSwapInfoPoolsBalance.sol
[codex:544923] contracts/contracts/vault/balances/TwoTokenPoolsBalance.sol
[codex:544923] contracts/contracts/vault/balances/BalanceAllocation.sol
[codex:544923] contracts/contracts/vault/balances/GeneralPoolsBalance.sol
[codex:544923] contracts/contracts/vault/UserBalance.sol
[codex:544923] contracts/contracts/lib/math/LogExpMath.sol
[codex:544923] contracts/contracts/lib/math/FixedPoint.sol
[codex:544923] contracts/contracts/lib/math/Math.sol
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Inspecting Vault core for vulnerabilities**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/vault/PoolRegistry.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 5ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923] 
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:544923] // GNU General Public License for more details.
[codex:544923] 
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program.  If not, see <http://www.gnu.org/licenses/>.
[codex:544923] 
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923] 
[codex:544923] import "../lib/helpers/BalancerErrors.sol";
[codex:544923] import "../lib/openzeppelin/ReentrancyGuard.sol";
[codex:544923] 
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Reviewing PoolRegistry and PoolTokens**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,220p' contracts/contracts/vault/PoolTokens.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923] 
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:544923] // GNU General Public License for more details.
[codex:544923] 
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program.  If not, see <http://www.gnu.org/licenses/>.
[codex:544923] 
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923] 
[codex:544923] import "../lib/helpers/BalancerErrors.sol";
[codex:544923] import "../lib/openzeppelin/ReentrancyGuard.sol";
[codex:544923] 
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Evaluating potential security concerns**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/vault/balances/BalanceAllocation.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923] 
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:544923] // GNU General Public License for more details.
[codex:544923] 
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program.  If not, see <http://www.gnu.org/licenses/>.
[codex:544923] 
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] 
[codex:544923] import "../../lib/math/Math.sol";
[codex:544923] 
[codex:544923] // This library is used to create a data structure that represents a token's balance for a Pool. 'cash' is how many
[codex:544923] // tokens the Pool has sitting inside of the Vault. 'managed' is how many tokens were withdrawn from the Vault by the
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Reviewing potential vulnerabilities and access controls**
[codex:544923] 
[codex:544923] I'm carefully analyzing the usage of library functions, signature validation with EIP712, and reentrancy protections within the Vault and related contracts. I'm considering possible unsafe casts, replay attacks, reentrancy through pool hooks, race conditions when paused, and integer overflow risks in swaps. Though some minor info-level concerns exist, I find no clear exploitable vulnerabilities or access control weaknesses that stand out.
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/vault/balances/GeneralPoolsBalance.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923] 
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:544923] // GNU General Public License for more details.
[codex:544923] 
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program.  If not, see <http://www.gnu.org/licenses/>.
[codex:544923] 
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] 
[codex:544923] import "../../lib/helpers/BalancerErrors.sol";
[codex:544923] import "../../lib/openzeppelin/EnumerableMap.sol";
[codex:544923] import "../../lib/openzeppelin/IERC20.sol";
[codex:544923] 
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Analyzing token registration and sorting constraints**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/vault/balances/MinimalSwapInfoPoolsBalance.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 5ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923] 
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:544923] // GNU General Public License for more details.
[codex:544923] 
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program.  If not, see <http://www.gnu.org/licenses/>.
[codex:544923] 
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923] 
[codex:544923] import "../../lib/helpers/BalancerErrors.sol";
[codex:544923] import "../../lib/openzeppelin/EnumerableSet.sol";
[codex:544923] import "../../lib/openzeppelin/IERC20.sol";
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Analyzing token order and balance constraints**
[codex:544923] exec
[codex:544923] /bin/bash -lc 'rg -n "setManaged" -n contracts/contracts/vault/balances/BalanceAllocation.sol' in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] 212:    function setManaged(bytes32 balance, uint256 newManaged) internal view returns (bytes32) {
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '200,260p' contracts/contracts/vault/balances/BalanceAllocation.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923]         uint256 newManaged = managed(balance).sub(amount);
[codex:544923]         uint256 currentLastChangeBlock = lastChangeBlock(balance);
[codex:544923] 
[codex:544923]         return toBalance(newCash, newManaged, currentLastChangeBlock);
[codex:544923]     }
[codex:544923] 
[codex:544923]     /**
[codex:544923]      * @dev Sets 'managed' balance to an arbitrary value, changing 'total'. Called when the Asset Manager reports
[codex:544923]      * profits or losses. It's the Manager's responsibility to provide a meaningful value.
[codex:544923]      *
[codex:544923]      * Updates the last total balance change block, even if `newManaged` is equal to the current 'managed' value.
[codex:544923]      */
[codex:544923]     function setManaged(bytes32 balance, uint256 newManaged) internal view returns (bytes32) {
[codex:544923]         uint256 currentCash = cash(balance);
[codex:544923]         uint256 newLastChangeBlock = block.number;
[codex:544923]         return toBalance(currentCash, newManaged, newLastChangeBlock);
[codex:544923]     }
[codex:544923] 
[codex:544923]     // Alternative mode for Pools with the Two Token specialization setting
[codex:544923] 
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Reviewing potential vulnerabilities in asset and fee handling**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,160p' contracts/contracts/vault/Vault.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923] 
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:544923] // GNU General Public License for more details.
[codex:544923] 
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program.  If not, see <http://www.gnu.org/licenses/>.
[codex:544923] 
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923] 
[codex:544923] import "./interfaces/IAuthorizer.sol";
[codex:544923] import "./interfaces/IWETH.sol";
[codex:544923] 
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Inspecting Fees contract for vulnerabilities**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/vault/Fees.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 5ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923] 
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:544923] // GNU General Public License for more details.
[codex:544923] 
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program.  If not, see <http://www.gnu.org/licenses/>.
[codex:544923] 
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923] 
[codex:544923] import "../lib/math/FixedPoint.sol";
[codex:544923] import "../lib/helpers/BalancerErrors.sol";
[codex:544923] import "../lib/openzeppelin/IERC20.sol";
[codex:544923] 
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Analyzing detailed security considerations**
[codex:544923] 
[codex:544923] I've carefully reviewed many potential vulnerabilities including reentrancy, authentication, signature validation, and upgradeability. I explored subtle issues like unchecked return values, pool registration by EOAs, replay attacks, and token duplication in batch swaps. While some design quirks and edge cases surfaced, none appear exploitable given the current safeguards, so I lean toward reporting no findings but remain attentive to nuanced risks.
[codex:544923] thinking
[codex:544923] **Evaluating duplicate assets effect on swaps**
[codex:544923] 
[codex:544923] I'm examining how duplicate tokens in the assets array interact with asset deltas and swap limits. While duplicates cause individual deltas to be handled separately, the contract’s checks on token equality and delta limits appear designed to prevent abuses like bypassing swap constraints. The nuanced behaviors don’t show exploitable vulnerabilities but are worth noting for how limits and deltas interplay.
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/lib/helpers/TemporarilyPausable.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923] 
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:544923] // GNU General Public License for more details.
[codex:544923] 
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program.  If not, see <http://www.gnu.org/licenses/>.
[codex:544923] 
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] 
[codex:544923] import "./BalancerErrors.sol";
[codex:544923] import "./ITemporarilyPausable.sol";
[codex:544923] 
[codex:544923] /**
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Analyzing potential vulnerabilities and design risks**
[codex:544923] exec
[codex:544923] /bin/bash -lc 'rg -n "TODO|HACK|FIXME|DANGER|unchecked" contracts/contracts -g "*.sol"' in /tmp/codex-multi-p2j0ji02 succeeded in 9ms:
[codex:544923] contracts/contracts/vault/Swaps.sol:399:        uint256 indexIn = poolBalances.unchecked_indexOf(request.tokenIn);
[codex:544923] contracts/contracts/vault/Swaps.sol:400:        uint256 indexOut = poolBalances.unchecked_indexOf(request.tokenOut);
[codex:544923] contracts/contracts/vault/Swaps.sol:420:            // know `i` is a valid token index and can use `unchecked_valueAt` to save storage reads.
[codex:544923] contracts/contracts/vault/Swaps.sol:421:            bytes32 balance = poolBalances.unchecked_valueAt(i);
[codex:544923] contracts/contracts/vault/Swaps.sol:440:        // 'token in' and 'token out', we can use `unchecked_setAt` to save storage reads.
[codex:544923] contracts/contracts/vault/Swaps.sol:441:        poolBalances.unchecked_setAt(indexIn, tokenInBalance);
[codex:544923] contracts/contracts/vault/Swaps.sol:442:        poolBalances.unchecked_setAt(indexOut, tokenOutBalance);
[codex:544923] contracts/contracts/vault/balances/MinimalSwapInfoPoolsBalance.sol:189:            // `unchecked_at` as we know `i` is a valid token index, saving storage reads.
[codex:544923] contracts/contracts/vault/balances/MinimalSwapInfoPoolsBalance.sol:190:            IERC20 token = IERC20(poolTokens.unchecked_at(i));
[codex:544923] contracts/contracts/vault/AssetTransfersHandler.sol:71:                // and the amount to decrease, it is safe to perform unchecked arithmetic.
[codex:544923] contracts/contracts/vault/balances/GeneralPoolsBalance.sol:96:            // Since we assume all balances are properly ordered, we can simply use `unchecked_setAt` to avoid one less
[codex:544923] contracts/contracts/vault/balances/GeneralPoolsBalance.sol:98:            poolBalances.unchecked_setAt(i, balances[i]);
[codex:544923] contracts/contracts/vault/balances/GeneralPoolsBalance.sol:187:            // `unchecked_at` as we know `i` is a valid token index, saving storage reads.
[codex:544923] contracts/contracts/vault/balances/GeneralPoolsBalance.sol:188:            (tokens[i], balances[i]) = poolBalances.unchecked_at(i);
[codex:544923] contracts/contracts/lib/openzeppelin/SafeCast.sol:16: * Using this library instead of the unchecked operations eliminates an entire
[codex:544923] contracts/contracts/lib/openzeppelin/EnumerableSet.sol:10:// The `unchecked_at` function was also added, which allows for more gas efficient data reads in some scenarios.
[codex:544923] contracts/contracts/lib/openzeppelin/EnumerableSet.sol:133:        return unchecked_at(set, index);
[codex:544923] contracts/contracts/lib/openzeppelin/EnumerableSet.sol:143:    function unchecked_at(AddressSet storage set, uint256 index) internal view returns (address) {
[codex:544923] contracts/contracts/lib/openzeppelin/EnumerableMap.sol:8://  * unchecked_at and unchecked_valueAt, which allow for more gas efficient data reads in some scenarios
[codex:544923] contracts/contracts/lib/openzeppelin/EnumerableMap.sol:9://  * unchecked_indexOf and unchecked_setAt, which allow for more gas efficient data writes in some scenarios
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Reviewing potential signature and relayer risks**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/vault/balances/TwoTokenPoolsBalance.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 7ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923] 
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
[codex:544923] // GNU General Public License for more details.
[codex:544923] 
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program.  If not, see <http://www.gnu.org/licenses/>.
[codex:544923] 
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923] 
[codex:544923] import "../../lib/helpers/BalancerErrors.sol";
[codex:544923] import "../../lib/openzeppelin/IERC20.sol";
[codex:544923] 
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Assessing potential vulnerabilities**
[codex:544923] exec
[codex:544923] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-p2j0ji02 succeeded in 5ms:
[codex:544923] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:544923] 
[codex:544923] thinking
[codex:544923] **Reviewing and finalizing audit report**
[codex:544923] 
[codex:544923] I'm carefully verifying that the summary string and findings array align with expectations and that any potential signature-related edge cases or governance risks do not translate into exploitable vulnerabilities. I'll ensure the JSON output is valid and clearly states no findings within the specified audit scope.
[codex:544923] codex
[codex:544923] {"no_findings":true,"summary":"No exploitable vulnerabilities found in the first-party Vault contracts within the provided AUDIT_BUNDLE scope.","findings":[]}
[codex:544923] tokens used
[codex:544923] 121,759
[codex:544923] {"no_findings":true,"summary":"No exploitable vulnerabilities found in the first-party Vault contracts within the provided AUDIT_BUNDLE scope.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-26T15:22:48.409945+00:00",
        "returncode": 0
    },
    "summary": "No exploitable vulnerabilities found in the first-party Vault contracts within the provided AUDIT_BUNDLE scope.",
    "raw_final": {
        "summary": "No exploitable vulnerabilities found in the first-party Vault contracts within the provided AUDIT_BUNDLE scope.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
16
EXT*/BALANCE
12
Total opcodes
16746
Flags
heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x01a5
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x945bcec9
00000019: GT
0000001a: PUSH2 0x00e1
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xe6c46092
00000024: GT
00000025: PUSH2 0x008a
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xf84d066e
0000002f: GT
00000030: PUSH2 0x0064
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xf84d066e
0000003a: EQ
0000003b: PUSH2 0x048a
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xf94d4668
00000045: EQ
00000046: PUSH2 0x04aa
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xfa6e671d
00000050: EQ
00000051: PUSH2 0x04d9
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xfec90d72
0000005b: EQ
0000005c: PUSH2 0x04f9
0000005f: JUMPI
00000060: PUSH2 0x01d3
00000063: JUMP
00000064: JUMPDEST
00000065: DUP1
00000066: PUSH4 0xe6c46092
0000006b: EQ
0000006c: PUSH2 0x0427
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0xed24911d
00000076: EQ
00000077: PUSH2 0x0447
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xf6c00927
00000081: EQ
00000082: PUSH2 0x045c
00000085: JUMPI
00000086: PUSH2 0x01d3
00000089: JUMP
0000008a: JUMPDEST
0000008b: DUP1
0000008c: PUSH4 0xb05f8e48
00000091: GT
00000092: PUSH2 0x00bb
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0xb05f8e48
0000009c: EQ
0000009d: PUSH2 0x03cf
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0xb95cac28
000000a7: EQ
000000a8: PUSH2 0x03ff
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0xd2946c2b
000000b2: EQ
000000b3: PUSH2 0x0412
000000b6: JUMPI
000000b7: PUSH2 0x01d3
000000ba: JUMP
000000bb: JUMPDEST
000000bc: DUP1
000000bd: PUSH4 0x945bcec9
000000c2: EQ
000000c3: PUSH2 0x0385
000000c6: JUMPI
000000c7: DUP1
000000c8: PUSH4 0xaaabadc5
000000cd: EQ
000000ce: PUSH2 0x0398
000000d1: JUMPI
000000d2: DUP1
000000d3: PUSH4 0xad5c4648
000000d8: EQ
000000d9: PUSH2 0x03ba
000000dc: JUMPI
000000dd: PUSH2 0x01d3
000000e0: JUMP
000000e1: JUMPDEST
000000e2: DUP1
000000e3: PUSH4 0x52bbbe29
000000e8: GT
000000e9: PUSH2 0x014e
000000ec: JUMPI
000000ed: DUP1
000000ee: PUSH4 0x7d3aeb96
000000f3: GT
000000f4: PUSH2 0x0128
000000f7: JUMPI
000000f8: DUP1
000000f9: PUSH4 0x7d3aeb96
000000fe: EQ
000000ff: PUSH2 0x0305
00000102: JUMPI
00000103: DUP1
00000104: PUSH4 0x851c1bb3
00000109: EQ
0000010a: PUSH2 0x0325
0000010d: JUMPI
0000010e: DUP1
0000010f: PUSH4 0x8bdb3913
00000114: EQ
00000115: PUSH2 0x0345
00000118: JUMPI
00000119: DUP1
0000011a: PUSH4 0x90193b7c
0000011f: EQ
00000120: PUSH2 0x0365
00000123: JUMPI
00000124: PUSH2 0x01d3
00000127: JUMP
00000128: JUMPDEST
00000129: DUP1
0000012a: PUSH4 0x52bbbe29
0000012f: EQ
00000130: PUSH2 0x02b2
00000133: JUMPI
00000134: DUP1
00000135: PUSH4 0x5c38449e
0000013a: EQ
0000013b: PUSH2 0x02c5
0000013e: JUMPI
0000013f: DUP1
00000140: PUSH4 0x66a9c7d2
00000145: EQ
00000146: PUSH2 0x02e5
00000149: JUMPI
0000014a: PUSH2 0x01d3
0000014d: JUMP
0000014e: JUMPDEST
0000014f: DUP1
00000150: PUSH4 0x0f5a6efa
00000155: GT
00000156: PUSH2 0x017f
00000159: JUMPI
0000015a: DUP1
0000015b: PUSH4 0x0f5a6efa
00000160: EQ
00000161: PUSH2 0x0241
00000164: JUMPI
00000165: DUP1
00000166: PUSH4 0x16c38b3c
0000016b: EQ
0000016c: PUSH2 0x026e
0000016f: JUMPI
00000170: DUP1
00000171: PUSH4 0x1c0de051
00000176: EQ
00000177: PUSH2 0x028e
0000017a: JUMPI
0000017b: PUSH2 0x01d3
0000017e: JUMP
0000017f: JUMPDEST
00000180: DUP1
00000181: PUSH4 0x058a628f
00000186: EQ
00000187: PUSH2 0x01d8
0000018a: JUMPI
0000018b: DUP1
0000018c: PUSH4 0x09b2760f
00000191: EQ
00000192: PUSH2 0x01f8
00000195: JUMPI
00000196: DUP1
00000197: PUSH4 0x0e8e3e84
0000019c: EQ
0000019d: PUSH2 0x022e
000001a0: JUMPI
000001a1: PUSH2 0x01d3
000001a4: JUMP
000001a5: JUMPDEST
000001a6: CALLDATASIZE
000001a7: PUSH2 0x01d3
000001aa: JUMPI
000001ab: PUSH2 0x01d1
000001ae: PUSH2 0x01b5
000001b1: PUSH2 0x0526
000001b4: JUMP
000001b5: JUMPDEST
000001b6: PUSH1 0x01
000001b8: PUSH1 0x01
000001ba: PUSH1 0xa0
000001bc: SHL
000001bd: SUB
000001be: AND
000001bf: CALLER
000001c0: PUSH1 0x01
000001c2: PUSH1 0x01
000001c4: PUSH1 0xa0
000001c6: SHL
000001c7: SUB
000001c8: AND
000001c9: EQ
000001ca: PUSH2 0x0206
000001cd: PUSH2 0x054b
000001d0: JUMP
000001d1: JUMPDEST
000001d2: STOP
000001d3: JUMPDEST
000001d4: PUSH1 0x00
000001d6: DUP1
000001d7: REVERT
000001d8: JUMPDEST
000001d9: CALLVALUE
000001da: DUP1
000001db: ISZERO
000001dc: PUSH2 0x01e4
000001df: JUMPI
000001e0: PUSH1 0x00
000001e2: DUP1
000001e3: REVERT
000001e4: JUMPDEST
000001e5: POP
000001e6: PUSH2 0x01d1
000001e9: PUSH2 0x01f3
000001ec: CALLDATASIZE
000001ed: PUSH1 0x04
000001ef: PUSH2 0x5157
000001f2: JUMP
000001f3: JUMPDEST
000001f4: PUSH2 0x055d
000001f7: JUMP
000001f8: JUMPDEST
000001f9: CALLVALUE
000001fa: DUP1
000001fb: ISZERO
000001fc: PUSH2 0x0204
000001ff: JUMPI
00000200: PUSH1 0x00
00000202: DUP1
00000203: REVERT
00000204: JUMPDEST
00000205: POP
00000206: PUSH2 0x0218
00000209: PUSH2 0x0213
0000020c: CALLDATASIZE
0000020d: PUSH1 0x04
0000020f: PUSH2 0x56e6
00000212: JUMP
00000213: JUMPDEST
00000214: PUSH2 0x0581
00000217: JUMP
00000218: JUMPDEST
00000219: PUSH1 0x40
0000021b: MLOAD
0000021c: PUSH2 0x0225
0000021f: SWAP2
00000220: SWAP1
00000221: PUSH2 0x5d3e
00000224: JUMP
00000225: JUMPDEST
00000226: PUSH1 0x40
00000228: MLOAD
00000229: DUP1
0000022a: SWAP2
0000022b: SUB
0000022c: SWAP1
0000022d: RETURN
0000022e: JUMPDEST
0000022f: PUSH2 0x01d1
00000232: PUSH2 0x023c
00000235: CALLDATASIZE
00000236: PUSH1 0x04
00000238: PUSH2 0x531e
0000023b: JUMP
0000023c: JUMPDEST
0000023d: PUSH2 0x0634
00000240: JUMP
00000241: JUMPDEST
00000242: CALLVALUE
00000243: DUP1
00000244: ISZERO
00000245: PUSH2 0x024d
00000248: JUMPI
00000249: PUSH1 0x00
0000024b: DUP1
0000024c: REVERT
0000024d: JUMPDEST
0000024e: POP
0000024f: PUSH2 0x0261
00000252: PUSH2 0x025c
00000255: CALLDATASIZE
00000256: PUSH1 0x04
00000258: PUSH2 0x51f5
0000025b: JUMP
0000025c: JUMPDEST
0000025d: PUSH2 0x0770
00000260: JUMP
00000261: JUMPDEST
00000262: PUSH1 0x40
00000264: MLOAD
00000265: PUSH2 0x0225
00000268: SWAP2
00000269: SWAP1
0000026a: PUSH2 0x5d08
0000026d: JUMP
0000026e: JUMPDEST
0000026f: CALLVALUE
00000270: DUP1
00000271: ISZERO
00000272: PUSH2 0x027a
00000275: JUMPI
00000276: PUSH1 0x00
00000278: DUP1
00000279: REVERT
0000027a: JUMPDEST
0000027b: POP
0000027c: PUSH2 0x01d1
0000027f: PUSH2 0x0289
00000282: CALLDATASIZE
00000283: PUSH1 0x04
00000285: PUSH2 0x545c
00000288: JUMP
00000289: JUMPDEST
0000028a: PUSH2 0x0806
0000028d: JUMP
0000028e: JUMPDEST
0000028f: CALLVALUE
00000290: DUP1
00000291: ISZERO
00000292: PUSH2 0x029a
00000295: JUMPI
00000296: PUSH1 0x00
00000298: DUP1
00000299: REVERT
0000029a: JUMPDEST
0000029b: POP
0000029c: PUSH2 0x02a3
0000029f: PUSH2 0x081f
000002a2: JUMP
000002a3: JUMPDEST
000002a4: PUSH1 0x40
000002a6: MLOAD
000002a7: PUSH2 0x0225
000002aa: SWAP4
000002ab: SWAP3
000002ac: SWAP2
000002ad: SWAP1
000002ae: PUSH2 0x5d26
000002b1: JUMP
000002b2: JUMPDEST
000002b3: PUSH2 0x0218
000002b6: PUSH2 0x02c0
000002b9: CALLDATASIZE
000002ba: PUSH1 0x04
000002bc: PUSH2 0x588f
000002bf: JUMP
000002c0: JUMPDEST
000002c1: PUSH2 0x0848
000002c4: JUMP
000002c5: JUMPDEST
000002c6: CALLVALUE
000002c7: DUP1
000002c8: ISZERO
000002c9: PUSH2 0x02d1
000002cc: JUMPI
000002cd: PUSH1 0x00
000002cf: DUP1
000002d0: REVERT
000002d1: JUMPDEST
000002d2: POP
000002d3: PUSH2 0x01d1
000002d6: PUSH2 0x02e0
000002d9: CALLDATASIZE
000002da: PUSH1 0x04
000002dc: PUSH2 0x565b
000002df: JUMP
000002e0: JUMPDEST
000002e1: PUSH2 0x09e9
000002e4: JUMP
000002e5: JUMPDEST
000002e6: CALLVALUE
000002e7: DUP1
000002e8: ISZERO
000002e9: PUSH2 0x02f1
000002ec: JUMPI
000002ed: PUSH1 0x00
000002ef: DUP1
000002f0: REVERT
000002f1: JUMPDEST
000002f2: POP
000002f3: PUSH2 0x01d1
000002f6: PUSH2 0x0300
000002f9: CALLDATASIZE
000002fa: PUSH1 0x04
000002fc: PUSH2 0x5545
000002ff: JUMP
00000300: JUMPDEST
00000301: PUSH2 0x0e06
00000304: JUMP
00000305: JUMPDEST
00000306: CALLVALUE
00000307: DUP1
00000308: ISZERO
00000309: PUSH2 0x0311
0000030c: JUMPI
0000030d: PUSH1 0x00
0000030f: DUP1
00000310: REVERT
00000311: JUMPDEST
00000312: POP
00000313: PUSH2 0x01d1
00000316: PUSH2 0x0320
00000319: CALLDATASIZE
0000031a: PUSH1 0x04
0000031c: PUSH2 0x5516
0000031f: JUMP
00000320: JUMPDEST
00000321: PUSH2 0x0fa5
00000324: JUMP
00000325: JUMPDEST
00000326: CALLVALUE
00000327: DUP1
00000328: ISZERO
00000329: PUSH2 0x0331
0000032c: JUMPI
0000032d: PUSH1 0x00
0000032f: DUP1
00000330: REVERT
00000331: JUMPDEST
00000332: POP
00000333: PUSH2 0x0218
00000336: PUSH2 0x0340
00000339: CALLDATASIZE
0000033a: PUSH1 0x04
0000033c: PUSH2 0x5633
0000033f: JUMP
00000340: JUMPDEST
00000341: PUSH2 0x10f9
00000344: JUMP
00000345: JUMPDEST
00000346: CALLVALUE
00000347: DUP1
00000348: ISZERO
00000349: PUSH2 0x0351
0000034c: JUMPI
0000034d: PUSH1 0x00
0000034f: DUP1
00000350: REVERT
00000351: JUMPDEST
00000352: POP
00000353: PUSH2 0x01d1
00000356: PUSH2 0x0360
00000359: CALLDATASIZE
0000035a: PUSH1 0x04
0000035c: PUSH2 0x54ac
0000035f: JUMP
00000360: JUMPDEST
00000361: PUSH2 0x114b
00000364: JUMP
00000365: JUMPDEST
00000366: CALLVALUE
00000367: DUP1
00000368: ISZERO
00000369: PUSH2 0x0371
0000036c: JUMPI
0000036d: PUSH1 0x00
0000036f: DUP1
00000370: REVERT
00000371: JUMPDEST
00000372: POP
00000373: PUSH2 0x0218
00000376: PUSH2 0x0380
00000379: CALLDATASIZE
0000037a: PUSH1 0x04
0000037c: PUSH2 0x5157
0000037f: JUMP
00000380: JUMPDEST
00000381: PUSH2 0x1161
00000384: JUMP
00000385: JUMPDEST
00000386: PUSH2 0x0261
00000389: PUSH2 0x0393
0000038c: CALLDATASIZE
0000038d: PUSH1 0x04
0000038f: PUSH2 0x5786
00000392: JUMP
00000393: JUMPDEST
00000394: PUSH2 0x117c
00000397: JUMP
00000398: JUMPDEST
00000399: CALLVALUE
0000039a: DUP1
0000039b: ISZERO
0000039c: PUSH2 0x03a4
0000039f: JUMPI
000003a0: PUSH1 0x00
000003a2: DUP1
000003a3: REVERT
000003a4: JUMPDEST
000003a5: POP
000003a6: PUSH2 0x03ad
000003a9: PUSH2 0x12b0
000003ac: JUMP
000003ad: JUMPDEST
000003ae: PUSH1 0x40
000003b0: MLOAD
000003b1: PUSH2 0x0225
000003b4: SWAP2
000003b5: SWAP1
000003b6: PUSH2 0x5b63
000003b9: JUMP
000003ba: JUMPDEST
000003bb: CALLVALUE
000003bc: DUP1
000003bd: ISZERO
000003be: PUSH2 0x03c6
000003c1: JUMPI
000003c2: PUSH1 0x00
000003c4: DUP1
000003c5: REVERT
000003c6: JUMPDEST
000003c7: POP
000003c8: PUSH2 0x03ad
000003cb: PUSH2 0x12c4
000003ce: JUMP
000003cf: JUMPDEST
000003d0: CALLVALUE
000003d1: DUP1
000003d2: ISZERO
000003d3: PUSH2 0x03db
000003d6: JUMPI
000003d7: PUSH1 0x00
000003d9: DUP1
000003da: REVERT
000003db: JUMPDEST
000003dc: POP
000003dd: PUSH2 0x03ef
000003e0: PUSH2 0x03ea
000003e3: CALLDATASIZE
000003e4: PUSH1 0x04
000003e6: PUSH2 0x560f
000003e9: JUMP
000003ea: JUMPDEST
000003eb: PUSH2 0x12d3
000003ee: JUMP
000003ef: JUMPDEST
000003f0: PUSH1 0x40
000003f2: MLOAD
000003f3: PUSH2 0x0225
000003f6: SWAP5
000003f7: SWAP4
000003f8: SWAP3
000003f9: SWAP2
000003fa: SWAP1
000003fb: PUSH2 0x5eb9
000003fe: JUMP
000003ff: JUMPDEST
00000400: PUSH2 0x01d1
00000403: PUSH2 0x040d
00000406: CALLDATASIZE
00000407: PUSH1 0x04
00000409: PUSH2 0x54ac
0000040c: JUMP
0000040d: JUMPDEST
0000040e: PUSH2 0x1396
00000411: JUMP
00000412: JUMPDEST
00000413: CALLVALUE
00000414: DUP1
00000415: ISZERO
00000416: PUSH2 0x041e
00000419: JUMPI
0000041a: PUSH1 0x00
0000041c: DUP1
0000041d: REVERT
0000041e: JUMPDEST
0000041f: POP
00000420: PUSH2 0x03ad
00000423: PUSH2 0x13af
00000426: JUMP
00000427: JUMPDEST
00000428: CALLVALUE
00000429: DUP1
0000042a: ISZERO
0000042b: PUSH2 0x0433
0000042e: JUMPI
0000042f: PUSH1 0x00
00000431: DUP1
00000432: REVERT
00000433: JUMPDEST
00000434: POP
00000435: PUSH2 0x01d1
00000438: PUSH2 0x0442
0000043b: CALLDATASIZE
0000043c: PUSH1 0x04
0000043e: PUSH2 0x5243
00000441: JUMP
00000442: JUMPDEST
00000443: PUSH2 0x13d3
00000446: JUMP
00000447: JUMPDEST
00000448: CALLVALUE
00000449: DUP1
0000044a: ISZERO
0000044b: PUSH2 0x0453
0000044e: JUMPI
0000044f: PUSH1 0x00
00000451: DUP1
00000452: REVERT
00000453: JUMPDEST
00000454: POP
00000455: PUSH2 0x0218
00000458: PUSH2 0x14ef
0000045b: JUMP
0000045c: JUMPDEST
0000045d: CALLVALUE
0000045e: DUP1
0000045f: ISZERO
00000460: PUSH2 0x0468
00000463: JUMPI
00000464: PUSH1 0x00
00000466: DUP1
00000467: REVERT
00000468: JUMPDEST
00000469: POP
0000046a: PUSH2 0x047c
0000046d: PUSH2 0x0477
00000470: CALLDATASIZE
00000471: PUSH1 0x04
00000473: PUSH2 0x5494
00000476: JUMP
00000477: JUMPDEST
00000478: PUSH2 0x14f9
0000047b: JUMP
0000047c: JUMPDEST
0000047d: PUSH1 0x40
0000047f: MLOAD
00000480: PUSH2 0x0225
00000483: SWAP3
00000484: SWAP2
00000485: SWAP1
00000486: PUSH2 0x5b9b
00000489: JUMP
0000048a: JUMPDEST
0000048b: CALLVALUE
0000048c: DUP1
0000048d: ISZERO
0000048e: PUSH2 0x0496
00000491: JUMPI
00000492: PUSH1 0x00
00000494: DUP1
00000495: REVERT
00000496: JUMPDEST
00000497: POP
00000498: PUSH2 0x0261
0000049b: PUSH2 0x04a5
0000049e: CALLDATASIZE
0000049f: PUSH1 0x04
000004a1: PUSH2 0x5702
000004a4: JUMP
000004a5: JUMPDEST
000004a6: PUSH2 0x1523
000004a9: JUMP
000004aa: JUMPDEST
000004ab: CALLVALUE
000004ac: DUP1
000004ad: ISZERO
000004ae: PUSH2 0x04b6
000004b1: JUMPI
000004b2: PUSH1 0x00
000004b4: DUP1
000004b5: REVERT
000004b6: JUMPDEST
000004b7: POP
000004b8: PUSH2 0x04ca
000004bb: PUSH2 0x04c5
000004be: CALLDATASIZE
000004bf: PUSH1 0x04
000004c1: PUSH2 0x5494
000004c4: JUMP
000004c5: JUMPDEST
000004c6: PUSH2 0x1620
000004c9: JUMP
000004ca: JUMPDEST
000004cb: PUSH1 0x40
000004cd: MLOAD
000004ce: PUSH2 0x0225
000004d1: SWAP4
000004d2: SWAP3
000004d3: SWAP2
000004d4: SWAP1
000004d5: PUSH2 0x5cd2
000004d8: JUMP
000004d9: JUMPDEST
000004da: CALLVALUE
000004db: DUP1
000004dc: ISZERO
000004dd: PUSH2 0x04e5
000004e0: JUMPI
000004e1: PUSH1 0x00
000004e3: DUP1
000004e4: REVERT
000004e5: JUMPDEST
000004e6: POP
000004e7: PUSH2 0x01d1
000004ea: PUSH2 0x04f4
000004ed: CALLDATASIZE
000004ee: PUSH1 0x04
000004f0: PUSH2 0x51ab
000004f3: JUMP
000004f4: JUMPDEST
000004f5: PUSH2 0x1654
000004f8: JUMP
000004f9: JUMPDEST
000004fa: CALLVALUE
000004fb: DUP1
000004fc: ISZERO
000004fd: PUSH2 0x0505
00000500: JUMPI
00000501: PUSH1 0x00
00000503: DUP1
00000504: REVERT
00000505: JUMPDEST
00000506: POP
00000507: PUSH2 0x0519
0000050a: PUSH2 0x0514
0000050d: CALLDATASIZE
0000050e: PUSH1 0x04
00000510: PUSH2 0x5173
00000513: JUMP
00000514: JUMPDEST
00000515: PUSH2 0x16e6
00000518: JUMP
00000519: JUMPDEST
0000051a: PUSH1 0x40
0000051c: MLOAD
0000051d: PUSH2 0x0225
00000520: SWAP2
00000521: SWAP1
00000522: PUSH2 0x5d1b
00000525: JUMP
00000526: JUMPDEST
00000527: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000548: JUMPDEST
00000549: SWAP1
0000054a: JUMP
0000054b: JUMPDEST
0000054c: DUP2
0000054d: PUSH2 0x0559
00000550: JUMPI
00000551: PUSH2 0x0559
00000554: DUP2
00000555: PUSH2 0x16fb
00000558: JUMP
00000559: JUMPDEST
0000055a: POP
0000055b: POP
0000055c: JUMP
0000055d: JUMPDEST
0000055e: PUSH2 0x0565
00000561: PUSH2 0x1768
00000564: JUMP
00000565: JUMPDEST
00000566: PUSH2 0x056d
00000569: PUSH2 0x1781
0000056c: JUMP
0000056d: JUMPDEST
0000056e: PUSH2 0x0576
00000571: DUP2
00000572: PUSH2 0x17af
00000575: JUMP
00000576: JUMPDEST
00000577: PUSH2 0x057e
0000057a: PUSH2 0x1822
0000057d: JUMP
0000057e: JUMPDEST
0000057f: POP
00000580: JUMP
00000581: JUMPDEST
00000582: PUSH1 0x00
00000584: PUSH2 0x058b
00000587: PUSH2 0x1768
0000058a: JUMP
0000058b: JUMPDEST
0000058c: PUSH2 0x0593
0000058f: PUSH2 0x1829
00000592: JUMP
00000593: JUMPDEST
00000594: PUSH1 0x00
00000596: PUSH2 0x05a2
00000599: CALLER
0000059a: DUP5
0000059b: PUSH1 0x06
0000059d: SLOAD
0000059e: PUSH2 0x183e
000005a1: JUMP
000005a2: JUMPDEST
000005a3: PUSH1 0x00
000005a5: DUP2
000005a6: DUP2
000005a7: MSTORE
000005a8: PUSH1 0x05
000005aa: PUSH1 0x20
000005ac: MSTORE
000005ad: PUSH1 0x40
000005af: SWAP1
000005b0: KECCAK256
000005b1: SLOAD
000005b2: SWAP1
000005b3: SWAP2
000005b4: POP
000005b5: PUSH2 0x05c4
000005b8: SWAP1
000005b9: PUSH1 0xff
000005bb: AND
000005bc: ISZERO
000005bd: PUSH2 0x01f4
000005c0: PUSH2 0x054b
000005c3: JUMP
000005c4: JUMPDEST
000005c5: PUSH1 0x00
000005c7: DUP2
000005c8: DUP2
000005c9: MSTORE
000005ca: PUSH1 0x05
000005cc: PUSH1 0x20
000005ce: MSTORE
000005cf: PUSH1 0x40
000005d1: SWAP1
000005d2: DUP2
000005d3: SWAP1
000005d4: KECCAK256
000005d5: DUP1
000005d6: SLOAD
000005d7: PUSH1 0xff
000005d9: NOT
000005da: AND
000005db: PUSH1 0x01
000005dd: SWAP1
000005de: DUP2
000005df: OR
000005e0: SWAP1
000005e1: SWAP2
000005e2: SSTORE
000005e3: PUSH1 0x06
000005e5: DUP1
000005e6: SLOAD
000005e7: SWAP1
000005e8: SWAP2
000005e9: ADD
000005ea: SWAP1
000005eb: SSTORE
000005ec: MLOAD
000005ed: CALLER
000005ee: SWAP1
000005ef: DUP3
000005f0: SWAP1
000005f1: PUSH32 0x3c13bc30b8e878c53fd2a36b679409c073afd75950be43d8858768e956fbc20e
00000612: SWAP1
00000613: PUSH2 0x061d
00000616: SWAP1
00000617: DUP8
00000618: SWAP1
00000619: PUSH2 0x5e3a
0000061c: JUMP
0000061d: JUMPDEST
0000061e: PUSH1 0x40
00000620: MLOAD
00000621: DUP1
00000622: SWAP2
00000623: SUB
00000624: SWAP1
00000625: LOG3
00000626: SWAP1
00000627: POP
00000628: PUSH2 0x062f
0000062b: PUSH2 0x1822
0000062e: JUMP
0000062f: JUMPDEST
00000630: SWAP2
00000631: SWAP1
00000632: POP
00000633: JUMP
00000634: JUMPDEST
00000635: PUSH2 0x063c
00000638: PUSH2 0x1768
0000063b: JUMP
0000063c: JUMPDEST
0000063d: PUSH1 0x00
0000063f: DUP1
00000640: PUSH1 0x00
00000642: DUP1
00000643: JUMPDEST
00000644: DUP5
00000645: MLOAD
00000646: DUP2
00000647: LT
00000648: ISZERO
00000649: PUSH2 0x075b
0000064c: JUMPI
0000064d: PUSH1 0x00
0000064f: DUP1
00000650: PUSH1 0x00
00000652: DUP1
00000653: PUSH1 0x00
00000655: PUSH2 0x0671
00000658: DUP11
00000659: DUP8
0000065a: DUP2
0000065b: MLOAD
0000065c: DUP2
0000065d: LT
0000065e: PUSH2 0x0663
00000661: JUMPI
00000662: INVALID
00000663: JUMPDEST
00000664: PUSH1 0x20
00000666: MUL
00000667: PUSH1 0x20
00000669: ADD
0000066a: ADD
0000066b: MLOAD
0000066c: DUP10
0000066d: PUSH2 0x187d
00000670: JUMP
00000671: JUMPDEST
00000672: SWAP13
00000673: POP
00000674: SWAP4
00000675: SWAP9
00000676: POP
00000677: SWAP2
00000678: SWAP7
00000679: POP
0000067a: SWAP5
0000067b: POP
0000067c: SWAP3
0000067d: POP
0000067e: SWAP1
0000067f: POP
00000680: PUSH1 0x01
00000682: DUP6
00000683: PUSH1 0x03
00000685: DUP2
00000686: GT
00000687: ISZERO
00000688: PUSH2 0x068d
0000068b: JUMPI
0000068c: INVALID
0000068d: JUMPDEST
0000068e: EQ
0000068f: ISZERO
00000690: PUSH2 0x06a4
00000693: JUMPI
00000694: PUSH2 0x069f
00000697: DUP5
00000698: DUP4
00000699: DUP4
0000069a: DUP7
0000069b: PUSH2 0x18f5
0000069e: JUMP
0000069f: JUMPDEST
000006a0: PUSH2 0x074a
000006a3: JUMP
000006a4: JUMPDEST
000006a5: DUP7
000006a6: PUSH2 0x06b6
000006a9: JUMPI
000006aa: PUSH2 0x06b1
000006ad: PUSH2 0x1829
000006b0: JUMP
000006b1: JUMPDEST
000006b2: PUSH1 0x01
000006b4: SWAP7
000006b5: POP
000006b6: JUMPDEST
000006b7: PUSH1 0x00
000006b9: DUP6
000006ba: PUSH1 0x03
000006bc: DUP2
000006bd: GT
000006be: ISZERO
000006bf: PUSH2 0x06c4
000006c2: JUMPI
000006c3: INVALID
000006c4: JUMPDEST
000006c5: EQ
000006c6: ISZERO
000006c7: PUSH2 0x06f5
000006ca: JUMPI
000006cb: PUSH2 0x06d6
000006ce: DUP5
000006cf: DUP4
000006d0: DUP4
000006d1: DUP7
000006d2: PUSH2 0x1918
000006d5: JUMP
000006d6: JUMPDEST
000006d7: PUSH2 0x06df
000006da: DUP5
000006db: PUSH2 0x1938
000006de: JUMP
000006df: JUMPDEST
000006e0: ISZERO
000006e1: PUSH2 0x069f
000006e4: JUMPI
000006e5: PUSH2 0x06ee
000006e8: DUP10
000006e9: DUP5
000006ea: PUSH2 0x1945
000006ed: JUMP
000006ee: JUMPDEST
000006ef: SWAP9
000006f0: POP
000006f1: PUSH2 0x074a
000006f4: JUMP
000006f5: JUMPDEST
000006f6: PUSH2 0x070a
000006f9: PUSH2 0x0701
000006fc: DUP6
000006fd: PUSH2 0x1938
00000700: JUMP
00000701: JUMPDEST
00000702: ISZERO
00000703: PUSH2 0x0207
00000706: PUSH2 0x054b
00000709: JUMP
0000070a: JUMPDEST
0000070b: PUSH1 0x00
0000070d: PUSH2 0x0715
00000710: DUP6
00000711: PUSH2 0x0548
00000714: JUMP
00000715: JUMPDEST
00000716: SWAP1
00000717: POP
00000718: PUSH1 0x02
0000071a: DUP7
0000071b: PUSH1 0x03
0000071d: DUP2
0000071e: GT
0000071f: ISZERO
00000720: PUSH2 0x0725
00000723: JUMPI
00000724: INVALID
00000725: JUMPDEST
00000726: EQ
00000727: ISZERO
00000728: PUSH2 0x073c
0000072b: JUMPI
0000072c: PUSH2 0x0737
0000072f: DUP2
00000730: DUP5
00000731: DUP5
00000732: DUP8
00000733: PUSH2 0x1957
00000736: JUMP
00000737: JUMPDEST
00000738: PUSH2 0x0748
0000073b: JUMP
0000073c: JUMPDEST
0000073d: PUSH2 0x0748
00000740: DUP2
00000741: DUP5
00000742: DUP5
00000743: DUP8
00000744: PUSH2 0x1970
00000747: JUMP
00000748: JUMPDEST
00000749: POP
0000074a: JUMPDEST
0000074b: POP
0000074c: POP
0000074d: PUSH1 0x01
0000074f: SWAP1
00000750: SWAP4
00000751: ADD
00000752: SWAP3
00000753: POP
00000754: PUSH2 0x0643
00000757: SWAP2
00000758: POP
00000759: POP
0000075a: JUMP
0000075b: JUMPDEST
0000075c: POP
0000075d: PUSH2 0x0765
00000760: DUP4
00000761: PUSH2 0x19de
00000764: JUMP
00000765: JUMPDEST
00000766: POP
00000767: POP
00000768: POP
00000769: PUSH2 0x057e
0000076c: PUSH2 0x1822
0000076f: JUMP
00000770: JUMPDEST
00000771: PUSH1 0x60
00000773: DUP2
00000774: MLOAD
00000775: PUSH8 0xffffffffffffffff
0000077e: DUP2
0000077f: GT
00000780: DUP1
00000781: ISZERO
00000782: PUSH2 0x078a
00000785: JUMPI
00000786: PUSH1 0x00
00000788: DUP1
00000789: REVERT
0000078a: JUMPDEST
0000078b: POP
0000078c: PUSH1 0x40
0000078e: MLOAD
0000078f: SWAP1
00000790: DUP1
00000791: DUP3
00000792: MSTORE
00000793: DUP1
00000794: PUSH1 0x20
00000796: MUL
00000797: PUSH1 0x20
00000799: ADD
0000079a: DUP3
0000079b: ADD
0000079c: PUSH1 0x40
0000079e: MSTORE
0000079f: DUP1
000007a0: ISZERO
000007a1: PUSH2 0x07b4
000007a4: JUMPI
000007a5: DUP2
000007a6: PUSH1 0x20
000007a8: ADD
000007a9: PUSH1 0x20
000007ab: DUP3
000007ac: MUL
000007ad: DUP1
000007ae: CALLDATASIZE
000007af: DUP4
000007b0: CALLDATACOPY
000007b1: ADD
000007b2: SWAP1
000007b3: POP
000007b4: JUMPDEST
000007b5: POP
000007b6: SWAP1
000007b7: POP
000007b8: PUSH1 0x00
000007ba: JUMPDEST
000007bb: DUP3
000007bc: MLOAD
000007bd: DUP2
000007be: LT
000007bf: ISZERO
000007c0: PUSH2 0x07ff
000007c3: JUMPI
000007c4: PUSH2 0x07e0
000007c7: DUP5
000007c8: DUP5
000007c9: DUP4
000007ca: DUP2
000007cb: MLOAD
000007cc: DUP2
000007cd: LT
000007ce: PUSH2 0x07d3
000007d1: JUMPI
000007d2: INVALID
000007d3: JUMPDEST
000007d4: PUSH1 0x20
000007d6: MUL
000007d7: PUSH1 0x20
000007d9: ADD
000007da: ADD
000007db: MLOAD
000007dc: PUSH2 0x1a01
000007df: JUMP
000007e0: JUMPDEST
000007e1: DUP3
000007e2: DUP3
000007e3: DUP2
000007e4: MLOAD
000007e5: DUP2
000007e6: LT
000007e7: PUSH2 0x07ec
000007ea: JUMPI
000007eb: INVALID
000007ec: JUMPDEST
000007ed: PUSH1 0x20
000007ef: SWAP1
000007f0: DUP2
000007f1: MUL
000007f2: SWAP2
000007f3: SWAP1
000007f4: SWAP2
000007f5: ADD
000007f6: ADD
000007f7: MSTORE
000007f8: PUSH1 0x01
000007fa: ADD
000007fb: PUSH2 0x07ba
000007fe: JUMP
000007ff: JUMPDEST
00000800: POP
00000801: SWAP3
00000802: SWAP2
00000803: POP
00000804: POP
00000805: JUMP
00000806: JUMPDEST
00000807: PUSH2 0x080e
0000080a: PUSH2 0x1768
0000080d: JUMP
0000080e: JUMPDEST
0000080f: PUSH2 0x0816
00000812: PUSH2 0x1781
00000815: JUMP
00000816: JUMPDEST
00000817: PUSH2 0x0576
0000081a: DUP2
0000081b: PUSH2 0x1a2c
0000081e: JUMP
0000081f: JUMPDEST
00000820: PUSH1 0x00
00000822: DUP1
00000823: PUSH1 0x00
00000825: PUSH2 0x082c
00000828: PUSH2 0x1aaa
0000082b: JUMP
0000082c: JUMPDEST
0000082d: ISZERO
0000082e: SWAP3
0000082f: POP
00000830: PUSH2 0x0837
00000833: PUSH2 0x1ac7
00000836: JUMP
00000837: JUMPDEST
00000838: SWAP2
00000839: POP
0000083a: PUSH2 0x0841
0000083d: PUSH2 0x1aeb
00000840: JUMP
00000841: JUMPDEST
00000842: SWAP1
00000843: POP
00000844: SWAP1
00000845: SWAP2
00000846: SWAP3
00000847: JUMP
00000848: JUMPDEST
00000849: PUSH1 0x00
0000084b: PUSH2 0x0852
0000084e: PUSH2 0x1768
00000851: JUMP
00000852: JUMPDEST
00000853: PUSH2 0x085a
00000856: PUSH2 0x1829
00000859: JUMP
0000085a: JUMPDEST
0000085b: DUP4
0000085c: MLOAD
0000085d: PUSH2 0x0865
00000860: DUP2
00000861: PUSH2 0x1b0f
00000864: JUMP
00000865: JUMPDEST
00000866: PUSH2 0x0874
00000869: DUP4
0000086a: TIMESTAMP
0000086b: GT
0000086c: ISZERO
0000086d: PUSH2 0x01fc
00000870: PUSH2 0x054b
00000873: JUMP
00000874: JUMPDEST
00000875: PUSH2 0x0887
00000878: PUSH1 0x00
0000087a: DUP8
0000087b: PUSH1 0x80
0000087d: ADD
0000087e: MLOAD
0000087f: GT
00000880: PUSH2 0x01fe
00000883: PUSH2 0x054b
00000886: JUMP
00000887: JUMPDEST
00000888: PUSH1 0x00
0000088a: PUSH2 0x0896
0000088d: DUP8
0000088e: PUSH1 0x40
00000890: ADD
00000891: MLOAD
00000892: PUSH2 0x1b41
00000895: JUMP
00000896: JUMPDEST
00000897: SWAP1
00000898: POP
00000899: PUSH1 0x00
0000089b: PUSH2 0x08a7
0000089e: DUP9
0000089f: PUSH1 0x60
000008a1: ADD
000008a2: MLOAD
000008a3: PUSH2 0x1b41
000008a6: JUMP
000008a7: JUMPDEST
000008a8: SWAP1
000008a9: POP
000008aa: PUSH2 0x08ca
000008ad: DUP2
000008ae: PUSH1 0x01
000008b0: PUSH1 0x01
000008b2: PUSH1 0xa0
000008b4: SHL
000008b5: SUB
000008b6: AND
000008b7: DUP4
000008b8: PUSH1 0x01
000008ba: PUSH1 0x01
000008bc: PUSH1 0xa0
000008be: SHL
000008bf: SUB
000008c0: AND
000008c1: EQ
000008c2: ISZERO
000008c3: PUSH2 0x01fd
000008c6: PUSH2 0x054b
000008c9: JUMP
000008ca: JUMPDEST
000008cb: PUSH2 0x08d2
000008ce: PUSH2 0x4ce1
000008d1: JUMP
000008d2: JUMPDEST
000008d3: DUP9
000008d4: MLOAD
000008d5: PUSH1 0x80
000008d7: DUP3
000008d8: ADD
000008d9: MSTORE
000008da: PUSH1 0x20
000008dc: DUP10
000008dd: ADD
000008de: MLOAD
000008df: DUP2
000008e0: SWAP1
000008e1: PUSH1 0x01
000008e3: DUP2
000008e4: GT
000008e5: ISZERO
000008e6: PUSH2 0x08eb
000008e9: JUMPI
000008ea: INVALID
000008eb: JUMPDEST
000008ec: SWAP1
000008ed: DUP2
000008ee: PUSH1 0x01
000008f0: DUP2
000008f1: GT
000008f2: ISZERO
000008f3: PUSH2 0x08f8
000008f6: JUMPI
000008f7: INVALID
000008f8: JUMPDEST
000008f9: SWAP1
000008fa: MSTORE
000008fb: POP
000008fc: PUSH1 0x01
000008fe: PUSH1 0x01
00000900: PUSH1 0xa0
00000902: SHL
00000903: SUB
00000904: DUP1
00000905: DUP5
00000906: AND
00000907: PUSH1 0x20
00000909: DUP4
0000090a: ADD
0000090b: MSTORE
0000090c: DUP3
0000090d: DUP2
0000090e: AND
0000090f: PUSH1 0x40
00000911: DUP1
00000912: DUP5
00000913: ADD
00000914: SWAP2
00000915: SWAP1
00000916: SWAP2
00000917: MSTORE
00000918: PUSH1 0x80
0000091a: DUP12
0000091b: ADD
0000091c: MLOAD
0000091d: PUSH1 0x60
0000091f: DUP5
00000920: ADD
00000921: MSTORE
00000922: PUSH1 0xa0
00000924: DUP12
00000925: ADD
00000926: MLOAD
00000927: PUSH2 0x0100
0000092a: DUP5
0000092b: ADD
0000092c: MSTORE
0000092d: DUP10
0000092e: MLOAD
0000092f: DUP3
00000930: AND
00000931: PUSH1 0xc0
00000933: DUP5
00000934: ADD
00000935: MSTORE
00000936: DUP10
00000937: ADD
00000938: MLOAD
00000939: AND
0000093a: PUSH1 0xe0
0000093c: DUP3
0000093d: ADD
0000093e: MSTORE
0000093f: PUSH1 0x00
00000941: DUP1
00000942: PUSH2 0x094a
00000945: DUP4
00000946: PUSH2 0x1b66
00000949: JUMP
0000094a: JUMPDEST
0000094b: SWAP2
0000094c: SWAP9
0000094d: POP
0000094e: SWAP3
0000094f: POP
00000950: SWAP1
00000951: POP
00000952: PUSH2 0x0981
00000955: PUSH1 0x00
00000957: DUP13
00000958: PUSH1 0x20
0000095a: ADD
0000095b: MLOAD
0000095c: PUSH1 0x01
0000095e: DUP2
0000095f: GT
00000960: ISZERO
00000961: PUSH2 0x0966
00000964: JUMPI
00000965: INVALID
00000966: JUMPDEST
00000967: EQ
00000968: PUSH2 0x0974
0000096b: JUMPI
0000096c: DUP10
0000096d: DUP4
0000096e: GT
0000096f: ISZERO
00000970: PUSH2 0x0979
00000973: JUMP
00000974: JUMPDEST
00000975: DUP10
00000976: DUP3
00000977: LT
00000978: ISZERO
00000979: JUMPDEST
0000097a: PUSH2 0x01fb
0000097d: PUSH2 0x054b
00000980: JUMP
00000981: JUMPDEST
00000982: PUSH2 0x0999
00000985: DUP12
00000986: PUSH1 0x40
00000988: ADD
00000989: MLOAD
0000098a: DUP4
0000098b: DUP13
0000098c: PUSH1 0x00
0000098e: ADD
0000098f: MLOAD
00000990: DUP14
00000991: PUSH1 0x20
00000993: ADD
00000994: MLOAD
00000995: PUSH2 0x1c5a
00000998: JUMP
00000999: JUMPDEST
0000099a: PUSH2 0x09b1
0000099d: DUP12
0000099e: PUSH1 0x60
000009a0: ADD
000009a1: MLOAD
000009a2: DUP3
000009a3: DUP13
000009a4: PUSH1 0x40
000009a6: ADD
000009a7: MLOAD
000009a8: DUP14
000009a9: PUSH1 0x60
000009ab: ADD
000009ac: MLOAD
000009ad: PUSH2 0x1d38
000009b0: JUMP
000009b1: JUMPDEST
000009b2: PUSH2 0x09d3
000009b5: PUSH2 0x09c1
000009b8: DUP13
000009b9: PUSH1 0x40
000009bb: ADD
000009bc: MLOAD
000009bd: PUSH2 0x1938
000009c0: JUMP
000009c1: JUMPDEST
000009c2: PUSH2 0x09cc
000009c5: JUMPI
000009c6: PUSH1 0x00
000009c8: PUSH2 0x09ce
000009cb: JUMP
000009cc: JUMPDEST
000009cd: DUP3
000009ce: JUMPDEST
000009cf: PUSH2 0x19de
000009d2: JUMP
000009d3: JUMPDEST
000009d4: POP
000009d5: POP
000009d6: POP
000009d7: POP
000009d8: POP
000009d9: POP
000009da: PUSH2 0x09e1
000009dd: PUSH2 0x1822
000009e0: JUMP
000009e1: JUMPDEST
000009e2: SWAP5
000009e3: SWAP4
000009e4: POP
000009e5: POP
000009e6: POP
000009e7: POP
000009e8: JUMP
000009e9: JUMPDEST
000009ea: PUSH2 0x09f1
000009ed: PUSH2 0x1768
000009f0: JUMP
000009f1: JUMPDEST
000009f2: PUSH2 0x09f9
000009f5: PUSH2 0x1829
000009f8: JUMP
000009f9: JUMPDEST
000009fa: PUSH2 0x0a05
000009fd: DUP4
000009fe: MLOAD
000009ff: DUP4
00000a00: MLOAD
00000a01: PUSH2 0x1e12
00000a04: JUMP
00000a05: JUMPDEST
00000a06: PUSH1 0x60
00000a08: DUP4
00000a09: MLOAD
00000a0a: PUSH8 0xffffffffffffffff
00000a13: DUP2
00000a14: GT
00000a15: DUP1
00000a16: ISZERO
00000a17: PUSH2 0x0a1f
00000a1a: JUMPI
00000a1b: PUSH1 0x00
00000a1d: DUP1
00000a1e: REVERT
00000a1f: JUMPDEST
00000a20: POP
00000a21: PUSH1 0x40
00000a23: MLOAD
00000a24: SWAP1
00000a25: DUP1
00000a26: DUP3
00000a27: MSTORE
00000a28: DUP1
00000a29: PUSH1 0x20
00000a2b: MUL
00000a2c: PUSH1 0x20
00000a2e: ADD
00000a2f: DUP3
00000a30: ADD
00000a31: PUSH1 0x40
00000a33: MSTORE
00000a34: DUP1
00000a35: ISZERO
00000a36: PUSH2 0x0a49
00000a39: JUMPI
00000a3a: DUP2
00000a3b: PUSH1 0x20
00000a3d: ADD
00000a3e: PUSH1 0x20
00000a40: DUP3
00000a41: MUL
00000a42: DUP1
00000a43: CALLDATASIZE
00000a44: DUP4
00000a45: CALLDATACOPY
00000a46: ADD
00000a47: SWAP1
00000a48: POP
00000a49: JUMPDEST
00000a4a: POP
00000a4b: SWAP1
00000a4c: POP
00000a4d: PUSH1 0x60
00000a4f: DUP5
00000a50: MLOAD
00000a51: PUSH8 0xffffffffffffffff
00000a5a: DUP2
00000a5b: GT
00000a5c: DUP1
00000a5d: ISZERO
00000a5e: PUSH2 0x0a66
00000a61: JUMPI
00000a62: PUSH1 0x00
00000a64: DUP1
00000a65: REVERT
00000a66: JUMPDEST
00000a67: POP
00000a68: PUSH1 0x40
00000a6a: MLOAD
00000a6b: SWAP1
00000a6c: DUP1
00000a6d: DUP3
00000a6e: MSTORE
00000a6f: DUP1
00000a70: PUSH1 0x20
00000a72: MUL
00000a73: PUSH1 0x20
00000a75: ADD
00000a76: DUP3
00000a77: ADD
00000a78: PUSH1 0x40
00000a7a: MSTORE
00000a7b: DUP1
00000a7c: ISZERO
00000a7d: PUSH2 0x0a90
00000a80: JUMPI
00000a81: DUP2
00000a82: PUSH1 0x20
00000a84: ADD
00000a85: PUSH1 0x20
00000a87: DUP3
00000a88: MUL
00000a89: DUP1
00000a8a: CALLDATASIZE
00000a8b: DUP4
00000a8c: CALLDATACOPY
00000a8d: ADD
00000a8e: SWAP1
00000a8f: POP
00000a90: JUMPDEST
00000a91: POP
00000a92: SWAP1
00000a93: POP
00000a94: PUSH1 0x00
00000a96: DUP1
00000a97: JUMPDEST
00000a98: DUP7
00000a99: MLOAD
00000a9a: DUP2
00000a9b: LT
00000a9c: ISZERO
00000a9d: PUSH2 0x0c09
00000aa0: JUMPI
00000aa1: PUSH1 0x00
00000aa3: DUP8
00000aa4: DUP3
00000aa5: DUP2
00000aa6: MLOAD
00000aa7: DUP2
00000aa8: LT
00000aa9: PUSH2 0x0aae
00000aac: JUMPI
00000aad: INVALID
00000aae: JUMPDEST
00000aaf: PUSH1 0x20
00000ab1: MUL
00000ab2: PUSH1 0x20
00000ab4: ADD
00000ab5: ADD
00000ab6: MLOAD
00000ab7: SWAP1
00000ab8: POP
00000ab9: PUSH1 0x00
00000abb: DUP8
00000abc: DUP4
00000abd: DUP2
00000abe: MLOAD
00000abf: DUP2
00000ac0: LT
00000ac1: PUSH2 0x0ac6
00000ac4: JUMPI
00000ac5: INVALID
00000ac6: JUMPDEST
00000ac7: PUSH1 0x20
00000ac9: MUL
00000aca: PUSH1 0x20
00000acc: ADD
00000acd: ADD
00000ace: MLOAD
00000acf: SWAP1
00000ad0: POP
00000ad1: PUSH2 0x0b11
00000ad4: DUP5
00000ad5: PUSH1 0x01
00000ad7: PUSH1 0x01
00000ad9: PUSH1 0xa0
00000adb: SHL
00000adc: SUB
00000add: AND
00000ade: DUP4
00000adf: PUSH1 0x01
00000ae1: PUSH1 0x01
00000ae3: PUSH1 0xa0
00000ae5: SHL
00000ae6: SUB
00000ae7: AND
00000ae8: GT
00000ae9: PUSH1 0x00
00000aeb: PUSH1 0x01
00000aed: PUSH1 0x01
00000aef: PUSH1 0xa0
00000af1: SHL
00000af2: SUB
00000af3: AND
00000af4: DUP5
00000af5: PUSH1 0x01
00000af7: PUSH1 0x01
00000af9: PUSH1 0xa0
00000afb: SHL
00000afc: SUB
00000afd: AND
00000afe: EQ
00000aff: PUSH2 0x0b09
00000b02: JUMPI
00000b03: PUSH1 0x66
00000b05: PUSH2 0x0b0c
00000b08: JUMP
00000b09: JUMPDEST
00000b0a: PUSH1 0x68
00000b0c: JUMPDEST
00000b0d: PUSH2 0x054b
00000b10: JUMP
00000b11: JUMPDEST
00000b12: DUP2
00000b13: SWAP4
00000b14: POP
00000b15: DUP2
00000b16: PUSH1 0x01
00000b18: PUSH1 0x01
00000b1a: PUSH1 0xa0
00000b1c: SHL
00000b1d: SUB
00000b1e: AND
00000b1f: PUSH4 0x70a08231
00000b24: ADDRESS
00000b25: PUSH1 0x40
00000b27: MLOAD
00000b28: DUP3
00000b29: PUSH4 0xffffffff
00000b2e: AND
00000b2f: PUSH1 0xe0
00000b31: SHL
00000b32: DUP2
00000b33: MSTORE
00000b34: PUSH1 0x04
00000b36: ADD
00000b37: PUSH2 0x0b40
00000b3a: SWAP2
00000b3b: SWAP1
00000b3c: PUSH2 0x5b63
00000b3f: JUMP
00000b40: JUMPDEST
00000b41: PUSH1 0x20
00000b43: PUSH1 0x40
00000b45: MLOAD
00000b46: DUP1
00000b47: DUP4
00000b48: SUB
00000b49: DUP2
00000b4a: DUP7
00000b4b: DUP1
00000b4c: EXTCODESIZE
00000b4d: ISZERO
00000b4e: DUP1
00000b4f: ISZERO
00000b50: PUSH2 0x0b58
00000b53: JUMPI
00000b54: PUSH1 0x00
00000b56: DUP1
00000b57: REVERT
00000b58: JUMPDEST
00000b59: POP
00000b5a: GAS
00000b5b: STATICCALL
00000b5c: ISZERO
00000b5d: DUP1
00000b5e: ISZERO
00000b5f: PUSH2 0x0b6c
00000b62: JUMPI
00000b63: RETURNDATASIZE
00000b64: PUSH1 0x00
00000b66: DUP1
00000b67: RETURNDATACOPY
00000b68: RETURNDATASIZE
00000b69: PUSH1 0x00
00000b6b: REVERT
00000b6c: JUMPDEST
00000b6d: POP
00000b6e: POP
00000b6f: POP
00000b70: POP
00000b71: PUSH1 0x40
00000b73: MLOAD
00000b74: RETURNDATASIZE
00000b75: PUSH1 0x1f
00000b77: NOT
00000b78: PUSH1 0x1f
00000b7a: DUP3
00000b7b: ADD
00000b7c: AND
00000b7d: DUP3
00000b7e: ADD
00000b7f: DUP1
00000b80: PUSH1 0x40
00000b82: MSTORE
00000b83: POP
00000b84: DUP2
00000b85: ADD
00000b86: SWAP1
00000b87: PUSH2 0x0b90
00000b8a: SWAP2
00000b8b: SWAP1
00000b8c: PUSH2 0x5968
00000b8f: JUMP
00000b90: JUMPDEST
00000b91: DUP6
00000b92: DUP5
00000b93: DUP2
00000b94: MLOAD
00000b95: DUP2
00000b96: LT
00000b97: PUSH2 0x0b9c
00000b9a: JUMPI
00000b9b: INVALID
00000b9c: JUMPDEST
00000b9d: PUSH1 0x20
00000b9f: MUL
00000ba0: PUSH1 0x20
00000ba2: ADD
00000ba3: ADD
00000ba4: DUP2
00000ba5: DUP2
00000ba6: MSTORE
00000ba7: POP
00000ba8: POP
00000ba9: PUSH2 0x0bb1
00000bac: DUP2
00000bad: PUSH2 0x1e1f
00000bb0: JUMP
00000bb1: JUMPDEST
00000bb2: DUP7
00000bb3: DUP5
00000bb4: DUP2
00000bb5: MLOAD
00000bb6: DUP2
00000bb7: LT
00000bb8: PUSH2 0x0bbd
00000bbb: JUMPI
00000bbc: INVALID
00000bbd: JUMPDEST
00000bbe: PUSH1 0x20
00000bc0: MUL
00000bc1: PUSH1 0x20
00000bc3: ADD
00000bc4: ADD
00000bc5: DUP2
00000bc6: DUP2
00000bc7: MSTORE
00000bc8: POP
00000bc9: POP
00000bca: PUSH2 0x0beb
00000bcd: DUP2
00000bce: DUP7
00000bcf: DUP6
00000bd0: DUP2
00000bd1: MLOAD
00000bd2: DUP2
00000bd3: LT
00000bd4: PUSH2 0x0bd9
00000bd7: JUMPI
00000bd8: INVALID
00000bd9: JUMPDEST
00000bda: PUSH1 0x20
00000bdc: MUL
00000bdd: PUSH1 0x20
00000bdf: ADD
00000be0: ADD
00000be1: MLOAD
00000be2: LT
00000be3: ISZERO
00000be4: PUSH2 0x0210
00000be7: PUSH2 0x054b
00000bea: JUMP
00000beb: JUMPDEST
00000bec: PUSH2 0x0bff
00000bef: PUSH1 0x01
00000bf1: PUSH1 0x01
00000bf3: PUSH1 0xa0
00000bf5: SHL
00000bf6: SUB
00000bf7: DUP4
00000bf8: AND
00000bf9: DUP12
00000bfa: DUP4
00000bfb: PUSH2 0x1ea6
00000bfe: JUMP
00000bff: JUMPDEST
00000c00: POP
00000c01: POP
00000c02: PUSH1 0x01
00000c04: ADD
00000c05: PUSH2 0x0a97
00000c08: JUMP
00000c09: JUMPDEST
00000c0a: POP
00000c0b: PUSH1 0x40
00000c0d: MLOAD
00000c0e: PUSH32 0xf04f270700000000000000000000000000000000000000000000000000000000
00000c2f: DUP2
00000c30: MSTORE
00000c31: PUSH1 0x01
00000c33: PUSH1 0x01
00000c35: PUSH1 0xa0
00000c37: SHL
00000c38: SUB
00000c39: DUP9
00000c3a: AND
00000c3b: SWAP1
00000c3c: PUSH4 0xf04f2707
00000c41: SWAP1
00000c42: PUSH2 0x0c55
00000c45: SWAP1
00000c46: DUP10
00000c47: SWAP1
00000c48: DUP10
00000c49: SWAP1
00000c4a: DUP9
00000c4b: SWAP1
00000c4c: DUP11
00000c4d: SWAP1
00000c4e: PUSH1 0x04
00000c50: ADD
00000c51: PUSH2 0x5c85
00000c54: JUMP
00000c55: JUMPDEST
00000c56: PUSH1 0x00
00000c58: PUSH1 0x40
00000c5a: MLOAD
00000c5b: DUP1
00000c5c: DUP4
00000c5d: SUB
00000c5e: DUP2
00000c5f: PUSH1 0x00
00000c61: DUP8
00000c62: DUP1
00000c63: EXTCODESIZE
00000c64: ISZERO
00000c65: DUP1
00000c66: ISZERO
00000c67: PUSH2 0x0c6f
00000c6a: JUMPI
00000c6b: PUSH1 0x00
00000c6d: DUP1
00000c6e: REVERT
00000c6f: JUMPDEST
00000c70: POP
00000c71: GAS
00000c72: CALL
00000c73: ISZERO
00000c74: DUP1
00000c75: ISZERO
00000c76: PUSH2 0x0c83
00000c79: JUMPI
00000c7a: RETURNDATASIZE
00000c7b: PUSH1 0x00
00000c7d: DUP1
00000c7e: RETURNDATACOPY
00000c7f: RETURNDATASIZE
00000c80: PUSH1 0x00
00000c82: REVERT
00000c83: JUMPDEST
00000c84: POP
00000c85: POP
00000c86: POP
00000c87: POP
00000c88: PUSH1 0x00
00000c8a: JUMPDEST
00000c8b: DUP7
00000c8c: MLOAD
00000c8d: DUP2
00000c8e: LT
00000c8f: ISZERO
00000c90: PUSH2 0x0df4
00000c93: JUMPI
00000c94: PUSH1 0x00
00000c96: DUP8
00000c97: DUP3
00000c98: DUP2
00000c99: MLOAD
00000c9a: DUP2
00000c9b: LT
00000c9c: PUSH2 0x0ca1
00000c9f: JUMPI
00000ca0: INVALID
00000ca1: JUMPDEST
00000ca2: PUSH1 0x20
00000ca4: MUL
00000ca5: PUSH1 0x20
00000ca7: ADD
00000ca8: ADD
00000ca9: MLOAD
00000caa: SWAP1
00000cab: POP
00000cac: PUSH1 0x00
00000cae: DUP5
00000caf: DUP4
00000cb0: DUP2
00000cb1: MLOAD
00000cb2: DUP2
00000cb3: LT
00000cb4: PUSH2 0x0cb9
00000cb7: JUMPI
00000cb8: INVALID
00000cb9: JUMPDEST
00000cba: PUSH1 0x20
00000cbc: MUL
00000cbd: PUSH1 0x20
00000cbf: ADD
00000cc0: ADD
00000cc1: MLOAD
00000cc2: SWAP1
00000cc3: POP
00000cc4: PUSH1 0x00
00000cc6: DUP3
00000cc7: PUSH1 0x01
00000cc9: PUSH1 0x01
00000ccb: PUSH1 0xa0
00000ccd: SHL
00000cce: SUB
00000ccf: AND
00000cd0: PUSH4 0x70a08231
00000cd5: ADDRESS
00000cd6: PUSH1 0x40
00000cd8: MLOAD
00000cd9: DUP3
00000cda: PUSH4 0xffffffff
00000cdf: AND
00000ce0: PUSH1 0xe0
00000ce2: SHL
00000ce3: DUP2
00000ce4: MSTORE
00000ce5: PUSH1 0x04
00000ce7: ADD
00000ce8: PUSH2 0x0cf1
00000ceb: SWAP2
00000cec: SWAP1
00000ced: PUSH2 0x5b63
00000cf0: JUMP
00000cf1: JUMPDEST
00000cf2: PUSH1 0x20
00000cf4: PUSH1 0x40
00000cf6: MLOAD
00000cf7: DUP1
00000cf8: DUP4
00000cf9: SUB
00000cfa: DUP2
00000cfb: DUP7
00000cfc: DUP1
00000cfd: EXTCODESIZE
00000cfe: ISZERO
00000cff: DUP1
00000d00: ISZERO
00000d01: PUSH2 0x0d09
00000d04: JUMPI
00000d05: PUSH1 0x00
00000d07: DUP1
00000d08: REVERT
00000d09: JUMPDEST
00000d0a: POP
00000d0b: GAS
00000d0c: STATICCALL
00000d0d: ISZERO
00000d0e: DUP1
00000d0f: ISZERO
00000d10: PUSH2 0x0d1d
00000d13: JUMPI
00000d14: RETURNDATASIZE
00000d15: PUSH1 0x00
00000d17: DUP1
00000d18: RETURNDATACOPY
00000d19: RETURNDATASIZE
00000d1a: PUSH1 0x00
00000d1c: REVERT
00000d1d: JUMPDEST
00000d1e: POP
00000d1f: POP
00000d20: POP
00000d21: POP
00000d22: PUSH1 0x40
00000d24: MLOAD
00000d25: RETURNDATASIZE
00000d26: PUSH1 0x1f
00000d28: NOT
00000d29: PUSH1 0x1f
00000d2b: DUP3
00000d2c: ADD
00000d2d: AND
00000d2e: DUP3
00000d2f: ADD
00000d30: DUP1
00000d31: PUSH1 0x40
00000d33: MSTORE
00000d34: POP
00000d35: DUP2
00000d36: ADD
00000d37: SWAP1
00000d38: PUSH2 0x0d41
00000d3b: SWAP2
00000d3c: SWAP1
00000d3d: PUSH2 0x5968
00000d40: JUMP
00000d41: JUMPDEST
00000d42: SWAP1
00000d43: POP
00000d44: PUSH2 0x0d52
00000d47: DUP3
00000d48: DUP3
00000d49: LT
00000d4a: ISZERO
00000d4b: PUSH2 0x0203
00000d4e: PUSH2 0x054b
00000d51: JUMP
00000d52: JUMPDEST
00000d53: PUSH1 0x00
00000d55: DUP3
00000d56: DUP3
00000d57: SUB
00000d58: SWAP1
00000d59: POP
00000d5a: PUSH2 0x0d7b
00000d5d: DUP9
00000d5e: DUP7
00000d5f: DUP2
00000d60: MLOAD
00000d61: DUP2
00000d62: LT
00000d63: PUSH2 0x0d68
00000d66: JUMPI
00000d67: INVALID
00000d68: JUMPDEST
00000d69: PUSH1 0x20
00000d6b: MUL
00000d6c: PUSH1 0x20
00000d6e: ADD
00000d6f: ADD
00000d70: MLOAD
00000d71: DUP3
00000d72: LT
00000d73: ISZERO
00000d74: PUSH2 0x025a
00000d77: PUSH2 0x054b
00000d7a: JUMP
00000d7b: JUMPDEST
00000d7c: PUSH2 0x0d85
00000d7f: DUP5
00000d80: DUP3
00000d81: PUSH2 0x1f11
00000d84: JUMP
00000d85: JUMPDEST
00000d86: DUP4
00000d87: PUSH1 0x01
00000d89: PUSH1 0x01
00000d8b: PUSH1 0xa0
00000d8d: SHL
00000d8e: SUB
00000d8f: AND
00000d90: DUP13
00000d91: PUSH1 0x01
00000d93: PUSH1 0x01
00000d95: PUSH1 0xa0
00000d97: SHL
00000d98: SUB
00000d99: AND
00000d9a: PUSH32 0x0d7d75e01ab95780d3cd1c8ec0dd6c2ce19e3a20427eec8bf53283b6fb8e95f0
00000dbb: DUP13
00000dbc: DUP9
00000dbd: DUP2
00000dbe: MLOAD
00000dbf: DUP2
00000dc0: LT
00000dc1: PUSH2 0x0dc6
00000dc4: JUMPI
00000dc5: INVALID
00000dc6: JUMPDEST
00000dc7: PUSH1 0x20
00000dc9: MUL
00000dca: PUSH1 0x20
00000dcc: ADD
00000dcd: ADD
00000dce: MLOAD
00000dcf: DUP5
00000dd0: PUSH1 0x40
00000dd2: MLOAD
00000dd3: PUSH2 0x0ddd
00000dd6: SWAP3
00000dd7: SWAP2
00000dd8: SWAP1
00000dd9: PUSH2 0x5e4d
00000ddc: JUMP
00000ddd: JUMPDEST
00000dde: PUSH1 0x40
00000de0: MLOAD
00000de1: DUP1
00000de2: SWAP2
00000de3: SUB
00000de4: SWAP1
00000de5: LOG3
00000de6: POP
00000de7: POP
00000de8: POP
00000de9: POP
00000dea: DUP1
00000deb: PUSH1 0x01
00000ded: ADD
00000dee: SWAP1
00000def: POP
00000df0: PUSH2 0x0c8a
00000df3: JUMP
00000df4: JUMPDEST
00000df5: POP
00000df6: POP
00000df7: POP
00000df8: POP
00000df9: PUSH2 0x0e00
00000dfc: PUSH2 0x1822
00000dff: JUMP
00000e00: JUMPDEST
00000e01: POP
00000e02: POP
00000e03: POP
00000e04: POP
00000e05: JUMP
00000e06: JUMPDEST
00000e07: PUSH2 0x0e0e
00000e0a: PUSH2 0x1768
00000e0d: JUMP
00000e0e: JUMPDEST
00000e0f: PUSH2 0x0e16
00000e12: PUSH2 0x1829
00000e15: JUMP
00000e16: JUMPDEST
00000e17: DUP3
00000e18: PUSH2 0x0e20
00000e1b: DUP2
00000e1c: PUSH2 0x1f33
00000e1f: JUMP
00000e20: JUMPDEST
00000e21: PUSH2 0x0e2c
00000e24: DUP4
00000e25: MLOAD
00000e26: DUP4
00000e27: MLOAD
00000e28: PUSH2 0x1e12
00000e2b: JUMP
00000e2c: JUMPDEST
00000e2d: PUSH1 0x00
00000e2f: JUMPDEST
00000e30: DUP4
00000e31: MLOAD
00000e32: DUP2
00000e33: LT
00000e34: ISZERO
00000e35: PUSH2 0x0eca
00000e38: JUMPI
00000e39: PUSH1 0x00
00000e3b: DUP5
00000e3c: DUP3
00000e3d: DUP2
00000e3e: MLOAD
00000e3f: DUP2
00000e40: LT
00000e41: PUSH2 0x0e46
00000e44: JUMPI
00000e45: INVALID
00000e46: JUMPDEST
00000e47: PUSH1 0x20
00000e49: MUL
00000e4a: PUSH1 0x20
00000e4c: ADD
00000e4d: ADD
00000e4e: MLOAD
00000e4f: SWAP1
00000e50: POP
00000e51: PUSH2 0x0e72
00000e54: PUSH1 0x00
00000e56: PUSH1 0x01
00000e58: PUSH1 0x01
00000e5a: PUSH1 0xa0
00000e5c: SHL
00000e5d: SUB
00000e5e: AND
00000e5f: DUP3
00000e60: PUSH1 0x01
00000e62: PUSH1 0x01
00000e64: PUSH1 0xa0
00000e66: SHL
00000e67: SUB
00000e68: AND
00000e69: EQ
00000e6a: ISZERO
00000e6b: PUSH2 0x0135
00000e6e: PUSH2 0x054b
00000e71: JUMP
00000e72: JUMPDEST
00000e73: DUP4
00000e74: DUP3
00000e75: DUP2
00000e76: MLOAD
00000e77: DUP2
00000e78: LT
00000e79: PUSH2 0x0e7e
00000e7c: JUMPI
00000e7d: INVALID
00000e7e: JUMPDEST
00000e7f: PUSH1 0x20
00000e81: SWAP1
00000e82: DUP2
00000e83: MUL
00000e84: SWAP2
00000e85: SWAP1
00000e86: SWAP2
00000e87: ADD
00000e88: DUP2
00000e89: ADD
00000e8a: MLOAD
00000e8b: PUSH1 0x00
00000e8d: DUP9
00000e8e: DUP2
00000e8f: MSTORE
00000e90: PUSH1 0x0a
00000e92: DUP4
00000e93: MSTORE
00000e94: PUSH1 0x40
00000e96: DUP1
00000e97: DUP3
00000e98: KECCAK256
00000e99: PUSH1 0x01
00000e9b: PUSH1 0x01
00000e9d: PUSH1 0xa0
00000e9f: SHL
00000ea0: SUB
00000ea1: SWAP6
00000ea2: DUP7
00000ea3: AND
00000ea4: DUP4
00000ea5: MSTORE
00000ea6: SWAP1
00000ea7: SWAP4
00000ea8: MSTORE
00000ea9: SWAP2
00000eaa: SWAP1
00000eab: SWAP2
00000eac: KECCAK256
00000ead: DUP1
00000eae: SLOAD
00000eaf: PUSH1 0x01
00000eb1: PUSH1 0x01
00000eb3: PUSH1 0xa0
00000eb5: SHL
00000eb6: SUB
00000eb7: NOT
00000eb8: AND
00000eb9: SWAP3
00000eba: SWAP1
00000ebb: SWAP2
00000ebc: AND
00000ebd: SWAP2
00000ebe: SWAP1
00000ebf: SWAP2
00000ec0: OR
00000ec1: SWAP1
00000ec2: SSTORE
00000ec3: PUSH1 0x01
00000ec5: ADD
00000ec6: PUSH2 0x0e2f
00000ec9: JUMP
00000eca: JUMPDEST
00000ecb: POP
00000ecc: PUSH1 0x00
00000ece: PUSH2 0x0ed6
00000ed1: DUP6
00000ed2: PUSH2 0x1f64
00000ed5: JUMP
00000ed6: JUMPDEST
00000ed7: SWAP1
00000ed8: POP
00000ed9: PUSH1 0x02
00000edb: DUP2
00000edc: PUSH1 0x02
00000ede: DUP2
00000edf: GT
00000ee0: ISZERO
00000ee1: PUSH2 0x0ee6
00000ee4: JUMPI
00000ee5: INVALID
00000ee6: JUMPDEST
00000ee7: EQ
00000ee8: ISZERO
00000ee9: PUSH2 0x0f34
00000eec: JUMPI
00000eed: PUSH2 0x0efc
00000ef0: DUP5
00000ef1: MLOAD
00000ef2: PUSH1 0x02
00000ef4: EQ
00000ef5: PUSH2 0x020c
00000ef8: PUSH2 0x054b
00000efb: JUMP
00000efc: JUMPDEST
00000efd: PUSH2 0x0f2f
00000f00: DUP6
00000f01: DUP6
00000f02: PUSH1 0x00
00000f04: DUP2
00000f05: MLOAD
00000f06: DUP2
00000f07: LT
00000f08: PUSH2 0x0f0d
00000f0b: JUMPI
00000f0c: INVALID
00000f0d: JUMPDEST
00000f0e: PUSH1 0x20
00000f10: MUL
00000f11: PUSH1 0x20
00000f13: ADD
00000f14: ADD
00000f15: MLOAD
00000f16: DUP7
00000f17: PUSH1 0x01
00000f19: DUP2
00000f1a: MLOAD
00000f1b: DUP2
00000f1c: LT
00000f1d: PUSH2 0x0f22
00000f20: JUMPI
00000f21: INVALID
00000f22: JUMPDEST
00000f23: PUSH1 0x20
00000f25: MUL
00000f26: PUSH1 0x20
00000f28: ADD
00000f29: ADD
00000f2a: MLOAD
00000f2b: PUSH2 0x1f7e
00000f2e: JUMP
00000f2f: JUMPDEST
00000f30: PUSH2 0x0f5c
00000f33: JUMP
00000f34: JUMPDEST
00000f35: PUSH1 0x01
00000f37: DUP2
00000f38: PUSH1 0x02
00000f3a: DUP2
00000f3b: GT
00000f3c: ISZERO
00000f3d: PUSH2 0x0f42
00000f40: JUMPI
00000f41: INVALID
00000f42: JUMPDEST
00000f43: EQ
00000f44: ISZERO
00000f45: PUSH2 0x0f52
00000f48: JUMPI
00000f49: PUSH2 0x0f2f
00000f4c: DUP6
00000f4d: DUP6
00000f4e: PUSH2 0x202a
00000f51: JUMP
00000f52: JUMPDEST
00000f53: PUSH2 0x0f5c
00000f56: DUP6
00000f57: DUP6
00000f58: PUSH2 0x2082
00000f5b: JUMP
00000f5c: JUMPDEST
00000f5d: DUP5
00000f5e: PUSH32 0xf5847d3f2197b16cdcd2098ec95d0905cd1abdaf415f07bb7cef2bba8ac5dec4
00000f7f: DUP6
00000f80: DUP6
00000f81: PUSH1 0x40
00000f83: MLOAD
00000f84: PUSH2 0x0f8e
00000f87: SWAP3
00000f88: SWAP2
00000f89: SWAP1
00000f8a: PUSH2 0x5bed
00000f8d: JUMP
00000f8e: JUMPDEST
00000f8f: PUSH1 0x40
00000f91: MLOAD
00000f92: DUP1
00000f93: SWAP2
00000f94: SUB
00000f95: SWAP1
00000f96: LOG2
00000f97: POP
00000f98: POP
00000f99: PUSH2 0x0fa0
00000f9c: PUSH2 0x1822
00000f9f: JUMP
00000fa0: JUMPDEST
00000fa1: POP
00000fa2: POP
00000fa3: POP
00000fa4: JUMP
00000fa5: JUMPDEST
00000fa6: PUSH2 0x0fad
00000fa9: PUSH2 0x1768
00000fac: JUMP
00000fad: JUMPDEST
00000fae: PUSH2 0x0fb5
00000fb1: PUSH2 0x1829
00000fb4: JUMP
00000fb5: JUMPDEST
00000fb6: DUP2
00000fb7: PUSH2 0x0fbf
00000fba: DUP2
00000fbb: PUSH2 0x1f33
00000fbe: JUMP
00000fbf: JUMPDEST
00000fc0: PUSH1 0x00
00000fc2: PUSH2 0x0fca
00000fc5: DUP5
00000fc6: PUSH2 0x1f64
00000fc9: JUMP
00000fca: JUMPDEST
00000fcb: SWAP1
00000fcc: POP
00000fcd: PUSH1 0x02
00000fcf: DUP2
00000fd0: PUSH1 0x02
00000fd2: DUP2
00000fd3: GT
00000fd4: ISZERO
00000fd5: PUSH2 0x0fda
00000fd8: JUMPI
00000fd9: INVALID
00000fda: JUMPDEST
00000fdb: EQ
00000fdc: ISZERO
00000fdd: PUSH2 0x1028
00000fe0: JUMPI
00000fe1: PUSH2 0x0ff0
00000fe4: DUP4
00000fe5: MLOAD
00000fe6: PUSH1 0x02
00000fe8: EQ
00000fe9: PUSH2 0x020c
00000fec: PUSH2 0x054b
00000fef: JUMP
00000ff0: JUMPDEST
00000ff1: PUSH2 0x1023
00000ff4: DUP5
00000ff5: DUP5
00000ff6: PUSH1 0x00
00000ff8: DUP2
00000ff9: MLOAD
00000ffa: DUP2
00000ffb: LT
00000ffc: PUSH2 0x1001
00000fff: JUMPI
00001000: INVALID
00001001: JUMPDEST
00001002: PUSH1 0x20
00001004: MUL
00001005: PUSH1 0x20
00001007: ADD
00001008: ADD
00001009: MLOAD
0000100a: DUP6
0000100b: PUSH1 0x01
0000100d: DUP2
0000100e: MLOAD
0000100f: DUP2
00001010: LT
00001011: PUSH2 0x1016
00001014: JUMPI
00001015: INVALID
00001016: JUMPDEST
00001017: PUSH1 0x20
00001019: MUL
0000101a: PUSH1 0x20
0000101c: ADD
0000101d: ADD
0000101e: MLOAD
0000101f: PUSH2 0x20d7
00001022: JUMP
00001023: JUMPDEST
00001024: PUSH2 0x1050
00001027: JUMP
00001028: JUMPDEST
00001029: PUSH1 0x01
0000102b: DUP2
0000102c: PUSH1 0x02
0000102e: DUP2
0000102f: GT
00001030: ISZERO
00001031: PUSH2 0x1036
00001034: JUMPI
00001035: INVALID
00001036: JUMPDEST
00001037: EQ
00001038: ISZERO
00001039: PUSH2 0x1046
0000103c: JUMPI
0000103d: PUSH2 0x1023
00001040: DUP5
00001041: DUP5
00001042: PUSH2 0x2145
00001045: JUMP
00001046: JUMPDEST
00001047: PUSH2 0x1050
0000104a: DUP5
0000104b: DUP5
0000104c: PUSH2 0x21ff
0000104f: JUMP
00001050: JUMPDEST
00001051: PUSH1 0x00
00001053: JUMPDEST
00001054: DUP4
00001055: MLOAD
00001056: DUP2
00001057: LT
00001058: ISZERO
00001059: PUSH2 0x10b6
0000105c: JUMPI
0000105d: PUSH1 0x0a
0000105f: PUSH1 0x00
00001061: DUP7
00001062: DUP2
00001063: MSTORE
00001064: PUSH1 0x20
00001066: ADD
00001067: SWAP1
00001068: DUP2
00001069: MSTORE
0000106a: PUSH1 0x20
0000106c: ADD
0000106d: PUSH1 0x00
0000106f: KECCAK256
00001070: PUSH1 0x00
00001072: DUP6
00001073: DUP4
00001074: DUP2
00001075: MLOAD
00001076: DUP2
00001077: LT
00001078: PUSH2 0x107d
0000107b: JUMPI
0000107c: INVALID
0000107d: JUMPDEST
0000107e: PUSH1 0x20
00001080: SWAP1
00001081: DUP2
00001082: MUL
00001083: SWAP2
00001084: SWAP1
00001085: SWAP2
00001086: ADD
00001087: DUP2
00001088: ADD
00001089: MLOAD
0000108a: PUSH1 0x01
0000108c: PUSH1 0x01
0000108e: PUSH1 0xa0
00001090: SHL
00001091: SUB
00001092: AND
00001093: DUP3
00001094: MSTORE
00001095: DUP2
00001096: ADD
00001097: SWAP2
00001098: SWAP1
00001099: SWAP2
0000109a: MSTORE
0000109b: PUSH1 0x40
0000109d: ADD
0000109e: PUSH1 0x00
000010a0: KECCAK256
000010a1: DUP1
000010a2: SLOAD
000010a3: PUSH1 0x01
000010a5: PUSH1 0x01
000010a7: PUSH1 0xa0
000010a9: SHL
000010aa: SUB
000010ab: NOT
000010ac: AND
000010ad: SWAP1
000010ae: SSTORE
000010af: PUSH1 0x01
000010b1: ADD
000010b2: PUSH2 0x1053
000010b5: JUMP
000010b6: JUMPDEST
000010b7: POP
000010b8: DUP4
000010b9: PUSH32 0x7dcdc6d02ef40c7c1a7046a011b058bd7f988fa14e20a66344f9d4e60657d610
000010da: DUP5
000010db: PUSH1 0x40
000010dd: MLOAD
000010de: PUSH2 0x10e7
000010e1: SWAP2
000010e2: SWAP1
000010e3: PUSH2 0x5bda
000010e6: JUMP
000010e7: JUMPDEST
000010e8: PUSH1 0x40
000010ea: MLOAD
000010eb: DUP1
000010ec: SWAP2
000010ed: SUB
000010ee: SWAP1
000010ef: LOG2
000010f0: POP
000010f1: POP
000010f2: PUSH2 0x0559
000010f5: PUSH2 0x1822
000010f8: JUMP
000010f9: JUMPDEST
000010fa: PUSH1 0x00
000010fc: PUSH32 0x000000000000000000000000ba12222222228d8ba445958a75a0704d566bf2c8
0000111d: DUP3
0000111e: PUSH1 0x40
00001120: MLOAD
00001121: PUSH1 0x20
00001123: ADD
00001124: PUSH2 0x112e
00001127: SWAP3
00001128: SWAP2
00001129: SWAP1
0000112a: PUSH2 0x5ac2
0000112d: JUMP
0000112e: JUMPDEST
0000112f: PUSH1 0x40
00001131: MLOAD
00001132: PUSH1 0x20
00001134: DUP2
00001135: DUP4
00001136: SUB
00001137: SUB
00001138: DUP2
00001139: MSTORE
0000113a: SWAP1
0000113b: PUSH1 0x40
0000113d: MSTORE
0000113e: DUP1
0000113f: MLOAD
00001140: SWAP1
00001141: PUSH1 0x20
00001143: ADD
00001144: KECCAK256
00001145: SWAP1
00001146: POP
00001147: SWAP2
00001148: SWAP1
00001149: POP
0000114a: JUMP
0000114b: JUMPDEST
0000114c: PUSH2 0x0e00
0000114f: PUSH1 0x01
00001151: DUP6
00001152: DUP6
00001153: DUP6
00001154: PUSH2 0x115c
00001157: DUP7
00001158: PUSH2 0x2262
0000115b: JUMP
0000115c: JUMPDEST
0000115d: PUSH2 0x226e
00001160: JUMP
00001161: JUMPDEST
00001162: PUSH1 0x01
00001164: PUSH1 0x01
00001166: PUSH1 0xa0
00001168: SHL
00001169: SUB
0000116a: AND
0000116b: PUSH1 0x00
0000116d: SWAP1
0000116e: DUP2
0000116f: MSTORE
00001170: PUSH1 0x02
00001172: PUSH1 0x20
00001174: MSTORE
00001175: PUSH1 0x40
00001177: SWAP1
00001178: KECCAK256
00001179: SLOAD
0000117a: SWAP1
0000117b: JUMP
0000117c: JUMPDEST
0000117d: PUSH1 0x60
0000117f: PUSH2 0x1186
00001182: PUSH2 0x1768
00001185: JUMP
00001186: JUMPDEST
00001187: PUSH2 0x118e
0000118a: PUSH2 0x1829
0000118d: JUMP
0000118e: JUMPDEST
0000118f: DUP4
00001190: MLOAD
00001191: PUSH2 0x1199
00001194: DUP2
00001195: PUSH2 0x1b0f
00001198: JUMP
00001199: JUMPDEST
0000119a: PUSH2 0x11a8
0000119d: DUP4
0000119e: TIMESTAMP
0000119f: GT
000011a0: ISZERO
000011a1: PUSH2 0x01fc
000011a4: PUSH2 0x054b
000011a7: JUMP
000011a8: JUMPDEST
000011a9: PUSH2 0x11b4
000011ac: DUP7
000011ad: MLOAD
000011ae: DUP6
000011af: MLOAD
000011b0: PUSH2 0x1e12
000011b3: JUMP
000011b4: JUMPDEST
000011b5: PUSH2 0x11c0
000011b8: DUP8
000011b9: DUP8
000011ba: DUP8
000011bb: DUP12
000011bc: PUSH2 0x23f4
000011bf: JUMP
000011c0: JUMPDEST
000011c1: SWAP2
000011c2: POP
000011c3: PUSH1 0x00
000011c5: DUP1
000011c6: JUMPDEST
000011c7: DUP8
000011c8: MLOAD
000011c9: DUP2
000011ca: LT
000011cb: ISZERO
000011cc: PUSH2 0x1292
000011cf: JUMPI
000011d0: PUSH1 0x00
000011d2: DUP9
000011d3: DUP3
000011d4: DUP2
000011d5: MLOAD
000011d6: DUP2
000011d7: LT
000011d8: PUSH2 0x11dd
000011db: JUMPI
000011dc: INVALID
000011dd: JUMPDEST
000011de: PUSH1 0x20
000011e0: MUL
000011e1: PUSH1 0x20
000011e3: ADD
000011e4: ADD
000011e5: MLOAD
000011e6: SWAP1
000011e7: POP
000011e8: PUSH1 0x00
000011ea: DUP6
000011eb: DUP4
000011ec: DUP2
000011ed: MLOAD
000011ee: DUP2
000011ef: LT
000011f0: PUSH2 0x11f5
000011f3: JUMPI
000011f4: INVALID
000011f5: JUMPDEST
000011f6: PUSH1 0x20
000011f8: MUL
000011f9: PUSH1 0x20
000011fb: ADD
000011fc: ADD
000011fd: MLOAD
000011fe: SWAP1
000011ff: POP
00001200: PUSH2 0x1221
00001203: DUP9
00001204: DUP5
00001205: DUP2
00001206: MLOAD
00001207: DUP2
00001208: LT
00001209: PUSH2 0x120e
0000120c: JUMPI
0000120d: INVALID
0000120e: JUMPDEST
0000120f: PUSH1 0x20
00001211: MUL
00001212: PUSH1 0x20
00001214: ADD
00001215: ADD
00001216: MLOAD
00001217: DUP3
00001218: SGT
00001219: ISZERO
0000121a: PUSH2 0x01fb
0000121d: PUSH2 0x054b
00001220: JUMP
00001221: JUMPDEST
00001222: PUSH1 0x00
00001224: DUP2
00001225: SGT
00001226: ISZERO
00001227: PUSH2 0x1261
0000122a: JUMPI
0000122b: DUP9
0000122c: MLOAD
0000122d: PUSH1 0x20
0000122f: DUP11
00001230: ADD
00001231: MLOAD
00001232: DUP3
00001233: SWAP2
00001234: PUSH2 0x1240
00001237: SWAP2
00001238: DUP6
00001239: SWAP2
0000123a: DUP5
0000123b: SWAP2
0000123c: PUSH2 0x1c5a
0000123f: JUMP
00001240: JUMPDEST
00001241: PUSH2 0x1249
00001244: DUP4
00001245: PUSH2 0x1938
00001248: JUMP
00001249: JUMPDEST
0000124a: ISZERO
0000124b: PUSH2 0x125b
0000124e: JUMPI
0000124f: PUSH2 0x1258
00001252: DUP6
00001253: DUP3
00001254: PUSH2 0x1945
00001257: JUMP
00001258: JUMPDEST
00001259: SWAP5
0000125a: POP
0000125b: JUMPDEST
0000125c: POP
0000125d: PUSH2 0x1288
00001260: JUMP
00001261: JUMPDEST
00001262: PUSH1 0x00
00001264: DUP2
00001265: SLT
00001266: ISZERO
00001267: PUSH2 0x1288
0000126a: JUMPI
0000126b: PUSH1 0x00
0000126d: DUP2
0000126e: PUSH1 0x00
00001270: SUB
00001271: SWAP1
00001272: POP
00001273: PUSH2 0x1286
00001276: DUP4
00001277: DUP3
00001278: DUP13
00001279: PUSH1 0x40
0000127b: ADD
0000127c: MLOAD
0000127d: DUP14
0000127e: PUSH1 0x60
00001280: ADD
00001281: MLOAD
00001282: PUSH2 0x1d38
00001285: JUMP
00001286: JUMPDEST
00001287: POP
00001288: JUMPDEST
00001289: POP
0000128a: POP
0000128b: PUSH1 0x01
0000128d: ADD
0000128e: PUSH2 0x11c6
00001291: JUMP
00001292: JUMPDEST
00001293: POP
00001294: PUSH2 0x129c
00001297: DUP2
00001298: PUSH2 0x19de
0000129b: JUMP
0000129c: JUMPDEST
0000129d: POP
0000129e: POP
0000129f: PUSH2 0x12a6
000012a2: PUSH2 0x1822
000012a5: JUMP
000012a6: JUMPDEST
000012a7: SWAP7
000012a8: SWAP6
000012a9: POP
000012aa: POP
000012ab: POP
000012ac: POP
000012ad: POP
000012ae: POP
000012af: JUMP
000012b0: JUMPDEST
000012b1: PUSH1 0x03
000012b3: SLOAD
000012b4: PUSH2 0x0100
000012b7: SWAP1
000012b8: DIV
000012b9: PUSH1 0x01
000012bb: PUSH1 0x01
000012bd: PUSH1 0xa0
000012bf: SHL
000012c0: SUB
000012c1: AND
000012c2: SWAP1
000012c3: JUMP
000012c4: JUMPDEST
000012c5: PUSH1 0x00
000012c7: PUSH2 0x12ce
000012ca: PUSH2 0x0526
000012cd: JUMP
000012ce: JUMPDEST
000012cf: SWAP1
000012d0: POP
000012d1: SWAP1
000012d2: JUMP
000012d3: JUMPDEST
000012d4: PUSH1 0x00
000012d6: DUP1
000012d7: PUSH1 0x00
000012d9: DUP1
000012da: DUP6
000012db: PUSH2 0x12e3
000012de: DUP2
000012df: PUSH2 0x2683
000012e2: JUMP
000012e3: JUMPDEST
000012e4: PUSH1 0x00
000012e6: DUP1
000012e7: PUSH2 0x12ef
000012ea: DUP10
000012eb: PUSH2 0x1f64
000012ee: JUMP
000012ef: JUMPDEST
000012f0: SWAP1
000012f1: POP
000012f2: PUSH1 0x02
000012f4: DUP2
000012f5: PUSH1 0x02
000012f7: DUP2
000012f8: GT
000012f9: ISZERO
000012fa: PUSH2 0x12ff
000012fd: JUMPI
000012fe: INVALID
000012ff: JUMPDEST
00001300: EQ
00001301: ISZERO
00001302: PUSH2 0x1316
00001305: JUMPI
00001306: PUSH2 0x130f
00001309: DUP10
0000130a: DUP10
0000130b: PUSH2 0x26a1
0000130e: JUMP
0000130f: JUMPDEST
00001310: SWAP2
00001311: POP
00001312: PUSH2 0x1341
00001315: JUMP
00001316: JUMPDEST
00001317: PUSH1 0x01
00001319: DUP2
0000131a: PUSH1 0x02
0000131c: DUP2
0000131d: GT
0000131e: ISZERO
0000131f: PUSH2 0x1324
00001322: JUMPI
00001323: INVALID
00001324: JUMPDEST
00001325: EQ
00001326: ISZERO
00001327: PUSH2 0x1334
0000132a: JUMPI
0000132b: PUSH2 0x130f
0000132e: DUP10
0000132f: DUP10
00001330: PUSH2 0x271b
00001333: JUMP
00001334: JUMPDEST
00001335: PUSH2 0x133e
00001338: DUP10
00001339: DUP10
0000133a: PUSH2 0x2789
0000133d: JUMP
0000133e: JUMPDEST
0000133f: SWAP2
00001340: POP
00001341: JUMPDEST
00001342: PUSH2 0x134a
00001345: DUP3
00001346: PUSH2 0x27a1
00001349: JUMP
0000134a: JUMPDEST
0000134b: SWAP7
0000134c: POP
0000134d: PUSH2 0x1355
00001350: DUP3
00001351: PUSH2 0x27b4
00001354: JUMP
00001355: JUMPDEST
00001356: SWAP6
00001357: POP
00001358: PUSH2 0x1360
0000135b: DUP3
0000135c: PUSH2 0x27ca
0000135f: JUMP
00001360: JUMPDEST
00001361: PUSH1 0x00
00001363: SWAP10
00001364: DUP11
00001365: MSTORE
00001366: PUSH1 0x0a
00001368: PUSH1 0x20
0000136a: SWAP1
0000136b: DUP2
0000136c: MSTORE
0000136d: PUSH1 0x40
0000136f: DUP1
00001370: DUP13
00001371: KECCAK256
00001372: PUSH1 0x01
00001374: PUSH1 0x01
00001376: PUSH1 0xa0
00001378: SHL
00001379: SUB
0000137a: SWAP12
0000137b: DUP13
0000137c: AND
0000137d: DUP14
0000137e: MSTORE
0000137f: SWAP1
00001380: SWAP2
00001381: MSTORE
00001382: SWAP1
00001383: SWAP10
00001384: KECCAK256
00001385: SLOAD
00001386: SWAP7
00001387: SWAP10
00001388: SWAP6
00001389: SWAP9
0000138a: SWAP8
0000138b: SWAP7
0000138c: SWAP1
0000138d: SWAP7
0000138e: AND
0000138f: SWAP6
00001390: POP
00001391: POP
00001392: POP
00001393: POP
00001394: POP
00001395: JUMP
00001396: JUMPDEST
00001397: PUSH2 0x139e
0000139a: PUSH2 0x1829
0000139d: JUMP
0000139e: JUMPDEST
0000139f: PUSH2 0x0e00
000013a2: PUSH1 0x00
000013a4: DUP6
000013a5: DUP6
000013a6: DUP6
000013a7: PUSH2 0x115c
000013aa: DUP7
000013ab: PUSH2 0x2262
000013ae: JUMP
000013af: JUMPDEST
000013b0: PUSH32 0x000000000000000000000000ce88686553686da562ce7cea497ce749da109f9f
000013d1: SWAP1
000013d2: JUMP
000013d3: JUMPDEST
000013d4: PUSH2 0x13db
000013d7: PUSH2 0x1768
000013da: JUMP
000013db: JUMPDEST
000013dc: PUSH2 0x13e3
000013df: PUSH2 0x1829
000013e2: JUMP
000013e3: JUMPDEST
000013e4: PUSH2 0x13eb
000013e7: PUSH2 0x4d31
000013ea: JUMP
000013eb: JUMPDEST
000013ec: PUSH1 0x00
000013ee: JUMPDEST
000013ef: DUP3
000013f0: MLOAD
000013f1: DUP2
000013f2: LT
000013f3: ISZERO
000013f4: PUSH2 0x14e5
000013f7: JUMPI
000013f8: DUP3
000013f9: DUP2
000013fa: DUP2
000013fb: MLOAD
000013fc: DUP2
000013fd: LT
000013fe: PUSH2 0x1403
00001401: JUMPI
00001402: INVALID
00001403: JUMPDEST
00001404: PUSH1 0x20
00001406: MUL
00001407: PUSH1 0x20
00001409: ADD
0000140a: ADD
0000140b: MLOAD
0000140c: SWAP2
0000140d: POP
0000140e: PUSH1 0x00
00001410: DUP3
00001411: PUSH1 0x20
00001413: ADD
00001414: MLOAD
00001415: SWAP1
00001416: POP
00001417: PUSH2 0x141f
0000141a: DUP2
0000141b: PUSH2 0x2683
0000141e: JUMP
0000141f: JUMPDEST
00001420: PUSH1 0x40
00001422: DUP4
00001423: ADD
00001424: MLOAD
00001425: PUSH2 0x1439
00001428: PUSH2 0x1431
0000142b: DUP4
0000142c: DUP4
0000142d: PUSH2 0x27d0
00001430: JUMP
00001431: JUMPDEST
00001432: PUSH2 0x0209
00001435: PUSH2 0x054b
00001438: JUMP
00001439: JUMPDEST
0000143a: PUSH1 0x00
0000143c: DUP3
0000143d: DUP2
0000143e: MSTORE
0000143f: PUSH1 0x0a
00001441: PUSH1 0x20
00001443: SWAP1
00001444: DUP2
00001445: MSTORE
00001446: PUSH1 0x40
00001448: DUP1
00001449: DUP4
0000144a: KECCAK256
0000144b: PUSH1 0x01
0000144d: PUSH1 0x01
0000144f: PUSH1 0xa0
00001451: SHL
00001452: SUB
00001453: DUP6
00001454: DUP2
00001455: AND
00001456: DUP6
00001457: MSTORE
00001458: SWAP3
00001459: MSTORE
0000145a: SWAP1
0000145b: SWAP2
0000145c: KECCAK256
0000145d: SLOAD
0000145e: PUSH2 0x146c
00001461: SWAP2
00001462: AND
00001463: CALLER
00001464: EQ
00001465: PUSH2 0x01f6
00001468: PUSH2 0x054b
0000146b: JUMP
0000146c: JUMPDEST
0000146d: DUP4
0000146e: MLOAD
0000146f: PUSH1 0x60
00001471: DUP6
00001472: ADD
00001473: MLOAD
00001474: PUSH1 0x00
00001476: DUP1
00001477: PUSH2 0x1482
0000147a: DUP5
0000147b: DUP8
0000147c: DUP8
0000147d: DUP7
0000147e: PUSH2 0x282c
00001481: JUMP
00001482: JUMPDEST
00001483: SWAP2
00001484: POP
00001485: SWAP2
00001486: POP
00001487: DUP5
00001488: PUSH1 0x01
0000148a: PUSH1 0x01
0000148c: PUSH1 0xa0
0000148e: SHL
0000148f: SUB
00001490: AND
00001491: CALLER
00001492: PUSH1 0x01
00001494: PUSH1 0x01
00001496: PUSH1 0xa0
00001498: SHL
00001499: SUB
0000149a: AND
0000149b: DUP8
0000149c: PUSH32 0x6edcaf6241105b4c94c2efdbf3a6b12458eb3d07be3a0e81d24b13c44045fe7a
000014bd: DUP6
000014be: DUP6
000014bf: PUSH1 0x40
000014c1: MLOAD
000014c2: PUSH2 0x14cc
000014c5: SWAP3
000014c6: SWAP2
000014c7: SWAP1
000014c8: PUSH2 0x5e4d
000014cb: JUMP
000014cc: JUMPDEST
000014cd: PUSH1 0x40
000014cf: MLOAD
000014d0: DUP1
000014d1: SWAP2
000014d2: SUB
000014d3: SWAP1
000014d4: LOG4
000014d5: POP
000014d6: POP
000014d7: POP
000014d8: POP
000014d9: POP
000014da: POP
000014db: DUP1
000014dc: PUSH1 0x01
000014de: ADD
000014df: SWAP1
000014e0: POP
000014e1: PUSH2 0x13ee
000014e4: JUMP
000014e5: JUMPDEST
000014e6: POP
000014e7: POP
000014e8: PUSH2 0x057e
000014eb: PUSH2 0x1822
000014ee: JUMP
000014ef: JUMPDEST
000014f0: PUSH1 0x00
000014f2: PUSH2 0x12ce
000014f5: PUSH2 0x289b
000014f8: JUMP
000014f9: JUMPDEST
000014fa: PUSH1 0x00
000014fc: DUP1
000014fd: DUP3
000014fe: PUSH2 0x1506
00001501: DUP2
00001502: PUSH2 0x2683
00001505: JUMP
00001506: JUMPDEST
00001507: PUSH2 0x150f
0000150a: DUP5
0000150b: PUSH2 0x2938
0000150e: JUMP
0000150f: JUMPDEST
00001510: PUSH2 0x1518
00001513: DUP6
00001514: PUSH2 0x1f64
00001517: JUMP
00001518: JUMPDEST
00001519: SWAP3
0000151a: POP
0000151b: SWAP3
0000151c: POP
0000151d: JUMPDEST
0000151e: POP
0000151f: SWAP2
00001520: POP
00001521: SWAP2
00001522: JUMP
00001523: JUMPDEST
00001524: PUSH1 0x60
00001526: CALLER
00001527: ADDRESS
00001528: EQ
00001529: PUSH2 0x15f6
0000152c: JUMPI
0000152d: PUSH1 0x00
0000152f: ADDRESS
00001530: PUSH1 0x01
00001532: PUSH1 0x01
00001534: PUSH1 0xa0
00001536: SHL
00001537: SUB
00001538: AND
00001539: PUSH1 0x00
0000153b: CALLDATASIZE
0000153c: PUSH1 0x40
0000153e: MLOAD
0000153f: PUSH2 0x1549
00001542: SWAP3
00001543: SWAP2
00001544: SWAP1
00001545: PUSH2 0x5ada
00001548: JUMP
00001549: JUMPDEST
0000154a: PUSH1 0x00
0000154c: PUSH1 0x40
0000154e: MLOAD
0000154f: DUP1
00001550: DUP4
00001551: SUB
00001552: DUP2
00001553: PUSH1 0x00
00001555: DUP7
00001556: GAS
00001557: CALL
00001558: SWAP2
00001559: POP
0000155a: POP
0000155b: RETURNDATASIZE
0000155c: DUP1
0000155d: PUSH1 0x00
0000155f: DUP2
00001560: EQ
00001561: PUSH2 0x1586
00001564: JUMPI
00001565: PUSH1 0x40
00001567: MLOAD
00001568: SWAP2
00001569: POP
0000156a: PUSH1 0x1f
0000156c: NOT
0000156d: PUSH1 0x3f
0000156f: RETURNDATASIZE
00001570: ADD
00001571: AND
00001572: DUP3
00001573: ADD
00001574: PUSH1 0x40
00001576: MSTORE
00001577: RETURNDATASIZE
00001578: DUP3
00001579: MSTORE
0000157a: RETURNDATASIZE
0000157b: PUSH1 0x00
0000157d: PUSH1 0x20
0000157f: DUP5
00001580: ADD
00001581: RETURNDATACOPY
00001582: PUSH2 0x158b
00001585: JUMP
00001586: JUMPDEST
00001587: PUSH1 0x60
00001589: SWAP2
0000158a: POP
0000158b: JUMPDEST
0000158c: POP
0000158d: POP
0000158e: SWAP1
0000158f: POP
00001590: DUP1
00001591: PUSH1 0x00
00001593: DUP2
00001594: EQ
00001595: PUSH2 0x159a
00001598: JUMPI
00001599: INVALID
0000159a: JUMPDEST
0000159b: PUSH1 0x04
0000159d: PUSH1 0x00
0000159f: DUP1
000015a0: RETURNDATACOPY
000015a1: PUSH1 0x00
000015a3: MLOAD
000015a4: PUSH1 0x01
000015a6: PUSH1 0x01
000015a8: PUSH1 0xe0
000015aa: SHL
000015ab: SUB
000015ac: NOT
000015ad: AND
000015ae: PUSH32 0xfa61cc1200000000000000000000000000000000000000000000000000000000
000015cf: DUP2
000015d0: EQ
000015d1: PUSH2 0x15de
000015d4: JUMPI
000015d5: RETURNDATASIZE
000015d6: PUSH1 0x00
000015d8: DUP1
000015d9: RETURNDATACOPY
000015da: RETURNDATASIZE
000015db: PUSH1 0x00
000015dd: REVERT
000015de: JUMPDEST
000015df: POP
000015e0: PUSH1 0x20
000015e2: PUSH1 0x00
000015e4: MSTORE
000015e5: PUSH1 0x04
000015e7: RETURNDATASIZE
000015e8: SUB
000015e9: DUP1
000015ea: PUSH1 0x04
000015ec: PUSH1 0x20
000015ee: RETURNDATACOPY
000015ef: PUSH1 0x20
000015f1: DUP2
000015f2: ADD
000015f3: PUSH1 0x00
000015f5: RETURN
000015f6: JUMPDEST
000015f7: PUSH1 0x60
000015f9: PUSH2 0x1604
000015fc: DUP6
000015fd: DUP6
000015fe: DUP6
000015ff: DUP10
00001600: PUSH2 0x23f4
00001603: JUMP
00001604: JUMPDEST
00001605: SWAP1
00001606: POP
00001607: PUSH1 0x20
00001609: DUP2
0000160a: MLOAD
0000160b: MUL
0000160c: PUSH4 0xfa61cc12
00001611: PUSH1 0x20
00001613: DUP4
00001614: SUB
00001615: MSTORE
00001616: PUSH1 0x04
00001618: DUP3
00001619: SUB
0000161a: PUSH1 0x24
0000161c: DUP3
0000161d: ADD
0000161e: DUP2
0000161f: REVERT
00001620: JUMPDEST
00001621: PUSH1 0x60
00001623: DUP1
00001624: PUSH1 0x00
00001626: DUP4
00001627: PUSH2 0x162f
0000162a: DUP2
0000162b: PUSH2 0x2683
0000162e: JUMP
0000162f: JUMPDEST
00001630: PUSH1 0x60
00001632: PUSH2 0x163a
00001635: DUP7
00001636: PUSH2 0x293e
00001639: JUMP
0000163a: JUMPDEST
0000163b: SWAP1
0000163c: SWAP6
0000163d: POP
0000163e: SWAP1
0000163f: POP
00001640: PUSH2 0x1648
00001643: DUP2
00001644: PUSH2 0x29a0
00001647: JUMP
00001648: JUMPDEST
00001649: SWAP6
0000164a: SWAP8
0000164b: SWAP1
0000164c: SWAP7
0000164d: POP
0000164e: SWAP4
0000164f: POP
00001650: POP
00001651: POP
00001652: POP
00001653: JUMP
00001654: JUMPDEST
00001655: PUSH2 0x165c
00001658: PUSH2 0x1768
0000165b: JUMP
0000165c: JUMPDEST
0000165d: PUSH2 0x1664
00001660: PUSH2 0x1829
00001663: JUMP
00001664: JUMPDEST
00001665: DUP3
00001666: PUSH2 0x166e
00001669: DUP2
0000166a: PUSH2 0x1b0f
0000166d: JUMP
0000166e: JUMPDEST
0000166f: PUSH1 0x01
00001671: PUSH1 0x01
00001673: PUSH1 0xa0
00001675: SHL
00001676: SUB
00001677: DUP5
00001678: DUP2
00001679: AND
0000167a: PUSH1 0x00
0000167c: DUP2
0000167d: DUP2
0000167e: MSTORE
0000167f: PUSH1 0x04
00001681: PUSH1 0x20
00001683: SWAP1
00001684: DUP2
00001685: MSTORE
00001686: PUSH1 0x40
00001688: DUP1
00001689: DUP4
0000168a: KECCAK256
0000168b: SWAP5
0000168c: DUP9
0000168d: AND
0000168e: DUP1
0000168f: DUP5
00001690: MSTORE
00001691: SWAP5
00001692: SWAP1
00001693: SWAP2
00001694: MSTORE
00001695: SWAP1
00001696: DUP2
00001697: SWAP1
00001698: KECCAK256
00001699: DUP1
0000169a: SLOAD
0000169b: PUSH1 0xff
0000169d: NOT
0000169e: AND
0000169f: DUP7
000016a0: ISZERO
000016a1: ISZERO
000016a2: OR
000016a3: SWAP1
000016a4: SSTORE
000016a5: MLOAD
000016a6: SWAP1
000016a7: SWAP2
000016a8: SWAP1
000016a9: PUSH32 0x46961fdb4502b646d5095fba7600486a8ac05041d55cdf0f16ed677180b5cad8
000016ca: SWAP1
000016cb: PUSH2 0x16d5
000016ce: SWAP1
000016cf: DUP7
000016d0: SWAP1
000016d1: PUSH2 0x5d1b
000016d4: JUMP
000016d5: JUMPDEST
000016d6: PUSH1 0x40
000016d8: MLOAD
000016d9: DUP1
000016da: SWAP2
000016db: SUB
000016dc: SWAP1
000016dd: LOG3
000016de: POP
000016df: PUSH2 0x0fa0
000016e2: PUSH2 0x1822
000016e5: JUMP
000016e6: JUMPDEST
000016e7: PUSH1 0x00
000016e9: PUSH2 0x16f2
000016ec: DUP4
000016ed: DUP4
000016ee: PUSH2 0x2a4f
000016f1: JUMP
000016f2: JUMPDEST
000016f3: SWAP1
000016f4: POP
000016f5: JUMPDEST
000016f6: SWAP3
000016f7: SWAP2
000016f8: POP
000016f9: POP
000016fa: JUMP
000016fb: JUMPDEST
000016fc: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000171d: PUSH1 0x00
0000171f: SWAP1
00001720: DUP2
00001721: MSTORE
00001722: PUSH1 0x20
00001724: PUSH1 0x04
00001726: MSTORE
00001727: PUSH1 0x07
00001729: PUSH1 0x24
0000172b: MSTORE
0000172c: PUSH7 0x42414c23000030
00001734: PUSH1 0x0a
00001736: DUP1
00001737: DUP5
00001738: DIV
00001739: DUP2
0000173a: DUP2
0000173b: MOD
0000173c: PUSH1 0x30
0000173e: SWAP1
0000173f: DUP2
00001740: ADD
00001741: PUSH1 0x08
00001743: SHL
00001744: SWAP6
00001745: DUP4
00001746: SWAP1
00001747: MOD
00001748: SWAP6
00001749: SWAP1
0000174a: SWAP6
0000174b: ADD
0000174c: SWAP1
0000174d: DUP3
0000174e: SWAP1
0000174f: DIV
00001750: SWAP2
00001751: DUP3
00001752: MOD
00001753: SWAP1
00001754: SWAP5
00001755: ADD
00001756: PUSH1 0x10
00001758: SHL
00001759: SWAP4
0000175a: SWAP1
0000175b: SWAP4
0000175c: ADD
0000175d: ADD
0000175e: PUSH1 0xc8
00001760: SHL
00001761: PUSH1 0x44
00001763: MSTORE
00001764: PUSH1 0x64
00001766: SWAP1
00001767: REVERT
00001768: JUMPDEST
00001769: PUSH2 0x177a
0000176c: PUSH1 0x02
0000176e: PUSH1 0x00
00001770: SLOAD
00001771: EQ
00001772: ISZERO
00001773: PUSH2 0x0190
00001776: PUSH2 0x054b
00001779: JUMP
0000177a: JUMPDEST
0000177b: PUSH1 0x02
0000177d: PUSH1 0x00
0000177f: SSTORE
00001780: JUMP
00001781: JUMPDEST
00001782: PUSH1 0x00
00001784: PUSH2 0x1798
00001787: PUSH1 0x00
00001789: CALLDATALOAD
0000178a: PUSH1 0x01
0000178c: PUSH1 0x01
0000178e: PUSH1 0xe0
00001790: SHL
00001791: SUB
00001792: NOT
00001793: AND
00001794: PUSH2 0x10f9
00001797: JUMP
00001798: JUMPDEST
00001799: SWAP1
0000179a: POP
0000179b: PUSH2 0x057e
0000179e: PUSH2 0x17a7
000017a1: DUP3
000017a2: CALLER
000017a3: PUSH2 0x2a7d
000017a6: JUMP
000017a7: JUMPDEST
000017a8: PUSH2 0x0191
000017ab: PUSH2 0x054b
000017ae: JUMP
000017af: JUMPDEST
000017b0: PUSH1 0x40
000017b2: MLOAD
000017b3: PUSH1 0x01
000017b5: PUSH1 0x01
000017b7: PUSH1 0xa0
000017b9: SHL
000017ba: SUB
000017bb: DUP3
000017bc: AND
000017bd: SWAP1
000017be: PUSH32 0x94b979b6831a51293e2641426f97747feed46f17779fed9cd18d1ecefcfe92ef
000017df: SWAP1
000017e0: PUSH1 0x00
000017e2: SWAP1
000017e3: LOG2
000017e4: PUSH1 0x03
000017e6: DUP1
000017e7: SLOAD
000017e8: PUSH1 0x01
000017ea: PUSH1 0x01
000017ec: PUSH1 0xa0
000017ee: SHL
000017ef: SUB
000017f0: SWAP1
000017f1: SWAP3
000017f2: AND
000017f3: PUSH2 0x0100
000017f6: MUL
000017f7: PUSH32 0xffffffffffffffffffffff0000000000000000000000000000000000000000ff
00001818: SWAP1
00001819: SWAP3
0000181a: AND
0000181b: SWAP2
0000181c: SWAP1
0000181d: SWAP2
0000181e: OR
0000181f: SWAP1
00001820: SSTORE
00001821: JUMP
00001822: JUMPDEST
00001823: PUSH1 0x01
00001825: PUSH1 0x00
00001827: SSTORE
00001828: JUMP
00001829: JUMPDEST
0000182a: PUSH2 0x183c
0000182d: PUSH2 0x1834
00001830: PUSH2 0x1aaa
00001833: JUMP
00001834: JUMPDEST
00001835: PUSH2 0x0192
00001838: PUSH2 0x054b
0000183b: JUMP
0000183c: JUMPDEST
0000183d: JUMP
0000183e: JUMPDEST
0000183f: PUSH1 0x00
00001841: PUSH10 0xffffffffffffffffffff
0000184c: DUP3
0000184d: AND
0000184e: PUSH1 0x50
00001850: DUP5
00001851: PUSH1 0x02
00001853: DUP2
00001854: GT
00001855: ISZERO
00001856: PUSH2 0x185b
00001859: JUMPI
0000185a: INVALID
0000185b: JUMPDEST
0000185c: SWAP1
0000185d: SHL
0000185e: OR
0000185f: PUSH1 0x60
00001861: DUP6
00001862: SWAP1
00001863: SHL
00001864: PUSH12 0xffffffffffffffffffffffff
00001871: NOT
00001872: AND
00001873: OR
00001874: SWAP1
00001875: POP
00001876: JUMPDEST
00001877: SWAP4
00001878: SWAP3
00001879: POP
0000187a: POP
0000187b: POP
0000187c: JUMP
0000187d: JUMPDEST
0000187e: PUSH1 0x00
00001880: DUP1
00001881: PUSH1 0x00
00001883: DUP1
00001884: PUSH1 0x00
00001886: DUP1
00001887: PUSH1 0x00
00001889: DUP9
0000188a: PUSH1 0x60
0000188c: ADD
0000188d: MLOAD
0000188e: SWAP1
0000188f: POP
00001890: CALLER
00001891: PUSH1 0x01
00001893: PUSH1 0x01
00001895: PUSH1 0xa0
00001897: SHL
00001898: SUB
00001899: AND
0000189a: DUP2
0000189b: PUSH1 0x01
0000189d: PUSH1 0x01
0000189f: PUSH1 0xa0
000018a1: SHL
000018a2: SUB
000018a3: AND
000018a4: EQ
000018a5: PUSH2 0x18cf
000018a8: JUMPI
000018a9: DUP8
000018aa: PUSH2 0x18ba
000018ad: JUMPI
000018ae: PUSH2 0x18b5
000018b1: PUSH2 0x1781
000018b4: JUMP
000018b5: JUMPDEST
000018b6: PUSH1 0x01
000018b8: SWAP8
000018b9: POP
000018ba: JUMPDEST
000018bb: PUSH2 0x18cf
000018be: PUSH2 0x18c7
000018c1: DUP3
000018c2: CALLER
000018c3: PUSH2 0x2a4f
000018c6: JUMP
000018c7: JUMPDEST
000018c8: PUSH2 0x01f7
000018cb: PUSH2 0x054b
000018ce: JUMP
000018cf: JUMPDEST
000018d0: DUP9
000018d1: MLOAD
000018d2: PUSH1 0x20
000018d4: DUP11
000018d5: ADD
000018d6: MLOAD
000018d7: PUSH1 0x40
000018d9: DUP12
000018da: ADD
000018db: MLOAD
000018dc: PUSH1 0x80
000018de: SWAP1
000018df: SWAP12
000018e0: ADD
000018e1: MLOAD
000018e2: SWAP2
000018e3: SWAP12
000018e4: SWAP1
000018e5: SWAP11
000018e6: SWAP10
000018e7: SWAP3
000018e8: SWAP9
000018e9: POP
000018ea: SWAP1
000018eb: SWAP7
000018ec: POP
000018ed: SWAP1
000018ee: SWAP5
000018ef: POP
000018f0: SWAP3
000018f1: POP
000018f2: POP
000018f3: POP
000018f4: JUMP
000018f5: JUMPDEST
000018f6: PUSH2 0x190a
000018f9: DUP4
000018fa: PUSH2 0x1902
000018fd: DUP7
000018fe: PUSH2 0x1b41
00001901: JUMP
00001902: JUMPDEST
00001903: DUP4
00001904: PUSH1 0x00
00001906: PUSH2 0x2b20
00001909: JUMP
0000190a: JUMPDEST
0000190b: POP
0000190c: PUSH2 0x0e00
0000190f: DUP5
00001910: DUP3
00001911: DUP5
00001912: PUSH1 0x00
00001914: PUSH2 0x1d38
00001917: JUMP
00001918: JUMPDEST
00001919: PUSH2 0x192b
0000191c: DUP3
0000191d: PUSH2 0x1925
00001920: DUP7
00001921: PUSH2 0x1b41
00001924: JUMP
00001925: JUMPDEST
00001926: DUP4
00001927: PUSH2 0x2b76
0000192a: JUMP
0000192b: JUMPDEST
0000192c: PUSH2 0x0e00
0000192f: DUP5
00001930: DUP3
00001931: DUP6
00001932: PUSH1 0x00
00001934: PUSH2 0x1c5a
00001937: JUMP
00001938: JUMPDEST
00001939: PUSH1 0x01
0000193b: PUSH1 0x01
0000193d: PUSH1 0xa0
0000193f: SHL
00001940: SUB
00001941: AND
00001942: ISZERO
00001943: SWAP1
00001944: JUMP
00001945: JUMPDEST
00001946: PUSH1 0x00
00001948: DUP3
00001949: DUP3
0000194a: ADD
0000194b: PUSH2 0x16f2
0000194e: DUP5
0000194f: DUP3
00001950: LT
00001951: ISZERO
00001952: DUP4
00001953: PUSH2 0x054b
00001956: JUMP
00001957: JUMPDEST
00001958: PUSH2 0x1964
0000195b: DUP4
0000195c: DUP6
0000195d: DUP4
0000195e: PUSH1 0x00
00001960: PUSH2 0x2b20
00001963: JUMP
00001964: JUMPDEST
00001965: POP
00001966: PUSH2 0x0e00
00001969: DUP3
0000196a: DUP6
0000196b: DUP4
0000196c: PUSH2 0x2b76
0000196f: JUMP
00001970: JUMPDEST
00001971: DUP1
00001972: ISZERO
00001973: PUSH2 0x0e00
00001976: JUMPI
00001977: PUSH2 0x198b
0000197a: PUSH1 0x01
0000197c: PUSH1 0x01
0000197e: PUSH1 0xa0
00001980: SHL
00001981: SUB
00001982: DUP6
00001983: AND
00001984: DUP5
00001985: DUP5
00001986: DUP5
00001987: PUSH2 0x2ba6
0000198a: JUMP
0000198b: JUMPDEST
0000198c: DUP3
0000198d: PUSH1 0x01
0000198f: PUSH1 0x01
00001991: PUSH1 0xa0
00001993: SHL
00001994: SUB
00001995: AND
00001996: DUP5
00001997: PUSH1 0x01
00001999: PUSH1 0x01
0000199b: PUSH1 0xa0
0000199d: SHL
0000199e: SUB
0000199f: AND
000019a0: PUSH32 0x540a1a3f28340caec336c81d8d7b3df139ee5cdc1839a4f283d7ebb7eaae2d5c
000019c1: DUP5
000019c2: DUP5
000019c3: PUSH1 0x40
000019c5: MLOAD
000019c6: PUSH2 0x19d0
000019c9: SWAP3
000019ca: SWAP2
000019cb: SWAP1
000019cc: PUSH2 0x5bc1
000019cf: JUMP
000019d0: JUMPDEST
000019d1: PUSH1 0x40
000019d3: MLOAD
000019d4: DUP1
000019d5: SWAP2
000019d6: SUB
000019d7: SWAP1
000019d8: LOG3
000019d9: POP
000019da: POP
000019db: POP
000019dc: POP
000019dd: JUMP
000019de: JUMPDEST
000019df: PUSH2 0x19ed
000019e2: DUP2
000019e3: CALLVALUE
000019e4: LT
000019e5: ISZERO
000019e6: PUSH2 0x0204
000019e9: PUSH2 0x054b
000019ec: JUMP
000019ed: JUMPDEST
000019ee: CALLVALUE
000019ef: DUP2
000019f0: SWAP1
000019f1: SUB
000019f2: DUP1
000019f3: ISZERO
000019f4: PUSH2 0x0559
000019f7: JUMPI
000019f8: PUSH2 0x0559
000019fb: CALLER
000019fc: DUP3
000019fd: PUSH2 0x2bc7
00001a00: JUMP
00001a01: JUMPDEST
00001a02: PUSH1 0x01
00001a04: PUSH1 0x01
00001a06: PUSH1 0xa0
00001a08: SHL
00001a09: SUB
00001a0a: SWAP2
00001a0b: DUP3
00001a0c: AND
00001a0d: PUSH1 0x00
00001a0f: SWAP1
00001a10: DUP2
00001a11: MSTORE
00001a12: PUSH1 0x0b
00001a14: PUSH1 0x20
00001a16: SWAP1
00001a17: DUP2
00001a18: MSTORE
00001a19: PUSH1 0x40
00001a1b: DUP1
00001a1c: DUP4
00001a1d: KECCAK256
00001a1e: SWAP4
00001a1f: SWAP1
00001a20: SWAP5
00001a21: AND
00001a22: DUP3
00001a23: MSTORE
00001a24: SWAP2
00001a25: SWAP1
00001a26: SWAP2
00001a27: MSTORE
00001a28: KECCAK256
00001a29: SLOAD
00001a2a: SWAP1
00001a2b: JUMP
00001a2c: JUMPDEST
00001a2d: DUP1
00001a2e: ISZERO
00001a2f: PUSH2 0x1a4c
00001a32: JUMPI
00001a33: PUSH2 0x1a47
00001a36: PUSH2 0x1a3d
00001a39: PUSH2 0x1ac7
00001a3c: JUMP
00001a3d: JUMPDEST
00001a3e: TIMESTAMP
00001a3f: LT
00001a40: PUSH2 0x0193
00001a43: PUSH2 0x054b
00001a46: JUMP
00001a47: JUMPDEST
00001a48: PUSH2 0x1a61
00001a4b: JUMP
00001a4c: JUMPDEST
00001a4d: PUSH2 0x1a61
00001a50: PUSH2 0x1a57
00001a53: PUSH2 0x1aeb
00001a56: JUMP
00001a57: JUMPDEST
00001a58: TIMESTAMP
00001a59: LT
00001a5a: PUSH2 0x01a9
00001a5d: PUSH2 0x054b
00001a60: JUMP
00001a61: JUMPDEST
00001a62: PUSH1 0x03
00001a64: DUP1
00001a65: SLOAD
00001a66: PUSH1 0xff
00001a68: NOT
00001a69: AND
00001a6a: DUP3
00001a6b: ISZERO
00001a6c: ISZERO
00001a6d: OR
00001a6e: SWAP1
00001a6f: SSTORE
00001a70: PUSH1 0x40
00001a72: MLOAD
00001a73: PUSH32 0x9e3a5e37224532dea67b89face185703738a228a6e8a23dee546960180d3be64
00001a94: SWAP1
00001a95: PUSH2 0x1a9f
00001a98: SWAP1
00001a99: DUP4
00001a9a: SWAP1
00001a9b: PUSH2 0x5d1b
00001a9e: JUMP
00001a9f: JUMPDEST
00001aa0: PUSH1 0x40
00001aa2: MLOAD
00001aa3: DUP1
00001aa4: SWAP2
00001aa5: SUB
00001aa6: SWAP1
00001aa7: LOG1
00001aa8: POP
00001aa9: JUMP
00001aaa: JUMPDEST
00001aab: PUSH1 0x00
00001aad: PUSH2 0x1ab4
00001ab0: PUSH2 0x1aeb
00001ab3: JUMP
00001ab4: JUMPDEST
00001ab5: TIMESTAMP
00001ab6: GT
00001ab7: DUP1
00001ab8: PUSH2 0x12ce
00001abb: JUMPI
00001abc: POP
00001abd: POP
00001abe: PUSH1 0x03
00001ac0: SLOAD
00001ac1: PUSH1 0xff
00001ac3: AND
00001ac4: ISZERO
00001ac5: SWAP1
00001ac6: JUMP
00001ac7: JUMPDEST
00001ac8: PUSH32 0x0000000000000000000000000000000000000000000000000000000060f474bf
00001ae9: SWAP1
00001aea: JUMP
00001aeb: JUMPDEST
00001aec: PUSH32 0x00000000000000000000000000000000000000000000000000000000611c01bf
00001b0d: SWAP1
00001b0e: JUMP
00001b0f: JUMPDEST
00001b10: CALLER
00001b11: PUSH1 0x01
00001b13: PUSH1 0x01
00001b15: PUSH1 0xa0
00001b17: SHL
00001b18: SUB
00001b19: DUP3
00001b1a: AND
00001b1b: EQ
00001b1c: PUSH2 0x057e
00001b1f: JUMPI
00001b20: PUSH2 0x1b27
00001b23: PUSH2 0x1781
00001b26: JUMP
00001b27: JUMPDEST
00001b28: PUSH2 0x1b31
00001b2b: DUP2
00001b2c: CALLER
00001b2d: PUSH2 0x2a4f
00001b30: JUMP
00001b31: JUMPDEST
00001b32: PUSH2 0x057e
00001b35: JUMPI
00001b36: PUSH2 0x057e
00001b39: DUP2
00001b3a: PUSH2 0x01f7
00001b3d: PUSH2 0x2c41
00001b40: JUMP
00001b41: JUMPDEST
00001b42: PUSH1 0x00
00001b44: PUSH2 0x1b4c
00001b47: DUP3
00001b48: PUSH2 0x1938
00001b4b: JUMP
00001b4c: JUMPDEST
00001b4d: PUSH2 0x1b5e
00001b50: JUMPI
00001b51: PUSH2 0x1b59
00001b54: DUP3
00001b55: PUSH2 0x0548
00001b58: JUMP
00001b59: JUMPDEST
00001b5a: PUSH2 0x16f5
00001b5d: JUMP
00001b5e: JUMPDEST
00001b5f: PUSH2 0x16f5
00001b62: PUSH2 0x0526
00001b65: JUMP
00001b66: JUMPDEST
00001b67: PUSH1 0x00
00001b69: DUP1
00001b6a: PUSH1 0x00
00001b6c: DUP1
00001b6d: PUSH2 0x1b79
00001b70: DUP6
00001b71: PUSH1 0x80
00001b73: ADD
00001b74: MLOAD
00001b75: PUSH2 0x2938
00001b78: JUMP
00001b79: JUMPDEST
00001b7a: SWAP1
00001b7b: POP
00001b7c: PUSH1 0x00
00001b7e: PUSH2 0x1b8a
00001b81: DUP7
00001b82: PUSH1 0x80
00001b84: ADD
00001b85: MLOAD
00001b86: PUSH2 0x1f64
00001b89: JUMP
00001b8a: JUMPDEST
00001b8b: SWAP1
00001b8c: POP
00001b8d: PUSH1 0x02
00001b8f: DUP2
00001b90: PUSH1 0x02
00001b92: DUP2
00001b93: GT
00001b94: ISZERO
00001b95: PUSH2 0x1b9a
00001b98: JUMPI
00001b99: INVALID
00001b9a: JUMPDEST
00001b9b: EQ
00001b9c: ISZERO
00001b9d: PUSH2 0x1bb1
00001ba0: JUMPI
00001ba1: PUSH2 0x1baa
00001ba4: DUP7
00001ba5: DUP4
00001ba6: PUSH2 0x2c75
00001ba9: JUMP
00001baa: JUMPDEST
00001bab: SWAP5
00001bac: POP
00001bad: PUSH2 0x1bdc
00001bb0: JUMP
00001bb1: JUMPDEST
00001bb2: PUSH1 0x01
00001bb4: DUP2
00001bb5: PUSH1 0x02
00001bb7: DUP2
00001bb8: GT
00001bb9: ISZERO
00001bba: PUSH2 0x1bbf
00001bbd: JUMPI
00001bbe: INVALID
00001bbf: JUMPDEST
00001bc0: EQ
00001bc1: ISZERO
00001bc2: PUSH2 0x1bcf
00001bc5: JUMPI
00001bc6: PUSH2 0x1baa
00001bc9: DUP7
00001bca: DUP4
00001bcb: PUSH2 0x2d25
00001bce: JUMP
00001bcf: JUMPDEST
00001bd0: PUSH2 0x1bd9
00001bd3: DUP7
00001bd4: DUP4
00001bd5: PUSH2 0x2db8
00001bd8: JUMP
00001bd9: JUMPDEST
00001bda: SWAP5
00001bdb: POP
00001bdc: JUMPDEST
00001bdd: PUSH2 0x1bef
00001be0: DUP7
00001be1: PUSH1 0x00
00001be3: ADD
00001be4: MLOAD
00001be5: DUP8
00001be6: PUSH1 0x60
00001be8: ADD
00001be9: MLOAD
00001bea: DUP8
00001beb: PUSH2 0x2ff7
00001bee: JUMP
00001bef: JUMPDEST
00001bf0: DUP1
00001bf1: SWAP5
00001bf2: POP
00001bf3: DUP2
00001bf4: SWAP6
00001bf5: POP
00001bf6: POP
00001bf7: POP
00001bf8: DUP6
00001bf9: PUSH1 0x40
00001bfb: ADD
00001bfc: MLOAD
00001bfd: PUSH1 0x01
00001bff: PUSH1 0x01
00001c01: PUSH1 0xa0
00001c03: SHL
00001c04: SUB
00001c05: AND
00001c06: DUP7
00001c07: PUSH1 0x20
00001c09: ADD
00001c0a: MLOAD
00001c0b: PUSH1 0x01
00001c0d: PUSH1 0x01
00001c0f: PUSH1 0xa0
00001c11: SHL
00001c12: SUB
00001c13: AND
00001c14: DUP8
00001c15: PUSH1 0x80
00001c17: ADD
00001c18: MLOAD
00001c19: PUSH32 0x2170c741c41531aec20e7c107c24eecfdd15e69c9bb0a8dd37b1840b9e0b207b
00001c3a: DUP8
00001c3b: DUP8
00001c3c: PUSH1 0x40
00001c3e: MLOAD
00001c3f: PUSH2 0x1c49
00001c42: SWAP3
00001c43: SWAP2
00001c44: SWAP1
00001c45: PUSH2 0x5e4d
00001c48: JUMP
00001c49: JUMPDEST
00001c4a: PUSH1 0x40
00001c4c: MLOAD
00001c4d: DUP1
00001c4e: SWAP2
00001c4f: SUB
00001c50: SWAP1
00001c51: LOG4
00001c52: POP
00001c53: POP
00001c54: SWAP2
00001c55: SWAP4
00001c56: SWAP1
00001c57: SWAP3
00001c58: POP
00001c59: JUMP
00001c5a: JUMPDEST
00001c5b: DUP3
00001c5c: PUSH2 0x1c64
00001c5f: JUMPI
00001c60: PUSH2 0x0e00
00001c63: JUMP
00001c64: JUMPDEST
00001c65: PUSH2 0x1c6d
00001c68: DUP5
00001c69: PUSH2 0x1938
00001c6c: JUMP
00001c6d: JUMPDEST
00001c6e: ISZERO
00001c6f: PUSH2 0x1cee
00001c72: JUMPI
00001c73: PUSH2 0x1c7f
00001c76: DUP2
00001c77: ISZERO
00001c78: PUSH2 0x0202
00001c7b: PUSH2 0x054b
00001c7e: JUMP
00001c7f: JUMPDEST
00001c80: PUSH2 0x1c8e
00001c83: DUP4
00001c84: SELFBALANCE
00001c85: LT
00001c86: ISZERO
00001c87: PUSH2 0x0204
00001c8a: PUSH2 0x054b
00001c8d: JUMP
00001c8e: JUMPDEST
00001c8f: PUSH2 0x1c96
00001c92: PUSH2 0x0526
00001c95: JUMP
00001c96: JUMPDEST
00001c97: PUSH1 0x01
00001c99: PUSH1 0x01
00001c9b: PUSH1 0xa0
00001c9d: SHL
00001c9e: SUB
00001c9f: AND
00001ca0: PUSH4 0xd0e30db0
00001ca5: DUP5
00001ca6: PUSH1 0x40
00001ca8: MLOAD
00001ca9: DUP3
00001caa: PUSH4 0xffffffff
00001caf: AND
00001cb0: PUSH1 0xe0
00001cb2: SHL
00001cb3: DUP2
00001cb4: MSTORE
00001cb5: PUSH1 0x04
00001cb7: ADD
00001cb8: PUSH1 0x00
00001cba: PUSH1 0x40
00001cbc: MLOAD
00001cbd: DUP1
00001cbe: DUP4
00001cbf: SUB
00001cc0: DUP2
00001cc1: DUP6
00001cc2: DUP9
00001cc3: DUP1
00001cc4: EXTCODESIZE
00001cc5: ISZERO
00001cc6: DUP1
00001cc7: ISZERO
00001cc8: PUSH2 0x1cd0
00001ccb: JUMPI
00001ccc: PUSH1 0x00
00001cce: DUP1
00001ccf: REVERT
00001cd0: JUMPDEST
00001cd1: POP
00001cd2: GAS
00001cd3: CALL
00001cd4: ISZERO
00001cd5: DUP1
00001cd6: ISZERO
00001cd7: PUSH2 0x1ce4
00001cda: JUMPI
00001cdb: RETURNDATASIZE
00001cdc: PUSH1 0x00
00001cde: DUP1
00001cdf: RETURNDATACOPY
00001ce0: RETURNDATASIZE
00001ce1: PUSH1 0x00
00001ce3: REVERT
00001ce4: JUMPDEST
00001ce5: POP
00001ce6: POP
00001ce7: POP
00001ce8: POP
00001ce9: POP
00001cea: PUSH2 0x0e00
00001ced: JUMP
00001cee: JUMPDEST
00001cef: PUSH1 0x00
00001cf1: PUSH2 0x1cf9
00001cf4: DUP6
00001cf5: PUSH2 0x0548
00001cf8: JUMP
00001cf9: JUMPDEST
00001cfa: SWAP1
00001cfb: POP
00001cfc: DUP2
00001cfd: ISZERO
00001cfe: PUSH2 0x1d16
00001d01: JUMPI
00001d02: PUSH1 0x00
00001d04: PUSH2 0x1d10
00001d07: DUP5
00001d08: DUP4
00001d09: DUP8
00001d0a: PUSH1 0x01
00001d0c: PUSH2 0x2b20
00001d0f: JUMP
00001d10: JUMPDEST
00001d11: SWAP1
00001d12: SWAP5
00001d13: SUB
00001d14: SWAP4
00001d15: POP
00001d16: JUMPDEST
00001d17: DUP4
00001d18: ISZERO
00001d19: PUSH2 0x1d31
00001d1c: JUMPI
00001d1d: PUSH2 0x1d31
00001d20: PUSH1 0x01
00001d22: PUSH1 0x01
00001d24: PUSH1 0xa0
00001d26: SHL
00001d27: SUB
00001d28: DUP3
00001d29: AND
00001d2a: DUP5
00001d2b: ADDRESS
00001d2c: DUP8
00001d2d: PUSH2 0x2ba6
00001d30: JUMP
00001d31: JUMPDEST
00001d32: POP
00001d33: POP
00001d34: POP
00001d35: POP
00001d36: POP
00001d37: JUMP
00001d38: JUMPDEST
00001d39: DUP3
00001d3a: PUSH2 0x1d42
00001d3d: JUMPI
00001d3e: PUSH2 0x0e00
00001d41: JUMP
00001d42: JUMPDEST
00001d43: PUSH2 0x1d4b
00001d46: DUP5
00001d47: PUSH2 0x1938
00001d4a: JUMP
00001d4b: JUMPDEST
00001d4c: ISZERO
00001d4d: PUSH2 0x1ddb
00001d50: JUMPI
00001d51: PUSH2 0x1d5d
00001d54: DUP2
00001d55: ISZERO
00001d56: PUSH2 0x0202
00001d59: PUSH2 0x054b
00001d5c: JUMP
00001d5d: JUMPDEST
00001d5e: PUSH2 0x1d65
00001d61: PUSH2 0x0526
00001d64: JUMP
00001d65: JUMPDEST
00001d66: PUSH1 0x01
00001d68: PUSH1 0x01
00001d6a: PUSH1 0xa0
00001d6c: SHL
00001d6d: SUB
00001d6e: AND
00001d6f: PUSH4 0x2e1a7d4d
00001d74: DUP5
00001d75: PUSH1 0x40
00001d77: MLOAD
00001d78: DUP3
00001d79: PUSH4 0xffffffff
00001d7e: AND
00001d7f: PUSH1 0xe0
00001d81: SHL
00001d82: DUP2
00001d83: MSTORE
00001d84: PUSH1 0x04
00001d86: ADD
00001d87: PUSH2 0x1d90
00001d8a: SWAP2
00001d8b: SWAP1
00001d8c: PUSH2 0x5d3e
00001d8f: JUMP
00001d90: JUMPDEST
00001d91: PUSH1 0x00
00001d93: PUSH1 0x40
00001d95: MLOAD
00001d96: DUP1
00001d97: DUP4
00001d98: SUB
00001d99: DUP2
00001d9a: PUSH1 0x00
00001d9c: DUP8
00001d9d: DUP1
00001d9e: EXTCODESIZE
00001d9f: ISZERO
00001da0: DUP1
00001da1: ISZERO
00001da2: PUSH2 0x1daa
00001da5: JUMPI
00001da6: PUSH1 0x00
00001da8: DUP1
00001da9: REVERT
00001daa: JUMPDEST
00001dab: POP
00001dac: GAS
00001dad: CALL
00001dae: ISZERO
00001daf: DUP1
00001db0: ISZERO
00001db1: PUSH2 0x1dbe
00001db4: JUMPI
00001db5: RETURNDATASIZE
00001db6: PUSH1 0x00
00001db8: DUP1
00001db9: RETURNDATACOPY
00001dba: RETURNDATASIZE
00001dbb: PUSH1 0x00
00001dbd: REVERT
00001dbe: JUMPDEST
00001dbf: POP
00001dc0: PUSH2 0x1dd6
00001dc3: SWAP3
00001dc4: POP
00001dc5: POP
00001dc6: POP
00001dc7: PUSH1 0x01
00001dc9: PUSH1 0x01
00001dcb: PUSH1 0xa0
00001dcd: SHL
00001dce: SUB
00001dcf: DUP4
00001dd0: AND
00001dd1: DUP5
00001dd2: PUSH2 0x2bc7
00001dd5: JUMP
00001dd6: JUMPDEST
00001dd7: PUSH2 0x0e00
00001dda: JUMP
00001ddb: JUMPDEST
00001ddc: PUSH1 0x00
00001dde: PUSH2 0x1de6
00001de1: DUP6
00001de2: PUSH2 0x0548
00001de5: JUMP
00001de6: JUMPDEST
00001de7: SWAP1
00001de8: POP
00001de9: DUP2
00001dea: ISZERO
00001deb: PUSH2 0x1dfe
00001dee: JUMPI
00001def: PUSH2 0x1df9
00001df2: DUP4
00001df3: DUP3
00001df4: DUP7
00001df5: PUSH2 0x2b76
00001df8: JUMP
00001df9: JUMPDEST
00001dfa: PUSH2 0x1d31
00001dfd: JUMP
00001dfe: JUMPDEST
00001dff: PUSH2 0x1d31
00001e02: PUSH1 0x01
00001e04: PUSH1 0x01
00001e06: PUSH1 0xa0
00001e08: SHL
00001e09: SUB
00001e0a: DUP3
00001e0b: AND
00001e0c: DUP5
00001e0d: DUP7
00001e0e: PUSH2 0x1ea6
00001e11: JUMP
00001e12: JUMPDEST
00001e13: PUSH2 0x0559
00001e16: DUP2
00001e17: DUP4
00001e18: EQ
00001e19: PUSH1 0x67
00001e1b: PUSH2 0x054b
00001e1e: JUMP
00001e1f: JUMPDEST
00001e20: PUSH1 0x00
00001e22: DUP1
00001e23: PUSH2 0x1e2a
00001e26: PUSH2 0x13af
00001e29: JUMP
00001e2a: JUMPDEST
00001e2b: PUSH1 0x01
00001e2d: PUSH1 0x01
00001e2f: PUSH1 0xa0
00001e31: SHL
00001e32: SUB
00001e33: AND
00001e34: PUSH4 0xd877845c
00001e39: PUSH1 0x40
00001e3b: MLOAD
00001e3c: DUP2
00001e3d: PUSH4 0xffffffff
00001e42: AND
00001e43: PUSH1 0xe0
00001e45: SHL
00001e46: DUP2
00001e47: MSTORE
00001e48: PUSH1 0x04
00001e4a: ADD
00001e4b: PUSH1 0x20
00001e4d: PUSH1 0x40
00001e4f: MLOAD
00001e50: DUP1
00001e51: DUP4
00001e52: SUB
00001e53: DUP2
00001e54: DUP7
00001e55: DUP1
00001e56: EXTCODESIZE
00001e57: ISZERO
00001e58: DUP1
00001e59: ISZERO
00001e5a: PUSH2 0x1e62
00001e5d: JUMPI
00001e5e: PUSH1 0x00
00001e60: DUP1
00001e61: REVERT
00001e62: JUMPDEST
00001e63: POP
00001e64: GAS
00001e65: STATICCALL
00001e66: ISZERO
00001e67: DUP1
00001e68: ISZERO
00001e69: PUSH2 0x1e76
00001e6c: JUMPI
00001e6d: RETURNDATASIZE
00001e6e: PUSH1 0x00
00001e70: DUP1
00001e71: RETURNDATACOPY
00001e72: RETURNDATASIZE
00001e73: PUSH1 0x00
00001e75: REVERT
00001e76: JUMPDEST
00001e77: POP
00001e78: POP
00001e79: POP
00001e7a: POP
00001e7b: PUSH1 0x40
00001e7d: MLOAD
00001e7e: RETURNDATASIZE
00001e7f: PUSH1 0x1f
00001e81: NOT
00001e82: PUSH1 0x1f
00001e84: DUP3
00001e85: ADD
00001e86: AND
00001e87: DUP3
00001e88: ADD
00001e89: DUP1
00001e8a: PUSH1 0x40
00001e8c: MSTORE
00001e8d: POP
00001e8e: DUP2
00001e8f: ADD
00001e90: SWAP1
00001e91: PUSH2 0x1e9a
00001e94: SWAP2
00001e95: SWAP1
00001e96: PUSH2 0x5968
00001e99: JUMP
00001e9a: JUMPDEST
00001e9b: SWAP1
00001e9c: POP
00001e9d: PUSH2 0x1876
00001ea0: DUP4
00001ea1: DUP3
00001ea2: PUSH2 0x3025
00001ea5: JUMP
00001ea6: JUMPDEST
00001ea7: PUSH2 0x0fa0
00001eaa: DUP4
00001eab: PUSH4 0xa9059cbb
00001eb0: PUSH1 0xe0
00001eb2: SHL
00001eb3: DUP5
00001eb4: DUP5
00001eb5: PUSH1 0x40
00001eb7: MLOAD
00001eb8: PUSH1 0x24
00001eba: ADD
00001ebb: PUSH2 0x1ec5
00001ebe: SWAP3
00001ebf: SWAP2
00001ec0: SWAP1
00001ec1: PUSH2 0x5bc1
00001ec4: JUMP
00001ec5: JUMPDEST
00001ec6: PUSH1 0x40
00001ec8: DUP1
00001ec9: MLOAD
00001eca: PUSH1 0x1f
00001ecc: NOT
00001ecd: DUP2
00001ece: DUP5
00001ecf: SUB
00001ed0: ADD
00001ed1: DUP2
00001ed2: MSTORE
00001ed3: SWAP2
00001ed4: SWAP1
00001ed5: MSTORE
00001ed6: PUSH1 0x20
00001ed8: DUP2
00001ed9: ADD
00001eda: DUP1
00001edb: MLOAD
00001edc: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001ef9: AND
00001efa: PUSH1 0x01
00001efc: PUSH1 0x01
00001efe: PUSH1 0xe0
00001f00: SHL
00001f01: SUB
00001f02: NOT
00001f03: SWAP1
00001f04: SWAP4
00001f05: AND
00001f06: SWAP3
00001f07: SWAP1
00001f08: SWAP3
00001f09: OR
00001f0a: SWAP1
00001f0b: SWAP2
00001f0c: MSTORE
00001f0d: PUSH2 0x3072
00001f10: JUMP
00001f11: JUMPDEST
00001f12: DUP1
00001f13: ISZERO
00001f14: PUSH2 0x0559
00001f17: JUMPI
00001f18: PUSH2 0x0559
00001f1b: PUSH2 0x1f22
00001f1e: PUSH2 0x13af
00001f21: JUMP
00001f22: JUMPDEST
00001f23: PUSH1 0x01
00001f25: PUSH1 0x01
00001f27: PUSH1 0xa0
00001f29: SHL
00001f2a: SUB
00001f2b: DUP5
00001f2c: AND
00001f2d: SWAP1
00001f2e: DUP4
00001f2f: PUSH2 0x1ea6
00001f32: JUMP
00001f33: JUMPDEST
00001f34: PUSH2 0x1f3c
00001f37: DUP2
00001f38: PUSH2 0x2683
00001f3b: JUMP
00001f3c: JUMPDEST
00001f3d: PUSH2 0x057e
00001f40: PUSH2 0x1f48
00001f43: DUP3
00001f44: PUSH2 0x2938
00001f47: JUMP
00001f48: JUMPDEST
00001f49: PUSH1 0x01
00001f4b: PUSH1 0x01
00001f4d: PUSH1 0xa0
00001f4f: SHL
00001f50: SUB
00001f51: AND
00001f52: CALLER
00001f53: PUSH1 0x01
00001f55: PUSH1 0x01
00001f57: PUSH1 0xa0
00001f59: SHL
00001f5a: SUB
00001f5b: AND
00001f5c: EQ
00001f5d: PUSH2 0x01f5
00001f60: PUSH2 0x054b
00001f63: JUMP
00001f64: JUMPDEST
00001f65: PUSH1 0x00
00001f67: PUSH2 0xffff
00001f6a: PUSH1 0x50
00001f6c: DUP4
00001f6d: SWAP1
00001f6e: SHR
00001f6f: AND
00001f70: PUSH2 0x16f5
00001f73: PUSH1 0x03
00001f75: DUP3
00001f76: LT
00001f77: PUSH2 0x01f4
00001f7a: PUSH2 0x054b
00001f7d: JUMP
00001f7e: JUMPDEST
00001f7f: PUSH2 0x1f9f
00001f82: DUP2
00001f83: PUSH1 0x01
00001f85: PUSH1 0x01
00001f87: PUSH1 0xa0
00001f89: SHL
00001f8a: SUB
00001f8b: AND
00001f8c: DUP4
00001f8d: PUSH1 0x01
00001f8f: PUSH1 0x01
00001f91: PUSH1 0xa0
00001f93: SHL
00001f94: SUB
00001f95: AND
00001f96: EQ
00001f97: ISZERO
00001f98: PUSH2 0x020a
00001f9b: PUSH2 0x054b
00001f9e: JUMP
00001f9f: JUMPDEST
00001fa0: PUSH2 0x1fbe
00001fa3: DUP2
00001fa4: PUSH1 0x01
00001fa6: PUSH1 0x01
00001fa8: PUSH1 0xa0
00001faa: SHL
00001fab: SUB
00001fac: AND
00001fad: DUP4
00001fae: PUSH1 0x01
00001fb0: PUSH1 0x01
00001fb2: PUSH1 0xa0
00001fb4: SHL
00001fb5: SUB
00001fb6: AND
00001fb7: LT
00001fb8: PUSH1 0x66
00001fba: PUSH2 0x054b
00001fbd: JUMP
00001fbe: JUMPDEST
00001fbf: PUSH1 0x00
00001fc1: DUP4
00001fc2: DUP2
00001fc3: MSTORE
00001fc4: PUSH1 0x09
00001fc6: PUSH1 0x20
00001fc8: MSTORE
00001fc9: PUSH1 0x40
00001fcb: SWAP1
00001fcc: KECCAK256
00001fcd: DUP1
00001fce: SLOAD
00001fcf: PUSH2 0x1ffb
00001fd2: SWAP1
00001fd3: PUSH1 0x01
00001fd5: PUSH1 0x01
00001fd7: PUSH1 0xa0
00001fd9: SHL
00001fda: SUB
00001fdb: AND
00001fdc: ISZERO
00001fdd: DUP1
00001fde: ISZERO
00001fdf: PUSH2 0x1ff3
00001fe2: JUMPI
00001fe3: POP
00001fe4: PUSH1 0x01
00001fe6: DUP3
00001fe7: ADD
00001fe8: SLOAD
00001fe9: PUSH1 0x01
00001feb: PUSH1 0x01
00001fed: PUSH1 0xa0
00001fef: SHL
00001ff0: SUB
00001ff1: AND
00001ff2: ISZERO
00001ff3: JUMPDEST
00001ff4: PUSH2 0x020b
00001ff7: PUSH2 0x054b
00001ffa: JUMP
00001ffb: JUMPDEST
00001ffc: DUP1
00001ffd: SLOAD
00001ffe: PUSH1 0x01
00002000: PUSH1 0x01
00002002: PUSH1 0xa0
00002004: SHL
00002005: SUB
00002006: SWAP4
00002007: DUP5
00002008: AND
00002009: PUSH1 0x01
0000200b: PUSH1 0x01
0000200d: PUSH1 0xa0
0000200f: SHL
00002010: SUB
00002011: NOT
00002012: SWAP2
00002013: DUP3
00002014: AND
00002015: OR
00002016: DUP3
00002017: SSTORE
00002018: PUSH1 0x01
0000201a: SWAP1
0000201b: SWAP2
0000201c: ADD
0000201d: DUP1
0000201e: SLOAD
0000201f: SWAP3
00002020: SWAP1
00002021: SWAP4
00002022: AND
00002023: SWAP2
00002024: AND
00002025: OR
00002026: SWAP1
00002027: SSTORE
00002028: POP
00002029: JUMP
0000202a: JUMPDEST
0000202b: PUSH1 0x00
0000202d: DUP3
0000202e: DUP2
0000202f: MSTORE
00002030: PUSH1 0x08
00002032: PUSH1 0x20
00002034: MSTORE
00002035: PUSH1 0x40
00002037: DUP2
00002038: KECCAK256
00002039: SWAP1
0000203a: JUMPDEST
0000203b: DUP3
0000203c: MLOAD
0000203d: DUP2
0000203e: LT
0000203f: ISZERO
00002040: PUSH2 0x0e00
00002043: JUMPI
00002044: PUSH1 0x00
00002046: PUSH2 0x206b
00002049: DUP5
0000204a: DUP4
0000204b: DUP2
0000204c: MLOAD
0000204d: DUP2
0000204e: LT
0000204f: PUSH2 0x2054
00002052: JUMPI
00002053: INVALID
00002054: JUMPDEST
00002055: PUSH1 0x20
00002057: MUL
00002058: PUSH1 0x20
0000205a: ADD
0000205b: ADD
0000205c: MLOAD
0000205d: DUP5
0000205e: PUSH2 0x3112
00002061: SWAP1
00002062: SWAP2
00002063: SWAP1
00002064: PUSH4 0xffffffff
00002069: AND
0000206a: JUMP
0000206b: JUMPDEST
0000206c: SWAP1
0000206d: POP
0000206e: PUSH2 0x2079
00002071: DUP2
00002072: PUSH2 0x020a
00002075: PUSH2 0x054b
00002078: JUMP
00002079: JUMPDEST
0000207a: POP
0000207b: PUSH1 0x01
0000207d: ADD
0000207e: PUSH2 0x203a
00002081: JUMP
00002082: JUMPDEST
00002083: PUSH1 0x00
00002085: DUP3
00002086: DUP2
00002087: MSTORE
00002088: PUSH1 0x01
0000208a: PUSH1 0x20
0000208c: MSTORE
0000208d: PUSH1 0x40
0000208f: DUP2
00002090: KECCAK256
00002091: SWAP1
00002092: JUMPDEST
00002093: DUP3
00002094: MLOAD
00002095: DUP2
00002096: LT
00002097: ISZERO
00002098: PUSH2 0x0e00
0000209b: JUMPI
0000209c: PUSH1 0x00
0000209e: PUSH2 0x20c0
000020a1: DUP5
000020a2: DUP4
000020a3: DUP2
000020a4: MLOAD
000020a5: DUP2
000020a6: LT
000020a7: PUSH2 0x20ac
000020aa: JUMPI
000020ab: INVALID
000020ac: JUMPDEST
000020ad: PUSH1 0x20
000020af: SWAP1
000020b0: DUP2
000020b1: MUL
000020b2: SWAP2
000020b3: SWAP1
000020b4: SWAP2
000020b5: ADD
000020b6: ADD
000020b7: MLOAD
000020b8: DUP5
000020b9: SWAP1
000020ba: PUSH1 0x00
000020bc: PUSH2 0x3175
000020bf: JUMP
000020c0: JUMPDEST
000020c1: SWAP1
000020c2: POP
000020c3: PUSH2 0x20ce
000020c6: DUP2
000020c7: PUSH2 0x020a
000020ca: PUSH2 0x054b
000020cd: JUMP
000020ce: JUMPDEST
000020cf: POP
000020d0: PUSH1 0x01
000020d2: ADD
000020d3: PUSH2 0x2092
000020d6: JUMP
000020d7: JUMPDEST
000020d8: PUSH1 0x00
000020da: DUP1
000020db: PUSH1 0x00
000020dd: PUSH2 0x20e7
000020e0: DUP7
000020e1: DUP7
000020e2: DUP7
000020e3: PUSH2 0x3222
000020e6: JUMP
000020e7: JUMPDEST
000020e8: SWAP3
000020e9: POP
000020ea: SWAP3
000020eb: POP
000020ec: SWAP3
000020ed: POP
000020ee: PUSH2 0x2111
000020f1: PUSH2 0x20f9
000020f4: DUP5
000020f5: PUSH2 0x32e9
000020f8: JUMP
000020f9: JUMPDEST
000020fa: DUP1
000020fb: ISZERO
000020fc: PUSH2 0x2109
000020ff: JUMPI
00002100: POP
00002101: PUSH2 0x2109
00002104: DUP4
00002105: PUSH2 0x32e9
00002108: JUMP
00002109: JUMPDEST
0000210a: PUSH2 0x020d
0000210d: PUSH2 0x054b
00002110: JUMP
00002111: JUMPDEST
00002112: PUSH1 0x00
00002114: SWAP6
00002115: DUP7
00002116: MSTORE
00002117: PUSH1 0x09
00002119: PUSH1 0x20
0000211b: MSTORE
0000211c: PUSH1 0x40
0000211e: DUP7
0000211f: KECCAK256
00002120: DUP1
00002121: SLOAD
00002122: PUSH1 0x01
00002124: PUSH1 0x01
00002126: PUSH1 0xa0
00002128: SHL
00002129: SUB
0000212a: NOT
0000212b: SWAP1
0000212c: DUP2
0000212d: AND
0000212e: DUP3
0000212f: SSTORE
00002130: PUSH1 0x01
00002132: SWAP1
00002133: SWAP2
00002134: ADD
00002135: DUP1
00002136: SLOAD
00002137: SWAP1
00002138: SWAP2
00002139: AND
0000213a: SWAP1
0000213b: SSTORE
0000213c: SWAP5
0000213d: SWAP1
0000213e: SWAP5
0000213f: SSTORE
00002140: POP
00002141: POP
00002142: POP
00002143: POP
00002144: JUMP
00002145: JUMPDEST
00002146: PUSH1 0x00
00002148: DUP3
00002149: DUP2
0000214a: MSTORE
0000214b: PUSH1 0x08
0000214d: PUSH1 0x20
0000214f: MSTORE
00002150: PUSH1 0x40
00002152: DUP2
00002153: KECCAK256
00002154: SWAP1
00002155: JUMPDEST
00002156: DUP3
00002157: MLOAD
00002158: DUP2
00002159: LT
0000215a: ISZERO
0000215b: PUSH2 0x0e00
0000215e: JUMPI
0000215f: PUSH1 0x00
00002161: DUP4
00002162: DUP3
00002163: DUP2
00002164: MLOAD
00002165: DUP2
00002166: LT
00002167: PUSH2 0x216c
0000216a: JUMPI
0000216b: INVALID
0000216c: JUMPDEST
0000216d: PUSH1 0x20
0000216f: MUL
00002170: PUSH1 0x20
00002172: ADD
00002173: ADD
00002174: MLOAD
00002175: SWAP1
00002176: POP
00002177: PUSH2 0x21b8
0000217a: PUSH2 0x2109
0000217d: PUSH1 0x07
0000217f: PUSH1 0x00
00002181: DUP9
00002182: DUP2
00002183: MSTORE
00002184: PUSH1 0x20
00002186: ADD
00002187: SWAP1
00002188: DUP2
00002189: MSTORE
0000218a: PUSH1 0x20
0000218c: ADD
0000218d: PUSH1 0x00
0000218f: KECCAK256
00002190: PUSH1 0x00
00002192: DUP5
00002193: PUSH1 0x01
00002195: PUSH1 0x01
00002197: PUSH1 0xa0
00002199: SHL
0000219a: SUB
0000219b: AND
0000219c: PUSH1 0x01
0000219e: PUSH1 0x01
000021a0: PUSH1 0xa0
000021a2: SHL
000021a3: SUB
000021a4: AND
000021a5: DUP2
000021a6: MSTORE
000021a7: PUSH1 0x20
000021a9: ADD
000021aa: SWAP1
000021ab: DUP2
000021ac: MSTORE
000021ad: PUSH1 0x20
000021af: ADD
000021b0: PUSH1 0x00
000021b2: KECCAK256
000021b3: SLOAD
000021b4: PUSH2 0x32e9
000021b7: JUMP
000021b8: JUMPDEST
000021b9: PUSH1 0x00
000021bb: DUP6
000021bc: DUP2
000021bd: MSTORE
000021be: PUSH1 0x07
000021c0: PUSH1 0x20
000021c2: SWAP1
000021c3: DUP2
000021c4: MSTORE
000021c5: PUSH1 0x40
000021c7: DUP1
000021c8: DUP4
000021c9: KECCAK256
000021ca: PUSH1 0x01
000021cc: PUSH1 0x01
000021ce: PUSH1 0xa0
000021d0: SHL
000021d1: SUB
000021d2: DUP6
000021d3: AND
000021d4: DUP5
000021d5: MSTORE
000021d6: SWAP1
000021d7: SWAP2
000021d8: MSTORE
000021d9: DUP2
000021da: KECCAK256
000021db: DUP2
000021dc: SWAP1
000021dd: SSTORE
000021de: PUSH2 0x21e7
000021e1: DUP5
000021e2: DUP4
000021e3: PUSH2 0x330b
000021e6: JUMP
000021e7: JUMPDEST
000021e8: SWAP1
000021e9: POP
000021ea: PUSH2 0x21f5
000021ed: DUP2
000021ee: PUSH2 0x0209
000021f1: PUSH2 0x054b
000021f4: JUMP
000021f5: JUMPDEST
000021f6: POP
000021f7: POP
000021f8: PUSH1 0x01
000021fa: ADD
000021fb: PUSH2 0x2155
000021fe: JUMP
000021ff: JUMPDEST
00002200: PUSH1 0x00
00002202: DUP3
00002203: DUP2
00002204: MSTORE
00002205: PUSH1 0x01
00002207: PUSH1 0x20
00002209: MSTORE
0000220a: PUSH1 0x40
0000220c: DUP2
0000220d: KECCAK256
0000220e: SWAP1
0000220f: JUMPDEST
00002210: DUP3
00002211: MLOAD
00002212: DUP2
00002213: LT
00002214: ISZERO
00002215: PUSH2 0x0e00
00002218: JUMPI
00002219: PUSH1 0x00
0000221b: DUP4
0000221c: DUP3
0000221d: DUP2
0000221e: MLOAD
0000221f: DUP2
00002220: LT
00002221: PUSH2 0x2226
00002224: JUMPI
00002225: INVALID
00002226: JUMPDEST
00002227: PUSH1 0x20
00002229: MUL
0000222a: PUSH1 0x20
0000222c: ADD
0000222d: ADD
0000222e: MLOAD
0000222f: SWAP1
00002230: POP
00002231: PUSH1 0x00
00002233: PUSH2 0x223c
00002236: DUP5
00002237: DUP4
00002238: PUSH2 0x3412
0000223b: JUMP
0000223c: JUMPDEST
0000223d: SWAP1
0000223e: POP
0000223f: PUSH2 0x224a
00002242: PUSH2 0x2109
00002245: DUP3
00002246: PUSH2 0x32e9
00002249: JUMP
0000224a: JUMPDEST
0000224b: PUSH2 0x2254
0000224e: DUP5
0000224f: DUP4
00002250: PUSH2 0x3421
00002253: JUMP
00002254: JUMPDEST
00002255: POP
00002256: POP
00002257: POP
00002258: DUP1
00002259: PUSH1 0x01
0000225b: ADD
0000225c: SWAP1
0000225d: POP
0000225e: PUSH2 0x220f
00002261: JUMP
00002262: JUMPDEST
00002263: PUSH2 0x226a
00002266: PUSH2 0x4d5a
00002269: JUMP
0000226a: JUMPDEST
0000226b: POP
0000226c: SWAP1
0000226d: JUMP
0000226e: JUMPDEST
0000226f: PUSH2 0x2276
00002272: PUSH2 0x1768
00002275: JUMP
00002276: JUMPDEST
00002277: DUP4
00002278: PUSH2 0x2280
0000227b: DUP2
0000227c: PUSH2 0x2683
0000227f: JUMP
00002280: JUMPDEST
00002281: DUP4
00002282: PUSH2 0x228a
00002285: DUP2
00002286: PUSH2 0x1b0f
00002289: JUMP
0000228a: JUMPDEST
0000228b: PUSH2 0x229e
0000228e: DUP4
0000228f: PUSH1 0x00
00002291: ADD
00002292: MLOAD
00002293: MLOAD
00002294: DUP5
00002295: PUSH1 0x20
00002297: ADD
00002298: MLOAD
00002299: MLOAD
0000229a: PUSH2 0x1e12
0000229d: JUMP
0000229e: JUMPDEST
0000229f: PUSH1 0x60
000022a1: PUSH2 0x22ad
000022a4: DUP5
000022a5: PUSH1 0x00
000022a7: ADD
000022a8: MLOAD
000022a9: PUSH2 0x34c3
000022ac: JUMP
000022ad: JUMPDEST
000022ae: SWAP1
000022af: POP
000022b0: PUSH1 0x60
000022b2: PUSH2 0x22bb
000022b5: DUP9
000022b6: DUP4
000022b7: PUSH2 0x3552
000022ba: JUMP
000022bb: JUMPDEST
000022bc: SWAP1
000022bd: POP
000022be: PUSH1 0x60
000022c0: DUP1
000022c1: PUSH1 0x60
000022c3: PUSH2 0x22d0
000022c6: DUP13
000022c7: DUP13
000022c8: DUP13
000022c9: DUP13
000022ca: DUP13
000022cb: DUP10
000022cc: PUSH2 0x35e3
000022cf: JUMP
000022d0: JUMPDEST
000022d1: SWAP3
000022d2: POP
000022d3: SWAP3
000022d4: POP
000022d5: SWAP3
000022d6: POP
000022d7: PUSH1 0x00
000022d9: PUSH2 0x22e1
000022dc: DUP13
000022dd: PUSH2 0x1f64
000022e0: JUMP
000022e1: JUMPDEST
000022e2: SWAP1
000022e3: POP
000022e4: PUSH1 0x02
000022e6: DUP2
000022e7: PUSH1 0x02
000022e9: DUP2
000022ea: GT
000022eb: ISZERO
000022ec: PUSH2 0x22f1
000022ef: JUMPI
000022f0: INVALID
000022f1: JUMPDEST
000022f2: EQ
000022f3: ISZERO
000022f4: PUSH2 0x2359
000022f7: JUMPI
000022f8: PUSH2 0x2354
000022fb: DUP13
000022fc: DUP8
000022fd: PUSH1 0x00
000022ff: DUP2
00002300: MLOAD
00002301: DUP2
00002302: LT
00002303: PUSH2 0x2308
00002306: JUMPI
00002307: INVALID
00002308: JUMPDEST
00002309: PUSH1 0x20
0000230b: MUL
0000230c: PUSH1 0x20
0000230e: ADD
0000230f: ADD
00002310: MLOAD
00002311: DUP7
00002312: PUSH1 0x00
00002314: DUP2
00002315: MLOAD
00002316: DUP2
00002317: LT
00002318: PUSH2 0x231d
0000231b: JUMPI
0000231c: INVALID
0000231d: JUMPDEST
0000231e: PUSH1 0x20
00002320: MUL
00002321: PUSH1 0x20
00002323: ADD
00002324: ADD
00002325: MLOAD
00002326: DUP10
00002327: PUSH1 0x01
00002329: DUP2
0000232a: MLOAD
0000232b: DUP2
0000232c: LT
0000232d: PUSH2 0x2332
00002330: JUMPI
00002331: INVALID
00002332: JUMPDEST
00002333: PUSH1 0x20
00002335: MUL
00002336: PUSH1 0x20
00002338: ADD
00002339: ADD
0000233a: MLOAD
0000233b: DUP9
0000233c: PUSH1 0x01
0000233e: DUP2
0000233f: MLOAD
00002340: DUP2
00002341: LT
00002342: PUSH2 0x2347
00002345: JUMPI
00002346: INVALID
00002347: JUMPDEST
00002348: PUSH1 0x20
0000234a: MUL
0000234b: PUSH1 0x20
0000234d: ADD
0000234e: ADD
0000234f: MLOAD
00002350: PUSH2 0x37a8
00002353: JUMP
00002354: JUMPDEST
00002355: PUSH2 0x2382
00002358: JUMP
00002359: JUMPDEST
0000235a: PUSH1 0x01
0000235c: DUP2
0000235d: PUSH1 0x02
0000235f: DUP2
00002360: GT
00002361: ISZERO
00002362: PUSH2 0x2367
00002365: JUMPI
00002366: INVALID
00002367: JUMPDEST
00002368: EQ
00002369: ISZERO
0000236a: PUSH2 0x2378
0000236d: JUMPI
0000236e: PUSH2 0x2354
00002371: DUP13
00002372: DUP8
00002373: DUP7
00002374: PUSH2 0x37e7
00002377: JUMP
00002378: JUMPDEST
00002379: PUSH2 0x2382
0000237c: DUP13
0000237d: DUP6
0000237e: PUSH2 0x3854
00002381: JUMP
00002382: JUMPDEST
00002383: PUSH1 0x00
00002385: DUP1
00002386: DUP15
00002387: PUSH1 0x01
00002389: DUP2
0000238a: GT
0000238b: ISZERO
0000238c: PUSH2 0x2391
0000238f: JUMPI
00002390: INVALID
00002391: JUMPDEST
00002392: EQ
00002393: SWAP1
00002394: POP
00002395: DUP12
00002396: PUSH1 0x01
00002398: PUSH1 0x01
0000239a: PUSH1 0xa0
0000239c: SHL
0000239d: SUB
0000239e: AND
0000239f: DUP14
000023a0: PUSH32 0xe5ce249087ce04f05a957192435400fd97868dba0e6a4b4c049abf8af80dae78
000023c1: DUP10
000023c2: PUSH2 0x23cb
000023c5: DUP9
000023c6: DUP7
000023c7: PUSH2 0x389d
000023ca: JUMP
000023cb: JUMPDEST
000023cc: DUP8
000023cd: PUSH1 0x40
000023cf: MLOAD
000023d0: PUSH2 0x23db
000023d3: SWAP4
000023d4: SWAP3
000023d5: SWAP2
000023d6: SWAP1
000023d7: PUSH2 0x5c4c
000023da: JUMP
000023db: JUMPDEST
000023dc: PUSH1 0x40
000023de: MLOAD
000023df: DUP1
000023e0: SWAP2
000023e1: SUB
000023e2: SWAP1
000023e3: LOG3
000023e4: POP
000023e5: POP
000023e6: POP
000023e7: POP
000023e8: POP
000023e9: POP
000023ea: POP
000023eb: POP
000023ec: POP
000023ed: PUSH2 0x1d31
000023f0: PUSH2 0x1822
000023f3: JUMP
000023f4: JUMPDEST
000023f5: PUSH1 0x60
000023f7: DUP4
000023f8: MLOAD
000023f9: PUSH8 0xffffffffffffffff
00002402: DUP2
00002403: GT
00002404: DUP1
00002405: ISZERO
00002406: PUSH2 0x240e
00002409: JUMPI
0000240a: PUSH1 0x00
0000240c: DUP1
0000240d: REVERT
0000240e: JUMPDEST
0000240f: POP
00002410: PUSH1 0x40
00002412: MLOAD
00002413: SWAP1
00002414: DUP1
00002415: DUP3
00002416: MSTORE
00002417: DUP1
00002418: PUSH1 0x20
0000241a: MUL
0000241b: PUSH1 0x20
0000241d: ADD
0000241e: DUP3
0000241f: ADD
00002420: PUSH1 0x40
00002422: MSTORE
00002423: DUP1
00002424: ISZERO
00002425: PUSH2 0x2438
00002428: JUMPI
00002429: DUP2
0000242a: PUSH1 0x20
0000242c: ADD
0000242d: PUSH1 0x20
0000242f: DUP3
00002430: MUL
00002431: DUP1
00002432: CALLDATASIZE
00002433: DUP4
00002434: CALLDATACOPY
00002435: ADD
00002436: SWAP1
00002437: POP
00002438: JUMPDEST
00002439: POP
0000243a: SWAP1
0000243b: POP
0000243c: PUSH2 0x2443
0000243f: PUSH2 0x4d84
00002442: JUMP
00002443: JUMPDEST
00002444: PUSH2 0x244b
00002447: PUSH2 0x4ce1
0000244a: JUMP
0000244b: JUMPDEST
0000244c: PUSH1 0x00
0000244e: DUP1
0000244f: PUSH1 0x00
00002451: JUMPDEST
00002452: DUP10
00002453: MLOAD
00002454: DUP2
00002455: LT
00002456: ISZERO
00002457: PUSH2 0x2676
0000245a: JUMPI
0000245b: DUP10
0000245c: DUP2
0000245d: DUP2
0000245e: MLOAD
0000245f: DUP2
00002460: LT
00002461: PUSH2 0x2466
00002464: JUMPI
00002465: INVALID
00002466: JUMPDEST
00002467: PUSH1 0x20
00002469: MUL
0000246a: PUSH1 0x20
0000246c: ADD
0000246d: ADD
0000246e: MLOAD
0000246f: SWAP5
00002470: POP
00002471: PUSH1 0x00
00002473: DUP10
00002474: MLOAD
00002475: DUP7
00002476: PUSH1 0x20
00002478: ADD
00002479: MLOAD
0000247a: LT
0000247b: DUP1
0000247c: ISZERO
0000247d: PUSH2 0x248a
00002480: JUMPI
00002481: POP
00002482: DUP10
00002483: MLOAD
00002484: DUP7
00002485: PUSH1 0x40
00002487: ADD
00002488: MLOAD
00002489: LT
0000248a: JUMPDEST
0000248b: SWAP1
0000248c: POP
0000248d: PUSH2 0x2497
00002490: DUP2
00002491: PUSH1 0x64
00002493: PUSH2 0x054b
00002496: JUMP
00002497: JUMPDEST
00002498: PUSH1 0x00
0000249a: PUSH2 0x24b9
0000249d: DUP12
0000249e: DUP9
0000249f: PUSH1 0x20
000024a1: ADD
000024a2: MLOAD
000024a3: DUP2
000024a4: MLOAD
000024a5: DUP2
000024a6: LT
000024a7: PUSH2 0x24ac
000024aa: JUMPI
000024ab: INVALID
000024ac: JUMPDEST
000024ad: PUSH1 0x20
000024af: MUL
000024b0: PUSH1 0x20
000024b2: ADD
000024b3: ADD
000024b4: MLOAD
000024b5: PUSH2 0x1b41
000024b8: JUMP
000024b9: JUMPDEST
000024ba: SWAP1
000024bb: POP
000024bc: PUSH1 0x00
000024be: PUSH2 0x24d0
000024c1: DUP13
000024c2: DUP10
000024c3: PUSH1 0x40
000024c5: ADD
000024c6: MLOAD
000024c7: DUP2
000024c8: MLOAD
000024c9: DUP2
000024ca: LT
000024cb: PUSH2 0x24ac
000024ce: JUMPI
000024cf: INVALID
000024d0: JUMPDEST
000024d1: SWAP1
000024d2: POP
000024d3: PUSH2 0x24f3
000024d6: DUP2
000024d7: PUSH1 0x01
000024d9: PUSH1 0x01
000024db: PUSH1 0xa0
000024dd: SHL
000024de: SUB
000024df: AND
000024e0: DUP4
000024e1: PUSH1 0x01
000024e3: PUSH1 0x01
000024e5: PUSH1 0xa0
000024e7: SHL
000024e8: SUB
000024e9: AND
000024ea: EQ
000024eb: ISZERO
000024ec: PUSH2 0x01fd
000024ef: PUSH2 0x054b
000024f2: JUMP
000024f3: JUMPDEST
000024f4: PUSH1 0x60
000024f6: DUP9
000024f7: ADD
000024f8: MLOAD
000024f9: PUSH2 0x2543
000024fc: JUMPI
000024fd: PUSH2 0x250b
00002500: PUSH1 0x00
00002502: DUP6
00002503: GT
00002504: PUSH2 0x01fe
00002507: PUSH2 0x054b
0000250a: JUMP
0000250b: JUMPDEST
0000250c: PUSH1 0x00
0000250e: PUSH2 0x2518
00002511: DUP12
00002512: DUP5
00002513: DUP5
00002514: PUSH2 0x3945
00002517: JUMP
00002518: JUMPDEST
00002519: PUSH1 0x01
0000251b: PUSH1 0x01
0000251d: PUSH1 0xa0
0000251f: SHL
00002520: SUB
00002521: AND
00002522: DUP8
00002523: PUSH1 0x01
00002525: PUSH1 0x01
00002527: PUSH1 0xa0
00002529: SHL
0000252a: SUB
0000252b: AND
0000252c: EQ
0000252d: SWAP1
0000252e: POP
0000252f: PUSH2 0x253a
00002532: DUP2
00002533: PUSH2 0x01ff
00002536: PUSH2 0x054b
00002539: JUMP
0000253a: JUMPDEST
0000253b: POP
0000253c: PUSH1 0x60
0000253e: DUP9
0000253f: ADD
00002540: DUP6
00002541: SWAP1
00002542: MSTORE
00002543: JUMPDEST
00002544: DUP8
00002545: MLOAD
00002546: PUSH1 0x80
00002548: DUP9
00002549: ADD
0000254a: MSTORE
0000254b: DUP7
0000254c: DUP11
0000254d: PUSH1 0x01
0000254f: DUP2
00002550: GT
00002551: ISZERO
00002552: PUSH2 0x2557
00002555: JUMPI
00002556: INVALID
00002557: JUMPDEST
00002558: SWAP1
00002559: DUP2
0000255a: PUSH1 0x01
0000255c: DUP2
0000255d: GT
0000255e: ISZERO
0000255f: PUSH2 0x2564
00002562: JUMPI
00002563: INVALID
00002564: JUMPDEST
00002565: SWAP1
00002566: MSTORE
00002567: POP
00002568: PUSH1 0x01
0000256a: PUSH1 0x01
0000256c: PUSH1 0xa0
0000256e: SHL
0000256f: SUB
00002570: DUP1
00002571: DUP4
00002572: AND
00002573: PUSH1 0x20
00002575: DUP10
00002576: ADD
00002577: MSTORE
00002578: DUP2
00002579: DUP2
0000257a: AND
0000257b: PUSH1 0x40
0000257d: DUP1
0000257e: DUP11
0000257f: ADD
00002580: SWAP2
00002581: SWAP1
00002582: SWAP2
00002583: MSTORE
00002584: PUSH1 0x60
00002586: DUP1
00002587: DUP12
00002588: ADD
00002589: MLOAD
0000258a: SWAP1
0000258b: DUP11
0000258c: ADD
0000258d: MSTORE
0000258e: PUSH1 0x80
00002590: DUP11
00002591: ADD
00002592: MLOAD
00002593: PUSH2 0x0100
00002596: DUP11
00002597: ADD
00002598: MSTORE
00002599: DUP13
0000259a: MLOAD
0000259b: DUP3
0000259c: AND
0000259d: PUSH1 0xc0
0000259f: DUP11
000025a0: ADD
000025a1: MSTORE
000025a2: DUP13
000025a3: ADD
000025a4: MLOAD
000025a5: AND
000025a6: PUSH1 0xe0
000025a8: DUP9
000025a9: ADD
000025aa: MSTORE
000025ab: PUSH1 0x00
000025ad: DUP1
000025ae: PUSH2 0x25b6
000025b1: DUP10
000025b2: PUSH2 0x1b66
000025b5: JUMP
000025b6: JUMPDEST
000025b7: SWAP2
000025b8: SWAP9
000025b9: POP
000025ba: SWAP3
000025bb: POP
000025bc: SWAP1
000025bd: POP
000025be: PUSH2 0x25c8
000025c1: DUP13
000025c2: DUP6
000025c3: DUP6
000025c4: PUSH2 0x3967
000025c7: JUMP
000025c8: JUMPDEST
000025c9: SWAP8
000025ca: POP
000025cb: PUSH2 0x25fc
000025ce: PUSH2 0x25d6
000025d1: DUP4
000025d2: PUSH2 0x3981
000025d5: JUMP
000025d6: JUMPDEST
000025d7: DUP13
000025d8: DUP13
000025d9: PUSH1 0x20
000025db: ADD
000025dc: MLOAD
000025dd: DUP2
000025de: MLOAD
000025df: DUP2
000025e0: LT
000025e1: PUSH2 0x25e6
000025e4: JUMPI
000025e5: INVALID
000025e6: JUMPDEST
000025e7: PUSH1 0x20
000025e9: MUL
000025ea: PUSH1 0x20
000025ec: ADD
000025ed: ADD
000025ee: MLOAD
000025ef: PUSH2 0x39b1
000025f2: SWAP1
000025f3: SWAP2
000025f4: SWAP1
000025f5: PUSH4 0xffffffff
000025fa: AND
000025fb: JUMP
000025fc: JUMPDEST
000025fd: DUP12
000025fe: DUP12
000025ff: PUSH1 0x20
00002601: ADD
00002602: MLOAD
00002603: DUP2
00002604: MLOAD
00002605: DUP2
00002606: LT
00002607: PUSH2 0x260c
0000260a: JUMPI
0000260b: INVALID
0000260c: JUMPDEST
0000260d: PUSH1 0x20
0000260f: MUL
00002610: PUSH1 0x20
00002612: ADD
00002613: ADD
00002614: DUP2
00002615: DUP2
00002616: MSTORE
00002617: POP
00002618: POP
00002619: PUSH2 0x264a
0000261c: PUSH2 0x2624
0000261f: DUP3
00002620: PUSH2 0x3981
00002623: JUMP
00002624: JUMPDEST
00002625: DUP13
00002626: DUP13
00002627: PUSH1 0x40
00002629: ADD
0000262a: MLOAD
0000262b: DUP2
0000262c: MLOAD
0000262d: DUP2
0000262e: LT
0000262f: PUSH2 0x2634
00002632: JUMPI
00002633: INVALID
00002634: JUMPDEST
00002635: PUSH1 0x20
00002637: MUL
00002638: PUSH1 0x20
0000263a: ADD
0000263b: ADD
0000263c: MLOAD
0000263d: PUSH2 0x39e5
00002640: SWAP1
00002641: SWAP2
00002642: SWAP1
00002643: PUSH4 0xffffffff
00002648: AND
00002649: JUMP
0000264a: JUMPDEST
0000264b: DUP12
0000264c: DUP12
0000264d: PUSH1 0x40
0000264f: ADD
00002650: MLOAD
00002651: DUP2
00002652: MLOAD
00002653: DUP2
00002654: LT
00002655: PUSH2 0x265a
00002658: JUMPI
00002659: INVALID
0000265a: JUMPDEST
0000265b: PUSH1 0x20
0000265d: MUL
0000265e: PUSH1 0x20
00002660: ADD
00002661: ADD
00002662: DUP2
00002663: DUP2
00002664: MSTORE
00002665: POP
00002666: POP
00002667: POP
00002668: POP
00002669: POP
0000266a: POP
0000266b: POP
0000266c: DUP1
0000266d: PUSH1 0x01
0000266f: ADD
00002670: SWAP1
00002671: POP
00002672: PUSH2 0x2451
00002675: JUMP
00002676: JUMPDEST
00002677: POP
00002678: POP
00002679: POP
0000267a: POP
0000267b: POP
0000267c: SWAP5
0000267d: SWAP4
0000267e: POP
0000267f: POP
00002680: POP
00002681: POP
00002682: JUMP
00002683: JUMPDEST
00002684: PUSH1 0x00
00002686: DUP2
00002687: DUP2
00002688: MSTORE
00002689: PUSH1 0x05
0000268b: PUSH1 0x20
0000268d: MSTORE
0000268e: PUSH1 0x40
00002690: SWAP1
00002691: KECCAK256
00002692: SLOAD
00002693: PUSH2 0x057e
00002696: SWAP1
00002697: PUSH1 0xff
00002699: AND
0000269a: PUSH2 0x01f4
0000269d: PUSH2 0x054b
000026a0: JUMP
000026a1: JUMPDEST
000026a2: PUSH1 0x00
000026a4: DUP1
000026a5: PUSH1 0x00
000026a7: DUP1
000026a8: PUSH1 0x00
000026aa: PUSH2 0x26b2
000026ad: DUP8
000026ae: PUSH2 0x3a19
000026b1: JUMP
000026b2: JUMPDEST
000026b3: SWAP5
000026b4: POP
000026b5: SWAP5
000026b6: POP
000026b7: SWAP5
000026b8: POP
000026b9: SWAP5
000026ba: POP
000026bb: POP
000026bc: DUP4
000026bd: PUSH1 0x01
000026bf: PUSH1 0x01
000026c1: PUSH1 0xa0
000026c3: SHL
000026c4: SUB
000026c5: AND
000026c6: DUP7
000026c7: PUSH1 0x01
000026c9: PUSH1 0x01
000026cb: PUSH1 0xa0
000026cd: SHL
000026ce: SUB
000026cf: AND
000026d0: EQ
000026d1: ISZERO
000026d2: PUSH2 0x26e1
000026d5: JUMPI
000026d6: DUP3
000026d7: SWAP5
000026d8: POP
000026d9: POP
000026da: POP
000026db: POP
000026dc: POP
000026dd: PUSH2 0x16f5
000026e0: JUMP
000026e1: JUMPDEST
000026e2: DUP2
000026e3: PUSH1 0x01
000026e5: PUSH1 0x01
000026e7: PUSH1 0xa0
000026e9: SHL
000026ea: SUB
000026eb: AND
000026ec: DUP7
000026ed: PUSH1 0x01
000026ef: PUSH1 0x01
000026f1: PUSH1 0xa0
000026f3: SHL
000026f4: SUB
000026f5: AND
000026f6: EQ
000026f7: ISZERO
000026f8: PUSH2 0x2706
000026fb: JUMPI
000026fc: SWAP4
000026fd: POP
000026fe: PUSH2 0x16f5
00002701: SWAP3
00002702: POP
00002703: POP
00002704: POP
00002705: JUMP
00002706: JUMPDEST
00002707: PUSH2 0x2711
0000270a: PUSH2 0x0209
0000270d: PUSH2 0x16fb
00002710: JUMP
00002711: JUMPDEST
00002712: POP
00002713: POP
00002714: POP
00002715: POP
00002716: SWAP3
00002717: SWAP2
00002718: POP
00002719: POP
0000271a: JUMP
0000271b: JUMPDEST
0000271c: PUSH1 0x00
0000271e: DUP3
0000271f: DUP2
00002720: MSTORE
00002721: PUSH1 0x07
00002723: PUSH1 0x20
00002725: SWAP1
00002726: DUP2
00002727: MSTORE
00002728: PUSH1 0x40
0000272a: DUP1
0000272b: DUP4
0000272c: KECCAK256
0000272d: PUSH1 0x01
0000272f: PUSH1 0x01
00002731: PUSH1 0xa0
00002733: SHL
00002734: SUB
00002735: DUP6
00002736: AND
00002737: DUP5
00002738: MSTORE
00002739: SWAP1
0000273a: SWAP2
0000273b: MSTORE
0000273c: DUP2
0000273d: KECCAK256
0000273e: SLOAD
0000273f: DUP2
00002740: PUSH2 0x2748
00002743: DUP3
00002744: PUSH2 0x3a8f
00002747: JUMP
00002748: JUMPDEST
00002749: DUP1
0000274a: PUSH2 0x2766
0000274d: JUMPI
0000274e: POP
0000274f: PUSH1 0x00
00002751: DUP6
00002752: DUP2
00002753: MSTORE
00002754: PUSH1 0x08
00002756: PUSH1 0x20
00002758: MSTORE
00002759: PUSH1 0x40
0000275b: SWAP1
0000275c: KECCAK256
0000275d: PUSH2 0x2766
00002760: SWAP1
00002761: DUP6
00002762: PUSH2 0x3aa1
00002765: JUMP
00002766: JUMPDEST
00002767: SWAP1
00002768: POP
00002769: DUP1
0000276a: PUSH2 0x2781
0000276d: JUMPI
0000276e: PUSH2 0x2776
00002771: DUP6
00002772: PUSH2 0x2683
00002775: JUMP
00002776: JUMPDEST
00002777: PUSH2 0x2781
0000277a: PUSH2 0x0209
0000277d: PUSH2 0x16fb
00002780: JUMP
00002781: JUMPDEST
00002782: POP
00002783: SWAP4
00002784: SWAP3
00002785: POP
00002786: POP
00002787: POP
00002788: JUMP
00002789: JUMPDEST
0000278a: PUSH1 0x00
0000278c: DUP3
0000278d: DUP2
0000278e: MSTORE
0000278f: PUSH1 0x01
00002791: PUSH1 0x20
00002793: MSTORE
00002794: PUSH1 0x40
00002796: DUP2
00002797: KECCAK256
00002798: PUSH2 0x09e1
0000279b: DUP2
0000279c: DUP5
0000279d: PUSH2 0x3412
000027a0: JUMP
000027a1: JUMPDEST
000027a2: PUSH14 0xffffffffffffffffffffffffffff
000027b1: AND
000027b2: SWAP1
000027b3: JUMP
000027b4: JUMPDEST
000027b5: PUSH1 0x70
000027b7: SHR
000027b8: PUSH14 0xffffffffffffffffffffffffffff
000027c7: AND
000027c8: SWAP1
000027c9: JUMP
000027ca: JUMPDEST
000027cb: PUSH1 0xe0
000027cd: SHR
000027ce: SWAP1
000027cf: JUMP
000027d0: JUMPDEST
000027d1: PUSH1 0x00
000027d3: DUP1
000027d4: PUSH2 0x27dc
000027d7: DUP5
000027d8: PUSH2 0x1f64
000027db: JUMP
000027dc: JUMPDEST
000027dd: SWAP1
000027de: POP
000027df: PUSH1 0x02
000027e1: DUP2
000027e2: PUSH1 0x02
000027e4: DUP2
000027e5: GT
000027e6: ISZERO
000027e7: PUSH2 0x27ec
000027ea: JUMPI
000027eb: INVALID
000027ec: JUMPDEST
000027ed: EQ
000027ee: ISZERO
000027ef: PUSH2 0x2804
000027f2: JUMPI
000027f3: PUSH2 0x27fc
000027f6: DUP5
000027f7: DUP5
000027f8: PUSH2 0x3ac2
000027fb: JUMP
000027fc: JUMPDEST
000027fd: SWAP2
000027fe: POP
000027ff: POP
00002800: PUSH2 0x16f5
00002803: JUMP
00002804: JUMPDEST
00002805: PUSH1 0x01
00002807: DUP2
00002808: PUSH1 0x02
0000280a: DUP2
0000280b: GT
0000280c: ISZERO
0000280d: PUSH2 0x2812
00002810: JUMPI
00002811: INVALID
00002812: JUMPDEST
00002813: EQ
00002814: ISZERO
00002815: PUSH2 0x2822
00002818: JUMPI
00002819: PUSH2 0x27fc
0000281c: DUP5
0000281d: DUP5
0000281e: PUSH2 0x3b13
00002821: JUMP
00002822: JUMPDEST
00002823: PUSH2 0x27fc
00002826: DUP5
00002827: DUP5
00002828: PUSH2 0x3b2b
0000282b: JUMP
0000282c: JUMPDEST
0000282d: PUSH1 0x00
0000282f: DUP1
00002830: PUSH1 0x00
00002832: PUSH2 0x283a
00002835: DUP7
00002836: PUSH2 0x1f64
00002839: JUMP
0000283a: JUMPDEST
0000283b: SWAP1
0000283c: POP
0000283d: PUSH1 0x00
0000283f: DUP8
00002840: PUSH1 0x02
00002842: DUP2
00002843: GT
00002844: ISZERO
00002845: PUSH2 0x284a
00002848: JUMPI
00002849: INVALID
0000284a: JUMPDEST
0000284b: EQ
0000284c: ISZERO
0000284d: PUSH2 0x2866
00002850: JUMPI
00002851: PUSH2 0x285c
00002854: DUP7
00002855: DUP3
00002856: DUP8
00002857: DUP8
00002858: PUSH2 0x3b43
0000285b: JUMP
0000285c: JUMPDEST
0000285d: SWAP3
0000285e: POP
0000285f: SWAP3
00002860: POP
00002861: POP
00002862: PUSH2 0x2892
00002865: JUMP
00002866: JUMPDEST
00002867: PUSH1 0x01
00002869: DUP8
0000286a: PUSH1 0x02
0000286c: DUP2
0000286d: GT
0000286e: ISZERO
0000286f: PUSH2 0x2874
00002872: JUMPI
00002873: INVALID
00002874: JUMPDEST
00002875: EQ
00002876: ISZERO
00002877: PUSH2 0x2886
0000287a: JUMPI
0000287b: PUSH2 0x285c
0000287e: DUP7
0000287f: DUP3
00002880: DUP8
00002881: DUP8
00002882: PUSH2 0x3bbe
00002885: JUMP
00002886: JUMPDEST
00002887: PUSH2 0x285c
0000288a: DUP7
0000288b: DUP3
0000288c: DUP8
0000288d: DUP8
0000288e: PUSH2 0x3c3a
00002891: JUMP
00002892: JUMPDEST
00002893: SWAP5
00002894: POP
00002895: SWAP5
00002896: SWAP3
00002897: POP
00002898: POP
00002899: POP
0000289a: JUMP
0000289b: JUMPDEST
0000289c: PUSH1 0x00
0000289e: PUSH32 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f
000028bf: PUSH32 0x546d0ab49c5920e3fe063e6971dd456a095183a2e20611f1b5815c7a1f43f069
000028e0: PUSH32 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6
00002901: PUSH2 0x2908
00002904: PUSH2 0x3c9d
00002907: JUMP
00002908: JUMPDEST
00002909: ADDRESS
0000290a: PUSH1 0x40
0000290c: MLOAD
0000290d: PUSH1 0x20
0000290f: ADD
00002910: PUSH2 0x291d
00002913: SWAP6
00002914: SWAP5
00002915: SWAP4
00002916: SWAP3
00002917: SWAP2
00002918: SWAP1
00002919: PUSH2 0x5df0
0000291c: JUMP
0000291d: JUMPDEST
0000291e: PUSH1 0x40
00002920: MLOAD
00002921: PUSH1 0x20
00002923: DUP2
00002924: DUP4
00002925: SUB
00002926: SUB
00002927: DUP2
00002928: MSTORE
00002929: SWAP1
0000292a: PUSH1 0x40
0000292c: MSTORE
0000292d: DUP1
0000292e: MLOAD
0000292f: SWAP1
00002930: PUSH1 0x20
00002932: ADD
00002933: KECCAK256
00002934: SWAP1
00002935: POP
00002936: SWAP1
00002937: JUMP
00002938: JUMPDEST
00002939: PUSH1 0x60
0000293b: SHR
0000293c: SWAP1
0000293d: JUMP
0000293e: JUMPDEST
0000293f: PUSH1 0x60
00002941: DUP1
00002942: PUSH1 0x00
00002944: PUSH2 0x294c
00002947: DUP5
00002948: PUSH2 0x1f64
0000294b: JUMP
0000294c: JUMPDEST
0000294d: SWAP1
0000294e: POP
0000294f: PUSH1 0x02
00002951: DUP2
00002952: PUSH1 0x02
00002954: DUP2
00002955: GT
00002956: ISZERO
00002957: PUSH2 0x295c
0000295a: JUMPI
0000295b: INVALID
0000295c: JUMPDEST
0000295d: EQ
0000295e: ISZERO
0000295f: PUSH2 0x2975
00002962: JUMPI
00002963: PUSH2 0x296b
00002966: DUP5
00002967: PUSH2 0x3ca1
0000296a: JUMP
0000296b: JUMPDEST
0000296c: SWAP3
0000296d: POP
0000296e: SWAP3
0000296f: POP
00002970: POP
00002971: PUSH2 0x299b
00002974: JUMP
00002975: JUMPDEST
00002976: PUSH1 0x01
00002978: DUP2
00002979: PUSH1 0x02
0000297b: DUP2
0000297c: GT
0000297d: ISZERO
0000297e: PUSH2 0x2983
00002981: JUMPI
00002982: INVALID
00002983: JUMPDEST
00002984: EQ
00002985: ISZERO
00002986: PUSH2 0x2992
00002989: JUMPI
0000298a: PUSH2 0x296b
0000298d: DUP5
0000298e: PUSH2 0x3dd6
00002991: JUMP
00002992: JUMPDEST
00002993: PUSH2 0x296b
00002996: DUP5
00002997: PUSH2 0x3efd
0000299a: JUMP
0000299b: JUMPDEST
0000299c: SWAP2
0000299d: POP
0000299e: SWAP2
0000299f: JUMP
000029a0: JUMPDEST
000029a1: PUSH1 0x60
000029a3: PUSH1 0x00
000029a5: DUP3
000029a6: MLOAD
000029a7: PUSH8 0xffffffffffffffff
000029b0: DUP2
000029b1: GT
000029b2: DUP1
000029b3: ISZERO
000029b4: PUSH2 0x29bc
000029b7: JUMPI
000029b8: PUSH1 0x00
000029ba: DUP1
000029bb: REVERT
000029bc: JUMPDEST
000029bd: POP
000029be: PUSH1 0x40
000029c0: MLOAD
000029c1: SWAP1
000029c2: DUP1
000029c3: DUP3
000029c4: MSTORE
000029c5: DUP1
000029c6: PUSH1 0x20
000029c8: MUL
000029c9: PUSH1 0x20
000029cb: ADD
000029cc: DUP3
000029cd: ADD
000029ce: PUSH1 0x40
000029d0: MSTORE
000029d1: DUP1
000029d2: ISZERO
000029d3: PUSH2 0x29e6
000029d6: JUMPI
000029d7: DUP2
000029d8: PUSH1 0x20
000029da: ADD
000029db: PUSH1 0x20
000029dd: DUP3
000029de: MUL
000029df: DUP1
000029e0: CALLDATASIZE
000029e1: DUP4
000029e2: CALLDATACOPY
000029e3: ADD
000029e4: SWAP1
000029e5: POP
000029e6: JUMPDEST
000029e7: POP
000029e8: SWAP2
000029e9: POP
000029ea: PUSH1 0x00
000029ec: SWAP1
000029ed: POP
000029ee: PUSH1 0x00
000029f0: JUMPDEST
000029f1: DUP3
000029f2: MLOAD
000029f3: DUP2
000029f4: LT
000029f5: ISZERO
000029f6: PUSH2 0x151d
000029f9: JUMPI
000029fa: PUSH1 0x00
000029fc: DUP5
000029fd: DUP3
000029fe: DUP2
000029ff: MLOAD
00002a00: DUP2
00002a01: LT
00002a02: PUSH2 0x2a07
00002a05: JUMPI
00002a06: INVALID
00002a07: JUMPDEST
00002a08: PUSH1 0x20
00002a0a: MUL
00002a0b: PUSH1 0x20
00002a0d: ADD
00002a0e: ADD
00002a0f: MLOAD
00002a10: SWAP1
00002a11: POP
00002a12: PUSH2 0x2a1a
00002a15: DUP2
00002a16: PUSH2 0x3ff9
00002a19: JUMP
00002a1a: JUMPDEST
00002a1b: DUP5
00002a1c: DUP4
00002a1d: DUP2
00002a1e: MLOAD
00002a1f: DUP2
00002a20: LT
00002a21: PUSH2 0x2a26
00002a24: JUMPI
00002a25: INVALID
00002a26: JUMPDEST
00002a27: PUSH1 0x20
00002a29: MUL
00002a2a: PUSH1 0x20
00002a2c: ADD
00002a2d: ADD
00002a2e: DUP2
00002a2f: DUP2
00002a30: MSTORE
00002a31: POP
00002a32: POP
00002a33: PUSH2 0x2a44
00002a36: DUP4
00002a37: PUSH2 0x2a3f
00002a3a: DUP4
00002a3b: PUSH2 0x27ca
00002a3e: JUMP
00002a3f: JUMPDEST
00002a40: PUSH2 0x4014
00002a43: JUMP
00002a44: JUMPDEST
00002a45: SWAP3
00002a46: POP
00002a47: POP
00002a48: PUSH1 0x01
00002a4a: ADD
00002a4b: PUSH2 0x29f0
00002a4e: JUMP
00002a4f: JUMPDEST
00002a50: PUSH1 0x01
00002a52: PUSH1 0x01
00002a54: PUSH1 0xa0
00002a56: SHL
00002a57: SUB
00002a58: SWAP2
00002a59: DUP3
00002a5a: AND
00002a5b: PUSH1 0x00
00002a5d: SWAP1
00002a5e: DUP2
00002a5f: MSTORE
00002a60: PUSH1 0x04
00002a62: PUSH1 0x20
00002a64: SWAP1
00002a65: DUP2
00002a66: MSTORE
00002a67: PUSH1 0x40
00002a69: DUP1
00002a6a: DUP4
00002a6b: KECCAK256
00002a6c: SWAP4
00002a6d: SWAP1
00002a6e: SWAP5
00002a6f: AND
00002a70: DUP3
00002a71: MSTORE
00002a72: SWAP2
00002a73: SWAP1
00002a74: SWAP2
00002a75: MSTORE
00002a76: KECCAK256
00002a77: SLOAD
00002a78: PUSH1 0xff
00002a7a: AND
00002a7b: SWAP1
00002a7c: JUMP
00002a7d: JUMPDEST
00002a7e: PUSH1 0x03
00002a80: SLOAD
00002a81: PUSH1 0x40
00002a83: MLOAD
00002a84: PUSH32 0x9be2a88400000000000000000000000000000000000000000000000000000000
00002aa5: DUP2
00002aa6: MSTORE
00002aa7: PUSH1 0x00
00002aa9: SWAP2
00002aaa: PUSH2 0x0100
00002aad: SWAP1
00002aae: DIV
00002aaf: PUSH1 0x01
00002ab1: PUSH1 0x01
00002ab3: PUSH1 0xa0
00002ab5: SHL
00002ab6: SUB
00002ab7: AND
00002ab8: SWAP1
00002ab9: PUSH4 0x9be2a884
00002abe: SWAP1
00002abf: PUSH2 0x2ad0
00002ac2: SWAP1
00002ac3: DUP7
00002ac4: SWAP1
00002ac5: DUP7
00002ac6: SWAP1
00002ac7: ADDRESS
00002ac8: SWAP1
00002ac9: PUSH1 0x04
00002acb: ADD
00002acc: PUSH2 0x5d47
00002acf: JUMP
00002ad0: JUMPDEST
00002ad1: PUSH1 0x20
00002ad3: PUSH1 0x40
00002ad5: MLOAD
00002ad6: DUP1
00002ad7: DUP4
00002ad8: SUB
00002ad9: DUP2
00002ada: DUP7
00002adb: DUP1
00002adc: EXTCODESIZE
00002add: ISZERO
00002ade: DUP1
00002adf: ISZERO
00002ae0: PUSH2 0x2ae8
00002ae3: JUMPI
00002ae4: PUSH1 0x00
00002ae6: DUP1
00002ae7: REVERT
00002ae8: JUMPDEST
00002ae9: POP
00002aea: GAS
00002aeb: STATICCALL
00002aec: ISZERO
00002aed: DUP1
00002aee: ISZERO
00002aef: PUSH2 0x2afc
00002af2: JUMPI
00002af3: RETURNDATASIZE
00002af4: PUSH1 0x00
00002af6: DUP1
00002af7: RETURNDATACOPY
00002af8: RETURNDATASIZE
00002af9: PUSH1 0x00
00002afb: REVERT
00002afc: JUMPDEST
00002afd: POP
00002afe: POP
00002aff: POP
00002b00: POP
00002b01: PUSH1 0x40
00002b03: MLOAD
00002b04: RETURNDATASIZE
00002b05: PUSH1 0x1f
00002b07: NOT
00002b08: PUSH1 0x1f
00002b0a: DUP3
00002b0b: ADD
00002b0c: AND
00002b0d: DUP3
00002b0e: ADD
00002b0f: DUP1
00002b10: PUSH1 0x40
00002b12: MSTORE
00002b13: POP
00002b14: DUP2
00002b15: ADD
00002b16: SWAP1
00002b17: PUSH2 0x16f2
00002b1a: SWAP2
00002b1b: SWAP1
00002b1c: PUSH2 0x5478
00002b1f: JUMP
00002b20: JUMPDEST
00002b21: PUSH1 0x00
00002b23: DUP1
00002b24: PUSH2 0x2b2d
00002b27: DUP7
00002b28: DUP7
00002b29: PUSH2 0x1a01
00002b2c: JUMP
00002b2d: JUMPDEST
00002b2e: SWAP1
00002b2f: POP
00002b30: PUSH2 0x2b46
00002b33: DUP4
00002b34: DUP1
00002b35: PUSH2 0x2b3e
00002b38: JUMPI
00002b39: POP
00002b3a: DUP5
00002b3b: DUP3
00002b3c: LT
00002b3d: ISZERO
00002b3e: JUMPDEST
00002b3f: PUSH2 0x0201
00002b42: PUSH2 0x054b
00002b45: JUMP
00002b46: JUMPDEST
00002b47: PUSH2 0x2b50
00002b4a: DUP2
00002b4b: DUP6
00002b4c: PUSH2 0x402b
00002b4f: JUMP
00002b50: JUMPDEST
00002b51: SWAP2
00002b52: POP
00002b53: DUP2
00002b54: DUP2
00002b55: SUB
00002b56: PUSH2 0x2b6c
00002b59: DUP8
00002b5a: DUP8
00002b5b: DUP4
00002b5c: PUSH2 0x2b64
00002b5f: DUP8
00002b60: PUSH2 0x3981
00002b63: JUMP
00002b64: JUMPDEST
00002b65: PUSH1 0x00
00002b67: SUB
00002b68: PUSH2 0x403a
00002b6b: JUMP
00002b6c: JUMPDEST
00002b6d: POP
00002b6e: POP
00002b6f: SWAP5
00002b70: SWAP4
00002b71: POP
00002b72: POP
00002b73: POP
00002b74: POP
00002b75: JUMP
00002b76: JUMPDEST
00002b77: PUSH1 0x00
00002b79: PUSH2 0x2b82
00002b7c: DUP5
00002b7d: DUP5
00002b7e: PUSH2 0x1a01
00002b81: JUMP
00002b82: JUMPDEST
00002b83: SWAP1
00002b84: POP
00002b85: PUSH1 0x00
00002b87: PUSH2 0x2b90
00002b8a: DUP3
00002b8b: DUP5
00002b8c: PUSH2 0x1945
00002b8f: JUMP
00002b90: JUMPDEST
00002b91: SWAP1
00002b92: POP
00002b93: PUSH2 0x1d31
00002b96: DUP6
00002b97: DUP6
00002b98: DUP4
00002b99: PUSH2 0x2ba1
00002b9c: DUP8
00002b9d: PUSH2 0x3981
00002ba0: JUMP
00002ba1: JUMPDEST
00002ba2: PUSH2 0x403a
00002ba5: JUMP
00002ba6: JUMPDEST
00002ba7: PUSH2 0x0e00
00002baa: DUP5
00002bab: PUSH4 0x23b872dd
00002bb0: PUSH1 0xe0
00002bb2: SHL
00002bb3: DUP6
00002bb4: DUP6
00002bb5: DUP6
00002bb6: PUSH1 0x40
00002bb8: MLOAD
00002bb9: PUSH1 0x24
00002bbb: ADD
00002bbc: PUSH2 0x1ec5
00002bbf: SWAP4
00002bc0: SWAP3
00002bc1: SWAP2
00002bc2: SWAP1
00002bc3: PUSH2 0x5b77
00002bc6: JUMP
00002bc7: JUMPDEST
00002bc8: PUSH2 0x2bd6
00002bcb: DUP2
00002bcc: SELFBALANCE
00002bcd: LT
00002bce: ISZERO
00002bcf: PUSH2 0x01a3
00002bd2: PUSH2 0x054b
00002bd5: JUMP
00002bd6: JUMPDEST
00002bd7: PUSH1 0x00
00002bd9: DUP3
00002bda: PUSH1 0x01
00002bdc: PUSH1 0x01
00002bde: PUSH1 0xa0
00002be0: SHL
00002be1: SUB
00002be2: AND
00002be3: DUP3
00002be4: PUSH1 0x40
00002be6: MLOAD
00002be7: PUSH2 0x2bef
00002bea: SWAP1
00002beb: PUSH2 0x0548
00002bee: JUMP
00002bef: JUMPDEST
00002bf0: PUSH1 0x00
00002bf2: PUSH1 0x40
00002bf4: MLOAD
00002bf5: DUP1
00002bf6: DUP4
00002bf7: SUB
00002bf8: DUP2
00002bf9: DUP6
00002bfa: DUP8
00002bfb: GAS
00002bfc: CALL
00002bfd: SWAP3
00002bfe: POP
00002bff: POP
00002c00: POP
00002c01: RETURNDATASIZE
00002c02: DUP1
00002c03: PUSH1 0x00
00002c05: DUP2
00002c06: EQ
00002c07: PUSH2 0x2c2c
00002c0a: JUMPI
00002c0b: PUSH1 0x40
00002c0d: MLOAD
00002c0e: SWAP2
00002c0f: POP
00002c10: PUSH1 0x1f
00002c12: NOT
00002c13: PUSH1 0x3f
00002c15: RETURNDATASIZE
00002c16: ADD
00002c17: AND
00002c18: DUP3
00002c19: ADD
00002c1a: PUSH1 0x40
00002c1c: MSTORE
00002c1d: RETURNDATASIZE
00002c1e: DUP3
00002c1f: MSTORE
00002c20: RETURNDATASIZE
00002c21: PUSH1 0x00
00002c23: PUSH1 0x20
00002c25: DUP5
00002c26: ADD
00002c27: RETURNDATACOPY
00002c28: PUSH2 0x2c31
00002c2b: JUMP
00002c2c: JUMPDEST
00002c2d: PUSH1 0x60
00002c2f: SWAP2
00002c30: POP
00002c31: JUMPDEST
00002c32: POP
00002c33: POP
00002c34: SWAP1
00002c35: POP
00002c36: PUSH2 0x0fa0
00002c39: DUP2
00002c3a: PUSH2 0x01a4
00002c3d: PUSH2 0x054b
00002c40: JUMP
00002c41: JUMPDEST
00002c42: PUSH1 0x01
00002c44: PUSH1 0x01
00002c46: PUSH1 0xa0
00002c48: SHL
00002c49: SUB
00002c4a: DUP3
00002c4b: AND
00002c4c: PUSH1 0x00
00002c4e: SWAP1
00002c4f: DUP2
00002c50: MSTORE
00002c51: PUSH1 0x02
00002c53: PUSH1 0x20
00002c55: MSTORE
00002c56: PUSH1 0x40
00002c58: SWAP1
00002c59: KECCAK256
00002c5a: DUP1
00002c5b: SLOAD
00002c5c: PUSH1 0x01
00002c5e: DUP2
00002c5f: ADD
00002c60: SWAP1
00002c61: SWAP2
00002c62: SSTORE
00002c63: PUSH2 0x0fa0
00002c66: PUSH2 0x2c6f
00002c69: DUP5
00002c6a: DUP4
00002c6b: PUSH2 0x4095
00002c6e: JUMP
00002c6f: JUMPDEST
00002c70: DUP4
00002c71: PUSH2 0x054b
00002c74: JUMP
00002c75: JUMPDEST
00002c76: PUSH1 0x00
00002c78: DUP1
00002c79: PUSH1 0x00
00002c7b: DUP1
00002c7c: PUSH2 0x2c92
00002c7f: DUP7
00002c80: PUSH1 0x80
00002c82: ADD
00002c83: MLOAD
00002c84: DUP8
00002c85: PUSH1 0x20
00002c87: ADD
00002c88: MLOAD
00002c89: DUP9
00002c8a: PUSH1 0x40
00002c8c: ADD
00002c8d: MLOAD
00002c8e: PUSH2 0x3222
00002c91: JUMP
00002c92: JUMPDEST
00002c93: SWAP3
00002c94: POP
00002c95: SWAP3
00002c96: POP
00002c97: SWAP3
00002c98: POP
00002c99: PUSH1 0x00
00002c9b: DUP1
00002c9c: DUP8
00002c9d: PUSH1 0x40
00002c9f: ADD
00002ca0: MLOAD
00002ca1: PUSH1 0x01
00002ca3: PUSH1 0x01
00002ca5: PUSH1 0xa0
00002ca7: SHL
00002ca8: SUB
00002ca9: AND
00002caa: DUP9
00002cab: PUSH1 0x20
00002cad: ADD
00002cae: MLOAD
00002caf: PUSH1 0x01
00002cb1: PUSH1 0x01
00002cb3: PUSH1 0xa0
00002cb5: SHL
00002cb6: SUB
00002cb7: AND
00002cb8: LT
00002cb9: ISZERO
00002cba: PUSH2 0x2cc7
00002cbd: JUMPI
00002cbe: POP
00002cbf: DUP4
00002cc0: SWAP1
00002cc1: POP
00002cc2: DUP3
00002cc3: PUSH2 0x2ccd
00002cc6: JUMP
00002cc7: JUMPDEST
00002cc8: POP
00002cc9: DUP3
00002cca: SWAP1
00002ccb: POP
00002ccc: DUP4
00002ccd: JUMPDEST
00002cce: PUSH2 0x2cd9
00002cd1: DUP9
00002cd2: DUP9
00002cd3: DUP5
00002cd4: DUP5
00002cd5: PUSH2 0x41bb
00002cd8: JUMP
00002cd9: JUMPDEST
00002cda: PUSH1 0x40
00002cdc: DUP12
00002cdd: ADD
00002cde: MLOAD
00002cdf: PUSH1 0x20
00002ce1: DUP13
00002ce2: ADD
00002ce3: MLOAD
00002ce4: SWAP2
00002ce5: SWAP10
00002ce6: POP
00002ce7: SWAP3
00002ce8: SWAP5
00002ce9: POP
00002cea: SWAP1
00002ceb: SWAP3
00002cec: POP
00002ced: PUSH1 0x01
00002cef: PUSH1 0x01
00002cf1: PUSH1 0xa0
00002cf3: SHL
00002cf4: SUB
00002cf5: SWAP2
00002cf6: DUP3
00002cf7: AND
00002cf8: SWAP2
00002cf9: AND
00002cfa: LT
00002cfb: PUSH2 0x2d0d
00002cfe: JUMPI
00002cff: PUSH2 0x2d08
00002d02: DUP2
00002d03: DUP4
00002d04: PUSH2 0x42d1
00002d07: JUMP
00002d08: JUMPDEST
00002d09: PUSH2 0x2d17
00002d0c: JUMP
00002d0d: JUMPDEST
00002d0e: PUSH2 0x2d17
00002d11: DUP3
00002d12: DUP3
00002d13: PUSH2 0x42d1
00002d16: JUMP
00002d17: JUMPDEST
00002d18: SWAP1
00002d19: SWAP3
00002d1a: SSTORE
00002d1b: POP
00002d1c: SWAP3
00002d1d: SWAP6
00002d1e: SWAP5
00002d1f: POP
00002d20: POP
00002d21: POP
00002d22: POP
00002d23: POP
00002d24: JUMP
00002d25: JUMPDEST
00002d26: PUSH1 0x00
00002d28: DUP1
00002d29: PUSH2 0x2d3a
00002d2c: DUP5
00002d2d: PUSH1 0x80
00002d2f: ADD
00002d30: MLOAD
00002d31: DUP6
00002d32: PUSH1 0x20
00002d34: ADD
00002d35: MLOAD
00002d36: PUSH2 0x271b
00002d39: JUMP
00002d3a: JUMPDEST
00002d3b: SWAP1
00002d3c: POP
00002d3d: PUSH1 0x00
00002d3f: PUSH2 0x2d50
00002d42: DUP6
00002d43: PUSH1 0x80
00002d45: ADD
00002d46: MLOAD
00002d47: DUP7
00002d48: PUSH1 0x40
00002d4a: ADD
00002d4b: MLOAD
00002d4c: PUSH2 0x271b
00002d4f: JUMP
00002d50: JUMPDEST
00002d51: SWAP1
00002d52: POP
00002d53: PUSH2 0x2d5e
00002d56: DUP6
00002d57: DUP6
00002d58: DUP5
00002d59: DUP5
00002d5a: PUSH2 0x41bb
00002d5d: JUMP
00002d5e: JUMPDEST
00002d5f: PUSH1 0x80
00002d61: DUP9
00002d62: ADD
00002d63: DUP1
00002d64: MLOAD
00002d65: PUSH1 0x00
00002d67: SWAP1
00002d68: DUP2
00002d69: MSTORE
00002d6a: PUSH1 0x07
00002d6c: PUSH1 0x20
00002d6e: DUP2
00002d6f: DUP2
00002d70: MSTORE
00002d71: PUSH1 0x40
00002d73: DUP1
00002d74: DUP5
00002d75: KECCAK256
00002d76: DUP3
00002d77: DUP15
00002d78: ADD
00002d79: MLOAD
00002d7a: PUSH1 0x01
00002d7c: PUSH1 0x01
00002d7e: PUSH1 0xa0
00002d80: SHL
00002d81: SUB
00002d82: SWAP1
00002d83: DUP2
00002d84: AND
00002d85: DUP7
00002d86: MSTORE
00002d87: SWAP1
00002d88: DUP4
00002d89: MSTORE
00002d8a: DUP2
00002d8b: DUP6
00002d8c: KECCAK256
00002d8d: SWAP9
00002d8e: SWAP1
00002d8f: SWAP9
00002d90: SSTORE
00002d91: SWAP4
00002d92: MLOAD
00002d93: DUP4
00002d94: MSTORE
00002d95: SWAP1
00002d96: DUP2
00002d97: MSTORE
00002d98: DUP3
00002d99: DUP3
00002d9a: KECCAK256
00002d9b: SWAP11
00002d9c: DUP4
00002d9d: ADD
00002d9e: MLOAD
00002d9f: SWAP1
00002da0: SWAP6
00002da1: AND
00002da2: DUP2
00002da3: MSTORE
00002da4: SWAP9
00002da5: SWAP1
00002da6: SWAP4
00002da7: MSTORE
00002da8: SWAP2
00002da9: SWAP1
00002daa: SWAP7
00002dab: KECCAK256
00002dac: SWAP6
00002dad: SWAP1
00002dae: SWAP6
00002daf: SSTORE
00002db0: POP
00002db1: SWAP3
00002db2: SWAP4
00002db3: SWAP3
00002db4: POP
00002db5: POP
00002db6: POP
00002db7: JUMP
00002db8: JUMPDEST
00002db9: PUSH1 0x80
00002dbb: DUP3
00002dbc: ADD
00002dbd: MLOAD
00002dbe: PUSH1 0x00
00002dc0: SWAP1
00002dc1: DUP2
00002dc2: MSTORE
00002dc3: PUSH1 0x01
00002dc5: PUSH1 0x20
00002dc7: SWAP1
00002dc8: DUP2
00002dc9: MSTORE
00002dca: PUSH1 0x40
00002dcc: DUP3
00002dcd: KECCAK256
00002dce: SWAP1
00002dcf: DUP5
00002dd0: ADD
00002dd1: MLOAD
00002dd2: DUP3
00002dd3: SWAP2
00002dd4: DUP3
00002dd5: SWAP2
00002dd6: DUP3
00002dd7: SWAP1
00002dd8: PUSH2 0x2de2
00002ddb: SWAP1
00002ddc: DUP4
00002ddd: SWAP1
00002dde: PUSH2 0x430c
00002de1: JUMP
00002de2: JUMPDEST
00002de3: SWAP1
00002de4: POP
00002de5: PUSH1 0x00
00002de7: PUSH2 0x2dfd
00002dea: DUP9
00002deb: PUSH1 0x40
00002ded: ADD
00002dee: MLOAD
00002def: DUP5
00002df0: PUSH2 0x430c
00002df3: SWAP1
00002df4: SWAP2
00002df5: SWAP1
00002df6: PUSH4 0xffffffff
00002dfb: AND
00002dfc: JUMP
00002dfd: JUMPDEST
00002dfe: SWAP1
00002dff: POP
00002e00: DUP2
00002e01: ISZERO
00002e02: DUP1
00002e03: PUSH2 0x2e0a
00002e06: JUMPI
00002e07: POP
00002e08: DUP1
00002e09: ISZERO
00002e0a: JUMPDEST
00002e0b: ISZERO
00002e0c: PUSH2 0x2e27
00002e0f: JUMPI
00002e10: PUSH2 0x2e1c
00002e13: DUP9
00002e14: PUSH1 0x80
00002e16: ADD
00002e17: MLOAD
00002e18: PUSH2 0x2683
00002e1b: JUMP
00002e1c: JUMPDEST
00002e1d: PUSH2 0x2e27
00002e20: PUSH2 0x0209
00002e23: PUSH2 0x16fb
00002e26: JUMP
00002e27: JUMPDEST
00002e28: PUSH1 0x00
00002e2a: NOT
00002e2b: SWAP2
00002e2c: DUP3
00002e2d: ADD
00002e2e: SWAP2
00002e2f: ADD
00002e30: PUSH1 0x00
00002e32: PUSH2 0x2e3a
00002e35: DUP5
00002e36: PUSH2 0x432b
00002e39: JUMP
00002e3a: JUMPDEST
00002e3b: SWAP1
00002e3c: POP
00002e3d: PUSH1 0x60
00002e3f: DUP2
00002e40: PUSH8 0xffffffffffffffff
00002e49: DUP2
00002e4a: GT
00002e4b: DUP1
00002e4c: ISZERO
00002e4d: PUSH2 0x2e55
00002e50: JUMPI
00002e51: PUSH1 0x00
00002e53: DUP1
00002e54: REVERT
00002e55: JUMPDEST
00002e56: POP
00002e57: PUSH1 0x40
00002e59: MLOAD
00002e5a: SWAP1
00002e5b: DUP1
00002e5c: DUP3
00002e5d: MSTORE
00002e5e: DUP1
00002e5f: PUSH1 0x20
00002e61: MUL
00002e62: PUSH1 0x20
00002e64: ADD
00002e65: DUP3
00002e66: ADD
00002e67: PUSH1 0x40
00002e69: MSTORE
00002e6a: DUP1
00002e6b: ISZERO
00002e6c: PUSH2 0x2e7f
00002e6f: JUMPI
00002e70: DUP2
00002e71: PUSH1 0x20
00002e73: ADD
00002e74: PUSH1 0x20
00002e76: DUP3
00002e77: MUL
00002e78: DUP1
00002e79: CALLDATASIZE
00002e7a: DUP4
00002e7b: CALLDATACOPY
00002e7c: ADD
00002e7d: SWAP1
00002e7e: POP
00002e7f: JUMPDEST
00002e80: POP
00002e81: PUSH1 0x00
00002e83: PUSH1 0xa0
00002e85: DUP13
00002e86: ADD
00002e87: DUP2
00002e88: SWAP1
00002e89: MSTORE
00002e8a: SWAP1
00002e8b: SWAP2
00002e8c: POP
00002e8d: JUMPDEST
00002e8e: DUP3
00002e8f: DUP2
00002e90: LT
00002e91: ISZERO
00002e92: PUSH2 0x2eff
00002e95: JUMPI
00002e96: PUSH1 0x00
00002e98: PUSH2 0x2ea1
00002e9b: DUP8
00002e9c: DUP4
00002e9d: PUSH2 0x432f
00002ea0: JUMP
00002ea1: JUMPDEST
00002ea2: SWAP1
00002ea3: POP
00002ea4: PUSH2 0x2eac
00002ea7: DUP2
00002ea8: PUSH2 0x3ff9
00002eab: JUMP
00002eac: JUMPDEST
00002ead: DUP4
00002eae: DUP4
00002eaf: DUP2
00002eb0: MLOAD
00002eb1: DUP2
00002eb2: LT
00002eb3: PUSH2 0x2eb8
00002eb6: JUMPI
00002eb7: INVALID
00002eb8: JUMPDEST
00002eb9: PUSH1 0x20
00002ebb: MUL
00002ebc: PUSH1 0x20
00002ebe: ADD
00002ebf: ADD
00002ec0: DUP2
00002ec1: DUP2
00002ec2: MSTORE
00002ec3: POP
00002ec4: POP
00002ec5: PUSH2 0x2ed5
00002ec8: DUP13
00002ec9: PUSH1 0xa0
00002ecb: ADD
00002ecc: MLOAD
00002ecd: PUSH2 0x2a3f
00002ed0: DUP4
00002ed1: PUSH2 0x27ca
00002ed4: JUMP
00002ed5: JUMPDEST
00002ed6: PUSH1 0xa0
00002ed8: DUP14
00002ed9: ADD
00002eda: MSTORE
00002edb: DUP2
00002edc: DUP7
00002edd: EQ
00002ede: ISZERO
00002edf: PUSH2 0x2eea
00002ee2: JUMPI
00002ee3: DUP1
00002ee4: SWAP9
00002ee5: POP
00002ee6: PUSH2 0x2ef6
00002ee9: JUMP
00002eea: JUMPDEST
00002eeb: DUP5
00002eec: DUP3
00002eed: EQ
00002eee: ISZERO
00002eef: PUSH2 0x2ef6
00002ef2: JUMPI
00002ef3: DUP1
00002ef4: SWAP8
00002ef5: POP
00002ef6: JUMPDEST
00002ef7: POP
00002ef8: PUSH1 0x01
00002efa: ADD
00002efb: PUSH2 0x2e8d
00002efe: JUMP
00002eff: JUMPDEST
00002f00: POP
00002f01: PUSH1 0x40
00002f03: MLOAD
00002f04: PUSH32 0x01ec954a00000000000000000000000000000000000000000000000000000000
00002f25: DUP2
00002f26: MSTORE
00002f27: PUSH1 0x01
00002f29: PUSH1 0x01
00002f2b: PUSH1 0xa0
00002f2d: SHL
00002f2e: SUB
00002f2f: DUP11
00002f30: AND
00002f31: SWAP1
00002f32: PUSH4 0x01ec954a
00002f37: SWAP1
00002f38: PUSH2 0x2f4b
00002f3b: SWAP1
00002f3c: DUP14
00002f3d: SWAP1
00002f3e: DUP6
00002f3f: SWAP1
00002f40: DUP10
00002f41: SWAP1
00002f42: DUP10
00002f43: SWAP1
00002f44: PUSH1 0x04
00002f46: ADD
00002f47: PUSH2 0x5e5b
00002f4a: JUMP
00002f4b: JUMPDEST
00002f4c: PUSH1 0x20
00002f4e: PUSH1 0x40
00002f50: MLOAD
00002f51: DUP1
00002f52: DUP4
00002f53: SUB
00002f54: DUP2
00002f55: PUSH1 0x00
00002f57: DUP8
00002f58: DUP1
00002f59: EXTCODESIZE
00002f5a: ISZERO
00002f5b: DUP1
00002f5c: ISZERO
00002f5d: PUSH2 0x2f65
00002f60: JUMPI
00002f61: PUSH1 0x00
00002f63: DUP1
00002f64: REVERT
00002f65: JUMPDEST
00002f66: POP
00002f67: GAS
00002f68: CALL
00002f69: ISZERO
00002f6a: DUP1
00002f6b: ISZERO
00002f6c: PUSH2 0x2f79
00002f6f: JUMPI
00002f70: RETURNDATASIZE
00002f71: PUSH1 0x00
00002f73: DUP1
00002f74: RETURNDATACOPY
00002f75: RETURNDATASIZE
00002f76: PUSH1 0x00
00002f78: REVERT
00002f79: JUMPDEST
00002f7a: POP
00002f7b: POP
00002f7c: POP
00002f7d: POP
00002f7e: PUSH1 0x40
00002f80: MLOAD
00002f81: RETURNDATASIZE
00002f82: PUSH1 0x1f
00002f84: NOT
00002f85: PUSH1 0x1f
00002f87: DUP3
00002f88: ADD
00002f89: AND
00002f8a: DUP3
00002f8b: ADD
00002f8c: DUP1
00002f8d: PUSH1 0x40
00002f8f: MSTORE
00002f90: POP
00002f91: DUP2
00002f92: ADD
00002f93: SWAP1
00002f94: PUSH2 0x2f9d
00002f97: SWAP2
00002f98: SWAP1
00002f99: PUSH2 0x5968
00002f9c: JUMP
00002f9d: JUMPDEST
00002f9e: SWAP8
00002f9f: POP
00002fa0: PUSH1 0x00
00002fa2: DUP1
00002fa3: PUSH2 0x2fb5
00002fa6: DUP13
00002fa7: PUSH1 0x00
00002fa9: ADD
00002faa: MLOAD
00002fab: DUP14
00002fac: PUSH1 0x60
00002fae: ADD
00002faf: MLOAD
00002fb0: DUP13
00002fb1: PUSH2 0x2ff7
00002fb4: JUMP
00002fb5: JUMPDEST
00002fb6: SWAP1
00002fb7: SWAP3
00002fb8: POP
00002fb9: SWAP1
00002fba: POP
00002fbb: PUSH2 0x2fc4
00002fbe: DUP10
00002fbf: DUP4
00002fc0: PUSH2 0x4345
00002fc3: JUMP
00002fc4: JUMPDEST
00002fc5: SWAP9
00002fc6: POP
00002fc7: PUSH2 0x2fd0
00002fca: DUP9
00002fcb: DUP3
00002fcc: PUSH2 0x4376
00002fcf: JUMP
00002fd0: JUMPDEST
00002fd1: SWAP8
00002fd2: POP
00002fd3: PUSH2 0x2fdd
00002fd6: DUP8
00002fd7: DUP8
00002fd8: DUP12
00002fd9: PUSH2 0x438c
00002fdc: JUMP
00002fdd: JUMPDEST
00002fde: PUSH2 0x2fe8
00002fe1: DUP8
00002fe2: DUP7
00002fe3: DUP11
00002fe4: PUSH2 0x438c
00002fe7: JUMP
00002fe8: JUMPDEST
00002fe9: POP
00002fea: POP
00002feb: POP
00002fec: POP
00002fed: POP
00002fee: POP
00002fef: POP
00002ff0: POP
00002ff1: POP
00002ff2: SWAP3
00002ff3: SWAP2
00002ff4: POP
00002ff5: POP
00002ff6: JUMP
00002ff7: JUMPDEST
00002ff8: PUSH1 0x00
00002ffa: DUP1
00002ffb: DUP1
00002ffc: DUP6
00002ffd: PUSH1 0x01
00002fff: DUP2
00003000: GT
00003001: ISZERO
00003002: PUSH2 0x3007
00003005: JUMPI
00003006: INVALID
00003007: JUMPDEST
00003008: EQ
00003009: ISZERO
0000300a: PUSH2 0x3017
0000300d: JUMPI
0000300e: POP
0000300f: DUP3
00003010: SWAP1
00003011: POP
00003012: DUP2
00003013: PUSH2 0x301d
00003016: JUMP
00003017: JUMPDEST
00003018: POP
00003019: DUP2
0000301a: SWAP1
0000301b: POP
0000301c: DUP3
0000301d: JUMPDEST
0000301e: SWAP4
0000301f: POP
00003020: SWAP4
00003021: SWAP2
00003022: POP
00003023: POP
00003024: JUMP
00003025: JUMPDEST
00003026: PUSH1 0x00
00003028: DUP3
00003029: DUP3
0000302a: MUL
0000302b: PUSH2 0x3049
0000302e: DUP5
0000302f: ISZERO
00003030: DUP1
00003031: PUSH2 0x3042
00003034: JUMPI
00003035: POP
00003036: DUP4
00003037: DUP6
00003038: DUP4
00003039: DUP2
0000303a: PUSH2 0x303f
0000303d: JUMPI
0000303e: INVALID
0000303f: JUMPDEST
00003040: DIV
00003041: EQ
00003042: JUMPDEST
00003043: PUSH1 0x03
00003045: PUSH2 0x054b
00003048: JUMP
00003049: JUMPDEST
0000304a: DUP1
0000304b: PUSH2 0x3058
0000304e: JUMPI
0000304f: PUSH1 0x00
00003051: SWAP2
00003052: POP
00003053: POP
00003054: PUSH2 0x16f5
00003057: JUMP
00003058: JUMPDEST
00003059: PUSH8 0x0de0b6b3a7640000
00003062: PUSH1 0x00
00003064: NOT
00003065: DUP3
00003066: ADD
00003067: DIV
00003068: PUSH1 0x01
0000306a: ADD
0000306b: SWAP2
0000306c: POP
0000306d: POP
0000306e: PUSH2 0x16f5
00003071: JUMP
00003072: JUMPDEST
00003073: PUSH1 0x00
00003075: PUSH1 0x60
00003077: DUP4
00003078: PUSH1 0x01
0000307a: PUSH1 0x01
0000307c: PUSH1 0xa0
0000307e: SHL
0000307f: SUB
00003080: AND
00003081: DUP4
00003082: PUSH1 0x40
00003084: MLOAD
00003085: PUSH2 0x308e
00003088: SWAP2
00003089: SWAP1
0000308a: PUSH2 0x5aea
0000308d: JUMP
0000308e: JUMPDEST
0000308f: PUSH1 0x00
00003091: PUSH1 0x40
00003093: MLOAD
00003094: DUP1
00003095: DUP4
00003096: SUB
00003097: DUP2
00003098: PUSH1 0x00
0000309a: DUP7
0000309b: GAS
0000309c: CALL
0000309d: SWAP2
0000309e: POP
0000309f: POP
000030a0: RETURNDATASIZE
000030a1: DUP1
000030a2: PUSH1 0x00
000030a4: DUP2
000030a5: EQ
000030a6: PUSH2 0x30cb
000030a9: JUMPI
000030aa: PUSH1 0x40
000030ac: MLOAD
000030ad: SWAP2
000030ae: POP
000030af: PUSH1 0x1f
000030b1: NOT
000030b2: PUSH1 0x3f
000030b4: RETURNDATASIZE
000030b5: ADD
000030b6: AND
000030b7: DUP3
000030b8: ADD
000030b9: PUSH1 0x40
000030bb: MSTORE
000030bc: RETURNDATASIZE
000030bd: DUP3
000030be: MSTORE
000030bf: RETURNDATASIZE
000030c0: PUSH1 0x00
000030c2: PUSH1 0x20
000030c4: DUP5
000030c5: ADD
000030c6: RETURNDATACOPY
000030c7: PUSH2 0x30d0
000030ca: JUMP
000030cb: JUMPDEST
000030cc: PUSH1 0x60
000030ce: SWAP2
000030cf: POP
000030d0: JUMPDEST
000030d1: POP
000030d2: SWAP2
000030d3: POP
000030d4: SWAP2
000030d5: POP
000030d6: PUSH1 0x00
000030d8: DUP3
000030d9: EQ
000030da: ISZERO
000030db: PUSH2 0x30e8
000030de: JUMPI
000030df: RETURNDATASIZE
000030e0: PUSH1 0x00
000030e2: DUP1
000030e3: RETURNDATACOPY
000030e4: RETURNDATASIZE
000030e5: PUSH1 0x00
000030e7: REVERT
000030e8: JUMPDEST
000030e9: PUSH2 0x0e00
000030ec: DUP2
000030ed: MLOAD
000030ee: PUSH1 0x00
000030f0: EQ
000030f1: DUP1
000030f2: PUSH2 0x310a
000030f5: JUMPI
000030f6: POP
000030f7: DUP2
000030f8: DUP1
000030f9: PUSH1 0x20
000030fb: ADD
000030fc: SWAP1
000030fd: MLOAD
000030fe: DUP2
000030ff: ADD
00003100: SWAP1
00003101: PUSH2 0x310a
00003104: SWAP2
00003105: SWAP1
00003106: PUSH2 0x5478
00003109: JUMP
0000310a: JUMPDEST
0000310b: PUSH2 0x01a2
0000310e: PUSH2 0x054b
00003111: JUMP
00003112: JUMPDEST
00003113: PUSH1 0x00
00003115: PUSH2 0x311e
00003118: DUP4
00003119: DUP4
0000311a: PUSH2 0x3aa1
0000311d: JUMP
0000311e: JUMPDEST
0000311f: PUSH2 0x316d
00003122: JUMPI
00003123: POP
00003124: DUP2
00003125: SLOAD
00003126: PUSH1 0x01
00003128: DUP1
00003129: DUP3
0000312a: ADD
0000312b: DUP5
0000312c: SSTORE
0000312d: PUSH1 0x00
0000312f: DUP5
00003130: DUP2
00003131: MSTORE
00003132: PUSH1 0x20
00003134: DUP1
00003135: DUP3
00003136: KECCAK256
00003137: SWAP1
00003138: SWAP4
00003139: ADD
0000313a: DUP1
0000313b: SLOAD
0000313c: PUSH1 0x01
0000313e: PUSH1 0x01
00003140: PUSH1 0xa0
00003142: SHL
00003143: SUB
00003144: NOT
00003145: AND
00003146: PUSH1 0x01
00003148: PUSH1 0x01
0000314a: PUSH1 0xa0
0000314c: SHL
0000314d: SUB
0000314e: DUP7
0000314f: AND
00003150: SWAP1
00003151: DUP2
00003152: OR
00003153: SWAP1
00003154: SWAP2
00003155: SSTORE
00003156: DUP6
00003157: SLOAD
00003158: SWAP1
00003159: DUP3
0000315a: MSTORE
0000315b: DUP3
0000315c: DUP7
0000315d: ADD
0000315e: SWAP1
0000315f: SWAP4
00003160: MSTORE
00003161: PUSH1 0x40
00003163: SWAP1
00003164: KECCAK256
00003165: SWAP2
00003166: SWAP1
00003167: SWAP2
00003168: SSTORE
00003169: PUSH2 0x16f5
0000316c: JUMP
0000316d: JUMPDEST
0000316e: POP
0000316f: PUSH1 0x00
00003171: PUSH2 0x16f5
00003174: JUMP
00003175: JUMPDEST
00003176: PUSH1 0x01
00003178: PUSH1 0x01
0000317a: PUSH1 0xa0
0000317c: SHL
0000317d: SUB
0000317e: DUP3
0000317f: AND
00003180: PUSH1 0x00
00003182: SWAP1
00003183: DUP2
00003184: MSTORE
00003185: PUSH1 0x02
00003187: DUP5
00003188: ADD
00003189: PUSH1 0x20
0000318b: MSTORE
0000318c: PUSH1 0x40
0000318e: DUP2
0000318f: KECCAK256
00003190: SLOAD
00003191: DUP1
00003192: PUSH2 0x3202
00003195: JUMPI
00003196: POP
00003197: POP
00003198: DUP3
00003199: SLOAD
0000319a: PUSH1 0x40
0000319c: DUP1
0000319d: MLOAD
0000319e: DUP1
0000319f: DUP3
000031a0: ADD
000031a1: DUP3
000031a2: MSTORE
000031a3: PUSH1 0x01
000031a5: PUSH1 0x01
000031a7: PUSH1 0xa0
000031a9: SHL
000031aa: SUB
000031ab: DUP6
000031ac: DUP2
000031ad: AND
000031ae: DUP1
000031af: DUP4
000031b0: MSTORE
000031b1: PUSH1 0x20
000031b3: DUP1
000031b4: DUP5
000031b5: ADD
000031b6: DUP8
000031b7: DUP2
000031b8: MSTORE
000031b9: PUSH1 0x00
000031bb: DUP8
000031bc: DUP2
000031bd: MSTORE
000031be: PUSH1 0x01
000031c0: DUP1
000031c1: DUP13
000031c2: ADD
000031c3: DUP5
000031c4: MSTORE
000031c5: DUP8
000031c6: DUP3
000031c7: KECCAK256
000031c8: SWAP7
000031c9: MLOAD
000031ca: DUP8
000031cb: SLOAD
000031cc: PUSH1 0x01
000031ce: PUSH1 0x01
000031d0: PUSH1 0xa0
000031d2: SHL
000031d3: SUB
000031d4: NOT
000031d5: AND
000031d6: SWAP7
000031d7: AND
000031d8: SWAP6
000031d9: SWAP1
000031da: SWAP6
000031db: OR
000031dc: DUP7
000031dd: SSTORE
000031de: SWAP1
000031df: MLOAD
000031e0: SWAP5
000031e1: DUP5
000031e2: ADD
000031e3: SWAP5
000031e4: SWAP1
000031e5: SWAP5
000031e6: SSTORE
000031e7: SWAP5
000031e8: DUP3
000031e9: ADD
000031ea: DUP1
000031eb: DUP10
000031ec: SSTORE
000031ed: SWAP1
000031ee: DUP4
000031ef: MSTORE
000031f0: PUSH1 0x02
000031f2: DUP9
000031f3: ADD
000031f4: SWAP1
000031f5: SWAP5
000031f6: MSTORE
000031f7: SWAP2
000031f8: SWAP1
000031f9: KECCAK256
000031fa: SWAP2
000031fb: SWAP1
000031fc: SWAP2
000031fd: SSTORE
000031fe: PUSH2 0x1876
00003201: JUMP
00003202: JUMPDEST
00003203: PUSH1 0x00
00003205: NOT
00003206: ADD
00003207: PUSH1 0x00
00003209: SWAP1
0000320a: DUP2
0000320b: MSTORE
0000320c: PUSH1 0x01
0000320e: DUP1
0000320f: DUP7
00003210: ADD
00003211: PUSH1 0x20
00003213: MSTORE
00003214: PUSH1 0x40
00003216: DUP3
00003217: KECCAK256
00003218: ADD
00003219: DUP4
0000321a: SWAP1
0000321b: SSTORE
0000321c: SWAP1
0000321d: POP
0000321e: PUSH2 0x1876
00003221: JUMP
00003222: JUMPDEST
00003223: PUSH1 0x00
00003225: DUP1
00003226: PUSH1 0x00
00003228: DUP1
00003229: PUSH1 0x00
0000322b: PUSH2 0x3234
0000322e: DUP8
0000322f: DUP8
00003230: PUSH2 0x43a4
00003233: JUMP
00003234: JUMPDEST
00003235: SWAP2
00003236: POP
00003237: SWAP2
00003238: POP
00003239: PUSH1 0x00
0000323b: PUSH2 0x3244
0000323e: DUP4
0000323f: DUP4
00003240: PUSH2 0x43d5
00003243: JUMP
00003244: JUMPDEST
00003245: PUSH1 0x00
00003247: DUP11
00003248: DUP2
00003249: MSTORE
0000324a: PUSH1 0x09
0000324c: PUSH1 0x20
0000324e: SWAP1
0000324f: DUP2
00003250: MSTORE
00003251: PUSH1 0x40
00003253: DUP1
00003254: DUP4
00003255: KECCAK256
00003256: DUP5
00003257: DUP5
00003258: MSTORE
00003259: PUSH1 0x02
0000325b: ADD
0000325c: SWAP1
0000325d: SWAP2
0000325e: MSTORE
0000325f: DUP2
00003260: KECCAK256
00003261: DUP1
00003262: SLOAD
00003263: PUSH1 0x01
00003265: DUP3
00003266: ADD
00003267: SLOAD
00003268: SWAP2
00003269: SWAP8
0000326a: POP
0000326b: SWAP3
0000326c: SWAP4
0000326d: POP
0000326e: SWAP1
0000326f: PUSH2 0x3277
00003272: DUP4
00003273: PUSH2 0x3a8f
00003276: JUMP
00003277: JUMPDEST
00003278: DUP1
00003279: PUSH2 0x3286
0000327c: JUMPI
0000327d: POP
0000327e: PUSH2 0x3286
00003281: DUP3
00003282: PUSH2 0x3a8f
00003285: JUMP
00003286: JUMPDEST
00003287: DUP1
00003288: PUSH2 0x32a7
0000328b: JUMPI
0000328c: POP
0000328d: PUSH2 0x3296
00003290: DUP13
00003291: DUP8
00003292: PUSH2 0x3ac2
00003295: JUMP
00003296: JUMPDEST
00003297: DUP1
00003298: ISZERO
00003299: PUSH2 0x32a7
0000329c: JUMPI
0000329d: POP
0000329e: PUSH2 0x32a7
000032a1: DUP13
000032a2: DUP7
000032a3: PUSH2 0x3ac2
000032a6: JUMP
000032a7: JUMPDEST
000032a8: SWAP1
000032a9: POP
000032aa: DUP1
000032ab: PUSH2 0x32c2
000032ae: JUMPI
000032af: PUSH2 0x32b7
000032b2: DUP13
000032b3: PUSH2 0x2683
000032b6: JUMP
000032b7: JUMPDEST
000032b8: PUSH2 0x32c2
000032bb: PUSH2 0x0209
000032be: PUSH2 0x16fb
000032c1: JUMP
000032c2: JUMPDEST
000032c3: PUSH2 0x32cc
000032c6: DUP4
000032c7: DUP4
000032c8: PUSH2 0x4408
000032cb: JUMP
000032cc: JUMPDEST
000032cd: SWAP9
000032ce: POP
000032cf: PUSH2 0x32d8
000032d2: DUP4
000032d3: DUP4
000032d4: PUSH2 0x442d
000032d7: JUMP
000032d8: JUMPDEST
000032d9: SWAP8
000032da: POP
000032db: POP
000032dc: POP
000032dd: POP
000032de: POP
000032df: POP
000032e0: POP
000032e1: SWAP4
000032e2: POP
000032e3: SWAP4
000032e4: POP
000032e5: SWAP4
000032e6: SWAP1
000032e7: POP
000032e8: JUMP
000032e9: JUMPDEST
000032ea: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003307: AND
00003308: ISZERO
00003309: SWAP1
0000330a: JUMP
0000330b: JUMPDEST
0000330c: PUSH1 0x01
0000330e: PUSH1 0x01
00003310: PUSH1 0xa0
00003312: SHL
00003313: SUB
00003314: DUP2
00003315: AND
00003316: PUSH1 0x00
00003318: SWAP1
00003319: DUP2
0000331a: MSTORE
0000331b: PUSH1 0x01
0000331d: DUP4
0000331e: ADD
0000331f: PUSH1 0x20
00003321: MSTORE
00003322: PUSH1 0x40
00003324: DUP2
00003325: KECCAK256
00003326: SLOAD
00003327: DUP1
00003328: ISZERO
00003329: PUSH2 0x3408
0000332c: JUMPI
0000332d: DUP4
0000332e: SLOAD
0000332f: PUSH1 0x00
00003331: NOT
00003332: DUP1
00003333: DUP4
00003334: ADD
00003335: SWAP2
00003336: SWAP1
00003337: DUP2
00003338: ADD
00003339: SWAP1
0000333a: PUSH1 0x00
0000333c: SWAP1
0000333d: DUP8
0000333e: SWAP1
0000333f: DUP4
00003340: SWAP1
00003341: DUP2
00003342: LT
00003343: PUSH2 0x3348
00003346: JUMPI
00003347: INVALID
00003348: JUMPDEST
00003349: PUSH1 0x00
0000334b: SWAP2
0000334c: DUP3
0000334d: MSTORE
0000334e: PUSH1 0x20
00003350: SWAP1
00003351: SWAP2
00003352: KECCAK256
00003353: ADD
00003354: SLOAD
00003355: DUP8
00003356: SLOAD
00003357: PUSH1 0x01
00003359: PUSH1 0x01
0000335b: PUSH1 0xa0
0000335d: SHL
0000335e: SUB
0000335f: SWAP1
00003360: SWAP2
00003361: AND
00003362: SWAP2
00003363: POP
00003364: DUP2
00003365: SWAP1
00003366: DUP9
00003367: SWAP1
00003368: DUP6
00003369: SWAP1
0000336a: DUP2
0000336b: LT
0000336c: PUSH2 0x3371
0000336f: JUMPI
00003370: INVALID
00003371: JUMPDEST
00003372: PUSH1 0x00
00003374: SWAP2
00003375: DUP3
00003376: MSTORE
00003377: PUSH1 0x20
00003379: DUP1
0000337a: DUP4
0000337b: KECCAK256
0000337c: SWAP2
0000337d: SWAP1
0000337e: SWAP2
0000337f: ADD
00003380: DUP1
00003381: SLOAD
00003382: PUSH1 0x01
00003384: PUSH1 0x01
00003386: PUSH1 0xa0
00003388: SHL
00003389: SUB
0000338a: NOT
0000338b: AND
0000338c: PUSH1 0x01
0000338e: PUSH1 0x01
00003390: PUSH1 0xa0
00003392: SHL
00003393: SUB
00003394: SWAP5
00003395: DUP6
00003396: AND
00003397: OR
00003398: SWAP1
00003399: SSTORE
0000339a: SWAP2
0000339b: DUP4
0000339c: AND
0000339d: DUP2
0000339e: MSTORE
0000339f: PUSH1 0x01
000033a1: DUP10
000033a2: DUP2
000033a3: ADD
000033a4: SWAP1
000033a5: SWAP3
000033a6: MSTORE
000033a7: PUSH1 0x40
000033a9: SWAP1
000033aa: KECCAK256
000033ab: SWAP1
000033ac: DUP5
000033ad: ADD
000033ae: SWAP1
000033af: SSTORE
000033b0: DUP7
000033b1: SLOAD
000033b2: DUP8
000033b3: SWAP1
000033b4: DUP1
000033b5: PUSH2 0x33ba
000033b8: JUMPI
000033b9: INVALID
000033ba: JUMPDEST
000033bb: PUSH1 0x00
000033bd: DUP3
000033be: DUP2
000033bf: MSTORE
000033c0: PUSH1 0x20
000033c2: DUP1
000033c3: DUP3
000033c4: KECCAK256
000033c5: DUP4
000033c6: ADD
000033c7: PUSH1 0x00
000033c9: NOT
000033ca: SWAP1
000033cb: DUP2
000033cc: ADD
000033cd: DUP1
000033ce: SLOAD
000033cf: PUSH1 0x01
000033d1: PUSH1 0x01
000033d3: PUSH1 0xa0
000033d5: SHL
000033d6: SUB
000033d7: NOT
000033d8: AND
000033d9: SWAP1
000033da: SSTORE
000033db: SWAP1
000033dc: SWAP3
000033dd: ADD
000033de: SWAP1
000033df: SWAP3
000033e0: SSTORE
000033e1: PUSH1 0x01
000033e3: PUSH1 0x01
000033e5: PUSH1 0xa0
000033e7: SHL
000033e8: SUB
000033e9: DUP9
000033ea: AND
000033eb: DUP3
000033ec: MSTORE
000033ed: PUSH1 0x01
000033ef: DUP10
000033f0: DUP2
000033f1: ADD
000033f2: SWAP1
000033f3: SWAP2
000033f4: MSTORE
000033f5: PUSH1 0x40
000033f7: DUP3
000033f8: KECCAK256
000033f9: SWAP2
000033fa: SWAP1
000033fb: SWAP2
000033fc: SSTORE
000033fd: SWAP5
000033fe: POP
000033ff: PUSH2 0x16f5
00003402: SWAP4
00003403: POP
00003404: POP
00003405: POP
00003406: POP
00003407: JUMP
00003408: JUMPDEST
00003409: PUSH1 0x00
0000340b: SWAP2
0000340c: POP
0000340d: POP
0000340e: PUSH2 0x16f5
00003411: JUMP
00003412: JUMPDEST
00003413: PUSH1 0x00
00003415: PUSH2 0x16f2
00003418: DUP4
00003419: DUP4
0000341a: PUSH2 0x0209
0000341d: PUSH2 0x4444
00003420: JUMP
00003421: JUMPDEST
00003422: PUSH1 0x01
00003424: PUSH1 0x01
00003426: PUSH1 0xa0
00003428: SHL
00003429: SUB
0000342a: DUP2
0000342b: AND
0000342c: PUSH1 0x00
0000342e: SWAP1
0000342f: DUP2
00003430: MSTORE
00003431: PUSH1 0x02
00003433: DUP4
00003434: ADD
00003435: PUSH1 0x20
00003437: MSTORE
00003438: PUSH1 0x40
0000343a: DUP2
0000343b: KECCAK256
0000343c: SLOAD
0000343d: DUP1
0000343e: ISZERO
0000343f: PUSH2 0x3408
00003442: JUMPI
00003443: DUP4
00003444: SLOAD
00003445: PUSH1 0x00
00003447: NOT
00003448: SWAP1
00003449: DUP2
0000344a: ADD
0000344b: PUSH1 0x00
0000344d: DUP2
0000344e: DUP2
0000344f: MSTORE
00003450: PUSH1 0x01
00003452: DUP8
00003453: DUP2
00003454: ADD
00003455: PUSH1 0x20
00003457: SWAP1
00003458: DUP2
00003459: MSTORE
0000345a: PUSH1 0x40
0000345c: DUP1
0000345d: DUP5
0000345e: KECCAK256
0000345f: SWAP6
00003460: DUP8
00003461: ADD
00003462: DUP5
00003463: MSTORE
00003464: DUP1
00003465: DUP5
00003466: KECCAK256
00003467: DUP7
00003468: SLOAD
00003469: DUP2
0000346a: SLOAD
0000346b: PUSH1 0x01
0000346d: PUSH1 0x01
0000346f: PUSH1 0xa0
00003471: SHL
00003472: SUB
00003473: NOT
00003474: SWAP1
00003475: DUP2
00003476: AND
00003477: PUSH1 0x01
00003479: PUSH1 0x01
0000347b: PUSH1 0xa0
0000347d: SHL
0000347e: SUB
0000347f: SWAP3
00003480: DUP4
00003481: AND
00003482: OR
00003483: DUP4
00003484: SSTORE
00003485: DUP9
00003486: DUP7
00003487: ADD
00003488: DUP1
00003489: SLOAD
0000348a: SWAP4
0000348b: DUP8
0000348c: ADD
0000348d: SWAP4
0000348e: SWAP1
0000348f: SWAP4
00003490: SSTORE
00003491: DUP9
00003492: SLOAD
00003493: DUP3
00003494: AND
00003495: DUP8
00003496: MSTORE
00003497: PUSH1 0x02
00003499: DUP14
0000349a: ADD
0000349b: DUP1
0000349c: DUP7
0000349d: MSTORE
0000349e: DUP5
0000349f: DUP9
000034a0: KECCAK256
000034a1: SWAP11
000034a2: SWAP1
000034a3: SWAP11
000034a4: SSTORE
000034a5: DUP9
000034a6: SLOAD
000034a7: AND
000034a8: SWAP1
000034a9: SWAP8
000034aa: SSTORE
000034ab: DUP5
000034ac: SWAP1
000034ad: SSTORE
000034ae: SWAP4
000034af: DUP10
000034b0: SSTORE
000034b1: SWAP4
000034b2: DUP8
000034b3: AND
000034b4: DUP3
000034b5: MSTORE
000034b6: SWAP4
000034b7: SWAP1
000034b8: SWAP3
000034b9: MSTORE
000034ba: DUP2
000034bb: KECCAK256
000034bc: SSTORE
000034bd: SWAP1
000034be: POP
000034bf: PUSH2 0x16f5
000034c2: JUMP
000034c3: JUMPDEST
000034c4: PUSH1 0x60
000034c6: DUP1
000034c7: DUP3
000034c8: MLOAD
000034c9: PUSH8 0xffffffffffffffff
000034d2: DUP2
000034d3: GT
000034d4: DUP1
000034d5: ISZERO
000034d6: PUSH2 0x34de
000034d9: JUMPI
000034da: PUSH1 0x00
000034dc: DUP1
000034dd: REVERT
000034de: JUMPDEST
000034df: POP
000034e0: PUSH1 0x40
000034e2: MLOAD
000034e3: SWAP1
000034e4: DUP1
000034e5: DUP3
000034e6: MSTORE
000034e7: DUP1
000034e8: PUSH1 0x20
000034ea: MUL
000034eb: PUSH1 0x20
000034ed: ADD
000034ee: DUP3
000034ef: ADD
000034f0: PUSH1 0x40
000034f2: MSTORE
000034f3: DUP1
000034f4: ISZERO
000034f5: PUSH2 0x3508
000034f8: JUMPI
000034f9: DUP2
000034fa: PUSH1 0x20
000034fc: ADD
000034fd: PUSH1 0x20
000034ff: DUP3
00003500: MUL
00003501: DUP1
00003502: CALLDATASIZE
00003503: DUP4
00003504: CALLDATACOPY
00003505: ADD
00003506: SWAP1
00003507: POP
00003508: JUMPDEST
00003509: POP
0000350a: SWAP1
0000350b: POP
0000350c: PUSH1 0x00
0000350e: JUMPDEST
0000350f: DUP4
00003510: MLOAD
00003511: DUP2
00003512: LT
00003513: ISZERO
00003514: PUSH2 0x07ff
00003517: JUMPI
00003518: PUSH2 0x3526
0000351b: DUP5
0000351c: DUP3
0000351d: DUP2
0000351e: MLOAD
0000351f: DUP2
00003520: LT
00003521: PUSH2 0x24ac
00003524: JUMPI
00003525: INVALID
00003526: JUMPDEST
00003527: DUP3
00003528: DUP3
00003529: DUP2
0000352a: MLOAD
0000352b: DUP2
0000352c: LT
0000352d: PUSH2 0x3532
00003530: JUMPI
00003531: INVALID
00003532: JUMPDEST
00003533: PUSH1 0x01
00003535: PUSH1 0x01
00003537: PUSH1 0xa0
00003539: SHL
0000353a: SUB
0000353b: SWAP1
0000353c: SWAP3
0000353d: AND
0000353e: PUSH1 0x20
00003540: SWAP3
00003541: DUP4
00003542: MUL
00003543: SWAP2
00003544: SWAP1
00003545: SWAP2
00003546: ADD
00003547: SWAP1
00003548: SWAP2
00003549: ADD
0000354a: MSTORE
0000354b: PUSH1 0x01
0000354d: ADD
0000354e: PUSH2 0x350e
00003551: JUMP
00003552: JUMPDEST
00003553: PUSH1 0x60
00003555: DUP1
00003556: PUSH1 0x60
00003558: PUSH2 0x3560
0000355b: DUP6
0000355c: PUSH2 0x293e
0000355f: JUMP
00003560: JUMPDEST
00003561: SWAP2
00003562: POP
00003563: SWAP2
00003564: POP
00003565: PUSH2 0x3570
00003568: DUP3
00003569: MLOAD
0000356a: DUP6
0000356b: MLOAD
0000356c: PUSH2 0x1e12
0000356f: JUMP
00003570: JUMPDEST
00003571: PUSH2 0x3580
00003574: PUSH1 0x00
00003576: DUP4
00003577: MLOAD
00003578: GT
00003579: PUSH2 0x020f
0000357c: PUSH2 0x054b
0000357f: JUMP
00003580: JUMPDEST
00003581: PUSH1 0x00
00003583: JUMPDEST
00003584: DUP3
00003585: MLOAD
00003586: DUP2
00003587: LT
00003588: ISZERO
00003589: PUSH2 0x35da
0000358c: JUMPI
0000358d: PUSH2 0x35d2
00003590: DUP6
00003591: DUP3
00003592: DUP2
00003593: MLOAD
00003594: DUP2
00003595: LT
00003596: PUSH2 0x359b
00003599: JUMPI
0000359a: INVALID
0000359b: JUMPDEST
0000359c: PUSH1 0x20
0000359e: MUL
0000359f: PUSH1 0x20
000035a1: ADD
000035a2: ADD
000035a3: MLOAD
000035a4: PUSH1 0x01
000035a6: PUSH1 0x01
000035a8: PUSH1 0xa0
000035aa: SHL
000035ab: SUB
000035ac: AND
000035ad: DUP5
000035ae: DUP4
000035af: DUP2
000035b0: MLOAD
000035b1: DUP2
000035b2: LT
000035b3: PUSH2 0x35b8
000035b6: JUMPI
000035b7: INVALID
000035b8: JUMPDEST
000035b9: PUSH1 0x20
000035bb: MUL
000035bc: PUSH1 0x20
000035be: ADD
000035bf: ADD
000035c0: MLOAD
000035c1: PUSH1 0x01
000035c3: PUSH1 0x01
000035c5: PUSH1 0xa0
000035c7: SHL
000035c8: SUB
000035c9: AND
000035ca: EQ
000035cb: PUSH2 0x0208
000035ce: PUSH2 0x054b
000035d1: JUMP
000035d2: JUMPDEST
000035d3: PUSH1 0x01
000035d5: ADD
000035d6: PUSH2 0x3583
000035d9: JUMP
000035da: JUMPDEST
000035db: POP
000035dc: SWAP5
000035dd: SWAP4
000035de: POP
000035df: POP
000035e0: POP
000035e1: POP
000035e2: JUMP
000035e3: JUMPDEST
000035e4: PUSH1 0x60
000035e6: DUP1
000035e7: PUSH1 0x60
000035e9: DUP1
000035ea: PUSH1 0x00
000035ec: PUSH2 0x35f4
000035ef: DUP7
000035f0: PUSH2 0x29a0
000035f3: JUMP
000035f4: JUMPDEST
000035f5: SWAP2
000035f6: POP
000035f7: SWAP2
000035f8: POP
000035f9: PUSH1 0x00
000035fb: PUSH2 0x3603
000035fe: DUP12
000035ff: PUSH2 0x2938
00003602: JUMP
00003603: JUMPDEST
00003604: SWAP1
00003605: POP
00003606: PUSH1 0x00
00003608: DUP13
00003609: PUSH1 0x01
0000360b: DUP2
0000360c: GT
0000360d: ISZERO
0000360e: PUSH2 0x3613
00003611: JUMPI
00003612: INVALID
00003613: JUMPDEST
00003614: EQ
00003615: PUSH2 0x36b6
00003618: JUMPI
00003619: DUP1
0000361a: PUSH1 0x01
0000361c: PUSH1 0x01
0000361e: PUSH1 0xa0
00003620: SHL
00003621: SUB
00003622: AND
00003623: PUSH4 0x74f3b009
00003628: DUP13
00003629: DUP13
0000362a: DUP13
0000362b: DUP8
0000362c: DUP8
0000362d: PUSH2 0x3634
00003630: PUSH2 0x4481
00003633: JUMP
00003634: JUMPDEST
00003635: DUP16
00003636: PUSH1 0x40
00003638: ADD
00003639: MLOAD
0000363a: PUSH1 0x40
0000363c: MLOAD
0000363d: DUP9
0000363e: PUSH4 0xffffffff
00003643: AND
00003644: PUSH1 0xe0
00003646: SHL
00003647: DUP2
00003648: MSTORE
00003649: PUSH1 0x04
0000364b: ADD
0000364c: PUSH2 0x365b
0000364f: SWAP8
00003650: SWAP7
00003651: SWAP6
00003652: SWAP5
00003653: SWAP4
00003654: SWAP3
00003655: SWAP2
00003656: SWAP1
00003657: PUSH2 0x5d66
0000365a: JUMP
0000365b: JUMPDEST
0000365c: PUSH1 0x00
0000365e: PUSH1 0x40
00003660: MLOAD
00003661: DUP1
00003662: DUP4
00003663: SUB
00003664: DUP2
00003665: PUSH1 0x00
00003667: DUP8
00003668: DUP1
00003669: EXTCODESIZE
0000366a: ISZERO
0000366b: DUP1
0000366c: ISZERO
0000366d: PUSH2 0x3675
00003670: JUMPI
00003671: PUSH1 0x00
00003673: DUP1
00003674: REVERT
00003675: JUMPDEST
00003676: POP
00003677: GAS
00003678: CALL
00003679: ISZERO
0000367a: DUP1
0000367b: ISZERO
0000367c: PUSH2 0x3689
0000367f: JUMPI
00003680: RETURNDATASIZE
00003681: PUSH1 0x00
00003683: DUP1
00003684: RETURNDATACOPY
00003685: RETURNDATASIZE
00003686: PUSH1 0x00
00003688: REVERT
00003689: JUMPDEST
0000368a: POP
0000368b: POP
0000368c: POP
0000368d: POP
0000368e: PUSH1 0x40
00003690: MLOAD
00003691: RETURNDATASIZE
00003692: PUSH1 0x00
00003694: DUP3
00003695: RETURNDATACOPY
00003696: PUSH1 0x1f
00003698: RETURNDATASIZE
00003699: SWAP1
0000369a: DUP2
0000369b: ADD
0000369c: PUSH1 0x1f
0000369e: NOT
0000369f: AND
000036a0: DUP3
000036a1: ADD
000036a2: PUSH1 0x40
000036a4: MSTORE
000036a5: PUSH2 0x36b1
000036a8: SWAP2
000036a9: SWAP1
000036aa: DUP2
000036ab: ADD
000036ac: SWAP1
000036ad: PUSH2 0x5405
000036b0: JUMP
000036b1: JUMPDEST
000036b2: PUSH2 0x374f
000036b5: JUMP
000036b6: JUMPDEST
000036b7: DUP1
000036b8: PUSH1 0x01
000036ba: PUSH1 0x01
000036bc: PUSH1 0xa0
000036be: SHL
000036bf: SUB
000036c0: AND
000036c1: PUSH4 0xd5c096c4
000036c6: DUP13
000036c7: DUP13
000036c8: DUP13
000036c9: DUP8
000036ca: DUP8
000036cb: PUSH2 0x36d2
000036ce: PUSH2 0x4481
000036d1: JUMP
000036d2: JUMPDEST
000036d3: DUP16
000036d4: PUSH1 0x40
000036d6: ADD
000036d7: MLOAD
000036d8: PUSH1 0x40
000036da: MLOAD
000036db: DUP9
000036dc: PUSH4 0xffffffff
000036e1: AND
000036e2: PUSH1 0xe0
000036e4: SHL
000036e5: DUP2
000036e6: MSTORE
000036e7: PUSH1 0x04
000036e9: ADD
000036ea: PUSH2 0x36f9
000036ed: SWAP8
000036ee: SWAP7
000036ef: SWAP6
000036f0: SWAP5
000036f1: SWAP4
000036f2: SWAP3
000036f3: SWAP2
000036f4: SWAP1
000036f5: PUSH2 0x5d66
000036f8: JUMP
000036f9: JUMPDEST
000036fa: PUSH1 0x00
000036fc: PUSH1 0x40
000036fe: MLOAD
000036ff: DUP1
00003700: DUP4
00003701: SUB
00003702: DUP2
00003703: PUSH1 0x00
00003705: DUP8
00003706: DUP1
00003707: EXTCODESIZE
00003708: ISZERO
00003709: DUP1
0000370a: ISZERO
0000370b: PUSH2 0x3713
0000370e: JUMPI
0000370f: PUSH1 0x00
00003711: DUP1
00003712: REVERT
00003713: JUMPDEST
00003714: POP
00003715: GAS
00003716: CALL
00003717: ISZERO
00003718: DUP1
00003719: ISZERO
0000371a: PUSH2 0x3727
0000371d: JUMPI
0000371e: RETURNDATASIZE
0000371f: PUSH1 0x00
00003721: DUP1
00003722: RETURNDATACOPY
00003723: RETURNDATASIZE
00003724: PUSH1 0x00
00003726: REVERT
00003727: JUMPDEST
00003728: POP
00003729: POP
0000372a: POP
0000372b: POP
0000372c: PUSH1 0x40
0000372e: MLOAD
0000372f: RETURNDATASIZE
00003730: PUSH1 0x00
00003732: DUP3
00003733: RETURNDATACOPY
00003734: PUSH1 0x1f
00003736: RETURNDATASIZE
00003737: SWAP1
00003738: DUP2
00003739: ADD
0000373a: PUSH1 0x1f
0000373c: NOT
0000373d: AND
0000373e: DUP3
0000373f: ADD
00003740: PUSH1 0x40
00003742: MSTORE
00003743: PUSH2 0x374f
00003746: SWAP2
00003747: SWAP1
00003748: DUP2
00003749: ADD
0000374a: SWAP1
0000374b: PUSH2 0x5405
0000374e: JUMP
0000374f: JUMPDEST
00003750: DUP1
00003751: SWAP6
00003752: POP
00003753: DUP2
00003754: SWAP7
00003755: POP
00003756: POP
00003757: POP
00003758: PUSH2 0x3765
0000375b: DUP8
0000375c: MLOAD
0000375d: DUP7
0000375e: MLOAD
0000375f: DUP7
00003760: MLOAD
00003761: PUSH2 0x44fb
00003764: JUMP
00003765: JUMPDEST
00003766: PUSH1 0x00
00003768: DUP13
00003769: PUSH1 0x01
0000376b: DUP2
0000376c: GT
0000376d: ISZERO
0000376e: PUSH2 0x3773
00003771: JUMPI
00003772: INVALID
00003773: JUMPDEST
00003774: EQ
00003775: PUSH2 0x378a
00003778: JUMPI
00003779: PUSH2 0x3785
0000377c: DUP10
0000377d: DUP10
0000377e: DUP10
0000377f: DUP9
00003780: DUP9
00003781: PUSH2 0x4513
00003784: JUMP
00003785: JUMPDEST
00003786: PUSH2 0x3797
00003789: JUMP
0000378a: JUMPDEST
0000378b: PUSH2 0x3797
0000378e: DUP11
0000378f: DUP10
00003790: DUP10
00003791: DUP9
00003792: DUP9
00003793: PUSH2 0x465a
00003796: JUMP
00003797: JUMPDEST
00003798: SWAP6
00003799: POP
0000379a: POP
0000379b: POP
0000379c: POP
0000379d: SWAP7
0000379e: POP
0000379f: SWAP7
000037a0: POP
000037a1: SWAP7
000037a2: SWAP4
000037a3: POP
000037a4: POP
000037a5: POP
000037a6: POP
000037a7: JUMP
000037a8: JUMPDEST
000037a9: PUSH1 0x00
000037ab: PUSH2 0x37b4
000037ae: DUP6
000037af: DUP5
000037b0: PUSH2 0x43d5
000037b3: JUMP
000037b4: JUMPDEST
000037b5: PUSH1 0x00
000037b7: DUP8
000037b8: DUP2
000037b9: MSTORE
000037ba: PUSH1 0x09
000037bc: PUSH1 0x20
000037be: SWAP1
000037bf: DUP2
000037c0: MSTORE
000037c1: PUSH1 0x40
000037c3: DUP1
000037c4: DUP4
000037c5: KECCAK256
000037c6: DUP5
000037c7: DUP5
000037c8: MSTORE
000037c9: PUSH1 0x02
000037cb: ADD
000037cc: SWAP1
000037cd: SWAP2
000037ce: MSTORE
000037cf: SWAP1
000037d0: KECCAK256
000037d1: SWAP1
000037d2: SWAP2
000037d3: POP
000037d4: PUSH2 0x37dd
000037d7: DUP6
000037d8: DUP5
000037d9: PUSH2 0x42d1
000037dc: JUMP
000037dd: JUMPDEST
000037de: SWAP1
000037df: SSTORE
000037e0: POP
000037e1: POP
000037e2: POP
000037e3: POP
000037e4: POP
000037e5: POP
000037e6: JUMP
000037e7: JUMPDEST
000037e8: PUSH1 0x00
000037ea: JUMPDEST
000037eb: DUP3
000037ec: MLOAD
000037ed: DUP2
000037ee: LT
000037ef: ISZERO
000037f0: PUSH2 0x0e00
000037f3: JUMPI
000037f4: DUP2
000037f5: DUP2
000037f6: DUP2
000037f7: MLOAD
000037f8: DUP2
000037f9: LT
000037fa: PUSH2 0x37ff
000037fd: JUMPI
000037fe: INVALID
000037ff: JUMPDEST
00003800: PUSH1 0x20
00003802: MUL
00003803: PUSH1 0x20
00003805: ADD
00003806: ADD
00003807: MLOAD
00003808: PUSH1 0x07
0000380a: PUSH1 0x00
0000380c: DUP7
0000380d: DUP2
0000380e: MSTORE
0000380f: PUSH1 0x20
00003811: ADD
00003812: SWAP1
00003813: DUP2
00003814: MSTORE
00003815: PUSH1 0x20
00003817: ADD
00003818: PUSH1 0x00
0000381a: KECCAK256
0000381b: PUSH1 0x00
0000381d: DUP6
0000381e: DUP5
0000381f: DUP2
00003820: MLOAD
00003821: DUP2
00003822: LT
00003823: PUSH2 0x3828
00003826: JUMPI
00003827: INVALID
00003828: JUMPDEST
00003829: PUSH1 0x20
0000382b: SWAP1
0000382c: DUP2
0000382d: MUL
0000382e: SWAP2
0000382f: SWAP1
00003830: SWAP2
00003831: ADD
00003832: DUP2
00003833: ADD
00003834: MLOAD
00003835: PUSH1 0x01
00003837: PUSH1 0x01
00003839: PUSH1 0xa0
0000383b: SHL
0000383c: SUB
0000383d: AND
0000383e: DUP3
0000383f: MSTORE
00003840: DUP2
00003841: ADD
00003842: SWAP2
00003843: SWAP1
00003844: SWAP2
00003845: MSTORE
00003846: PUSH1 0x40
00003848: ADD
00003849: PUSH1 0x00
0000384b: KECCAK256
0000384c: SSTORE
0000384d: PUSH1 0x01
0000384f: ADD
00003850: PUSH2 0x37ea
00003853: JUMP
00003854: JUMPDEST
00003855: PUSH1 0x00
00003857: DUP3
00003858: DUP2
00003859: MSTORE
0000385a: PUSH1 0x01
0000385c: PUSH1 0x20
0000385e: MSTORE
0000385f: PUSH1 0x40
00003861: DUP2
00003862: KECCAK256
00003863: SWAP1
00003864: JUMPDEST
00003865: DUP3
00003866: MLOAD
00003867: DUP2
00003868: LT
00003869: ISZERO
0000386a: PUSH2 0x0e00
0000386d: JUMPI
0000386e: PUSH2 0x3895
00003871: DUP2
00003872: DUP5
00003873: DUP4
00003874: DUP2
00003875: MLOAD
00003876: DUP2
00003877: LT
00003878: PUSH2 0x387d
0000387b: JUMPI
0000387c: INVALID
0000387d: JUMPDEST
0000387e: PUSH1 0x20
00003880: MUL
00003881: PUSH1 0x20
00003883: ADD
00003884: ADD
00003885: MLOAD
00003886: DUP5
00003887: PUSH2 0x438c
0000388a: SWAP1
0000388b: SWAP3
0000388c: SWAP2
0000388d: SWAP1
0000388e: PUSH4 0xffffffff
00003893: AND
00003894: JUMP
00003895: JUMPDEST
00003896: PUSH1 0x01
00003898: ADD
00003899: PUSH2 0x3864
0000389c: JUMP
0000389d: JUMPDEST
0000389e: PUSH1 0x60
000038a0: DUP3
000038a1: MLOAD
000038a2: PUSH8 0xffffffffffffffff
000038ab: DUP2
000038ac: GT
000038ad: DUP1
000038ae: ISZERO
000038af: PUSH2 0x38b7
000038b2: JUMPI
000038b3: PUSH1 0x00
000038b5: DUP1
000038b6: REVERT
000038b7: JUMPDEST
000038b8: POP
000038b9: PUSH1 0x40
000038bb: MLOAD
000038bc: SWAP1
000038bd: DUP1
000038be: DUP3
000038bf: MSTORE
000038c0: DUP1
000038c1: PUSH1 0x20
000038c3: MUL
000038c4: PUSH1 0x20
000038c6: ADD
000038c7: DUP3
000038c8: ADD
000038c9: PUSH1 0x40
000038cb: MSTORE
000038cc: DUP1
000038cd: ISZERO
000038ce: PUSH2 0x38e1
000038d1: JUMPI
000038d2: DUP2
000038d3: PUSH1 0x20
000038d5: ADD
000038d6: PUSH1 0x20
000038d8: DUP3
000038d9: MUL
000038da: DUP1
000038db: CALLDATASIZE
000038dc: DUP4
000038dd: CALLDATACOPY
000038de: ADD
000038df: SWAP1
000038e0: POP
000038e1: JUMPDEST
000038e2: POP
000038e3: SWAP1
000038e4: POP
000038e5: PUSH1 0x00
000038e7: JUMPDEST
000038e8: DUP4
000038e9: MLOAD
000038ea: DUP2
000038eb: LT
000038ec: ISZERO
000038ed: PUSH2 0x07ff
000038f0: JUMPI
000038f1: DUP3
000038f2: PUSH2 0x3911
000038f5: JUMPI
000038f6: DUP4
000038f7: DUP2
000038f8: DUP2
000038f9: MLOAD
000038fa: DUP2
000038fb: LT
000038fc: PUSH2 0x3901
000038ff: JUMPI
00003900: INVALID
00003901: JUMPDEST
00003902: PUSH1 0x20
00003904: MUL
00003905: PUSH1 0x20
00003907: ADD
00003908: ADD
00003909: MLOAD
0000390a: PUSH1 0x00
0000390c: SUB
0000390d: PUSH2 0x3926
00003910: JUMP
00003911: JUMPDEST
00003912: DUP4
00003913: DUP2
00003914: DUP2
00003915: MLOAD
00003916: DUP2
00003917: LT
00003918: PUSH2 0x391d
0000391b: JUMPI
0000391c: INVALID
0000391d: JUMPDEST
0000391e: PUSH1 0x20
00003920: MUL
00003921: PUSH1 0x20
00003923: ADD
00003924: ADD
00003925: MLOAD
00003926: JUMPDEST
00003927: DUP3
00003928: DUP3
00003929: DUP2
0000392a: MLOAD
0000392b: DUP2
0000392c: LT
0000392d: PUSH2 0x3932
00003930: JUMPI
00003931: INVALID
00003932: JUMPDEST
00003933: PUSH1 0x20
00003935: SWAP1
00003936: DUP2
00003937: MUL
00003938: SWAP2
00003939: SWAP1
0000393a: SWAP2
0000393b: ADD
0000393c: ADD
0000393d: MSTORE
0000393e: PUSH1 0x01
00003940: ADD
00003941: PUSH2 0x38e7
00003944: JUMP
00003945: JUMPDEST
00003946: PUSH1 0x00
00003948: DUP1
00003949: DUP5
0000394a: PUSH1 0x01
0000394c: DUP2
0000394d: GT
0000394e: ISZERO
0000394f: PUSH2 0x3954
00003952: JUMPI
00003953: INVALID
00003954: JUMPDEST
00003955: EQ
00003956: PUSH2 0x395f
00003959: JUMPI
0000395a: DUP2
0000395b: PUSH2 0x09e1
0000395e: JUMP
0000395f: JUMPDEST
00003960: POP
00003961: SWAP1
00003962: SWAP3
00003963: SWAP2
00003964: POP
00003965: POP
00003966: JUMP
00003967: JUMPDEST
00003968: PUSH1 0x00
0000396a: DUP1
0000396b: DUP5
0000396c: PUSH1 0x01
0000396e: DUP2
0000396f: GT
00003970: ISZERO
00003971: PUSH2 0x3976
00003974: JUMPI
00003975: INVALID
00003976: JUMPDEST
00003977: EQ
00003978: PUSH2 0x07ff
0000397b: JUMPI
0000397c: DUP3
0000397d: PUSH2 0x09e1
00003980: JUMP
00003981: JUMPDEST
00003982: PUSH1 0x00
00003984: PUSH2 0x226a
00003987: PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000
000039a8: DUP4
000039a9: LT
000039aa: PUSH2 0x01a5
000039ad: PUSH2 0x054b
000039b0: JUMP
000039b1: JUMPDEST
000039b2: PUSH1 0x00
000039b4: DUP3
000039b5: DUP3
000039b6: ADD
000039b7: PUSH2 0x16f2
000039ba: DUP3
000039bb: DUP5
000039bc: SLT
000039bd: DUP1
000039be: ISZERO
000039bf: SWAP1
000039c0: PUSH2 0x39c9
000039c3: JUMPI
000039c4: POP
000039c5: DUP5
000039c6: DUP3
000039c7: SLT
000039c8: ISZERO
000039c9: JUMPDEST
000039ca: DUP1
000039cb: PUSH2 0x39de
000039ce: JUMPI
000039cf: POP
000039d0: PUSH1 0x00
000039d2: DUP5
000039d3: SLT
000039d4: DUP1
000039d5: ISZERO
000039d6: PUSH2 0x39de
000039d9: JUMPI
000039da: POP
000039db: DUP5
000039dc: DUP3
000039dd: SLT
000039de: JUMPDEST
000039df: PUSH1 0x00
000039e1: PUSH2 0x054b
000039e4: JUMP
000039e5: JUMPDEST
000039e6: PUSH1 0x00
000039e8: DUP2
000039e9: DUP4
000039ea: SUB
000039eb: PUSH2 0x16f2
000039ee: DUP3
000039ef: DUP5
000039f0: SLT
000039f1: DUP1
000039f2: ISZERO
000039f3: SWAP1
000039f4: PUSH2 0x39fd
000039f7: JUMPI
000039f8: POP
000039f9: DUP5
000039fa: DUP3
000039fb: SGT
000039fc: ISZERO
000039fd: JUMPDEST
000039fe: DUP1
000039ff: PUSH2 0x3a12
00003a02: JUMPI
00003a03: POP
00003a04: PUSH1 0x00
00003a06: DUP5
00003a07: SLT
00003a08: DUP1
00003a09: ISZERO
00003a0a: PUSH2 0x3a12
00003a0d: JUMPI
00003a0e: POP
00003a0f: DUP5
00003a10: DUP3
00003a11: SGT
00003a12: JUMPDEST
00003a13: PUSH1 0x01
00003a15: PUSH2 0x054b
00003a18: JUMP
00003a19: JUMPDEST
00003a1a: PUSH1 0x00
00003a1c: DUP2
00003a1d: DUP2
00003a1e: MSTORE
00003a1f: PUSH1 0x09
00003a21: PUSH1 0x20
00003a23: MSTORE
00003a24: PUSH1 0x40
00003a26: DUP2
00003a27: KECCAK256
00003a28: DUP1
00003a29: SLOAD
00003a2a: PUSH1 0x01
00003a2c: DUP3
00003a2d: ADD
00003a2e: SLOAD
00003a2f: PUSH1 0x01
00003a31: PUSH1 0x01
00003a33: PUSH1 0xa0
00003a35: SHL
00003a36: SUB
00003a37: SWAP2
00003a38: DUP3
00003a39: AND
00003a3a: SWAP3
00003a3b: DUP5
00003a3c: SWAP3
00003a3d: SWAP1
00003a3e: SWAP2
00003a3f: AND
00003a40: SWAP1
00003a41: DUP3
00003a42: SWAP1
00003a43: DUP2
00003a44: PUSH2 0x3a4d
00003a47: DUP7
00003a48: DUP6
00003a49: PUSH2 0x43d5
00003a4c: JUMP
00003a4d: JUMPDEST
00003a4e: PUSH1 0x00
00003a50: DUP2
00003a51: DUP2
00003a52: MSTORE
00003a53: PUSH1 0x02
00003a55: DUP5
00003a56: ADD
00003a57: PUSH1 0x20
00003a59: MSTORE
00003a5a: PUSH1 0x40
00003a5c: SWAP1
00003a5d: KECCAK256
00003a5e: DUP1
00003a5f: SLOAD
00003a60: PUSH1 0x01
00003a62: DUP3
00003a63: ADD
00003a64: SLOAD
00003a65: SWAP2
00003a66: SWAP10
00003a67: POP
00003a68: SWAP2
00003a69: SWAP3
00003a6a: POP
00003a6b: PUSH2 0x3a74
00003a6e: DUP3
00003a6f: DUP3
00003a70: PUSH2 0x4408
00003a73: JUMP
00003a74: JUMPDEST
00003a75: SWAP7
00003a76: POP
00003a77: PUSH2 0x3a80
00003a7a: DUP3
00003a7b: DUP3
00003a7c: PUSH2 0x442d
00003a7f: JUMP
00003a80: JUMPDEST
00003a81: SWAP5
00003a82: POP
00003a83: POP
00003a84: POP
00003a85: POP
00003a86: POP
00003a87: SWAP2
00003a88: SWAP4
00003a89: SWAP6
00003a8a: SWAP1
00003a8b: SWAP3
00003a8c: SWAP5
00003a8d: POP
00003a8e: JUMP
00003a8f: JUMPDEST
00003a90: PUSH1 0x00
00003a92: PUSH2 0x3a9a
00003a95: DUP3
00003a96: PUSH2 0x32e9
00003a99: JUMP
00003a9a: JUMPDEST
00003a9b: ISZERO
00003a9c: SWAP3
00003a9d: SWAP2
00003a9e: POP
00003a9f: POP
00003aa0: JUMP
00003aa1: JUMPDEST
00003aa2: PUSH1 0x01
00003aa4: PUSH1 0x01
00003aa6: PUSH1 0xa0
00003aa8: SHL
00003aa9: SUB
00003aaa: AND
00003aab: PUSH1 0x00
00003aad: SWAP1
00003aae: DUP2
00003aaf: MSTORE
00003ab0: PUSH1 0x01
00003ab2: SWAP2
00003ab3: SWAP1
00003ab4: SWAP2
00003ab5: ADD
00003ab6: PUSH1 0x20
00003ab8: MSTORE
00003ab9: PUSH1 0x40
00003abb: SWAP1
00003abc: KECCAK256
00003abd: SLOAD
00003abe: ISZERO
00003abf: ISZERO
00003ac0: SWAP1
00003ac1: JUMP
00003ac2: JUMPDEST
00003ac3: PUSH1 0x00
00003ac5: DUP3
00003ac6: DUP2
00003ac7: MSTORE
00003ac8: PUSH1 0x09
00003aca: PUSH1 0x20
00003acc: MSTORE
00003acd: PUSH1 0x40
00003acf: DUP2
00003ad0: KECCAK256
00003ad1: DUP1
00003ad2: SLOAD
00003ad3: PUSH1 0x01
00003ad5: PUSH1 0x01
00003ad7: PUSH1 0xa0
00003ad9: SHL
00003ada: SUB
00003adb: DUP5
00003adc: DUP2
00003add: AND
00003ade: SWAP2
00003adf: AND
00003ae0: EQ
00003ae1: DUP1
00003ae2: PUSH2 0x3afa
00003ae5: JUMPI
00003ae6: POP
00003ae7: PUSH1 0x01
00003ae9: DUP2
00003aea: ADD
00003aeb: SLOAD
00003aec: PUSH1 0x01
00003aee: PUSH1 0x01
00003af0: PUSH1 0xa0
00003af2: SHL
00003af3: SUB
00003af4: DUP5
00003af5: DUP2
00003af6: AND
00003af7: SWAP2
00003af8: AND
00003af9: EQ
00003afa: JUMPDEST
00003afb: DUP1
00003afc: ISZERO
00003afd: PUSH2 0x09e1
00003b00: JUMPI
00003b01: POP
00003b02: POP
00003b03: POP
00003b04: PUSH1 0x01
00003b06: PUSH1 0x01
00003b08: PUSH1 0xa0
00003b0a: SHL
00003b0b: SUB
00003b0c: AND
00003b0d: ISZERO
00003b0e: ISZERO
00003b0f: SWAP2
00003b10: SWAP1
00003b11: POP
00003b12: JUMP
00003b13: JUMPDEST
00003b14: PUSH1 0x00
00003b16: DUP3
00003b17: DUP2
00003b18: MSTORE
00003b19: PUSH1 0x08
00003b1b: PUSH1 0x20
00003b1d: MSTORE
00003b1e: PUSH1 0x40
00003b20: DUP2
00003b21: KECCAK256
00003b22: PUSH2 0x09e1
00003b25: DUP2
00003b26: DUP5
00003b27: PUSH2 0x3aa1
00003b2a: JUMP
00003b2b: JUMPDEST
00003b2c: PUSH1 0x00
00003b2e: DUP3
00003b2f: DUP2
00003b30: MSTORE
00003b31: PUSH1 0x01
00003b33: PUSH1 0x20
00003b35: MSTORE
00003b36: PUSH1 0x40
00003b38: DUP2
00003b39: KECCAK256
00003b3a: PUSH2 0x09e1
00003b3d: DUP2
00003b3e: DUP5
00003b3f: PUSH2 0x47d0
00003b42: JUMP
00003b43: JUMPDEST
00003b44: PUSH1 0x00
00003b46: DUP1
00003b47: PUSH1 0x02
00003b49: DUP6
00003b4a: PUSH1 0x02
00003b4c: DUP2
00003b4d: GT
00003b4e: ISZERO
00003b4f: PUSH2 0x3b54
00003b52: JUMPI
00003b53: INVALID
00003b54: JUMPDEST
00003b55: EQ
00003b56: ISZERO
00003b57: PUSH2 0x3b6a
00003b5a: JUMPI
00003b5b: PUSH2 0x3b65
00003b5e: DUP7
00003b5f: DUP6
00003b60: DUP6
00003b61: PUSH2 0x47f1
00003b64: JUMP
00003b65: JUMPDEST
00003b66: PUSH2 0x3b94
00003b69: JUMP
00003b6a: JUMPDEST
00003b6b: PUSH1 0x01
00003b6d: DUP6
00003b6e: PUSH1 0x02
00003b70: DUP2
00003b71: GT
00003b72: ISZERO
00003b73: PUSH2 0x3b78
00003b76: JUMPI
00003b77: INVALID
00003b78: JUMPDEST
00003b79: EQ
00003b7a: ISZERO
00003b7b: PUSH2 0x3b89
00003b7e: JUMPI
00003b7f: PUSH2 0x3b65
00003b82: DUP7
00003b83: DUP6
00003b84: DUP6
00003b85: PUSH2 0x47ff
00003b88: JUMP
00003b89: JUMPDEST
00003b8a: PUSH2 0x3b94
00003b8d: DUP7
00003b8e: DUP6
00003b8f: DUP6
00003b90: PUSH2 0x480d
00003b93: JUMP
00003b94: JUMPDEST
00003b95: DUP3
00003b96: ISZERO
00003b97: PUSH2 0x3bae
00003b9a: JUMPI
00003b9b: PUSH2 0x3bae
00003b9e: PUSH1 0x01
00003ba0: PUSH1 0x01
00003ba2: PUSH1 0xa0
00003ba4: SHL
00003ba5: SUB
00003ba6: DUP6
00003ba7: AND
00003ba8: CALLER
00003ba9: DUP6
00003baa: PUSH2 0x1ea6
00003bad: JUMP
00003bae: JUMPDEST
00003baf: POP
00003bb0: POP
00003bb1: PUSH1 0x00
00003bb3: DUP2
00003bb4: SWAP1
00003bb5: SUB
00003bb6: SWAP5
00003bb7: SWAP1
00003bb8: SWAP4
00003bb9: POP
00003bba: SWAP2
00003bbb: POP
00003bbc: POP
00003bbd: JUMP
00003bbe: JUMPDEST
00003bbf: PUSH1 0x00
00003bc1: DUP1
00003bc2: PUSH1 0x02
00003bc4: DUP6
00003bc5: PUSH1 0x02
00003bc7: DUP2
00003bc8: GT
00003bc9: ISZERO
00003bca: PUSH2 0x3bcf
00003bcd: JUMPI
00003bce: INVALID
00003bcf: JUMPDEST
00003bd0: EQ
00003bd1: ISZERO
00003bd2: PUSH2 0x3be5
00003bd5: JUMPI
00003bd6: PUSH2 0x3be0
00003bd9: DUP7
00003bda: DUP6
00003bdb: DUP6
00003bdc: PUSH2 0x481b
00003bdf: JUMP
00003be0: JUMPDEST
00003be1: PUSH2 0x3c0f
00003be4: JUMP
00003be5: JUMPDEST
00003be6: PUSH1 0x01
00003be8: DUP6
00003be9: PUSH1 0x02
00003beb: DUP2
00003bec: GT
00003bed: ISZERO
00003bee: PUSH2 0x3bf3
00003bf1: JUMPI
00003bf2: INVALID
00003bf3: JUMPDEST
00003bf4: EQ
00003bf5: ISZERO
00003bf6: PUSH2 0x3c04
00003bf9: JUMPI
00003bfa: PUSH2 0x3be0
00003bfd: DUP7
00003bfe: DUP6
00003bff: DUP6
00003c00: PUSH2 0x4829
00003c03: JUMP
00003c04: JUMPDEST
00003c05: PUSH2 0x3c0f
00003c08: DUP7
00003c09: DUP6
00003c0a: DUP6
00003c0b: PUSH2 0x4837
00003c0e: JUMP
00003c0f: JUMPDEST
00003c10: DUP3
00003c11: ISZERO
00003c12: PUSH2 0x3c2a
00003c15: JUMPI
00003c16: PUSH2 0x3c2a
00003c19: PUSH1 0x01
00003c1b: PUSH1 0x01
00003c1d: PUSH1 0xa0
00003c1f: SHL
00003c20: SUB
00003c21: DUP6
00003c22: AND
00003c23: CALLER
00003c24: ADDRESS
00003c25: DUP7
00003c26: PUSH2 0x2ba6
00003c29: JUMP
00003c2a: JUMPDEST
00003c2b: POP
00003c2c: SWAP1
00003c2d: SWAP5
00003c2e: PUSH1 0x00
00003c30: DUP7
00003c31: SWAP1
00003c32: SUB
00003c33: SWAP5
00003c34: POP
00003c35: SWAP3
00003c36: POP
00003c37: POP
00003c38: POP
00003c39: JUMP
00003c3a: JUMPDEST
00003c3b: PUSH1 0x00
00003c3d: DUP1
00003c3e: PUSH1 0x02
00003c40: DUP6
00003c41: PUSH1 0x02
00003c43: DUP2
00003c44: GT
00003c45: ISZERO
00003c46: PUSH2 0x3c4b
00003c49: JUMPI
00003c4a: INVALID
00003c4b: JUMPDEST
00003c4c: EQ
00003c4d: ISZERO
00003c4e: PUSH2 0x3c63
00003c51: JUMPI
00003c52: PUSH2 0x3c5c
00003c55: DUP7
00003c56: DUP6
00003c57: DUP6
00003c58: PUSH2 0x4845
00003c5b: JUMP
00003c5c: JUMPDEST
00003c5d: SWAP1
00003c5e: POP
00003c5f: PUSH2 0x3c90
00003c62: JUMP
00003c63: JUMPDEST
00003c64: PUSH1 0x01
00003c66: DUP6
00003c67: PUSH1 0x02
00003c69: DUP2
00003c6a: GT
00003c6b: ISZERO
00003c6c: PUSH2 0x3c71
00003c6f: JUMPI
00003c70: INVALID
00003c71: JUMPDEST
00003c72: EQ
00003c73: ISZERO
00003c74: PUSH2 0x3c82
00003c77: JUMPI
00003c78: PUSH2 0x3c5c
00003c7b: DUP7
00003c7c: DUP6
00003c7d: DUP6
00003c7e: PUSH2 0x4855
00003c81: JUMP
00003c82: JUMPDEST
00003c83: PUSH2 0x3c8d
00003c86: DUP7
00003c87: DUP6
00003c88: DUP6
00003c89: PUSH2 0x4865
00003c8c: JUMP
00003c8d: JUMPDEST
00003c8e: SWAP1
00003c8f: POP
00003c90: JUMPDEST
00003c91: PUSH1 0x00
00003c93: SWAP2
00003c94: POP
00003c95: SWAP5
00003c96: POP
00003c97: SWAP5
00003c98: SWAP3
00003c99: POP
00003c9a: POP
00003c9b: POP
00003c9c: JUMP
00003c9d: JUMPDEST
00003c9e: CHAINID
00003c9f: SWAP1
00003ca0: JUMP
00003ca1: JUMPDEST
00003ca2: PUSH1 0x60
00003ca4: DUP1
00003ca5: PUSH1 0x00
00003ca7: DUP1
00003ca8: PUSH1 0x00
00003caa: DUP1
00003cab: PUSH2 0x3cb3
00003cae: DUP8
00003caf: PUSH2 0x3a19
00003cb2: JUMP
00003cb3: JUMPDEST
00003cb4: SWAP3
00003cb5: SWAP8
00003cb6: POP
00003cb7: SWAP1
00003cb8: SWAP6
00003cb9: POP
00003cba: SWAP4
00003cbb: POP
00003cbc: SWAP2
00003cbd: POP
00003cbe: POP
00003cbf: PUSH1 0x01
00003cc1: PUSH1 0x01
00003cc3: PUSH1 0xa0
00003cc5: SHL
00003cc6: SUB
00003cc7: DUP5
00003cc8: AND
00003cc9: ISZERO
00003cca: DUP1
00003ccb: PUSH2 0x3cdb
00003cce: JUMPI
00003ccf: POP
00003cd0: PUSH1 0x01
00003cd2: PUSH1 0x01
00003cd4: PUSH1 0xa0
00003cd6: SHL
00003cd7: SUB
00003cd8: DUP3
00003cd9: AND
00003cda: ISZERO
00003cdb: JUMPDEST
00003cdc: ISZERO
00003cdd: PUSH2 0x3d04
00003ce0: JUMPI
00003ce1: POP
00003ce2: POP
00003ce3: PUSH1 0x40
00003ce5: DUP1
00003ce6: MLOAD
00003ce7: PUSH1 0x00
00003ce9: DUP1
00003cea: DUP3
00003ceb: MSTORE
00003cec: PUSH1 0x20
00003cee: DUP3
00003cef: ADD
00003cf0: SWAP1
00003cf1: DUP2
00003cf2: MSTORE
00003cf3: DUP2
00003cf4: DUP4
00003cf5: ADD
00003cf6: SWAP1
00003cf7: SWAP3
00003cf8: MSTORE
00003cf9: SWAP5
00003cfa: POP
00003cfb: SWAP3
00003cfc: POP
00003cfd: PUSH2 0x299b
00003d00: SWAP2
00003d01: POP
00003d02: POP
00003d03: JUMP
00003d04: JUMPDEST
00003d05: PUSH1 0x40
00003d07: DUP1
00003d08: MLOAD
00003d09: PUSH1 0x02
00003d0b: DUP1
00003d0c: DUP3
00003d0d: MSTORE
00003d0e: PUSH1 0x60
00003d10: DUP3
00003d11: ADD
00003d12: DUP4
00003d13: MSTORE
00003d14: SWAP1
00003d15: SWAP2
00003d16: PUSH1 0x20
00003d18: DUP4
00003d19: ADD
00003d1a: SWAP1
00003d1b: DUP1
00003d1c: CALLDATASIZE
00003d1d: DUP4
00003d1e: CALLDATACOPY
00003d1f: ADD
00003d20: SWAP1
00003d21: POP
00003d22: POP
00003d23: SWAP6
00003d24: POP
00003d25: DUP4
00003d26: DUP7
00003d27: PUSH1 0x00
00003d29: DUP2
00003d2a: MLOAD
00003d2b: DUP2
00003d2c: LT
00003d2d: PUSH2 0x3d32
00003d30: JUMPI
00003d31: INVALID
00003d32: JUMPDEST
00003d33: PUSH1 0x20
00003d35: MUL
00003d36: PUSH1 0x20
00003d38: ADD
00003d39: ADD
00003d3a: SWAP1
00003d3b: PUSH1 0x01
00003d3d: PUSH1 0x01
00003d3f: PUSH1 0xa0
00003d41: SHL
00003d42: SUB
00003d43: AND
00003d44: SWAP1
00003d45: DUP2
00003d46: PUSH1 0x01
00003d48: PUSH1 0x01
00003d4a: PUSH1 0xa0
00003d4c: SHL
00003d4d: SUB
00003d4e: AND
00003d4f: DUP2
00003d50: MSTORE
00003d51: POP
00003d52: POP
00003d53: DUP2
00003d54: DUP7
00003d55: PUSH1 0x01
00003d57: DUP2
00003d58: MLOAD
00003d59: DUP2
00003d5a: LT
00003d5b: PUSH2 0x3d60
00003d5e: JUMPI
00003d5f: INVALID
00003d60: JUMPDEST
00003d61: PUSH1 0x01
00003d63: PUSH1 0x01
00003d65: PUSH1 0xa0
00003d67: SHL
00003d68: SUB
00003d69: SWAP3
00003d6a: SWAP1
00003d6b: SWAP3
00003d6c: AND
00003d6d: PUSH1 0x20
00003d6f: SWAP3
00003d70: DUP4
00003d71: MUL
00003d72: SWAP2
00003d73: SWAP1
00003d74: SWAP2
00003d75: ADD
00003d76: DUP3
00003d77: ADD
00003d78: MSTORE
00003d79: PUSH1 0x40
00003d7b: DUP1
00003d7c: MLOAD
00003d7d: PUSH1 0x02
00003d7f: DUP1
00003d80: DUP3
00003d81: MSTORE
00003d82: PUSH1 0x60
00003d84: DUP3
00003d85: ADD
00003d86: DUP4
00003d87: MSTORE
00003d88: SWAP1
00003d89: SWAP3
00003d8a: SWAP1
00003d8b: SWAP2
00003d8c: SWAP1
00003d8d: DUP4
00003d8e: ADD
00003d8f: SWAP1
00003d90: DUP1
00003d91: CALLDATASIZE
00003d92: DUP4
00003d93: CALLDATACOPY
00003d94: ADD
00003d95: SWAP1
00003d96: POP
00003d97: POP
00003d98: SWAP5
00003d99: POP
00003d9a: DUP3
00003d9b: DUP6
00003d9c: PUSH1 0x00
00003d9e: DUP2
00003d9f: MLOAD
00003da0: DUP2
00003da1: LT
00003da2: PUSH2 0x3da7
00003da5: JUMPI
00003da6: INVALID
00003da7: JUMPDEST
00003da8: PUSH1 0x20
00003daa: MUL
00003dab: PUSH1 0x20
00003dad: ADD
00003dae: ADD
00003daf: DUP2
00003db0: DUP2
00003db1: MSTORE
00003db2: POP
00003db3: POP
00003db4: DUP1
00003db5: DUP6
00003db6: PUSH1 0x01
00003db8: DUP2
00003db9: MLOAD
00003dba: DUP2
00003dbb: LT
00003dbc: PUSH2 0x3dc1
00003dbf: JUMPI
00003dc0: INVALID
00003dc1: JUMPDEST
00003dc2: PUSH1 0x20
00003dc4: MUL
00003dc5: PUSH1 0x20
00003dc7: ADD
00003dc8: ADD
00003dc9: DUP2
00003dca: DUP2
00003dcb: MSTORE
00003dcc: POP
00003dcd: POP
00003dce: POP
00003dcf: POP
00003dd0: POP
00003dd1: POP
00003dd2: SWAP2
00003dd3: POP
00003dd4: SWAP2
00003dd5: JUMP
00003dd6: JUMPDEST
00003dd7: PUSH1 0x00
00003dd9: DUP2
00003dda: DUP2
00003ddb: MSTORE
00003ddc: PUSH1 0x08
00003dde: PUSH1 0x20
00003de0: MSTORE
00003de1: PUSH1 0x40
00003de3: SWAP1
00003de4: KECCAK256
00003de5: PUSH1 0x60
00003de7: SWAP1
00003de8: DUP2
00003de9: SWAP1
00003dea: PUSH2 0x3df2
00003ded: DUP2
00003dee: PUSH2 0x432b
00003df1: JUMP
00003df2: JUMPDEST
00003df3: PUSH8 0xffffffffffffffff
00003dfc: DUP2
00003dfd: GT
00003dfe: DUP1
00003dff: ISZERO
00003e00: PUSH2 0x3e08
00003e03: JUMPI
00003e04: PUSH1 0x00
00003e06: DUP1
00003e07: REVERT
00003e08: JUMPDEST
00003e09: POP
00003e0a: PUSH1 0x40
00003e0c: MLOAD
00003e0d: SWAP1
00003e0e: DUP1
00003e0f: DUP3
00003e10: MSTORE
00003e11: DUP1
00003e12: PUSH1 0x20
00003e14: MUL
00003e15: PUSH1 0x20
00003e17: ADD
00003e18: DUP3
00003e19: ADD
00003e1a: PUSH1 0x40
00003e1c: MSTORE
00003e1d: DUP1
00003e1e: ISZERO
00003e1f: PUSH2 0x3e32
00003e22: JUMPI
00003e23: DUP2
00003e24: PUSH1 0x20
00003e26: ADD
00003e27: PUSH1 0x20
00003e29: DUP3
00003e2a: MUL
00003e2b: DUP1
00003e2c: CALLDATASIZE
00003e2d: DUP4
00003e2e: CALLDATACOPY
00003e2f: ADD
00003e30: SWAP1
00003e31: POP
00003e32: JUMPDEST
00003e33: POP
00003e34: SWAP3
00003e35: POP
00003e36: DUP3
00003e37: MLOAD
00003e38: PUSH8 0xffffffffffffffff
00003e41: DUP2
00003e42: GT
00003e43: DUP1
00003e44: ISZERO
00003e45: PUSH2 0x3e4d
00003e48: JUMPI
00003e49: PUSH1 0x00
00003e4b: DUP1
00003e4c: REVERT
00003e4d: JUMPDEST
00003e4e: POP
00003e4f: PUSH1 0x40
00003e51: MLOAD
00003e52: SWAP1
00003e53: DUP1
00003e54: DUP3
00003e55: MSTORE
00003e56: DUP1
00003e57: PUSH1 0x20
00003e59: MUL
00003e5a: PUSH1 0x20
00003e5c: ADD
00003e5d: DUP3
00003e5e: ADD
00003e5f: PUSH1 0x40
00003e61: MSTORE
00003e62: DUP1
00003e63: ISZERO
00003e64: PUSH2 0x3e77
00003e67: JUMPI
00003e68: DUP2
00003e69: PUSH1 0x20
00003e6b: ADD
00003e6c: PUSH1 0x20
00003e6e: DUP3
00003e6f: MUL
00003e70: DUP1
00003e71: CALLDATASIZE
00003e72: DUP4
00003e73: CALLDATACOPY
00003e74: ADD
00003e75: SWAP1
00003e76: POP
00003e77: JUMPDEST
00003e78: POP
00003e79: SWAP2
00003e7a: POP
00003e7b: PUSH1 0x00
00003e7d: JUMPDEST
00003e7e: DUP4
00003e7f: MLOAD
00003e80: DUP2
00003e81: LT
00003e82: ISZERO
00003e83: PUSH2 0x3ef6
00003e86: JUMPI
00003e87: PUSH1 0x00
00003e89: PUSH2 0x3e92
00003e8c: DUP4
00003e8d: DUP4
00003e8e: PUSH2 0x4875
00003e91: JUMP
00003e92: JUMPDEST
00003e93: SWAP1
00003e94: POP
00003e95: DUP1
00003e96: DUP6
00003e97: DUP4
00003e98: DUP2
00003e99: MLOAD
00003e9a: DUP2
00003e9b: LT
00003e9c: PUSH2 0x3ea1
00003e9f: JUMPI
00003ea0: INVALID
00003ea1: JUMPDEST
00003ea2: PUSH1 0x01
00003ea4: PUSH1 0x01
00003ea6: PUSH1 0xa0
00003ea8: SHL
00003ea9: SUB
00003eaa: SWAP3
00003eab: DUP4
00003eac: AND
00003ead: PUSH1 0x20
00003eaf: SWAP2
00003eb0: DUP3
00003eb1: MUL
00003eb2: SWAP3
00003eb3: SWAP1
00003eb4: SWAP3
00003eb5: ADD
00003eb6: DUP2
00003eb7: ADD
00003eb8: SWAP2
00003eb9: SWAP1
00003eba: SWAP2
00003ebb: MSTORE
00003ebc: PUSH1 0x00
00003ebe: DUP9
00003ebf: DUP2
00003ec0: MSTORE
00003ec1: PUSH1 0x07
00003ec3: DUP3
00003ec4: MSTORE
00003ec5: PUSH1 0x40
00003ec7: DUP1
00003ec8: DUP3
00003ec9: KECCAK256
00003eca: SWAP4
00003ecb: DUP6
00003ecc: AND
00003ecd: DUP3
00003ece: MSTORE
00003ecf: SWAP3
00003ed0: SWAP1
00003ed1: SWAP2
00003ed2: MSTORE
00003ed3: KECCAK256
00003ed4: SLOAD
00003ed5: DUP5
00003ed6: MLOAD
00003ed7: DUP6
00003ed8: SWAP1
00003ed9: DUP5
00003eda: SWAP1
00003edb: DUP2
00003edc: LT
00003edd: PUSH2 0x3ee2
00003ee0: JUMPI
00003ee1: INVALID
00003ee2: JUMPDEST
00003ee3: PUSH1 0x20
00003ee5: SWAP1
00003ee6: DUP2
00003ee7: MUL
00003ee8: SWAP2
00003ee9: SWAP1
00003eea: SWAP2
00003eeb: ADD
00003eec: ADD
00003eed: MSTORE
00003eee: POP
00003eef: PUSH1 0x01
00003ef1: ADD
00003ef2: PUSH2 0x3e7d
00003ef5: JUMP
00003ef6: JUMPDEST
00003ef7: POP
00003ef8: POP
00003ef9: SWAP2
00003efa: POP
00003efb: SWAP2
00003efc: JUMP
00003efd: JUMPDEST
00003efe: PUSH1 0x00
00003f00: DUP2
00003f01: DUP2
00003f02: MSTORE
00003f03: PUSH1 0x01
00003f05: PUSH1 0x20
00003f07: MSTORE
00003f08: PUSH1 0x40
00003f0a: SWAP1
00003f0b: KECCAK256
00003f0c: PUSH1 0x60
00003f0e: SWAP1
00003f0f: DUP2
00003f10: SWAP1
00003f11: PUSH2 0x3f19
00003f14: DUP2
00003f15: PUSH2 0x432b
00003f18: JUMP
00003f19: JUMPDEST
00003f1a: PUSH8 0xffffffffffffffff
00003f23: DUP2
00003f24: GT
00003f25: DUP1
00003f26: ISZERO
00003f27: PUSH2 0x3f2f
00003f2a: JUMPI
00003f2b: PUSH1 0x00
00003f2d: DUP1
00003f2e: REVERT
00003f2f: JUMPDEST
00003f30: POP
00003f31: PUSH1 0x40
00003f33: MLOAD
00003f34: SWAP1
00003f35: DUP1
00003f36: DUP3
00003f37: MSTORE
00003f38: DUP1
00003f39: PUSH1 0x20
00003f3b: MUL
00003f3c: PUSH1 0x20
00003f3e: ADD
00003f3f: DUP3
00003f40: ADD
00003f41: PUSH1 0x40
00003f43: MSTORE
00003f44: DUP1
00003f45: ISZERO
00003f46: PUSH2 0x3f59
00003f49: JUMPI
00003f4a: DUP2
00003f4b: PUSH1 0x20
00003f4d: ADD
00003f4e: PUSH1 0x20
00003f50: DUP3
00003f51: MUL
00003f52: DUP1
00003f53: CALLDATASIZE
00003f54: DUP4
00003f55: CALLDATACOPY
00003f56: ADD
00003f57: SWAP1
00003f58: POP
00003f59: JUMPDEST
00003f5a: POP
00003f5b: SWAP3
00003f5c: POP
00003f5d: DUP3
00003f5e: MLOAD
00003f5f: PUSH8 0xffffffffffffffff
00003f68: DUP2
00003f69: GT
00003f6a: DUP1
00003f6b: ISZERO
00003f6c: PUSH2 0x3f74
00003f6f: JUMPI
00003f70: PUSH1 0x00
00003f72: DUP1
00003f73: REVERT
00003f74: JUMPDEST
00003f75: POP
00003f76: PUSH1 0x40
00003f78: MLOAD
00003f79: SWAP1
00003f7a: DUP1
00003f7b: DUP3
00003f7c: MSTORE
00003f7d: DUP1
00003f7e: PUSH1 0x20
00003f80: MUL
00003f81: PUSH1 0x20
00003f83: ADD
00003f84: DUP3
00003f85: ADD
00003f86: PUSH1 0x40
00003f88: MSTORE
00003f89: DUP1
00003f8a: ISZERO
00003f8b: PUSH2 0x3f9e
00003f8e: JUMPI
00003f8f: DUP2
00003f90: PUSH1 0x20
00003f92: ADD
00003f93: PUSH1 0x20
00003f95: DUP3
00003f96: MUL
00003f97: DUP1
00003f98: CALLDATASIZE
00003f99: DUP4
00003f9a: CALLDATACOPY
00003f9b: ADD
00003f9c: SWAP1
00003f9d: POP
00003f9e: JUMPDEST
00003f9f: POP
00003fa0: SWAP2
00003fa1: POP
00003fa2: PUSH1 0x00
00003fa4: JUMPDEST
00003fa5: DUP4
00003fa6: MLOAD
00003fa7: DUP2
00003fa8: LT
00003fa9: ISZERO
00003faa: PUSH2 0x3ef6
00003fad: JUMPI
00003fae: PUSH2 0x3fb7
00003fb1: DUP3
00003fb2: DUP3
00003fb3: PUSH2 0x48a2
00003fb6: JUMP
00003fb7: JUMPDEST
00003fb8: DUP6
00003fb9: DUP4
00003fba: DUP2
00003fbb: MLOAD
00003fbc: DUP2
00003fbd: LT
00003fbe: PUSH2 0x3fc3
00003fc1: JUMPI
00003fc2: INVALID
00003fc3: JUMPDEST
00003fc4: PUSH1 0x20
00003fc6: MUL
00003fc7: PUSH1 0x20
00003fc9: ADD
00003fca: ADD
00003fcb: DUP6
00003fcc: DUP5
00003fcd: DUP2
00003fce: MLOAD
00003fcf: DUP2
00003fd0: LT
00003fd1: PUSH2 0x3fd6
00003fd4: JUMPI
00003fd5: INVALID
00003fd6: JUMPDEST
00003fd7: PUSH1 0x20
00003fd9: SWAP1
00003fda: DUP2
00003fdb: MUL
00003fdc: SWAP2
00003fdd: SWAP1
00003fde: SWAP2
00003fdf: ADD
00003fe0: ADD
00003fe1: SWAP2
00003fe2: SWAP1
00003fe3: SWAP2
00003fe4: MSTORE
00003fe5: PUSH1 0x01
00003fe7: PUSH1 0x01
00003fe9: PUSH1 0xa0
00003feb: SHL
00003fec: SUB
00003fed: SWAP1
00003fee: SWAP2
00003fef: AND
00003ff0: SWAP1
00003ff1: MSTORE
00003ff2: PUSH1 0x01
00003ff4: ADD
00003ff5: PUSH2 0x3fa4
00003ff8: JUMP
00003ff9: JUMPDEST
00003ffa: PUSH1 0x00
00003ffc: PUSH2 0x4004
00003fff: DUP3
00004000: PUSH2 0x27b4
00004003: JUMP
00004004: JUMPDEST
00004005: PUSH2 0x400d
00004008: DUP4
00004009: PUSH2 0x27a1
0000400c: JUMP
0000400d: JUMPDEST
0000400e: ADD
0000400f: SWAP3
00004010: SWAP2
00004011: POP
00004012: POP
00004013: JUMP
00004014: JUMPDEST
00004015: PUSH1 0x00
00004017: DUP2
00004018: DUP4
00004019: LT
0000401a: ISZERO
0000401b: PUSH2 0x4024
0000401e: JUMPI
0000401f: DUP2
00004020: PUSH2 0x16f2
00004023: JUMP
00004024: JUMPDEST
00004025: POP
00004026: SWAP1
00004027: SWAP2
00004028: SWAP1
00004029: POP
0000402a: JUMP
0000402b: JUMPDEST
0000402c: PUSH1 0x00
0000402e: DUP2
0000402f: DUP4
00004030: LT
00004031: PUSH2 0x4024
00004034: JUMPI
00004035: DUP2
00004036: PUSH2 0x16f2
00004039: JUMP
0000403a: JUMPDEST
0000403b: PUSH1 0x01
0000403d: PUSH1 0x01
0000403f: PUSH1 0xa0
00004041: SHL
00004042: SUB
00004043: DUP1
00004044: DUP6
00004045: AND
00004046: PUSH1 0x00
00004048: DUP2
00004049: DUP2
0000404a: MSTORE
0000404b: PUSH1 0x0b
0000404d: PUSH1 0x20
0000404f: SWAP1
00004050: DUP2
00004051: MSTORE
00004052: PUSH1 0x40
00004054: DUP1
00004055: DUP4
00004056: KECCAK256
00004057: SWAP5
00004058: DUP9
00004059: AND
0000405a: DUP1
0000405b: DUP5
0000405c: MSTORE
0000405d: SWAP5
0000405e: SWAP1
0000405f: SWAP2
00004060: MSTORE
00004061: SWAP1
00004062: DUP2
00004063: SWAP1
00004064: KECCAK256
00004065: DUP6
00004066: SWAP1
00004067: SSTORE
00004068: MLOAD
00004069: PUSH32 0x18e1ea4139e68413d7d08aa752e71568e36b2c5bf940893314c2c5b01eaa0c42
0000408a: SWAP1
0000408b: PUSH2 0x19d0
0000408e: SWAP1
0000408f: DUP6
00004090: SWAP1
00004091: PUSH2 0x5d3e
00004094: JUMP
00004095: JUMPDEST
00004096: PUSH1 0x00
00004098: DUP1
00004099: PUSH2 0x40a0
0000409c: PUSH2 0x48c6
0000409f: JUMP
000040a0: JUMPDEST
000040a1: SWAP1
000040a2: POP
000040a3: TIMESTAMP
000040a4: DUP2
000040a5: LT
000040a6: ISZERO
000040a7: PUSH2 0x40b4
000040aa: JUMPI
000040ab: PUSH1 0x00
000040ad: SWAP2
000040ae: POP
000040af: POP
000040b0: PUSH2 0x16f5
000040b3: JUMP
000040b4: JUMPDEST
000040b5: PUSH1 0x00
000040b7: PUSH2 0x40be
000040ba: PUSH2 0x48d2
000040bd: JUMP
000040be: JUMPDEST
000040bf: SWAP1
000040c0: POP
000040c1: DUP1
000040c2: PUSH2 0x40d0
000040c5: JUMPI
000040c6: PUSH1 0x00
000040c8: SWAP3
000040c9: POP
000040ca: POP
000040cb: POP
000040cc: PUSH2 0x16f5
000040cf: JUMP
000040d0: JUMPDEST
000040d1: PUSH1 0x00
000040d3: DUP2
000040d4: PUSH2 0x40db
000040d7: PUSH2 0x49e3
000040da: JUMP
000040db: JUMPDEST
000040dc: DUP1
000040dd: MLOAD
000040de: PUSH1 0x20
000040e0: SWAP2
000040e1: DUP3
000040e2: ADD
000040e3: KECCAK256
000040e4: PUSH1 0x40
000040e6: MLOAD
000040e7: PUSH2 0x40f7
000040ea: SWAP4
000040eb: SWAP3
000040ec: CALLER
000040ed: SWAP2
000040ee: DUP11
000040ef: SWAP2
000040f0: DUP10
000040f1: SWAP2
000040f2: ADD
000040f3: PUSH2 0x5dc4
000040f6: JUMP
000040f7: JUMPDEST
000040f8: PUSH1 0x40
000040fa: MLOAD
000040fb: PUSH1 0x20
000040fd: DUP2
000040fe: DUP4
000040ff: SUB
00004100: SUB
00004101: DUP2
00004102: MSTORE
00004103: SWAP1
00004104: PUSH1 0x40
00004106: MSTORE
00004107: DUP1
00004108: MLOAD
00004109: SWAP1
0000410a: PUSH1 0x20
0000410c: ADD
0000410d: KECCAK256
0000410e: SWAP1
0000410f: POP
00004110: PUSH1 0x00
00004112: PUSH2 0x411a
00004115: DUP3
00004116: PUSH2 0x4a32
00004119: JUMP
0000411a: JUMPDEST
0000411b: SWAP1
0000411c: POP
0000411d: PUSH1 0x00
0000411f: DUP1
00004120: PUSH1 0x00
00004122: PUSH2 0x4129
00004125: PUSH2 0x4a4e
00004128: JUMP
00004129: JUMPDEST
0000412a: SWAP3
0000412b: POP
0000412c: SWAP3
0000412d: POP
0000412e: SWAP3
0000412f: POP
00004130: PUSH1 0x00
00004132: PUSH1 0x01
00004134: DUP6
00004135: DUP6
00004136: DUP6
00004137: DUP6
00004138: PUSH1 0x40
0000413a: MLOAD
0000413b: PUSH1 0x00
0000413d: DUP2
0000413e: MSTORE
0000413f: PUSH1 0x20
00004141: ADD
00004142: PUSH1 0x40
00004144: MSTORE
00004145: PUSH1 0x40
00004147: MLOAD
00004148: PUSH2 0x4154
0000414b: SWAP5
0000414c: SWAP4
0000414d: SWAP3
0000414e: SWAP2
0000414f: SWAP1
00004150: PUSH2 0x5e1c
00004153: JUMP
00004154: JUMPDEST
00004155: PUSH1 0x20
00004157: PUSH1 0x40
00004159: MLOAD
0000415a: PUSH1 0x20
0000415c: DUP2
0000415d: SUB
0000415e: SWAP1
0000415f: DUP1
00004160: DUP5
00004161: SUB
00004162: SWAP1
00004163: DUP6
00004164: GAS
00004165: STATICCALL
00004166: ISZERO
00004167: DUP1
00004168: ISZERO
00004169: PUSH2 0x4176
0000416c: JUMPI
0000416d: RETURNDATASIZE
0000416e: PUSH1 0x00
00004170: DUP1
00004171: RETURNDATACOPY
00004172: RETURNDATASIZE
00004173: PUSH1 0x00
00004175: REVERT
00004176: JUMPDEST
00004177: POP
00004178: POP
00004179: PUSH1 0x40
0000417b: MLOAD
0000417c: PUSH1 0x1f
0000417e: NOT
0000417f: ADD
00004180: MLOAD
00004181: SWAP2
00004182: POP
00004183: POP
00004184: PUSH1 0x01
00004186: PUSH1 0x01
00004188: PUSH1 0xa0
0000418a: SHL
0000418b: SUB
0000418c: DUP2
0000418d: AND
0000418e: ISZERO
0000418f: DUP1
00004190: ISZERO
00004191: SWAP1
00004192: PUSH2 0x41ac
00004195: JUMPI
00004196: POP
00004197: DUP11
00004198: PUSH1 0x01
0000419a: PUSH1 0x01
0000419c: PUSH1 0xa0
0000419e: SHL
0000419f: SUB
000041a0: AND
000041a1: DUP2
000041a2: PUSH1 0x01
000041a4: PUSH1 0x01
000041a6: PUSH1 0xa0
000041a8: SHL
000041a9: SUB
000041aa: AND
000041ab: EQ
000041ac: JUMPDEST
000041ad: SWAP12
000041ae: SWAP11
000041af: POP
000041b0: POP
000041b1: POP
000041b2: POP
000041b3: POP
000041b4: POP
000041b5: POP
000041b6: POP
000041b7: POP
000041b8: POP
000041b9: POP
000041ba: JUMP
000041bb: JUMPDEST
000041bc: PUSH1 0x00
000041be: DUP1
000041bf: PUSH1 0x00
000041c1: DUP1
000041c2: PUSH2 0x41ca
000041c5: DUP7
000041c6: PUSH2 0x3ff9
000041c9: JUMP
000041ca: JUMPDEST
000041cb: SWAP1
000041cc: POP
000041cd: PUSH1 0x00
000041cf: PUSH2 0x41d7
000041d2: DUP7
000041d3: PUSH2 0x3ff9
000041d6: JUMP
000041d7: JUMPDEST
000041d8: SWAP1
000041d9: POP
000041da: PUSH2 0x41ee
000041dd: PUSH2 0x41e5
000041e0: DUP9
000041e1: PUSH2 0x27ca
000041e4: JUMP
000041e5: JUMPDEST
000041e6: PUSH2 0x2a3f
000041e9: DUP9
000041ea: PUSH2 0x27ca
000041ed: JUMP
000041ee: JUMPDEST
000041ef: PUSH1 0xa0
000041f1: DUP11
000041f2: ADD
000041f3: MSTORE
000041f4: PUSH1 0x40
000041f6: MLOAD
000041f7: PUSH32 0x9d2c110c00000000000000000000000000000000000000000000000000000000
00004218: DUP2
00004219: MSTORE
0000421a: PUSH1 0x01
0000421c: PUSH1 0x01
0000421e: PUSH1 0xa0
00004220: SHL
00004221: SUB
00004222: DUP10
00004223: AND
00004224: SWAP1
00004225: PUSH4 0x9d2c110c
0000422a: SWAP1
0000422b: PUSH2 0x423c
0000422e: SWAP1
0000422f: DUP13
00004230: SWAP1
00004231: DUP7
00004232: SWAP1
00004233: DUP7
00004234: SWAP1
00004235: PUSH1 0x04
00004237: ADD
00004238: PUSH2 0x5e94
0000423b: JUMP
0000423c: JUMPDEST
0000423d: PUSH1 0x20
0000423f: PUSH1 0x40
00004241: MLOAD
00004242: DUP1
00004243: DUP4
00004244: SUB
00004245: DUP2
00004246: PUSH1 0x00
00004248: DUP8
00004249: DUP1
0000424a: EXTCODESIZE
0000424b: ISZERO
0000424c: DUP1
0000424d: ISZERO
0000424e: PUSH2 0x4256
00004251: JUMPI
00004252: PUSH1 0x00
00004254: DUP1
00004255: REVERT
00004256: JUMPDEST
00004257: POP
00004258: GAS
00004259: CALL
0000425a: ISZERO
0000425b: DUP1
0000425c: ISZERO
0000425d: PUSH2 0x426a
00004260: JUMPI
00004261: RETURNDATASIZE
00004262: PUSH1 0x00
00004264: DUP1
00004265: RETURNDATACOPY
00004266: RETURNDATASIZE
00004267: PUSH1 0x00
00004269: REVERT
0000426a: JUMPDEST
0000426b: POP
0000426c: POP
0000426d: POP
0000426e: POP
0000426f: PUSH1 0x40
00004271: MLOAD
00004272: RETURNDATASIZE
00004273: PUSH1 0x1f
00004275: NOT
00004276: PUSH1 0x1f
00004278: DUP3
00004279: ADD
0000427a: AND
0000427b: DUP3
0000427c: ADD
0000427d: DUP1
0000427e: PUSH1 0x40
00004280: MSTORE
00004281: POP
00004282: DUP2
00004283: ADD
00004284: SWAP1
00004285: PUSH2 0x428e
00004288: SWAP2
00004289: SWAP1
0000428a: PUSH2 0x5968
0000428d: JUMP
0000428e: JUMPDEST
0000428f: SWAP3
00004290: POP
00004291: PUSH1 0x00
00004293: DUP1
00004294: PUSH2 0x42a6
00004297: DUP12
00004298: PUSH1 0x00
0000429a: ADD
0000429b: MLOAD
0000429c: DUP13
0000429d: PUSH1 0x60
0000429f: ADD
000042a0: MLOAD
000042a1: DUP8
000042a2: PUSH2 0x2ff7
000042a5: JUMP
000042a6: JUMPDEST
000042a7: SWAP1
000042a8: SWAP3
000042a9: POP
000042aa: SWAP1
000042ab: POP
000042ac: PUSH2 0x42b5
000042af: DUP10
000042b0: DUP4
000042b1: PUSH2 0x4345
000042b4: JUMP
000042b5: JUMPDEST
000042b6: SWAP7
000042b7: POP
000042b8: PUSH2 0x42c1
000042bb: DUP9
000042bc: DUP3
000042bd: PUSH2 0x4376
000042c0: JUMP
000042c1: JUMPDEST
000042c2: SWAP6
000042c3: POP
000042c4: POP
000042c5: POP
000042c6: POP
000042c7: POP
000042c8: SWAP5
000042c9: POP
000042ca: SWAP5
000042cb: POP
000042cc: SWAP5
000042cd: SWAP2
000042ce: POP
000042cf: POP
000042d0: JUMP
000042d1: JUMPDEST
000042d2: PUSH1 0x00
000042d4: DUP1
000042d5: PUSH2 0x42e9
000042d8: PUSH2 0x42e0
000042db: DUP6
000042dc: PUSH2 0x27ca
000042df: JUMP
000042e0: JUMPDEST
000042e1: PUSH2 0x2a3f
000042e4: DUP6
000042e5: PUSH2 0x27ca
000042e8: JUMP
000042e9: JUMPDEST
000042ea: SWAP1
000042eb: POP
000042ec: PUSH2 0x09e1
000042ef: PUSH2 0x42f7
000042f2: DUP6
000042f3: PUSH2 0x27a1
000042f6: JUMP
000042f7: JUMPDEST
000042f8: PUSH2 0x4300
000042fb: DUP6
000042fc: PUSH2 0x27a1
000042ff: JUMP
00004300: JUMPDEST
00004301: DUP4
00004302: PUSH4 0xffffffff
00004307: AND
00004308: PUSH2 0x4a75
0000430b: JUMP
0000430c: JUMPDEST
0000430d: PUSH1 0x01
0000430f: PUSH1 0x01
00004311: PUSH1 0xa0
00004313: SHL
00004314: SUB
00004315: AND
00004316: PUSH1 0x00
00004318: SWAP1
00004319: DUP2
0000431a: MSTORE
0000431b: PUSH1 0x02
0000431d: SWAP2
0000431e: SWAP1
0000431f: SWAP2
00004320: ADD
00004321: PUSH1 0x20
00004323: MSTORE
00004324: PUSH1 0x40
00004326: SWAP1
00004327: KECCAK256
00004328: SLOAD
00004329: SWAP1
0000432a: JUMP
0000432b: JUMPDEST
0000432c: SLOAD
0000432d: SWAP1
0000432e: JUMP
0000432f: JUMPDEST
00004330: PUSH1 0x00
00004332: SWAP1
00004333: DUP2
00004334: MSTORE
00004335: PUSH1 0x01
00004337: SWAP2
00004338: DUP3
00004339: ADD
0000433a: PUSH1 0x20
0000433c: MSTORE
0000433d: PUSH1 0x40
0000433f: SWAP1
00004340: KECCAK256
00004341: ADD
00004342: SLOAD
00004343: SWAP1
00004344: JUMP
00004345: JUMPDEST
00004346: PUSH1 0x00
00004348: DUP1
00004349: PUSH2 0x435b
0000434c: DUP4
0000434d: PUSH2 0x4355
00004350: DUP7
00004351: PUSH2 0x27a1
00004354: JUMP
00004355: JUMPDEST
00004356: SWAP1
00004357: PUSH2 0x1945
0000435a: JUMP
0000435b: JUMPDEST
0000435c: SWAP1
0000435d: POP
0000435e: PUSH1 0x00
00004360: PUSH2 0x4368
00004363: DUP6
00004364: PUSH2 0x27b4
00004367: JUMP
00004368: JUMPDEST
00004369: SWAP1
0000436a: POP
0000436b: NUMBER
0000436c: PUSH2 0x12a6
0000436f: DUP4
00004370: DUP4
00004371: DUP4
00004372: PUSH2 0x4a83
00004375: JUMP
00004376: JUMPDEST
00004377: PUSH1 0x00
00004379: DUP1
0000437a: PUSH2 0x435b
0000437d: DUP4
0000437e: PUSH2 0x4386
00004381: DUP7
00004382: PUSH2 0x27a1
00004385: JUMP
00004386: JUMPDEST
00004387: SWAP1
00004388: PUSH2 0x4abc
0000438b: JUMP
0000438c: JUMPDEST
0000438d: PUSH1 0x00
0000438f: SWAP2
00004390: DUP3
00004391: MSTORE
00004392: PUSH1 0x01
00004394: SWAP3
00004395: DUP4
00004396: ADD
00004397: PUSH1 0x20
00004399: MSTORE
0000439a: PUSH1 0x40
0000439c: SWAP1
0000439d: SWAP2
0000439e: KECCAK256
0000439f: SWAP1
000043a0: SWAP2
000043a1: ADD
000043a2: SSTORE
000043a3: JUMP
000043a4: JUMPDEST
000043a5: PUSH1 0x00
000043a7: DUP1
000043a8: DUP3
000043a9: PUSH1 0x01
000043ab: PUSH1 0x01
000043ad: PUSH1 0xa0
000043af: SHL
000043b0: SUB
000043b1: AND
000043b2: DUP5
000043b3: PUSH1 0x01
000043b5: PUSH1 0x01
000043b7: PUSH1 0xa0
000043b9: SHL
000043ba: SUB
000043bb: AND
000043bc: LT
000043bd: PUSH2 0x43c7
000043c0: JUMPI
000043c1: DUP3
000043c2: DUP5
000043c3: PUSH2 0x43ca
000043c6: JUMP
000043c7: JUMPDEST
000043c8: DUP4
000043c9: DUP4
000043ca: JUMPDEST
000043cb: SWAP2
000043cc: POP
000043cd: SWAP2
000043ce: POP
000043cf: SWAP3
000043d0: POP
000043d1: SWAP3
000043d2: SWAP1
000043d3: POP
000043d4: JUMP
000043d5: JUMPDEST
000043d6: PUSH1 0x00
000043d8: DUP3
000043d9: DUP3
000043da: PUSH1 0x40
000043dc: MLOAD
000043dd: PUSH1 0x20
000043df: ADD
000043e0: PUSH2 0x43ea
000043e3: SWAP3
000043e4: SWAP2
000043e5: SWAP1
000043e6: PUSH2 0x5b06
000043e9: JUMP
000043ea: JUMPDEST
000043eb: PUSH1 0x40
000043ed: MLOAD
000043ee: PUSH1 0x20
000043f0: DUP2
000043f1: DUP4
000043f2: SUB
000043f3: SUB
000043f4: DUP2
000043f5: MSTORE
000043f6: SWAP1
000043f7: PUSH1 0x40
000043f9: MSTORE
000043fa: DUP1
000043fb: MLOAD
000043fc: SWAP1
000043fd: PUSH1 0x20
000043ff: ADD
00004400: KECCAK256
00004401: SWAP1
00004402: POP
00004403: SWAP3
00004404: SWAP2
00004405: POP
00004406: POP
00004407: JUMP
00004408: JUMPDEST
00004409: PUSH1 0x00
0000440b: PUSH2 0x16f2
0000440e: PUSH2 0x4416
00004411: DUP5
00004412: PUSH2 0x27a1
00004415: JUMP
00004416: JUMPDEST
00004417: PUSH2 0x441f
0000441a: DUP5
0000441b: PUSH2 0x27a1
0000441e: JUMP
0000441f: JUMPDEST
00004420: PUSH2 0x4428
00004423: DUP7
00004424: PUSH2 0x27ca
00004427: JUMP
00004428: JUMPDEST
00004429: PUSH2 0x4a83
0000442c: JUMP
0000442d: JUMPDEST
0000442e: PUSH1 0x00
00004430: PUSH2 0x16f2
00004433: PUSH2 0x443b
00004436: DUP5
00004437: PUSH2 0x27b4
0000443a: JUMP
0000443b: JUMPDEST
0000443c: PUSH2 0x441f
0000443f: DUP5
00004440: PUSH2 0x27b4
00004443: JUMP
00004444: JUMPDEST
00004445: PUSH1 0x01
00004447: PUSH1 0x01
00004449: PUSH1 0xa0
0000444b: SHL
0000444c: SUB
0000444d: DUP3
0000444e: AND
0000444f: PUSH1 0x00
00004451: SWAP1
00004452: DUP2
00004453: MSTORE
00004454: PUSH1 0x02
00004456: DUP5
00004457: ADD
00004458: PUSH1 0x20
0000445a: MSTORE
0000445b: PUSH1 0x40
0000445d: DUP2
0000445e: KECCAK256
0000445f: SLOAD
00004460: PUSH2 0x446b
00004463: DUP2
00004464: ISZERO
00004465: ISZERO
00004466: DUP5
00004467: PUSH2 0x054b
0000446a: JUMP
0000446b: JUMPDEST
0000446c: PUSH2 0x4478
0000446f: DUP6
00004470: PUSH1 0x01
00004472: DUP4
00004473: SUB
00004474: PUSH2 0x432f
00004477: JUMP
00004478: JUMPDEST
00004479: SWAP6
0000447a: SWAP5
0000447b: POP
0000447c: POP
0000447d: POP
0000447e: POP
0000447f: POP
00004480: JUMP
00004481: JUMPDEST
00004482: PUSH1 0x00
00004484: PUSH2 0x448b
00004487: PUSH2 0x13af
0000448a: JUMP
0000448b: JUMPDEST
0000448c: PUSH1 0x01
0000448e: PUSH1 0x01
00004490: PUSH1 0xa0
00004492: SHL
00004493: SUB
00004494: AND
00004495: PUSH4 0x55c67628
0000449a: PUSH1 0x40
0000449c: MLOAD
0000449d: DUP2
0000449e: PUSH4 0xffffffff
000044a3: AND
000044a4: PUSH1 0xe0
000044a6: SHL
000044a7: DUP2
000044a8: MSTORE
000044a9: PUSH1 0x04
000044ab: ADD
000044ac: PUSH1 0x20
000044ae: PUSH1 0x40
000044b0: MLOAD
000044b1: DUP1
000044b2: DUP4
000044b3: SUB
000044b4: DUP2
000044b5: DUP7
000044b6: DUP1
000044b7: EXTCODESIZE
000044b8: ISZERO
000044b9: DUP1
000044ba: ISZERO
000044bb: PUSH2 0x44c3
000044be: JUMPI
000044bf: PUSH1 0x00
000044c1: DUP1
000044c2: REVERT
000044c3: JUMPDEST
000044c4: POP
000044c5: GAS
000044c6: STATICCALL
000044c7: ISZERO
000044c8: DUP1
000044c9: ISZERO
000044ca: PUSH2 0x44d7
000044cd: JUMPI
000044ce: RETURNDATASIZE
000044cf: PUSH1 0x00
000044d1: DUP1
000044d2: RETURNDATACOPY
000044d3: RETURNDATASIZE
000044d4: PUSH1 0x00
000044d6: REVERT
000044d7: JUMPDEST
000044d8: POP
000044d9: POP
000044da: POP
000044db: POP
000044dc: PUSH1 0x40
000044de: MLOAD
000044df: RETURNDATASIZE
000044e0: PUSH1 0x1f
000044e2: NOT
000044e3: PUSH1 0x1f
000044e5: DUP3
000044e6: ADD
000044e7: AND
000044e8: DUP3
000044e9: ADD
000044ea: DUP1
000044eb: PUSH1 0x40
000044ed: MSTORE
000044ee: POP
000044ef: DUP2
000044f0: ADD
000044f1: SWAP1
000044f2: PUSH2 0x12ce
000044f5: SWAP2
000044f6: SWAP1
000044f7: PUSH2 0x5968
000044fa: JUMP
000044fb: JUMPDEST
000044fc: PUSH2 0x0fa0
000044ff: DUP3
00004500: DUP5
00004501: EQ
00004502: DUP1
00004503: ISZERO
00004504: PUSH2 0x450c
00004507: JUMPI
00004508: POP
00004509: DUP2
0000450a: DUP4
0000450b: EQ
0000450c: JUMPDEST
0000450d: PUSH1 0x67
0000450f: PUSH2 0x054b
00004512: JUMP
00004513: JUMPDEST
00004514: PUSH1 0x60
00004516: DUP4
00004517: MLOAD
00004518: PUSH8 0xffffffffffffffff
00004521: DUP2
00004522: GT
00004523: DUP1
00004524: ISZERO
00004525: PUSH2 0x452d
00004528: JUMPI
00004529: PUSH1 0x00
0000452b: DUP1
0000452c: REVERT
0000452d: JUMPDEST
0000452e: POP
0000452f: PUSH1 0x40
00004531: MLOAD
00004532: SWAP1
00004533: DUP1
00004534: DUP3
00004535: MSTORE
00004536: DUP1
00004537: PUSH1 0x20
00004539: MUL
0000453a: PUSH1 0x20
0000453c: ADD
0000453d: DUP3
0000453e: ADD
0000453f: PUSH1 0x40
00004541: MSTORE
00004542: DUP1
00004543: ISZERO
00004544: PUSH2 0x4557
00004547: JUMPI
00004548: DUP2
00004549: PUSH1 0x20
0000454b: ADD
0000454c: PUSH1 0x20
0000454e: DUP3
0000454f: MUL
00004550: DUP1
00004551: CALLDATASIZE
00004552: DUP4
00004553: CALLDATACOPY
00004554: ADD
00004555: SWAP1
00004556: POP
00004557: JUMPDEST
00004558: POP
00004559: SWAP1
0000455a: POP
0000455b: PUSH1 0x00
0000455d: JUMPDEST
0000455e: DUP6
0000455f: MLOAD
00004560: MLOAD
00004561: DUP2
00004562: LT
00004563: ISZERO
00004564: PUSH2 0x4650
00004567: JUMPI
00004568: PUSH1 0x00
0000456a: DUP5
0000456b: DUP3
0000456c: DUP2
0000456d: MLOAD
0000456e: DUP2
0000456f: LT
00004570: PUSH2 0x4575
00004573: JUMPI
00004574: INVALID
00004575: JUMPDEST
00004576: PUSH1 0x20
00004578: MUL
00004579: PUSH1 0x20
0000457b: ADD
0000457c: ADD
0000457d: MLOAD
0000457e: SWAP1
0000457f: POP
00004580: PUSH2 0x45a5
00004583: DUP8
00004584: PUSH1 0x20
00004586: ADD
00004587: MLOAD
00004588: DUP4
00004589: DUP2
0000458a: MLOAD
0000458b: DUP2
0000458c: LT
0000458d: PUSH2 0x4592
00004590: JUMPI
00004591: INVALID
00004592: JUMPDEST
00004593: PUSH1 0x20
00004595: MUL
00004596: PUSH1 0x20
00004598: ADD
00004599: ADD
0000459a: MLOAD
0000459b: DUP3
0000459c: LT
0000459d: ISZERO
0000459e: PUSH2 0x01f9
000045a1: PUSH2 0x054b
000045a4: JUMP
000045a5: JUMPDEST
000045a6: PUSH1 0x00
000045a8: DUP8
000045a9: PUSH1 0x00
000045ab: ADD
000045ac: MLOAD
000045ad: DUP4
000045ae: DUP2
000045af: MLOAD
000045b0: DUP2
000045b1: LT
000045b2: PUSH2 0x45b7
000045b5: JUMPI
000045b6: INVALID
000045b7: JUMPDEST
000045b8: PUSH1 0x20
000045ba: MUL
000045bb: PUSH1 0x20
000045bd: ADD
000045be: ADD
000045bf: MLOAD
000045c0: SWAP1
000045c1: POP
000045c2: PUSH2 0x45d1
000045c5: DUP2
000045c6: DUP4
000045c7: DUP12
000045c8: DUP12
000045c9: PUSH1 0x60
000045cb: ADD
000045cc: MLOAD
000045cd: PUSH2 0x1d38
000045d0: JUMP
000045d1: JUMPDEST
000045d2: PUSH1 0x00
000045d4: DUP6
000045d5: DUP5
000045d6: DUP2
000045d7: MLOAD
000045d8: DUP2
000045d9: LT
000045da: PUSH2 0x45df
000045dd: JUMPI
000045de: INVALID
000045df: JUMPDEST
000045e0: PUSH1 0x20
000045e2: MUL
000045e3: PUSH1 0x20
000045e5: ADD
000045e6: ADD
000045e7: MLOAD
000045e8: SWAP1
000045e9: POP
000045ea: PUSH2 0x45fb
000045ed: PUSH2 0x45f5
000045f0: DUP4
000045f1: PUSH2 0x1b41
000045f4: JUMP
000045f5: JUMPDEST
000045f6: DUP3
000045f7: PUSH2 0x1f11
000045fa: JUMP
000045fb: JUMPDEST
000045fc: PUSH2 0x462a
000045ff: PUSH2 0x4608
00004602: DUP5
00004603: DUP4
00004604: PUSH2 0x1945
00004607: JUMP
00004608: JUMPDEST
00004609: DUP10
0000460a: DUP7
0000460b: DUP2
0000460c: MLOAD
0000460d: DUP2
0000460e: LT
0000460f: PUSH2 0x4614
00004612: JUMPI
00004613: INVALID
00004614: JUMPDEST
00004615: PUSH1 0x20
00004617: MUL
00004618: PUSH1 0x20
0000461a: ADD
0000461b: ADD
0000461c: MLOAD
0000461d: PUSH2 0x4376
00004620: SWAP1
00004621: SWAP2
00004622: SWAP1
00004623: PUSH4 0xffffffff
00004628: AND
00004629: JUMP
0000462a: JUMPDEST
0000462b: DUP6
0000462c: DUP6
0000462d: DUP2
0000462e: MLOAD
0000462f: DUP2
00004630: LT
00004631: PUSH2 0x4636
00004634: JUMPI
00004635: INVALID
00004636: JUMPDEST
00004637: PUSH1 0x20
00004639: MUL
0000463a: PUSH1 0x20
0000463c: ADD
0000463d: ADD
0000463e: DUP2
0000463f: DUP2
00004640: MSTORE
00004641: POP
00004642: POP
00004643: POP
00004644: POP
00004645: POP
00004646: DUP1
00004647: PUSH1 0x01
00004649: ADD
0000464a: SWAP1
0000464b: POP
0000464c: PUSH2 0x455d
0000464f: JUMP
00004650: JUMPDEST
00004651: POP
00004652: SWAP6
00004653: SWAP5
00004654: POP
00004655: POP
00004656: POP
00004657: POP
00004658: POP
00004659: JUMP
0000465a: JUMPDEST
0000465b: PUSH1 0x60
0000465d: PUSH1 0x00
0000465f: DUP5
00004660: MLOAD
00004661: PUSH8 0xffffffffffffffff
0000466a: DUP2
0000466b: GT
0000466c: DUP1
0000466d: ISZERO
0000466e: PUSH2 0x4676
00004671: JUMPI
00004672: PUSH1 0x00
00004674: DUP1
00004675: REVERT
00004676: JUMPDEST
00004677: POP
00004678: PUSH1 0x40
0000467a: MLOAD
0000467b: SWAP1
0000467c: DUP1
0000467d: DUP3
0000467e: MSTORE
0000467f: DUP1
00004680: PUSH1 0x20
00004682: MUL
00004683: PUSH1 0x20
00004685: ADD
00004686: DUP3
00004687: ADD
00004688: PUSH1 0x40
0000468a: MSTORE
0000468b: DUP1
0000468c: ISZERO
0000468d: PUSH2 0x46a0
00004690: JUMPI
00004691: DUP2
00004692: PUSH1 0x20
00004694: ADD
00004695: PUSH1 0x20
00004697: DUP3
00004698: MUL
00004699: DUP1
0000469a: CALLDATASIZE
0000469b: DUP4
0000469c: CALLDATACOPY
0000469d: ADD
0000469e: SWAP1
0000469f: POP
000046a0: JUMPDEST
000046a1: POP
000046a2: SWAP2
000046a3: POP
000046a4: PUSH1 0x00
000046a6: JUMPDEST
000046a7: DUP7
000046a8: MLOAD
000046a9: MLOAD
000046aa: DUP2
000046ab: LT
000046ac: ISZERO
000046ad: PUSH2 0x47c6
000046b0: JUMPI
000046b1: PUSH1 0x00
000046b3: DUP6
000046b4: DUP3
000046b5: DUP2
000046b6: MLOAD
000046b7: DUP2
000046b8: LT
000046b9: PUSH2 0x46be
000046bc: JUMPI
000046bd: INVALID
000046be: JUMPDEST
000046bf: PUSH1 0x20
000046c1: MUL
000046c2: PUSH1 0x20
000046c4: ADD
000046c5: ADD
000046c6: MLOAD
000046c7: SWAP1
000046c8: POP
000046c9: PUSH2 0x46ee
000046cc: DUP9
000046cd: PUSH1 0x20
000046cf: ADD
000046d0: MLOAD
000046d1: DUP4
000046d2: DUP2
000046d3: MLOAD
000046d4: DUP2
000046d5: LT
000046d6: PUSH2 0x46db
000046d9: JUMPI
000046da: INVALID
000046db: JUMPDEST
000046dc: PUSH1 0x20
000046de: MUL
000046df: PUSH1 0x20
000046e1: ADD
000046e2: ADD
000046e3: MLOAD
000046e4: DUP3
000046e5: GT
000046e6: ISZERO
000046e7: PUSH2 0x01fa
000046ea: PUSH2 0x054b
000046ed: JUMP
000046ee: JUMPDEST
000046ef: PUSH1 0x00
000046f1: DUP9
000046f2: PUSH1 0x00
000046f4: ADD
000046f5: MLOAD
000046f6: DUP4
000046f7: DUP2
000046f8: MLOAD
000046f9: DUP2
000046fa: LT
000046fb: PUSH2 0x4700
000046fe: JUMPI
000046ff: INVALID
00004700: JUMPDEST
00004701: PUSH1 0x20
00004703: MUL
00004704: PUSH1 0x20
00004706: ADD
00004707: ADD
00004708: MLOAD
00004709: SWAP1
0000470a: POP
0000470b: PUSH2 0x471a
0000470e: DUP2
0000470f: DUP4
00004710: DUP13
00004711: DUP13
00004712: PUSH1 0x60
00004714: ADD
00004715: MLOAD
00004716: PUSH2 0x1c5a
00004719: JUMP
0000471a: JUMPDEST
0000471b: PUSH2 0x4723
0000471e: DUP2
0000471f: PUSH2 0x1938
00004722: JUMP
00004723: JUMPDEST
00004724: ISZERO
00004725: PUSH2 0x4735
00004728: JUMPI
00004729: PUSH2 0x4732
0000472c: DUP5
0000472d: DUP4
0000472e: PUSH2 0x1945
00004731: JUMP
00004732: JUMPDEST
00004733: SWAP4
00004734: POP
00004735: JUMPDEST
00004736: PUSH1 0x00
00004738: DUP7
00004739: DUP5
0000473a: DUP2
0000473b: MLOAD
0000473c: DUP2
0000473d: LT
0000473e: PUSH2 0x4743
00004741: JUMPI
00004742: INVALID
00004743: JUMPDEST
00004744: PUSH1 0x20
00004746: MUL
00004747: PUSH1 0x20
00004749: ADD
0000474a: ADD
0000474b: MLOAD
0000474c: SWAP1
0000474d: POP
0000474e: PUSH2 0x4759
00004751: PUSH2 0x45f5
00004754: DUP4
00004755: PUSH2 0x1b41
00004758: JUMP
00004759: JUMPDEST
0000475a: DUP1
0000475b: DUP4
0000475c: LT
0000475d: ISZERO
0000475e: PUSH2 0x4778
00004761: JUMPI
00004762: PUSH2 0x4773
00004765: DUP4
00004766: DUP3
00004767: SUB
00004768: DUP11
00004769: DUP7
0000476a: DUP2
0000476b: MLOAD
0000476c: DUP2
0000476d: LT
0000476e: PUSH2 0x4614
00004771: JUMPI
00004772: INVALID
00004773: JUMPDEST
00004774: PUSH2 0x47a0
00004777: JUMP
00004778: JUMPDEST
00004779: PUSH2 0x47a0
0000477c: DUP2
0000477d: DUP5
0000477e: SUB
0000477f: DUP11
00004780: DUP7
00004781: DUP2
00004782: MLOAD
00004783: DUP2
00004784: LT
00004785: PUSH2 0x478a
00004788: JUMPI
00004789: INVALID
0000478a: JUMPDEST
0000478b: PUSH1 0x20
0000478d: MUL
0000478e: PUSH1 0x20
00004790: ADD
00004791: ADD
00004792: MLOAD
00004793: PUSH2 0x4345
00004796: SWAP1
00004797: SWAP2
00004798: SWAP1
00004799: PUSH4 0xffffffff
0000479e: AND
0000479f: JUMP
000047a0: JUMPDEST
000047a1: DUP7
000047a2: DUP6
000047a3: DUP2
000047a4: MLOAD
000047a5: DUP2
000047a6: LT
000047a7: PUSH2 0x47ac
000047aa: JUMPI
000047ab: INVALID
000047ac: JUMPDEST
000047ad: PUSH1 0x20
000047af: MUL
000047b0: PUSH1 0x20
000047b2: ADD
000047b3: ADD
000047b4: DUP2
000047b5: DUP2
000047b6: MSTORE
000047b7: POP
000047b8: POP
000047b9: POP
000047ba: POP
000047bb: POP
000047bc: DUP1
000047bd: PUSH1 0x01
000047bf: ADD
000047c0: SWAP1
000047c1: POP
000047c2: PUSH2 0x46a6
000047c5: JUMP
000047c6: JUMPDEST
000047c7: POP
000047c8: PUSH2 0x4650
000047cb: DUP2
000047cc: PUSH2 0x19de
000047cf: JUMP
000047d0: JUMPDEST
000047d1: PUSH1 0x01
000047d3: PUSH1 0x01
000047d5: PUSH1 0xa0
000047d7: SHL
000047d8: SUB
000047d9: AND
000047da: PUSH1 0x00
000047dc: SWAP1
000047dd: DUP2
000047de: MSTORE
000047df: PUSH1 0x02
000047e1: SWAP2
000047e2: SWAP1
000047e3: SWAP2
000047e4: ADD
000047e5: PUSH1 0x20
000047e7: MSTORE
000047e8: PUSH1 0x40
000047ea: SWAP1
000047eb: KECCAK256
000047ec: SLOAD
000047ed: ISZERO
000047ee: ISZERO
000047ef: SWAP1
000047f0: JUMP
000047f1: JUMPDEST
000047f2: PUSH2 0x0e00
000047f5: DUP4
000047f6: DUP4
000047f7: PUSH2 0x4ad2
000047fa: DUP5
000047fb: PUSH2 0x4b0d
000047fe: JUMP
000047ff: JUMPDEST
00004800: PUSH2 0x0e00
00004803: DUP4
00004804: DUP4
00004805: PUSH2 0x4ad2
00004808: DUP5
00004809: PUSH2 0x4bb8
0000480c: JUMP
0000480d: JUMPDEST
0000480e: PUSH2 0x0e00
00004811: DUP4
00004812: DUP4
00004813: PUSH2 0x4ad2
00004816: DUP5
00004817: PUSH2 0x4c13
0000481a: JUMP
0000481b: JUMPDEST
0000481c: PUSH2 0x0e00
0000481f: DUP4
00004820: DUP4
00004821: PUSH2 0x4c62
00004824: DUP5
00004825: PUSH2 0x4b0d
00004828: JUMP
00004829: JUMPDEST
0000482a: PUSH2 0x0e00
0000482d: DUP4
0000482e: DUP4
0000482f: PUSH2 0x4c62
00004832: DUP5
00004833: PUSH2 0x4bb8
00004836: JUMP
00004837: JUMPDEST
00004838: PUSH2 0x0e00
0000483b: DUP4
0000483c: DUP4
0000483d: PUSH2 0x4c62
00004840: DUP5
00004841: PUSH2 0x4c13
00004844: JUMP
00004845: JUMPDEST
00004846: PUSH1 0x00
00004848: PUSH2 0x09e1
0000484b: DUP5
0000484c: DUP5
0000484d: PUSH2 0x4c83
00004850: DUP6
00004851: PUSH2 0x4b0d
00004854: JUMP
00004855: JUMPDEST
00004856: PUSH1 0x00
00004858: PUSH2 0x09e1
0000485b: DUP5
0000485c: DUP5
0000485d: PUSH2 0x4c83
00004860: DUP6
00004861: PUSH2 0x4bb8
00004864: JUMP
00004865: JUMPDEST
00004866: PUSH1 0x00
00004868: PUSH2 0x09e1
0000486b: DUP5
0000486c: DUP5
0000486d: PUSH2 0x4c83
00004870: DUP6
00004871: PUSH2 0x4c13
00004874: JUMP
00004875: JUMPDEST
00004876: PUSH1 0x00
00004878: DUP3
00004879: PUSH1 0x00
0000487b: ADD
0000487c: DUP3
0000487d: DUP2
0000487e: SLOAD
0000487f: DUP2
00004880: LT
00004881: PUSH2 0x4886
00004884: JUMPI
00004885: INVALID
00004886: JUMPDEST
00004887: PUSH1 0x00
00004889: SWAP2
0000488a: DUP3
0000488b: MSTORE
0000488c: PUSH1 0x20
0000488e: SWAP1
0000488f: SWAP2
00004890: KECCAK256
00004891: ADD
00004892: SLOAD
00004893: PUSH1 0x01
00004895: PUSH1 0x01
00004897: PUSH1 0xa0
00004899: SHL
0000489a: SUB
0000489b: AND
0000489c: SWAP4
0000489d: SWAP3
0000489e: POP
0000489f: POP
000048a0: POP
000048a1: JUMP
000048a2: JUMPDEST
000048a3: PUSH1 0x00
000048a5: SWAP1
000048a6: DUP2
000048a7: MSTORE
000048a8: PUSH1 0x01
000048aa: SWAP2
000048ab: DUP3
000048ac: ADD
000048ad: PUSH1 0x20
000048af: MSTORE
000048b0: PUSH1 0x40
000048b2: SWAP1
000048b3: KECCAK256
000048b4: DUP1
000048b5: SLOAD
000048b6: SWAP2
000048b7: ADD
000048b8: SLOAD
000048b9: PUSH1 0x01
000048bb: PUSH1 0x01
000048bd: PUSH1 0xa0
000048bf: SHL
000048c0: SUB
000048c1: SWAP1
000048c2: SWAP2
000048c3: AND
000048c4: SWAP2
000048c5: JUMP
000048c6: JUMPDEST
000048c7: PUSH1 0x00
000048c9: PUSH2 0x12ce
000048cc: PUSH1 0x00
000048ce: PUSH2 0x4c9d
000048d1: JUMP
000048d2: JUMPDEST
000048d3: PUSH1 0x00
000048d5: DUP1
000048d6: CALLDATALOAD
000048d7: PUSH1 0xe0
000048d9: SHR
000048da: DUP1
000048db: PUSH4 0xb95cac28
000048e0: DUP2
000048e1: EQ
000048e2: PUSH2 0x491a
000048e5: JUMPI
000048e6: PUSH4 0x8bdb3913
000048eb: DUP2
000048ec: EQ
000048ed: PUSH2 0x4942
000048f0: JUMPI
000048f1: PUSH4 0x52bbbe29
000048f6: DUP2
000048f7: EQ
000048f8: PUSH2 0x496a
000048fb: JUMPI
000048fc: PUSH4 0x945bcec9
00004901: DUP2
00004902: EQ
00004903: PUSH2 0x4992
00004906: JUMPI
00004907: PUSH4 0xfa6e671d
0000490c: DUP2
0000490d: EQ
0000490e: PUSH2 0x49ba
00004911: JUMPI
00004912: PUSH1 0x00
00004914: SWAP3
00004915: POP
00004916: PUSH2 0x49de
00004919: JUMP
0000491a: JUMPDEST
0000491b: PUSH32 0x3f7b71252bd19113ff48c19c6e004a9bcfcca320a0d74d58e85877cbd7dcae58
0000493c: SWAP3
0000493d: POP
0000493e: PUSH2 0x49de
00004941: JUMP
00004942: JUMPDEST
00004943: PUSH32 0x8bbc57f66ea936902f50a71ce12b92c43f3c5340bb40c27c4e90ab84eeae3353
00004964: SWAP3
00004965: POP
00004966: PUSH2 0x49de
00004969: JUMP
0000496a: JUMPDEST
0000496b: PUSH32 0xe192dcbc143b1e244ad73b813fd3c097b832ad260a157340b4e5e5beda067abe
0000498c: SWAP3
0000498d: POP
0000498e: PUSH2 0x49de
00004991: JUMP
00004992: JUMPDEST
00004993: PUSH32 0x9bfc43a4d98313c6766986ffd7c916c7481566d9f224c6819af0a53388aced3a
000049b4: SWAP3
000049b5: POP
000049b6: PUSH2 0x49de
000049b9: JUMP
000049ba: JUMPDEST
000049bb: PUSH32 0xa3f865aa351e51cfeb40f5178d1564bb629fe9030b83caf6361d1baaf5b90b5a
000049dc: SWAP3
000049dd: POP
000049de: JUMPDEST
000049df: POP
000049e0: POP
000049e1: SWAP1
000049e2: JUMP
000049e3: JUMPDEST
000049e4: PUSH1 0x60
000049e6: PUSH1 0x00
000049e8: CALLDATASIZE
000049e9: DUP1
000049ea: DUP1
000049eb: PUSH1 0x1f
000049ed: ADD
000049ee: PUSH1 0x20
000049f0: DUP1
000049f1: SWAP2
000049f2: DIV
000049f3: MUL
000049f4: PUSH1 0x20
000049f6: ADD
000049f7: PUSH1 0x40
000049f9: MLOAD
000049fa: SWAP1
000049fb: DUP2
000049fc: ADD
000049fd: PUSH1 0x40
000049ff: MSTORE
00004a00: DUP1
00004a01: SWAP4
00004a02: SWAP3
00004a03: SWAP2
00004a04: SWAP1
00004a05: DUP2
00004a06: DUP2
00004a07: MSTORE
00004a08: PUSH1 0x20
00004a0a: ADD
00004a0b: DUP4
00004a0c: DUP4
00004a0d: DUP1
00004a0e: DUP3
00004a0f: DUP5
00004a10: CALLDATACOPY
00004a11: PUSH1 0x00
00004a13: SWAP3
00004a14: ADD
00004a15: SWAP2
00004a16: SWAP1
00004a17: SWAP2
00004a18: MSTORE
00004a19: POP
00004a1a: POP
00004a1b: DUP3
00004a1c: MLOAD
00004a1d: SWAP3
00004a1e: SWAP4
00004a1f: POP
00004a20: POP
00004a21: POP
00004a22: PUSH1 0x80
00004a24: LT
00004a25: ISZERO
00004a26: PUSH2 0x0548
00004a29: JUMPI
00004a2a: PUSH1 0x80
00004a2c: CALLDATASIZE
00004a2d: SUB
00004a2e: DUP2
00004a2f: MSTORE
00004a30: SWAP1
00004a31: JUMP
00004a32: JUMPDEST
00004a33: PUSH1 0x00
00004a35: PUSH2 0x4a3c
00004a38: PUSH2 0x289b
00004a3b: JUMP
00004a3c: JUMPDEST
00004a3d: DUP3
00004a3e: PUSH1 0x40
00004a40: MLOAD
00004a41: PUSH1 0x20
00004a43: ADD
00004a44: PUSH2 0x112e
00004a47: SWAP3
00004a48: SWAP2
00004a49: SWAP1
00004a4a: PUSH2 0x5b2d
00004a4d: JUMP
00004a4e: JUMPDEST
00004a4f: PUSH1 0x00
00004a51: DUP1
00004a52: PUSH1 0x00
00004a54: PUSH2 0x4a5d
00004a57: PUSH1 0x20
00004a59: PUSH2 0x4c9d
00004a5c: JUMP
00004a5d: JUMPDEST
00004a5e: SWAP3
00004a5f: POP
00004a60: PUSH2 0x4a69
00004a63: PUSH1 0x40
00004a65: PUSH2 0x4c9d
00004a68: JUMP
00004a69: JUMPDEST
00004a6a: SWAP2
00004a6b: POP
00004a6c: PUSH2 0x0841
00004a6f: PUSH1 0x60
00004a71: PUSH2 0x4c9d
00004a74: JUMP
00004a75: JUMPDEST
00004a76: PUSH1 0xe0
00004a78: SHL
00004a79: PUSH1 0x70
00004a7b: SWAP2
00004a7c: SWAP1
00004a7d: SWAP2
00004a7e: SHL
00004a7f: ADD
00004a80: ADD
00004a81: SWAP1
00004a82: JUMP
00004a83: JUMPDEST
00004a84: PUSH1 0x00
00004a86: DUP4
00004a87: DUP4
00004a88: ADD
00004a89: PUSH2 0x4ab1
00004a8c: DUP6
00004a8d: DUP3
00004a8e: LT
00004a8f: DUP1
00004a90: ISZERO
00004a91: SWAP1
00004a92: PUSH2 0x4aa9
00004a95: JUMPI
00004a96: POP
00004a97: PUSH15 0x010000000000000000000000000000
00004aa7: DUP3
00004aa8: LT
00004aa9: JUMPDEST
00004aaa: PUSH2 0x020e
00004aad: PUSH2 0x054b
00004ab0: JUMP
00004ab1: JUMPDEST
00004ab2: PUSH2 0x4478
00004ab5: DUP6
00004ab6: DUP6
00004ab7: DUP6
00004ab8: PUSH2 0x4a75
00004abb: JUMP
00004abc: JUMPDEST
00004abd: PUSH1 0x00
00004abf: PUSH2 0x4acc
00004ac2: DUP4
00004ac3: DUP4
00004ac4: GT
00004ac5: ISZERO
00004ac6: PUSH1 0x01
00004ac8: PUSH2 0x054b
00004acb: JUMP
00004acc: JUMPDEST
00004acd: POP
00004ace: SWAP1
00004acf: SUB
00004ad0: SWAP1
00004ad1: JUMP
00004ad2: JUMPDEST
00004ad3: PUSH1 0x00
00004ad5: DUP1
00004ad6: PUSH2 0x4ae2
00004ad9: DUP4
00004ada: PUSH2 0x4386
00004add: DUP7
00004ade: PUSH2 0x27a1
00004ae1: JUMP
00004ae2: JUMPDEST
00004ae3: SWAP1
00004ae4: POP
00004ae5: PUSH1 0x00
00004ae7: PUSH2 0x4af3
00004aea: DUP5
00004aeb: PUSH2 0x4355
00004aee: DUP8
00004aef: PUSH2 0x27b4
00004af2: JUMP
00004af3: JUMPDEST
00004af4: SWAP1
00004af5: POP
00004af6: PUSH1 0x00
00004af8: PUSH2 0x4b00
00004afb: DUP7
00004afc: PUSH2 0x27ca
00004aff: JUMP
00004b00: JUMPDEST
00004b01: SWAP1
00004b02: POP
00004b03: PUSH2 0x12a6
00004b06: DUP4
00004b07: DUP4
00004b08: DUP4
00004b09: PUSH2 0x4a83
00004b0c: JUMP
00004b0d: JUMPDEST
00004b0e: PUSH1 0x00
00004b10: DUP1
00004b11: PUSH1 0x00
00004b13: DUP1
00004b14: PUSH1 0x00
00004b16: PUSH2 0x4b1e
00004b19: DUP10
00004b1a: PUSH2 0x3a19
00004b1d: JUMP
00004b1e: JUMPDEST
00004b1f: SWAP5
00004b20: POP
00004b21: POP
00004b22: SWAP4
00004b23: POP
00004b24: SWAP4
00004b25: POP
00004b26: SWAP4
00004b27: POP
00004b28: PUSH1 0x00
00004b2a: DUP4
00004b2b: PUSH1 0x01
00004b2d: PUSH1 0x01
00004b2f: PUSH1 0xa0
00004b31: SHL
00004b32: SUB
00004b33: AND
00004b34: DUP10
00004b35: PUSH1 0x01
00004b37: PUSH1 0x01
00004b39: PUSH1 0xa0
00004b3b: SHL
00004b3c: SUB
00004b3d: AND
00004b3e: EQ
00004b3f: ISZERO
00004b40: PUSH2 0x4b69
00004b43: JUMPI
00004b44: PUSH1 0x00
00004b46: PUSH2 0x4b53
00004b49: DUP5
00004b4a: DUP10
00004b4b: DUP12
00004b4c: PUSH4 0xffffffff
00004b51: AND
00004b52: JUMP
00004b53: JUMPDEST
00004b54: SWAP1
00004b55: POP
00004b56: PUSH2 0x4b5f
00004b59: DUP2
00004b5a: DUP6
00004b5b: PUSH2 0x4ca7
00004b5e: JUMP
00004b5f: JUMPDEST
00004b60: SWAP1
00004b61: SWAP4
00004b62: POP
00004b63: SWAP1
00004b64: POP
00004b65: PUSH2 0x4b8b
00004b68: JUMP
00004b69: JUMPDEST
00004b6a: PUSH1 0x00
00004b6c: PUSH2 0x4b79
00004b6f: DUP4
00004b70: DUP10
00004b71: DUP12
00004b72: PUSH4 0xffffffff
00004b77: AND
00004b78: JUMP
00004b79: JUMPDEST
00004b7a: SWAP1
00004b7b: POP
00004b7c: PUSH2 0x4b85
00004b7f: DUP2
00004b80: DUP5
00004b81: PUSH2 0x4ca7
00004b84: JUMP
00004b85: JUMPDEST
00004b86: SWAP1
00004b87: SWAP3
00004b88: POP
00004b89: SWAP1
00004b8a: POP
00004b8b: JUMPDEST
00004b8c: PUSH2 0x4b95
00004b8f: DUP4
00004b90: DUP4
00004b91: PUSH2 0x42d1
00004b94: JUMP
00004b95: JUMPDEST
00004b96: DUP6
00004b97: SSTORE
00004b98: PUSH2 0x4ba1
00004b9b: DUP4
00004b9c: DUP4
00004b9d: PUSH2 0x4cc3
00004ba0: JUMP
00004ba1: JUMPDEST
00004ba2: PUSH1 0x01
00004ba4: SWAP1
00004ba5: SWAP6
00004ba6: ADD
00004ba7: SWAP5
00004ba8: SWAP1
00004ba9: SWAP5
00004baa: SSTORE
00004bab: POP
00004bac: SWAP2
00004bad: SWAP3
00004bae: POP
00004baf: POP
00004bb0: POP
00004bb1: SWAP5
00004bb2: SWAP4
00004bb3: POP
00004bb4: POP
00004bb5: POP
00004bb6: POP
00004bb7: JUMP
00004bb8: JUMPDEST
00004bb9: PUSH1 0x00
00004bbb: DUP1
00004bbc: PUSH2 0x4bc5
00004bbf: DUP7
00004bc0: DUP7
00004bc1: PUSH2 0x271b
00004bc4: JUMP
00004bc5: JUMPDEST
00004bc6: SWAP1
00004bc7: POP
00004bc8: PUSH1 0x00
00004bca: PUSH2 0x4bd7
00004bcd: DUP3
00004bce: DUP6
00004bcf: DUP8
00004bd0: PUSH4 0xffffffff
00004bd5: AND
00004bd6: JUMP
00004bd7: JUMPDEST
00004bd8: PUSH1 0x00
00004bda: DUP9
00004bdb: DUP2
00004bdc: MSTORE
00004bdd: PUSH1 0x07
00004bdf: PUSH1 0x20
00004be1: SWAP1
00004be2: DUP2
00004be3: MSTORE
00004be4: PUSH1 0x40
00004be6: DUP1
00004be7: DUP4
00004be8: KECCAK256
00004be9: PUSH1 0x01
00004beb: PUSH1 0x01
00004bed: PUSH1 0xa0
00004bef: SHL
00004bf0: SUB
00004bf1: DUP12
00004bf2: AND
00004bf3: DUP5
00004bf4: MSTORE
00004bf5: SWAP1
00004bf6: SWAP2
00004bf7: MSTORE
00004bf8: SWAP1
00004bf9: KECCAK256
00004bfa: DUP2
00004bfb: SWAP1
00004bfc: SSTORE
00004bfd: SWAP1
00004bfe: POP
00004bff: PUSH2 0x4c08
00004c02: DUP2
00004c03: DUP4
00004c04: PUSH2 0x4ca7
00004c07: JUMP
00004c08: JUMPDEST
00004c09: SWAP8
00004c0a: SWAP7
00004c0b: POP
00004c0c: POP
00004c0d: POP
00004c0e: POP
00004c0f: POP
00004c10: POP
00004c11: POP
00004c12: JUMP
00004c13: JUMPDEST
00004c14: PUSH1 0x00
00004c16: DUP5
00004c17: DUP2
00004c18: MSTORE
00004c19: PUSH1 0x01
00004c1b: PUSH1 0x20
00004c1d: MSTORE
00004c1e: PUSH1 0x40
00004c20: DUP2
00004c21: KECCAK256
00004c22: DUP2
00004c23: PUSH2 0x4c2c
00004c26: DUP3
00004c27: DUP8
00004c28: PUSH2 0x3412
00004c2b: JUMP
00004c2c: JUMPDEST
00004c2d: SWAP1
00004c2e: POP
00004c2f: PUSH1 0x00
00004c31: PUSH2 0x4c3e
00004c34: DUP3
00004c35: DUP7
00004c36: DUP9
00004c37: PUSH4 0xffffffff
00004c3c: AND
00004c3d: JUMP
00004c3e: JUMPDEST
00004c3f: SWAP1
00004c40: POP
00004c41: PUSH2 0x4c4b
00004c44: DUP4
00004c45: DUP9
00004c46: DUP4
00004c47: PUSH2 0x3175
00004c4a: JUMP
00004c4b: JUMPDEST
00004c4c: POP
00004c4d: PUSH2 0x4c56
00004c50: DUP2
00004c51: DUP4
00004c52: PUSH2 0x4ca7
00004c55: JUMP
00004c56: JUMPDEST
00004c57: SWAP9
00004c58: SWAP8
00004c59: POP
00004c5a: POP
00004c5b: POP
00004c5c: POP
00004c5d: POP
00004c5e: POP
00004c5f: POP
00004c60: POP
00004c61: JUMP
00004c62: JUMPDEST
00004c63: PUSH1 0x00
00004c65: DUP1
00004c66: PUSH2 0x4c72
00004c69: DUP4
00004c6a: PUSH2 0x4355
00004c6d: DUP7
00004c6e: PUSH2 0x27a1
00004c71: JUMP
00004c72: JUMPDEST
00004c73: SWAP1
00004c74: POP
00004c75: PUSH1 0x00
00004c77: PUSH2 0x4af3
00004c7a: DUP5
00004c7b: PUSH2 0x4386
00004c7e: DUP8
00004c7f: PUSH2 0x27b4
00004c82: JUMP
00004c83: JUMPDEST
00004c84: PUSH1 0x00
00004c86: DUP1
00004c87: PUSH2 0x4c8f
00004c8a: DUP5
00004c8b: PUSH2 0x27a1
00004c8e: JUMP
00004c8f: JUMPDEST
00004c90: SWAP1
00004c91: POP
00004c92: NUMBER
00004c93: PUSH2 0x4478
00004c96: DUP3
00004c97: DUP6
00004c98: DUP4
00004c99: PUSH2 0x4a83
00004c9c: JUMP
00004c9d: JUMPDEST
00004c9e: CALLDATASIZE
00004c9f: ADD
00004ca0: PUSH1 0x7f
00004ca2: NOT
00004ca3: ADD
00004ca4: CALLDATALOAD
00004ca5: SWAP1
00004ca6: JUMP
00004ca7: JUMPDEST
00004ca8: PUSH1 0x00
00004caa: PUSH2 0x4cb2
00004cad: DUP3
00004cae: PUSH2 0x27b4
00004cb1: JUMP
00004cb2: JUMPDEST
00004cb3: PUSH2 0x4cbb
00004cb6: DUP5
00004cb7: PUSH2 0x27b4
00004cba: JUMP
00004cbb: JUMPDEST
00004cbc: SUB
00004cbd: SWAP4
00004cbe: SWAP3
00004cbf: POP
00004cc0: POP
00004cc1: POP
00004cc2: JUMP
00004cc3: JUMPDEST
00004cc4: PUSH1 0x00
00004cc6: PUSH2 0x16f2
00004cc9: PUSH2 0x4cd1
00004ccc: DUP5
00004ccd: PUSH2 0x27b4
00004cd0: JUMP
00004cd1: JUMPDEST
00004cd2: PUSH2 0x4cda
00004cd5: DUP5
00004cd6: PUSH2 0x27b4
00004cd9: JUMP
00004cda: JUMPDEST
00004cdb: PUSH1 0x00
00004cdd: PUSH2 0x4a75
00004ce0: JUMP
00004ce1: JUMPDEST
00004ce2: PUSH1 0x40
00004ce4: DUP1
00004ce5: MLOAD
00004ce6: PUSH2 0x0120
00004ce9: DUP2
00004cea: ADD
00004ceb: SWAP1
00004cec: SWAP2
00004ced: MSTORE
00004cee: DUP1
00004cef: PUSH1 0x00
00004cf1: DUP2
00004cf2: MSTORE
00004cf3: PUSH1 0x00
00004cf5: PUSH1 0x20
00004cf7: DUP3
00004cf8: ADD
00004cf9: DUP2
00004cfa: SWAP1
00004cfb: MSTORE
00004cfc: PUSH1 0x40
00004cfe: DUP3
00004cff: ADD
00004d00: DUP2
00004d01: SWAP1
00004d02: MSTORE
00004d03: PUSH1 0x60
00004d05: DUP1
00004d06: DUP4
00004d07: ADD
00004d08: DUP3
00004d09: SWAP1
00004d0a: MSTORE
00004d0b: PUSH1 0x80
00004d0d: DUP4
00004d0e: ADD
00004d0f: DUP3
00004d10: SWAP1
00004d11: MSTORE
00004d12: PUSH1 0xa0
00004d14: DUP4
00004d15: ADD
00004d16: DUP3
00004d17: SWAP1
00004d18: MSTORE
00004d19: PUSH1 0xc0
00004d1b: DUP4
00004d1c: ADD
00004d1d: DUP3
00004d1e: SWAP1
00004d1f: MSTORE
00004d20: PUSH1 0xe0
00004d22: DUP4
00004d23: ADD
00004d24: SWAP2
00004d25: SWAP1
00004d26: SWAP2
00004d27: MSTORE
00004d28: PUSH2 0x0100
00004d2b: SWAP1
00004d2c: SWAP2
00004d2d: ADD
00004d2e: MSTORE
00004d2f: SWAP1
00004d30: JUMP
00004d31: JUMPDEST
00004d32: PUSH1 0x40
00004d34: DUP1
00004d35: MLOAD
00004d36: PUSH1 0x80
00004d38: DUP2
00004d39: ADD
00004d3a: SWAP1
00004d3b: SWAP2
00004d3c: MSTORE
00004d3d: DUP1
00004d3e: PUSH1 0x00
00004d40: DUP2
00004d41: MSTORE
00004d42: PUSH1 0x00
00004d44: PUSH1 0x20
00004d46: DUP3
00004d47: ADD
00004d48: DUP2
00004d49: SWAP1
00004d4a: MSTORE
00004d4b: PUSH1 0x40
00004d4d: DUP3
00004d4e: ADD
00004d4f: DUP2
00004d50: SWAP1
00004d51: MSTORE
00004d52: PUSH1 0x60
00004d54: SWAP1
00004d55: SWAP2
00004d56: ADD
00004d57: MSTORE
00004d58: SWAP1
00004d59: JUMP
00004d5a: JUMPDEST
00004d5b: PUSH1 0x40
00004d5d: MLOAD
00004d5e: DUP1
00004d5f: PUSH1 0x80
00004d61: ADD
00004d62: PUSH1 0x40
00004d64: MSTORE
00004d65: DUP1
00004d66: PUSH1 0x60
00004d68: DUP2
00004d69: MSTORE
00004d6a: PUSH1 0x20
00004d6c: ADD
00004d6d: PUSH1 0x60
00004d6f: DUP2
00004d70: MSTORE
00004d71: PUSH1 0x20
00004d73: ADD
00004d74: PUSH1 0x60
00004d76: DUP2
00004d77: MSTORE
00004d78: PUSH1 0x20
00004d7a: ADD
00004d7b: PUSH1 0x00
00004d7d: ISZERO
00004d7e: ISZERO
00004d7f: DUP2
00004d80: MSTORE
00004d81: POP
00004d82: SWAP1
00004d83: JUMP
00004d84: JUMPDEST
00004d85: PUSH1 0x40
00004d87: MLOAD
00004d88: DUP1
00004d89: PUSH1 0xa0
00004d8b: ADD
00004d8c: PUSH1 0x40
00004d8e: MSTORE
00004d8f: DUP1
00004d90: PUSH1 0x00
00004d92: DUP1
00004d93: NOT
00004d94: AND
00004d95: DUP2
00004d96: MSTORE
00004d97: PUSH1 0x20
00004d99: ADD
00004d9a: PUSH1 0x00
00004d9c: DUP2
00004d9d: MSTORE
00004d9e: PUSH1 0x20
00004da0: ADD
00004da1: PUSH1 0x00
00004da3: DUP2
00004da4: MSTORE
00004da5: PUSH1 0x20
00004da7: ADD
00004da8: PUSH1 0x00
00004daa: DUP2
00004dab: MSTORE
00004dac: PUSH1 0x20
00004dae: ADD
00004daf: PUSH1 0x60
00004db1: DUP2
00004db2: MSTORE
00004db3: POP
00004db4: SWAP1
00004db5: JUMP
00004db6: JUMPDEST
00004db7: DUP1
00004db8: CALLDATALOAD
00004db9: PUSH2 0x16f5
00004dbc: DUP2
00004dbd: PUSH2 0x5f5a
00004dc0: JUMP
00004dc1: JUMPDEST
00004dc2: PUSH1 0x00
00004dc4: DUP3
00004dc5: PUSH1 0x1f
00004dc7: DUP4
00004dc8: ADD
00004dc9: SLT
00004dca: PUSH2 0x4dd1
00004dcd: JUMPI
00004dce: DUP1
00004dcf: DUP2
00004dd0: REVERT
00004dd1: JUMPDEST
00004dd2: DUP2
00004dd3: CALLDATALOAD
00004dd4: PUSH2 0x4de4
00004dd7: PUSH2 0x4ddf
00004dda: DUP3
00004ddb: PUSH2 0x5f04
00004dde: JUMP
00004ddf: JUMPDEST
00004de0: PUSH2 0x5edd
00004de3: JUMP
00004de4: JUMPDEST
00004de5: DUP2
00004de6: DUP2
00004de7: MSTORE
00004de8: SWAP2
00004de9: POP
00004dea: PUSH1 0x20
00004dec: DUP1
00004ded: DUP4
00004dee: ADD
00004def: SWAP1
00004df0: DUP5
00004df1: DUP2
00004df2: ADD
00004df3: DUP2
00004df4: DUP5
00004df5: MUL
00004df6: DUP7
00004df7: ADD
00004df8: DUP3
00004df9: ADD
00004dfa: DUP8
00004dfb: LT
00004dfc: ISZERO
00004dfd: PUSH2 0x4e05
00004e00: JUMPI
00004e01: PUSH1 0x00
00004e03: DUP1
00004e04: REVERT
00004e05: JUMPDEST
00004e06: PUSH1 0x00
00004e08: JUMPDEST
00004e09: DUP5
00004e0a: DUP2
00004e0b: LT
00004e0c: ISZERO
00004e0d: PUSH2 0x4e2d
00004e10: JUMPI
00004e11: DUP2
00004e12: CALLDATALOAD
00004e13: PUSH2 0x4e1b
00004e16: DUP2
00004e17: PUSH2 0x5f5a
00004e1a: JUMP
00004e1b: JUMPDEST
00004e1c: DUP5
00004e1d: MSTORE
00004e1e: SWAP3
00004e1f: DUP3
00004e20: ADD
00004e21: SWAP3
00004e22: SWAP1
00004e23: DUP3
00004e24: ADD
00004e25: SWAP1
00004e26: PUSH1 0x01
00004e28: ADD
00004e29: PUSH2 0x4e08
00004e2c: JUMP
00004e2d: JUMPDEST
00004e2e: POP
00004e2f: POP
00004e30: POP
00004e31: POP
00004e32: POP
00004e33: SWAP3
00004e34: SWAP2
00004e35: POP
00004e36: POP
00004e37: JUMP
00004e38: JUMPDEST
00004e39: PUSH1 0x00
00004e3b: DUP3
00004e3c: PUSH1 0x1f
00004e3e: DUP4
00004e3f: ADD
00004e40: SLT
00004e41: PUSH2 0x4e48
00004e44: JUMPI
00004e45: DUP1
00004e46: DUP2
00004e47: REVERT
00004e48: JUMPDEST
00004e49: DUP2
00004e4a: CALLDATALOAD
00004e4b: PUSH2 0x4e56
00004e4e: PUSH2 0x4ddf
00004e51: DUP3
00004e52: PUSH2 0x5f04
00004e55: JUMP
00004e56: JUMPDEST
00004e57: DUP2
00004e58: DUP2
00004e59: MSTORE
00004e5a: SWAP2
00004e5b: POP
00004e5c: PUSH1 0x20
00004e5e: DUP1
00004e5f: DUP4
00004e60: ADD
00004e61: SWAP1
00004e62: DUP5
00004e63: DUP2
00004e64: ADD
00004e65: PUSH1 0x00
00004e67: JUMPDEST
00004e68: DUP5
00004e69: DUP2
00004e6a: LT
00004e6b: ISZERO
00004e6c: PUSH2 0x4e2d
00004e6f: JUMPI
00004e70: DUP2
00004e71: CALLDATALOAD
00004e72: DUP8
00004e73: ADD
00004e74: PUSH1 0xa0
00004e76: DUP1
00004e77: PUSH1 0x1f
00004e79: NOT
00004e7a: DUP4
00004e7b: DUP13
00004e7c: SUB
00004e7d: ADD
00004e7e: SLT
00004e7f: ISZERO
00004e80: PUSH2 0x4e88
00004e83: JUMPI
00004e84: PUSH1 0x00
00004e86: DUP1
00004e87: REVERT
00004e88: JUMPDEST
00004e89: PUSH2 0x4e91
00004e8c: DUP2
00004e8d: PUSH2 0x5edd
00004e90: JUMP
00004e91: JUMPDEST
00004e92: DUP6
00004e93: DUP4
00004e94: ADD
00004e95: CALLDATALOAD
00004e96: DUP2
00004e97: MSTORE
00004e98: PUSH1 0x40
00004e9a: DUP1
00004e9b: DUP5
00004e9c: ADD
00004e9d: CALLDATALOAD
00004e9e: DUP8
00004e9f: DUP4
00004ea0: ADD
00004ea1: MSTORE
00004ea2: PUSH1 0x60
00004ea4: DUP1
00004ea5: DUP6
00004ea6: ADD
00004ea7: CALLDATALOAD
00004ea8: DUP3
00004ea9: DUP5
00004eaa: ADD
00004eab: MSTORE
00004eac: PUSH1 0x80
00004eae: SWAP2
00004eaf: POP
00004eb0: DUP2
00004eb1: DUP6
00004eb2: ADD
00004eb3: CALLDATALOAD
00004eb4: DUP2
00004eb5: DUP5
00004eb6: ADD
00004eb7: MSTORE
00004eb8: POP
00004eb9: DUP3
00004eba: DUP5
00004ebb: ADD
00004ebc: CALLDATALOAD
00004ebd: SWAP3
00004ebe: POP
00004ebf: PUSH8 0xffffffffffffffff
00004ec8: DUP4
00004ec9: GT
00004eca: ISZERO
00004ecb: PUSH2 0x4ed3
00004ece: JUMPI
00004ecf: PUSH1 0x00
00004ed1: DUP1
00004ed2: REVERT
00004ed3: JUMPDEST
00004ed4: PUSH2 0x4ee1
00004ed7: DUP13
00004ed8: DUP9
00004ed9: DUP6
00004eda: DUP8
00004edb: ADD
00004edc: ADD
00004edd: PUSH2 0x4fc0
00004ee0: JUMP
00004ee1: JUMPDEST
00004ee2: SWAP1
00004ee3: DUP3
00004ee4: ADD
00004ee5: MSTORE
00004ee6: DUP7
00004ee7: MSTORE
00004ee8: POP
00004ee9: POP
00004eea: SWAP3
00004eeb: DUP3
00004eec: ADD
00004eed: SWAP3
00004eee: SWAP1
00004eef: DUP3
00004ef0: ADD
00004ef1: SWAP1
00004ef2: PUSH1 0x01
00004ef4: ADD
00004ef5: PUSH2 0x4e67
00004ef8: JUMP
00004ef9: JUMPDEST
00004efa: PUSH1 0x00
00004efc: DUP3
00004efd: PUSH1 0x1f
00004eff: DUP4
00004f00: ADD
00004f01: SLT
00004f02: PUSH2 0x4f09
00004f05: JUMPI
00004f06: DUP1
00004f07: DUP2
00004f08: REVERT
00004f09: JUMPDEST
00004f0a: DUP2
00004f0b: CALLDATALOAD
00004f0c: PUSH2 0x4f17
00004f0f: PUSH2 0x4ddf
00004f12: DUP3
00004f13: PUSH2 0x5f04
00004f16: JUMP
00004f17: JUMPDEST
00004f18: DUP2
00004f19: DUP2
00004f1a: MSTORE
00004f1b: SWAP2
00004f1c: POP
00004f1d: PUSH1 0x20
00004f1f: DUP1
00004f20: DUP4
00004f21: ADD
00004f22: SWAP1
00004f23: DUP5
00004f24: DUP2
00004f25: ADD
00004f26: DUP2
00004f27: DUP5
00004f28: MUL
00004f29: DUP7
00004f2a: ADD
00004f2b: DUP3
00004f2c: ADD
00004f2d: DUP8
00004f2e: LT
00004f2f: ISZERO
00004f30: PUSH2 0x4f38
00004f33: JUMPI
00004f34: PUSH1 0x00
00004f36: DUP1
00004f37: REVERT
00004f38: JUMPDEST
00004f39: PUSH1 0x00
00004f3b: JUMPDEST
00004f3c: DUP5
00004f3d: DUP2
00004f3e: LT
00004f3f: ISZERO
00004f40: PUSH2 0x4e2d
00004f43: JUMPI
00004f44: DUP2
00004f45: CALLDATALOAD
00004f46: DUP5
00004f47: MSTORE
00004f48: SWAP3
00004f49: DUP3
00004f4a: ADD
00004f4b: SWAP3
00004f4c: SWAP1
00004f4d: DUP3
00004f4e: ADD
00004f4f: SWAP1
00004f50: PUSH1 0x01
00004f52: ADD
00004f53: PUSH2 0x4f3b
00004f56: JUMP
00004f57: JUMPDEST
00004f58: PUSH1 0x00
00004f5a: DUP3
00004f5b: PUSH1 0x1f
00004f5d: DUP4
00004f5e: ADD
00004f5f: SLT
00004f60: PUSH2 0x4f67
00004f63: JUMPI
00004f64: DUP1
00004f65: DUP2
00004f66: REVERT
00004f67: JUMPDEST
00004f68: DUP2
00004f69: MLOAD
00004f6a: PUSH2 0x4f75
00004f6d: PUSH2 0x4ddf
00004f70: DUP3
00004f71: PUSH2 0x5f04
00004f74: JUMP
00004f75: JUMPDEST
00004f76: DUP2
00004f77: DUP2
00004f78: MSTORE
00004f79: SWAP2
00004f7a: POP
00004f7b: PUSH1 0x20
00004f7d: DUP1
00004f7e: DUP4
00004f7f: ADD
00004f80: SWAP1
00004f81: DUP5
00004f82: DUP2
00004f83: ADD
00004f84: DUP2
00004f85: DUP5
00004f86: MUL
00004f87: DUP7
00004f88: ADD
00004f89: DUP3
00004f8a: ADD
00004f8b: DUP8
00004f8c: LT
00004f8d: ISZERO
00004f8e: PUSH2 0x4f96
00004f91: JUMPI
00004f92: PUSH1 0x00
00004f94: DUP1
00004f95: REVERT
00004f96: JUMPDEST
00004f97: PUSH1 0x00
00004f99: JUMPDEST
00004f9a: DUP5
00004f9b: DUP2
00004f9c: LT
00004f9d: ISZERO
00004f9e: PUSH2 0x4e2d
00004fa1: JUMPI
00004fa2: DUP2
00004fa3: MLOAD
00004fa4: DUP5
00004fa5: MSTORE
00004fa6: SWAP3
00004fa7: DUP3
00004fa8: ADD
00004fa9: SWAP3
00004faa: SWAP1
00004fab: DUP3
00004fac: ADD
00004fad: SWAP1
00004fae: PUSH1 0x01
00004fb0: ADD
00004fb1: PUSH2 0x4f99
00004fb4: JUMP
00004fb5: JUMPDEST
00004fb6: DUP1
00004fb7: CALLDATALOAD
00004fb8: PUSH2 0x16f5
00004fbb: DUP2
00004fbc: PUSH2 0x5f6f
00004fbf: JUMP
00004fc0: JUMPDEST
00004fc1: PUSH1 0x00
00004fc3: DUP3
00004fc4: PUSH1 0x1f
00004fc6: DUP4
00004fc7: ADD
00004fc8: SLT
00004fc9: PUSH2 0x4fd0
00004fcc: JUMPI
00004fcd: DUP1
00004fce: DUP2
00004fcf: REVERT
00004fd0: JUMPDEST
00004fd1: DUP2
00004fd2: CALLDATALOAD
00004fd3: PUSH8 0xffffffffffffffff
00004fdc: DUP2
00004fdd: GT
00004fde: ISZERO
00004fdf: PUSH2 0x4fe6
00004fe2: JUMPI
00004fe3: DUP2
00004fe4: DUP3
00004fe5: REVERT
00004fe6: JUMPDEST
00004fe7: PUSH2 0x4ff9
00004fea: PUSH1 0x1f
00004fec: DUP3
00004fed: ADD
00004fee: PUSH1 0x1f
00004ff0: NOT
00004ff1: AND
00004ff2: PUSH1 0x20
00004ff4: ADD
00004ff5: PUSH2 0x5edd
00004ff8: JUMP
00004ff9: JUMPDEST
00004ffa: SWAP2
00004ffb: POP
00004ffc: DUP1
00004ffd: DUP3
00004ffe: MSTORE
00004fff: DUP4
00005000: PUSH1 0x20
00005002: DUP3
00005003: DUP6
00005004: ADD
00005005: ADD
00005006: GT
00005007: ISZERO
00005008: PUSH2 0x5010
0000500b: JUMPI
0000500c: PUSH1 0x00
0000500e: DUP1
0000500f: REVERT
00005010: JUMPDEST
00005011: DUP1
00005012: PUSH1 0x20
00005014: DUP5
00005015: ADD
00005016: PUSH1 0x20
00005018: DUP5
00005019: ADD
0000501a: CALLDATACOPY
0000501b: PUSH1 0x00
0000501d: SWAP1
0000501e: DUP3
0000501f: ADD
00005020: PUSH1 0x20
00005022: ADD
00005023: MSTORE
00005024: SWAP3
00005025: SWAP2
00005026: POP
00005027: POP
00005028: JUMP
00005029: JUMPDEST
0000502a: DUP1
0000502b: CALLDATALOAD
0000502c: PUSH2 0x16f5
0000502f: DUP2
00005030: PUSH2 0x5f7d
00005033: JUMP
00005034: JUMPDEST
00005035: DUP1
00005036: CALLDATALOAD
00005037: PUSH1 0x02
00005039: DUP2
0000503a: LT
0000503b: PUSH2 0x16f5
0000503e: JUMPI
0000503f: PUSH1 0x00
00005041: DUP1
00005042: REVERT
00005043: JUMPDEST
00005044: DUP1
00005045: CALLDATALOAD
00005046: PUSH1 0x04
00005048: DUP2
00005049: LT
0000504a: PUSH2 0x16f5
0000504d: JUMPI
0000504e: PUSH1 0x00
00005050: DUP1
00005051: REVERT
00005052: JUMPDEST
00005053: PUSH1 0x00
00005055: PUSH1 0x80
00005057: DUP3
00005058: DUP5
00005059: SUB
0000505a: SLT
0000505b: ISZERO
0000505c: PUSH2 0x5063
0000505f: JUMPI
00005060: DUP1
00005061: DUP2
00005062: REVERT
00005063: JUMPDEST
00005064: PUSH2 0x506d
00005067: PUSH1 0x80
00005069: PUSH2 0x5edd
0000506c: JUMP
0000506d: JUMPDEST
0000506e: SWAP1
0000506f: POP
00005070: DUP2
00005071: CALLDATALOAD
00005072: PUSH8 0xffffffffffffffff
0000507b: DUP1
0000507c: DUP3
0000507d: GT
0000507e: ISZERO
0000507f: PUSH2 0x5087
00005082: JUMPI
00005083: PUSH1 0x00
00005085: DUP1
00005086: REVERT
00005087: JUMPDEST
00005088: PUSH2 0x5093
0000508b: DUP6
0000508c: DUP4
0000508d: DUP7
0000508e: ADD
0000508f: PUSH2 0x4dc1
00005092: JUMP
00005093: JUMPDEST
00005094: DUP4
00005095: MSTORE
00005096: PUSH1 0x20
00005098: DUP5
00005099: ADD
0000509a: CALLDATALOAD
0000509b: SWAP2
0000509c: POP
0000509d: DUP1
0000509e: DUP3
0000509f: GT
000050a0: ISZERO
000050a1: PUSH2 0x50a9
000050a4: JUMPI
000050a5: PUSH1 0x00
000050a7: DUP1
000050a8: REVERT
000050a9: JUMPDEST
000050aa: PUSH2 0x50b5
000050ad: DUP6
000050ae: DUP4
000050af: DUP7
000050b0: ADD
000050b1: PUSH2 0x4ef9
000050b4: JUMP
000050b5: JUMPDEST
000050b6: PUSH1 0x20
000050b8: DUP5
000050b9: ADD
000050ba: MSTORE
000050bb: PUSH1 0x40
000050bd: DUP5
000050be: ADD
000050bf: CALLDATALOAD
000050c0: SWAP2
000050c1: POP
000050c2: DUP1
000050c3: DUP3
000050c4: GT
000050c5: ISZERO
000050c6: PUSH2 0x50ce
000050c9: JUMPI
000050ca: PUSH1 0x00
000050cc: DUP1
000050cd: REVERT
000050ce: JUMPDEST
000050cf: POP
000050d0: PUSH2 0x50db
000050d3: DUP5
000050d4: DUP3
000050d5: DUP6
000050d6: ADD
000050d7: PUSH2 0x4fc0
000050da: JUMP
000050db: JUMPDEST
000050dc: PUSH1 0x40
000050de: DUP4
000050df: ADD
000050e0: MSTORE
000050e1: POP
000050e2: PUSH2 0x50ee
000050e5: DUP4
000050e6: PUSH1 0x60
000050e8: DUP5
000050e9: ADD
000050ea: PUSH2 0x4fb5
000050ed: JUMP
000050ee: JUMPDEST
000050ef: PUSH1 0x60
000050f1: DUP3
000050f2: ADD
000050f3: MSTORE
000050f4: SWAP3
000050f5: SWAP2
000050f6: POP
000050f7: POP
000050f8: JUMP
000050f9: JUMPDEST
000050fa: PUSH1 0x00
000050fc: PUSH1 0x80
000050fe: DUP3
000050ff: DUP5
00005100: SUB
00005101: SLT
00005102: ISZERO
00005103: PUSH2 0x510a
00005106: JUMPI
00005107: DUP1
00005108: DUP2
00005109: REVERT
0000510a: JUMPDEST
0000510b: PUSH2 0x5114
0000510e: PUSH1 0x80
00005110: PUSH2 0x5edd
00005113: JUMP
00005114: JUMPDEST
00005115: SWAP1
00005116: POP
00005117: DUP2
00005118: CALLDATALOAD
00005119: PUSH2 0x5121
0000511c: DUP2
0000511d: PUSH2 0x5f5a
00005120: JUMP
00005121: JUMPDEST
00005122: DUP2
00005123: MSTORE
00005124: PUSH1 0x20
00005126: DUP3
00005127: ADD
00005128: CALLDATALOAD
00005129: PUSH2 0x5131
0000512c: DUP2
0000512d: PUSH2 0x5f6f
00005130: JUMP
00005131: JUMPDEST
00005132: PUSH1 0x20
00005134: DUP3
00005135: ADD
00005136: MSTORE
00005137: PUSH1 0x40
00005139: DUP3
0000513a: ADD
0000513b: CALLDATALOAD
0000513c: PUSH2 0x5144
0000513f: DUP2
00005140: PUSH2 0x5f5a
00005143: JUMP
00005144: JUMPDEST
00005145: PUSH1 0x40
00005147: DUP3
00005148: ADD
00005149: MSTORE
0000514a: PUSH1 0x60
0000514c: DUP3
0000514d: ADD
0000514e: CALLDATALOAD
0000514f: PUSH2 0x50ee
00005152: DUP2
00005153: PUSH2 0x5f6f
00005156: JUMP
00005157: JUMPDEST
00005158: PUSH1 0x00
0000515a: PUSH1 0x20
0000515c: DUP3
0000515d: DUP5
0000515e: SUB
0000515f: SLT
00005160: ISZERO
00005161: PUSH2 0x5168
00005164: JUMPI
00005165: DUP1
00005166: DUP2
00005167: REVERT
00005168: JUMPDEST
00005169: DUP2
0000516a: CALLDATALOAD
0000516b: PUSH2 0x16f2
0000516e: DUP2
0000516f: PUSH2 0x5f5a
00005172: JUMP
00005173: JUMPDEST
00005174: PUSH1 0x00
00005176: DUP1
00005177: PUSH1 0x40
00005179: DUP4
0000517a: DUP6
0000517b: SUB
0000517c: SLT
0000517d: ISZERO
0000517e: PUSH2 0x5185
00005181: JUMPI
00005182: DUP1
00005183: DUP2
00005184: REVERT
00005185: JUMPDEST
00005186: DUP3
00005187: CALLDATALOAD
00005188: PUSH2 0x5190
0000518b: DUP2
0000518c: PUSH2 0x5f5a
0000518f: JUMP
00005190: JUMPDEST
00005191: SWAP2
00005192: POP
00005193: PUSH1 0x20
00005195: DUP4
00005196: ADD
00005197: CALLDATALOAD
00005198: PUSH2 0x51a0
0000519b: DUP2
0000519c: PUSH2 0x5f5a
0000519f: JUMP
000051a0: JUMPDEST
000051a1: DUP1
000051a2: SWAP2
000051a3: POP
000051a4: POP
000051a5: SWAP3
000051a6: POP
000051a7: SWAP3
000051a8: SWAP1
000051a9: POP
000051aa: JUMP
000051ab: JUMPDEST
000051ac: PUSH1 0x00
000051ae: DUP1
000051af: PUSH1 0x00
000051b1: PUSH1 0x60
000051b3: DUP5
000051b4: DUP7
000051b5: SUB
000051b6: SLT
000051b7: ISZERO
000051b8: PUSH2 0x51bf
000051bb: JUMPI
000051bc: DUP1
000051bd: DUP2
000051be: REVERT
000051bf: JUMPDEST
000051c0: DUP4
000051c1: CALLDATALOAD
000051c2: PUSH2 0x51ca
000051c5: DUP2
000051c6: PUSH2 0x5f5a
000051c9: JUMP
000051ca: JUMPDEST
000051cb: SWAP3
000051cc: POP
000051cd: PUSH1 0x20
000051cf: DUP5
000051d0: ADD
000051d1: CALLDATALOAD
000051d2: PUSH2 0x51da
000051d5: DUP2
000051d6: PUSH2 0x5f5a
000051d9: JUMP
000051da: JUMPDEST
000051db: SWAP2
000051dc: POP
000051dd: PUSH1 0x40
000051df: DUP5
000051e0: ADD
000051e1: CALLDATALOAD
000051e2: PUSH2 0x51ea
000051e5: DUP2
000051e6: PUSH2 0x5f6f
000051e9: JUMP
000051ea: JUMPDEST
000051eb: DUP1
000051ec: SWAP2
000051ed: POP
000051ee: POP
000051ef: SWAP3
000051f0: POP
000051f1: SWAP3
000051f2: POP
000051f3: SWAP3
000051f4: JUMP
000051f5: JUMPDEST
000051f6: PUSH1 0x00
000051f8: DUP1
000051f9: PUSH1 0x40
000051fb: DUP4
000051fc: DUP6
000051fd: SUB
000051fe: SLT
000051ff: ISZERO
00005200: PUSH2 0x5207
00005203: JUMPI
00005204: DUP2
00005205: DUP3
00005206: REVERT
00005207: JUMPDEST
00005208: DUP3
00005209: CALLDATALOAD
0000520a: PUSH2 0x5212
0000520d: DUP2
0000520e: PUSH2 0x5f5a
00005211: JUMP
00005212: JUMPDEST
00005213: SWAP2
00005214: POP
00005215: PUSH1 0x20
00005217: DUP4
00005218: ADD
00005219: CALLDATALOAD
0000521a: PUSH8 0xffffffffffffffff
00005223: DUP2
00005224: GT
00005225: ISZERO
00005226: PUSH2 0x522d
00005229: JUMPI
0000522a: DUP2
0000522b: DUP3
0000522c: REVERT
0000522d: JUMPDEST
0000522e: PUSH2 0x5239
00005231: DUP6
00005232: DUP3
00005233: DUP7
00005234: ADD
00005235: PUSH2 0x4dc1
00005238: JUMP
00005239: JUMPDEST
0000523a: SWAP2
0000523b: POP
0000523c: POP
0000523d: SWAP3
0000523e: POP
0000523f: SWAP3
00005240: SWAP1
00005241: POP
00005242: JUMP
00005243: JUMPDEST
00005244: PUSH1 0x00
00005246: PUSH1 0x20
00005248: DUP1
00005249: DUP4
0000524a: DUP6
0000524b: SUB
0000524c: SLT
0000524d: ISZERO
0000524e: PUSH2 0x5255
00005251: JUMPI
00005252: DUP2
00005253: DUP3
00005254: REVERT
00005255: JUMPDEST
00005256: DUP3
00005257: CALLDATALOAD
00005258: PUSH8 0xffffffffffffffff
00005261: DUP2
00005262: GT
00005263: ISZERO
00005264: PUSH2 0x526b
00005267: JUMPI
00005268: DUP3
00005269: DUP4
0000526a: REVERT
0000526b: JUMPDEST
0000526c: DUP4
0000526d: ADD
0000526e: PUSH1 0x1f
00005270: DUP2
00005271: ADD
00005272: DUP6
00005273: SGT
00005274: PUSH2 0x527b
00005277: JUMPI
00005278: DUP3
00005279: DUP4
0000527a: REVERT
0000527b: JUMPDEST
0000527c: DUP1
0000527d: CALLDATALOAD
0000527e: PUSH2 0x5289
00005281: PUSH2 0x4ddf
00005284: DUP3
00005285: PUSH2 0x5f04
00005288: JUMP
00005289: JUMPDEST
0000528a: DUP2
0000528b: DUP2
0000528c: MSTORE
0000528d: DUP4
0000528e: DUP2
0000528f: ADD
00005290: SWAP1
00005291: DUP4
00005292: DUP6
00005293: ADD
00005294: PUSH1 0x80
00005296: DUP1
00005297: DUP6
00005298: MUL
00005299: DUP7
0000529a: ADD
0000529b: DUP8
0000529c: ADD
0000529d: DUP11
0000529e: LT
0000529f: ISZERO
000052a0: PUSH2 0x52a7
000052a3: JUMPI
000052a4: DUP8
000052a5: DUP9
000052a6: REVERT
000052a7: JUMPDEST
000052a8: DUP8
000052a9: SWAP6
000052aa: POP
000052ab: JUMPDEST
000052ac: DUP5
000052ad: DUP7
000052ae: LT
000052af: ISZERO
000052b0: PUSH2 0x5310
000052b3: JUMPI
000052b4: DUP1
000052b5: DUP3
000052b6: DUP12
000052b7: SUB
000052b8: SLT
000052b9: ISZERO
000052ba: PUSH2 0x52c1
000052bd: JUMPI
000052be: DUP8
000052bf: DUP9
000052c0: REVERT
000052c1: JUMPDEST
000052c2: PUSH2 0x52ca
000052c5: DUP2
000052c6: PUSH2 0x5edd
000052c9: JUMP
000052ca: JUMPDEST
000052cb: PUSH2 0x52d4
000052ce: DUP12
000052cf: DUP5
000052d0: PUSH2 0x5029
000052d3: JUMP
000052d4: JUMPDEST
000052d5: DUP2
000052d6: MSTORE
000052d7: DUP8
000052d8: DUP4
000052d9: ADD
000052da: CALLDATALOAD
000052db: DUP9
000052dc: DUP3
000052dd: ADD
000052de: MSTORE
000052df: PUSH1 0x40
000052e1: PUSH2 0x52ec
000052e4: DUP13
000052e5: DUP3
000052e6: DUP7
000052e7: ADD
000052e8: PUSH2 0x4db6
000052eb: JUMP
000052ec: JUMPDEST
000052ed: SWAP1
000052ee: DUP3
000052ef: ADD
000052f0: MSTORE
000052f1: PUSH1 0x60
000052f3: DUP4
000052f4: DUP2
000052f5: ADD
000052f6: CALLDATALOAD
000052f7: SWAP1
000052f8: DUP3
000052f9: ADD
000052fa: MSTORE
000052fb: DUP5
000052fc: MSTORE
000052fd: PUSH1 0x01
000052ff: SWAP6
00005300: SWAP1
00005301: SWAP6
00005302: ADD
00005303: SWAP5
00005304: SWAP3
00005305: DUP7
00005306: ADD
00005307: SWAP3
00005308: SWAP1
00005309: DUP2
0000530a: ADD
0000530b: SWAP1
0000530c: PUSH2 0x52ab
0000530f: JUMP
00005310: JUMPDEST
00005311: POP
00005312: SWAP1
00005313: SWAP9
00005314: SWAP8
00005315: POP
00005316: POP
00005317: POP
00005318: POP
00005319: POP
0000531a: POP
0000531b: POP
0000531c: POP
0000531d: JUMP
0000531e: JUMPDEST
0000531f: PUSH1 0x00
00005321: PUSH1 0x20
00005323: DUP1
00005324: DUP4
00005325: DUP6
00005326: SUB
00005327: SLT
00005328: ISZERO
00005329: PUSH2 0x5330
0000532c: JUMPI
0000532d: DUP2
0000532e: DUP3
0000532f: REVERT
00005330: JUMPDEST
00005331: DUP3
00005332: CALLDATALOAD
00005333: PUSH8 0xffffffffffffffff
0000533c: DUP2
0000533d: GT
0000533e: ISZERO
0000533f: PUSH2 0x5346
00005342: JUMPI
00005343: DUP3
00005344: DUP4
00005345: REVERT
00005346: JUMPDEST
00005347: DUP4
00005348: ADD
00005349: PUSH1 0x1f
0000534b: DUP2
0000534c: ADD
0000534d: DUP6
0000534e: SGT
0000534f: PUSH2 0x5356
00005352: JUMPI
00005353: DUP3
00005354: DUP4
00005355: REVERT
00005356: JUMPDEST
00005357: DUP1
00005358: CALLDATALOAD
00005359: PUSH2 0x5364
0000535c: PUSH2 0x4ddf
0000535f: DUP3
00005360: PUSH2 0x5f04
00005363: JUMP
00005364: JUMPDEST
00005365: DUP2
00005366: DUP2
00005367: MSTORE
00005368: DUP4
00005369: DUP2
0000536a: ADD
0000536b: SWAP1
0000536c: DUP4
0000536d: DUP6
0000536e: ADD
0000536f: PUSH1 0xa0
00005371: DUP1
00005372: DUP6
00005373: MUL
00005374: DUP7
00005375: ADD
00005376: DUP8
00005377: ADD
00005378: DUP11
00005379: LT
0000537a: ISZERO
0000537b: PUSH2 0x5382
0000537e: JUMPI
0000537f: DUP8
00005380: DUP9
00005381: REVERT
00005382: JUMPDEST
00005383: DUP8
00005384: SWAP6
00005385: POP
00005386: JUMPDEST
00005387: DUP5
00005388: DUP7
00005389: LT
0000538a: ISZERO
0000538b: PUSH2 0x5310
0000538e: JUMPI
0000538f: DUP1
00005390: DUP3
00005391: DUP12
00005392: SUB
00005393: SLT
00005394: ISZERO
00005395: PUSH2 0x539c
00005398: JUMPI
00005399: DUP8
0000539a: DUP9
0000539b: REVERT
0000539c: JUMPDEST
0000539d: PUSH2 0x53a5
000053a0: DUP2
000053a1: PUSH2 0x5edd
000053a4: JUMP
000053a5: JUMPDEST
000053a6: PUSH2 0x53af
000053a9: DUP12
000053aa: DUP5
000053ab: PUSH2 0x5043
000053ae: JUMP
000053af: JUMPDEST
000053b0: DUP2
000053b1: MSTORE
000053b2: PUSH2 0x53bd
000053b5: DUP12
000053b6: DUP10
000053b7: DUP6
000053b8: ADD
000053b9: PUSH2 0x4db6
000053bc: JUMP
000053bd: JUMPDEST
000053be: DUP2
000053bf: DUP10
000053c0: ADD
000053c1: MSTORE
000053c2: PUSH1 0x40
000053c4: DUP4
000053c5: DUP2
000053c6: ADD
000053c7: CALLDATALOAD
000053c8: SWAP1
000053c9: DUP3
000053ca: ADD
000053cb: MSTORE
000053cc: PUSH1 0x60
000053ce: PUSH2 0x53d9
000053d1: DUP13
000053d2: DUP3
000053d3: DUP7
000053d4: ADD
000053d5: PUSH2 0x4db6
000053d8: JUMP
000053d9: JUMPDEST
000053da: SWAP1
000053db: DUP3
000053dc: ADD
000053dd: MSTORE
000053de: PUSH1 0x80
000053e0: PUSH2 0x53eb
000053e3: DUP13
000053e4: DUP6
000053e5: DUP4
000053e6: ADD
000053e7: PUSH2 0x4db6
000053ea: JUMP
000053eb: JUMPDEST
000053ec: SWAP1
000053ed: DUP3
000053ee: ADD
000053ef: MSTORE
000053f0: DUP5
000053f1: MSTORE
000053f2: PUSH1 0x01
000053f4: SWAP6
000053f5: SWAP1
000053f6: SWAP6
000053f7: ADD
000053f8: SWAP5
000053f9: SWAP3
000053fa: DUP7
000053fb: ADD
000053fc: SWAP3
000053fd: SWAP1
000053fe: DUP2
000053ff: ADD
00005400: SWAP1
00005401: PUSH2 0x5386
00005404: JUMP
00005405: JUMPDEST
00005406: PUSH1 0x00
00005408: DUP1
00005409: PUSH1 0x40
0000540b: DUP4
0000540c: DUP6
0000540d: SUB
0000540e: SLT
0000540f: ISZERO
00005410: PUSH2 0x5417
00005413: JUMPI
00005414: DUP2
00005415: DUP3
00005416: REVERT
00005417: JUMPDEST
00005418: DUP3
00005419: MLOAD
0000541a: PUSH8 0xffffffffffffffff
00005423: DUP1
00005424: DUP3
00005425: GT
00005426: ISZERO
00005427: PUSH2 0x542e
0000542a: JUMPI
0000542b: DUP4
0000542c: DUP5
0000542d: REVERT
0000542e: JUMPDEST
0000542f: PUSH2 0x543a
00005432: DUP7
00005433: DUP4
00005434: DUP8
00005435: ADD
00005436: PUSH2 0x4f57
00005439: JUMP
0000543a: JUMPDEST
0000543b: SWAP4
0000543c: POP
0000543d: PUSH1 0x20
0000543f: DUP6
00005440: ADD
00005441: MLOAD
00005442: SWAP2
00005443: POP
00005444: DUP1
00005445: DUP3
00005446: GT
00005447: ISZERO
00005448: PUSH2 0x544f
0000544b: JUMPI
0000544c: DUP3
0000544d: DUP4
0000544e: REVERT
0000544f: JUMPDEST
00005450: POP
00005451: PUSH2 0x5239
00005454: DUP6
00005455: DUP3
00005456: DUP7
00005457: ADD
00005458: PUSH2 0x4f57
0000545b: JUMP
0000545c: JUMPDEST
0000545d: PUSH1 0x00
0000545f: PUSH1 0x20
00005461: DUP3
00005462: DUP5
00005463: SUB
00005464: SLT
00005465: ISZERO
00005466: PUSH2 0x546d
00005469: JUMPI
0000546a: DUP1
0000546b: DUP2
0000546c: REVERT
0000546d: JUMPDEST
0000546e: DUP2
0000546f: CALLDATALOAD
00005470: PUSH2 0x16f2
00005473: DUP2
00005474: PUSH2 0x5f6f
00005477: JUMP
00005478: JUMPDEST
00005479: PUSH1 0x00
0000547b: PUSH1 0x20
0000547d: DUP3
0000547e: DUP5
0000547f: SUB
00005480: SLT
00005481: ISZERO
00005482: PUSH2 0x5489
00005485: JUMPI
00005486: DUP1
00005487: DUP2
00005488: REVERT
00005489: JUMPDEST
0000548a: DUP2
0000548b: MLOAD
0000548c: PUSH2 0x16f2
0000548f: DUP2
00005490: PUSH2 0x5f6f
00005493: JUMP
00005494: JUMPDEST
00005495: PUSH1 0x00
00005497: PUSH1 0x20
00005499: DUP3
0000549a: DUP5
0000549b: SUB
0000549c: SLT
0000549d: ISZERO
0000549e: PUSH2 0x54a5
000054a1: JUMPI
000054a2: DUP1
000054a3: DUP2
000054a4: REVERT
000054a5: JUMPDEST
000054a6: POP
000054a7: CALLDATALOAD
000054a8: SWAP2
000054a9: SWAP1
000054aa: POP
000054ab: JUMP
000054ac: JUMPDEST
000054ad: PUSH1 0x00
000054af: DUP1
000054b0: PUSH1 0x00
000054b2: DUP1
000054b3: PUSH1 0x80
000054b5: DUP6
000054b6: DUP8
000054b7: SUB
000054b8: SLT
000054b9: ISZERO
000054ba: PUSH2 0x54c1
000054bd: JUMPI
000054be: DUP2
000054bf: DUP3
000054c0: REVERT
000054c1: JUMPDEST
000054c2: DUP5
000054c3: CALLDATALOAD
000054c4: SWAP4
000054c5: POP
000054c6: PUSH1 0x20
000054c8: DUP6
000054c9: ADD
000054ca: CALLDATALOAD
000054cb: PUSH2 0x54d3
000054ce: DUP2
000054cf: PUSH2 0x5f5a
000054d2: JUMP
000054d3: JUMPDEST
000054d4: SWAP3
000054d5: POP
000054d6: PUSH1 0x40
000054d8: DUP6
000054d9: ADD
000054da: CALLDATALOAD
000054db: PUSH2 0x54e3
000054de: DUP2
000054df: PUSH2 0x5f5a
000054e2: JUMP
000054e3: JUMPDEST
000054e4: SWAP2
000054e5: POP
000054e6: PUSH1 0x60
000054e8: DUP6
000054e9: ADD
000054ea: CALLDATALOAD
000054eb: PUSH8 0xffffffffffffffff
000054f4: DUP2
000054f5: GT
000054f6: ISZERO
000054f7: PUSH2 0x54fe
000054fa: JUMPI
000054fb: DUP2
000054fc: DUP3
000054fd: REVERT
000054fe: JUMPDEST
000054ff: PUSH2 0x550a
00005502: DUP8
00005503: DUP3
00005504: DUP9
00005505: ADD
00005506: PUSH2 0x5052
00005509: JUMP
0000550a: JUMPDEST
0000550b: SWAP2
0000550c: POP
0000550d: POP
0000550e: SWAP3
0000550f: SWAP6
00005510: SWAP2
00005511: SWAP5
00005512: POP
00005513: SWAP3
00005514: POP
00005515: JUMP
00005516: JUMPDEST
00005517: PUSH1 0x00
00005519: DUP1
0000551a: PUSH1 0x40
0000551c: DUP4
0000551d: DUP6
0000551e: SUB
0000551f: SLT
00005520: ISZERO
00005521: PUSH2 0x5528
00005524: JUMPI
00005525: DUP2
00005526: DUP3
00005527: REVERT
00005528: JUMPDEST
00005529: DUP3
0000552a: CALLDATALOAD
0000552b: SWAP2
0000552c: POP
0000552d: PUSH1 0x20
0000552f: DUP4
00005530: ADD
00005531: CALLDATALOAD
00005532: PUSH8 0xffffffffffffffff
0000553b: DUP2
0000553c: GT
0000553d: ISZERO
0000553e: PUSH2 0x522d
00005541: JUMPI
00005542: DUP2
00005543: DUP3
00005544: REVERT
00005545: JUMPDEST
00005546: PUSH1 0x00
00005548: DUP1
00005549: PUSH1 0x00
0000554b: PUSH1 0x60
0000554d: DUP5
0000554e: DUP7
0000554f: SUB
00005550: SLT
00005551: ISZERO
00005552: PUSH2 0x5559
00005555: JUMPI
00005556: DUP1
00005557: DUP2
00005558: REVERT
00005559: JUMPDEST
0000555a: DUP4
0000555b: CALLDATALOAD
0000555c: SWAP3
0000555d: POP
0000555e: PUSH1 0x20
00005560: DUP1
00005561: DUP6
00005562: ADD
00005563: CALLDATALOAD
00005564: PUSH8 0xffffffffffffffff
0000556d: DUP1
0000556e: DUP3
0000556f: GT
00005570: ISZERO
00005571: PUSH2 0x5578
00005574: JUMPI
00005575: DUP4
00005576: DUP5
00005577: REVERT
00005578: JUMPDEST
00005579: PUSH2 0x5584
0000557c: DUP9
0000557d: DUP4
0000557e: DUP10
0000557f: ADD
00005580: PUSH2 0x4dc1
00005583: JUMP
00005584: JUMPDEST
00005585: SWAP5
00005586: POP
00005587: PUSH1 0x40
00005589: DUP8
0000558a: ADD
0000558b: CALLDATALOAD
0000558c: SWAP2
0000558d: POP
0000558e: DUP1
0000558f: DUP3
00005590: GT
00005591: ISZERO
00005592: PUSH2 0x5599
00005595: JUMPI
00005596: DUP4
00005597: DUP5
00005598: REVERT
00005599: JUMPDEST
0000559a: POP
0000559b: DUP6
0000559c: ADD
0000559d: PUSH1 0x1f
0000559f: DUP2
000055a0: ADD
000055a1: DUP8
000055a2: SGT
000055a3: PUSH2 0x55aa
000055a6: JUMPI
000055a7: DUP3
000055a8: DUP4
000055a9: REVERT
000055aa: JUMPDEST
000055ab: DUP1
000055ac: CALLDATALOAD
000055ad: PUSH2 0x55b8
000055b0: PUSH2 0x4ddf
000055b3: DUP3
000055b4: PUSH2 0x5f04
000055b7: JUMP
000055b8: JUMPDEST
000055b9: DUP2
000055ba: DUP2
000055bb: MSTORE
000055bc: DUP4
000055bd: DUP2
000055be: ADD
000055bf: SWAP1
000055c0: DUP4
000055c1: DUP6
000055c2: ADD
000055c3: DUP6
000055c4: DUP5
000055c5: MUL
000055c6: DUP6
000055c7: ADD
000055c8: DUP7
000055c9: ADD
000055ca: DUP12
000055cb: LT
000055cc: ISZERO
000055cd: PUSH2 0x55d4
000055d0: JUMPI
000055d1: DUP7
000055d2: DUP8
000055d3: REVERT
000055d4: JUMPDEST
000055d5: DUP7
000055d6: SWAP5
000055d7: POP
000055d8: JUMPDEST
000055d9: DUP4
000055da: DUP6
000055db: LT
000055dc: ISZERO
000055dd: PUSH2 0x55ff
000055e0: JUMPI
000055e1: DUP1
000055e2: CALLDATALOAD
000055e3: PUSH2 0x55eb
000055e6: DUP2
000055e7: PUSH2 0x5f5a
000055ea: JUMP
000055eb: JUMPDEST
000055ec: DUP4
000055ed: MSTORE
000055ee: PUSH1 0x01
000055f0: SWAP5
000055f1: SWAP1
000055f2: SWAP5
000055f3: ADD
000055f4: SWAP4
000055f5: SWAP2
000055f6: DUP6
000055f7: ADD
000055f8: SWAP2
000055f9: DUP6
000055fa: ADD
000055fb: PUSH2 0x55d8
000055fe: JUMP
000055ff: JUMPDEST
00005600: POP
00005601: DUP1
00005602: SWAP6
00005603: POP
00005604: POP
00005605: POP
00005606: POP
00005607: POP
00005608: POP
00005609: SWAP3
0000560a: POP
0000560b: SWAP3
0000560c: POP
0000560d: SWAP3
0000560e: JUMP
0000560f: JUMPDEST
00005610: PUSH1 0x00
00005612: DUP1
00005613: PUSH1 0x40
00005615: DUP4
00005616: DUP6
00005617: SUB
00005618: SLT
00005619: ISZERO
0000561a: PUSH2 0x5621
0000561d: JUMPI
0000561e: DUP2
0000561f: DUP3
00005620: REVERT
00005621: JUMPDEST
00005622: DUP3
00005623: CALLDATALOAD
00005624: SWAP2
00005625: POP
00005626: PUSH1 0x20
00005628: DUP4
00005629: ADD
0000562a: CALLDATALOAD
0000562b: PUSH2 0x51a0
0000562e: DUP2
0000562f: PUSH2 0x5f5a
00005632: JUMP
00005633: JUMPDEST
00005634: PUSH1 0x00
00005636: PUSH1 0x20
00005638: DUP3
00005639: DUP5
0000563a: SUB
0000563b: SLT
0000563c: ISZERO
0000563d: PUSH2 0x5644
00005640: JUMPI
00005641: DUP1
00005642: DUP2
00005643: REVERT
00005644: JUMPDEST
00005645: DUP2
00005646: CALLDATALOAD
00005647: PUSH1 0x01
00005649: PUSH1 0x01
0000564b: PUSH1 0xe0
0000564d: SHL
0000564e: SUB
0000564f: NOT
00005650: DUP2
00005651: AND
00005652: DUP2
00005653: EQ
00005654: PUSH2 0x16f2
00005657: JUMPI
00005658: DUP2
00005659: DUP3
0000565a: REVERT
0000565b: JUMPDEST
0000565c: PUSH1 0x00
0000565e: DUP1
0000565f: PUSH1 0x00
00005661: DUP1
00005662: PUSH1 0x80
00005664: DUP6
00005665: DUP8
00005666: SUB
00005667: SLT
00005668: ISZERO
00005669: PUSH2 0x5670
0000566c: JUMPI
0000566d: DUP2
0000566e: DUP3
0000566f: REVERT
00005670: JUMPDEST
00005671: DUP5
00005672: CALLDATALOAD
00005673: PUSH2 0x567b
00005676: DUP2
00005677: PUSH2 0x5f5a
0000567a: JUMP
0000567b: JUMPDEST
0000567c: SWAP4
0000567d: POP
0000567e: PUSH1 0x20
00005680: DUP6
00005681: ADD
00005682: CALLDATALOAD
00005683: PUSH8 0xffffffffffffffff
0000568c: DUP1
0000568d: DUP3
0000568e: GT
0000568f: ISZERO
00005690: PUSH2 0x5697
00005693: JUMPI
00005694: DUP4
00005695: DUP5
00005696: REVERT
00005697: JUMPDEST
00005698: PUSH2 0x56a3
0000569b: DUP9
0000569c: DUP4
0000569d: DUP10
0000569e: ADD
0000569f: PUSH2 0x4dc1
000056a2: JUMP
000056a3: JUMPDEST
000056a4: SWAP5
000056a5: POP
000056a6: PUSH1 0x40
000056a8: DUP8
000056a9: ADD
000056aa: CALLDATALOAD
000056ab: SWAP2
000056ac: POP
000056ad: DUP1
000056ae: DUP3
000056af: GT
000056b0: ISZERO
000056b1: PUSH2 0x56b8
000056b4: JUMPI
000056b5: DUP4
000056b6: DUP5
000056b7: REVERT
000056b8: JUMPDEST
000056b9: PUSH2 0x56c4
000056bc: DUP9
000056bd: DUP4
000056be: DUP10
000056bf: ADD
000056c0: PUSH2 0x4ef9
000056c3: JUMP
000056c4: JUMPDEST
000056c5: SWAP4
000056c6: POP
000056c7: PUSH1 0x60
000056c9: DUP8
000056ca: ADD
000056cb: CALLDATALOAD
000056cc: SWAP2
000056cd: POP
000056ce: DUP1
000056cf: DUP3
000056d0: GT
000056d1: ISZERO
000056d2: PUSH2 0x56d9
000056d5: JUMPI
000056d6: DUP3
000056d7: DUP4
000056d8: REVERT
000056d9: JUMPDEST
000056da: POP
000056db: PUSH2 0x550a
000056de: DUP8
000056df: DUP3
000056e0: DUP9
000056e1: ADD
000056e2: PUSH2 0x4fc0
000056e5: JUMP
000056e6: JUMPDEST
000056e7: PUSH1 0x00
000056e9: PUSH1 0x20
000056eb: DUP3
000056ec: DUP5
000056ed: SUB
000056ee: SLT
000056ef: ISZERO
000056f0: PUSH2 0x56f7
000056f3: JUMPI
000056f4: DUP1
000056f5: DUP2
000056f6: REVERT
000056f7: JUMPDEST
000056f8: DUP2
000056f9: CALLDATALOAD
000056fa: PUSH2 0x16f2
000056fd: DUP2
000056fe: PUSH2 0x5f7d
00005701: JUMP
00005702: JUMPDEST
00005703: PUSH1 0x00
00005705: DUP1
00005706: PUSH1 0x00
00005708: DUP1
00005709: PUSH1 0xe0
0000570b: DUP6
0000570c: DUP8
0000570d: SUB
0000570e: SLT
0000570f: ISZERO
00005710: PUSH2 0x5717
00005713: JUMPI
00005714: DUP2
00005715: DUP3
00005716: REVERT
00005717: JUMPDEST
00005718: PUSH2 0x5721
0000571b: DUP7
0000571c: DUP7
0000571d: PUSH2 0x5034
00005720: JUMP
00005721: JUMPDEST
00005722: SWAP4
00005723: POP
00005724: PUSH1 0x20
00005726: DUP6
00005727: ADD
00005728: CALLDATALOAD
00005729: PUSH8 0xffffffffffffffff
00005732: DUP1
00005733: DUP3
00005734: GT
00005735: ISZERO
00005736: PUSH2 0x573d
00005739: JUMPI
0000573a: DUP4
0000573b: DUP5
0000573c: REVERT
0000573d: JUMPDEST
0000573e: PUSH2 0x5749
00005741: DUP9
00005742: DUP4
00005743: DUP10
00005744: ADD
00005745: PUSH2 0x4e38
00005748: JUMP
00005749: JUMPDEST
0000574a: SWAP5
0000574b: POP
0000574c: PUSH1 0x40
0000574e: DUP8
0000574f: ADD
00005750: CALLDATALOAD
00005751: SWAP2
00005752: POP
00005753: DUP1
00005754: DUP3
00005755: GT
00005756: ISZERO
00005757: PUSH2 0x575e
0000575a: JUMPI
0000575b: DUP4
0000575c: DUP5
0000575d: REVERT
0000575e: JUMPDEST
0000575f: POP
00005760: PUSH2 0x576b
00005763: DUP8
00005764: DUP3
00005765: DUP9
00005766: ADD
00005767: PUSH2 0x4dc1
0000576a: JUMP
0000576b: JUMPDEST
0000576c: SWAP3
0000576d: POP
0000576e: POP
0000576f: PUSH2 0x577b
00005772: DUP7
00005773: PUSH1 0x60
00005775: DUP8
00005776: ADD
00005777: PUSH2 0x50f9
0000577a: JUMP
0000577b: JUMPDEST
0000577c: SWAP1
0000577d: POP
0000577e: SWAP3
0000577f: SWAP6
00005780: SWAP2
00005781: SWAP5
00005782: POP
00005783: SWAP3
00005784: POP
00005785: JUMP
00005786: JUMPDEST
00005787: PUSH1 0x00
00005789: DUP1
0000578a: PUSH1 0x00
0000578c: DUP1
0000578d: PUSH1 0x00
0000578f: DUP1
00005790: PUSH2 0x0120
00005793: DUP8
00005794: DUP10
00005795: SUB
00005796: SLT
00005797: ISZERO
00005798: PUSH2 0x579f
0000579b: JUMPI
0000579c: DUP4
0000579d: DUP5
0000579e: REVERT
0000579f: JUMPDEST
000057a0: PUSH2 0x57a9
000057a3: DUP9
000057a4: DUP9
000057a5: PUSH2 0x5034
000057a8: JUMP
000057a9: JUMPDEST
000057aa: SWAP6
000057ab: POP
000057ac: PUSH1 0x20
000057ae: DUP1
000057af: DUP9
000057b0: ADD
000057b1: CALLDATALOAD
000057b2: PUSH8 0xffffffffffffffff
000057bb: DUP1
000057bc: DUP3
000057bd: GT
000057be: ISZERO
000057bf: PUSH2 0x57c6
000057c2: JUMPI
000057c3: DUP7
000057c4: DUP8
000057c5: REVERT
000057c6: JUMPDEST
000057c7: PUSH2 0x57d2
000057ca: DUP12
000057cb: DUP4
000057cc: DUP13
000057cd: ADD
000057ce: PUSH2 0x4e38
000057d1: JUMP
000057d2: JUMPDEST
000057d3: SWAP8
000057d4: POP
000057d5: PUSH1 0x40
000057d7: DUP11
000057d8: ADD
000057d9: CALLDATALOAD
000057da: SWAP2
000057db: POP
000057dc: DUP1
000057dd: DUP3
000057de: GT
000057df: ISZERO
000057e0: PUSH2 0x57e7
000057e3: JUMPI
000057e4: DUP7
000057e5: DUP8
000057e6: REVERT
000057e7: JUMPDEST
000057e8: PUSH2 0x57f3
000057eb: DUP12
000057ec: DUP4
000057ed: DUP13
000057ee: ADD
000057ef: PUSH2 0x4dc1
000057f2: JUMP
000057f3: JUMPDEST
000057f4: SWAP7
000057f5: POP
000057f6: PUSH2 0x5802
000057f9: DUP12
000057fa: PUSH1 0x60
000057fc: DUP13
000057fd: ADD
000057fe: PUSH2 0x50f9
00005801: JUMP
00005802: JUMPDEST
00005803: SWAP6
00005804: POP
00005805: PUSH1 0xe0
00005807: DUP11
00005808: ADD
00005809: CALLDATALOAD
0000580a: SWAP2
0000580b: POP
0000580c: DUP1
0000580d: DUP3
0000580e: GT
0000580f: ISZERO
00005810: PUSH2 0x5817
00005813: JUMPI
00005814: DUP5
00005815: DUP6
00005816: REVERT
00005817: JUMPDEST
00005818: POP
00005819: DUP9
0000581a: ADD
0000581b: PUSH1 0x1f
0000581d: DUP2
0000581e: ADD
0000581f: DUP11
00005820: SGT
00005821: PUSH2 0x5828
00005824: JUMPI
00005825: DUP4
00005826: DUP5
00005827: REVERT
00005828: JUMPDEST
00005829: DUP1
0000582a: CALLDATALOAD
0000582b: PUSH2 0x5836
0000582e: PUSH2 0x4ddf
00005831: DUP3
00005832: PUSH2 0x5f04
00005835: JUMP
00005836: JUMPDEST
00005837: DUP2
00005838: DUP2
00005839: MSTORE
0000583a: DUP4
0000583b: DUP2
0000583c: ADD
0000583d: SWAP1
0000583e: DUP4
0000583f: DUP6
00005840: ADD
00005841: DUP6
00005842: DUP5
00005843: MUL
00005844: DUP6
00005845: ADD
00005846: DUP7
00005847: ADD
00005848: DUP15
00005849: LT
0000584a: ISZERO
0000584b: PUSH2 0x5852
0000584e: JUMPI
0000584f: DUP8
00005850: DUP9
00005851: REVERT
00005852: JUMPDEST
00005853: DUP8
00005854: SWAP5
00005855: POP
00005856: JUMPDEST
00005857: DUP4
00005858: DUP6
00005859: LT
0000585a: ISZERO
0000585b: PUSH2 0x5874
0000585e: JUMPI
0000585f: DUP1
00005860: CALLDATALOAD
00005861: DUP4
00005862: MSTORE
00005863: PUSH1 0x01
00005865: SWAP5
00005866: SWAP1
00005867: SWAP5
00005868: ADD
00005869: SWAP4
0000586a: SWAP2
0000586b: DUP6
0000586c: ADD
0000586d: SWAP2
0000586e: DUP6
0000586f: ADD
00005870: PUSH2 0x5856
00005873: JUMP
00005874: JUMPDEST
00005875: POP
00005876: DUP1
00005877: SWAP7
00005878: POP
00005879: POP
0000587a: POP
0000587b: POP
0000587c: POP
0000587d: POP
0000587e: PUSH2 0x0100
00005881: DUP8
00005882: ADD
00005883: CALLDATALOAD
00005884: SWAP1
00005885: POP
00005886: SWAP3
00005887: SWAP6
00005888: POP
00005889: SWAP3
0000588a: SWAP6
0000588b: POP
0000588c: SWAP3
0000588d: SWAP6
0000588e: JUMP
0000588f: JUMPDEST
00005890: PUSH1 0x00
00005892: DUP1
00005893: PUSH1 0x00
00005895: DUP1
00005896: PUSH1 0xe0
00005898: DUP6
00005899: DUP8
0000589a: SUB
0000589b: SLT
0000589c: ISZERO
0000589d: PUSH2 0x58a4
000058a0: JUMPI
000058a1: DUP2
000058a2: DUP3
000058a3: REVERT
000058a4: JUMPDEST
000058a5: DUP5
000058a6: CALLDATALOAD
000058a7: PUSH8 0xffffffffffffffff
000058b0: DUP1
000058b1: DUP3
000058b2: GT
000058b3: ISZERO
000058b4: PUSH2 0x58bb
000058b7: JUMPI
000058b8: DUP4
000058b9: DUP5
000058ba: REVERT
000058bb: JUMPDEST
000058bc: SWAP1
000058bd: DUP7
000058be: ADD
000058bf: SWAP1
000058c0: PUSH1 0xc0
000058c2: DUP3
000058c3: DUP10
000058c4: SUB
000058c5: SLT
000058c6: ISZERO
000058c7: PUSH2 0x58ce
000058ca: JUMPI
000058cb: DUP4
000058cc: DUP5
000058cd: REVERT
000058ce: JUMPDEST
000058cf: PUSH2 0x58d8
000058d2: PUSH1 0xc0
000058d4: PUSH2 0x5edd
000058d7: JUMP
000058d8: JUMPDEST
000058d9: DUP3
000058da: CALLDATALOAD
000058db: DUP2
000058dc: MSTORE
000058dd: PUSH2 0x58e9
000058e0: DUP10
000058e1: PUSH1 0x20
000058e3: DUP6
000058e4: ADD
000058e5: PUSH2 0x5034
000058e8: JUMP
000058e9: JUMPDEST
000058ea: PUSH1 0x20
000058ec: DUP3
000058ed: ADD
000058ee: MSTORE
000058ef: PUSH1 0x40
000058f1: DUP4
000058f2: ADD
000058f3: CALLDATALOAD
000058f4: PUSH2 0x58fc
000058f7: DUP2
000058f8: PUSH2 0x5f5a
000058fb: JUMP
000058fc: JUMPDEST
000058fd: PUSH1 0x40
000058ff: DUP3
00005900: ADD
00005901: MSTORE
00005902: PUSH2 0x590e
00005905: DUP10
00005906: PUSH1 0x60
00005908: DUP6
00005909: ADD
0000590a: PUSH2 0x4db6
0000590d: JUMP
0000590e: JUMPDEST
0000590f: PUSH1 0x60
00005911: DUP3
00005912: ADD
00005913: MSTORE
00005914: PUSH1 0x80
00005916: DUP4
00005917: ADD
00005918: CALLDATALOAD
00005919: PUSH1 0x80
0000591b: DUP3
0000591c: ADD
0000591d: MSTORE
0000591e: PUSH1 0xa0
00005920: DUP4
00005921: ADD
00005922: CALLDATALOAD
00005923: DUP3
00005924: DUP2
00005925: GT
00005926: ISZERO
00005927: PUSH2 0x592e
0000592a: JUMPI
0000592b: DUP6
0000592c: DUP7
0000592d: REVERT
0000592e: JUMPDEST
0000592f: PUSH2 0x593a
00005932: DUP11
00005933: DUP3
00005934: DUP7
00005935: ADD
00005936: PUSH2 0x4fc0
00005939: JUMP
0000593a: JUMPDEST
0000593b: PUSH1 0xa0
0000593d: DUP4
0000593e: ADD
0000593f: MSTORE
00005940: POP
00005941: DUP1
00005942: SWAP7
00005943: POP
00005944: POP
00005945: POP
00005946: POP
00005947: PUSH2 0x5953
0000594a: DUP7
0000594b: PUSH1 0x20
0000594d: DUP8
0000594e: ADD
0000594f: PUSH2 0x50f9
00005952: JUMP
00005953: JUMPDEST
00005954: SWAP4
00005955: SWAP7
00005956: SWAP4
00005957: SWAP6
00005958: POP
00005959: POP
0000595a: POP
0000595b: POP
0000595c: PUSH1 0xa0
0000595e: DUP3
0000595f: ADD
00005960: CALLDATALOAD
00005961: SWAP2
00005962: PUSH1 0xc0
00005964: ADD
00005965: CALLDATALOAD
00005966: SWAP1
00005967: JUMP
00005968: JUMPDEST
00005969: PUSH1 0x00
0000596b: PUSH1 0x20
0000596d: DUP3
0000596e: DUP5
0000596f: SUB
00005970: SLT
00005971: ISZERO
00005972: PUSH2 0x5979
00005975: JUMPI
00005976: DUP1
00005977: DUP2
00005978: REVERT
00005979: JUMPDEST
0000597a: POP
0000597b: MLOAD
0000597c: SWAP2
0000597d: SWAP1
0000597e: POP
0000597f: JUMP
00005980: JUMPDEST
00005981: PUSH1 0x01
00005983: PUSH1 0x01
00005985: PUSH1 0xa0
00005987: SHL
00005988: SUB
00005989: AND
0000598a: SWAP1
0000598b: MSTORE
0000598c: JUMP
0000598d: JUMPDEST
0000598e: PUSH1 0x00
00005990: DUP2
00005991: MLOAD
00005992: DUP1
00005993: DUP5
00005994: MSTORE
00005995: PUSH1 0x20
00005997: DUP1
00005998: DUP6
00005999: ADD
0000599a: SWAP5
0000599b: POP
0000599c: DUP1
0000599d: DUP5
0000599e: ADD
0000599f: DUP4
000059a0: JUMPDEST
000059a1: DUP4
000059a2: DUP2
000059a3: LT
000059a4: ISZERO
000059a5: PUSH2 0x59c5
000059a8: JUMPI
000059a9: DUP2
000059aa: MLOAD
000059ab: PUSH1 0x01
000059ad: PUSH1 0x01
000059af: PUSH1 0xa0
000059b1: SHL
000059b2: SUB
000059b3: AND
000059b4: DUP8
000059b5: MSTORE
000059b6: SWAP6
000059b7: DUP3
000059b8: ADD
000059b9: SWAP6
000059ba: SWAP1
000059bb: DUP3
000059bc: ADD
000059bd: SWAP1
000059be: PUSH1 0x01
000059c0: ADD
000059c1: PUSH2 0x59a0
000059c4: JUMP
000059c5: JUMPDEST
000059c6: POP
000059c7: SWAP5
000059c8: SWAP6
000059c9: SWAP5
000059ca: POP
000059cb: POP
000059cc: POP
000059cd: POP
000059ce: POP
000059cf: JUMP
000059d0: JUMPDEST
000059d1: PUSH1 0x00
000059d3: DUP2
000059d4: MLOAD
000059d5: DUP1
000059d6: DUP5
000059d7: MSTORE
000059d8: PUSH1 0x20
000059da: DUP1
000059db: DUP6
000059dc: ADD
000059dd: SWAP5
000059de: POP
000059df: DUP1
000059e0: DUP5
000059e1: ADD
000059e2: DUP4
000059e3: JUMPDEST
000059e4: DUP4
000059e5: DUP2
000059e6: LT
000059e7: ISZERO
000059e8: PUSH2 0x59c5
000059eb: JUMPI
000059ec: DUP2
000059ed: MLOAD
000059ee: DUP8
000059ef: MSTORE
000059f0: SWAP6
000059f1: DUP3
000059f2: ADD
000059f3: SWAP6
000059f4: SWAP1
000059f5: DUP3
000059f6: ADD
000059f7: SWAP1
000059f8: PUSH1 0x01
000059fa: ADD
000059fb: PUSH2 0x59e3
000059fe: JUMP
000059ff: JUMPDEST
00005a00: PUSH1 0x00
00005a02: DUP2
00005a03: MLOAD
00005a04: DUP1
00005a05: DUP5
00005a06: MSTORE
00005a07: PUSH2 0x5a17
00005a0a: DUP2
00005a0b: PUSH1 0x20
00005a0d: DUP7
00005a0e: ADD
00005a0f: PUSH1 0x20
00005a11: DUP7
00005a12: ADD
00005a13: PUSH2 0x5f24
00005a16: JUMP
00005a17: JUMPDEST
00005a18: PUSH1 0x1f
00005a1a: ADD
00005a1b: PUSH1 0x1f
00005a1d: NOT
00005a1e: AND
00005a1f: SWAP3
00005a20: SWAP1
00005a21: SWAP3
00005a22: ADD
00005a23: PUSH1 0x20
00005a25: ADD
00005a26: SWAP3
00005a27: SWAP2
00005a28: POP
00005a29: POP
00005a2a: JUMP
00005a2b: JUMPDEST
00005a2c: PUSH1 0x00
00005a2e: PUSH2 0x0120
00005a31: DUP3
00005a32: MLOAD
00005a33: PUSH1 0x02
00005a35: DUP2
00005a36: LT
00005a37: PUSH2 0x5a3c
00005a3a: JUMPI
00005a3b: INVALID
00005a3c: JUMPDEST
00005a3d: DUP1
00005a3e: DUP6
00005a3f: MSTORE
00005a40: POP
00005a41: PUSH1 0x20
00005a43: DUP4
00005a44: ADD
00005a45: MLOAD
00005a46: PUSH2 0x5a52
00005a49: PUSH1 0x20
00005a4b: DUP7
00005a4c: ADD
00005a4d: DUP3
00005a4e: PUSH2 0x5980
00005a51: JUMP
00005a52: JUMPDEST
00005a53: POP
00005a54: PUSH1 0x40
00005a56: DUP4
00005a57: ADD
00005a58: MLOAD
00005a59: PUSH2 0x5a65
00005a5c: PUSH1 0x40
00005a5e: DUP7
00005a5f: ADD
00005a60: DUP3
00005a61: PUSH2 0x5980
00005a64: JUMP
00005a65: JUMPDEST
00005a66: POP
00005a67: PUSH1 0x60
00005a69: DUP4
00005a6a: ADD
00005a6b: MLOAD
00005a6c: PUSH1 0x60
00005a6e: DUP6
00005a6f: ADD
00005a70: MSTORE
00005a71: PUSH1 0x80
00005a73: DUP4
00005a74: ADD
00005a75: MLOAD
00005a76: PUSH1 0x80
00005a78: DUP6
00005a79: ADD
00005a7a: MSTORE
00005a7b: PUSH1 0xa0
00005a7d: DUP4
00005a7e: ADD
00005a7f: MLOAD
00005a80: PUSH1 0xa0
00005a82: DUP6
00005a83: ADD
00005a84: MSTORE
00005a85: PUSH1 0xc0
00005a87: DUP4
00005a88: ADD
00005a89: MLOAD
00005a8a: PUSH2 0x5a96
00005a8d: PUSH1 0xc0
00005a8f: DUP7
00005a90: ADD
00005a91: DUP3
00005a92: PUSH2 0x5980
00005a95: JUMP
00005a96: JUMPDEST
00005a97: POP
00005a98: PUSH1 0xe0
00005a9a: DUP4
00005a9b: ADD
00005a9c: MLOAD
00005a9d: PUSH2 0x5aa9
00005aa0: PUSH1 0xe0
00005aa2: DUP7
00005aa3: ADD
00005aa4: DUP3
00005aa5: PUSH2 0x5980
00005aa8: JUMP
00005aa9: JUMPDEST
00005aaa: POP
00005aab: PUSH2 0x0100
00005aae: DUP1
00005aaf: DUP5
00005ab0: ADD
00005ab1: MLOAD
00005ab2: DUP3
00005ab3: DUP3
00005ab4: DUP8
00005ab5: ADD
00005ab6: MSTORE
00005ab7: PUSH2 0x12a6
00005aba: DUP4
00005abb: DUP8
00005abc: ADD
00005abd: DUP3
00005abe: PUSH2 0x59ff
00005ac1: JUMP
00005ac2: JUMPDEST
00005ac3: SWAP2
00005ac4: DUP3
00005ac5: MSTORE
00005ac6: PUSH1 0x01
00005ac8: PUSH1 0x01
00005aca: PUSH1 0xe0
00005acc: SHL
00005acd: SUB
00005ace: NOT
00005acf: AND
00005ad0: PUSH1 0x20
00005ad2: DUP3
00005ad3: ADD
00005ad4: MSTORE
00005ad5: PUSH1 0x24
00005ad7: ADD
00005ad8: SWAP1
00005ad9: JUMP
00005ada: JUMPDEST
00005adb: PUSH1 0x00
00005add: DUP3
00005ade: DUP5
00005adf: DUP4
00005ae0: CALLDATACOPY
00005ae1: SWAP2
00005ae2: ADD
00005ae3: SWAP1
00005ae4: DUP2
00005ae5: MSTORE
00005ae6: SWAP2
00005ae7: SWAP1
00005ae8: POP
00005ae9: JUMP
00005aea: JUMPDEST
00005aeb: PUSH1 0x00
00005aed: DUP3
00005aee: MLOAD
00005aef: PUSH2 0x5afc
00005af2: DUP2
00005af3: DUP5
00005af4: PUSH1 0x20
00005af6: DUP8
00005af7: ADD
00005af8: PUSH2 0x5f24
00005afb: JUMP
00005afc: JUMPDEST
00005afd: SWAP2
00005afe: SWAP1
00005aff: SWAP2
00005b00: ADD
00005b01: SWAP3
00005b02: SWAP2
00005b03: POP
00005b04: POP
00005b05: JUMP
00005b06: JUMPDEST
00005b07: PUSH12 0xffffffffffffffffffffffff
00005b14: NOT
00005b15: PUSH1 0x60
00005b17: SWAP4
00005b18: DUP5
00005b19: SHL
00005b1a: DUP2
00005b1b: AND
00005b1c: DUP3
00005b1d: MSTORE
00005b1e: SWAP2
00005b1f: SWAP1
00005b20: SWAP3
00005b21: SHL
00005b22: AND
00005b23: PUSH1 0x14
00005b25: DUP3
00005b26: ADD
00005b27: MSTORE
00005b28: PUSH1 0x28
00005b2a: ADD
00005b2b: SWAP1
00005b2c: JUMP
00005b2d: JUMPDEST
00005b2e: PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000
00005b4f: DUP2
00005b50: MSTORE
00005b51: PUSH1 0x02
00005b53: DUP2
00005b54: ADD
00005b55: SWAP3
00005b56: SWAP1
00005b57: SWAP3
00005b58: MSTORE
00005b59: PUSH1 0x22
00005b5b: DUP3
00005b5c: ADD
00005b5d: MSTORE
00005b5e: PUSH1 0x42
00005b60: ADD
00005b61: SWAP1
00005b62: JUMP
00005b63: JUMPDEST
00005b64: PUSH1 0x01
00005b66: PUSH1 0x01
00005b68: PUSH1 0xa0
00005b6a: SHL
00005b6b: SUB
00005b6c: SWAP2
00005b6d: SWAP1
00005b6e: SWAP2
00005b6f: AND
00005b70: DUP2
00005b71: MSTORE
00005b72: PUSH1 0x20
00005b74: ADD
00005b75: SWAP1
00005b76: JUMP
00005b77: JUMPDEST
00005b78: PUSH1 0x01
00005b7a: PUSH1 0x01
00005b7c: PUSH1 0xa0
00005b7e: SHL
00005b7f: SUB
00005b80: SWAP4
00005b81: DUP5
00005b82: AND
00005b83: DUP2
00005b84: MSTORE
00005b85: SWAP2
00005b86: SWAP1
00005b87: SWAP3
00005b88: AND
00005b89: PUSH1 0x20
00005b8b: DUP3
00005b8c: ADD
00005b8d: MSTORE
00005b8e: PUSH1 0x40
00005b90: DUP2
00005b91: ADD
00005b92: SWAP2
00005b93: SWAP1
00005b94: SWAP2
00005b95: MSTORE
00005b96: PUSH1 0x60
00005b98: ADD
00005b99: SWAP1
00005b9a: JUMP
00005b9b: JUMPDEST
00005b9c: PUSH1 0x01
00005b9e: PUSH1 0x01
00005ba0: PUSH1 0xa0
00005ba2: SHL
00005ba3: SUB
00005ba4: DUP4
00005ba5: AND
00005ba6: DUP2
00005ba7: MSTORE
00005ba8: PUSH1 0x40
00005baa: DUP2
00005bab: ADD
00005bac: PUSH2 0x5bb4
00005baf: DUP4
00005bb0: PUSH2 0x5f50
00005bb3: JUMP
00005bb4: JUMPDEST
00005bb5: DUP3
00005bb6: PUSH1 0x20
00005bb8: DUP4
00005bb9: ADD
00005bba: MSTORE
00005bbb: SWAP4
00005bbc: SWAP3
00005bbd: POP
00005bbe: POP
00005bbf: POP
00005bc0: JUMP
00005bc1: JUMPDEST
00005bc2: PUSH1 0x01
00005bc4: PUSH1 0x01
00005bc6: PUSH1 0xa0
00005bc8: SHL
00005bc9: SUB
00005bca: SWAP3
00005bcb: SWAP1
00005bcc: SWAP3
00005bcd: AND
00005bce: DUP3
00005bcf: MSTORE
00005bd0: PUSH1 0x20
00005bd2: DUP3
00005bd3: ADD
00005bd4: MSTORE
00005bd5: PUSH1 0x40
00005bd7: ADD
00005bd8: SWAP1
00005bd9: JUMP
00005bda: JUMPDEST
00005bdb: PUSH1 0x00
00005bdd: PUSH1 0x20
00005bdf: DUP3
00005be0: MSTORE
00005be1: PUSH2 0x16f2
00005be4: PUSH1 0x20
00005be6: DUP4
00005be7: ADD
00005be8: DUP5
00005be9: PUSH2 0x598d
00005bec: JUMP
00005bed: JUMPDEST
00005bee: PUSH1 0x00
00005bf0: PUSH1 0x40
00005bf2: DUP3
00005bf3: MSTORE
00005bf4: PUSH2 0x5c00
00005bf7: PUSH1 0x40
00005bf9: DUP4
00005bfa: ADD
00005bfb: DUP6
00005bfc: PUSH2 0x598d
00005bff: JUMP
00005c00: JUMPDEST
00005c01: DUP3
00005c02: DUP2
00005c03: SUB
00005c04: PUSH1 0x20
00005c06: DUP5
00005c07: DUP2
00005c08: ADD
00005c09: SWAP2
00005c0a: SWAP1
00005c0b: SWAP2
00005c0c: MSTORE
00005c0d: DUP5
00005c0e: MLOAD
00005c0f: DUP1
00005c10: DUP4
00005c11: MSTORE
00005c12: DUP6
00005c13: DUP3
00005c14: ADD
00005c15: SWAP3
00005c16: DUP3
00005c17: ADD
00005c18: SWAP1
00005c19: DUP5
00005c1a: JUMPDEST
00005c1b: DUP2
00005c1c: DUP2
00005c1d: LT
00005c1e: ISZERO
00005c1f: PUSH2 0x5c3f
00005c22: JUMPI
00005c23: DUP5
00005c24: MLOAD
00005c25: PUSH1 0x01
00005c27: PUSH1 0x01
00005c29: PUSH1 0xa0
00005c2b: SHL
00005c2c: SUB
00005c2d: AND
00005c2e: DUP4
00005c2f: MSTORE
00005c30: SWAP4
00005c31: DUP4
00005c32: ADD
00005c33: SWAP4
00005c34: SWAP2
00005c35: DUP4
00005c36: ADD
00005c37: SWAP2
00005c38: PUSH1 0x01
00005c3a: ADD
00005c3b: PUSH2 0x5c1a
00005c3e: JUMP
00005c3f: JUMPDEST
00005c40: POP
00005c41: SWAP1
00005c42: SWAP8
00005c43: SWAP7
00005c44: POP
00005c45: POP
00005c46: POP
00005c47: POP
00005c48: POP
00005c49: POP
00005c4a: POP
00005c4b: JUMP
00005c4c: JUMPDEST
00005c4d: PUSH1 0x00
00005c4f: PUSH1 0x60
00005c51: DUP3
00005c52: MSTORE
00005c53: PUSH2 0x5c5f
00005c56: PUSH1 0x60
00005c58: DUP4
00005c59: ADD
00005c5a: DUP7
00005c5b: PUSH2 0x598d
00005c5e: JUMP
00005c5f: JUMPDEST
00005c60: DUP3
00005c61: DUP2
00005c62: SUB
00005c63: PUSH1 0x20
00005c65: DUP5
00005c66: ADD
00005c67: MSTORE
00005c68: PUSH2 0x5c71
00005c6b: DUP2
00005c6c: DUP7
00005c6d: PUSH2 0x59d0
00005c70: JUMP
00005c71: JUMPDEST
00005c72: SWAP1
00005c73: POP
00005c74: DUP3
00005c75: DUP2
00005c76: SUB
00005c77: PUSH1 0x40
00005c79: DUP5
00005c7a: ADD
00005c7b: MSTORE
00005c7c: PUSH2 0x12a6
00005c7f: DUP2
00005c80: DUP6
00005c81: PUSH2 0x59d0
00005c84: JUMP
00005c85: JUMPDEST
00005c86: PUSH1 0x00
00005c88: PUSH1 0x80
00005c8a: DUP3
00005c8b: MSTORE
00005c8c: PUSH2 0x5c98
00005c8f: PUSH1 0x80
00005c91: DUP4
00005c92: ADD
00005c93: DUP8
00005c94: PUSH2 0x598d
00005c97: JUMP
00005c98: JUMPDEST
00005c99: DUP3
00005c9a: DUP2
00005c9b: SUB
00005c9c: PUSH1 0x20
00005c9e: DUP5
00005c9f: ADD
00005ca0: MSTORE
00005ca1: PUSH2 0x5caa
00005ca4: DUP2
00005ca5: DUP8
00005ca6: PUSH2 0x59d0
00005ca9: JUMP
00005caa: JUMPDEST
00005cab: SWAP1
00005cac: POP
00005cad: DUP3
00005cae: DUP2
00005caf: SUB
00005cb0: PUSH1 0x40
00005cb2: DUP5
00005cb3: ADD
00005cb4: MSTORE
00005cb5: PUSH2 0x5cbe
00005cb8: DUP2
00005cb9: DUP7
00005cba: PUSH2 0x59d0
00005cbd: JUMP
00005cbe: JUMPDEST
00005cbf: SWAP1
00005cc0: POP
00005cc1: DUP3
00005cc2: DUP2
00005cc3: SUB
00005cc4: PUSH1 0x60
00005cc6: DUP5
00005cc7: ADD
00005cc8: MSTORE
00005cc9: PUSH2 0x4c08
00005ccc: DUP2
00005ccd: DUP6
00005cce: PUSH2 0x59ff
00005cd1: JUMP
00005cd2: JUMPDEST
00005cd3: PUSH1 0x00
00005cd5: PUSH1 0x60
00005cd7: DUP3
00005cd8: MSTORE
00005cd9: PUSH2 0x5ce5
00005cdc: PUSH1 0x60
00005cde: DUP4
00005cdf: ADD
00005ce0: DUP7
00005ce1: PUSH2 0x598d
00005ce4: JUMP
00005ce5: JUMPDEST
00005ce6: DUP3
00005ce7: DUP2
00005ce8: SUB
00005ce9: PUSH1 0x20
00005ceb: DUP5
00005cec: ADD
00005ced: MSTORE
00005cee: PUSH2 0x5cf7
00005cf1: DUP2
00005cf2: DUP7
00005cf3: PUSH2 0x59d0
00005cf6: JUMP
00005cf7: JUMPDEST
00005cf8: SWAP2
00005cf9: POP
00005cfa: POP
00005cfb: DUP3
00005cfc: PUSH1 0x40
00005cfe: DUP4
00005cff: ADD
00005d00: MSTORE
00005d01: SWAP5
00005d02: SWAP4
00005d03: POP
00005d04: POP
00005d05: POP
00005d06: POP
00005d07: JUMP
00005d08: JUMPDEST
00005d09: PUSH1 0x00
00005d0b: PUSH1 0x20
00005d0d: DUP3
00005d0e: MSTORE
00005d0f: PUSH2 0x16f2
00005d12: PUSH1 0x20
00005d14: DUP4
00005d15: ADD
00005d16: DUP5
00005d17: PUSH2 0x59d0
00005d1a: JUMP
00005d1b: JUMPDEST
00005d1c: SWAP1
00005d1d: ISZERO
00005d1e: ISZERO
00005d1f: DUP2
00005d20: MSTORE
00005d21: PUSH1 0x20
00005d23: ADD
00005d24: SWAP1
00005d25: JUMP
00005d26: JUMPDEST
00005d27: SWAP3
00005d28: ISZERO
00005d29: ISZERO
00005d2a: DUP4
00005d2b: MSTORE
00005d2c: PUSH1 0x20
00005d2e: DUP4
00005d2f: ADD
00005d30: SWAP2
00005d31: SWAP1
00005d32: SWAP2
00005d33: MSTORE
00005d34: PUSH1 0x40
00005d36: DUP3
00005d37: ADD
00005d38: MSTORE
00005d39: PUSH1 0x60
00005d3b: ADD
00005d3c: SWAP1
00005d3d: JUMP
00005d3e: JUMPDEST
00005d3f: SWAP1
00005d40: DUP2
00005d41: MSTORE
00005d42: PUSH1 0x20
00005d44: ADD
00005d45: SWAP1
00005d46: JUMP
00005d47: JUMPDEST
00005d48: SWAP3
00005d49: DUP4
00005d4a: MSTORE
00005d4b: PUSH1 0x01
00005d4d: PUSH1 0x01
00005d4f: PUSH1 0xa0
00005d51: SHL
00005d52: SUB
00005d53: SWAP2
00005d54: DUP3
00005d55: AND
00005d56: PUSH1 0x20
00005d58: DUP5
00005d59: ADD
00005d5a: MSTORE
00005d5b: AND
00005d5c: PUSH1 0x40
00005d5e: DUP3
00005d5f: ADD
00005d60: MSTORE
00005d61: PUSH1 0x60
00005d63: ADD
00005d64: SWAP1
00005d65: JUMP
00005d66: JUMPDEST
00005d67: PUSH1 0x00
00005d69: DUP9
00005d6a: DUP3
00005d6b: MSTORE
00005d6c: PUSH1 0x01
00005d6e: PUSH1 0x01
00005d70: PUSH1 0xa0
00005d72: SHL
00005d73: SUB
00005d74: DUP1
00005d75: DUP10
00005d76: AND
00005d77: PUSH1 0x20
00005d79: DUP5
00005d7a: ADD
00005d7b: MSTORE
00005d7c: DUP1
00005d7d: DUP9
00005d7e: AND
00005d7f: PUSH1 0x40
00005d81: DUP5
00005d82: ADD
00005d83: MSTORE
00005d84: POP
00005d85: PUSH1 0xe0
00005d87: PUSH1 0x60
00005d89: DUP4
00005d8a: ADD
00005d8b: MSTORE
00005d8c: PUSH2 0x5d98
00005d8f: PUSH1 0xe0
00005d91: DUP4
00005d92: ADD
00005d93: DUP8
00005d94: PUSH2 0x59d0
00005d97: JUMP
00005d98: JUMPDEST
00005d99: DUP6
00005d9a: PUSH1 0x80
00005d9c: DUP5
00005d9d: ADD
00005d9e: MSTORE
00005d9f: DUP5
00005da0: PUSH1 0xa0
00005da2: DUP5
00005da3: ADD
00005da4: MSTORE
00005da5: DUP3
00005da6: DUP2
00005da7: SUB
00005da8: PUSH1 0xc0
00005daa: DUP5
00005dab: ADD
00005dac: MSTORE
00005dad: PUSH2 0x5db6
00005db0: DUP2
00005db1: DUP6
00005db2: PUSH2 0x59ff
00005db5: JUMP
00005db6: JUMPDEST
00005db7: SWAP11
00005db8: SWAP10
00005db9: POP
00005dba: POP
00005dbb: POP
00005dbc: POP
00005dbd: POP
00005dbe: POP
00005dbf: POP
00005dc0: POP
00005dc1: POP
00005dc2: POP
00005dc3: JUMP
00005dc4: JUMPDEST
00005dc5: SWAP5
00005dc6: DUP6
00005dc7: MSTORE
00005dc8: PUSH1 0x20
00005dca: DUP6
00005dcb: ADD
00005dcc: SWAP4
00005dcd: SWAP1
00005dce: SWAP4
00005dcf: MSTORE
00005dd0: PUSH1 0x01
00005dd2: PUSH1 0x01
00005dd4: PUSH1 0xa0
00005dd6: SHL
00005dd7: SUB
00005dd8: SWAP2
00005dd9: SWAP1
00005dda: SWAP2
00005ddb: AND
00005ddc: PUSH1 0x40
00005dde: DUP5
00005ddf: ADD
00005de0: MSTORE
00005de1: PUSH1 0x60
00005de3: DUP4
00005de4: ADD
00005de5: MSTORE
00005de6: PUSH1 0x80
00005de8: DUP3
00005de9: ADD
00005dea: MSTORE
00005deb: PUSH1 0xa0
00005ded: ADD
00005dee: SWAP1
00005def: JUMP
00005df0: JUMPDEST
00005df1: SWAP5
00005df2: DUP6
00005df3: MSTORE
00005df4: PUSH1 0x20
00005df6: DUP6
00005df7: ADD
00005df8: SWAP4
00005df9: SWAP1
00005dfa: SWAP4
00005dfb: MSTORE
00005dfc: PUSH1 0x40
00005dfe: DUP5
00005dff: ADD
00005e00: SWAP2
00005e01: SWAP1
00005e02: SWAP2
00005e03: MSTORE
00005e04: PUSH1 0x60
00005e06: DUP4
00005e07: ADD
00005e08: MSTORE
00005e09: PUSH1 0x01
00005e0b: PUSH1 0x01
00005e0d: PUSH1 0xa0
00005e0f: SHL
00005e10: SUB
00005e11: AND
00005e12: PUSH1 0x80
00005e14: DUP3
00005e15: ADD
00005e16: MSTORE
00005e17: PUSH1 0xa0
00005e19: ADD
00005e1a: SWAP1
00005e1b: JUMP
00005e1c: JUMPDEST
00005e1d: SWAP4
00005e1e: DUP5
00005e1f: MSTORE
00005e20: PUSH1 0xff
00005e22: SWAP3
00005e23: SWAP1
00005e24: SWAP3
00005e25: AND
00005e26: PUSH1 0x20
00005e28: DUP5
00005e29: ADD
00005e2a: MSTORE
00005e2b: PUSH1 0x40
00005e2d: DUP4
00005e2e: ADD
00005e2f: MSTORE
00005e30: PUSH1 0x60
00005e32: DUP3
00005e33: ADD
00005e34: MSTORE
00005e35: PUSH1 0x80
00005e37: ADD
00005e38: SWAP1
00005e39: JUMP
00005e3a: JUMPDEST
00005e3b: PUSH1 0x20
00005e3d: DUP2
00005e3e: ADD
00005e3f: PUSH2 0x5e47
00005e42: DUP4
00005e43: PUSH2 0x5f50
00005e46: JUMP
00005e47: JUMPDEST
00005e48: SWAP2
00005e49: SWAP1
00005e4a: MSTORE
00005e4b: SWAP1
00005e4c: JUMP
00005e4d: JUMPDEST
00005e4e: SWAP2
00005e4f: DUP3
00005e50: MSTORE
00005e51: PUSH1 0x20
00005e53: DUP3
00005e54: ADD
00005e55: MSTORE
00005e56: PUSH1 0x40
00005e58: ADD
00005e59: SWAP1
00005e5a: JUMP
00005e5b: JUMPDEST
00005e5c: PUSH1 0x00
00005e5e: PUSH1 0x80
00005e60: DUP3
00005e61: MSTORE
00005e62: PUSH2 0x5e6e
00005e65: PUSH1 0x80
00005e67: DUP4
00005e68: ADD
00005e69: DUP8
00005e6a: PUSH2 0x5a2b
00005e6d: JUMP
00005e6e: JUMPDEST
00005e6f: DUP3
00005e70: DUP2
00005e71: SUB
00005e72: PUSH1 0x20
00005e74: DUP5
00005e75: ADD
00005e76: MSTORE
00005e77: PUSH2 0x5e80
00005e7a: DUP2
00005e7b: DUP8
00005e7c: PUSH2 0x59d0
00005e7f: JUMP
00005e80: JUMPDEST
00005e81: PUSH1 0x40
00005e83: DUP5
00005e84: ADD
00005e85: SWAP6
00005e86: SWAP1
00005e87: SWAP6
00005e88: MSTORE
00005e89: POP
00005e8a: POP
00005e8b: PUSH1 0x60
00005e8d: ADD
00005e8e: MSTORE
00005e8f: SWAP3
00005e90: SWAP2
00005e91: POP
00005e92: POP
00005e93: JUMP
00005e94: JUMPDEST
00005e95: PUSH1 0x00
00005e97: PUSH1 0x60
00005e99: DUP3
00005e9a: MSTORE
00005e9b: PUSH2 0x5ea7
00005e9e: PUSH1 0x60
00005ea0: DUP4
00005ea1: ADD
00005ea2: DUP7
00005ea3: PUSH2 0x5a2b
00005ea6: JUMP
00005ea7: JUMPDEST
00005ea8: PUSH1 0x20
00005eaa: DUP4
00005eab: ADD
00005eac: SWAP5
00005ead: SWAP1
00005eae: SWAP5
00005eaf: MSTORE
00005eb0: POP
00005eb1: PUSH1 0x40
00005eb3: ADD
00005eb4: MSTORE
00005eb5: SWAP2
00005eb6: SWAP1
00005eb7: POP
00005eb8: JUMP
00005eb9: JUMPDEST
00005eba: SWAP4
00005ebb: DUP5
00005ebc: MSTORE
00005ebd: PUSH1 0x20
00005ebf: DUP5
00005ec0: ADD
00005ec1: SWAP3
00005ec2: SWAP1
00005ec3: SWAP3
00005ec4: MSTORE
00005ec5: PUSH1 0x40
00005ec7: DUP4
00005ec8: ADD
00005ec9: MSTORE
00005eca: PUSH1 0x01
00005ecc: PUSH1 0x01
00005ece: PUSH1 0xa0
00005ed0: SHL
00005ed1: SUB
00005ed2: AND
00005ed3: PUSH1 0x60
00005ed5: DUP3
00005ed6: ADD
00005ed7: MSTORE
00005ed8: PUSH1 0x80
00005eda: ADD
00005edb: SWAP1
00005edc: JUMP
00005edd: JUMPDEST
00005ede: PUSH1 0x40
00005ee0: MLOAD
00005ee1: DUP2
00005ee2: DUP2
00005ee3: ADD
00005ee4: PUSH8 0xffffffffffffffff
00005eed: DUP2
00005eee: GT
00005eef: DUP3
00005ef0: DUP3
00005ef1: LT
00005ef2: OR
00005ef3: ISZERO
00005ef4: PUSH2 0x5efc
00005ef7: JUMPI
00005ef8: PUSH1 0x00
00005efa: DUP1
00005efb: REVERT
00005efc: JUMPDEST
00005efd: PUSH1 0x40
00005eff: MSTORE
00005f00: SWAP2
00005f01: SWAP1
00005f02: POP
00005f03: JUMP
00005f04: JUMPDEST
00005f05: PUSH1 0x00
00005f07: PUSH8 0xffffffffffffffff
00005f10: DUP3
00005f11: GT
00005f12: ISZERO
00005f13: PUSH2 0x5f1a
00005f16: JUMPI
00005f17: DUP1
00005f18: DUP2
00005f19: REVERT
00005f1a: JUMPDEST
00005f1b: POP
00005f1c: PUSH1 0x20
00005f1e: SWAP1
00005f1f: DUP2
00005f20: MUL
00005f21: ADD
00005f22: SWAP1
00005f23: JUMP
00005f24: JUMPDEST
00005f25: PUSH1 0x00
00005f27: JUMPDEST
00005f28: DUP4
00005f29: DUP2
00005f2a: LT
00005f2b: ISZERO
00005f2c: PUSH2 0x5f3f
00005f2f: JUMPI
00005f30: DUP2
00005f31: DUP2
00005f32: ADD
00005f33: MLOAD
00005f34: DUP4
00005f35: DUP3
00005f36: ADD
00005f37: MSTORE
00005f38: PUSH1 0x20
00005f3a: ADD
00005f3b: PUSH2 0x5f27
00005f3e: JUMP
00005f3f: JUMPDEST
00005f40: DUP4
00005f41: DUP2
00005f42: GT
00005f43: ISZERO
00005f44: PUSH2 0x0e00
00005f47: JUMPI
00005f48: POP
00005f49: POP
00005f4a: PUSH1 0x00
00005f4c: SWAP2
00005f4d: ADD
00005f4e: MSTORE
00005f4f: JUMP
00005f50: JUMPDEST
00005f51: PUSH1 0x03
00005f53: DUP2
00005f54: LT
00005f55: PUSH2 0x057e
00005f58: JUMPI
00005f59: INVALID
00005f5a: JUMPDEST
00005f5b: PUSH1 0x01
00005f5d: PUSH1 0x01
00005f5f: PUSH1 0xa0
00005f61: SHL
00005f62: SUB
00005f63: DUP2
00005f64: AND
00005f65: DUP2
00005f66: EQ
00005f67: PUSH2 0x057e
00005f6a: JUMPI
00005f6b: PUSH1 0x00
00005f6d: DUP1
00005f6e: REVERT
00005f6f: JUMPDEST
00005f70: DUP1
00005f71: ISZERO
00005f72: ISZERO
00005f73: DUP2
00005f74: EQ
00005f75: PUSH2 0x057e
00005f78: JUMPI
00005f79: PUSH1 0x00
00005f7b: DUP1
00005f7c: REVERT
00005f7d: JUMPDEST
00005f7e: PUSH1 0x03
00005f80: DUP2
00005f81: LT
00005f82: PUSH2 0x057e
00005f85: JUMPI
00005f86: PUSH1 0x00
00005f88: DUP1
00005f89: REVERT
00005f8a: INVALID
00005f8b: LOG2
00005f8c: PUSH5 0x6970667358
00005f92: UNKNOWN(0x22)
00005f93: SLT
00005f94: KECCAK256
00005f95: KECCAK256
00005f96: CLZ
00005f97: UNKNOWN(0x4F)
00005f98: SWAP3
00005f99: PUSH15 0x390fed8dd5318c58846af735c2bebc
00005fa9: PUSH2 0xb806
00005fac: SWAP4
00005fad: UNKNOWN(0xAE)
00005fae: SWAP4
00005faf: PUSH11 0x5fe76dcf1464736f6c6343
00005fbb: STOP
00005fbc: SMOD
00005fbd: ADD
00005fbe: STOP
00005fbf: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x25b21c8ea4ed49d21db35a9cb058d1626e8cd4d10fd1355c5731eaec78e7c62b
call_targets: 0xba12222222228d8ba445958a75a0704d566bf2c8
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x25b21c8ea4ed49d21db35a9cb058d1626e8cd4d10fd1355c5731eaec78e7c62b",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xba12222222228d8ba445958a75a0704d566bf2c8"
    ],
    "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": "0xf84d066e",
            "selector": "0xf84d066e",
            "calldata_variants": [
                "0xf84d066e",
                "0xf84d066e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf94d4668",
            "selector": "0xf94d4668",
            "calldata_variants": [
                "0xf94d4668",
                "0xf94d46680000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa6e671d",
            "selector": "0xfa6e671d",
            "calldata_variants": [
                "0xfa6e671d",
                "0xfa6e671d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfec90d72",
            "selector": "0xfec90d72",
            "calldata_variants": [
                "0xfec90d72",
                "0xfec90d720000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe6c46092",
            "selector": "0xe6c46092",
            "calldata_variants": [
                "0xe6c46092",
                "0xe6c460920000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xed24911d",
            "selector": "0xed24911d",
            "calldata_variants": [
                "0xed24911d",
                "0xed24911d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf6c00927",
            "selector": "0xf6c00927",
            "calldata_variants": [
                "0xf6c00927",
                "0xf6c009270000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb05f8e48",
            "selector": "0xb05f8e48",
            "calldata_variants": [
                "0xb05f8e48",
                "0xb05f8e480000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3186,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5463,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7379,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 10,
    "guards_detected": [
        {
            "pc": 5416,
            "type": "msg_sender_eq_const",
            "value": 96
        }
    ],
    "untrusted_call_count": 10
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x25b21c8ea4ed49d21db35a9cb058d1626e8cd4d10fd1355c5731eaec78e7c62b
call_targets: 0xba12222222228d8ba445958a75a0704d566bf2c8
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x25b21c8ea4ed49d21db35a9cb058d1626e8cd4d10fd1355c5731eaec78e7c62b",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xba12222222228d8ba445958a75a0704d566bf2c8"
    ],
    "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": "0xf84d066e",
            "selector": "0xf84d066e",
            "calldata_variants": [
                "0xf84d066e",
                "0xf84d066e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf94d4668",
            "selector": "0xf94d4668",
            "calldata_variants": [
                "0xf94d4668",
                "0xf94d46680000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa6e671d",
            "selector": "0xfa6e671d",
            "calldata_variants": [
                "0xfa6e671d",
                "0xfa6e671d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfec90d72",
            "selector": "0xfec90d72",
            "calldata_variants": [
                "0xfec90d72",
                "0xfec90d720000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe6c46092",
            "selector": "0xe6c46092",
            "calldata_variants": [
                "0xe6c46092",
                "0xe6c460920000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xed24911d",
            "selector": "0xed24911d",
            "calldata_variants": [
                "0xed24911d",
                "0xed24911d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf6c00927",
            "selector": "0xf6c00927",
            "calldata_variants": [
                "0xf6c00927",
                "0xf6c009270000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb05f8e48",
            "selector": "0xb05f8e48",
            "calldata_variants": [
                "0xb05f8e48",
                "0xb05f8e480000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3186,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5463,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7379,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 10,
    "guards_detected": [
        {
            "pc": 5416,
            "type": "msg_sender_eq_const",
            "value": 96
        }
    ]
}
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": 12
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 16
}