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

Analysis Run

019ba92a-2eeb-70f8-844a-5c395e4e1794

complete
Chain ID
1
Address
Block Number
Created
Sat, Jan 10, 2026 6:27 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
1
Validated
1
Source
Verified
Review Backing
Present
Best current signal
Untrusted DELEGATECALL target reachable
crit 0 high 1 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
35613 artifact.fetch complete 1 / 3 3 months ago
35614 proxy.resolve complete 1 / 3 3 months ago
35615 tool.cast_disasm complete 1 / 3 3 months ago
35616 analysis.bundle complete 1 / 3 3 months ago
35617 capability.graph complete 1 / 3 3 months ago
35618 detector.run complete 1 / 3 3 months ago
35619 validation.fork complete 1 / 3 3 months ago
36019 report.consolidate complete 1 / 6 3 months ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no not_proxy
Implementation:
Verified Source: yes
Proxy evidence
{
    "status": "not_proxy"
}

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
4
No findings?
no
Summary
Found 4 issues: missing oracle response validation, flashloan callback not restricted to Balancer, a division-by-zero path in withdrawals, and delegatecall upgradeability risk for adapters/swapper.
View stdout
{"no_findings":false,"summary":"Found 4 issues: missing oracle response validation, flashloan callback not restricted to Balancer, a division-by-zero path in withdrawals, and delegatecall upgradeability risk for adapters/swapper.","findings":[{"severity":"medium","category":"oracle","title":"Chainlink price feeds used without freshness/positivity checks","exploit_scenario":"If a price feed returns stale/zero/negative data (oracle outage or manipulation), the cast to uint256 skews conversions used for `totalAssets`, `_withdrawToVault`, and swap min-outs. This can misprice shares, mint fees on phantom gains, or cause withdrawals to under/over-pay or revert unexpectedly.","recommendation":"Validate `answer > 0`, `updatedAt` within a heartbeat, and `answeredInRound >= roundId`; normalize by feed decimals and revert on invalid/stale data.","evidence":"PriceConverter reads `latestRoundData()` and immediately uses `int256` answers without validating them or checking staleness.","locations":["src/steth/PriceConverter.sol:67","src/steth/PriceConverter.sol:83","src/steth/PriceConverter.sol:91"]},{"severity":"medium","category":"access_control","title":"Flashloan callback not restricted to Balancer vault","exploit_scenario":"During an active flashloan, any reentrant external call (e.g., via a swap route or adapter call) can invoke `receiveFlashLoan` with attacker-controlled `userData` because it only checks the `flashLoanInitiated` flag. This bypasses the keeper check and can trigger privileged `_multiCall` actions (swaps, borrows/repays) while the vault is in flashloan mode.","recommendation":"Require `msg.sender == address(balancerVault)` inside `receiveFlashLoan`, and consider binding `userData` to expected operations or adding a reentrancy guard around flashloan callbacks.","evidence":"`receiveFlashLoan` only calls `_isFlashLoanInitiated()` and does not validate `msg.sender`; `_onlyKeeperOrFlashLoan` skips keeper checks when `flashLoanInitiated` is true.","locations":["src/steth/scWETHv2.sol:225","src/sc4626.sol:109"]},{"severity":"medium","category":"math","title":"Division-by-zero in `_withdrawToVault` when adapter net assets are zero","exploit_scenario":"If any adapter position has `priceConverter.wstEthToEth(collateral) == debt` (or if `totalInvested_` is zero), `repayPerProtocol = withdrawPerProtocol.mulDivDown(debt, assets)` divides by zero and reverts. This can brick withdrawals exactly when positions approach 100% LTV, trapping user funds.","recommendation":"Skip adapters with `assets == 0` (or `totalInvested_ == 0`), or guard the division and handle zero-asset cases explicitly before computing `repayPerProtocol`.","evidence":"`repayPerProtocol` divides by `assets` without a zero check.","locations":["src/steth/scWETHv2.sol:336","src/steth/scWETHv2.sol:356"]},{"severity":"low","category":"upgradeability","title":"Delegatecall to adapter/swapper trusts upgradeable targets with full storage access","exploit_scenario":"Adapters and the swapper are invoked via `delegatecall`. If any target is upgradeable or controlled by a different admin, a malicious upgrade can overwrite vault storage (roles, balances) and drain funds without changing vault code.","recommendation":"Only use audited, non-upgradeable adapter/swapper implementations; consider code-hash allowlisting or a timelock on `setSwapper`/`addAdapter` changes. If upgradeability is required, isolate with `call` patterns instead of `delegatecall`.","evidence":"Vault uses `functionDelegateCall` to adapter/swapper addresses set by admin.","locations":["src/steth/BaseV2Vault.sol:100","src/steth/BaseV2Vault.sol:183","src/steth/BaseV2Vault.sol:196"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-n3mhbuje
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: xhigh
reasoning summaries: auto
session id: 019ba92d-c805-7a83-8afa-8ac5d4216cdc
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.

Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.

Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.

Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers

thinking
**Reading AUDIT_BUNDLE file**
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-n3mhbuje succeeded in 9ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.

================================================================================
FILE: src/errors/scErrors.sol
================================================================================
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity ^0.8.10;

error InvalidTargetLtv();
error InvalidMaxLtv();
error InvalidFlashLoanCaller();
error InvalidSlippageTolerance();
error InvalidFloatPercentage();
error ZeroAddress();
error PleaseUseRedeemMethod();
error FeesTooHigh();
error TreasuryCannotBeZero();
error VaultNotUnderwater();
error CallerNotAdmin();

thinking
**Planning full AUDIT_BUNDLE read**
exec
/bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-n3mhbuje succeeded in 14ms:
5:FILE: src/errors/scErrors.sol
33:FILE: src/interfaces/balancer/IFlashLoanRecipient.sol
59:FILE: src/interfaces/balancer/IVault.sol
82:FILE: src/interfaces/chainlink/AggregatorV3Interface.sol
106:FILE: src/interfaces/curve/ICurvePool.sol
116:FILE: src/interfaces/lido/ILido.sol
135:FILE: src/interfaces/lido/IwstETH.sol
183:FILE: src/interfaces/uniswap/ISwapRouter.sol
225:FILE: src/lib/Constants.sol
329:FILE: src/sc4626.sol
457:FILE: src/steth/BaseV2Vault.sol
676:FILE: src/steth/IAdapter.sol
749:FILE: src/steth/PriceConverter.sol
860:FILE: src/steth/Swapper.sol
1019:FILE: src/steth/scWETHv2.sol

thinking
**Continuing to review key contracts**
exec
/bin/bash -lc "sed -n '457,760p' AUDIT_BUNDLE.txt" in /tmp/codex-n3mhbuje succeeded in 6ms:
FILE: src/steth/BaseV2Vault.sol
================================================================================
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity ^0.8.19;

import {TokenOutNotAllowed} from "../errors/scErrors.sol";

import {ERC20} from "solmate/tokens/ERC20.sol";
import {Address} from "openzeppelin-contracts/utils/Address.sol";
import {EnumerableMap} from "openzeppelin-contracts/utils/structs/EnumerableMap.sol";

import {ProtocolNotSupported, ProtocolInUse, ZeroAddress} from "../errors/scErrors.sol";
import {Constants as C} from "../lib/Constants.sol";
import {IVault} from "../interfaces/balancer/IVault.sol";
import {IFlashLoanRecipient} from "../interfaces/balancer/IFlashLoanRecipient.sol";
import {IAdapter} from "./IAdapter.sol";
import {PriceConverter} from "./PriceConverter.sol";
import {Swapper} from "./Swapper.sol";
import {sc4626} from "../sc4626.sol";


thinking
**Continuing file extraction**
exec
/bin/bash -lc "sed -n '760,1060p' AUDIT_BUNDLE.txt" in /tmp/codex-n3mhbuje succeeded in 6ms:
import {IwstETH} from "../interfaces/lido/IwstETH.sol";

/**
 * @title Price Converter
 * @notice Contract for price conversion between assets used by staking vaults.
 */
contract PriceConverter is AccessControl {
    using FixedPointMathLib for uint256;

    IwstETH constant wstETH = IwstETH(C.WSTETH);

    event UsdcToEthPriceFeedUpdated(address indexed admin, address newPriceFeed);
    event StEthToEthPriceFeedUpdated(address indexed admin, address newPriceFeed);

    // Chainlink price feed (USDC -> ETH)
    AggregatorV3Interface public usdcToEthPriceFeed = AggregatorV3Interface(C.CHAINLINK_USDC_ETH_PRICE_FEED);

    // Chainlink price feed (stETH -> ETH)
    AggregatorV3Interface public stEThToEthPriceFeed = AggregatorV3Interface(C.CHAINLINK_STETH_ETH_PRICE_FEED);


thinking
**Continuing to review scWETHv2 file**
exec
/bin/bash -lc "sed -n '1060,1458p' AUDIT_BUNDLE.txt" in /tmp/codex-n3mhbuje succeeded in 5ms:
    event Harvested(uint256 profitSinceLastHarvest, uint256 performanceFee);
    event MinFloatAmountUpdated(address indexed user, uint256 newMinFloatAmount);
    event Rebalanced(uint256 totalCollateral, uint256 totalDebt, uint256 floatBalance);
    event SuppliedAndBorrowed(uint256 adapterId, uint256 supplyAmount, uint256 borrowAmount);
    event RepaidAndWithdrawn(uint256 adapterId, uint256 repayAmount, uint256 withdrawAmount);
    event WithdrawnToVault(uint256 amount);

    // total invested during last harvest/rebalance
    uint256 public totalInvested;

    // total profit generated for this vault
    uint256 public totalProfit;

    // since the totalAssets increases after profit, the floatRequired also increases proportionally in case of using a percentage float
    // this will cause the receiveFlashloan method to fail on reinvesting profits (using rebalance) after the multicall, since the actual float in the contract remain unchanged after the multicall
    // this can be fixed by also withdrawing float into the contract in the reinvesting profits multicall but that makes the calculations very complex on the backend
    // a simple solution to that is just using minimumFloatAmount instead of a percentage float
    uint256 public minimumFloatAmount = 1 ether;

    IwstETH constant wstETH = IwstETH(C.WSTETH);





thinking
**Analyzing smart contract security risks**

I'm reviewing potential vulnerabilities in the vault contracts, focusing on access controls, delegatecalls, flashloan reentrancy, and oracle data validation. There are concerns about missing msg.sender checks on receiveFlashLoan, risky delegatecalls to adapters/swappers, and unvalidated Chainlink price feeds that may allow oracle manipulation. I'll continue assessing whether these pose exploitable issues or rely on trusted roles.
thinking
**Examining reentrancy and swap risks**

There is potential for reentrancy during flashloans via external calls, especially with zeroExSwap’s flexible swapData that could redirect tokens to attacker-controlled addresses. Since receiveFlashLoan lacks msg.sender validation and relies on a boolean flag, an attacker able to reenter during a flashloan might misuse privileged functions. I’m parsing these complex interaction paths and allowance resets to understand if they can be weaponized despite trusted roles like keeper and admin.
thinking
**Analyzing oracle handling and access control nuances**

I’m exploring how missing sender checks on receiveFlashLoan and unvalidated oracles might enable unexpected behavior, like unauthorized multicalls or mispriced shares. It’s interesting how delegatecalls and external calls interplay here, revealing subtle access and reentrancy considerations that could affect vault integrity under certain conditions.
thinking
**Identifying division-by-zero and oracle validation risks**

I’m focusing on how division-by-zero errors in withdrawal calculations can cause transaction reverts and potentially lock funds, especially when protocol positions hit max loan-to-value ratios. Alongside that, missing price feed validations create a risk of stale or incorrect pricing affecting asset valuation and share accounting.
thinking
**Highlighting dangerous delegatecall and oracle validation gaps**

I’m outlining how delegatecalls to admin-configurable swapper and adapters can risk vault storage if upgraded maliciously, plus missing oracle response checks that might let stale or negative prices skew share valuations and withdrawals. These combined create important upgradeability and pricing concerns worth noting.
exec
/bin/bash -lc "nl -ba src/steth/PriceConverter.sol | sed -n '1,200p'" in /tmp/codex-n3mhbuje succeeded in 11ms:
     1	// SPDX-License-Identifier: AGPL-3.0-only
     2	pragma solidity ^0.8.19;
     3	
     4	import {FixedPointMathLib} from "solmate/utils/FixedPointMathLib.sol";
     5	import {AccessControl} from "openzeppelin-contracts/access/AccessControl.sol";
     6	
     7	import {ZeroAddress, CallerNotAdmin} from "../errors/scErrors.sol";
     8	import {Constants as C} from "../lib/Constants.sol";
     9	import {AggregatorV3Interface} from "../interfaces/chainlink/AggregatorV3Interface.sol";
    10	import {IwstETH} from "../interfaces/lido/IwstETH.sol";
    11	
    12	/**
    13	 * @title Price Converter
    14	 * @notice Contract for price conversion between assets used by staking vaults.
    15	 */
    16	contract PriceConverter is AccessControl {
    17	    using FixedPointMathLib for uint256;
    18	
    19	    IwstETH constant wstETH = IwstETH(C.WSTETH);
    20	

thinking
**Searching for receiveFlashLoan in scWETHv2**
exec
/bin/bash -lc "nl -ba src/steth/scWETHv2.sol | sed -n '140,320p'" in /tmp/codex-n3mhbuje succeeded in 6ms:
   140	        );
   141	    }
   142	
   143	    /// @notice withdraw deposited funds from the lending markets to the vault
   144	    /// @param _amount : amount of assets to withdraw to the vault
   145	    function withdrawToVault(uint256 _amount) external {
   146	        _onlyKeeper();
   147	
   148	        _withdrawToVault(_amount);
   149	    }
   150	
   151	    /// @notice returns the adapter address given the adapterId (only if the adaapterId is supported else returns zero address)
   152	    /// @param _adapterId the id of the adapter to check
   153	    function getAdapter(uint256 _adapterId) external view returns (address adapter) {
   154	        (, adapter) = protocolAdapters.tryGet(_adapterId);
   155	    }
   156	
   157	    /// @notice returns the total assets (in WETH) held by the strategy
   158	    function totalAssets() public view override returns (uint256 assets) {
   159	        // value of the supplied collateral in eth terms using chainlink oracle

thinking
**Locating _withdrawToVault usage**
exec
/bin/bash -lc "nl -ba src/steth/scWETHv2.sol | sed -n '320,520p'" in /tmp/codex-n3mhbuje succeeded in 6ms:
   320	        // since during withdrawing everything,
   321	        // actual withdrawn amount might be less than totalAsssets
   322	        // (due to slippage incurred during wstEth to weth swap)
   323	        if (assets > balance) {
   324	            assets = balance;
   325	        }
   326	
   327	        emit Withdraw(msg.sender, receiver, owner, assets, shares);
   328	
   329	        asset.safeTransfer(receiver, assets);
   330	    }
   331	
   332	    /*//////////////////////////////////////////////////////////////
   333	                            INTERNAL API
   334	    //////////////////////////////////////////////////////////////*/
   335	
   336	    function _withdrawToVault(uint256 _amount) internal {
   337	        uint256 n = protocolAdapters.length();
   338	        uint256 flashLoanAmount;
   339	        uint256 totalInvested_ = _totalCollateralInWeth() - totalDebt();

thinking
**Identifying delegatecall locations in BaseV2Vault**
exec
/bin/bash -lc "nl -ba src/steth/BaseV2Vault.sol | sed -n '1,220p'" in /tmp/codex-n3mhbuje succeeded in 6ms:
     1	// SPDX-License-Identifier: AGPL-3.0-only
     2	pragma solidity ^0.8.19;
     3	
     4	import {TokenOutNotAllowed} from "../errors/scErrors.sol";
     5	
     6	import {ERC20} from "solmate/tokens/ERC20.sol";
     7	import {Address} from "openzeppelin-contracts/utils/Address.sol";
     8	import {EnumerableMap} from "openzeppelin-contracts/utils/structs/EnumerableMap.sol";
     9	
    10	import {ProtocolNotSupported, ProtocolInUse, ZeroAddress} from "../errors/scErrors.sol";
    11	import {Constants as C} from "../lib/Constants.sol";
    12	import {IVault} from "../interfaces/balancer/IVault.sol";
    13	import {IFlashLoanRecipient} from "../interfaces/balancer/IFlashLoanRecipient.sol";
    14	import {IAdapter} from "./IAdapter.sol";
    15	import {PriceConverter} from "./PriceConverter.sol";
    16	import {Swapper} from "./Swapper.sol";
    17	import {sc4626} from "../sc4626.sol";
    18	
    19	/**
    20	 * @title BaseV2Vault

thinking
**Identifying multiple security and logic concerns**
exec
/bin/bash -lc "nl -ba src/sc4626.sol | sed -n '1,200p'" in /tmp/codex-n3mhbuje succeeded in 6ms:
     1	// SPDX-License-Identifier: AGPL-3.0-only
     2	pragma solidity ^0.8.10;
     3	
     4	import {ERC20} from "solmate/tokens/ERC20.sol";
     5	import {ERC4626} from "solmate/mixins/ERC4626.sol";
     6	import {AccessControl} from "openzeppelin-contracts/access/AccessControl.sol";
     7	import {Constants as C} from "./lib/Constants.sol";
     8	import {
     9	    CallerNotAdmin,
    10	    CallerNotKeeper,
    11	    ZeroAddress,
    12	    InvalidFlashLoanCaller,
    13	    TreasuryCannotBeZero,
    14	    FeesTooHigh,
    15	    InvalidFloatPercentage,
    16	    InvalidSlippageTolerance
    17	} from "./errors/scErrors.sol";
    18	
    19	abstract contract sc4626 is ERC4626, AccessControl {
    20	    constructor(address _admin, address _keeper, ERC20 _asset, string memory _name, string memory _symbol)

thinking
**Preparing JSON report for findings**
codex
{"no_findings":false,"summary":"Found 4 issues: missing oracle response validation, flashloan callback not restricted to Balancer, a division-by-zero path in withdrawals, and delegatecall upgradeability risk for adapters/swapper.","findings":[{"severity":"medium","category":"oracle","title":"Chainlink price feeds used without freshness/positivity checks","exploit_scenario":"If a price feed returns stale/zero/negative data (oracle outage or manipulation), the cast to uint256 skews conversions used for `totalAssets`, `_withdrawToVault`, and swap min-outs. This can misprice shares, mint fees on phantom gains, or cause withdrawals to under/over-pay or revert unexpectedly.","recommendation":"Validate `answer > 0`, `updatedAt` within a heartbeat, and `answeredInRound >= roundId`; normalize by feed decimals and revert on invalid/stale data.","evidence":"PriceConverter reads `latestRoundData()` and immediately uses `int256` answers without validating them or checking staleness.","locations":["src/steth/PriceConverter.sol:67","src/steth/PriceConverter.sol:83","src/steth/PriceConverter.sol:91"]},{"severity":"medium","category":"access_control","title":"Flashloan callback not restricted to Balancer vault","exploit_scenario":"During an active flashloan, any reentrant external call (e.g., via a swap route or adapter call) can invoke `receiveFlashLoan` with attacker-controlled `userData` because it only checks the `flashLoanInitiated` flag. This bypasses the keeper check and can trigger privileged `_multiCall` actions (swaps, borrows/repays) while the vault is in flashloan mode.","recommendation":"Require `msg.sender == address(balancerVault)` inside `receiveFlashLoan`, and consider binding `userData` to expected operations or adding a reentrancy guard around flashloan callbacks.","evidence":"`receiveFlashLoan` only calls `_isFlashLoanInitiated()` and does not validate `msg.sender`; `_onlyKeeperOrFlashLoan` skips keeper checks when `flashLoanInitiated` is true.","locations":["src/steth/scWETHv2.sol:225","src/sc4626.sol:109"]},{"severity":"medium","category":"math","title":"Division-by-zero in `_withdrawToVault` when adapter net assets are zero","exploit_scenario":"If any adapter position has `priceConverter.wstEthToEth(collateral) == debt` (or if `totalInvested_` is zero), `repayPerProtocol = withdrawPerProtocol.mulDivDown(debt, assets)` divides by zero and reverts. This can brick withdrawals exactly when positions approach 100% LTV, trapping user funds.","recommendation":"Skip adapters with `assets == 0` (or `totalInvested_ == 0`), or guard the division and handle zero-asset cases explicitly before computing `repayPerProtocol`.","evidence":"`repayPerProtocol` divides by `assets` without a zero check.","locations":["src/steth/scWETHv2.sol:336","src/steth/scWETHv2.sol:356"]},{"severity":"low","category":"upgradeability","title":"Delegatecall to adapter/swapper trusts upgradeable targets with full storage access","exploit_scenario":"Adapters and the swapper are invoked via `delegatecall`. If any target is upgradeable or controlled by a different admin, a malicious upgrade can overwrite vault storage (roles, balances) and drain funds without changing vault code.","recommendation":"Only use audited, non-upgradeable adapter/swapper implementations; consider code-hash allowlisting or a timelock on `setSwapper`/`addAdapter` changes. If upgradeability is required, isolate with `call` patterns instead of `delegatecall`.","evidence":"Vault uses `functionDelegateCall` to adapter/swapper addresses set by admin.","locations":["src/steth/BaseV2Vault.sol:100","src/steth/BaseV2Vault.sol:183","src/steth/BaseV2Vault.sol:196"]}]}
tokens used
57,640
Metadata
{
    "codex": {
        "ran_at": "2026-01-10T18:39:38.210597+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 31,
        "import_count": 35,
        "first_party_contracts_count": 15
    },
    "summary": "Found 4 issues: missing oracle response validation, flashloan callback not restricted to Balancer, a division-by-zero path in withdrawals, and delegatecall upgradeability risk for adapters/swapper.",
    "raw_final": {
        "summary": "Found 4 issues: missing oracle response validation, flashloan callback not restricted to Balancer, a division-by-zero path in withdrawals, and delegatecall upgradeability risk for adapters/swapper.",
        "findings": [
            {
                "title": "Chainlink price feeds used without freshness/positivity checks",
                "category": "oracle",
                "evidence": "PriceConverter reads `latestRoundData()` and immediately uses `int256` answers without validating them or checking staleness.",
                "severity": "medium",
                "locations": [
                    "src/steth/PriceConverter.sol:67",
                    "src/steth/PriceConverter.sol:83",
                    "src/steth/PriceConverter.sol:91"
                ],
                "recommendation": "Validate `answer > 0`, `updatedAt` within a heartbeat, and `answeredInRound >= roundId`; normalize by feed decimals and revert on invalid/stale data.",
                "exploit_scenario": "If a price feed returns stale/zero/negative data (oracle outage or manipulation), the cast to uint256 skews conversions used for `totalAssets`, `_withdrawToVault`, and swap min-outs. This can misprice shares, mint fees on phantom gains, or cause withdrawals to under/over-pay or revert unexpectedly."
            },
            {
                "title": "Flashloan callback not restricted to Balancer vault",
                "category": "access_control",
                "evidence": "`receiveFlashLoan` only calls `_isFlashLoanInitiated()` and does not validate `msg.sender`; `_onlyKeeperOrFlashLoan` skips keeper checks when `flashLoanInitiated` is true.",
                "severity": "medium",
                "locations": [
                    "src/steth/scWETHv2.sol:225",
                    "src/sc4626.sol:109"
                ],
                "recommendation": "Require `msg.sender == address(balancerVault)` inside `receiveFlashLoan`, and consider binding `userData` to expected operations or adding a reentrancy guard around flashloan callbacks.",
                "exploit_scenario": "During an active flashloan, any reentrant external call (e.g., via a swap route or adapter call) can invoke `receiveFlashLoan` with attacker-controlled `userData` because it only checks the `flashLoanInitiated` flag. This bypasses the keeper check and can trigger privileged `_multiCall` actions (swaps, borrows/repays) while the vault is in flashloan mode."
            },
            {
                "title": "Division-by-zero in `_withdrawToVault` when adapter net assets are zero",
                "category": "math",
                "evidence": "`repayPerProtocol` divides by `assets` without a zero check.",
                "severity": "medium",
                "locations": [
                    "src/steth/scWETHv2.sol:336",
                    "src/steth/scWETHv2.sol:356"
                ],
                "recommendation": "Skip adapters with `assets == 0` (or `totalInvested_ == 0`), or guard the division and handle zero-asset cases explicitly before computing `repayPerProtocol`.",
                "exploit_scenario": "If any adapter position has `priceConverter.wstEthToEth(collateral) == debt` (or if `totalInvested_` is zero), `repayPerProtocol = withdrawPerProtocol.mulDivDown(debt, assets)` divides by zero and reverts. This can brick withdrawals exactly when positions approach 100% LTV, trapping user funds."
            },
            {
                "title": "Delegatecall to adapter/swapper trusts upgradeable targets with full storage access",
                "category": "upgradeability",
                "evidence": "Vault uses `functionDelegateCall` to adapter/swapper addresses set by admin.",
                "severity": "low",
                "locations": [
                    "src/steth/BaseV2Vault.sol:100",
                    "src/steth/BaseV2Vault.sol:183",
                    "src/steth/BaseV2Vault.sol:196"
                ],
                "recommendation": "Only use audited, non-upgradeable adapter/swapper implementations; consider code-hash allowlisting or a timelock on `setSwapper`/`addAdapter` changes. If upgradeability is required, isolate with `call` patterns instead of `delegatecall`.",
                "exploit_scenario": "Adapters and the swapper are invoked via `delegatecall`. If any target is upgradeable or controlled by a different admin, a malicious upgrade can overwrite vault storage (roles, balances) and drain funds without changing vault code."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
1
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
27
EXT*/BALANCE
3
Total opcodes
11693
Flags
delegatecall_present call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x04ba
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x8d60cded
00000019: GT
0000001a: PUSH2 0x0279
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xc63d75b6
00000024: GT
00000025: PUSH2 0x015e
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xd505accf
0000002f: GT
00000030: PUSH2 0x00d6
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xef8b30f7
0000003a: GT
0000003b: PUSH2 0x008a
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xf0f44260
00000045: GT
00000046: PUSH2 0x006f
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xf0f44260
00000050: EQ
00000051: PUSH2 0x0e96
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xf340fa01
0000005b: EQ
0000005c: PUSH2 0x0eb6
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0xfc7b9c18
00000066: EQ
00000067: PUSH2 0x0ec9
0000006a: JUMPI
0000006b: PUSH1 0x00
0000006d: DUP1
0000006e: REVERT
0000006f: JUMPDEST
00000070: DUP1
00000071: PUSH4 0xef8b30f7
00000076: EQ
00000077: PUSH2 0x0e56
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xf04f2707
00000081: EQ
00000082: PUSH2 0x0e76
00000085: JUMPI
00000086: PUSH1 0x00
00000088: DUP1
00000089: REVERT
0000008a: JUMPDEST
0000008b: DUP1
0000008c: PUSH4 0xd905777e
00000091: GT
00000092: PUSH2 0x00bb
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0xd905777e
0000009c: EQ
0000009d: PUSH2 0x0dbb
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0xdd62ed3e
000000a7: EQ
000000a8: PUSH2 0x0dfe
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0xddeadbb6
000000b2: EQ
000000b3: PUSH2 0x0e36
000000b6: JUMPI
000000b7: PUSH1 0x00
000000b9: DUP1
000000ba: REVERT
000000bb: JUMPDEST
000000bc: DUP1
000000bd: PUSH4 0xd505accf
000000c2: EQ
000000c3: PUSH2 0x0d7b
000000c6: JUMPI
000000c7: DUP1
000000c8: PUSH4 0xd547741f
000000cd: EQ
000000ce: PUSH2 0x0d9b
000000d1: JUMPI
000000d2: PUSH1 0x00
000000d4: DUP1
000000d5: REVERT
000000d6: JUMPDEST
000000d7: DUP1
000000d8: PUSH4 0xc923299a
000000dd: GT
000000de: PUSH2 0x012d
000000e1: JUMPI
000000e2: DUP1
000000e3: PUSH4 0xce8c42e8
000000e8: GT
000000e9: PUSH2 0x0112
000000ec: JUMPI
000000ed: DUP1
000000ee: PUSH4 0xce8c42e8
000000f3: EQ
000000f4: PUSH2 0x0d25
000000f7: JUMPI
000000f8: DUP1
000000f9: PUSH4 0xce96cb77
000000fe: EQ
000000ff: PUSH2 0x0d45
00000102: JUMPI
00000103: DUP1
00000104: PUSH4 0xd03153aa
00000109: EQ
0000010a: PUSH2 0x0d65
0000010d: JUMPI
0000010e: PUSH1 0x00
00000110: DUP1
00000111: REVERT
00000112: JUMPDEST
00000113: DUP1
00000114: PUSH4 0xc923299a
00000119: EQ
0000011a: PUSH2 0x0ce5
0000011d: JUMPI
0000011e: DUP1
0000011f: PUSH4 0xc9dd1f3c
00000124: EQ
00000125: PUSH2 0x0d05
00000128: JUMPI
00000129: PUSH1 0x00
0000012b: DUP1
0000012c: REVERT
0000012d: JUMPDEST
0000012e: DUP1
0000012f: PUSH4 0xc63d75b6
00000134: EQ
00000135: PUSH2 0x0805
00000138: JUMPI
00000139: DUP1
0000013a: PUSH4 0xc6e6f592
0000013f: EQ
00000140: PUSH2 0x0c85
00000143: JUMPI
00000144: DUP1
00000145: PUSH4 0xc7e106d8
0000014a: EQ
0000014b: PUSH2 0x0ca5
0000014e: JUMPI
0000014f: DUP1
00000150: PUSH4 0xc8b28776
00000155: EQ
00000156: PUSH2 0x0cc5
00000159: JUMPI
0000015a: PUSH1 0x00
0000015c: DUP1
0000015d: REVERT
0000015e: JUMPDEST
0000015f: DUP1
00000160: PUSH4 0x9ef00906
00000165: GT
00000166: PUSH2 0x01f1
00000169: JUMPI
0000016a: DUP1
0000016b: PUSH4 0xb460af94
00000170: GT
00000171: PUSH2 0x01c0
00000174: JUMPI
00000175: DUP1
00000176: PUSH4 0xb9385510
0000017b: GT
0000017c: PUSH2 0x01a5
0000017f: JUMPI
00000180: DUP1
00000181: PUSH4 0xb9385510
00000186: EQ
00000187: PUSH2 0x0c1b
0000018a: JUMPI
0000018b: DUP1
0000018c: PUSH4 0xba087652
00000191: EQ
00000192: PUSH2 0x0c4f
00000195: JUMPI
00000196: DUP1
00000197: PUSH4 0xc2458234
0000019c: EQ
0000019d: PUSH2 0x0c6f
000001a0: JUMPI
000001a1: PUSH1 0x00
000001a3: DUP1
000001a4: REVERT
000001a5: JUMPDEST
000001a6: DUP1
000001a7: PUSH4 0xb460af94
000001ac: EQ
000001ad: PUSH2 0x0bb5
000001b0: JUMPI
000001b1: DUP1
000001b2: PUSH4 0xb5af090f
000001b7: EQ
000001b8: PUSH2 0x0bd5
000001bb: JUMPI
000001bc: PUSH1 0x00
000001be: DUP1
000001bf: REVERT
000001c0: JUMPDEST
000001c1: DUP1
000001c2: PUSH4 0x9ef00906
000001c7: EQ
000001c8: PUSH2 0x0b40
000001cb: JUMPI
000001cc: DUP1
000001cd: PUSH4 0xa217fddf
000001d2: EQ
000001d3: PUSH2 0x0b60
000001d6: JUMPI
000001d7: DUP1
000001d8: PUSH4 0xa9059cbb
000001dd: EQ
000001de: PUSH2 0x0b75
000001e1: JUMPI
000001e2: DUP1
000001e3: PUSH4 0xb3d7f6b9
000001e8: EQ
000001e9: PUSH2 0x0b95
000001ec: JUMPI
000001ed: PUSH1 0x00
000001ef: DUP1
000001f0: REVERT
000001f1: JUMPDEST
000001f2: DUP1
000001f3: PUSH4 0x94bf804d
000001f8: GT
000001f9: PUSH2 0x0248
000001fc: JUMPI
000001fd: DUP1
000001fe: PUSH4 0x9c82f2a4
00000203: GT
00000204: PUSH2 0x022d
00000207: JUMPI
00000208: DUP1
00000209: PUSH4 0x9c82f2a4
0000020e: EQ
0000020f: PUSH2 0x0ae0
00000212: JUMPI
00000213: DUP1
00000214: PUSH4 0x9ceffcde
00000219: EQ
0000021a: PUSH2 0x0b00
0000021d: JUMPI
0000021e: DUP1
0000021f: PUSH4 0x9e507673
00000224: EQ
00000225: PUSH2 0x0b20
00000228: JUMPI
00000229: PUSH1 0x00
0000022b: DUP1
0000022c: REVERT
0000022d: JUMPDEST
0000022e: DUP1
0000022f: PUSH4 0x94bf804d
00000234: EQ
00000235: PUSH2 0x0aab
00000238: JUMPI
00000239: DUP1
0000023a: PUSH4 0x95d89b41
0000023f: EQ
00000240: PUSH2 0x0acb
00000243: JUMPI
00000244: PUSH1 0x00
00000246: DUP1
00000247: REVERT
00000248: JUMPDEST
00000249: DUP1
0000024a: PUSH4 0x8d60cded
0000024f: EQ
00000250: PUSH2 0x09f8
00000253: JUMPI
00000254: DUP1
00000255: PUSH4 0x902d14a0
0000025a: EQ
0000025b: PUSH2 0x0a18
0000025e: JUMPI
0000025f: DUP1
00000260: PUSH4 0x91d14854
00000265: EQ
00000266: PUSH2 0x0a38
00000269: JUMPI
0000026a: DUP1
0000026b: PUSH4 0x9356966d
00000270: EQ
00000271: PUSH2 0x0a8b
00000274: JUMPI
00000275: PUSH1 0x00
00000277: DUP1
00000278: REVERT
00000279: JUMPDEST
0000027a: DUP1
0000027b: PUSH4 0x364bc15a
00000280: GT
00000281: PUSH2 0x039f
00000284: JUMPI
00000285: DUP1
00000286: PUSH4 0x60d54d41
0000028b: GT
0000028c: PUSH2 0x0317
0000028f: JUMPI
00000290: DUP1
00000291: PUSH4 0x70897b23
00000296: GT
00000297: PUSH2 0x02e6
0000029a: JUMPI
0000029b: DUP1
0000029c: PUSH4 0x7ecebe00
000002a1: GT
000002a2: PUSH2 0x02cb
000002a5: JUMPI
000002a6: DUP1
000002a7: PUSH4 0x7ecebe00
000002ac: EQ
000002ad: PUSH2 0x099f
000002b0: JUMPI
000002b1: DUP1
000002b2: PUSH4 0x86001519
000002b7: EQ
000002b8: PUSH2 0x09cc
000002bb: JUMPI
000002bc: DUP1
000002bd: PUSH4 0x87788782
000002c2: EQ
000002c3: PUSH2 0x09e2
000002c6: JUMPI
000002c7: PUSH1 0x00
000002c9: DUP1
000002ca: REVERT
000002cb: JUMPDEST
000002cc: DUP1
000002cd: PUSH4 0x70897b23
000002d2: EQ
000002d3: PUSH2 0x0952
000002d6: JUMPI
000002d7: DUP1
000002d8: PUSH4 0x70a08231
000002dd: EQ
000002de: PUSH2 0x0972
000002e1: JUMPI
000002e2: PUSH1 0x00
000002e4: DUP1
000002e5: REVERT
000002e6: JUMPDEST
000002e7: DUP1
000002e8: PUSH4 0x60d54d41
000002ed: EQ
000002ee: PUSH2 0x08c6
000002f1: JUMPI
000002f2: DUP1
000002f3: PUSH4 0x61d027b3
000002f8: EQ
000002f9: PUSH2 0x08e6
000002fc: JUMPI
000002fd: DUP1
000002fe: PUSH4 0x6457f755
00000303: EQ
00000304: PUSH2 0x0918
00000307: JUMPI
00000308: DUP1
00000309: PUSH4 0x6e553f65
0000030e: EQ
0000030f: PUSH2 0x0932
00000312: JUMPI
00000313: PUSH1 0x00
00000315: DUP1
00000316: REVERT
00000317: JUMPDEST
00000318: DUP1
00000319: PUSH4 0x4ac8eb5f
0000031e: GT
0000031f: PUSH2 0x036e
00000322: JUMPI
00000323: DUP1
00000324: PUSH4 0x5216aeec
00000329: GT
0000032a: PUSH2 0x0353
0000032d: JUMPI
0000032e: DUP1
0000032f: PUSH4 0x5216aeec
00000334: EQ
00000335: PUSH2 0x087a
00000338: JUMPI
00000339: DUP1
0000033a: PUSH4 0x549dd8c3
0000033f: EQ
00000340: PUSH2 0x0890
00000343: JUMPI
00000344: DUP1
00000345: PUSH4 0x5892457d
0000034a: EQ
0000034b: PUSH2 0x08b0
0000034e: JUMPI
0000034f: PUSH1 0x00
00000351: DUP1
00000352: REVERT
00000353: JUMPDEST
00000354: DUP1
00000355: PUSH4 0x4ac8eb5f
0000035a: EQ
0000035b: PUSH2 0x0845
0000035e: JUMPI
0000035f: DUP1
00000360: PUSH4 0x4cdad506
00000365: EQ
00000366: PUSH2 0x085a
00000369: JUMPI
0000036a: PUSH1 0x00
0000036c: DUP1
0000036d: REVERT
0000036e: JUMPDEST
0000036f: DUP1
00000370: PUSH4 0x364bc15a
00000375: EQ
00000376: PUSH2 0x077d
00000379: JUMPI
0000037a: DUP1
0000037b: PUSH4 0x36568abe
00000380: EQ
00000381: PUSH2 0x07b1
00000384: JUMPI
00000385: DUP1
00000386: PUSH4 0x38d52e0f
0000038b: EQ
0000038c: PUSH2 0x07d1
0000038f: JUMPI
00000390: DUP1
00000391: PUSH4 0x402d267d
00000396: EQ
00000397: PUSH2 0x0805
0000039a: JUMPI
0000039b: PUSH1 0x00
0000039d: DUP1
0000039e: REVERT
0000039f: JUMPDEST
000003a0: DUP1
000003a1: PUSH4 0x18160ddd
000003a6: GT
000003a7: PUSH2 0x0432
000003aa: JUMPI
000003ab: DUP1
000003ac: PUSH4 0x2b3297f9
000003b1: GT
000003b2: PUSH2 0x0401
000003b5: JUMPI
000003b6: DUP1
000003b7: PUSH4 0x2f2ff15d
000003bc: GT
000003bd: PUSH2 0x03e6
000003c0: JUMPI
000003c1: DUP1
000003c2: PUSH4 0x2f2ff15d
000003c7: EQ
000003c8: PUSH2 0x0702
000003cb: JUMPI
000003cc: DUP1
000003cd: PUSH4 0x313ce567
000003d2: EQ
000003d3: PUSH2 0x0722
000003d6: JUMPI
000003d7: DUP1
000003d8: PUSH4 0x3644e515
000003dd: EQ
000003de: PUSH2 0x0768
000003e1: JUMPI
000003e2: PUSH1 0x00
000003e4: DUP1
000003e5: REVERT
000003e6: JUMPDEST
000003e7: DUP1
000003e8: PUSH4 0x2b3297f9
000003ed: EQ
000003ee: PUSH2 0x06b5
000003f1: JUMPI
000003f2: DUP1
000003f3: PUSH4 0x2e2ddd45
000003f8: EQ
000003f9: PUSH2 0x06e2
000003fc: JUMPI
000003fd: PUSH1 0x00
000003ff: DUP1
00000400: REVERT
00000401: JUMPDEST
00000402: DUP1
00000403: PUSH4 0x18160ddd
00000408: EQ
00000409: PUSH2 0x062f
0000040c: JUMPI
0000040d: DUP1
0000040e: PUSH4 0x23b872dd
00000413: EQ
00000414: PUSH2 0x0645
00000417: JUMPI
00000418: DUP1
00000419: PUSH4 0x248a9ca3
0000041e: EQ
0000041f: PUSH2 0x0665
00000422: JUMPI
00000423: DUP1
00000424: PUSH4 0x2a62a490
00000429: EQ
0000042a: PUSH2 0x0695
0000042d: JUMPI
0000042e: PUSH1 0x00
00000430: DUP1
00000431: REVERT
00000432: JUMPDEST
00000433: DUP1
00000434: PUSH4 0x095ea7b3
00000439: GT
0000043a: PUSH2 0x0489
0000043d: JUMPI
0000043e: DUP1
0000043f: PUSH4 0x0e567c81
00000444: GT
00000445: PUSH2 0x046e
00000448: JUMPI
00000449: DUP1
0000044a: PUSH4 0x0e567c81
0000044f: EQ
00000450: PUSH2 0x05a0
00000453: JUMPI
00000454: DUP1
00000455: PUSH4 0x117da1ee
0000045a: EQ
0000045b: PUSH2 0x05c2
0000045e: JUMPI
0000045f: DUP1
00000460: PUSH4 0x158274a5
00000465: EQ
00000466: PUSH2 0x05e2
00000469: JUMPI
0000046a: PUSH1 0x00
0000046c: DUP1
0000046d: REVERT
0000046e: JUMPDEST
0000046f: DUP1
00000470: PUSH4 0x095ea7b3
00000475: EQ
00000476: PUSH2 0x0560
00000479: JUMPI
0000047a: DUP1
0000047b: PUSH4 0x0a28a477
00000480: EQ
00000481: PUSH2 0x0580
00000484: JUMPI
00000485: PUSH1 0x00
00000487: DUP1
00000488: REVERT
00000489: JUMPDEST
0000048a: DUP1
0000048b: PUSH4 0x01e1d114
00000490: EQ
00000491: PUSH2 0x04c6
00000494: JUMPI
00000495: DUP1
00000496: PUSH4 0x01ffc9a7
0000049b: EQ
0000049c: PUSH2 0x04ee
0000049f: JUMPI
000004a0: DUP1
000004a1: PUSH4 0x06fdde03
000004a6: EQ
000004a7: PUSH2 0x051e
000004aa: JUMPI
000004ab: DUP1
000004ac: PUSH4 0x07a2d13a
000004b1: EQ
000004b2: PUSH2 0x0540
000004b5: JUMPI
000004b6: PUSH1 0x00
000004b8: DUP1
000004b9: REVERT
000004ba: JUMPDEST
000004bb: CALLDATASIZE
000004bc: PUSH2 0x04c1
000004bf: JUMPI
000004c0: STOP
000004c1: JUMPDEST
000004c2: PUSH1 0x00
000004c4: DUP1
000004c5: REVERT
000004c6: JUMPDEST
000004c7: CALLVALUE
000004c8: DUP1
000004c9: ISZERO
000004ca: PUSH2 0x04d2
000004cd: JUMPI
000004ce: PUSH1 0x00
000004d0: DUP1
000004d1: REVERT
000004d2: JUMPDEST
000004d3: POP
000004d4: PUSH2 0x04db
000004d7: PUSH2 0x0ede
000004da: JUMP
000004db: JUMPDEST
000004dc: PUSH1 0x40
000004de: MLOAD
000004df: SWAP1
000004e0: DUP2
000004e1: MSTORE
000004e2: PUSH1 0x20
000004e4: ADD
000004e5: JUMPDEST
000004e6: PUSH1 0x40
000004e8: MLOAD
000004e9: DUP1
000004ea: SWAP2
000004eb: SUB
000004ec: SWAP1
000004ed: RETURN
000004ee: JUMPDEST
000004ef: CALLVALUE
000004f0: DUP1
000004f1: ISZERO
000004f2: PUSH2 0x04fa
000004f5: JUMPI
000004f6: PUSH1 0x00
000004f8: DUP1
000004f9: REVERT
000004fa: JUMPDEST
000004fb: POP
000004fc: PUSH2 0x050e
000004ff: PUSH2 0x0509
00000502: CALLDATASIZE
00000503: PUSH1 0x04
00000505: PUSH2 0x504c
00000508: JUMP
00000509: JUMPDEST
0000050a: PUSH2 0x0fbc
0000050d: JUMP
0000050e: JUMPDEST
0000050f: PUSH1 0x40
00000511: MLOAD
00000512: SWAP1
00000513: ISZERO
00000514: ISZERO
00000515: DUP2
00000516: MSTORE
00000517: PUSH1 0x20
00000519: ADD
0000051a: PUSH2 0x04e5
0000051d: JUMP
0000051e: JUMPDEST
0000051f: CALLVALUE
00000520: DUP1
00000521: ISZERO
00000522: PUSH2 0x052a
00000525: JUMPI
00000526: PUSH1 0x00
00000528: DUP1
00000529: REVERT
0000052a: JUMPDEST
0000052b: POP
0000052c: PUSH2 0x0533
0000052f: PUSH2 0x1055
00000532: JUMP
00000533: JUMPDEST
00000534: PUSH1 0x40
00000536: MLOAD
00000537: PUSH2 0x04e5
0000053a: SWAP2
0000053b: SWAP1
0000053c: PUSH2 0x50fc
0000053f: JUMP
00000540: JUMPDEST
00000541: CALLVALUE
00000542: DUP1
00000543: ISZERO
00000544: PUSH2 0x054c
00000547: JUMPI
00000548: PUSH1 0x00
0000054a: DUP1
0000054b: REVERT
0000054c: JUMPDEST
0000054d: POP
0000054e: PUSH2 0x04db
00000551: PUSH2 0x055b
00000554: CALLDATASIZE
00000555: PUSH1 0x04
00000557: PUSH2 0x510f
0000055a: JUMP
0000055b: JUMPDEST
0000055c: PUSH2 0x10e3
0000055f: JUMP
00000560: JUMPDEST
00000561: CALLVALUE
00000562: DUP1
00000563: ISZERO
00000564: PUSH2 0x056c
00000567: JUMPI
00000568: PUSH1 0x00
0000056a: DUP1
0000056b: REVERT
0000056c: JUMPDEST
0000056d: POP
0000056e: PUSH2 0x050e
00000571: PUSH2 0x057b
00000574: CALLDATASIZE
00000575: PUSH1 0x04
00000577: PUSH2 0x514a
0000057a: JUMP
0000057b: JUMPDEST
0000057c: PUSH2 0x1110
0000057f: JUMP
00000580: JUMPDEST
00000581: CALLVALUE
00000582: DUP1
00000583: ISZERO
00000584: PUSH2 0x058c
00000587: JUMPI
00000588: PUSH1 0x00
0000058a: DUP1
0000058b: REVERT
0000058c: JUMPDEST
0000058d: POP
0000058e: PUSH2 0x04db
00000591: PUSH2 0x059b
00000594: CALLDATASIZE
00000595: PUSH1 0x04
00000597: PUSH2 0x510f
0000059a: JUMP
0000059b: JUMPDEST
0000059c: PUSH2 0x1189
0000059f: JUMP
000005a0: JUMPDEST
000005a1: CALLVALUE
000005a2: DUP1
000005a3: ISZERO
000005a4: PUSH2 0x05ac
000005a7: JUMPI
000005a8: PUSH1 0x00
000005aa: DUP1
000005ab: REVERT
000005ac: JUMPDEST
000005ad: POP
000005ae: PUSH2 0x05c0
000005b1: PUSH2 0x05bb
000005b4: CALLDATASIZE
000005b5: PUSH1 0x04
000005b7: PUSH2 0x510f
000005ba: JUMP
000005bb: JUMPDEST
000005bc: PUSH2 0x11a9
000005bf: JUMP
000005c0: JUMPDEST
000005c1: STOP
000005c2: JUMPDEST
000005c3: CALLVALUE
000005c4: DUP1
000005c5: ISZERO
000005c6: PUSH2 0x05ce
000005c9: JUMPI
000005ca: PUSH1 0x00
000005cc: DUP1
000005cd: REVERT
000005ce: JUMPDEST
000005cf: POP
000005d0: PUSH2 0x05c0
000005d3: PUSH2 0x05dd
000005d6: CALLDATASIZE
000005d7: PUSH1 0x04
000005d9: PUSH2 0x510f
000005dc: JUMP
000005dd: JUMPDEST
000005de: PUSH2 0x1285
000005e1: JUMP
000005e2: JUMPDEST
000005e3: CALLVALUE
000005e4: DUP1
000005e5: ISZERO
000005e6: PUSH2 0x05ee
000005e9: JUMPI
000005ea: PUSH1 0x00
000005ec: DUP1
000005ed: REVERT
000005ee: JUMPDEST
000005ef: POP
000005f0: PUSH2 0x060a
000005f3: PUSH20 0xba12222222228d8ba445958a75a0704d566bf2c8
00000608: DUP2
00000609: JUMP
0000060a: JUMPDEST
0000060b: PUSH1 0x40
0000060d: MLOAD
0000060e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000623: SWAP1
00000624: SWAP2
00000625: AND
00000626: DUP2
00000627: MSTORE
00000628: PUSH1 0x20
0000062a: ADD
0000062b: PUSH2 0x04e5
0000062e: JUMP
0000062f: JUMPDEST
00000630: CALLVALUE
00000631: DUP1
00000632: ISZERO
00000633: PUSH2 0x063b
00000636: JUMPI
00000637: PUSH1 0x00
00000639: DUP1
0000063a: REVERT
0000063b: JUMPDEST
0000063c: POP
0000063d: PUSH2 0x04db
00000640: PUSH1 0x02
00000642: SLOAD
00000643: DUP2
00000644: JUMP
00000645: JUMPDEST
00000646: CALLVALUE
00000647: DUP1
00000648: ISZERO
00000649: PUSH2 0x0651
0000064c: JUMPI
0000064d: PUSH1 0x00
0000064f: DUP1
00000650: REVERT
00000651: JUMPDEST
00000652: POP
00000653: PUSH2 0x050e
00000656: PUSH2 0x0660
00000659: CALLDATASIZE
0000065a: PUSH1 0x04
0000065c: PUSH2 0x5176
0000065f: JUMP
00000660: JUMPDEST
00000661: PUSH2 0x130d
00000664: JUMP
00000665: JUMPDEST
00000666: CALLVALUE
00000667: DUP1
00000668: ISZERO
00000669: PUSH2 0x0671
0000066c: JUMPI
0000066d: PUSH1 0x00
0000066f: DUP1
00000670: REVERT
00000671: JUMPDEST
00000672: POP
00000673: PUSH2 0x04db
00000676: PUSH2 0x0680
00000679: CALLDATASIZE
0000067a: PUSH1 0x04
0000067c: PUSH2 0x510f
0000067f: JUMP
00000680: JUMPDEST
00000681: PUSH1 0x00
00000683: SWAP1
00000684: DUP2
00000685: MSTORE
00000686: PUSH1 0x06
00000688: PUSH1 0x20
0000068a: MSTORE
0000068b: PUSH1 0x40
0000068d: SWAP1
0000068e: KECCAK256
0000068f: PUSH1 0x01
00000691: ADD
00000692: SLOAD
00000693: SWAP1
00000694: JUMP
00000695: JUMPDEST
00000696: CALLVALUE
00000697: DUP1
00000698: ISZERO
00000699: PUSH2 0x06a1
0000069c: JUMPI
0000069d: PUSH1 0x00
0000069f: DUP1
000006a0: REVERT
000006a1: JUMPDEST
000006a2: POP
000006a3: PUSH2 0x04db
000006a6: PUSH2 0x06b0
000006a9: CALLDATASIZE
000006aa: PUSH1 0x04
000006ac: PUSH2 0x510f
000006af: JUMP
000006b0: JUMPDEST
000006b1: PUSH2 0x1451
000006b4: JUMP
000006b5: JUMPDEST
000006b6: CALLVALUE
000006b7: DUP1
000006b8: ISZERO
000006b9: PUSH2 0x06c1
000006bc: JUMPI
000006bd: PUSH1 0x00
000006bf: DUP1
000006c0: REVERT
000006c1: JUMPDEST
000006c2: POP
000006c3: PUSH1 0x0b
000006c5: SLOAD
000006c6: PUSH2 0x060a
000006c9: SWAP1
000006ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006df: AND
000006e0: DUP2
000006e1: JUMP
000006e2: JUMPDEST
000006e3: CALLVALUE
000006e4: DUP1
000006e5: ISZERO
000006e6: PUSH2 0x06ee
000006e9: JUMPI
000006ea: PUSH1 0x00
000006ec: DUP1
000006ed: REVERT
000006ee: JUMPDEST
000006ef: POP
000006f0: PUSH2 0x05c0
000006f3: PUSH2 0x06fd
000006f6: CALLDATASIZE
000006f7: PUSH1 0x04
000006f9: PUSH2 0x51b7
000006fc: JUMP
000006fd: JUMPDEST
000006fe: PUSH2 0x1504
00000701: JUMP
00000702: JUMPDEST
00000703: CALLVALUE
00000704: DUP1
00000705: ISZERO
00000706: PUSH2 0x070e
00000709: JUMPI
0000070a: PUSH1 0x00
0000070c: DUP1
0000070d: REVERT
0000070e: JUMPDEST
0000070f: POP
00000710: PUSH2 0x05c0
00000713: PUSH2 0x071d
00000716: CALLDATASIZE
00000717: PUSH1 0x04
00000719: PUSH2 0x51e3
0000071c: JUMP
0000071d: JUMPDEST
0000071e: PUSH2 0x1623
00000721: JUMP
00000722: JUMPDEST
00000723: CALLVALUE
00000724: DUP1
00000725: ISZERO
00000726: PUSH2 0x072e
00000729: JUMPI
0000072a: PUSH1 0x00
0000072c: DUP1
0000072d: REVERT
0000072e: JUMPDEST
0000072f: POP
00000730: PUSH2 0x0756
00000733: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000012
00000754: DUP2
00000755: JUMP
00000756: JUMPDEST
00000757: PUSH1 0x40
00000759: MLOAD
0000075a: PUSH1 0xff
0000075c: SWAP1
0000075d: SWAP2
0000075e: AND
0000075f: DUP2
00000760: MSTORE
00000761: PUSH1 0x20
00000763: ADD
00000764: PUSH2 0x04e5
00000767: JUMP
00000768: JUMPDEST
00000769: CALLVALUE
0000076a: DUP1
0000076b: ISZERO
0000076c: PUSH2 0x0774
0000076f: JUMPI
00000770: PUSH1 0x00
00000772: DUP1
00000773: REVERT
00000774: JUMPDEST
00000775: POP
00000776: PUSH2 0x04db
00000779: PUSH2 0x164d
0000077c: JUMP
0000077d: JUMPDEST
0000077e: CALLVALUE
0000077f: DUP1
00000780: ISZERO
00000781: PUSH2 0x0789
00000784: JUMPI
00000785: PUSH1 0x00
00000787: DUP1
00000788: REVERT
00000789: JUMPDEST
0000078a: POP
0000078b: PUSH2 0x04db
0000078e: PUSH32 0xfc8737ab85eb45125971625a9ebdb75cc78e01d5c1fa80c4c6e5203f47bc4fab
000007af: DUP2
000007b0: JUMP
000007b1: JUMPDEST
000007b2: CALLVALUE
000007b3: DUP1
000007b4: ISZERO
000007b5: PUSH2 0x07bd
000007b8: JUMPI
000007b9: PUSH1 0x00
000007bb: DUP1
000007bc: REVERT
000007bd: JUMPDEST
000007be: POP
000007bf: PUSH2 0x05c0
000007c2: PUSH2 0x07cc
000007c5: CALLDATASIZE
000007c6: PUSH1 0x04
000007c8: PUSH2 0x51e3
000007cb: JUMP
000007cc: JUMPDEST
000007cd: PUSH2 0x16a3
000007d0: JUMP
000007d1: JUMPDEST
000007d2: CALLVALUE
000007d3: DUP1
000007d4: ISZERO
000007d5: PUSH2 0x07dd
000007d8: JUMPI
000007d9: PUSH1 0x00
000007db: DUP1
000007dc: REVERT
000007dd: JUMPDEST
000007de: POP
000007df: PUSH2 0x060a
000007e2: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000803: DUP2
00000804: JUMP
00000805: JUMPDEST
00000806: CALLVALUE
00000807: DUP1
00000808: ISZERO
00000809: PUSH2 0x0811
0000080c: JUMPI
0000080d: PUSH1 0x00
0000080f: DUP1
00000810: REVERT
00000811: JUMPDEST
00000812: POP
00000813: PUSH2 0x04db
00000816: PUSH2 0x0820
00000819: CALLDATASIZE
0000081a: PUSH1 0x04
0000081c: PUSH2 0x5213
0000081f: JUMP
00000820: JUMPDEST
00000821: POP
00000822: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00000843: SWAP1
00000844: JUMP
00000845: JUMPDEST
00000846: CALLVALUE
00000847: DUP1
00000848: ISZERO
00000849: PUSH2 0x0851
0000084c: JUMPI
0000084d: PUSH1 0x00
0000084f: DUP1
00000850: REVERT
00000851: JUMPDEST
00000852: POP
00000853: PUSH2 0x04db
00000856: PUSH2 0x1757
00000859: JUMP
0000085a: JUMPDEST
0000085b: CALLVALUE
0000085c: DUP1
0000085d: ISZERO
0000085e: PUSH2 0x0866
00000861: JUMPI
00000862: PUSH1 0x00
00000864: DUP1
00000865: REVERT
00000866: JUMPDEST
00000867: POP
00000868: PUSH2 0x04db
0000086b: PUSH2 0x0875
0000086e: CALLDATASIZE
0000086f: PUSH1 0x04
00000871: PUSH2 0x510f
00000874: JUMP
00000875: JUMPDEST
00000876: PUSH2 0x1833
00000879: JUMP
0000087a: JUMPDEST
0000087b: CALLVALUE
0000087c: DUP1
0000087d: ISZERO
0000087e: PUSH2 0x0886
00000881: JUMPI
00000882: PUSH1 0x00
00000884: DUP1
00000885: REVERT
00000886: JUMPDEST
00000887: POP
00000888: PUSH2 0x04db
0000088b: PUSH1 0x10
0000088d: SLOAD
0000088e: DUP2
0000088f: JUMP
00000890: JUMPDEST
00000891: CALLVALUE
00000892: DUP1
00000893: ISZERO
00000894: PUSH2 0x089c
00000897: JUMPI
00000898: PUSH1 0x00
0000089a: DUP1
0000089b: REVERT
0000089c: JUMPDEST
0000089d: POP
0000089e: PUSH2 0x05c0
000008a1: PUSH2 0x08ab
000008a4: CALLDATASIZE
000008a5: PUSH1 0x04
000008a7: PUSH2 0x5272
000008aa: JUMP
000008ab: JUMPDEST
000008ac: PUSH2 0x183e
000008af: JUMP
000008b0: JUMPDEST
000008b1: CALLVALUE
000008b2: DUP1
000008b3: ISZERO
000008b4: PUSH2 0x08bc
000008b7: JUMPI
000008b8: PUSH1 0x00
000008ba: DUP1
000008bb: REVERT
000008bc: JUMPDEST
000008bd: POP
000008be: PUSH2 0x04db
000008c1: PUSH1 0x09
000008c3: SLOAD
000008c4: DUP2
000008c5: JUMP
000008c6: JUMPDEST
000008c7: CALLVALUE
000008c8: DUP1
000008c9: ISZERO
000008ca: PUSH2 0x08d2
000008cd: JUMPI
000008ce: PUSH1 0x00
000008d0: DUP1
000008d1: REVERT
000008d2: JUMPDEST
000008d3: POP
000008d4: PUSH2 0x05c0
000008d7: PUSH2 0x08e1
000008da: CALLDATASIZE
000008db: PUSH1 0x04
000008dd: PUSH2 0x5213
000008e0: JUMP
000008e1: JUMPDEST
000008e2: PUSH2 0x1928
000008e5: JUMP
000008e6: JUMPDEST
000008e7: CALLVALUE
000008e8: DUP1
000008e9: ISZERO
000008ea: PUSH2 0x08f2
000008ed: JUMPI
000008ee: PUSH1 0x00
000008f0: DUP1
000008f1: REVERT
000008f2: JUMPDEST
000008f3: POP
000008f4: PUSH1 0x07
000008f6: SLOAD
000008f7: PUSH2 0x060a
000008fa: SWAP1
000008fb: PUSH2 0x0100
000008fe: SWAP1
000008ff: DIV
00000900: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000915: AND
00000916: DUP2
00000917: JUMP
00000918: JUMPDEST
00000919: CALLVALUE
0000091a: DUP1
0000091b: ISZERO
0000091c: PUSH2 0x0924
0000091f: JUMPI
00000920: PUSH1 0x00
00000922: DUP1
00000923: REVERT
00000924: JUMPDEST
00000925: POP
00000926: PUSH1 0x07
00000928: SLOAD
00000929: PUSH2 0x050e
0000092c: SWAP1
0000092d: PUSH1 0xff
0000092f: AND
00000930: DUP2
00000931: JUMP
00000932: JUMPDEST
00000933: CALLVALUE
00000934: DUP1
00000935: ISZERO
00000936: PUSH2 0x093e
00000939: JUMPI
0000093a: PUSH1 0x00
0000093c: DUP1
0000093d: REVERT
0000093e: JUMPDEST
0000093f: POP
00000940: PUSH2 0x04db
00000943: PUSH2 0x094d
00000946: CALLDATASIZE
00000947: PUSH1 0x04
00000949: PUSH2 0x51e3
0000094c: JUMP
0000094d: JUMPDEST
0000094e: PUSH2 0x1ac1
00000951: JUMP
00000952: JUMPDEST
00000953: CALLVALUE
00000954: DUP1
00000955: ISZERO
00000956: PUSH2 0x095e
00000959: JUMPI
0000095a: PUSH1 0x00
0000095c: DUP1
0000095d: REVERT
0000095e: JUMPDEST
0000095f: POP
00000960: PUSH2 0x05c0
00000963: PUSH2 0x096d
00000966: CALLDATASIZE
00000967: PUSH1 0x04
00000969: PUSH2 0x510f
0000096c: JUMP
0000096d: JUMPDEST
0000096e: PUSH2 0x1bdd
00000971: JUMP
00000972: JUMPDEST
00000973: CALLVALUE
00000974: DUP1
00000975: ISZERO
00000976: PUSH2 0x097e
00000979: JUMPI
0000097a: PUSH1 0x00
0000097c: DUP1
0000097d: REVERT
0000097e: JUMPDEST
0000097f: POP
00000980: PUSH2 0x04db
00000983: PUSH2 0x098d
00000986: CALLDATASIZE
00000987: PUSH1 0x04
00000989: PUSH2 0x5213
0000098c: JUMP
0000098d: JUMPDEST
0000098e: PUSH1 0x03
00000990: PUSH1 0x20
00000992: MSTORE
00000993: PUSH1 0x00
00000995: SWAP1
00000996: DUP2
00000997: MSTORE
00000998: PUSH1 0x40
0000099a: SWAP1
0000099b: KECCAK256
0000099c: SLOAD
0000099d: DUP2
0000099e: JUMP
0000099f: JUMPDEST
000009a0: CALLVALUE
000009a1: DUP1
000009a2: ISZERO
000009a3: PUSH2 0x09ab
000009a6: JUMPI
000009a7: PUSH1 0x00
000009a9: DUP1
000009aa: REVERT
000009ab: JUMPDEST
000009ac: POP
000009ad: PUSH2 0x04db
000009b0: PUSH2 0x09ba
000009b3: CALLDATASIZE
000009b4: PUSH1 0x04
000009b6: PUSH2 0x5213
000009b9: JUMP
000009ba: JUMPDEST
000009bb: PUSH1 0x05
000009bd: PUSH1 0x20
000009bf: MSTORE
000009c0: PUSH1 0x00
000009c2: SWAP1
000009c3: DUP2
000009c4: MSTORE
000009c5: PUSH1 0x40
000009c7: SWAP1
000009c8: KECCAK256
000009c9: SLOAD
000009ca: DUP2
000009cb: JUMP
000009cc: JUMPDEST
000009cd: CALLVALUE
000009ce: DUP1
000009cf: ISZERO
000009d0: PUSH2 0x09d8
000009d3: JUMPI
000009d4: PUSH1 0x00
000009d6: DUP1
000009d7: REVERT
000009d8: JUMPDEST
000009d9: POP
000009da: PUSH2 0x04db
000009dd: PUSH1 0x11
000009df: SLOAD
000009e0: DUP2
000009e1: JUMP
000009e2: JUMPDEST
000009e3: CALLVALUE
000009e4: DUP1
000009e5: ISZERO
000009e6: PUSH2 0x09ee
000009e9: JUMPI
000009ea: PUSH1 0x00
000009ec: DUP1
000009ed: REVERT
000009ee: JUMPDEST
000009ef: POP
000009f0: PUSH2 0x04db
000009f3: PUSH1 0x08
000009f5: SLOAD
000009f6: DUP2
000009f7: JUMP
000009f8: JUMPDEST
000009f9: CALLVALUE
000009fa: DUP1
000009fb: ISZERO
000009fc: PUSH2 0x0a04
000009ff: JUMPI
00000a00: PUSH1 0x00
00000a02: DUP1
00000a03: REVERT
00000a04: JUMPDEST
00000a05: POP
00000a06: PUSH2 0x050e
00000a09: PUSH2 0x0a13
00000a0c: CALLDATASIZE
00000a0d: PUSH1 0x04
00000a0f: PUSH2 0x510f
00000a12: JUMP
00000a13: JUMPDEST
00000a14: PUSH2 0x1c5e
00000a17: JUMP
00000a18: JUMPDEST
00000a19: CALLVALUE
00000a1a: DUP1
00000a1b: ISZERO
00000a1c: PUSH2 0x0a24
00000a1f: JUMPI
00000a20: PUSH1 0x00
00000a22: DUP1
00000a23: REVERT
00000a24: JUMPDEST
00000a25: POP
00000a26: PUSH2 0x05c0
00000a29: PUSH2 0x0a33
00000a2c: CALLDATASIZE
00000a2d: PUSH1 0x04
00000a2f: PUSH2 0x510f
00000a32: JUMP
00000a33: JUMPDEST
00000a34: PUSH2 0x1c6b
00000a37: JUMP
00000a38: JUMPDEST
00000a39: CALLVALUE
00000a3a: DUP1
00000a3b: ISZERO
00000a3c: PUSH2 0x0a44
00000a3f: JUMPI
00000a40: PUSH1 0x00
00000a42: DUP1
00000a43: REVERT
00000a44: JUMPDEST
00000a45: POP
00000a46: PUSH2 0x050e
00000a49: PUSH2 0x0a53
00000a4c: CALLDATASIZE
00000a4d: PUSH1 0x04
00000a4f: PUSH2 0x51e3
00000a52: JUMP
00000a53: JUMPDEST
00000a54: PUSH1 0x00
00000a56: SWAP2
00000a57: DUP3
00000a58: MSTORE
00000a59: PUSH1 0x06
00000a5b: PUSH1 0x20
00000a5d: SWAP1
00000a5e: DUP2
00000a5f: MSTORE
00000a60: PUSH1 0x40
00000a62: DUP1
00000a63: DUP5
00000a64: KECCAK256
00000a65: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a7a: SWAP4
00000a7b: SWAP1
00000a7c: SWAP4
00000a7d: AND
00000a7e: DUP5
00000a7f: MSTORE
00000a80: SWAP2
00000a81: SWAP1
00000a82: MSTORE
00000a83: SWAP1
00000a84: KECCAK256
00000a85: SLOAD
00000a86: PUSH1 0xff
00000a88: AND
00000a89: SWAP1
00000a8a: JUMP
00000a8b: JUMPDEST
00000a8c: CALLVALUE
00000a8d: DUP1
00000a8e: ISZERO
00000a8f: PUSH2 0x0a97
00000a92: JUMPI
00000a93: PUSH1 0x00
00000a95: DUP1
00000a96: REVERT
00000a97: JUMPDEST
00000a98: POP
00000a99: PUSH2 0x05c0
00000a9c: PUSH2 0x0aa6
00000a9f: CALLDATASIZE
00000aa0: PUSH1 0x04
00000aa2: PUSH2 0x52be
00000aa5: JUMP
00000aa6: JUMPDEST
00000aa7: PUSH2 0x1caa
00000aaa: JUMP
00000aab: JUMPDEST
00000aac: CALLVALUE
00000aad: DUP1
00000aae: ISZERO
00000aaf: PUSH2 0x0ab7
00000ab2: JUMPI
00000ab3: PUSH1 0x00
00000ab5: DUP1
00000ab6: REVERT
00000ab7: JUMPDEST
00000ab8: POP
00000ab9: PUSH2 0x04db
00000abc: PUSH2 0x0ac6
00000abf: CALLDATASIZE
00000ac0: PUSH1 0x04
00000ac2: PUSH2 0x51e3
00000ac5: JUMP
00000ac6: JUMPDEST
00000ac7: PUSH2 0x1ec6
00000aca: JUMP
00000acb: JUMPDEST
00000acc: CALLVALUE
00000acd: DUP1
00000ace: ISZERO
00000acf: PUSH2 0x0ad7
00000ad2: JUMPI
00000ad3: PUSH1 0x00
00000ad5: DUP1
00000ad6: REVERT
00000ad7: JUMPDEST
00000ad8: POP
00000ad9: PUSH2 0x0533
00000adc: PUSH2 0x1f6f
00000adf: JUMP
00000ae0: JUMPDEST
00000ae1: CALLVALUE
00000ae2: DUP1
00000ae3: ISZERO
00000ae4: PUSH2 0x0aec
00000ae7: JUMPI
00000ae8: PUSH1 0x00
00000aea: DUP1
00000aeb: REVERT
00000aec: JUMPDEST
00000aed: POP
00000aee: PUSH2 0x05c0
00000af1: PUSH2 0x0afb
00000af4: CALLDATASIZE
00000af5: PUSH1 0x04
00000af7: PUSH2 0x5213
00000afa: JUMP
00000afb: JUMPDEST
00000afc: PUSH2 0x1f7c
00000aff: JUMP
00000b00: JUMPDEST
00000b01: CALLVALUE
00000b02: DUP1
00000b03: ISZERO
00000b04: PUSH2 0x0b0c
00000b07: JUMPI
00000b08: PUSH1 0x00
00000b0a: DUP1
00000b0b: REVERT
00000b0c: JUMPDEST
00000b0d: POP
00000b0e: PUSH2 0x05c0
00000b11: PUSH2 0x0b1b
00000b14: CALLDATASIZE
00000b15: PUSH1 0x04
00000b17: PUSH2 0x5356
00000b1a: JUMP
00000b1b: JUMPDEST
00000b1c: PUSH2 0x2046
00000b1f: JUMP
00000b20: JUMPDEST
00000b21: CALLVALUE
00000b22: DUP1
00000b23: ISZERO
00000b24: PUSH2 0x0b2c
00000b27: JUMPI
00000b28: PUSH1 0x00
00000b2a: DUP1
00000b2b: REVERT
00000b2c: JUMPDEST
00000b2d: POP
00000b2e: PUSH2 0x05c0
00000b31: PUSH2 0x0b3b
00000b34: CALLDATASIZE
00000b35: PUSH1 0x04
00000b37: PUSH2 0x5382
00000b3a: JUMP
00000b3b: JUMPDEST
00000b3c: PUSH2 0x21d9
00000b3f: JUMP
00000b40: JUMPDEST
00000b41: CALLVALUE
00000b42: DUP1
00000b43: ISZERO
00000b44: PUSH2 0x0b4c
00000b47: JUMPI
00000b48: PUSH1 0x00
00000b4a: DUP1
00000b4b: REVERT
00000b4c: JUMPDEST
00000b4d: POP
00000b4e: PUSH2 0x05c0
00000b51: PUSH2 0x0b5b
00000b54: CALLDATASIZE
00000b55: PUSH1 0x04
00000b57: PUSH2 0x53a4
00000b5a: JUMP
00000b5b: JUMPDEST
00000b5c: PUSH2 0x2446
00000b5f: JUMP
00000b60: JUMPDEST
00000b61: CALLVALUE
00000b62: DUP1
00000b63: ISZERO
00000b64: PUSH2 0x0b6c
00000b67: JUMPI
00000b68: PUSH1 0x00
00000b6a: DUP1
00000b6b: REVERT
00000b6c: JUMPDEST
00000b6d: POP
00000b6e: PUSH2 0x04db
00000b71: PUSH1 0x00
00000b73: DUP2
00000b74: JUMP
00000b75: JUMPDEST
00000b76: CALLVALUE
00000b77: DUP1
00000b78: ISZERO
00000b79: PUSH2 0x0b81
00000b7c: JUMPI
00000b7d: PUSH1 0x00
00000b7f: DUP1
00000b80: REVERT
00000b81: JUMPDEST
00000b82: POP
00000b83: PUSH2 0x050e
00000b86: PUSH2 0x0b90
00000b89: CALLDATASIZE
00000b8a: PUSH1 0x04
00000b8c: PUSH2 0x514a
00000b8f: JUMP
00000b90: JUMPDEST
00000b91: PUSH2 0x2564
00000b94: JUMP
00000b95: JUMPDEST
00000b96: CALLVALUE
00000b97: DUP1
00000b98: ISZERO
00000b99: PUSH2 0x0ba1
00000b9c: JUMPI
00000b9d: PUSH1 0x00
00000b9f: DUP1
00000ba0: REVERT
00000ba1: JUMPDEST
00000ba2: POP
00000ba3: PUSH2 0x04db
00000ba6: PUSH2 0x0bb0
00000ba9: CALLDATASIZE
00000baa: PUSH1 0x04
00000bac: PUSH2 0x510f
00000baf: JUMP
00000bb0: JUMPDEST
00000bb1: PUSH2 0x25e9
00000bb4: JUMP
00000bb5: JUMPDEST
00000bb6: CALLVALUE
00000bb7: DUP1
00000bb8: ISZERO
00000bb9: PUSH2 0x0bc1
00000bbc: JUMPI
00000bbd: PUSH1 0x00
00000bbf: DUP1
00000bc0: REVERT
00000bc1: JUMPDEST
00000bc2: POP
00000bc3: PUSH2 0x04db
00000bc6: PUSH2 0x0bd0
00000bc9: CALLDATASIZE
00000bca: PUSH1 0x04
00000bcc: PUSH2 0x541f
00000bcf: JUMP
00000bd0: JUMPDEST
00000bd1: PUSH2 0x2608
00000bd4: JUMP
00000bd5: JUMPDEST
00000bd6: CALLVALUE
00000bd7: DUP1
00000bd8: ISZERO
00000bd9: PUSH2 0x0be1
00000bdc: JUMPI
00000bdd: PUSH1 0x00
00000bdf: DUP1
00000be0: REVERT
00000be1: JUMPDEST
00000be2: POP
00000be3: PUSH2 0x050e
00000be6: PUSH2 0x0bf0
00000be9: CALLDATASIZE
00000bea: PUSH1 0x04
00000bec: PUSH2 0x5213
00000bef: JUMP
00000bf0: JUMPDEST
00000bf1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c06: AND
00000c07: PUSH1 0x00
00000c09: SWAP1
00000c0a: DUP2
00000c0b: MSTORE
00000c0c: PUSH1 0x0f
00000c0e: PUSH1 0x20
00000c10: MSTORE
00000c11: PUSH1 0x40
00000c13: SWAP1
00000c14: KECCAK256
00000c15: SLOAD
00000c16: PUSH1 0xff
00000c18: AND
00000c19: SWAP1
00000c1a: JUMP
00000c1b: JUMPDEST
00000c1c: CALLVALUE
00000c1d: DUP1
00000c1e: ISZERO
00000c1f: PUSH2 0x0c27
00000c22: JUMPI
00000c23: PUSH1 0x00
00000c25: DUP1
00000c26: REVERT
00000c27: JUMPDEST
00000c28: POP
00000c29: PUSH2 0x060a
00000c2c: PUSH32 0x000000000000000000000000d76b0ff4a487cafe4e19ed15b73f12f6a92095ca
00000c4d: DUP2
00000c4e: JUMP
00000c4f: JUMPDEST
00000c50: CALLVALUE
00000c51: DUP1
00000c52: ISZERO
00000c53: PUSH2 0x0c5b
00000c56: JUMPI
00000c57: PUSH1 0x00
00000c59: DUP1
00000c5a: REVERT
00000c5b: JUMPDEST
00000c5c: POP
00000c5d: PUSH2 0x04db
00000c60: PUSH2 0x0c6a
00000c63: CALLDATASIZE
00000c64: PUSH1 0x04
00000c66: PUSH2 0x541f
00000c69: JUMP
00000c6a: JUMPDEST
00000c6b: PUSH2 0x283c
00000c6e: JUMP
00000c6f: JUMPDEST
00000c70: CALLVALUE
00000c71: DUP1
00000c72: ISZERO
00000c73: PUSH2 0x0c7b
00000c76: JUMPI
00000c77: PUSH1 0x00
00000c79: DUP1
00000c7a: REVERT
00000c7b: JUMPDEST
00000c7c: POP
00000c7d: PUSH2 0x04db
00000c80: PUSH1 0x12
00000c82: SLOAD
00000c83: DUP2
00000c84: JUMP
00000c85: JUMPDEST
00000c86: CALLVALUE
00000c87: DUP1
00000c88: ISZERO
00000c89: PUSH2 0x0c91
00000c8c: JUMPI
00000c8d: PUSH1 0x00
00000c8f: DUP1
00000c90: REVERT
00000c91: JUMPDEST
00000c92: POP
00000c93: PUSH2 0x04db
00000c96: PUSH2 0x0ca0
00000c99: CALLDATASIZE
00000c9a: PUSH1 0x04
00000c9c: PUSH2 0x510f
00000c9f: JUMP
00000ca0: JUMPDEST
00000ca1: PUSH2 0x2ad2
00000ca4: JUMP
00000ca5: JUMPDEST
00000ca6: CALLVALUE
00000ca7: DUP1
00000ca8: ISZERO
00000ca9: PUSH2 0x0cb1
00000cac: JUMPI
00000cad: PUSH1 0x00
00000caf: DUP1
00000cb0: REVERT
00000cb1: JUMPDEST
00000cb2: POP
00000cb3: PUSH2 0x05c0
00000cb6: PUSH2 0x0cc0
00000cb9: CALLDATASIZE
00000cba: PUSH1 0x04
00000cbc: PUSH2 0x5461
00000cbf: JUMP
00000cc0: JUMPDEST
00000cc1: PUSH2 0x2af2
00000cc4: JUMP
00000cc5: JUMPDEST
00000cc6: CALLVALUE
00000cc7: DUP1
00000cc8: ISZERO
00000cc9: PUSH2 0x0cd1
00000ccc: JUMPI
00000ccd: PUSH1 0x00
00000ccf: DUP1
00000cd0: REVERT
00000cd1: JUMPDEST
00000cd2: POP
00000cd3: PUSH2 0x05c0
00000cd6: PUSH2 0x0ce0
00000cd9: CALLDATASIZE
00000cda: PUSH1 0x04
00000cdc: PUSH2 0x51b7
00000cdf: JUMP
00000ce0: JUMPDEST
00000ce1: PUSH2 0x2bd5
00000ce4: JUMP
00000ce5: JUMPDEST
00000ce6: CALLVALUE
00000ce7: DUP1
00000ce8: ISZERO
00000ce9: PUSH2 0x0cf1
00000cec: JUMPI
00000ced: PUSH1 0x00
00000cef: DUP1
00000cf0: REVERT
00000cf1: JUMPDEST
00000cf2: POP
00000cf3: PUSH2 0x05c0
00000cf6: PUSH2 0x0d00
00000cf9: CALLDATASIZE
00000cfa: PUSH1 0x04
00000cfc: PUSH2 0x510f
00000cff: JUMP
00000d00: JUMPDEST
00000d01: PUSH2 0x2c68
00000d04: JUMP
00000d05: JUMPDEST
00000d06: CALLVALUE
00000d07: DUP1
00000d08: ISZERO
00000d09: PUSH2 0x0d11
00000d0c: JUMPI
00000d0d: PUSH1 0x00
00000d0f: DUP1
00000d10: REVERT
00000d11: JUMPDEST
00000d12: POP
00000d13: PUSH2 0x04db
00000d16: PUSH2 0x0d20
00000d19: CALLDATASIZE
00000d1a: PUSH1 0x04
00000d1c: PUSH2 0x510f
00000d1f: JUMP
00000d20: JUMPDEST
00000d21: PUSH2 0x2ce9
00000d24: JUMP
00000d25: JUMPDEST
00000d26: CALLVALUE
00000d27: DUP1
00000d28: ISZERO
00000d29: PUSH2 0x0d31
00000d2c: JUMPI
00000d2d: PUSH1 0x00
00000d2f: DUP1
00000d30: REVERT
00000d31: JUMPDEST
00000d32: POP
00000d33: PUSH2 0x05c0
00000d36: PUSH2 0x0d40
00000d39: CALLDATASIZE
00000d3a: PUSH1 0x04
00000d3c: PUSH2 0x510f
00000d3f: JUMP
00000d40: JUMPDEST
00000d41: PUSH2 0x2d5f
00000d44: JUMP
00000d45: JUMPDEST
00000d46: CALLVALUE
00000d47: DUP1
00000d48: ISZERO
00000d49: PUSH2 0x0d51
00000d4c: JUMPI
00000d4d: PUSH1 0x00
00000d4f: DUP1
00000d50: REVERT
00000d51: JUMPDEST
00000d52: POP
00000d53: PUSH2 0x04db
00000d56: PUSH2 0x0d60
00000d59: CALLDATASIZE
00000d5a: PUSH1 0x04
00000d5c: PUSH2 0x5213
00000d5f: JUMP
00000d60: JUMPDEST
00000d61: PUSH2 0x2d73
00000d64: JUMP
00000d65: JUMPDEST
00000d66: CALLVALUE
00000d67: DUP1
00000d68: ISZERO
00000d69: PUSH2 0x0d71
00000d6c: JUMPI
00000d6d: PUSH1 0x00
00000d6f: DUP1
00000d70: REVERT
00000d71: JUMPDEST
00000d72: POP
00000d73: PUSH2 0x04db
00000d76: PUSH1 0x0a
00000d78: SLOAD
00000d79: DUP2
00000d7a: JUMP
00000d7b: JUMPDEST
00000d7c: CALLVALUE
00000d7d: DUP1
00000d7e: ISZERO
00000d7f: PUSH2 0x0d87
00000d82: JUMPI
00000d83: PUSH1 0x00
00000d85: DUP1
00000d86: REVERT
00000d87: JUMPDEST
00000d88: POP
00000d89: PUSH2 0x05c0
00000d8c: PUSH2 0x0d96
00000d8f: CALLDATASIZE
00000d90: PUSH1 0x04
00000d92: PUSH2 0x548d
00000d95: JUMP
00000d96: JUMPDEST
00000d97: PUSH2 0x2da2
00000d9a: JUMP
00000d9b: JUMPDEST
00000d9c: CALLVALUE
00000d9d: DUP1
00000d9e: ISZERO
00000d9f: PUSH2 0x0da7
00000da2: JUMPI
00000da3: PUSH1 0x00
00000da5: DUP1
00000da6: REVERT
00000da7: JUMPDEST
00000da8: POP
00000da9: PUSH2 0x05c0
00000dac: PUSH2 0x0db6
00000daf: CALLDATASIZE
00000db0: PUSH1 0x04
00000db2: PUSH2 0x51e3
00000db5: JUMP
00000db6: JUMPDEST
00000db7: PUSH2 0x30c1
00000dba: JUMP
00000dbb: JUMPDEST
00000dbc: CALLVALUE
00000dbd: DUP1
00000dbe: ISZERO
00000dbf: PUSH2 0x0dc7
00000dc2: JUMPI
00000dc3: PUSH1 0x00
00000dc5: DUP1
00000dc6: REVERT
00000dc7: JUMPDEST
00000dc8: POP
00000dc9: PUSH2 0x04db
00000dcc: PUSH2 0x0dd6
00000dcf: CALLDATASIZE
00000dd0: PUSH1 0x04
00000dd2: PUSH2 0x5213
00000dd5: JUMP
00000dd6: JUMPDEST
00000dd7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000dec: AND
00000ded: PUSH1 0x00
00000def: SWAP1
00000df0: DUP2
00000df1: MSTORE
00000df2: PUSH1 0x03
00000df4: PUSH1 0x20
00000df6: MSTORE
00000df7: PUSH1 0x40
00000df9: SWAP1
00000dfa: KECCAK256
00000dfb: SLOAD
00000dfc: SWAP1
00000dfd: JUMP
00000dfe: JUMPDEST
00000dff: CALLVALUE
00000e00: DUP1
00000e01: ISZERO
00000e02: PUSH2 0x0e0a
00000e05: JUMPI
00000e06: PUSH1 0x00
00000e08: DUP1
00000e09: REVERT
00000e0a: JUMPDEST
00000e0b: POP
00000e0c: PUSH2 0x04db
00000e0f: PUSH2 0x0e19
00000e12: CALLDATASIZE
00000e13: PUSH1 0x04
00000e15: PUSH2 0x5504
00000e18: JUMP
00000e19: JUMPDEST
00000e1a: PUSH1 0x04
00000e1c: PUSH1 0x20
00000e1e: SWAP1
00000e1f: DUP2
00000e20: MSTORE
00000e21: PUSH1 0x00
00000e23: SWAP3
00000e24: DUP4
00000e25: MSTORE
00000e26: PUSH1 0x40
00000e28: DUP1
00000e29: DUP5
00000e2a: KECCAK256
00000e2b: SWAP1
00000e2c: SWAP2
00000e2d: MSTORE
00000e2e: SWAP1
00000e2f: DUP3
00000e30: MSTORE
00000e31: SWAP1
00000e32: KECCAK256
00000e33: SLOAD
00000e34: DUP2
00000e35: JUMP
00000e36: JUMPDEST
00000e37: CALLVALUE
00000e38: DUP1
00000e39: ISZERO
00000e3a: PUSH2 0x0e42
00000e3d: JUMPI
00000e3e: PUSH1 0x00
00000e40: DUP1
00000e41: REVERT
00000e42: JUMPDEST
00000e43: POP
00000e44: PUSH2 0x060a
00000e47: PUSH2 0x0e51
00000e4a: CALLDATASIZE
00000e4b: PUSH1 0x04
00000e4d: PUSH2 0x510f
00000e50: JUMP
00000e51: JUMPDEST
00000e52: PUSH2 0x30e6
00000e55: JUMP
00000e56: JUMPDEST
00000e57: CALLVALUE
00000e58: DUP1
00000e59: ISZERO
00000e5a: PUSH2 0x0e62
00000e5d: JUMPI
00000e5e: PUSH1 0x00
00000e60: DUP1
00000e61: REVERT
00000e62: JUMPDEST
00000e63: POP
00000e64: PUSH2 0x04db
00000e67: PUSH2 0x0e71
00000e6a: CALLDATASIZE
00000e6b: PUSH1 0x04
00000e6d: PUSH2 0x510f
00000e70: JUMP
00000e71: JUMPDEST
00000e72: PUSH2 0x30f3
00000e75: JUMP
00000e76: JUMPDEST
00000e77: CALLVALUE
00000e78: DUP1
00000e79: ISZERO
00000e7a: PUSH2 0x0e82
00000e7d: JUMPI
00000e7e: PUSH1 0x00
00000e80: DUP1
00000e81: REVERT
00000e82: JUMPDEST
00000e83: POP
00000e84: PUSH2 0x05c0
00000e87: PUSH2 0x0e91
00000e8a: CALLDATASIZE
00000e8b: PUSH1 0x04
00000e8d: PUSH2 0x56d6
00000e90: JUMP
00000e91: JUMPDEST
00000e92: PUSH2 0x30fe
00000e95: JUMP
00000e96: JUMPDEST
00000e97: CALLVALUE
00000e98: DUP1
00000e99: ISZERO
00000e9a: PUSH2 0x0ea2
00000e9d: JUMPI
00000e9e: PUSH1 0x00
00000ea0: DUP1
00000ea1: REVERT
00000ea2: JUMPDEST
00000ea3: POP
00000ea4: PUSH2 0x05c0
00000ea7: PUSH2 0x0eb1
00000eaa: CALLDATASIZE
00000eab: PUSH1 0x04
00000ead: PUSH2 0x5213
00000eb0: JUMP
00000eb1: JUMPDEST
00000eb2: PUSH2 0x31cc
00000eb5: JUMP
00000eb6: JUMPDEST
00000eb7: PUSH2 0x04db
00000eba: PUSH2 0x0ec4
00000ebd: CALLDATASIZE
00000ebe: PUSH1 0x04
00000ec0: PUSH2 0x5213
00000ec3: JUMP
00000ec4: JUMPDEST
00000ec5: PUSH2 0x329d
00000ec8: JUMP
00000ec9: JUMPDEST
00000eca: CALLVALUE
00000ecb: DUP1
00000ecc: ISZERO
00000ecd: PUSH2 0x0ed5
00000ed0: JUMPI
00000ed1: PUSH1 0x00
00000ed3: DUP1
00000ed4: REVERT
00000ed5: JUMPDEST
00000ed6: POP
00000ed7: PUSH2 0x04db
00000eda: PUSH2 0x33fa
00000edd: JUMP
00000ede: JUMPDEST
00000edf: PUSH1 0x00
00000ee1: PUSH2 0x0ee8
00000ee4: PUSH2 0x34d0
00000ee7: JUMP
00000ee8: JUMPDEST
00000ee9: SWAP1
00000eea: POP
00000eeb: PUSH2 0x0ef2
00000eee: PUSH2 0x33fa
00000ef1: JUMP
00000ef2: JUMPDEST
00000ef3: PUSH2 0x0efc
00000ef6: SWAP1
00000ef7: DUP3
00000ef8: PUSH2 0x5810
00000efb: JUMP
00000efc: JUMPDEST
00000efd: PUSH1 0x40
00000eff: MLOAD
00000f00: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00000f21: DUP2
00000f22: MSTORE
00000f23: ADDRESS
00000f24: PUSH1 0x04
00000f26: DUP3
00000f27: ADD
00000f28: MSTORE
00000f29: SWAP1
00000f2a: SWAP2
00000f2b: POP
00000f2c: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000f4d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f62: AND
00000f63: SWAP1
00000f64: PUSH4 0x70a08231
00000f69: SWAP1
00000f6a: PUSH1 0x24
00000f6c: ADD
00000f6d: PUSH1 0x20
00000f6f: PUSH1 0x40
00000f71: MLOAD
00000f72: DUP1
00000f73: DUP4
00000f74: SUB
00000f75: DUP2
00000f76: DUP7
00000f77: GAS
00000f78: STATICCALL
00000f79: ISZERO
00000f7a: DUP1
00000f7b: ISZERO
00000f7c: PUSH2 0x0f89
00000f7f: JUMPI
00000f80: RETURNDATASIZE
00000f81: PUSH1 0x00
00000f83: DUP1
00000f84: RETURNDATACOPY
00000f85: RETURNDATASIZE
00000f86: PUSH1 0x00
00000f88: REVERT
00000f89: JUMPDEST
00000f8a: POP
00000f8b: POP
00000f8c: POP
00000f8d: POP
00000f8e: PUSH1 0x40
00000f90: MLOAD
00000f91: RETURNDATASIZE
00000f92: PUSH1 0x1f
00000f94: NOT
00000f95: PUSH1 0x1f
00000f97: DUP3
00000f98: ADD
00000f99: AND
00000f9a: DUP3
00000f9b: ADD
00000f9c: DUP1
00000f9d: PUSH1 0x40
00000f9f: MSTORE
00000fa0: POP
00000fa1: DUP2
00000fa2: ADD
00000fa3: SWAP1
00000fa4: PUSH2 0x0fad
00000fa7: SWAP2
00000fa8: SWAP1
00000fa9: PUSH2 0x5823
00000fac: JUMP
00000fad: JUMPDEST
00000fae: PUSH2 0x0fb7
00000fb1: SWAP1
00000fb2: DUP3
00000fb3: PUSH2 0x583c
00000fb6: JUMP
00000fb7: JUMPDEST
00000fb8: SWAP1
00000fb9: POP
00000fba: SWAP1
00000fbb: JUMP
00000fbc: JUMPDEST
00000fbd: PUSH1 0x00
00000fbf: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00000fe0: DUP3
00000fe1: AND
00000fe2: PUSH32 0x7965db0b00000000000000000000000000000000000000000000000000000000
00001003: EQ
00001004: DUP1
00001005: PUSH2 0x104f
00001008: JUMPI
00001009: POP
0000100a: PUSH32 0x01ffc9a700000000000000000000000000000000000000000000000000000000
0000102b: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
0000104c: DUP4
0000104d: AND
0000104e: EQ
0000104f: JUMPDEST
00001050: SWAP3
00001051: SWAP2
00001052: POP
00001053: POP
00001054: JUMP
00001055: JUMPDEST
00001056: PUSH1 0x00
00001058: DUP1
00001059: SLOAD
0000105a: PUSH2 0x1062
0000105d: SWAP1
0000105e: PUSH2 0x584f
00001061: JUMP
00001062: JUMPDEST
00001063: DUP1
00001064: PUSH1 0x1f
00001066: ADD
00001067: PUSH1 0x20
00001069: DUP1
0000106a: SWAP2
0000106b: DIV
0000106c: MUL
0000106d: PUSH1 0x20
0000106f: ADD
00001070: PUSH1 0x40
00001072: MLOAD
00001073: SWAP1
00001074: DUP2
00001075: ADD
00001076: PUSH1 0x40
00001078: MSTORE
00001079: DUP1
0000107a: SWAP3
0000107b: SWAP2
0000107c: SWAP1
0000107d: DUP2
0000107e: DUP2
0000107f: MSTORE
00001080: PUSH1 0x20
00001082: ADD
00001083: DUP3
00001084: DUP1
00001085: SLOAD
00001086: PUSH2 0x108e
00001089: SWAP1
0000108a: PUSH2 0x584f
0000108d: JUMP
0000108e: JUMPDEST
0000108f: DUP1
00001090: ISZERO
00001091: PUSH2 0x10db
00001094: JUMPI
00001095: DUP1
00001096: PUSH1 0x1f
00001098: LT
00001099: PUSH2 0x10b0
0000109c: JUMPI
0000109d: PUSH2 0x0100
000010a0: DUP1
000010a1: DUP4
000010a2: SLOAD
000010a3: DIV
000010a4: MUL
000010a5: DUP4
000010a6: MSTORE
000010a7: SWAP2
000010a8: PUSH1 0x20
000010aa: ADD
000010ab: SWAP2
000010ac: PUSH2 0x10db
000010af: JUMP
000010b0: JUMPDEST
000010b1: DUP3
000010b2: ADD
000010b3: SWAP2
000010b4: SWAP1
000010b5: PUSH1 0x00
000010b7: MSTORE
000010b8: PUSH1 0x20
000010ba: PUSH1 0x00
000010bc: KECCAK256
000010bd: SWAP1
000010be: JUMPDEST
000010bf: DUP2
000010c0: SLOAD
000010c1: DUP2
000010c2: MSTORE
000010c3: SWAP1
000010c4: PUSH1 0x01
000010c6: ADD
000010c7: SWAP1
000010c8: PUSH1 0x20
000010ca: ADD
000010cb: DUP1
000010cc: DUP4
000010cd: GT
000010ce: PUSH2 0x10be
000010d1: JUMPI
000010d2: DUP3
000010d3: SWAP1
000010d4: SUB
000010d5: PUSH1 0x1f
000010d7: AND
000010d8: DUP3
000010d9: ADD
000010da: SWAP2
000010db: JUMPDEST
000010dc: POP
000010dd: POP
000010de: POP
000010df: POP
000010e0: POP
000010e1: DUP2
000010e2: JUMP
000010e3: JUMPDEST
000010e4: PUSH1 0x02
000010e6: SLOAD
000010e7: PUSH1 0x00
000010e9: SWAP1
000010ea: DUP1
000010eb: ISZERO
000010ec: PUSH2 0x1107
000010ef: JUMPI
000010f0: PUSH2 0x1102
000010f3: PUSH2 0x10fa
000010f6: PUSH2 0x0ede
000010f9: JUMP
000010fa: JUMPDEST
000010fb: DUP5
000010fc: SWAP1
000010fd: DUP4
000010fe: PUSH2 0x3575
00001101: JUMP
00001102: JUMPDEST
00001103: PUSH2 0x1109
00001106: JUMP
00001107: JUMPDEST
00001108: DUP3
00001109: JUMPDEST
0000110a: SWAP4
0000110b: SWAP3
0000110c: POP
0000110d: POP
0000110e: POP
0000110f: JUMP
00001110: JUMPDEST
00001111: CALLER
00001112: PUSH1 0x00
00001114: DUP2
00001115: DUP2
00001116: MSTORE
00001117: PUSH1 0x04
00001119: PUSH1 0x20
0000111b: SWAP1
0000111c: DUP2
0000111d: MSTORE
0000111e: PUSH1 0x40
00001120: DUP1
00001121: DUP4
00001122: KECCAK256
00001123: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001138: DUP8
00001139: AND
0000113a: DUP1
0000113b: DUP6
0000113c: MSTORE
0000113d: SWAP3
0000113e: MSTORE
0000113f: DUP1
00001140: DUP4
00001141: KECCAK256
00001142: DUP6
00001143: SWAP1
00001144: SSTORE
00001145: MLOAD
00001146: SWAP2
00001147: SWAP3
00001148: SWAP1
00001149: SWAP2
0000114a: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
0000116b: SWAP1
0000116c: PUSH2 0x1178
0000116f: SWAP1
00001170: DUP7
00001171: DUP2
00001172: MSTORE
00001173: PUSH1 0x20
00001175: ADD
00001176: SWAP1
00001177: JUMP
00001178: JUMPDEST
00001179: PUSH1 0x40
0000117b: MLOAD
0000117c: DUP1
0000117d: SWAP2
0000117e: SUB
0000117f: SWAP1
00001180: LOG3
00001181: POP
00001182: PUSH1 0x01
00001184: SWAP3
00001185: SWAP2
00001186: POP
00001187: POP
00001188: JUMP
00001189: JUMPDEST
0000118a: PUSH1 0x02
0000118c: SLOAD
0000118d: PUSH1 0x00
0000118f: SWAP1
00001190: DUP1
00001191: ISZERO
00001192: PUSH2 0x1107
00001195: JUMPI
00001196: PUSH2 0x1102
00001199: DUP2
0000119a: PUSH2 0x11a1
0000119d: PUSH2 0x0ede
000011a0: JUMP
000011a1: JUMPDEST
000011a2: DUP6
000011a3: SWAP2
000011a4: SWAP1
000011a5: PUSH2 0x35b1
000011a8: JUMP
000011a9: JUMPDEST
000011aa: PUSH2 0x11b1
000011ad: PUSH2 0x35f5
000011b0: JUMP
000011b1: JUMPDEST
000011b2: PUSH1 0x40
000011b4: MLOAD
000011b5: PUSH1 0x24
000011b7: DUP2
000011b8: ADD
000011b9: DUP3
000011ba: SWAP1
000011bb: MSTORE
000011bc: PUSH2 0x1281
000011bf: SWAP1
000011c0: PUSH32 0x7ec0689f00000000000000000000000000000000000000000000000000000000
000011e1: SWAP1
000011e2: PUSH1 0x44
000011e4: ADD
000011e5: JUMPDEST
000011e6: PUSH1 0x40
000011e8: DUP1
000011e9: MLOAD
000011ea: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
0000120b: DUP2
0000120c: DUP5
0000120d: SUB
0000120e: ADD
0000120f: DUP2
00001210: MSTORE
00001211: SWAP2
00001212: SWAP1
00001213: MSTORE
00001214: PUSH1 0x20
00001216: DUP2
00001217: ADD
00001218: DUP1
00001219: MLOAD
0000121a: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001237: AND
00001238: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00001259: SWAP1
0000125a: SWAP4
0000125b: AND
0000125c: SWAP3
0000125d: SWAP1
0000125e: SWAP3
0000125f: OR
00001260: SWAP1
00001261: SWAP2
00001262: MSTORE
00001263: PUSH1 0x0b
00001265: SLOAD
00001266: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000127b: AND
0000127c: SWAP1
0000127d: PUSH2 0x3609
00001280: JUMP
00001281: JUMPDEST
00001282: POP
00001283: POP
00001284: JUMP
00001285: JUMPDEST
00001286: PUSH2 0x128d
00001289: PUSH2 0x362e
0000128c: JUMP
0000128d: JUMPDEST
0000128e: PUSH8 0x0de0b6b3a7640000
00001297: DUP2
00001298: GT
00001299: ISZERO
0000129a: PUSH2 0x12cf
0000129d: JUMPI
0000129e: PUSH1 0x40
000012a0: MLOAD
000012a1: PUSH32 0xc31c0b6e00000000000000000000000000000000000000000000000000000000
000012c2: DUP2
000012c3: MSTORE
000012c4: PUSH1 0x04
000012c6: ADD
000012c7: PUSH1 0x40
000012c9: MLOAD
000012ca: DUP1
000012cb: SWAP2
000012cc: SUB
000012cd: SWAP1
000012ce: REVERT
000012cf: JUMPDEST
000012d0: PUSH1 0x0a
000012d2: DUP2
000012d3: SWAP1
000012d4: SSTORE
000012d5: PUSH1 0x40
000012d7: MLOAD
000012d8: DUP2
000012d9: DUP2
000012da: MSTORE
000012db: CALLER
000012dc: SWAP1
000012dd: PUSH32 0xb3a17cf8bbe3a4348266beede3a365af15dd59203021a6c1121d00ca2d5019f7
000012fe: SWAP1
000012ff: PUSH1 0x20
00001301: ADD
00001302: JUMPDEST
00001303: PUSH1 0x40
00001305: MLOAD
00001306: DUP1
00001307: SWAP2
00001308: SUB
00001309: SWAP1
0000130a: LOG2
0000130b: POP
0000130c: JUMP
0000130d: JUMPDEST
0000130e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001323: DUP4
00001324: AND
00001325: PUSH1 0x00
00001327: SWAP1
00001328: DUP2
00001329: MSTORE
0000132a: PUSH1 0x04
0000132c: PUSH1 0x20
0000132e: SWAP1
0000132f: DUP2
00001330: MSTORE
00001331: PUSH1 0x40
00001333: DUP1
00001334: DUP4
00001335: KECCAK256
00001336: CALLER
00001337: DUP5
00001338: MSTORE
00001339: SWAP1
0000133a: SWAP2
0000133b: MSTORE
0000133c: DUP2
0000133d: KECCAK256
0000133e: SLOAD
0000133f: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001360: DUP2
00001361: EQ
00001362: PUSH2 0x13a1
00001365: JUMPI
00001366: PUSH2 0x136f
00001369: DUP4
0000136a: DUP3
0000136b: PUSH2 0x5810
0000136e: JUMP
0000136f: JUMPDEST
00001370: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001385: DUP7
00001386: AND
00001387: PUSH1 0x00
00001389: SWAP1
0000138a: DUP2
0000138b: MSTORE
0000138c: PUSH1 0x04
0000138e: PUSH1 0x20
00001390: SWAP1
00001391: DUP2
00001392: MSTORE
00001393: PUSH1 0x40
00001395: DUP1
00001396: DUP4
00001397: KECCAK256
00001398: CALLER
00001399: DUP5
0000139a: MSTORE
0000139b: SWAP1
0000139c: SWAP2
0000139d: MSTORE
0000139e: SWAP1
0000139f: KECCAK256
000013a0: SSTORE
000013a1: JUMPDEST
000013a2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013b7: DUP6
000013b8: AND
000013b9: PUSH1 0x00
000013bb: SWAP1
000013bc: DUP2
000013bd: MSTORE
000013be: PUSH1 0x03
000013c0: PUSH1 0x20
000013c2: MSTORE
000013c3: PUSH1 0x40
000013c5: DUP2
000013c6: KECCAK256
000013c7: DUP1
000013c8: SLOAD
000013c9: DUP6
000013ca: SWAP3
000013cb: SWAP1
000013cc: PUSH2 0x13d6
000013cf: SWAP1
000013d0: DUP5
000013d1: SWAP1
000013d2: PUSH2 0x5810
000013d5: JUMP
000013d6: JUMPDEST
000013d7: SWAP1
000013d8: SWAP2
000013d9: SSTORE
000013da: POP
000013db: POP
000013dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013f1: DUP1
000013f2: DUP6
000013f3: AND
000013f4: PUSH1 0x00
000013f6: DUP2
000013f7: DUP2
000013f8: MSTORE
000013f9: PUSH1 0x03
000013fb: PUSH1 0x20
000013fd: MSTORE
000013fe: PUSH1 0x40
00001400: SWAP1
00001401: DUP2
00001402: SWAP1
00001403: KECCAK256
00001404: DUP1
00001405: SLOAD
00001406: DUP8
00001407: ADD
00001408: SWAP1
00001409: SSTORE
0000140a: MLOAD
0000140b: SWAP1
0000140c: SWAP2
0000140d: DUP8
0000140e: AND
0000140f: SWAP1
00001410: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00001431: SWAP1
00001432: PUSH2 0x143e
00001435: SWAP1
00001436: DUP8
00001437: DUP2
00001438: MSTORE
00001439: PUSH1 0x20
0000143b: ADD
0000143c: SWAP1
0000143d: JUMP
0000143e: JUMPDEST
0000143f: PUSH1 0x40
00001441: MLOAD
00001442: DUP1
00001443: SWAP2
00001444: SUB
00001445: SWAP1
00001446: LOG3
00001447: POP
00001448: PUSH1 0x01
0000144a: SWAP5
0000144b: SWAP4
0000144c: POP
0000144d: POP
0000144e: POP
0000144f: POP
00001450: JUMP
00001451: JUMPDEST
00001452: PUSH1 0x00
00001454: PUSH2 0x145c
00001457: DUP3
00001458: PUSH2 0x1c5e
0000145b: JUMP
0000145c: JUMPDEST
0000145d: PUSH2 0x1468
00001460: JUMPI
00001461: POP
00001462: PUSH1 0x00
00001464: SWAP2
00001465: SWAP1
00001466: POP
00001467: JUMP
00001468: JUMPDEST
00001469: PUSH2 0x1473
0000146c: PUSH1 0x0c
0000146e: DUP4
0000146f: PUSH2 0x3696
00001472: JUMP
00001473: JUMPDEST
00001474: PUSH1 0x40
00001476: MLOAD
00001477: PUSH32 0x9b56d6c900000000000000000000000000000000000000000000000000000000
00001498: DUP2
00001499: MSTORE
0000149a: ADDRESS
0000149b: PUSH1 0x04
0000149d: DUP3
0000149e: ADD
0000149f: MSTORE
000014a0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014b5: SWAP2
000014b6: SWAP1
000014b7: SWAP2
000014b8: AND
000014b9: SWAP1
000014ba: PUSH4 0x9b56d6c9
000014bf: SWAP1
000014c0: PUSH1 0x24
000014c2: ADD
000014c3: JUMPDEST
000014c4: PUSH1 0x20
000014c6: PUSH1 0x40
000014c8: MLOAD
000014c9: DUP1
000014ca: DUP4
000014cb: SUB
000014cc: DUP2
000014cd: DUP7
000014ce: GAS
000014cf: STATICCALL
000014d0: ISZERO
000014d1: DUP1
000014d2: ISZERO
000014d3: PUSH2 0x14e0
000014d6: JUMPI
000014d7: RETURNDATASIZE
000014d8: PUSH1 0x00
000014da: DUP1
000014db: RETURNDATACOPY
000014dc: RETURNDATASIZE
000014dd: PUSH1 0x00
000014df: REVERT
000014e0: JUMPDEST
000014e1: POP
000014e2: POP
000014e3: POP
000014e4: POP
000014e5: PUSH1 0x40
000014e7: MLOAD
000014e8: RETURNDATASIZE
000014e9: PUSH1 0x1f
000014eb: NOT
000014ec: PUSH1 0x1f
000014ee: DUP3
000014ef: ADD
000014f0: AND
000014f1: DUP3
000014f2: ADD
000014f3: DUP1
000014f4: PUSH1 0x40
000014f6: MSTORE
000014f7: POP
000014f8: DUP2
000014f9: ADD
000014fa: SWAP1
000014fb: PUSH2 0x104f
000014fe: SWAP2
000014ff: SWAP1
00001500: PUSH2 0x5823
00001503: JUMP
00001504: JUMPDEST
00001505: PUSH2 0x150c
00001508: PUSH2 0x35f5
0000150b: JUMP
0000150c: JUMPDEST
0000150d: PUSH1 0x00
0000150f: PUSH2 0x1519
00001512: PUSH1 0x0c
00001514: DUP6
00001515: PUSH2 0x3696
00001518: JUMP
00001519: JUMPDEST
0000151a: SWAP1
0000151b: POP
0000151c: PUSH2 0x15bc
0000151f: DUP2
00001520: PUSH4 0x371fd8e6
00001525: PUSH1 0xe0
00001527: SHL
00001528: DUP6
00001529: PUSH1 0x40
0000152b: MLOAD
0000152c: PUSH1 0x24
0000152e: ADD
0000152f: PUSH2 0x153a
00001532: SWAP2
00001533: DUP2
00001534: MSTORE
00001535: PUSH1 0x20
00001537: ADD
00001538: SWAP1
00001539: JUMP
0000153a: JUMPDEST
0000153b: PUSH1 0x40
0000153d: DUP1
0000153e: MLOAD
0000153f: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00001560: DUP2
00001561: DUP5
00001562: SUB
00001563: ADD
00001564: DUP2
00001565: MSTORE
00001566: SWAP2
00001567: SWAP1
00001568: MSTORE
00001569: PUSH1 0x20
0000156b: DUP2
0000156c: ADD
0000156d: DUP1
0000156e: MLOAD
0000156f: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000158c: AND
0000158d: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
000015ae: SWAP1
000015af: SWAP4
000015b0: AND
000015b1: SWAP3
000015b2: SWAP1
000015b3: SWAP3
000015b4: OR
000015b5: SWAP1
000015b6: SWAP2
000015b7: MSTORE
000015b8: PUSH2 0x36a2
000015bb: JUMP
000015bc: JUMPDEST
000015bd: PUSH2 0x15db
000015c0: DUP2
000015c1: PUSH4 0x2e1a7d4d
000015c6: PUSH1 0xe0
000015c8: SHL
000015c9: DUP5
000015ca: PUSH1 0x40
000015cc: MLOAD
000015cd: PUSH1 0x24
000015cf: ADD
000015d0: PUSH2 0x153a
000015d3: SWAP2
000015d4: DUP2
000015d5: MSTORE
000015d6: PUSH1 0x20
000015d8: ADD
000015d9: SWAP1
000015da: JUMP
000015db: JUMPDEST
000015dc: PUSH1 0x40
000015de: DUP1
000015df: MLOAD
000015e0: DUP6
000015e1: DUP2
000015e2: MSTORE
000015e3: PUSH1 0x20
000015e5: DUP2
000015e6: ADD
000015e7: DUP6
000015e8: SWAP1
000015e9: MSTORE
000015ea: SWAP1
000015eb: DUP2
000015ec: ADD
000015ed: DUP4
000015ee: SWAP1
000015ef: MSTORE
000015f0: PUSH32 0xcc438ae21763799a9f64a28c62b3f15f0b5da604b7ca35e17049605a6c59599f
00001611: SWAP1
00001612: PUSH1 0x60
00001614: ADD
00001615: JUMPDEST
00001616: PUSH1 0x40
00001618: MLOAD
00001619: DUP1
0000161a: SWAP2
0000161b: SUB
0000161c: SWAP1
0000161d: LOG1
0000161e: POP
0000161f: POP
00001620: POP
00001621: POP
00001622: JUMP
00001623: JUMPDEST
00001624: PUSH1 0x00
00001626: DUP3
00001627: DUP2
00001628: MSTORE
00001629: PUSH1 0x06
0000162b: PUSH1 0x20
0000162d: MSTORE
0000162e: PUSH1 0x40
00001630: SWAP1
00001631: KECCAK256
00001632: PUSH1 0x01
00001634: ADD
00001635: SLOAD
00001636: PUSH2 0x163e
00001639: DUP2
0000163a: PUSH2 0x36c2
0000163d: JUMP
0000163e: JUMPDEST
0000163f: PUSH2 0x1648
00001642: DUP4
00001643: DUP4
00001644: PUSH2 0x36cc
00001647: JUMP
00001648: JUMPDEST
00001649: POP
0000164a: POP
0000164b: POP
0000164c: JUMP
0000164d: JUMPDEST
0000164e: PUSH1 0x00
00001650: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001
00001671: CHAINID
00001672: EQ
00001673: PUSH2 0x167e
00001676: JUMPI
00001677: PUSH2 0x0fb7
0000167a: PUSH2 0x37c0
0000167d: JUMP
0000167e: JUMPDEST
0000167f: POP
00001680: PUSH32 0xd8923989cc8cdb0547291784e429c6f0e48e6d2389592f7d663ebe52ea9ffcd3
000016a1: SWAP1
000016a2: JUMP
000016a3: JUMPDEST
000016a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016b9: DUP2
000016ba: AND
000016bb: CALLER
000016bc: EQ
000016bd: PUSH2 0x174d
000016c0: JUMPI
000016c1: PUSH1 0x40
000016c3: MLOAD
000016c4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000016e5: DUP2
000016e6: MSTORE
000016e7: PUSH1 0x20
000016e9: PUSH1 0x04
000016eb: DUP3
000016ec: ADD
000016ed: MSTORE
000016ee: PUSH1 0x2f
000016f0: PUSH1 0x24
000016f2: DUP3
000016f3: ADD
000016f4: MSTORE
000016f5: PUSH32 0x416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365
00001716: PUSH1 0x44
00001718: DUP3
00001719: ADD
0000171a: MSTORE
0000171b: PUSH32 0x20726f6c657320666f722073656c660000000000000000000000000000000000
0000173c: PUSH1 0x64
0000173e: DUP3
0000173f: ADD
00001740: MSTORE
00001741: PUSH1 0x84
00001743: ADD
00001744: JUMPDEST
00001745: PUSH1 0x40
00001747: MLOAD
00001748: DUP1
00001749: SWAP2
0000174a: SUB
0000174b: SWAP1
0000174c: REVERT
0000174d: JUMPDEST
0000174e: PUSH2 0x1281
00001751: DUP3
00001752: DUP3
00001753: PUSH2 0x385a
00001756: JUMP
00001757: JUMPDEST
00001758: PUSH1 0x00
0000175a: DUP1
0000175b: PUSH2 0x1764
0000175e: PUSH1 0x0c
00001760: PUSH2 0x3915
00001763: JUMP
00001764: JUMPDEST
00001765: SWAP1
00001766: POP
00001767: PUSH1 0x00
00001769: DUP1
0000176a: JUMPDEST
0000176b: DUP3
0000176c: DUP2
0000176d: LT
0000176e: ISZERO
0000176f: PUSH2 0x182d
00001772: JUMPI
00001773: PUSH2 0x177d
00001776: PUSH1 0x0c
00001778: DUP3
00001779: PUSH2 0x3920
0000177c: JUMP
0000177d: JUMPDEST
0000177e: PUSH1 0x40
00001780: MLOAD
00001781: PUSH32 0x9b56d6c900000000000000000000000000000000000000000000000000000000
000017a2: DUP2
000017a3: MSTORE
000017a4: ADDRESS
000017a5: PUSH1 0x04
000017a7: DUP3
000017a8: ADD
000017a9: MSTORE
000017aa: SWAP1
000017ab: SWAP4
000017ac: POP
000017ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017c2: DUP5
000017c3: AND
000017c4: SWAP2
000017c5: POP
000017c6: PUSH4 0x9b56d6c9
000017cb: SWAP1
000017cc: PUSH1 0x24
000017ce: ADD
000017cf: PUSH1 0x20
000017d1: PUSH1 0x40
000017d3: MLOAD
000017d4: DUP1
000017d5: DUP4
000017d6: SUB
000017d7: DUP2
000017d8: DUP7
000017d9: GAS
000017da: STATICCALL
000017db: ISZERO
000017dc: DUP1
000017dd: ISZERO
000017de: PUSH2 0x17eb
000017e1: JUMPI
000017e2: RETURNDATASIZE
000017e3: PUSH1 0x00
000017e5: DUP1
000017e6: RETURNDATACOPY
000017e7: RETURNDATASIZE
000017e8: PUSH1 0x00
000017ea: REVERT
000017eb: JUMPDEST
000017ec: POP
000017ed: POP
000017ee: POP
000017ef: POP
000017f0: PUSH1 0x40
000017f2: MLOAD
000017f3: RETURNDATASIZE
000017f4: PUSH1 0x1f
000017f6: NOT
000017f7: PUSH1 0x1f
000017f9: DUP3
000017fa: ADD
000017fb: AND
000017fc: DUP3
000017fd: ADD
000017fe: DUP1
000017ff: PUSH1 0x40
00001801: MSTORE
00001802: POP
00001803: DUP2
00001804: ADD
00001805: SWAP1
00001806: PUSH2 0x180f
00001809: SWAP2
0000180a: SWAP1
0000180b: PUSH2 0x5823
0000180e: JUMP
0000180f: JUMPDEST
00001810: PUSH2 0x1819
00001813: SWAP1
00001814: DUP6
00001815: PUSH2 0x583c
00001818: JUMP
00001819: JUMPDEST
0000181a: SWAP4
0000181b: POP
0000181c: DUP1
0000181d: PUSH2 0x1825
00001820: DUP2
00001821: PUSH2 0x589c
00001824: JUMP
00001825: JUMPDEST
00001826: SWAP2
00001827: POP
00001828: POP
00001829: PUSH2 0x176a
0000182c: JUMP
0000182d: JUMPDEST
0000182e: POP
0000182f: POP
00001830: POP
00001831: SWAP1
00001832: JUMP
00001833: JUMPDEST
00001834: PUSH1 0x00
00001836: PUSH2 0x104f
00001839: DUP3
0000183a: PUSH2 0x10e3
0000183d: JUMP
0000183e: JUMPDEST
0000183f: PUSH2 0x1846
00001842: PUSH2 0x35f5
00001845: JUMP
00001846: JUMPDEST
00001847: PUSH2 0x184f
0000184a: DUP4
0000184b: PUSH2 0x393e
0000184e: JUMP
0000184f: JUMPDEST
00001850: PUSH2 0x18f0
00001853: DUP4
00001854: PUSH4 0xe190febc
00001859: PUSH1 0xe0
0000185b: SHL
0000185c: DUP5
0000185d: DUP5
0000185e: PUSH1 0x40
00001860: MLOAD
00001861: PUSH1 0x24
00001863: ADD
00001864: PUSH2 0x186e
00001867: SWAP3
00001868: SWAP2
00001869: SWAP1
0000186a: PUSH2 0x591d
0000186d: JUMP
0000186e: JUMPDEST
0000186f: PUSH1 0x40
00001871: DUP1
00001872: MLOAD
00001873: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00001894: DUP2
00001895: DUP5
00001896: SUB
00001897: ADD
00001898: DUP2
00001899: MSTORE
0000189a: SWAP2
0000189b: SWAP1
0000189c: MSTORE
0000189d: PUSH1 0x20
0000189f: DUP2
000018a0: ADD
000018a1: DUP1
000018a2: MLOAD
000018a3: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000018c0: AND
000018c1: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
000018e2: SWAP1
000018e3: SWAP4
000018e4: AND
000018e5: SWAP3
000018e6: SWAP1
000018e7: SWAP3
000018e8: OR
000018e9: SWAP1
000018ea: SWAP2
000018eb: MSTORE
000018ec: PUSH2 0x3980
000018ef: JUMP
000018f0: JUMPDEST
000018f1: PUSH1 0x40
000018f3: MLOAD
000018f4: DUP4
000018f5: DUP2
000018f6: MSTORE
000018f7: PUSH32 0xed6771ea2f01816faa7ccf034b76201581d0b4374e86f83b06a8b4191c6b9f89
00001918: SWAP1
00001919: PUSH1 0x20
0000191b: ADD
0000191c: PUSH1 0x40
0000191e: MLOAD
0000191f: DUP1
00001920: SWAP2
00001921: SUB
00001922: SWAP1
00001923: LOG1
00001924: POP
00001925: POP
00001926: POP
00001927: JUMP
00001928: JUMPDEST
00001929: PUSH2 0x1930
0000192c: PUSH2 0x362e
0000192f: JUMP
00001930: JUMPDEST
00001931: PUSH1 0x00
00001933: DUP2
00001934: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001949: AND
0000194a: PUSH4 0xaf640d0f
0000194f: PUSH1 0x40
00001951: MLOAD
00001952: DUP2
00001953: PUSH4 0xffffffff
00001958: AND
00001959: PUSH1 0xe0
0000195b: SHL
0000195c: DUP2
0000195d: MSTORE
0000195e: PUSH1 0x04
00001960: ADD
00001961: PUSH1 0x20
00001963: PUSH1 0x40
00001965: MLOAD
00001966: DUP1
00001967: DUP4
00001968: SUB
00001969: DUP2
0000196a: DUP7
0000196b: GAS
0000196c: STATICCALL
0000196d: ISZERO
0000196e: DUP1
0000196f: ISZERO
00001970: PUSH2 0x197d
00001973: JUMPI
00001974: RETURNDATASIZE
00001975: PUSH1 0x00
00001977: DUP1
00001978: RETURNDATACOPY
00001979: RETURNDATASIZE
0000197a: PUSH1 0x00
0000197c: REVERT
0000197d: JUMPDEST
0000197e: POP
0000197f: POP
00001980: POP
00001981: POP
00001982: PUSH1 0x40
00001984: MLOAD
00001985: RETURNDATASIZE
00001986: PUSH1 0x1f
00001988: NOT
00001989: PUSH1 0x1f
0000198b: DUP3
0000198c: ADD
0000198d: AND
0000198e: DUP3
0000198f: ADD
00001990: DUP1
00001991: PUSH1 0x40
00001993: MSTORE
00001994: POP
00001995: DUP2
00001996: ADD
00001997: SWAP1
00001998: PUSH2 0x19a1
0000199b: SWAP2
0000199c: SWAP1
0000199d: PUSH2 0x5823
000019a0: JUMP
000019a1: JUMPDEST
000019a2: SWAP1
000019a3: POP
000019a4: PUSH2 0x19ac
000019a7: DUP2
000019a8: PUSH2 0x1c5e
000019ab: JUMP
000019ac: JUMPDEST
000019ad: ISZERO
000019ae: PUSH2 0x19e6
000019b1: JUMPI
000019b2: PUSH1 0x40
000019b4: MLOAD
000019b5: PUSH32 0x254de06900000000000000000000000000000000000000000000000000000000
000019d6: DUP2
000019d7: MSTORE
000019d8: PUSH1 0x04
000019da: DUP2
000019db: ADD
000019dc: DUP3
000019dd: SWAP1
000019de: MSTORE
000019df: PUSH1 0x24
000019e1: ADD
000019e2: PUSH2 0x1744
000019e5: JUMP
000019e6: JUMPDEST
000019e7: PUSH2 0x19f2
000019ea: PUSH1 0x0c
000019ec: DUP3
000019ed: DUP5
000019ee: PUSH2 0x39ab
000019f1: JUMP
000019f2: JUMPDEST
000019f3: POP
000019f4: PUSH1 0x40
000019f6: DUP1
000019f7: MLOAD
000019f8: PUSH1 0x04
000019fa: DUP2
000019fb: MSTORE
000019fc: PUSH1 0x24
000019fe: DUP2
000019ff: ADD
00001a00: SWAP1
00001a01: SWAP2
00001a02: MSTORE
00001a03: PUSH1 0x20
00001a05: DUP2
00001a06: ADD
00001a07: DUP1
00001a08: MLOAD
00001a09: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001a26: AND
00001a27: PUSH32 0x8757b15b00000000000000000000000000000000000000000000000000000000
00001a48: OR
00001a49: SWAP1
00001a4a: MSTORE
00001a4b: PUSH2 0x1a6b
00001a4e: SWAP1
00001a4f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a64: DUP5
00001a65: AND
00001a66: SWAP1
00001a67: PUSH2 0x3609
00001a6a: JUMP
00001a6b: JUMPDEST
00001a6c: POP
00001a6d: PUSH1 0x40
00001a6f: DUP1
00001a70: MLOAD
00001a71: DUP3
00001a72: DUP2
00001a73: MSTORE
00001a74: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a89: DUP5
00001a8a: AND
00001a8b: PUSH1 0x20
00001a8d: DUP3
00001a8e: ADD
00001a8f: MSTORE
00001a90: CALLER
00001a91: SWAP2
00001a92: PUSH32 0x7ae8ce35a1794068c85a72f63d16209787d9e4f3e4b3095cf7f0e1de1e5e0741
00001ab3: SWAP2
00001ab4: ADD
00001ab5: JUMPDEST
00001ab6: PUSH1 0x40
00001ab8: MLOAD
00001ab9: DUP1
00001aba: SWAP2
00001abb: SUB
00001abc: SWAP1
00001abd: LOG2
00001abe: POP
00001abf: POP
00001ac0: JUMP
00001ac1: JUMPDEST
00001ac2: PUSH1 0x00
00001ac4: PUSH2 0x1acc
00001ac7: DUP4
00001ac8: PUSH2 0x30f3
00001acb: JUMP
00001acc: JUMPDEST
00001acd: SWAP1
00001ace: POP
00001acf: DUP1
00001ad0: PUSH1 0x00
00001ad2: SUB
00001ad3: PUSH2 0x1b38
00001ad6: JUMPI
00001ad7: PUSH1 0x40
00001ad9: MLOAD
00001ada: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001afb: DUP2
00001afc: MSTORE
00001afd: PUSH1 0x20
00001aff: PUSH1 0x04
00001b01: DUP3
00001b02: ADD
00001b03: MSTORE
00001b04: PUSH1 0x0b
00001b06: PUSH1 0x24
00001b08: DUP3
00001b09: ADD
00001b0a: MSTORE
00001b0b: PUSH32 0x5a45524f5f534841524553000000000000000000000000000000000000000000
00001b2c: PUSH1 0x44
00001b2e: DUP3
00001b2f: ADD
00001b30: MSTORE
00001b31: PUSH1 0x64
00001b33: ADD
00001b34: PUSH2 0x1744
00001b37: JUMP
00001b38: JUMPDEST
00001b39: PUSH2 0x1b7a
00001b3c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b51: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001b72: AND
00001b73: CALLER
00001b74: ADDRESS
00001b75: DUP7
00001b76: PUSH2 0x39d6
00001b79: JUMP
00001b7a: JUMPDEST
00001b7b: PUSH2 0x1b84
00001b7e: DUP3
00001b7f: DUP3
00001b80: PUSH2 0x3a95
00001b83: JUMP
00001b84: JUMPDEST
00001b85: PUSH1 0x40
00001b87: DUP1
00001b88: MLOAD
00001b89: DUP5
00001b8a: DUP2
00001b8b: MSTORE
00001b8c: PUSH1 0x20
00001b8e: DUP2
00001b8f: ADD
00001b90: DUP4
00001b91: SWAP1
00001b92: MSTORE
00001b93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ba8: DUP5
00001ba9: AND
00001baa: SWAP2
00001bab: CALLER
00001bac: SWAP2
00001bad: PUSH32 0xdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7
00001bce: SWAP2
00001bcf: ADD
00001bd0: JUMPDEST
00001bd1: PUSH1 0x40
00001bd3: MLOAD
00001bd4: DUP1
00001bd5: SWAP2
00001bd6: SUB
00001bd7: SWAP1
00001bd8: LOG3
00001bd9: PUSH2 0x104f
00001bdc: JUMP
00001bdd: JUMPDEST
00001bde: PUSH2 0x1be5
00001be1: PUSH2 0x362e
00001be4: JUMP
00001be5: JUMPDEST
00001be6: PUSH8 0x0de0b6b3a7640000
00001bef: DUP2
00001bf0: GT
00001bf1: ISZERO
00001bf2: PUSH2 0x1c27
00001bf5: JUMPI
00001bf6: PUSH1 0x40
00001bf8: MLOAD
00001bf9: PUSH32 0xc9034e1800000000000000000000000000000000000000000000000000000000
00001c1a: DUP2
00001c1b: MSTORE
00001c1c: PUSH1 0x04
00001c1e: ADD
00001c1f: PUSH1 0x40
00001c21: MLOAD
00001c22: DUP1
00001c23: SWAP2
00001c24: SUB
00001c25: SWAP1
00001c26: REVERT
00001c27: JUMPDEST
00001c28: PUSH1 0x08
00001c2a: DUP2
00001c2b: SWAP1
00001c2c: SSTORE
00001c2d: PUSH1 0x40
00001c2f: MLOAD
00001c30: DUP2
00001c31: DUP2
00001c32: MSTORE
00001c33: CALLER
00001c34: SWAP1
00001c35: PUSH32 0x48d9d467a6699d3c9f09688328d42ebb56b0d1598687d06bebbe2e7f42641562
00001c56: SWAP1
00001c57: PUSH1 0x20
00001c59: ADD
00001c5a: PUSH2 0x1302
00001c5d: JUMP
00001c5e: JUMPDEST
00001c5f: PUSH1 0x00
00001c61: PUSH2 0x104f
00001c64: PUSH1 0x0c
00001c66: DUP4
00001c67: PUSH2 0x3b0e
00001c6a: JUMP
00001c6b: JUMPDEST
00001c6c: PUSH2 0x1c73
00001c6f: PUSH2 0x362e
00001c72: JUMP
00001c73: JUMPDEST
00001c74: PUSH1 0x12
00001c76: DUP2
00001c77: SWAP1
00001c78: SSTORE
00001c79: PUSH1 0x40
00001c7b: MLOAD
00001c7c: DUP2
00001c7d: DUP2
00001c7e: MSTORE
00001c7f: CALLER
00001c80: SWAP1
00001c81: PUSH32 0xb2bcb0a4720f48272ebaa5d990545b2ed974c8b87baec4514561aeedf05b9fc0
00001ca2: SWAP1
00001ca3: PUSH1 0x20
00001ca5: ADD
00001ca6: PUSH2 0x1302
00001ca9: JUMP
00001caa: JUMPDEST
00001cab: PUSH2 0x1cb2
00001cae: PUSH2 0x3b1a
00001cb1: JUMP
00001cb2: JUMPDEST
00001cb3: PUSH1 0x40
00001cb5: MLOAD
00001cb6: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00001cd7: DUP2
00001cd8: MSTORE
00001cd9: ADDRESS
00001cda: PUSH1 0x04
00001cdc: DUP3
00001cdd: ADD
00001cde: MSTORE
00001cdf: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001d00: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d15: AND
00001d16: SWAP1
00001d17: PUSH4 0x70a08231
00001d1c: SWAP1
00001d1d: PUSH1 0x24
00001d1f: ADD
00001d20: PUSH1 0x20
00001d22: PUSH1 0x40
00001d24: MLOAD
00001d25: DUP1
00001d26: DUP4
00001d27: SUB
00001d28: DUP2
00001d29: DUP7
00001d2a: GAS
00001d2b: STATICCALL
00001d2c: ISZERO
00001d2d: DUP1
00001d2e: ISZERO
00001d2f: PUSH2 0x1d3c
00001d32: JUMPI
00001d33: RETURNDATASIZE
00001d34: PUSH1 0x00
00001d36: DUP1
00001d37: RETURNDATACOPY
00001d38: RETURNDATASIZE
00001d39: PUSH1 0x00
00001d3b: REVERT
00001d3c: JUMPDEST
00001d3d: POP
00001d3e: POP
00001d3f: POP
00001d40: POP
00001d41: PUSH1 0x40
00001d43: MLOAD
00001d44: RETURNDATASIZE
00001d45: PUSH1 0x1f
00001d47: NOT
00001d48: PUSH1 0x1f
00001d4a: DUP3
00001d4b: ADD
00001d4c: AND
00001d4d: DUP3
00001d4e: ADD
00001d4f: DUP1
00001d50: PUSH1 0x40
00001d52: MSTORE
00001d53: POP
00001d54: DUP2
00001d55: ADD
00001d56: SWAP1
00001d57: PUSH2 0x1d60
00001d5a: SWAP2
00001d5b: SWAP1
00001d5c: PUSH2 0x5823
00001d5f: JUMP
00001d60: JUMPDEST
00001d61: DUP5
00001d62: GT
00001d63: ISZERO
00001d64: PUSH2 0x1d99
00001d67: JUMPI
00001d68: PUSH1 0x40
00001d6a: MLOAD
00001d6b: PUSH32 0x2ca192fe00000000000000000000000000000000000000000000000000000000
00001d8c: DUP2
00001d8d: MSTORE
00001d8e: PUSH1 0x04
00001d90: ADD
00001d91: PUSH1 0x40
00001d93: MLOAD
00001d94: DUP1
00001d95: SWAP2
00001d96: SUB
00001d97: SWAP1
00001d98: REVERT
00001d99: JUMPDEST
00001d9a: DUP4
00001d9b: PUSH1 0x10
00001d9d: PUSH1 0x00
00001d9f: DUP3
00001da0: DUP3
00001da1: SLOAD
00001da2: PUSH2 0x1dab
00001da5: SWAP2
00001da6: SWAP1
00001da7: PUSH2 0x583c
00001daa: JUMP
00001dab: JUMPDEST
00001dac: SWAP1
00001dad: SWAP2
00001dae: SSTORE
00001daf: POP
00001db0: PUSH2 0x1dc4
00001db3: SWAP1
00001db4: POP
00001db5: DUP4
00001db6: PUSH2 0x1dbf
00001db9: DUP4
00001dba: DUP6
00001dbb: PUSH2 0x5931
00001dbe: JUMP
00001dbf: JUMPDEST
00001dc0: PUSH2 0x3b82
00001dc3: JUMP
00001dc4: JUMPDEST
00001dc5: PUSH2 0x1dcc
00001dc8: PUSH2 0x3d49
00001dcb: JUMP
00001dcc: JUMPDEST
00001dcd: PUSH32 0x83387a3342ff1ebc5e437dc9ae0f98274afda12a11cf547eebec05a3e0b8f8a7
00001dee: PUSH2 0x1df5
00001df1: PUSH2 0x1757
00001df4: JUMP
00001df5: JUMPDEST
00001df6: PUSH2 0x1dfd
00001df9: PUSH2 0x33fa
00001dfc: JUMP
00001dfd: JUMPDEST
00001dfe: PUSH1 0x40
00001e00: MLOAD
00001e01: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00001e22: DUP2
00001e23: MSTORE
00001e24: ADDRESS
00001e25: PUSH1 0x04
00001e27: DUP3
00001e28: ADD
00001e29: MSTORE
00001e2a: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001e4b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e60: AND
00001e61: SWAP1
00001e62: PUSH4 0x70a08231
00001e67: SWAP1
00001e68: PUSH1 0x24
00001e6a: ADD
00001e6b: PUSH1 0x20
00001e6d: PUSH1 0x40
00001e6f: MLOAD
00001e70: DUP1
00001e71: DUP4
00001e72: SUB
00001e73: DUP2
00001e74: DUP7
00001e75: GAS
00001e76: STATICCALL
00001e77: ISZERO
00001e78: DUP1
00001e79: ISZERO
00001e7a: PUSH2 0x1e87
00001e7d: JUMPI
00001e7e: RETURNDATASIZE
00001e7f: PUSH1 0x00
00001e81: DUP1
00001e82: RETURNDATACOPY
00001e83: RETURNDATASIZE
00001e84: PUSH1 0x00
00001e86: REVERT
00001e87: JUMPDEST
00001e88: POP
00001e89: POP
00001e8a: POP
00001e8b: POP
00001e8c: PUSH1 0x40
00001e8e: MLOAD
00001e8f: RETURNDATASIZE
00001e90: PUSH1 0x1f
00001e92: NOT
00001e93: PUSH1 0x1f
00001e95: DUP3
00001e96: ADD
00001e97: AND
00001e98: DUP3
00001e99: ADD
00001e9a: DUP1
00001e9b: PUSH1 0x40
00001e9d: MSTORE
00001e9e: POP
00001e9f: DUP2
00001ea0: ADD
00001ea1: SWAP1
00001ea2: PUSH2 0x1eab
00001ea5: SWAP2
00001ea6: SWAP1
00001ea7: PUSH2 0x5823
00001eaa: JUMP
00001eab: JUMPDEST
00001eac: PUSH1 0x40
00001eae: DUP1
00001eaf: MLOAD
00001eb0: SWAP4
00001eb1: DUP5
00001eb2: MSTORE
00001eb3: PUSH1 0x20
00001eb5: DUP5
00001eb6: ADD
00001eb7: SWAP3
00001eb8: SWAP1
00001eb9: SWAP3
00001eba: MSTORE
00001ebb: SWAP1
00001ebc: DUP3
00001ebd: ADD
00001ebe: MSTORE
00001ebf: PUSH1 0x60
00001ec1: ADD
00001ec2: PUSH2 0x1615
00001ec5: JUMP
00001ec6: JUMPDEST
00001ec7: PUSH1 0x00
00001ec9: PUSH2 0x1ed1
00001ecc: DUP4
00001ecd: PUSH2 0x25e9
00001ed0: JUMP
00001ed1: JUMPDEST
00001ed2: SWAP1
00001ed3: POP
00001ed4: PUSH2 0x1f15
00001ed7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001eec: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001f0d: AND
00001f0e: CALLER
00001f0f: ADDRESS
00001f10: DUP5
00001f11: PUSH2 0x39d6
00001f14: JUMP
00001f15: JUMPDEST
00001f16: PUSH2 0x1f1f
00001f19: DUP3
00001f1a: DUP5
00001f1b: PUSH2 0x3a95
00001f1e: JUMP
00001f1f: JUMPDEST
00001f20: PUSH1 0x40
00001f22: DUP1
00001f23: MLOAD
00001f24: DUP3
00001f25: DUP2
00001f26: MSTORE
00001f27: PUSH1 0x20
00001f29: DUP2
00001f2a: ADD
00001f2b: DUP6
00001f2c: SWAP1
00001f2d: MSTORE
00001f2e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f43: DUP5
00001f44: AND
00001f45: SWAP2
00001f46: CALLER
00001f47: SWAP2
00001f48: PUSH32 0xdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7
00001f69: SWAP2
00001f6a: ADD
00001f6b: PUSH2 0x1bd0
00001f6e: JUMP
00001f6f: JUMPDEST
00001f70: PUSH1 0x01
00001f72: DUP1
00001f73: SLOAD
00001f74: PUSH2 0x1062
00001f77: SWAP1
00001f78: PUSH2 0x584f
00001f7b: JUMP
00001f7c: JUMPDEST
00001f7d: PUSH2 0x1f84
00001f80: PUSH2 0x362e
00001f83: JUMP
00001f84: JUMPDEST
00001f85: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f9a: DUP2
00001f9b: AND
00001f9c: PUSH2 0x1fd1
00001f9f: JUMPI
00001fa0: PUSH1 0x40
00001fa2: MLOAD
00001fa3: PUSH32 0xd92e233d00000000000000000000000000000000000000000000000000000000
00001fc4: DUP2
00001fc5: MSTORE
00001fc6: PUSH1 0x04
00001fc8: ADD
00001fc9: PUSH1 0x40
00001fcb: MLOAD
00001fcc: DUP1
00001fcd: SWAP2
00001fce: SUB
00001fcf: SWAP1
00001fd0: REVERT
00001fd1: JUMPDEST
00001fd2: PUSH1 0x0b
00001fd4: DUP1
00001fd5: SLOAD
00001fd6: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00001ff7: AND
00001ff8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000200d: DUP4
0000200e: AND
0000200f: SWAP1
00002010: DUP2
00002011: OR
00002012: SWAP1
00002013: SWAP2
00002014: SSTORE
00002015: PUSH1 0x40
00002017: MLOAD
00002018: SWAP1
00002019: DUP2
0000201a: MSTORE
0000201b: CALLER
0000201c: SWAP1
0000201d: PUSH32 0xfb7a5f1d35a7022d9d6343bfc9a25035829d0ea72da06978793c945b1d94a17f
0000203e: SWAP1
0000203f: PUSH1 0x20
00002041: ADD
00002042: PUSH2 0x1302
00002045: JUMP
00002046: JUMPDEST
00002047: PUSH2 0x204e
0000204a: PUSH2 0x362e
0000204d: JUMP
0000204e: JUMPDEST
0000204f: PUSH2 0x2057
00002052: DUP3
00002053: PUSH2 0x393e
00002056: JUMP
00002057: JUMPDEST
00002058: DUP1
00002059: ISZERO
0000205a: DUP1
0000205b: ISZERO
0000205c: PUSH2 0x20ff
0000205f: JUMPI
00002060: POP
00002061: PUSH1 0x00
00002063: PUSH2 0x206d
00002066: PUSH1 0x0c
00002068: DUP5
00002069: PUSH2 0x3696
0000206c: JUMP
0000206d: JUMPDEST
0000206e: PUSH1 0x40
00002070: MLOAD
00002071: PUSH32 0x9b56d6c900000000000000000000000000000000000000000000000000000000
00002092: DUP2
00002093: MSTORE
00002094: ADDRESS
00002095: PUSH1 0x04
00002097: DUP3
00002098: ADD
00002099: MSTORE
0000209a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020af: SWAP2
000020b0: SWAP1
000020b1: SWAP2
000020b2: AND
000020b3: SWAP1
000020b4: PUSH4 0x9b56d6c9
000020b9: SWAP1
000020ba: PUSH1 0x24
000020bc: ADD
000020bd: PUSH1 0x20
000020bf: PUSH1 0x40
000020c1: MLOAD
000020c2: DUP1
000020c3: DUP4
000020c4: SUB
000020c5: DUP2
000020c6: DUP7
000020c7: GAS
000020c8: STATICCALL
000020c9: ISZERO
000020ca: DUP1
000020cb: ISZERO
000020cc: PUSH2 0x20d9
000020cf: JUMPI
000020d0: RETURNDATASIZE
000020d1: PUSH1 0x00
000020d3: DUP1
000020d4: RETURNDATACOPY
000020d5: RETURNDATASIZE
000020d6: PUSH1 0x00
000020d8: REVERT
000020d9: JUMPDEST
000020da: POP
000020db: POP
000020dc: POP
000020dd: POP
000020de: PUSH1 0x40
000020e0: MLOAD
000020e1: RETURNDATASIZE
000020e2: PUSH1 0x1f
000020e4: NOT
000020e5: PUSH1 0x1f
000020e7: DUP3
000020e8: ADD
000020e9: AND
000020ea: DUP3
000020eb: ADD
000020ec: DUP1
000020ed: PUSH1 0x40
000020ef: MSTORE
000020f0: POP
000020f1: DUP2
000020f2: ADD
000020f3: SWAP1
000020f4: PUSH2 0x20fd
000020f7: SWAP2
000020f8: SWAP1
000020f9: PUSH2 0x5823
000020fc: JUMP
000020fd: JUMPDEST
000020fe: GT
000020ff: JUMPDEST
00002100: ISZERO
00002101: PUSH2 0x2139
00002104: JUMPI
00002105: PUSH1 0x40
00002107: MLOAD
00002108: PUSH32 0x254de06900000000000000000000000000000000000000000000000000000000
00002129: DUP2
0000212a: MSTORE
0000212b: PUSH1 0x04
0000212d: DUP2
0000212e: ADD
0000212f: DUP4
00002130: SWAP1
00002131: MSTORE
00002132: PUSH1 0x24
00002134: ADD
00002135: PUSH2 0x1744
00002138: JUMP
00002139: JUMPDEST
0000213a: PUSH1 0x40
0000213c: DUP1
0000213d: MLOAD
0000213e: PUSH1 0x04
00002140: DUP2
00002141: MSTORE
00002142: PUSH1 0x24
00002144: DUP2
00002145: ADD
00002146: SWAP1
00002147: SWAP2
00002148: MSTORE
00002149: PUSH1 0x20
0000214b: DUP2
0000214c: ADD
0000214d: DUP1
0000214e: MLOAD
0000214f: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000216c: AND
0000216d: PUSH32 0x9265a7d500000000000000000000000000000000000000000000000000000000
0000218e: OR
0000218f: SWAP1
00002190: MSTORE
00002191: PUSH2 0x219b
00002194: SWAP1
00002195: DUP4
00002196: SWAP1
00002197: PUSH2 0x3980
0000219a: JUMP
0000219b: JUMPDEST
0000219c: PUSH2 0x21a6
0000219f: PUSH1 0x0c
000021a1: DUP4
000021a2: PUSH2 0x3e16
000021a5: JUMP
000021a6: JUMPDEST
000021a7: POP
000021a8: PUSH1 0x40
000021aa: MLOAD
000021ab: DUP3
000021ac: DUP2
000021ad: MSTORE
000021ae: CALLER
000021af: SWAP1
000021b0: PUSH32 0xce27e7409a7e5bc40ecb15d4e938f30ecc5e1e44b03b8f9517eb0a3bf906eccc
000021d1: SWAP1
000021d2: PUSH1 0x20
000021d4: ADD
000021d5: PUSH2 0x1ab5
000021d8: JUMP
000021d9: JUMPDEST
000021da: PUSH2 0x21e1
000021dd: PUSH2 0x35f5
000021e0: JUMP
000021e1: JUMPDEST
000021e2: PUSH8 0x0de0b6b3a7640000
000021eb: DUP2
000021ec: GT
000021ed: ISZERO
000021ee: PUSH2 0x2223
000021f1: JUMPI
000021f2: PUSH1 0x40
000021f4: MLOAD
000021f5: PUSH32 0xc31c0b6e00000000000000000000000000000000000000000000000000000000
00002216: DUP2
00002217: MSTORE
00002218: PUSH1 0x04
0000221a: ADD
0000221b: PUSH1 0x40
0000221d: MLOAD
0000221e: DUP1
0000221f: SWAP2
00002220: SUB
00002221: SWAP1
00002222: REVERT
00002223: JUMPDEST
00002224: PUSH1 0x40
00002226: MLOAD
00002227: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00002248: DUP2
00002249: MSTORE
0000224a: ADDRESS
0000224b: PUSH1 0x04
0000224d: DUP3
0000224e: ADD
0000224f: MSTORE
00002250: PUSH1 0x00
00002252: SWAP1
00002253: PUSH20 0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0
00002268: SWAP1
00002269: PUSH4 0x70a08231
0000226e: SWAP1
0000226f: PUSH1 0x24
00002271: ADD
00002272: PUSH1 0x20
00002274: PUSH1 0x40
00002276: MLOAD
00002277: DUP1
00002278: DUP4
00002279: SUB
0000227a: DUP2
0000227b: DUP7
0000227c: GAS
0000227d: STATICCALL
0000227e: ISZERO
0000227f: DUP1
00002280: ISZERO
00002281: PUSH2 0x228e
00002284: JUMPI
00002285: RETURNDATASIZE
00002286: PUSH1 0x00
00002288: DUP1
00002289: RETURNDATACOPY
0000228a: RETURNDATASIZE
0000228b: PUSH1 0x00
0000228d: REVERT
0000228e: JUMPDEST
0000228f: POP
00002290: POP
00002291: POP
00002292: POP
00002293: PUSH1 0x40
00002295: MLOAD
00002296: RETURNDATASIZE
00002297: PUSH1 0x1f
00002299: NOT
0000229a: PUSH1 0x1f
0000229c: DUP3
0000229d: ADD
0000229e: AND
0000229f: DUP3
000022a0: ADD
000022a1: DUP1
000022a2: PUSH1 0x40
000022a4: MSTORE
000022a5: POP
000022a6: DUP2
000022a7: ADD
000022a8: SWAP1
000022a9: PUSH2 0x22b2
000022ac: SWAP2
000022ad: SWAP1
000022ae: PUSH2 0x5823
000022b1: JUMP
000022b2: JUMPDEST
000022b3: SWAP1
000022b4: POP
000022b5: DUP1
000022b6: DUP4
000022b7: GT
000022b8: ISZERO
000022b9: PUSH2 0x22c0
000022bc: JUMPI
000022bd: DUP1
000022be: SWAP3
000022bf: POP
000022c0: JUMPDEST
000022c1: PUSH1 0x40
000022c3: MLOAD
000022c4: PUSH32 0xde0e9a3e00000000000000000000000000000000000000000000000000000000
000022e5: DUP2
000022e6: MSTORE
000022e7: PUSH1 0x04
000022e9: DUP2
000022ea: ADD
000022eb: DUP5
000022ec: SWAP1
000022ed: MSTORE
000022ee: PUSH1 0x00
000022f0: SWAP1
000022f1: PUSH20 0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0
00002306: SWAP1
00002307: PUSH4 0xde0e9a3e
0000230c: SWAP1
0000230d: PUSH1 0x24
0000230f: ADD
00002310: PUSH1 0x20
00002312: PUSH1 0x40
00002314: MLOAD
00002315: DUP1
00002316: DUP4
00002317: SUB
00002318: DUP2
00002319: PUSH1 0x00
0000231b: DUP8
0000231c: GAS
0000231d: CALL
0000231e: ISZERO
0000231f: DUP1
00002320: ISZERO
00002321: PUSH2 0x232e
00002324: JUMPI
00002325: RETURNDATASIZE
00002326: PUSH1 0x00
00002328: DUP1
00002329: RETURNDATACOPY
0000232a: RETURNDATASIZE
0000232b: PUSH1 0x00
0000232d: REVERT
0000232e: JUMPDEST
0000232f: POP
00002330: POP
00002331: POP
00002332: POP
00002333: PUSH1 0x40
00002335: MLOAD
00002336: RETURNDATASIZE
00002337: PUSH1 0x1f
00002339: NOT
0000233a: PUSH1 0x1f
0000233c: DUP3
0000233d: ADD
0000233e: AND
0000233f: DUP3
00002340: ADD
00002341: DUP1
00002342: PUSH1 0x40
00002344: MSTORE
00002345: POP
00002346: DUP2
00002347: ADD
00002348: SWAP1
00002349: PUSH2 0x2352
0000234c: SWAP2
0000234d: SWAP1
0000234e: PUSH2 0x5823
00002351: JUMP
00002352: JUMPDEST
00002353: SWAP1
00002354: POP
00002355: PUSH1 0x00
00002357: PUSH2 0x23fc
0000235a: DUP5
0000235b: PUSH32 0x000000000000000000000000d76b0ff4a487cafe4e19ed15b73f12f6a92095ca
0000237c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002391: AND
00002392: PUSH4 0x1a612da6
00002397: DUP6
00002398: PUSH1 0x40
0000239a: MLOAD
0000239b: DUP3
0000239c: PUSH4 0xffffffff
000023a1: AND
000023a2: PUSH1 0xe0
000023a4: SHL
000023a5: DUP2
000023a6: MSTORE
000023a7: PUSH1 0x04
000023a9: ADD
000023aa: PUSH2 0x23b5
000023ad: SWAP2
000023ae: DUP2
000023af: MSTORE
000023b0: PUSH1 0x20
000023b2: ADD
000023b3: SWAP1
000023b4: JUMP
000023b5: JUMPDEST
000023b6: PUSH1 0x20
000023b8: PUSH1 0x40
000023ba: MLOAD
000023bb: DUP1
000023bc: DUP4
000023bd: SUB
000023be: DUP2
000023bf: DUP7
000023c0: GAS
000023c1: STATICCALL
000023c2: ISZERO
000023c3: DUP1
000023c4: ISZERO
000023c5: PUSH2 0x23d2
000023c8: JUMPI
000023c9: RETURNDATASIZE
000023ca: PUSH1 0x00
000023cc: DUP1
000023cd: RETURNDATACOPY
000023ce: RETURNDATASIZE
000023cf: PUSH1 0x00
000023d1: REVERT
000023d2: JUMPDEST
000023d3: POP
000023d4: POP
000023d5: POP
000023d6: POP
000023d7: PUSH1 0x40
000023d9: MLOAD
000023da: RETURNDATASIZE
000023db: PUSH1 0x1f
000023dd: NOT
000023de: PUSH1 0x1f
000023e0: DUP3
000023e1: ADD
000023e2: AND
000023e3: DUP3
000023e4: ADD
000023e5: DUP1
000023e6: PUSH1 0x40
000023e8: MSTORE
000023e9: POP
000023ea: DUP2
000023eb: ADD
000023ec: SWAP1
000023ed: PUSH2 0x23f6
000023f0: SWAP2
000023f1: SWAP1
000023f2: PUSH2 0x5823
000023f5: JUMP
000023f6: JUMPDEST
000023f7: SWAP1
000023f8: PUSH2 0x3e22
000023fb: JUMP
000023fc: JUMPDEST
000023fd: PUSH1 0x40
000023ff: MLOAD
00002400: PUSH1 0x24
00002402: DUP2
00002403: ADD
00002404: DUP5
00002405: SWAP1
00002406: MSTORE
00002407: PUSH1 0x44
00002409: DUP2
0000240a: ADD
0000240b: DUP3
0000240c: SWAP1
0000240d: MSTORE
0000240e: SWAP1
0000240f: SWAP2
00002410: POP
00002411: PUSH2 0x243e
00002414: SWAP1
00002415: PUSH32 0x0d3d0a6400000000000000000000000000000000000000000000000000000000
00002436: SWAP1
00002437: PUSH1 0x64
00002439: ADD
0000243a: PUSH2 0x11e5
0000243d: JUMP
0000243e: JUMPDEST
0000243f: POP
00002440: POP
00002441: POP
00002442: POP
00002443: POP
00002444: POP
00002445: JUMP
00002446: JUMPDEST
00002447: PUSH2 0x244e
0000244a: PUSH2 0x35f5
0000244d: JUMP
0000244e: JUMPDEST
0000244f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002464: DUP6
00002465: AND
00002466: PUSH1 0x00
00002468: SWAP1
00002469: DUP2
0000246a: MSTORE
0000246b: PUSH1 0x0f
0000246d: PUSH1 0x20
0000246f: MSTORE
00002470: PUSH1 0x40
00002472: SWAP1
00002473: KECCAK256
00002474: SLOAD
00002475: PUSH1 0xff
00002477: AND
00002478: PUSH2 0x24c5
0000247b: JUMPI
0000247c: PUSH1 0x40
0000247e: MLOAD
0000247f: PUSH32 0xcc2342f100000000000000000000000000000000000000000000000000000000
000024a0: DUP2
000024a1: MSTORE
000024a2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000024b7: DUP7
000024b8: AND
000024b9: PUSH1 0x04
000024bb: DUP3
000024bc: ADD
000024bd: MSTORE
000024be: PUSH1 0x24
000024c0: ADD
000024c1: PUSH2 0x1744
000024c4: JUMP
000024c5: JUMPDEST
000024c6: PUSH1 0x00
000024c8: PUSH2 0x24ed
000024cb: PUSH4 0x1f2913d2
000024d0: PUSH1 0xe0
000024d2: SHL
000024d3: DUP9
000024d4: DUP9
000024d5: DUP9
000024d6: DUP7
000024d7: DUP10
000024d8: DUP10
000024d9: PUSH1 0x40
000024db: MLOAD
000024dc: PUSH1 0x24
000024de: ADD
000024df: PUSH2 0x11e5
000024e2: SWAP7
000024e3: SWAP6
000024e4: SWAP5
000024e5: SWAP4
000024e6: SWAP3
000024e7: SWAP2
000024e8: SWAP1
000024e9: PUSH2 0x59a5
000024ec: JUMP
000024ed: JUMPDEST
000024ee: SWAP1
000024ef: POP
000024f0: PUSH32 0xd5a1cd88ddd329cc1ddf861a21708efa9ef3136b88e1420c21f91ef6f95ad024
00002511: DUP8
00002512: DUP7
00002513: DUP4
00002514: DUP1
00002515: PUSH1 0x20
00002517: ADD
00002518: SWAP1
00002519: MLOAD
0000251a: DUP2
0000251b: ADD
0000251c: SWAP1
0000251d: PUSH2 0x2526
00002520: SWAP2
00002521: SWAP1
00002522: PUSH2 0x5823
00002525: JUMP
00002526: JUMPDEST
00002527: PUSH1 0x40
00002529: DUP1
0000252a: MLOAD
0000252b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002540: SWAP1
00002541: SWAP5
00002542: AND
00002543: DUP5
00002544: MSTORE
00002545: PUSH1 0x20
00002547: DUP5
00002548: ADD
00002549: SWAP3
0000254a: SWAP1
0000254b: SWAP3
0000254c: MSTORE
0000254d: SWAP1
0000254e: DUP3
0000254f: ADD
00002550: MSTORE
00002551: PUSH1 0x60
00002553: ADD
00002554: PUSH1 0x40
00002556: MLOAD
00002557: DUP1
00002558: SWAP2
00002559: SUB
0000255a: SWAP1
0000255b: LOG1
0000255c: POP
0000255d: POP
0000255e: POP
0000255f: POP
00002560: POP
00002561: POP
00002562: POP
00002563: JUMP
00002564: JUMPDEST
00002565: CALLER
00002566: PUSH1 0x00
00002568: SWAP1
00002569: DUP2
0000256a: MSTORE
0000256b: PUSH1 0x03
0000256d: PUSH1 0x20
0000256f: MSTORE
00002570: PUSH1 0x40
00002572: DUP2
00002573: KECCAK256
00002574: DUP1
00002575: SLOAD
00002576: DUP4
00002577: SWAP2
00002578: SWAP1
00002579: DUP4
0000257a: SWAP1
0000257b: PUSH2 0x2585
0000257e: SWAP1
0000257f: DUP5
00002580: SWAP1
00002581: PUSH2 0x5810
00002584: JUMP
00002585: JUMPDEST
00002586: SWAP1
00002587: SWAP2
00002588: SSTORE
00002589: POP
0000258a: POP
0000258b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000025a0: DUP4
000025a1: AND
000025a2: PUSH1 0x00
000025a4: DUP2
000025a5: DUP2
000025a6: MSTORE
000025a7: PUSH1 0x03
000025a9: PUSH1 0x20
000025ab: MSTORE
000025ac: PUSH1 0x40
000025ae: SWAP1
000025af: DUP2
000025b0: SWAP1
000025b1: KECCAK256
000025b2: DUP1
000025b3: SLOAD
000025b4: DUP6
000025b5: ADD
000025b6: SWAP1
000025b7: SSTORE
000025b8: MLOAD
000025b9: CALLER
000025ba: SWAP1
000025bb: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
000025dc: SWAP1
000025dd: PUSH2 0x1178
000025e0: SWAP1
000025e1: DUP7
000025e2: DUP2
000025e3: MSTORE
000025e4: PUSH1 0x20
000025e6: ADD
000025e7: SWAP1
000025e8: JUMP
000025e9: JUMPDEST
000025ea: PUSH1 0x02
000025ec: SLOAD
000025ed: PUSH1 0x00
000025ef: SWAP1
000025f0: DUP1
000025f1: ISZERO
000025f2: PUSH2 0x1107
000025f5: JUMPI
000025f6: PUSH2 0x1102
000025f9: PUSH2 0x2600
000025fc: PUSH2 0x0ede
000025ff: JUMP
00002600: JUMPDEST
00002601: DUP5
00002602: SWAP1
00002603: DUP4
00002604: PUSH2 0x35b1
00002607: JUMP
00002608: JUMPDEST
00002609: PUSH1 0x00
0000260b: PUSH2 0x2613
0000260e: DUP5
0000260f: PUSH2 0x1189
00002612: JUMP
00002613: JUMPDEST
00002614: SWAP1
00002615: POP
00002616: CALLER
00002617: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000262c: DUP4
0000262d: AND
0000262e: EQ
0000262f: PUSH2 0x26c8
00002632: JUMPI
00002633: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002648: DUP3
00002649: AND
0000264a: PUSH1 0x00
0000264c: SWAP1
0000264d: DUP2
0000264e: MSTORE
0000264f: PUSH1 0x04
00002651: PUSH1 0x20
00002653: SWAP1
00002654: DUP2
00002655: MSTORE
00002656: PUSH1 0x40
00002658: DUP1
00002659: DUP4
0000265a: KECCAK256
0000265b: CALLER
0000265c: DUP5
0000265d: MSTORE
0000265e: SWAP1
0000265f: SWAP2
00002660: MSTORE
00002661: SWAP1
00002662: KECCAK256
00002663: SLOAD
00002664: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002685: DUP2
00002686: EQ
00002687: PUSH2 0x26c6
0000268a: JUMPI
0000268b: PUSH2 0x2694
0000268e: DUP3
0000268f: DUP3
00002690: PUSH2 0x5810
00002693: JUMP
00002694: JUMPDEST
00002695: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000026aa: DUP5
000026ab: AND
000026ac: PUSH1 0x00
000026ae: SWAP1
000026af: DUP2
000026b0: MSTORE
000026b1: PUSH1 0x04
000026b3: PUSH1 0x20
000026b5: SWAP1
000026b6: DUP2
000026b7: MSTORE
000026b8: PUSH1 0x40
000026ba: DUP1
000026bb: DUP4
000026bc: KECCAK256
000026bd: CALLER
000026be: DUP5
000026bf: MSTORE
000026c0: SWAP1
000026c1: SWAP2
000026c2: MSTORE
000026c3: SWAP1
000026c4: KECCAK256
000026c5: SSTORE
000026c6: JUMPDEST
000026c7: POP
000026c8: JUMPDEST
000026c9: PUSH2 0x26d2
000026cc: DUP5
000026cd: DUP3
000026ce: PUSH2 0x3e37
000026d1: JUMP
000026d2: JUMPDEST
000026d3: PUSH2 0x26dc
000026d6: DUP3
000026d7: DUP3
000026d8: PUSH2 0x3f1c
000026db: JUMP
000026dc: JUMPDEST
000026dd: PUSH1 0x40
000026df: MLOAD
000026e0: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00002701: DUP2
00002702: MSTORE
00002703: ADDRESS
00002704: PUSH1 0x04
00002706: DUP3
00002707: ADD
00002708: MSTORE
00002709: PUSH1 0x00
0000270b: SWAP1
0000270c: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
0000272d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002742: AND
00002743: SWAP1
00002744: PUSH4 0x70a08231
00002749: SWAP1
0000274a: PUSH1 0x24
0000274c: ADD
0000274d: PUSH1 0x20
0000274f: PUSH1 0x40
00002751: MLOAD
00002752: DUP1
00002753: DUP4
00002754: SUB
00002755: DUP2
00002756: DUP7
00002757: GAS
00002758: STATICCALL
00002759: ISZERO
0000275a: DUP1
0000275b: ISZERO
0000275c: PUSH2 0x2769
0000275f: JUMPI
00002760: RETURNDATASIZE
00002761: PUSH1 0x00
00002763: DUP1
00002764: RETURNDATACOPY
00002765: RETURNDATASIZE
00002766: PUSH1 0x00
00002768: REVERT
00002769: JUMPDEST
0000276a: POP
0000276b: POP
0000276c: POP
0000276d: POP
0000276e: PUSH1 0x40
00002770: MLOAD
00002771: RETURNDATASIZE
00002772: PUSH1 0x1f
00002774: NOT
00002775: PUSH1 0x1f
00002777: DUP3
00002778: ADD
00002779: AND
0000277a: DUP3
0000277b: ADD
0000277c: DUP1
0000277d: PUSH1 0x40
0000277f: MSTORE
00002780: POP
00002781: DUP2
00002782: ADD
00002783: SWAP1
00002784: PUSH2 0x278d
00002787: SWAP2
00002788: SWAP1
00002789: PUSH2 0x5823
0000278c: JUMP
0000278d: JUMPDEST
0000278e: SWAP1
0000278f: POP
00002790: DUP1
00002791: DUP6
00002792: GT
00002793: ISZERO
00002794: PUSH2 0x279b
00002797: JUMPI
00002798: DUP1
00002799: SWAP5
0000279a: POP
0000279b: JUMPDEST
0000279c: PUSH1 0x40
0000279e: DUP1
0000279f: MLOAD
000027a0: DUP7
000027a1: DUP2
000027a2: MSTORE
000027a3: PUSH1 0x20
000027a5: DUP2
000027a6: ADD
000027a7: DUP5
000027a8: SWAP1
000027a9: MSTORE
000027aa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027bf: DUP1
000027c0: DUP7
000027c1: AND
000027c2: SWAP3
000027c3: SWAP1
000027c4: DUP8
000027c5: AND
000027c6: SWAP2
000027c7: CALLER
000027c8: SWAP2
000027c9: PUSH32 0xfbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db
000027ea: SWAP2
000027eb: ADD
000027ec: PUSH1 0x40
000027ee: MLOAD
000027ef: DUP1
000027f0: SWAP2
000027f1: SUB
000027f2: SWAP1
000027f3: LOG4
000027f4: PUSH2 0x2834
000027f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000280c: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
0000282d: AND
0000282e: DUP6
0000282f: DUP8
00002830: PUSH2 0x3faa
00002833: JUMP
00002834: JUMPDEST
00002835: POP
00002836: SWAP4
00002837: SWAP3
00002838: POP
00002839: POP
0000283a: POP
0000283b: JUMP
0000283c: JUMPDEST
0000283d: PUSH1 0x00
0000283f: CALLER
00002840: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002855: DUP4
00002856: AND
00002857: EQ
00002858: PUSH2 0x28f1
0000285b: JUMPI
0000285c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002871: DUP3
00002872: AND
00002873: PUSH1 0x00
00002875: SWAP1
00002876: DUP2
00002877: MSTORE
00002878: PUSH1 0x04
0000287a: PUSH1 0x20
0000287c: SWAP1
0000287d: DUP2
0000287e: MSTORE
0000287f: PUSH1 0x40
00002881: DUP1
00002882: DUP4
00002883: KECCAK256
00002884: CALLER
00002885: DUP5
00002886: MSTORE
00002887: SWAP1
00002888: SWAP2
00002889: MSTORE
0000288a: SWAP1
0000288b: KECCAK256
0000288c: SLOAD
0000288d: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000028ae: DUP2
000028af: EQ
000028b0: PUSH2 0x28ef
000028b3: JUMPI
000028b4: PUSH2 0x28bd
000028b7: DUP6
000028b8: DUP3
000028b9: PUSH2 0x5810
000028bc: JUMP
000028bd: JUMPDEST
000028be: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000028d3: DUP5
000028d4: AND
000028d5: PUSH1 0x00
000028d7: SWAP1
000028d8: DUP2
000028d9: MSTORE
000028da: PUSH1 0x04
000028dc: PUSH1 0x20
000028de: SWAP1
000028df: DUP2
000028e0: MSTORE
000028e1: PUSH1 0x40
000028e3: DUP1
000028e4: DUP4
000028e5: KECCAK256
000028e6: CALLER
000028e7: DUP5
000028e8: MSTORE
000028e9: SWAP1
000028ea: SWAP2
000028eb: MSTORE
000028ec: SWAP1
000028ed: KECCAK256
000028ee: SSTORE
000028ef: JUMPDEST
000028f0: POP
000028f1: JUMPDEST
000028f2: PUSH2 0x28fa
000028f5: DUP5
000028f6: PUSH2 0x1833
000028f9: JUMP
000028fa: JUMPDEST
000028fb: SWAP1
000028fc: POP
000028fd: DUP1
000028fe: PUSH1 0x00
00002900: SUB
00002901: PUSH2 0x2966
00002904: JUMPI
00002905: PUSH1 0x40
00002907: MLOAD
00002908: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002929: DUP2
0000292a: MSTORE
0000292b: PUSH1 0x20
0000292d: PUSH1 0x04
0000292f: DUP3
00002930: ADD
00002931: MSTORE
00002932: PUSH1 0x0b
00002934: PUSH1 0x24
00002936: DUP3
00002937: ADD
00002938: MSTORE
00002939: PUSH32 0x5a45524f5f415353455453000000000000000000000000000000000000000000
0000295a: PUSH1 0x44
0000295c: DUP3
0000295d: ADD
0000295e: MSTORE
0000295f: PUSH1 0x64
00002961: ADD
00002962: PUSH2 0x1744
00002965: JUMP
00002966: JUMPDEST
00002967: PUSH2 0x2970
0000296a: DUP2
0000296b: DUP6
0000296c: PUSH2 0x3e37
0000296f: JUMP
00002970: JUMPDEST
00002971: PUSH2 0x297a
00002974: DUP3
00002975: DUP6
00002976: PUSH2 0x3f1c
00002979: JUMP
0000297a: JUMPDEST
0000297b: PUSH1 0x40
0000297d: MLOAD
0000297e: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
0000299f: DUP2
000029a0: MSTORE
000029a1: ADDRESS
000029a2: PUSH1 0x04
000029a4: DUP3
000029a5: ADD
000029a6: MSTORE
000029a7: PUSH1 0x00
000029a9: SWAP1
000029aa: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000029cb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000029e0: AND
000029e1: SWAP1
000029e2: PUSH4 0x70a08231
000029e7: SWAP1
000029e8: PUSH1 0x24
000029ea: ADD
000029eb: PUSH1 0x20
000029ed: PUSH1 0x40
000029ef: MLOAD
000029f0: DUP1
000029f1: DUP4
000029f2: SUB
000029f3: DUP2
000029f4: DUP7
000029f5: GAS
000029f6: STATICCALL
000029f7: ISZERO
000029f8: DUP1
000029f9: ISZERO
000029fa: PUSH2 0x2a07
000029fd: JUMPI
000029fe: RETURNDATASIZE
000029ff: PUSH1 0x00
00002a01: DUP1
00002a02: RETURNDATACOPY
00002a03: RETURNDATASIZE
00002a04: PUSH1 0x00
00002a06: REVERT
00002a07: JUMPDEST
00002a08: POP
00002a09: POP
00002a0a: POP
00002a0b: POP
00002a0c: PUSH1 0x40
00002a0e: MLOAD
00002a0f: RETURNDATASIZE
00002a10: PUSH1 0x1f
00002a12: NOT
00002a13: PUSH1 0x1f
00002a15: DUP3
00002a16: ADD
00002a17: AND
00002a18: DUP3
00002a19: ADD
00002a1a: DUP1
00002a1b: PUSH1 0x40
00002a1d: MSTORE
00002a1e: POP
00002a1f: DUP2
00002a20: ADD
00002a21: SWAP1
00002a22: PUSH2 0x2a2b
00002a25: SWAP2
00002a26: SWAP1
00002a27: PUSH2 0x5823
00002a2a: JUMP
00002a2b: JUMPDEST
00002a2c: SWAP1
00002a2d: POP
00002a2e: DUP1
00002a2f: DUP3
00002a30: GT
00002a31: ISZERO
00002a32: PUSH2 0x2a39
00002a35: JUMPI
00002a36: DUP1
00002a37: SWAP2
00002a38: POP
00002a39: JUMPDEST
00002a3a: PUSH1 0x40
00002a3c: DUP1
00002a3d: MLOAD
00002a3e: DUP4
00002a3f: DUP2
00002a40: MSTORE
00002a41: PUSH1 0x20
00002a43: DUP2
00002a44: ADD
00002a45: DUP8
00002a46: SWAP1
00002a47: MSTORE
00002a48: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a5d: DUP1
00002a5e: DUP7
00002a5f: AND
00002a60: SWAP3
00002a61: SWAP1
00002a62: DUP8
00002a63: AND
00002a64: SWAP2
00002a65: CALLER
00002a66: SWAP2
00002a67: PUSH32 0xfbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db
00002a88: SWAP2
00002a89: ADD
00002a8a: PUSH1 0x40
00002a8c: MLOAD
00002a8d: DUP1
00002a8e: SWAP2
00002a8f: SUB
00002a90: SWAP1
00002a91: LOG4
00002a92: PUSH2 0x2834
00002a95: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002aaa: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00002acb: AND
00002acc: DUP6
00002acd: DUP5
00002ace: PUSH2 0x3faa
00002ad1: JUMP
00002ad2: JUMPDEST
00002ad3: PUSH1 0x02
00002ad5: SLOAD
00002ad6: PUSH1 0x00
00002ad8: SWAP1
00002ad9: DUP1
00002ada: ISZERO
00002adb: PUSH2 0x1107
00002ade: JUMPI
00002adf: PUSH2 0x1102
00002ae2: DUP2
00002ae3: PUSH2 0x2aea
00002ae6: PUSH2 0x0ede
00002ae9: JUMP
00002aea: JUMPDEST
00002aeb: DUP6
00002aec: SWAP2
00002aed: SWAP1
00002aee: PUSH2 0x3575
00002af1: JUMP
00002af2: JUMPDEST
00002af3: PUSH2 0x2afa
00002af6: PUSH2 0x362e
00002af9: JUMP
00002afa: JUMPDEST
00002afb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b10: DUP3
00002b11: AND
00002b12: PUSH2 0x2b47
00002b15: JUMPI
00002b16: PUSH1 0x40
00002b18: MLOAD
00002b19: PUSH32 0xd92e233d00000000000000000000000000000000000000000000000000000000
00002b3a: DUP2
00002b3b: MSTORE
00002b3c: PUSH1 0x04
00002b3e: ADD
00002b3f: PUSH1 0x40
00002b41: MLOAD
00002b42: DUP1
00002b43: SWAP2
00002b44: SUB
00002b45: SWAP1
00002b46: REVERT
00002b47: JUMPDEST
00002b48: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b5d: DUP3
00002b5e: AND
00002b5f: PUSH1 0x00
00002b61: DUP2
00002b62: DUP2
00002b63: MSTORE
00002b64: PUSH1 0x0f
00002b66: PUSH1 0x20
00002b68: SWAP1
00002b69: DUP2
00002b6a: MSTORE
00002b6b: PUSH1 0x40
00002b6d: SWAP2
00002b6e: DUP3
00002b6f: SWAP1
00002b70: KECCAK256
00002b71: DUP1
00002b72: SLOAD
00002b73: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00002b94: AND
00002b95: DUP6
00002b96: ISZERO
00002b97: ISZERO
00002b98: SWAP1
00002b99: DUP2
00002b9a: OR
00002b9b: SWAP1
00002b9c: SWAP2
00002b9d: SSTORE
00002b9e: DUP3
00002b9f: MLOAD
00002ba0: SWAP4
00002ba1: DUP5
00002ba2: MSTORE
00002ba3: SWAP1
00002ba4: DUP4
00002ba5: ADD
00002ba6: MSTORE
00002ba7: PUSH32 0xef81a9943b96c8df4ef243401c9bf5159146166211356898b52d382086168d92
00002bc8: SWAP2
00002bc9: ADD
00002bca: PUSH1 0x40
00002bcc: MLOAD
00002bcd: DUP1
00002bce: SWAP2
00002bcf: SUB
00002bd0: SWAP1
00002bd1: LOG1
00002bd2: POP
00002bd3: POP
00002bd4: JUMP
00002bd5: JUMPDEST
00002bd6: PUSH2 0x2bdd
00002bd9: PUSH2 0x35f5
00002bdc: JUMP
00002bdd: JUMPDEST
00002bde: PUSH1 0x00
00002be0: PUSH2 0x2bea
00002be3: PUSH1 0x0c
00002be5: DUP6
00002be6: PUSH2 0x3696
00002be9: JUMP
00002bea: JUMPDEST
00002beb: SWAP1
00002bec: POP
00002bed: PUSH2 0x2c0b
00002bf0: DUP2
00002bf1: PUSH4 0x35403023
00002bf6: PUSH1 0xe0
00002bf8: SHL
00002bf9: DUP6
00002bfa: PUSH1 0x40
00002bfc: MLOAD
00002bfd: PUSH1 0x24
00002bff: ADD
00002c00: PUSH2 0x153a
00002c03: SWAP2
00002c04: DUP2
00002c05: MSTORE
00002c06: PUSH1 0x20
00002c08: ADD
00002c09: SWAP1
00002c0a: JUMP
00002c0b: JUMPDEST
00002c0c: PUSH2 0x2c2a
00002c0f: DUP2
00002c10: PUSH4 0xc5ebeaec
00002c15: PUSH1 0xe0
00002c17: SHL
00002c18: DUP5
00002c19: PUSH1 0x40
00002c1b: MLOAD
00002c1c: PUSH1 0x24
00002c1e: ADD
00002c1f: PUSH2 0x153a
00002c22: SWAP2
00002c23: DUP2
00002c24: MSTORE
00002c25: PUSH1 0x20
00002c27: ADD
00002c28: SWAP1
00002c29: JUMP
00002c2a: JUMPDEST
00002c2b: PUSH1 0x40
00002c2d: DUP1
00002c2e: MLOAD
00002c2f: DUP6
00002c30: DUP2
00002c31: MSTORE
00002c32: PUSH1 0x20
00002c34: DUP2
00002c35: ADD
00002c36: DUP6
00002c37: SWAP1
00002c38: MSTORE
00002c39: SWAP1
00002c3a: DUP2
00002c3b: ADD
00002c3c: DUP4
00002c3d: SWAP1
00002c3e: MSTORE
00002c3f: PUSH32 0x9d9f44c86bd2cc36321fd3804a52754697914b32070b66b56b07270ef44fed1d
00002c60: SWAP1
00002c61: PUSH1 0x60
00002c63: ADD
00002c64: PUSH2 0x1615
00002c67: JUMP
00002c68: JUMPDEST
00002c69: PUSH2 0x2c70
00002c6c: PUSH2 0x362e
00002c6f: JUMP
00002c70: JUMPDEST
00002c71: PUSH8 0x0de0b6b3a7640000
00002c7a: DUP2
00002c7b: GT
00002c7c: ISZERO
00002c7d: PUSH2 0x2cb2
00002c80: JUMPI
00002c81: PUSH1 0x40
00002c83: MLOAD
00002c84: PUSH32 0x7bfb537900000000000000000000000000000000000000000000000000000000
00002ca5: DUP2
00002ca6: MSTORE
00002ca7: PUSH1 0x04
00002ca9: ADD
00002caa: PUSH1 0x40
00002cac: MLOAD
00002cad: DUP1
00002cae: SWAP2
00002caf: SUB
00002cb0: SWAP1
00002cb1: REVERT
00002cb2: JUMPDEST
00002cb3: PUSH1 0x09
00002cb5: DUP2
00002cb6: SWAP1
00002cb7: SSTORE
00002cb8: PUSH1 0x40
00002cba: MLOAD
00002cbb: DUP2
00002cbc: DUP2
00002cbd: MSTORE
00002cbe: CALLER
00002cbf: SWAP1
00002cc0: PUSH32 0xb414942c66de9d94d6f12b7818ecb6c326ee7f58980297cfba9a54b979e01d33
00002ce1: SWAP1
00002ce2: PUSH1 0x20
00002ce4: ADD
00002ce5: PUSH2 0x1302
00002ce8: JUMP
00002ce9: JUMPDEST
00002cea: PUSH1 0x00
00002cec: PUSH2 0x2cf4
00002cef: DUP3
00002cf0: PUSH2 0x1c5e
00002cf3: JUMP
00002cf4: JUMPDEST
00002cf5: PUSH2 0x2d00
00002cf8: JUMPI
00002cf9: POP
00002cfa: PUSH1 0x00
00002cfc: SWAP2
00002cfd: SWAP1
00002cfe: POP
00002cff: JUMP
00002d00: JUMPDEST
00002d01: PUSH2 0x2d0b
00002d04: PUSH1 0x0c
00002d06: DUP4
00002d07: PUSH2 0x3696
00002d0a: JUMP
00002d0b: JUMPDEST
00002d0c: PUSH1 0x40
00002d0e: MLOAD
00002d0f: PUSH32 0x9a78e72e00000000000000000000000000000000000000000000000000000000
00002d30: DUP2
00002d31: MSTORE
00002d32: ADDRESS
00002d33: PUSH1 0x04
00002d35: DUP3
00002d36: ADD
00002d37: MSTORE
00002d38: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002d4d: SWAP2
00002d4e: SWAP1
00002d4f: SWAP2
00002d50: AND
00002d51: SWAP1
00002d52: PUSH4 0x9a78e72e
00002d57: SWAP1
00002d58: PUSH1 0x24
00002d5a: ADD
00002d5b: PUSH2 0x14c3
00002d5e: JUMP
00002d5f: JUMPDEST
00002d60: PUSH2 0x2d67
00002d63: PUSH2 0x3b1a
00002d66: JUMP
00002d67: JUMPDEST
00002d68: PUSH2 0x2d70
00002d6b: DUP2
00002d6c: PUSH2 0x4063
00002d6f: JUMP
00002d70: JUMPDEST
00002d71: POP
00002d72: JUMP
00002d73: JUMPDEST
00002d74: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002d89: DUP2
00002d8a: AND
00002d8b: PUSH1 0x00
00002d8d: SWAP1
00002d8e: DUP2
00002d8f: MSTORE
00002d90: PUSH1 0x03
00002d92: PUSH1 0x20
00002d94: MSTORE
00002d95: PUSH1 0x40
00002d97: DUP2
00002d98: KECCAK256
00002d99: SLOAD
00002d9a: PUSH2 0x104f
00002d9d: SWAP1
00002d9e: PUSH2 0x10e3
00002da1: JUMP
00002da2: JUMPDEST
00002da3: TIMESTAMP
00002da4: DUP5
00002da5: LT
00002da6: ISZERO
00002da7: PUSH2 0x2e0c
00002daa: JUMPI
00002dab: PUSH1 0x40
00002dad: MLOAD
00002dae: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002dcf: DUP2
00002dd0: MSTORE
00002dd1: PUSH1 0x20
00002dd3: PUSH1 0x04
00002dd5: DUP3
00002dd6: ADD
00002dd7: MSTORE
00002dd8: PUSH1 0x17
00002dda: PUSH1 0x24
00002ddc: DUP3
00002ddd: ADD
00002dde: MSTORE
00002ddf: PUSH32 0x5045524d49545f444541444c494e455f45585049524544000000000000000000
00002e00: PUSH1 0x44
00002e02: DUP3
00002e03: ADD
00002e04: MSTORE
00002e05: PUSH1 0x64
00002e07: ADD
00002e08: PUSH2 0x1744
00002e0b: JUMP
00002e0c: JUMPDEST
00002e0d: PUSH1 0x00
00002e0f: PUSH1 0x01
00002e11: PUSH2 0x2e18
00002e14: PUSH2 0x164d
00002e17: JUMP
00002e18: JUMPDEST
00002e19: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e2e: DUP11
00002e2f: DUP2
00002e30: AND
00002e31: PUSH1 0x00
00002e33: DUP2
00002e34: DUP2
00002e35: MSTORE
00002e36: PUSH1 0x05
00002e38: PUSH1 0x20
00002e3a: SWAP1
00002e3b: DUP2
00002e3c: MSTORE
00002e3d: PUSH1 0x40
00002e3f: SWAP2
00002e40: DUP3
00002e41: SWAP1
00002e42: KECCAK256
00002e43: DUP1
00002e44: SLOAD
00002e45: PUSH1 0x01
00002e47: DUP2
00002e48: ADD
00002e49: SWAP1
00002e4a: SWAP2
00002e4b: SSTORE
00002e4c: DUP3
00002e4d: MLOAD
00002e4e: PUSH32 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9
00002e6f: DUP2
00002e70: DUP5
00002e71: ADD
00002e72: MSTORE
00002e73: DUP1
00002e74: DUP5
00002e75: ADD
00002e76: SWAP5
00002e77: SWAP1
00002e78: SWAP5
00002e79: MSTORE
00002e7a: SWAP4
00002e7b: DUP14
00002e7c: AND
00002e7d: PUSH1 0x60
00002e7f: DUP5
00002e80: ADD
00002e81: MSTORE
00002e82: PUSH1 0x80
00002e84: DUP4
00002e85: ADD
00002e86: DUP13
00002e87: SWAP1
00002e88: MSTORE
00002e89: PUSH1 0xa0
00002e8b: DUP4
00002e8c: ADD
00002e8d: SWAP4
00002e8e: SWAP1
00002e8f: SWAP4
00002e90: MSTORE
00002e91: PUSH1 0xc0
00002e93: DUP1
00002e94: DUP4
00002e95: ADD
00002e96: DUP12
00002e97: SWAP1
00002e98: MSTORE
00002e99: DUP2
00002e9a: MLOAD
00002e9b: DUP1
00002e9c: DUP5
00002e9d: SUB
00002e9e: SWAP1
00002e9f: SWAP2
00002ea0: ADD
00002ea1: DUP2
00002ea2: MSTORE
00002ea3: PUSH1 0xe0
00002ea5: DUP4
00002ea6: ADD
00002ea7: SWAP1
00002ea8: SWAP2
00002ea9: MSTORE
00002eaa: DUP1
00002eab: MLOAD
00002eac: SWAP3
00002ead: ADD
00002eae: SWAP2
00002eaf: SWAP1
00002eb0: SWAP2
00002eb1: KECCAK256
00002eb2: PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000
00002ed3: PUSH2 0x0100
00002ed6: DUP4
00002ed7: ADD
00002ed8: MSTORE
00002ed9: PUSH2 0x0102
00002edc: DUP3
00002edd: ADD
00002ede: SWAP3
00002edf: SWAP1
00002ee0: SWAP3
00002ee1: MSTORE
00002ee2: PUSH2 0x0122
00002ee5: DUP2
00002ee6: ADD
00002ee7: SWAP2
00002ee8: SWAP1
00002ee9: SWAP2
00002eea: MSTORE
00002eeb: PUSH2 0x0142
00002eee: ADD
00002eef: PUSH1 0x40
00002ef1: DUP1
00002ef2: MLOAD
00002ef3: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00002f14: DUP2
00002f15: DUP5
00002f16: SUB
00002f17: ADD
00002f18: DUP2
00002f19: MSTORE
00002f1a: DUP3
00002f1b: DUP3
00002f1c: MSTORE
00002f1d: DUP1
00002f1e: MLOAD
00002f1f: PUSH1 0x20
00002f21: SWAP2
00002f22: DUP3
00002f23: ADD
00002f24: KECCAK256
00002f25: PUSH1 0x00
00002f27: DUP5
00002f28: MSTORE
00002f29: SWAP1
00002f2a: DUP4
00002f2b: ADD
00002f2c: DUP1
00002f2d: DUP4
00002f2e: MSTORE
00002f2f: MSTORE
00002f30: PUSH1 0xff
00002f32: DUP8
00002f33: AND
00002f34: SWAP1
00002f35: DUP3
00002f36: ADD
00002f37: MSTORE
00002f38: PUSH1 0x60
00002f3a: DUP2
00002f3b: ADD
00002f3c: DUP6
00002f3d: SWAP1
00002f3e: MSTORE
00002f3f: PUSH1 0x80
00002f41: DUP2
00002f42: ADD
00002f43: DUP5
00002f44: SWAP1
00002f45: MSTORE
00002f46: PUSH1 0xa0
00002f48: ADD
00002f49: PUSH1 0x20
00002f4b: PUSH1 0x40
00002f4d: MLOAD
00002f4e: PUSH1 0x20
00002f50: DUP2
00002f51: SUB
00002f52: SWAP1
00002f53: DUP1
00002f54: DUP5
00002f55: SUB
00002f56: SWAP1
00002f57: DUP6
00002f58: GAS
00002f59: STATICCALL
00002f5a: ISZERO
00002f5b: DUP1
00002f5c: ISZERO
00002f5d: PUSH2 0x2f6a
00002f60: JUMPI
00002f61: RETURNDATASIZE
00002f62: PUSH1 0x00
00002f64: DUP1
00002f65: RETURNDATACOPY
00002f66: RETURNDATASIZE
00002f67: PUSH1 0x00
00002f69: REVERT
00002f6a: JUMPDEST
00002f6b: POP
00002f6c: POP
00002f6d: PUSH1 0x40
00002f6f: MLOAD
00002f70: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00002f91: ADD
00002f92: MLOAD
00002f93: SWAP2
00002f94: POP
00002f95: POP
00002f96: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002fab: DUP2
00002fac: AND
00002fad: ISZERO
00002fae: DUP1
00002faf: ISZERO
00002fb0: SWAP1
00002fb1: PUSH2 0x2fe5
00002fb4: JUMPI
00002fb5: POP
00002fb6: DUP8
00002fb7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002fcc: AND
00002fcd: DUP2
00002fce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002fe3: AND
00002fe4: EQ
00002fe5: JUMPDEST
00002fe6: PUSH2 0x304b
00002fe9: JUMPI
00002fea: PUSH1 0x40
00002fec: MLOAD
00002fed: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000300e: DUP2
0000300f: MSTORE
00003010: PUSH1 0x20
00003012: PUSH1 0x04
00003014: DUP3
00003015: ADD
00003016: MSTORE
00003017: PUSH1 0x0e
00003019: PUSH1 0x24
0000301b: DUP3
0000301c: ADD
0000301d: MSTORE
0000301e: PUSH32 0x494e56414c49445f5349474e4552000000000000000000000000000000000000
0000303f: PUSH1 0x44
00003041: DUP3
00003042: ADD
00003043: MSTORE
00003044: PUSH1 0x64
00003046: ADD
00003047: PUSH2 0x1744
0000304a: JUMP
0000304b: JUMPDEST
0000304c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003061: SWAP1
00003062: DUP2
00003063: AND
00003064: PUSH1 0x00
00003066: SWAP1
00003067: DUP2
00003068: MSTORE
00003069: PUSH1 0x04
0000306b: PUSH1 0x20
0000306d: SWAP1
0000306e: DUP2
0000306f: MSTORE
00003070: PUSH1 0x40
00003072: DUP1
00003073: DUP4
00003074: KECCAK256
00003075: DUP11
00003076: DUP6
00003077: AND
00003078: DUP1
00003079: DUP6
0000307a: MSTORE
0000307b: SWAP1
0000307c: DUP4
0000307d: MSTORE
0000307e: SWAP3
0000307f: DUP2
00003080: SWAP1
00003081: KECCAK256
00003082: DUP10
00003083: SWAP1
00003084: SSTORE
00003085: MLOAD
00003086: DUP9
00003087: DUP2
00003088: MSTORE
00003089: SWAP2
0000308a: SWAP3
0000308b: DUP11
0000308c: AND
0000308d: SWAP2
0000308e: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
000030af: SWAP2
000030b0: ADD
000030b1: PUSH1 0x40
000030b3: MLOAD
000030b4: DUP1
000030b5: SWAP2
000030b6: SUB
000030b7: SWAP1
000030b8: LOG3
000030b9: POP
000030ba: POP
000030bb: POP
000030bc: POP
000030bd: POP
000030be: POP
000030bf: POP
000030c0: JUMP
000030c1: JUMPDEST
000030c2: PUSH1 0x00
000030c4: DUP3
000030c5: DUP2
000030c6: MSTORE
000030c7: PUSH1 0x06
000030c9: PUSH1 0x20
000030cb: MSTORE
000030cc: PUSH1 0x40
000030ce: SWAP1
000030cf: KECCAK256
000030d0: PUSH1 0x01
000030d2: ADD
000030d3: SLOAD
000030d4: PUSH2 0x30dc
000030d7: DUP2
000030d8: PUSH2 0x36c2
000030db: JUMP
000030dc: JUMPDEST
000030dd: PUSH2 0x1648
000030e0: DUP4
000030e1: DUP4
000030e2: PUSH2 0x385a
000030e5: JUMP
000030e6: JUMPDEST
000030e7: PUSH1 0x00
000030e9: PUSH2 0x1109
000030ec: PUSH1 0x0c
000030ee: DUP4
000030ef: PUSH2 0x470a
000030f2: JUMP
000030f3: JUMPDEST
000030f4: PUSH1 0x00
000030f6: PUSH2 0x104f
000030f9: DUP3
000030fa: PUSH2 0x2ad2
000030fd: JUMP
000030fe: JUMPDEST
000030ff: PUSH2 0x3106
00003102: PUSH2 0x4719
00003105: JUMP
00003106: JUMPDEST
00003107: PUSH1 0x00
00003109: DUP2
0000310a: DUP1
0000310b: PUSH1 0x20
0000310d: ADD
0000310e: SWAP1
0000310f: MLOAD
00003110: DUP2
00003111: ADD
00003112: SWAP1
00003113: PUSH2 0x311c
00003116: SWAP2
00003117: SWAP1
00003118: PUSH2 0x59f7
0000311b: JUMP
0000311c: JUMPDEST
0000311d: SWAP1
0000311e: POP
0000311f: PUSH2 0x3127
00003122: DUP2
00003123: PUSH2 0x4755
00003126: JUMP
00003127: JUMPDEST
00003128: PUSH2 0x31bd
0000312b: PUSH20 0xba12222222228d8ba445958a75a0704d566bf2c8
00003140: DUP5
00003141: PUSH1 0x00
00003143: DUP2
00003144: MLOAD
00003145: DUP2
00003146: LT
00003147: PUSH2 0x3152
0000314a: JUMPI
0000314b: PUSH2 0x3152
0000314e: PUSH2 0x5ae4
00003151: JUMP
00003152: JUMPDEST
00003153: PUSH1 0x20
00003155: MUL
00003156: PUSH1 0x20
00003158: ADD
00003159: ADD
0000315a: MLOAD
0000315b: DUP7
0000315c: PUSH1 0x00
0000315e: DUP2
0000315f: MLOAD
00003160: DUP2
00003161: LT
00003162: PUSH2 0x316d
00003165: JUMPI
00003166: PUSH2 0x316d
00003169: PUSH2 0x5ae4
0000316c: JUMP
0000316d: JUMPDEST
0000316e: PUSH1 0x20
00003170: MUL
00003171: PUSH1 0x20
00003173: ADD
00003174: ADD
00003175: MLOAD
00003176: PUSH2 0x317f
00003179: SWAP2
0000317a: SWAP1
0000317b: PUSH2 0x583c
0000317e: JUMP
0000317f: JUMPDEST
00003180: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003195: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000031b6: AND
000031b7: SWAP2
000031b8: SWAP1
000031b9: PUSH2 0x3faa
000031bc: JUMP
000031bd: JUMPDEST
000031be: PUSH2 0x31c5
000031c1: PUSH2 0x47da
000031c4: JUMP
000031c5: JUMPDEST
000031c6: POP
000031c7: POP
000031c8: POP
000031c9: POP
000031ca: POP
000031cb: JUMP
000031cc: JUMPDEST
000031cd: PUSH2 0x31d4
000031d0: PUSH2 0x362e
000031d3: JUMP
000031d4: JUMPDEST
000031d5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000031ea: DUP2
000031eb: AND
000031ec: PUSH2 0x3221
000031ef: JUMPI
000031f0: PUSH1 0x40
000031f2: MLOAD
000031f3: PUSH32 0x91f7acdb00000000000000000000000000000000000000000000000000000000
00003214: DUP2
00003215: MSTORE
00003216: PUSH1 0x04
00003218: ADD
00003219: PUSH1 0x40
0000321b: MLOAD
0000321c: DUP1
0000321d: SWAP2
0000321e: SUB
0000321f: SWAP1
00003220: REVERT
00003221: JUMPDEST
00003222: PUSH1 0x07
00003224: DUP1
00003225: SLOAD
00003226: PUSH32 0xffffffffffffffffffffff0000000000000000000000000000000000000000ff
00003247: AND
00003248: PUSH2 0x0100
0000324b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003260: DUP5
00003261: AND
00003262: SWAP1
00003263: DUP2
00003264: MUL
00003265: SWAP2
00003266: SWAP1
00003267: SWAP2
00003268: OR
00003269: SWAP1
0000326a: SWAP2
0000326b: SSTORE
0000326c: PUSH1 0x40
0000326e: MLOAD
0000326f: SWAP1
00003270: DUP2
00003271: MSTORE
00003272: CALLER
00003273: SWAP1
00003274: PUSH32 0x4ab5be82436d353e61ca18726e984e561f5c1cc7c6d38b29d2553c790434705a
00003295: SWAP1
00003296: PUSH1 0x20
00003298: ADD
00003299: PUSH2 0x1302
0000329c: JUMP
0000329d: JUMPDEST
0000329e: PUSH1 0x00
000032a0: CALLVALUE
000032a1: PUSH2 0x32a9
000032a4: DUP2
000032a5: PUSH2 0x30f3
000032a8: JUMP
000032a9: JUMPDEST
000032aa: SWAP2
000032ab: POP
000032ac: DUP2
000032ad: PUSH1 0x00
000032af: SUB
000032b0: PUSH2 0x3315
000032b3: JUMPI
000032b4: PUSH1 0x40
000032b6: MLOAD
000032b7: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000032d8: DUP2
000032d9: MSTORE
000032da: PUSH1 0x20
000032dc: PUSH1 0x04
000032de: DUP3
000032df: ADD
000032e0: MSTORE
000032e1: PUSH1 0x0b
000032e3: PUSH1 0x24
000032e5: DUP3
000032e6: ADD
000032e7: MSTORE
000032e8: PUSH32 0x5a45524f5f534841524553000000000000000000000000000000000000000000
00003309: PUSH1 0x44
0000330b: DUP3
0000330c: ADD
0000330d: MSTORE
0000330e: PUSH1 0x64
00003310: ADD
00003311: PUSH2 0x1744
00003314: JUMP
00003315: JUMPDEST
00003316: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00003337: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000334c: AND
0000334d: PUSH4 0xd0e30db0
00003352: DUP3
00003353: PUSH1 0x40
00003355: MLOAD
00003356: DUP3
00003357: PUSH4 0xffffffff
0000335c: AND
0000335d: PUSH1 0xe0
0000335f: SHL
00003360: DUP2
00003361: MSTORE
00003362: PUSH1 0x04
00003364: ADD
00003365: PUSH1 0x00
00003367: PUSH1 0x40
00003369: MLOAD
0000336a: DUP1
0000336b: DUP4
0000336c: SUB
0000336d: DUP2
0000336e: DUP6
0000336f: DUP9
00003370: DUP1
00003371: EXTCODESIZE
00003372: ISZERO
00003373: DUP1
00003374: ISZERO
00003375: PUSH2 0x337d
00003378: JUMPI
00003379: PUSH1 0x00
0000337b: DUP1
0000337c: REVERT
0000337d: JUMPDEST
0000337e: POP
0000337f: GAS
00003380: CALL
00003381: ISZERO
00003382: DUP1
00003383: ISZERO
00003384: PUSH2 0x3391
00003387: JUMPI
00003388: RETURNDATASIZE
00003389: PUSH1 0x00
0000338b: DUP1
0000338c: RETURNDATACOPY
0000338d: RETURNDATASIZE
0000338e: PUSH1 0x00
00003390: REVERT
00003391: JUMPDEST
00003392: POP
00003393: POP
00003394: POP
00003395: POP
00003396: POP
00003397: PUSH2 0x33a0
0000339a: DUP4
0000339b: DUP4
0000339c: PUSH2 0x3a95
0000339f: JUMP
000033a0: JUMPDEST
000033a1: PUSH1 0x40
000033a3: DUP1
000033a4: MLOAD
000033a5: DUP3
000033a6: DUP2
000033a7: MSTORE
000033a8: PUSH1 0x20
000033aa: DUP2
000033ab: ADD
000033ac: DUP5
000033ad: SWAP1
000033ae: MSTORE
000033af: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000033c4: DUP6
000033c5: AND
000033c6: SWAP2
000033c7: CALLER
000033c8: SWAP2
000033c9: PUSH32 0xdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7
000033ea: SWAP2
000033eb: ADD
000033ec: PUSH1 0x40
000033ee: MLOAD
000033ef: DUP1
000033f0: SWAP2
000033f1: SUB
000033f2: SWAP1
000033f3: LOG3
000033f4: JUMPDEST
000033f5: POP
000033f6: SWAP2
000033f7: SWAP1
000033f8: POP
000033f9: JUMP
000033fa: JUMPDEST
000033fb: PUSH1 0x00
000033fd: DUP1
000033fe: PUSH2 0x3407
00003401: PUSH1 0x0c
00003403: PUSH2 0x3915
00003406: JUMP
00003407: JUMPDEST
00003408: SWAP1
00003409: POP
0000340a: PUSH1 0x00
0000340c: DUP1
0000340d: JUMPDEST
0000340e: DUP3
0000340f: DUP2
00003410: LT
00003411: ISZERO
00003412: PUSH2 0x182d
00003415: JUMPI
00003416: PUSH2 0x3420
00003419: PUSH1 0x0c
0000341b: DUP3
0000341c: PUSH2 0x3920
0000341f: JUMP
00003420: JUMPDEST
00003421: PUSH1 0x40
00003423: MLOAD
00003424: PUSH32 0x9a78e72e00000000000000000000000000000000000000000000000000000000
00003445: DUP2
00003446: MSTORE
00003447: ADDRESS
00003448: PUSH1 0x04
0000344a: DUP3
0000344b: ADD
0000344c: MSTORE
0000344d: SWAP1
0000344e: SWAP4
0000344f: POP
00003450: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003465: DUP5
00003466: AND
00003467: SWAP2
00003468: POP
00003469: PUSH4 0x9a78e72e
0000346e: SWAP1
0000346f: PUSH1 0x24
00003471: ADD
00003472: PUSH1 0x20
00003474: PUSH1 0x40
00003476: MLOAD
00003477: DUP1
00003478: DUP4
00003479: SUB
0000347a: DUP2
0000347b: DUP7
0000347c: GAS
0000347d: STATICCALL
0000347e: ISZERO
0000347f: DUP1
00003480: ISZERO
00003481: PUSH2 0x348e
00003484: JUMPI
00003485: RETURNDATASIZE
00003486: PUSH1 0x00
00003488: DUP1
00003489: RETURNDATACOPY
0000348a: RETURNDATASIZE
0000348b: PUSH1 0x00
0000348d: REVERT
0000348e: JUMPDEST
0000348f: POP
00003490: POP
00003491: POP
00003492: POP
00003493: PUSH1 0x40
00003495: MLOAD
00003496: RETURNDATASIZE
00003497: PUSH1 0x1f
00003499: NOT
0000349a: PUSH1 0x1f
0000349c: DUP3
0000349d: ADD
0000349e: AND
0000349f: DUP3
000034a0: ADD
000034a1: DUP1
000034a2: PUSH1 0x40
000034a4: MSTORE
000034a5: POP
000034a6: DUP2
000034a7: ADD
000034a8: SWAP1
000034a9: PUSH2 0x34b2
000034ac: SWAP2
000034ad: SWAP1
000034ae: PUSH2 0x5823
000034b1: JUMP
000034b2: JUMPDEST
000034b3: PUSH2 0x34bc
000034b6: SWAP1
000034b7: DUP6
000034b8: PUSH2 0x583c
000034bb: JUMP
000034bc: JUMPDEST
000034bd: SWAP4
000034be: POP
000034bf: DUP1
000034c0: PUSH2 0x34c8
000034c3: DUP2
000034c4: PUSH2 0x589c
000034c7: JUMP
000034c8: JUMPDEST
000034c9: SWAP2
000034ca: POP
000034cb: POP
000034cc: PUSH2 0x340d
000034cf: JUMP
000034d0: JUMPDEST
000034d1: PUSH1 0x00
000034d3: PUSH32 0x000000000000000000000000d76b0ff4a487cafe4e19ed15b73f12f6a92095ca
000034f4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003509: AND
0000350a: PUSH4 0x9023054a
0000350f: PUSH2 0x3516
00003512: PUSH2 0x1757
00003515: JUMP
00003516: JUMPDEST
00003517: PUSH1 0x40
00003519: MLOAD
0000351a: DUP3
0000351b: PUSH4 0xffffffff
00003520: AND
00003521: PUSH1 0xe0
00003523: SHL
00003524: DUP2
00003525: MSTORE
00003526: PUSH1 0x04
00003528: ADD
00003529: PUSH2 0x3534
0000352c: SWAP2
0000352d: DUP2
0000352e: MSTORE
0000352f: PUSH1 0x20
00003531: ADD
00003532: SWAP1
00003533: JUMP
00003534: JUMPDEST
00003535: PUSH1 0x20
00003537: PUSH1 0x40
00003539: MLOAD
0000353a: DUP1
0000353b: DUP4
0000353c: SUB
0000353d: DUP2
0000353e: DUP7
0000353f: GAS
00003540: STATICCALL
00003541: ISZERO
00003542: DUP1
00003543: ISZERO
00003544: PUSH2 0x3551
00003547: JUMPI
00003548: RETURNDATASIZE
00003549: PUSH1 0x00
0000354b: DUP1
0000354c: RETURNDATACOPY
0000354d: RETURNDATASIZE
0000354e: PUSH1 0x00
00003550: REVERT
00003551: JUMPDEST
00003552: POP
00003553: POP
00003554: POP
00003555: POP
00003556: PUSH1 0x40
00003558: MLOAD
00003559: RETURNDATASIZE
0000355a: PUSH1 0x1f
0000355c: NOT
0000355d: PUSH1 0x1f
0000355f: DUP3
00003560: ADD
00003561: AND
00003562: DUP3
00003563: ADD
00003564: DUP1
00003565: PUSH1 0x40
00003567: MSTORE
00003568: POP
00003569: DUP2
0000356a: ADD
0000356b: SWAP1
0000356c: PUSH2 0x0fb7
0000356f: SWAP2
00003570: SWAP1
00003571: PUSH2 0x5823
00003574: JUMP
00003575: JUMPDEST
00003576: PUSH1 0x00
00003578: DUP3
00003579: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000359a: DIV
0000359b: DUP5
0000359c: GT
0000359d: DUP4
0000359e: MUL
0000359f: ISZERO
000035a0: DUP3
000035a1: MUL
000035a2: PUSH2 0x35aa
000035a5: JUMPI
000035a6: PUSH1 0x00
000035a8: DUP1
000035a9: REVERT
000035aa: JUMPDEST
000035ab: POP
000035ac: SWAP2
000035ad: MUL
000035ae: DIV
000035af: SWAP1
000035b0: JUMP
000035b1: JUMPDEST
000035b2: PUSH1 0x00
000035b4: DUP3
000035b5: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000035d6: DIV
000035d7: DUP5
000035d8: GT
000035d9: DUP4
000035da: MUL
000035db: ISZERO
000035dc: DUP3
000035dd: MUL
000035de: PUSH2 0x35e6
000035e1: JUMPI
000035e2: PUSH1 0x00
000035e4: DUP1
000035e5: REVERT
000035e6: JUMPDEST
000035e7: POP
000035e8: SWAP2
000035e9: MUL
000035ea: DUP2
000035eb: DUP2
000035ec: MOD
000035ed: ISZERO
000035ee: ISZERO
000035ef: SWAP2
000035f0: SWAP1
000035f1: DIV
000035f2: ADD
000035f3: SWAP1
000035f4: JUMP
000035f5: JUMPDEST
000035f6: PUSH1 0x07
000035f8: SLOAD
000035f9: PUSH1 0xff
000035fb: AND
000035fc: PUSH2 0x3607
000035ff: JUMPI
00003600: PUSH2 0x3607
00003603: PUSH2 0x3b1a
00003606: JUMP
00003607: JUMPDEST
00003608: JUMP
00003609: JUMPDEST
0000360a: PUSH1 0x60
0000360c: PUSH2 0x1109
0000360f: DUP4
00003610: DUP4
00003611: PUSH1 0x40
00003613: MLOAD
00003614: DUP1
00003615: PUSH1 0x60
00003617: ADD
00003618: PUSH1 0x40
0000361a: MSTORE
0000361b: DUP1
0000361c: PUSH1 0x27
0000361e: DUP2
0000361f: MSTORE
00003620: PUSH1 0x20
00003622: ADD
00003623: PUSH2 0x5e35
00003626: PUSH1 0x27
00003628: SWAP2
00003629: CODECOPY
0000362a: PUSH2 0x48d5
0000362d: JUMP
0000362e: JUMPDEST
0000362f: CALLER
00003630: PUSH1 0x00
00003632: SWAP1
00003633: DUP2
00003634: MSTORE
00003635: PUSH32 0x54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8
00003656: PUSH1 0x20
00003658: MSTORE
00003659: PUSH1 0x40
0000365b: SWAP1
0000365c: KECCAK256
0000365d: SLOAD
0000365e: PUSH1 0xff
00003660: AND
00003661: PUSH2 0x3607
00003664: JUMPI
00003665: PUSH1 0x40
00003667: MLOAD
00003668: PUSH32 0x06d919f200000000000000000000000000000000000000000000000000000000
00003689: DUP2
0000368a: MSTORE
0000368b: PUSH1 0x04
0000368d: ADD
0000368e: PUSH1 0x40
00003690: MLOAD
00003691: DUP1
00003692: SWAP2
00003693: SUB
00003694: SWAP1
00003695: REVERT
00003696: JUMPDEST
00003697: PUSH1 0x00
00003699: PUSH2 0x1109
0000369c: DUP4
0000369d: DUP4
0000369e: PUSH2 0x495a
000036a1: JUMP
000036a2: JUMPDEST
000036a3: PUSH2 0x1648
000036a6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000036bb: DUP4
000036bc: AND
000036bd: DUP3
000036be: PUSH2 0x3609
000036c1: JUMP
000036c2: JUMPDEST
000036c3: PUSH2 0x2d70
000036c6: DUP2
000036c7: CALLER
000036c8: PUSH2 0x49e4
000036cb: JUMP
000036cc: JUMPDEST
000036cd: PUSH1 0x00
000036cf: DUP3
000036d0: DUP2
000036d1: MSTORE
000036d2: PUSH1 0x06
000036d4: PUSH1 0x20
000036d6: SWAP1
000036d7: DUP2
000036d8: MSTORE
000036d9: PUSH1 0x40
000036db: DUP1
000036dc: DUP4
000036dd: KECCAK256
000036de: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000036f3: DUP6
000036f4: AND
000036f5: DUP5
000036f6: MSTORE
000036f7: SWAP1
000036f8: SWAP2
000036f9: MSTORE
000036fa: SWAP1
000036fb: KECCAK256
000036fc: SLOAD
000036fd: PUSH1 0xff
000036ff: AND
00003700: PUSH2 0x1281
00003703: JUMPI
00003704: PUSH1 0x00
00003706: DUP3
00003707: DUP2
00003708: MSTORE
00003709: PUSH1 0x06
0000370b: PUSH1 0x20
0000370d: SWAP1
0000370e: DUP2
0000370f: MSTORE
00003710: PUSH1 0x40
00003712: DUP1
00003713: DUP4
00003714: KECCAK256
00003715: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000372a: DUP6
0000372b: AND
0000372c: DUP5
0000372d: MSTORE
0000372e: SWAP1
0000372f: SWAP2
00003730: MSTORE
00003731: SWAP1
00003732: KECCAK256
00003733: DUP1
00003734: SLOAD
00003735: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00003756: AND
00003757: PUSH1 0x01
00003759: OR
0000375a: SWAP1
0000375b: SSTORE
0000375c: PUSH2 0x3762
0000375f: CALLER
00003760: SWAP1
00003761: JUMP
00003762: JUMPDEST
00003763: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003778: AND
00003779: DUP2
0000377a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000378f: AND
00003790: DUP4
00003791: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d
000037b2: PUSH1 0x40
000037b4: MLOAD
000037b5: PUSH1 0x40
000037b7: MLOAD
000037b8: DUP1
000037b9: SWAP2
000037ba: SUB
000037bb: SWAP1
000037bc: LOG4
000037bd: POP
000037be: POP
000037bf: JUMP
000037c0: JUMPDEST
000037c1: PUSH1 0x00
000037c3: PUSH32 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f
000037e4: PUSH1 0x00
000037e6: PUSH1 0x40
000037e8: MLOAD
000037e9: PUSH2 0x37f2
000037ec: SWAP2
000037ed: SWAP1
000037ee: PUSH2 0x5b13
000037f1: JUMP
000037f2: JUMPDEST
000037f3: PUSH1 0x40
000037f5: DUP1
000037f6: MLOAD
000037f7: SWAP2
000037f8: DUP3
000037f9: SWAP1
000037fa: SUB
000037fb: DUP3
000037fc: KECCAK256
000037fd: PUSH1 0x20
000037ff: DUP4
00003800: ADD
00003801: SWAP4
00003802: SWAP1
00003803: SWAP4
00003804: MSTORE
00003805: DUP2
00003806: ADD
00003807: SWAP2
00003808: SWAP1
00003809: SWAP2
0000380a: MSTORE
0000380b: PUSH32 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6
0000382c: PUSH1 0x60
0000382e: DUP3
0000382f: ADD
00003830: MSTORE
00003831: CHAINID
00003832: PUSH1 0x80
00003834: DUP3
00003835: ADD
00003836: MSTORE
00003837: ADDRESS
00003838: PUSH1 0xa0
0000383a: DUP3
0000383b: ADD
0000383c: MSTORE
0000383d: PUSH1 0xc0
0000383f: ADD
00003840: PUSH1 0x40
00003842: MLOAD
00003843: PUSH1 0x20
00003845: DUP2
00003846: DUP4
00003847: SUB
00003848: SUB
00003849: DUP2
0000384a: MSTORE
0000384b: SWAP1
0000384c: PUSH1 0x40
0000384e: MSTORE
0000384f: DUP1
00003850: MLOAD
00003851: SWAP1
00003852: PUSH1 0x20
00003854: ADD
00003855: KECCAK256
00003856: SWAP1
00003857: POP
00003858: SWAP1
00003859: JUMP
0000385a: JUMPDEST
0000385b: PUSH1 0x00
0000385d: DUP3
0000385e: DUP2
0000385f: MSTORE
00003860: PUSH1 0x06
00003862: PUSH1 0x20
00003864: SWAP1
00003865: DUP2
00003866: MSTORE
00003867: PUSH1 0x40
00003869: DUP1
0000386a: DUP4
0000386b: KECCAK256
0000386c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003881: DUP6
00003882: AND
00003883: DUP5
00003884: MSTORE
00003885: SWAP1
00003886: SWAP2
00003887: MSTORE
00003888: SWAP1
00003889: KECCAK256
0000388a: SLOAD
0000388b: PUSH1 0xff
0000388d: AND
0000388e: ISZERO
0000388f: PUSH2 0x1281
00003892: JUMPI
00003893: PUSH1 0x00
00003895: DUP3
00003896: DUP2
00003897: MSTORE
00003898: PUSH1 0x06
0000389a: PUSH1 0x20
0000389c: SWAP1
0000389d: DUP2
0000389e: MSTORE
0000389f: PUSH1 0x40
000038a1: DUP1
000038a2: DUP4
000038a3: KECCAK256
000038a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000038b9: DUP6
000038ba: AND
000038bb: DUP1
000038bc: DUP6
000038bd: MSTORE
000038be: SWAP3
000038bf: MSTORE
000038c0: DUP1
000038c1: DUP4
000038c2: KECCAK256
000038c3: DUP1
000038c4: SLOAD
000038c5: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
000038e6: AND
000038e7: SWAP1
000038e8: SSTORE
000038e9: MLOAD
000038ea: CALLER
000038eb: SWAP3
000038ec: DUP6
000038ed: SWAP2
000038ee: PUSH32 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b
0000390f: SWAP2
00003910: SWAP1
00003911: LOG4
00003912: POP
00003913: POP
00003914: JUMP
00003915: JUMPDEST
00003916: PUSH1 0x00
00003918: PUSH2 0x104f
0000391b: DUP3
0000391c: PUSH2 0x4a9e
0000391f: JUMP
00003920: JUMPDEST
00003921: PUSH1 0x00
00003923: DUP1
00003924: DUP1
00003925: DUP1
00003926: PUSH2 0x392f
00003929: DUP7
0000392a: DUP7
0000392b: PUSH2 0x4aa9
0000392e: JUMP
0000392f: JUMPDEST
00003930: SWAP1
00003931: SWAP5
00003932: POP
00003933: SWAP3
00003934: POP
00003935: POP
00003936: POP
00003937: JUMPDEST
00003938: SWAP3
00003939: POP
0000393a: SWAP3
0000393b: SWAP1
0000393c: POP
0000393d: JUMP
0000393e: JUMPDEST
0000393f: PUSH2 0x3947
00003942: DUP2
00003943: PUSH2 0x1c5e
00003946: JUMP
00003947: JUMPDEST
00003948: PUSH2 0x2d70
0000394b: JUMPI
0000394c: PUSH1 0x40
0000394e: MLOAD
0000394f: PUSH32 0x10028b5400000000000000000000000000000000000000000000000000000000
00003970: DUP2
00003971: MSTORE
00003972: PUSH1 0x04
00003974: DUP2
00003975: ADD
00003976: DUP3
00003977: SWAP1
00003978: MSTORE
00003979: PUSH1 0x24
0000397b: ADD
0000397c: PUSH2 0x1744
0000397f: JUMP
00003980: JUMPDEST
00003981: PUSH2 0x1648
00003984: DUP2
00003985: PUSH2 0x398f
00003988: PUSH1 0x0c
0000398a: DUP6
0000398b: PUSH2 0x3696
0000398e: JUMP
0000398f: JUMPDEST
00003990: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000039a5: AND
000039a6: SWAP1
000039a7: PUSH2 0x3609
000039aa: JUMP
000039ab: JUMPDEST
000039ac: PUSH1 0x00
000039ae: PUSH2 0x39ce
000039b1: DUP5
000039b2: DUP5
000039b3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000039c8: DUP6
000039c9: AND
000039ca: PUSH2 0x4ad4
000039cd: JUMP
000039ce: JUMPDEST
000039cf: SWAP5
000039d0: SWAP4
000039d1: POP
000039d2: POP
000039d3: POP
000039d4: POP
000039d5: JUMP
000039d6: JUMPDEST
000039d7: PUSH1 0x00
000039d9: PUSH1 0x40
000039db: MLOAD
000039dc: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000
000039fd: DUP2
000039fe: MSTORE
000039ff: DUP5
00003a00: PUSH1 0x04
00003a02: DUP3
00003a03: ADD
00003a04: MSTORE
00003a05: DUP4
00003a06: PUSH1 0x24
00003a08: DUP3
00003a09: ADD
00003a0a: MSTORE
00003a0b: DUP3
00003a0c: PUSH1 0x44
00003a0e: DUP3
00003a0f: ADD
00003a10: MSTORE
00003a11: PUSH1 0x20
00003a13: PUSH1 0x00
00003a15: PUSH1 0x64
00003a17: DUP4
00003a18: PUSH1 0x00
00003a1a: DUP11
00003a1b: GAS
00003a1c: CALL
00003a1d: RETURNDATASIZE
00003a1e: ISZERO
00003a1f: PUSH1 0x1f
00003a21: RETURNDATASIZE
00003a22: GT
00003a23: PUSH1 0x01
00003a25: PUSH1 0x00
00003a27: MLOAD
00003a28: EQ
00003a29: AND
00003a2a: OR
00003a2b: AND
00003a2c: SWAP2
00003a2d: POP
00003a2e: POP
00003a2f: DUP1
00003a30: PUSH2 0x31c5
00003a33: JUMPI
00003a34: PUSH1 0x40
00003a36: MLOAD
00003a37: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003a58: DUP2
00003a59: MSTORE
00003a5a: PUSH1 0x20
00003a5c: PUSH1 0x04
00003a5e: DUP3
00003a5f: ADD
00003a60: MSTORE
00003a61: PUSH1 0x14
00003a63: PUSH1 0x24
00003a65: DUP3
00003a66: ADD
00003a67: MSTORE
00003a68: PUSH32 0x5452414e534645525f46524f4d5f4641494c4544000000000000000000000000
00003a89: PUSH1 0x44
00003a8b: DUP3
00003a8c: ADD
00003a8d: MSTORE
00003a8e: PUSH1 0x64
00003a90: ADD
00003a91: PUSH2 0x1744
00003a94: JUMP
00003a95: JUMPDEST
00003a96: DUP1
00003a97: PUSH1 0x02
00003a99: PUSH1 0x00
00003a9b: DUP3
00003a9c: DUP3
00003a9d: SLOAD
00003a9e: PUSH2 0x3aa7
00003aa1: SWAP2
00003aa2: SWAP1
00003aa3: PUSH2 0x583c
00003aa6: JUMP
00003aa7: JUMPDEST
00003aa8: SWAP1
00003aa9: SWAP2
00003aaa: SSTORE
00003aab: POP
00003aac: POP
00003aad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003ac2: DUP3
00003ac3: AND
00003ac4: PUSH1 0x00
00003ac6: DUP2
00003ac7: DUP2
00003ac8: MSTORE
00003ac9: PUSH1 0x03
00003acb: PUSH1 0x20
00003acd: SWAP1
00003ace: DUP2
00003acf: MSTORE
00003ad0: PUSH1 0x40
00003ad2: DUP1
00003ad3: DUP4
00003ad4: KECCAK256
00003ad5: DUP1
00003ad6: SLOAD
00003ad7: DUP7
00003ad8: ADD
00003ad9: SWAP1
00003ada: SSTORE
00003adb: MLOAD
00003adc: DUP5
00003add: DUP2
00003ade: MSTORE
00003adf: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00003b00: SWAP2
00003b01: ADD
00003b02: JUMPDEST
00003b03: PUSH1 0x40
00003b05: MLOAD
00003b06: DUP1
00003b07: SWAP2
00003b08: SUB
00003b09: SWAP1
00003b0a: LOG3
00003b0b: POP
00003b0c: POP
00003b0d: JUMP
00003b0e: JUMPDEST
00003b0f: PUSH1 0x00
00003b11: PUSH2 0x1109
00003b14: DUP4
00003b15: DUP4
00003b16: PUSH2 0x4af1
00003b19: JUMP
00003b1a: JUMPDEST
00003b1b: CALLER
00003b1c: PUSH1 0x00
00003b1e: SWAP1
00003b1f: DUP2
00003b20: MSTORE
00003b21: PUSH32 0x102c8bff359ba7f792f3597c956360de34af36b3eee541f0c28549f821bb5369
00003b42: PUSH1 0x20
00003b44: MSTORE
00003b45: PUSH1 0x40
00003b47: SWAP1
00003b48: KECCAK256
00003b49: SLOAD
00003b4a: PUSH1 0xff
00003b4c: AND
00003b4d: PUSH2 0x3607
00003b50: JUMPI
00003b51: PUSH1 0x40
00003b53: MLOAD
00003b54: PUSH32 0x04e1fa9f00000000000000000000000000000000000000000000000000000000
00003b75: DUP2
00003b76: MSTORE
00003b77: PUSH1 0x04
00003b79: ADD
00003b7a: PUSH1 0x40
00003b7c: MLOAD
00003b7d: DUP1
00003b7e: SWAP2
00003b7f: SUB
00003b80: SWAP1
00003b81: REVERT
00003b82: JUMPDEST
00003b83: PUSH1 0x40
00003b85: DUP1
00003b86: MLOAD
00003b87: PUSH1 0x01
00003b89: DUP1
00003b8a: DUP3
00003b8b: MSTORE
00003b8c: DUP2
00003b8d: DUP4
00003b8e: ADD
00003b8f: SWAP1
00003b90: SWAP3
00003b91: MSTORE
00003b92: PUSH1 0x00
00003b94: SWAP2
00003b95: PUSH1 0x20
00003b97: DUP1
00003b98: DUP4
00003b99: ADD
00003b9a: SWAP1
00003b9b: DUP1
00003b9c: CALLDATASIZE
00003b9d: DUP4
00003b9e: CALLDATACOPY
00003b9f: ADD
00003ba0: SWAP1
00003ba1: POP
00003ba2: POP
00003ba3: SWAP1
00003ba4: POP
00003ba5: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00003bc6: DUP2
00003bc7: PUSH1 0x00
00003bc9: DUP2
00003bca: MLOAD
00003bcb: DUP2
00003bcc: LT
00003bcd: PUSH2 0x3bd8
00003bd0: JUMPI
00003bd1: PUSH2 0x3bd8
00003bd4: PUSH2 0x5ae4
00003bd7: JUMP
00003bd8: JUMPDEST
00003bd9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003bee: SWAP3
00003bef: SWAP1
00003bf0: SWAP3
00003bf1: AND
00003bf2: PUSH1 0x20
00003bf4: SWAP3
00003bf5: DUP4
00003bf6: MUL
00003bf7: SWAP2
00003bf8: SWAP1
00003bf9: SWAP2
00003bfa: ADD
00003bfb: SWAP1
00003bfc: SWAP2
00003bfd: ADD
00003bfe: MSTORE
00003bff: PUSH1 0x40
00003c01: DUP1
00003c02: MLOAD
00003c03: PUSH1 0x01
00003c05: DUP1
00003c06: DUP3
00003c07: MSTORE
00003c08: DUP2
00003c09: DUP4
00003c0a: ADD
00003c0b: SWAP1
00003c0c: SWAP3
00003c0d: MSTORE
00003c0e: PUSH1 0x00
00003c10: SWAP2
00003c11: DUP2
00003c12: PUSH1 0x20
00003c14: ADD
00003c15: PUSH1 0x20
00003c17: DUP3
00003c18: MUL
00003c19: DUP1
00003c1a: CALLDATASIZE
00003c1b: DUP4
00003c1c: CALLDATACOPY
00003c1d: ADD
00003c1e: SWAP1
00003c1f: POP
00003c20: POP
00003c21: SWAP1
00003c22: POP
00003c23: DUP4
00003c24: DUP2
00003c25: PUSH1 0x00
00003c27: DUP2
00003c28: MLOAD
00003c29: DUP2
00003c2a: LT
00003c2b: PUSH2 0x3c36
00003c2e: JUMPI
00003c2f: PUSH2 0x3c36
00003c32: PUSH2 0x5ae4
00003c35: JUMP
00003c36: JUMPDEST
00003c37: PUSH1 0x20
00003c39: MUL
00003c3a: PUSH1 0x20
00003c3c: ADD
00003c3d: ADD
00003c3e: DUP2
00003c3f: DUP2
00003c40: MSTORE
00003c41: POP
00003c42: POP
00003c43: PUSH2 0x3c72
00003c46: PUSH1 0x07
00003c48: DUP1
00003c49: SLOAD
00003c4a: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00003c6b: AND
00003c6c: PUSH1 0x01
00003c6e: OR
00003c6f: SWAP1
00003c70: SSTORE
00003c71: JUMP
00003c72: JUMPDEST
00003c73: PUSH20 0xba12222222228d8ba445958a75a0704d566bf2c8
00003c88: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003c9d: AND
00003c9e: PUSH4 0x5c38449e
00003ca3: ADDRESS
00003ca4: DUP5
00003ca5: DUP5
00003ca6: DUP8
00003ca7: PUSH1 0x40
00003ca9: MLOAD
00003caa: PUSH1 0x20
00003cac: ADD
00003cad: PUSH2 0x3cb6
00003cb0: SWAP2
00003cb1: SWAP1
00003cb2: PUSH2 0x5be9
00003cb5: JUMP
00003cb6: JUMPDEST
00003cb7: PUSH1 0x40
00003cb9: MLOAD
00003cba: PUSH1 0x20
00003cbc: DUP2
00003cbd: DUP4
00003cbe: SUB
00003cbf: SUB
00003cc0: DUP2
00003cc1: MSTORE
00003cc2: SWAP1
00003cc3: PUSH1 0x40
00003cc5: MSTORE
00003cc6: PUSH1 0x40
00003cc8: MLOAD
00003cc9: DUP6
00003cca: PUSH4 0xffffffff
00003ccf: AND
00003cd0: PUSH1 0xe0
00003cd2: SHL
00003cd3: DUP2
00003cd4: MSTORE
00003cd5: PUSH1 0x04
00003cd7: ADD
00003cd8: PUSH2 0x3ce4
00003cdb: SWAP5
00003cdc: SWAP4
00003cdd: SWAP3
00003cde: SWAP2
00003cdf: SWAP1
00003ce0: PUSH2 0x5c69
00003ce3: JUMP
00003ce4: JUMPDEST
00003ce5: PUSH1 0x00
00003ce7: PUSH1 0x40
00003ce9: MLOAD
00003cea: DUP1
00003ceb: DUP4
00003cec: SUB
00003ced: DUP2
00003cee: PUSH1 0x00
00003cf0: DUP8
00003cf1: DUP1
00003cf2: EXTCODESIZE
00003cf3: ISZERO
00003cf4: DUP1
00003cf5: ISZERO
00003cf6: PUSH2 0x3cfe
00003cf9: JUMPI
00003cfa: PUSH1 0x00
00003cfc: DUP1
00003cfd: REVERT
00003cfe: JUMPDEST
00003cff: POP
00003d00: GAS
00003d01: CALL
00003d02: ISZERO
00003d03: DUP1
00003d04: ISZERO
00003d05: PUSH2 0x3d12
00003d08: JUMPI
00003d09: RETURNDATASIZE
00003d0a: PUSH1 0x00
00003d0c: DUP1
00003d0d: RETURNDATACOPY
00003d0e: RETURNDATASIZE
00003d0f: PUSH1 0x00
00003d11: REVERT
00003d12: JUMPDEST
00003d13: POP
00003d14: POP
00003d15: POP
00003d16: POP
00003d17: PUSH2 0x3d43
00003d1a: PUSH1 0x07
00003d1c: DUP1
00003d1d: SLOAD
00003d1e: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00003d3f: AND
00003d40: SWAP1
00003d41: SSTORE
00003d42: JUMP
00003d43: JUMPDEST
00003d44: POP
00003d45: POP
00003d46: POP
00003d47: POP
00003d48: JUMP
00003d49: JUMPDEST
00003d4a: PUSH1 0x10
00003d4c: SLOAD
00003d4d: PUSH1 0x00
00003d4f: PUSH2 0x3d56
00003d52: PUSH2 0x33fa
00003d55: JUMP
00003d56: JUMPDEST
00003d57: PUSH2 0x3d5e
00003d5a: PUSH2 0x34d0
00003d5d: JUMP
00003d5e: JUMPDEST
00003d5f: PUSH2 0x3d68
00003d62: SWAP2
00003d63: SWAP1
00003d64: PUSH2 0x5810
00003d67: JUMP
00003d68: JUMPDEST
00003d69: SWAP1
00003d6a: POP
00003d6b: DUP2
00003d6c: DUP2
00003d6d: GT
00003d6e: ISZERO
00003d6f: PUSH2 0x1281
00003d72: JUMPI
00003d73: PUSH1 0x10
00003d75: DUP2
00003d76: SWAP1
00003d77: SSTORE
00003d78: PUSH1 0x00
00003d7a: PUSH2 0x3d83
00003d7d: DUP4
00003d7e: DUP4
00003d7f: PUSH2 0x5810
00003d82: JUMP
00003d83: JUMPDEST
00003d84: SWAP1
00003d85: POP
00003d86: DUP1
00003d87: PUSH1 0x11
00003d89: PUSH1 0x00
00003d8b: DUP3
00003d8c: DUP3
00003d8d: SLOAD
00003d8e: PUSH2 0x3d97
00003d91: SWAP2
00003d92: SWAP1
00003d93: PUSH2 0x583c
00003d96: JUMP
00003d97: JUMPDEST
00003d98: SWAP1
00003d99: SWAP2
00003d9a: SSTORE
00003d9b: POP
00003d9c: POP
00003d9d: PUSH1 0x08
00003d9f: SLOAD
00003da0: PUSH1 0x00
00003da2: SWAP1
00003da3: PUSH2 0x3dad
00003da6: SWAP1
00003da7: DUP4
00003da8: SWAP1
00003da9: PUSH2 0x3e22
00003dac: JUMP
00003dad: JUMPDEST
00003dae: PUSH1 0x07
00003db0: SLOAD
00003db1: SWAP1
00003db2: SWAP2
00003db3: POP
00003db4: PUSH2 0x3de0
00003db7: SWAP1
00003db8: PUSH2 0x0100
00003dbb: SWAP1
00003dbc: DIV
00003dbd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003dd2: AND
00003dd3: PUSH2 0x3ddb
00003dd6: DUP4
00003dd7: PUSH2 0x2ad2
00003dda: JUMP
00003ddb: JUMPDEST
00003ddc: PUSH2 0x3a95
00003ddf: JUMP
00003de0: JUMPDEST
00003de1: PUSH1 0x40
00003de3: DUP1
00003de4: MLOAD
00003de5: DUP4
00003de6: DUP2
00003de7: MSTORE
00003de8: PUSH1 0x20
00003dea: DUP2
00003deb: ADD
00003dec: DUP4
00003ded: SWAP1
00003dee: MSTORE
00003def: PUSH32 0xfa07446fad45314351eb89109a154880278451332bb87f1824d435fe58da5939
00003e10: SWAP2
00003e11: ADD
00003e12: PUSH2 0x1615
00003e15: JUMP
00003e16: JUMPDEST
00003e17: PUSH1 0x00
00003e19: PUSH2 0x1109
00003e1c: DUP4
00003e1d: DUP4
00003e1e: PUSH2 0x4afd
00003e21: JUMP
00003e22: JUMPDEST
00003e23: PUSH1 0x00
00003e25: PUSH2 0x1109
00003e28: DUP4
00003e29: DUP4
00003e2a: PUSH8 0x0de0b6b3a7640000
00003e33: PUSH2 0x3575
00003e36: JUMP
00003e37: JUMPDEST
00003e38: PUSH1 0x40
00003e3a: MLOAD
00003e3b: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00003e5c: DUP2
00003e5d: MSTORE
00003e5e: ADDRESS
00003e5f: PUSH1 0x04
00003e61: DUP3
00003e62: ADD
00003e63: MSTORE
00003e64: PUSH1 0x00
00003e66: SWAP1
00003e67: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00003e88: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003e9d: AND
00003e9e: SWAP1
00003e9f: PUSH4 0x70a08231
00003ea4: SWAP1
00003ea5: PUSH1 0x24
00003ea7: ADD
00003ea8: PUSH1 0x20
00003eaa: PUSH1 0x40
00003eac: MLOAD
00003ead: DUP1
00003eae: DUP4
00003eaf: SUB
00003eb0: DUP2
00003eb1: DUP7
00003eb2: GAS
00003eb3: STATICCALL
00003eb4: ISZERO
00003eb5: DUP1
00003eb6: ISZERO
00003eb7: PUSH2 0x3ec4
00003eba: JUMPI
00003ebb: RETURNDATASIZE
00003ebc: PUSH1 0x00
00003ebe: DUP1
00003ebf: RETURNDATACOPY
00003ec0: RETURNDATASIZE
00003ec1: PUSH1 0x00
00003ec3: REVERT
00003ec4: JUMPDEST
00003ec5: POP
00003ec6: POP
00003ec7: POP
00003ec8: POP
00003ec9: PUSH1 0x40
00003ecb: MLOAD
00003ecc: RETURNDATASIZE
00003ecd: PUSH1 0x1f
00003ecf: NOT
00003ed0: PUSH1 0x1f
00003ed2: DUP3
00003ed3: ADD
00003ed4: AND
00003ed5: DUP3
00003ed6: ADD
00003ed7: DUP1
00003ed8: PUSH1 0x40
00003eda: MSTORE
00003edb: POP
00003edc: DUP2
00003edd: ADD
00003ede: SWAP1
00003edf: PUSH2 0x3ee8
00003ee2: SWAP2
00003ee3: SWAP1
00003ee4: PUSH2 0x5823
00003ee7: JUMP
00003ee8: JUMPDEST
00003ee9: SWAP1
00003eea: POP
00003eeb: DUP1
00003eec: DUP4
00003eed: GT
00003eee: PUSH2 0x3ef6
00003ef1: JUMPI
00003ef2: POP
00003ef3: POP
00003ef4: POP
00003ef5: JUMP
00003ef6: JUMPDEST
00003ef7: PUSH1 0x00
00003ef9: DUP2
00003efa: PUSH1 0x12
00003efc: SLOAD
00003efd: DUP6
00003efe: PUSH2 0x3f07
00003f01: SWAP2
00003f02: SWAP1
00003f03: PUSH2 0x583c
00003f06: JUMP
00003f07: JUMPDEST
00003f08: PUSH2 0x3f11
00003f0b: SWAP2
00003f0c: SWAP1
00003f0d: PUSH2 0x5810
00003f10: JUMP
00003f11: JUMPDEST
00003f12: SWAP1
00003f13: POP
00003f14: PUSH2 0x3d43
00003f17: DUP2
00003f18: PUSH2 0x4063
00003f1b: JUMP
00003f1c: JUMPDEST
00003f1d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003f32: DUP3
00003f33: AND
00003f34: PUSH1 0x00
00003f36: SWAP1
00003f37: DUP2
00003f38: MSTORE
00003f39: PUSH1 0x03
00003f3b: PUSH1 0x20
00003f3d: MSTORE
00003f3e: PUSH1 0x40
00003f40: DUP2
00003f41: KECCAK256
00003f42: DUP1
00003f43: SLOAD
00003f44: DUP4
00003f45: SWAP3
00003f46: SWAP1
00003f47: PUSH2 0x3f51
00003f4a: SWAP1
00003f4b: DUP5
00003f4c: SWAP1
00003f4d: PUSH2 0x5810
00003f50: JUMP
00003f51: JUMPDEST
00003f52: SWAP1
00003f53: SWAP2
00003f54: SSTORE
00003f55: POP
00003f56: POP
00003f57: PUSH1 0x02
00003f59: DUP1
00003f5a: SLOAD
00003f5b: DUP3
00003f5c: SWAP1
00003f5d: SUB
00003f5e: SWAP1
00003f5f: SSTORE
00003f60: PUSH1 0x40
00003f62: MLOAD
00003f63: DUP2
00003f64: DUP2
00003f65: MSTORE
00003f66: PUSH1 0x00
00003f68: SWAP1
00003f69: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003f7e: DUP5
00003f7f: AND
00003f80: SWAP1
00003f81: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00003fa2: SWAP1
00003fa3: PUSH1 0x20
00003fa5: ADD
00003fa6: PUSH2 0x3b02
00003fa9: JUMP
00003faa: JUMPDEST
00003fab: PUSH1 0x00
00003fad: PUSH1 0x40
00003faf: MLOAD
00003fb0: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
00003fd1: DUP2
00003fd2: MSTORE
00003fd3: DUP4
00003fd4: PUSH1 0x04
00003fd6: DUP3
00003fd7: ADD
00003fd8: MSTORE
00003fd9: DUP3
00003fda: PUSH1 0x24
00003fdc: DUP3
00003fdd: ADD
00003fde: MSTORE
00003fdf: PUSH1 0x20
00003fe1: PUSH1 0x00
00003fe3: PUSH1 0x44
00003fe5: DUP4
00003fe6: PUSH1 0x00
00003fe8: DUP10
00003fe9: GAS
00003fea: CALL
00003feb: RETURNDATASIZE
00003fec: ISZERO
00003fed: PUSH1 0x1f
00003fef: RETURNDATASIZE
00003ff0: GT
00003ff1: PUSH1 0x01
00003ff3: PUSH1 0x00
00003ff5: MLOAD
00003ff6: EQ
00003ff7: AND
00003ff8: OR
00003ff9: AND
00003ffa: SWAP2
00003ffb: POP
00003ffc: POP
00003ffd: DUP1
00003ffe: PUSH2 0x3d43
00004001: JUMPI
00004002: PUSH1 0x40
00004004: MLOAD
00004005: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00004026: DUP2
00004027: MSTORE
00004028: PUSH1 0x20
0000402a: PUSH1 0x04
0000402c: DUP3
0000402d: ADD
0000402e: MSTORE
0000402f: PUSH1 0x0f
00004031: PUSH1 0x24
00004033: DUP3
00004034: ADD
00004035: MSTORE
00004036: PUSH32 0x5452414e534645525f4641494c45440000000000000000000000000000000000
00004057: PUSH1 0x44
00004059: DUP3
0000405a: ADD
0000405b: MSTORE
0000405c: PUSH1 0x64
0000405e: ADD
0000405f: PUSH2 0x1744
00004062: JUMP
00004063: JUMPDEST
00004064: PUSH1 0x00
00004066: PUSH2 0x406f
00004069: PUSH1 0x0c
0000406b: PUSH2 0x3915
0000406e: JUMP
0000406f: JUMPDEST
00004070: SWAP1
00004071: POP
00004072: PUSH1 0x00
00004074: DUP1
00004075: PUSH2 0x407c
00004078: PUSH2 0x33fa
0000407b: JUMP
0000407c: JUMPDEST
0000407d: PUSH2 0x4084
00004080: PUSH2 0x34d0
00004083: JUMP
00004084: JUMPDEST
00004085: PUSH2 0x408e
00004088: SWAP2
00004089: SWAP1
0000408a: PUSH2 0x5810
0000408d: JUMP
0000408e: JUMPDEST
0000408f: SWAP1
00004090: POP
00004091: PUSH1 0x00
00004093: PUSH2 0x409d
00004096: DUP5
00004097: PUSH1 0x01
00004099: PUSH2 0x583c
0000409c: JUMP
0000409d: JUMPDEST
0000409e: PUSH8 0xffffffffffffffff
000040a7: DUP2
000040a8: GT
000040a9: ISZERO
000040aa: PUSH2 0x40b5
000040ad: JUMPI
000040ae: PUSH2 0x40b5
000040b1: PUSH2 0x5532
000040b4: JUMP
000040b5: JUMPDEST
000040b6: PUSH1 0x40
000040b8: MLOAD
000040b9: SWAP1
000040ba: DUP1
000040bb: DUP3
000040bc: MSTORE
000040bd: DUP1
000040be: PUSH1 0x20
000040c0: MUL
000040c1: PUSH1 0x20
000040c3: ADD
000040c4: DUP3
000040c5: ADD
000040c6: PUSH1 0x40
000040c8: MSTORE
000040c9: DUP1
000040ca: ISZERO
000040cb: PUSH2 0x40e8
000040ce: JUMPI
000040cf: DUP2
000040d0: PUSH1 0x20
000040d2: ADD
000040d3: JUMPDEST
000040d4: PUSH1 0x60
000040d6: DUP2
000040d7: MSTORE
000040d8: PUSH1 0x20
000040da: ADD
000040db: SWAP1
000040dc: PUSH1 0x01
000040de: SWAP1
000040df: SUB
000040e0: SWAP1
000040e1: DUP2
000040e2: PUSH2 0x40d3
000040e5: JUMPI
000040e6: SWAP1
000040e7: POP
000040e8: JUMPDEST
000040e9: POP
000040ea: SWAP1
000040eb: POP
000040ec: DUP2
000040ed: DUP6
000040ee: GT
000040ef: ISZERO
000040f0: PUSH2 0x40f7
000040f3: JUMPI
000040f4: DUP2
000040f5: SWAP5
000040f6: POP
000040f7: JUMPDEST
000040f8: PUSH1 0x00
000040fa: DUP1
000040fb: PUSH1 0x00
000040fd: DUP1
000040fe: PUSH1 0x00
00004100: JUMPDEST
00004101: DUP9
00004102: DUP2
00004103: LT
00004104: ISZERO
00004105: PUSH2 0x4490
00004108: JUMPI
00004109: PUSH2 0x4113
0000410c: PUSH1 0x0c
0000410e: DUP3
0000410f: PUSH2 0x3920
00004112: JUMP
00004113: JUMPDEST
00004114: PUSH1 0x40
00004116: MLOAD
00004117: PUSH32 0x9b56d6c900000000000000000000000000000000000000000000000000000000
00004138: DUP2
00004139: MSTORE
0000413a: ADDRESS
0000413b: PUSH1 0x04
0000413d: DUP3
0000413e: ADD
0000413f: MSTORE
00004140: SWAP2
00004141: SWAP7
00004142: POP
00004143: SWAP5
00004144: POP
00004145: PUSH1 0x00
00004147: SWAP1
00004148: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000415d: DUP7
0000415e: AND
0000415f: SWAP1
00004160: PUSH4 0x9b56d6c9
00004165: SWAP1
00004166: PUSH1 0x24
00004168: ADD
00004169: PUSH1 0x20
0000416b: PUSH1 0x40
0000416d: MLOAD
0000416e: DUP1
0000416f: DUP4
00004170: SUB
00004171: DUP2
00004172: DUP7
00004173: GAS
00004174: STATICCALL
00004175: ISZERO
00004176: DUP1
00004177: ISZERO
00004178: PUSH2 0x4185
0000417b: JUMPI
0000417c: RETURNDATASIZE
0000417d: PUSH1 0x00
0000417f: DUP1
00004180: RETURNDATACOPY
00004181: RETURNDATASIZE
00004182: PUSH1 0x00
00004184: REVERT
00004185: JUMPDEST
00004186: POP
00004187: POP
00004188: POP
00004189: POP
0000418a: PUSH1 0x40
0000418c: MLOAD
0000418d: RETURNDATASIZE
0000418e: PUSH1 0x1f
00004190: NOT
00004191: PUSH1 0x1f
00004193: DUP3
00004194: ADD
00004195: AND
00004196: DUP3
00004197: ADD
00004198: DUP1
00004199: PUSH1 0x40
0000419b: MSTORE
0000419c: POP
0000419d: DUP2
0000419e: ADD
0000419f: SWAP1
000041a0: PUSH2 0x41a9
000041a3: SWAP2
000041a4: SWAP1
000041a5: PUSH2 0x5823
000041a8: JUMP
000041a9: JUMPDEST
000041aa: SWAP1
000041ab: POP
000041ac: DUP1
000041ad: PUSH1 0x00
000041af: SUB
000041b0: PUSH2 0x41b9
000041b3: JUMPI
000041b4: POP
000041b5: PUSH2 0x447e
000041b8: JUMP
000041b9: JUMPDEST
000041ba: PUSH1 0x40
000041bc: MLOAD
000041bd: PUSH32 0x9a78e72e00000000000000000000000000000000000000000000000000000000
000041de: DUP2
000041df: MSTORE
000041e0: ADDRESS
000041e1: PUSH1 0x04
000041e3: DUP3
000041e4: ADD
000041e5: MSTORE
000041e6: PUSH1 0x00
000041e8: SWAP1
000041e9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000041fe: DUP8
000041ff: AND
00004200: SWAP1
00004201: PUSH4 0x9a78e72e
00004206: SWAP1
00004207: PUSH1 0x24
00004209: ADD
0000420a: PUSH1 0x20
0000420c: PUSH1 0x40
0000420e: MLOAD
0000420f: DUP1
00004210: DUP4
00004211: SUB
00004212: DUP2
00004213: DUP7
00004214: GAS
00004215: STATICCALL
00004216: ISZERO
00004217: DUP1
00004218: ISZERO
00004219: PUSH2 0x4226
0000421c: JUMPI
0000421d: RETURNDATASIZE
0000421e: PUSH1 0x00
00004220: DUP1
00004221: RETURNDATACOPY
00004222: RETURNDATASIZE
00004223: PUSH1 0x00
00004225: REVERT
00004226: JUMPDEST
00004227: POP
00004228: POP
00004229: POP
0000422a: POP
0000422b: PUSH1 0x40
0000422d: MLOAD
0000422e: RETURNDATASIZE
0000422f: PUSH1 0x1f
00004231: NOT
00004232: PUSH1 0x1f
00004234: DUP3
00004235: ADD
00004236: AND
00004237: DUP3
00004238: ADD
00004239: DUP1
0000423a: PUSH1 0x40
0000423c: MSTORE
0000423d: POP
0000423e: DUP2
0000423f: ADD
00004240: SWAP1
00004241: PUSH2 0x424a
00004244: SWAP2
00004245: SWAP1
00004246: PUSH2 0x5823
00004249: JUMP
0000424a: JUMPDEST
0000424b: SWAP1
0000424c: POP
0000424d: PUSH1 0x00
0000424f: DUP2
00004250: PUSH32 0x000000000000000000000000d76b0ff4a487cafe4e19ed15b73f12f6a92095ca
00004271: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004286: AND
00004287: PUSH4 0x9023054a
0000428c: DUP6
0000428d: PUSH1 0x40
0000428f: MLOAD
00004290: DUP3
00004291: PUSH4 0xffffffff
00004296: AND
00004297: PUSH1 0xe0
00004299: SHL
0000429a: DUP2
0000429b: MSTORE
0000429c: PUSH1 0x04
0000429e: ADD
0000429f: PUSH2 0x42aa
000042a2: SWAP2
000042a3: DUP2
000042a4: MSTORE
000042a5: PUSH1 0x20
000042a7: ADD
000042a8: SWAP1
000042a9: JUMP
000042aa: JUMPDEST
000042ab: PUSH1 0x20
000042ad: PUSH1 0x40
000042af: MLOAD
000042b0: DUP1
000042b1: DUP4
000042b2: SUB
000042b3: DUP2
000042b4: DUP7
000042b5: GAS
000042b6: STATICCALL
000042b7: ISZERO
000042b8: DUP1
000042b9: ISZERO
000042ba: PUSH2 0x42c7
000042bd: JUMPI
000042be: RETURNDATASIZE
000042bf: PUSH1 0x00
000042c1: DUP1
000042c2: RETURNDATACOPY
000042c3: RETURNDATASIZE
000042c4: PUSH1 0x00
000042c6: REVERT
000042c7: JUMPDEST
000042c8: POP
000042c9: POP
000042ca: POP
000042cb: POP
000042cc: PUSH1 0x40
000042ce: MLOAD
000042cf: RETURNDATASIZE
000042d0: PUSH1 0x1f
000042d2: NOT
000042d3: PUSH1 0x1f
000042d5: DUP3
000042d6: ADD
000042d7: AND
000042d8: DUP3
000042d9: ADD
000042da: DUP1
000042db: PUSH1 0x40
000042dd: MSTORE
000042de: POP
000042df: DUP2
000042e0: ADD
000042e1: SWAP1
000042e2: PUSH2 0x42eb
000042e5: SWAP2
000042e6: SWAP1
000042e7: PUSH2 0x5823
000042ea: JUMP
000042eb: JUMPDEST
000042ec: PUSH2 0x42f5
000042ef: SWAP2
000042f0: SWAP1
000042f1: PUSH2 0x5810
000042f4: JUMP
000042f5: JUMPDEST
000042f6: SWAP1
000042f7: POP
000042f8: PUSH2 0x4302
000042fb: DUP14
000042fc: DUP3
000042fd: DUP13
000042fe: PUSH2 0x3575
00004301: JUMP
00004302: JUMPDEST
00004303: SWAP5
00004304: POP
00004305: PUSH2 0x430f
00004308: DUP6
00004309: DUP4
0000430a: DUP4
0000430b: PUSH2 0x3575
0000430e: JUMP
0000430f: JUMPDEST
00004310: SWAP6
00004311: POP
00004312: PUSH2 0x431b
00004315: DUP7
00004316: DUP13
00004317: PUSH2 0x583c
0000431a: JUMP
0000431b: JUMPDEST
0000431c: SWAP11
0000431d: POP
0000431e: PUSH32 0x2e2ddd4500000000000000000000000000000000000000000000000000000000
0000433f: DUP9
00004340: DUP8
00004341: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004356: PUSH32 0x000000000000000000000000d76b0ff4a487cafe4e19ed15b73f12f6a92095ca
00004377: AND
00004378: PUSH4 0x934e6a43
0000437d: PUSH2 0x4386
00004380: DUP11
00004381: DUP5
00004382: PUSH2 0x583c
00004385: JUMP
00004386: JUMPDEST
00004387: PUSH1 0x40
00004389: MLOAD
0000438a: DUP3
0000438b: PUSH4 0xffffffff
00004390: AND
00004391: PUSH1 0xe0
00004393: SHL
00004394: DUP2
00004395: MSTORE
00004396: PUSH1 0x04
00004398: ADD
00004399: PUSH2 0x43a4
0000439c: SWAP2
0000439d: DUP2
0000439e: MSTORE
0000439f: PUSH1 0x20
000043a1: ADD
000043a2: SWAP1
000043a3: JUMP
000043a4: JUMPDEST
000043a5: PUSH1 0x20
000043a7: PUSH1 0x40
000043a9: MLOAD
000043aa: DUP1
000043ab: DUP4
000043ac: SUB
000043ad: DUP2
000043ae: DUP7
000043af: GAS
000043b0: STATICCALL
000043b1: ISZERO
000043b2: DUP1
000043b3: ISZERO
000043b4: PUSH2 0x43c1
000043b7: JUMPI
000043b8: RETURNDATASIZE
000043b9: PUSH1 0x00
000043bb: DUP1
000043bc: RETURNDATACOPY
000043bd: RETURNDATASIZE
000043be: PUSH1 0x00
000043c0: REVERT
000043c1: JUMPDEST
000043c2: POP
000043c3: POP
000043c4: POP
000043c5: POP
000043c6: PUSH1 0x40
000043c8: MLOAD
000043c9: RETURNDATASIZE
000043ca: PUSH1 0x1f
000043cc: NOT
000043cd: PUSH1 0x1f
000043cf: DUP3
000043d0: ADD
000043d1: AND
000043d2: DUP3
000043d3: ADD
000043d4: DUP1
000043d5: PUSH1 0x40
000043d7: MSTORE
000043d8: POP
000043d9: DUP2
000043da: ADD
000043db: SWAP1
000043dc: PUSH2 0x43e5
000043df: SWAP2
000043e0: SWAP1
000043e1: PUSH2 0x5823
000043e4: JUMP
000043e5: JUMPDEST
000043e6: PUSH1 0x40
000043e8: MLOAD
000043e9: PUSH1 0x24
000043eb: DUP2
000043ec: ADD
000043ed: SWAP4
000043ee: SWAP1
000043ef: SWAP4
000043f0: MSTORE
000043f1: PUSH1 0x44
000043f3: DUP4
000043f4: ADD
000043f5: SWAP2
000043f6: SWAP1
000043f7: SWAP2
000043f8: MSTORE
000043f9: PUSH1 0x64
000043fb: DUP3
000043fc: ADD
000043fd: MSTORE
000043fe: PUSH1 0x84
00004400: ADD
00004401: PUSH1 0x40
00004403: MLOAD
00004404: PUSH1 0x20
00004406: DUP2
00004407: DUP4
00004408: SUB
00004409: SUB
0000440a: DUP2
0000440b: MSTORE
0000440c: SWAP1
0000440d: PUSH1 0x40
0000440f: MSTORE
00004410: SWAP1
00004411: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000442e: NOT
0000442f: AND
00004430: PUSH1 0x20
00004432: DUP3
00004433: ADD
00004434: DUP1
00004435: MLOAD
00004436: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00004453: DUP4
00004454: DUP2
00004455: DUP4
00004456: AND
00004457: OR
00004458: DUP4
00004459: MSTORE
0000445a: POP
0000445b: POP
0000445c: POP
0000445d: POP
0000445e: DUP10
0000445f: DUP6
00004460: DUP2
00004461: MLOAD
00004462: DUP2
00004463: LT
00004464: PUSH2 0x446f
00004467: JUMPI
00004468: PUSH2 0x446f
0000446b: PUSH2 0x5ae4
0000446e: JUMP
0000446f: JUMPDEST
00004470: PUSH1 0x20
00004472: MUL
00004473: PUSH1 0x20
00004475: ADD
00004476: ADD
00004477: DUP2
00004478: SWAP1
00004479: MSTORE
0000447a: POP
0000447b: POP
0000447c: POP
0000447d: POP
0000447e: JUMPDEST
0000447f: DUP1
00004480: PUSH2 0x4488
00004483: DUP2
00004484: PUSH2 0x589c
00004487: JUMP
00004488: JUMPDEST
00004489: SWAP2
0000448a: POP
0000448b: POP
0000448c: PUSH2 0x4100
0000448f: JUMP
00004490: JUMPDEST
00004491: POP
00004492: DUP9
00004493: PUSH1 0x10
00004495: PUSH1 0x00
00004497: DUP3
00004498: DUP3
00004499: SLOAD
0000449a: PUSH2 0x44a3
0000449d: SWAP2
0000449e: SWAP1
0000449f: PUSH2 0x5810
000044a2: JUMP
000044a3: JUMPDEST
000044a4: SWAP1
000044a5: SWAP2
000044a6: SSTORE
000044a7: POP
000044a8: POP
000044a9: PUSH1 0x0a
000044ab: SLOAD
000044ac: PUSH1 0x40
000044ae: DUP1
000044af: MLOAD
000044b0: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000044d1: PUSH1 0x24
000044d3: DUP3
000044d4: ADD
000044d5: MSTORE
000044d6: PUSH1 0x44
000044d8: DUP1
000044d9: DUP3
000044da: ADD
000044db: SWAP4
000044dc: SWAP1
000044dd: SWAP4
000044de: MSTORE
000044df: DUP2
000044e0: MLOAD
000044e1: DUP1
000044e2: DUP3
000044e3: SUB
000044e4: SWAP1
000044e5: SWAP4
000044e6: ADD
000044e7: DUP4
000044e8: MSTORE
000044e9: PUSH1 0x64
000044eb: ADD
000044ec: SWAP1
000044ed: MSTORE
000044ee: PUSH1 0x20
000044f0: DUP2
000044f1: ADD
000044f2: DUP1
000044f3: MLOAD
000044f4: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00004511: AND
00004512: PUSH32 0x9e50767300000000000000000000000000000000000000000000000000000000
00004533: OR
00004534: SWAP1
00004535: MSTORE
00004536: DUP6
00004537: MLOAD
00004538: DUP7
00004539: SWAP1
0000453a: DUP11
0000453b: SWAP1
0000453c: DUP2
0000453d: LT
0000453e: PUSH2 0x4549
00004541: JUMPI
00004542: PUSH2 0x4549
00004545: PUSH2 0x5ae4
00004548: JUMP
00004549: JUMPDEST
0000454a: PUSH1 0x20
0000454c: SWAP1
0000454d: DUP2
0000454e: MUL
0000454f: SWAP2
00004550: SWAP1
00004551: SWAP2
00004552: ADD
00004553: ADD
00004554: MSTORE
00004555: PUSH1 0x40
00004557: MLOAD
00004558: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00004579: DUP2
0000457a: MSTORE
0000457b: ADDRESS
0000457c: PUSH1 0x04
0000457e: DUP3
0000457f: ADD
00004580: MSTORE
00004581: PUSH1 0x00
00004583: SWAP1
00004584: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004599: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000045ba: AND
000045bb: SWAP1
000045bc: PUSH4 0x70a08231
000045c1: SWAP1
000045c2: PUSH1 0x24
000045c4: ADD
000045c5: PUSH1 0x20
000045c7: PUSH1 0x40
000045c9: MLOAD
000045ca: DUP1
000045cb: DUP4
000045cc: SUB
000045cd: DUP2
000045ce: DUP7
000045cf: GAS
000045d0: STATICCALL
000045d1: ISZERO
000045d2: DUP1
000045d3: ISZERO
000045d4: PUSH2 0x45e1
000045d7: JUMPI
000045d8: RETURNDATASIZE
000045d9: PUSH1 0x00
000045db: DUP1
000045dc: RETURNDATACOPY
000045dd: RETURNDATASIZE
000045de: PUSH1 0x00
000045e0: REVERT
000045e1: JUMPDEST
000045e2: POP
000045e3: POP
000045e4: POP
000045e5: POP
000045e6: PUSH1 0x40
000045e8: MLOAD
000045e9: RETURNDATASIZE
000045ea: PUSH1 0x1f
000045ec: NOT
000045ed: PUSH1 0x1f
000045ef: DUP3
000045f0: ADD
000045f1: AND
000045f2: DUP3
000045f3: ADD
000045f4: DUP1
000045f5: PUSH1 0x40
000045f7: MSTORE
000045f8: POP
000045f9: DUP2
000045fa: ADD
000045fb: SWAP1
000045fc: PUSH2 0x4605
000045ff: SWAP2
00004600: SWAP1
00004601: PUSH2 0x5823
00004604: JUMP
00004605: JUMPDEST
00004606: SWAP1
00004607: POP
00004608: PUSH2 0x4611
0000460b: DUP9
0000460c: DUP8
0000460d: PUSH2 0x3b82
00004610: JUMP
00004611: JUMPDEST
00004612: PUSH1 0x40
00004614: MLOAD
00004615: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00004636: DUP2
00004637: MSTORE
00004638: ADDRESS
00004639: PUSH1 0x04
0000463b: DUP3
0000463c: ADD
0000463d: MSTORE
0000463e: PUSH32 0x7e472eae96e977766c8a0c6d0157161571f966cac5533f0acc3632d2cb8bf20f
0000465f: SWAP1
00004660: DUP3
00004661: SWAP1
00004662: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004677: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00004698: AND
00004699: SWAP1
0000469a: PUSH4 0x70a08231
0000469f: SWAP1
000046a0: PUSH1 0x24
000046a2: ADD
000046a3: PUSH1 0x20
000046a5: PUSH1 0x40
000046a7: MLOAD
000046a8: DUP1
000046a9: DUP4
000046aa: SUB
000046ab: DUP2
000046ac: DUP7
000046ad: GAS
000046ae: STATICCALL
000046af: ISZERO
000046b0: DUP1
000046b1: ISZERO
000046b2: PUSH2 0x46bf
000046b5: JUMPI
000046b6: RETURNDATASIZE
000046b7: PUSH1 0x00
000046b9: DUP1
000046ba: RETURNDATACOPY
000046bb: RETURNDATASIZE
000046bc: PUSH1 0x00
000046be: REVERT
000046bf: JUMPDEST
000046c0: POP
000046c1: POP
000046c2: POP
000046c3: POP
000046c4: PUSH1 0x40
000046c6: MLOAD
000046c7: RETURNDATASIZE
000046c8: PUSH1 0x1f
000046ca: NOT
000046cb: PUSH1 0x1f
000046cd: DUP3
000046ce: ADD
000046cf: AND
000046d0: DUP3
000046d1: ADD
000046d2: DUP1
000046d3: PUSH1 0x40
000046d5: MSTORE
000046d6: POP
000046d7: DUP2
000046d8: ADD
000046d9: SWAP1
000046da: PUSH2 0x46e3
000046dd: SWAP2
000046de: SWAP1
000046df: PUSH2 0x5823
000046e2: JUMP
000046e3: JUMPDEST
000046e4: PUSH2 0x46ed
000046e7: SWAP2
000046e8: SWAP1
000046e9: PUSH2 0x5810
000046ec: JUMP
000046ed: JUMPDEST
000046ee: PUSH1 0x40
000046f0: MLOAD
000046f1: SWAP1
000046f2: DUP2
000046f3: MSTORE
000046f4: PUSH1 0x20
000046f6: ADD
000046f7: PUSH1 0x40
000046f9: MLOAD
000046fa: DUP1
000046fb: SWAP2
000046fc: SUB
000046fd: SWAP1
000046fe: LOG1
000046ff: POP
00004700: POP
00004701: POP
00004702: POP
00004703: POP
00004704: POP
00004705: POP
00004706: POP
00004707: POP
00004708: POP
00004709: JUMP
0000470a: JUMPDEST
0000470b: PUSH1 0x00
0000470d: DUP1
0000470e: DUP1
0000470f: DUP1
00004710: PUSH2 0x392f
00004713: DUP7
00004714: DUP7
00004715: PUSH2 0x4b1a
00004718: JUMP
00004719: JUMPDEST
0000471a: PUSH1 0x07
0000471c: SLOAD
0000471d: PUSH1 0xff
0000471f: AND
00004720: PUSH2 0x3607
00004723: JUMPI
00004724: PUSH1 0x40
00004726: MLOAD
00004727: PUSH32 0xe17c49b700000000000000000000000000000000000000000000000000000000
00004748: DUP2
00004749: MSTORE
0000474a: PUSH1 0x04
0000474c: ADD
0000474d: PUSH1 0x40
0000474f: MLOAD
00004750: DUP1
00004751: SWAP2
00004752: SUB
00004753: SWAP1
00004754: REVERT
00004755: JUMPDEST
00004756: PUSH1 0x00
00004758: JUMPDEST
00004759: DUP2
0000475a: MLOAD
0000475b: DUP2
0000475c: LT
0000475d: ISZERO
0000475e: PUSH2 0x1281
00004761: JUMPI
00004762: DUP2
00004763: DUP2
00004764: DUP2
00004765: MLOAD
00004766: DUP2
00004767: LT
00004768: PUSH2 0x4773
0000476b: JUMPI
0000476c: PUSH2 0x4773
0000476f: PUSH2 0x5ae4
00004772: JUMP
00004773: JUMPDEST
00004774: PUSH1 0x20
00004776: MUL
00004777: PUSH1 0x20
00004779: ADD
0000477a: ADD
0000477b: MLOAD
0000477c: MLOAD
0000477d: PUSH1 0x00
0000477f: SUB
00004780: ISZERO
00004781: PUSH2 0x47c8
00004784: JUMPI
00004785: PUSH2 0x47c6
00004788: DUP3
00004789: DUP3
0000478a: DUP2
0000478b: MLOAD
0000478c: DUP2
0000478d: LT
0000478e: PUSH2 0x4799
00004791: JUMPI
00004792: PUSH2 0x4799
00004795: PUSH2 0x5ae4
00004798: JUMP
00004799: JUMPDEST
0000479a: PUSH1 0x20
0000479c: MUL
0000479d: PUSH1 0x20
0000479f: ADD
000047a0: ADD
000047a1: MLOAD
000047a2: ADDRESS
000047a3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000047b8: AND
000047b9: PUSH2 0x3609
000047bc: SWAP1
000047bd: SWAP2
000047be: SWAP1
000047bf: PUSH4 0xffffffff
000047c4: AND
000047c5: JUMP
000047c6: JUMPDEST
000047c7: POP
000047c8: JUMPDEST
000047c9: DUP1
000047ca: PUSH2 0x47d2
000047cd: DUP2
000047ce: PUSH2 0x589c
000047d1: JUMP
000047d2: JUMPDEST
000047d3: SWAP2
000047d4: POP
000047d5: POP
000047d6: PUSH2 0x4758
000047d9: JUMP
000047da: JUMPDEST
000047db: PUSH1 0x40
000047dd: MLOAD
000047de: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
000047ff: DUP2
00004800: MSTORE
00004801: ADDRESS
00004802: PUSH1 0x04
00004804: DUP3
00004805: ADD
00004806: MSTORE
00004807: PUSH1 0x00
00004809: SWAP1
0000480a: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
0000482b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004840: AND
00004841: SWAP1
00004842: PUSH4 0x70a08231
00004847: SWAP1
00004848: PUSH1 0x24
0000484a: ADD
0000484b: PUSH1 0x20
0000484d: PUSH1 0x40
0000484f: MLOAD
00004850: DUP1
00004851: DUP4
00004852: SUB
00004853: DUP2
00004854: DUP7
00004855: GAS
00004856: STATICCALL
00004857: ISZERO
00004858: DUP1
00004859: ISZERO
0000485a: PUSH2 0x4867
0000485d: JUMPI
0000485e: RETURNDATASIZE
0000485f: PUSH1 0x00
00004861: DUP1
00004862: RETURNDATACOPY
00004863: RETURNDATASIZE
00004864: PUSH1 0x00
00004866: REVERT
00004867: JUMPDEST
00004868: POP
00004869: POP
0000486a: POP
0000486b: POP
0000486c: PUSH1 0x40
0000486e: MLOAD
0000486f: RETURNDATASIZE
00004870: PUSH1 0x1f
00004872: NOT
00004873: PUSH1 0x1f
00004875: DUP3
00004876: ADD
00004877: AND
00004878: DUP3
00004879: ADD
0000487a: DUP1
0000487b: PUSH1 0x40
0000487d: MSTORE
0000487e: POP
0000487f: DUP2
00004880: ADD
00004881: SWAP1
00004882: PUSH2 0x488b
00004885: SWAP2
00004886: SWAP1
00004887: PUSH2 0x5823
0000488a: JUMP
0000488b: JUMPDEST
0000488c: PUSH1 0x12
0000488e: SLOAD
0000488f: SWAP1
00004890: SWAP2
00004891: POP
00004892: DUP1
00004893: DUP3
00004894: LT
00004895: ISZERO
00004896: PUSH2 0x1281
00004899: JUMPI
0000489a: PUSH1 0x40
0000489c: MLOAD
0000489d: PUSH32 0xcd62da4300000000000000000000000000000000000000000000000000000000
000048be: DUP2
000048bf: MSTORE
000048c0: PUSH1 0x04
000048c2: DUP2
000048c3: ADD
000048c4: DUP4
000048c5: SWAP1
000048c6: MSTORE
000048c7: PUSH1 0x24
000048c9: DUP2
000048ca: ADD
000048cb: DUP3
000048cc: SWAP1
000048cd: MSTORE
000048ce: PUSH1 0x44
000048d0: ADD
000048d1: PUSH2 0x1744
000048d4: JUMP
000048d5: JUMPDEST
000048d6: PUSH1 0x60
000048d8: PUSH1 0x00
000048da: DUP1
000048db: DUP6
000048dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000048f1: AND
000048f2: DUP6
000048f3: PUSH1 0x40
000048f5: MLOAD
000048f6: PUSH2 0x48ff
000048f9: SWAP2
000048fa: SWAP1
000048fb: PUSH2 0x5d1c
000048fe: JUMP
000048ff: JUMPDEST
00004900: PUSH1 0x00
00004902: PUSH1 0x40
00004904: MLOAD
00004905: DUP1
00004906: DUP4
00004907: SUB
00004908: DUP2
00004909: DUP6
0000490a: GAS
0000490b: DELEGATECALL
0000490c: SWAP2
0000490d: POP
0000490e: POP
0000490f: RETURNDATASIZE
00004910: DUP1
00004911: PUSH1 0x00
00004913: DUP2
00004914: EQ
00004915: PUSH2 0x493a
00004918: JUMPI
00004919: PUSH1 0x40
0000491b: MLOAD
0000491c: SWAP2
0000491d: POP
0000491e: PUSH1 0x1f
00004920: NOT
00004921: PUSH1 0x3f
00004923: RETURNDATASIZE
00004924: ADD
00004925: AND
00004926: DUP3
00004927: ADD
00004928: PUSH1 0x40
0000492a: MSTORE
0000492b: RETURNDATASIZE
0000492c: DUP3
0000492d: MSTORE
0000492e: RETURNDATASIZE
0000492f: PUSH1 0x00
00004931: PUSH1 0x20
00004933: DUP5
00004934: ADD
00004935: RETURNDATACOPY
00004936: PUSH2 0x493f
00004939: JUMP
0000493a: JUMPDEST
0000493b: PUSH1 0x60
0000493d: SWAP2
0000493e: POP
0000493f: JUMPDEST
00004940: POP
00004941: SWAP2
00004942: POP
00004943: SWAP2
00004944: POP
00004945: PUSH2 0x4950
00004948: DUP7
00004949: DUP4
0000494a: DUP4
0000494b: DUP8
0000494c: PUSH2 0x4b54
0000494f: JUMP
00004950: JUMPDEST
00004951: SWAP7
00004952: SWAP6
00004953: POP
00004954: POP
00004955: POP
00004956: POP
00004957: POP
00004958: POP
00004959: JUMP
0000495a: JUMPDEST
0000495b: PUSH1 0x00
0000495d: DUP2
0000495e: DUP2
0000495f: MSTORE
00004960: PUSH1 0x02
00004962: DUP4
00004963: ADD
00004964: PUSH1 0x20
00004966: MSTORE
00004967: PUSH1 0x40
00004969: DUP2
0000496a: KECCAK256
0000496b: SLOAD
0000496c: DUP1
0000496d: ISZERO
0000496e: ISZERO
0000496f: DUP1
00004970: PUSH2 0x497e
00004973: JUMPI
00004974: POP
00004975: PUSH2 0x497e
00004978: DUP5
00004979: DUP5
0000497a: PUSH2 0x4af1
0000497d: JUMP
0000497e: JUMPDEST
0000497f: PUSH2 0x1109
00004982: JUMPI
00004983: PUSH1 0x40
00004985: MLOAD
00004986: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000049a7: DUP2
000049a8: MSTORE
000049a9: PUSH1 0x20
000049ab: PUSH1 0x04
000049ad: DUP3
000049ae: ADD
000049af: MSTORE
000049b0: PUSH1 0x1e
000049b2: PUSH1 0x24
000049b4: DUP3
000049b5: ADD
000049b6: MSTORE
000049b7: PUSH32 0x456e756d657261626c654d61703a206e6f6e6578697374656e74206b65790000
000049d8: PUSH1 0x44
000049da: DUP3
000049db: ADD
000049dc: MSTORE
000049dd: PUSH1 0x64
000049df: ADD
000049e0: PUSH2 0x1744
000049e3: JUMP
000049e4: JUMPDEST
000049e5: PUSH1 0x00
000049e7: DUP3
000049e8: DUP2
000049e9: MSTORE
000049ea: PUSH1 0x06
000049ec: PUSH1 0x20
000049ee: SWAP1
000049ef: DUP2
000049f0: MSTORE
000049f1: PUSH1 0x40
000049f3: DUP1
000049f4: DUP4
000049f5: KECCAK256
000049f6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004a0b: DUP6
00004a0c: AND
00004a0d: DUP5
00004a0e: MSTORE
00004a0f: SWAP1
00004a10: SWAP2
00004a11: MSTORE
00004a12: SWAP1
00004a13: KECCAK256
00004a14: SLOAD
00004a15: PUSH1 0xff
00004a17: AND
00004a18: PUSH2 0x1281
00004a1b: JUMPI
00004a1c: PUSH2 0x4a24
00004a1f: DUP2
00004a20: PUSH2 0x4bf4
00004a23: JUMP
00004a24: JUMPDEST
00004a25: PUSH2 0x4a2f
00004a28: DUP4
00004a29: PUSH1 0x20
00004a2b: PUSH2 0x4c13
00004a2e: JUMP
00004a2f: JUMPDEST
00004a30: PUSH1 0x40
00004a32: MLOAD
00004a33: PUSH1 0x20
00004a35: ADD
00004a36: PUSH2 0x4a40
00004a39: SWAP3
00004a3a: SWAP2
00004a3b: SWAP1
00004a3c: PUSH2 0x5d38
00004a3f: JUMP
00004a40: JUMPDEST
00004a41: PUSH1 0x40
00004a43: DUP1
00004a44: MLOAD
00004a45: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00004a66: DUP2
00004a67: DUP5
00004a68: SUB
00004a69: ADD
00004a6a: DUP2
00004a6b: MSTORE
00004a6c: SWAP1
00004a6d: DUP3
00004a6e: SWAP1
00004a6f: MSTORE
00004a70: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00004a91: DUP3
00004a92: MSTORE
00004a93: PUSH2 0x1744
00004a96: SWAP2
00004a97: PUSH1 0x04
00004a99: ADD
00004a9a: PUSH2 0x50fc
00004a9d: JUMP
00004a9e: JUMPDEST
00004a9f: PUSH1 0x00
00004aa1: PUSH2 0x104f
00004aa4: DUP3
00004aa5: PUSH2 0x4e56
00004aa8: JUMP
00004aa9: JUMPDEST
00004aaa: PUSH1 0x00
00004aac: DUP1
00004aad: DUP1
00004aae: PUSH2 0x4ab7
00004ab1: DUP6
00004ab2: DUP6
00004ab3: PUSH2 0x4e60
00004ab6: JUMP
00004ab7: JUMPDEST
00004ab8: PUSH1 0x00
00004aba: DUP2
00004abb: DUP2
00004abc: MSTORE
00004abd: PUSH1 0x02
00004abf: SWAP7
00004ac0: SWAP1
00004ac1: SWAP7
00004ac2: ADD
00004ac3: PUSH1 0x20
00004ac5: MSTORE
00004ac6: PUSH1 0x40
00004ac8: SWAP1
00004ac9: SWAP6
00004aca: KECCAK256
00004acb: SLOAD
00004acc: SWAP5
00004acd: SWAP6
00004ace: SWAP4
00004acf: POP
00004ad0: POP
00004ad1: POP
00004ad2: POP
00004ad3: JUMP
00004ad4: JUMPDEST
00004ad5: PUSH1 0x00
00004ad7: DUP3
00004ad8: DUP2
00004ad9: MSTORE
00004ada: PUSH1 0x02
00004adc: DUP5
00004add: ADD
00004ade: PUSH1 0x20
00004ae0: MSTORE
00004ae1: PUSH1 0x40
00004ae3: DUP2
00004ae4: KECCAK256
00004ae5: DUP3
00004ae6: SWAP1
00004ae7: SSTORE
00004ae8: PUSH2 0x39ce
00004aeb: DUP5
00004aec: DUP5
00004aed: PUSH2 0x4e6c
00004af0: JUMP
00004af1: JUMPDEST
00004af2: PUSH1 0x00
00004af4: PUSH2 0x1109
00004af7: DUP4
00004af8: DUP4
00004af9: PUSH2 0x4e78
00004afc: JUMP
00004afd: JUMPDEST
00004afe: PUSH1 0x00
00004b00: DUP2
00004b01: DUP2
00004b02: MSTORE
00004b03: PUSH1 0x02
00004b05: DUP4
00004b06: ADD
00004b07: PUSH1 0x20
00004b09: MSTORE
00004b0a: PUSH1 0x40
00004b0c: DUP2
00004b0d: KECCAK256
00004b0e: DUP2
00004b0f: SWAP1
00004b10: SSTORE
00004b11: PUSH2 0x1109
00004b14: DUP4
00004b15: DUP4
00004b16: PUSH2 0x4e90
00004b19: JUMP
00004b1a: JUMPDEST
00004b1b: PUSH1 0x00
00004b1d: DUP2
00004b1e: DUP2
00004b1f: MSTORE
00004b20: PUSH1 0x02
00004b22: DUP4
00004b23: ADD
00004b24: PUSH1 0x20
00004b26: MSTORE
00004b27: PUSH1 0x40
00004b29: DUP2
00004b2a: KECCAK256
00004b2b: SLOAD
00004b2c: DUP2
00004b2d: SWAP1
00004b2e: DUP1
00004b2f: PUSH2 0x4b49
00004b32: JUMPI
00004b33: PUSH2 0x4b3c
00004b36: DUP6
00004b37: DUP6
00004b38: PUSH2 0x4af1
00004b3b: JUMP
00004b3c: JUMPDEST
00004b3d: SWAP3
00004b3e: POP
00004b3f: PUSH1 0x00
00004b41: SWAP2
00004b42: POP
00004b43: PUSH2 0x3937
00004b46: SWAP1
00004b47: POP
00004b48: JUMP
00004b49: JUMPDEST
00004b4a: PUSH1 0x01
00004b4c: SWAP3
00004b4d: POP
00004b4e: SWAP1
00004b4f: POP
00004b50: PUSH2 0x3937
00004b53: JUMP
00004b54: JUMPDEST
00004b55: PUSH1 0x60
00004b57: DUP4
00004b58: ISZERO
00004b59: PUSH2 0x4bea
00004b5c: JUMPI
00004b5d: DUP3
00004b5e: MLOAD
00004b5f: PUSH1 0x00
00004b61: SUB
00004b62: PUSH2 0x4be3
00004b65: JUMPI
00004b66: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004b7b: DUP6
00004b7c: AND
00004b7d: EXTCODESIZE
00004b7e: PUSH2 0x4be3
00004b81: JUMPI
00004b82: PUSH1 0x40
00004b84: MLOAD
00004b85: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00004ba6: DUP2
00004ba7: MSTORE
00004ba8: PUSH1 0x20
00004baa: PUSH1 0x04
00004bac: DUP3
00004bad: ADD
00004bae: MSTORE
00004baf: PUSH1 0x1d
00004bb1: PUSH1 0x24
00004bb3: DUP3
00004bb4: ADD
00004bb5: MSTORE
00004bb6: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
00004bd7: PUSH1 0x44
00004bd9: DUP3
00004bda: ADD
00004bdb: MSTORE
00004bdc: PUSH1 0x64
00004bde: ADD
00004bdf: PUSH2 0x1744
00004be2: JUMP
00004be3: JUMPDEST
00004be4: POP
00004be5: DUP2
00004be6: PUSH2 0x39ce
00004be9: JUMP
00004bea: JUMPDEST
00004beb: PUSH2 0x39ce
00004bee: DUP4
00004bef: DUP4
00004bf0: PUSH2 0x4e9c
00004bf3: JUMP
00004bf4: JUMPDEST
00004bf5: PUSH1 0x60
00004bf7: PUSH2 0x104f
00004bfa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004c0f: DUP4
00004c10: AND
00004c11: PUSH1 0x14
00004c13: JUMPDEST
00004c14: PUSH1 0x60
00004c16: PUSH1 0x00
00004c18: PUSH2 0x4c22
00004c1b: DUP4
00004c1c: PUSH1 0x02
00004c1e: PUSH2 0x5db9
00004c21: JUMP
00004c22: JUMPDEST
00004c23: PUSH2 0x4c2d
00004c26: SWAP1
00004c27: PUSH1 0x02
00004c29: PUSH2 0x583c
00004c2c: JUMP
00004c2d: JUMPDEST
00004c2e: PUSH8 0xffffffffffffffff
00004c37: DUP2
00004c38: GT
00004c39: ISZERO
00004c3a: PUSH2 0x4c45
00004c3d: JUMPI
00004c3e: PUSH2 0x4c45
00004c41: PUSH2 0x5532
00004c44: JUMP
00004c45: JUMPDEST
00004c46: PUSH1 0x40
00004c48: MLOAD
00004c49: SWAP1
00004c4a: DUP1
00004c4b: DUP3
00004c4c: MSTORE
00004c4d: DUP1
00004c4e: PUSH1 0x1f
00004c50: ADD
00004c51: PUSH1 0x1f
00004c53: NOT
00004c54: AND
00004c55: PUSH1 0x20
00004c57: ADD
00004c58: DUP3
00004c59: ADD
00004c5a: PUSH1 0x40
00004c5c: MSTORE
00004c5d: DUP1
00004c5e: ISZERO
00004c5f: PUSH2 0x4c6f
00004c62: JUMPI
00004c63: PUSH1 0x20
00004c65: DUP3
00004c66: ADD
00004c67: DUP2
00004c68: DUP1
00004c69: CALLDATASIZE
00004c6a: DUP4
00004c6b: CALLDATACOPY
00004c6c: ADD
00004c6d: SWAP1
00004c6e: POP
00004c6f: JUMPDEST
00004c70: POP
00004c71: SWAP1
00004c72: POP
00004c73: PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000
00004c94: DUP2
00004c95: PUSH1 0x00
00004c97: DUP2
00004c98: MLOAD
00004c99: DUP2
00004c9a: LT
00004c9b: PUSH2 0x4ca6
00004c9e: JUMPI
00004c9f: PUSH2 0x4ca6
00004ca2: PUSH2 0x5ae4
00004ca5: JUMP
00004ca6: JUMPDEST
00004ca7: PUSH1 0x20
00004ca9: ADD
00004caa: ADD
00004cab: SWAP1
00004cac: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00004ccc: NOT
00004ccd: AND
00004cce: SWAP1
00004ccf: DUP2
00004cd0: PUSH1 0x00
00004cd2: BYTE
00004cd3: SWAP1
00004cd4: MSTORE8
00004cd5: POP
00004cd6: PUSH32 0x7800000000000000000000000000000000000000000000000000000000000000
00004cf7: DUP2
00004cf8: PUSH1 0x01
00004cfa: DUP2
00004cfb: MLOAD
00004cfc: DUP2
00004cfd: LT
00004cfe: PUSH2 0x4d09
00004d01: JUMPI
00004d02: PUSH2 0x4d09
00004d05: PUSH2 0x5ae4
00004d08: JUMP
00004d09: JUMPDEST
00004d0a: PUSH1 0x20
00004d0c: ADD
00004d0d: ADD
00004d0e: SWAP1
00004d0f: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00004d2f: NOT
00004d30: AND
00004d31: SWAP1
00004d32: DUP2
00004d33: PUSH1 0x00
00004d35: BYTE
00004d36: SWAP1
00004d37: MSTORE8
00004d38: POP
00004d39: PUSH1 0x00
00004d3b: PUSH2 0x4d45
00004d3e: DUP5
00004d3f: PUSH1 0x02
00004d41: PUSH2 0x5db9
00004d44: JUMP
00004d45: JUMPDEST
00004d46: PUSH2 0x4d50
00004d49: SWAP1
00004d4a: PUSH1 0x01
00004d4c: PUSH2 0x583c
00004d4f: JUMP
00004d50: JUMPDEST
00004d51: SWAP1
00004d52: POP
00004d53: JUMPDEST
00004d54: PUSH1 0x01
00004d56: DUP2
00004d57: GT
00004d58: ISZERO
00004d59: PUSH2 0x4ded
00004d5c: JUMPI
00004d5d: PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000
00004d7e: DUP6
00004d7f: PUSH1 0x0f
00004d81: AND
00004d82: PUSH1 0x10
00004d84: DUP2
00004d85: LT
00004d86: PUSH2 0x4d91
00004d89: JUMPI
00004d8a: PUSH2 0x4d91
00004d8d: PUSH2 0x5ae4
00004d90: JUMP
00004d91: JUMPDEST
00004d92: BYTE
00004d93: PUSH1 0xf8
00004d95: SHL
00004d96: DUP3
00004d97: DUP3
00004d98: DUP2
00004d99: MLOAD
00004d9a: DUP2
00004d9b: LT
00004d9c: PUSH2 0x4da7
00004d9f: JUMPI
00004da0: PUSH2 0x4da7
00004da3: PUSH2 0x5ae4
00004da6: JUMP
00004da7: JUMPDEST
00004da8: PUSH1 0x20
00004daa: ADD
00004dab: ADD
00004dac: SWAP1
00004dad: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00004dcd: NOT
00004dce: AND
00004dcf: SWAP1
00004dd0: DUP2
00004dd1: PUSH1 0x00
00004dd3: BYTE
00004dd4: SWAP1
00004dd5: MSTORE8
00004dd6: POP
00004dd7: PUSH1 0x04
00004dd9: SWAP5
00004dda: SWAP1
00004ddb: SWAP5
00004ddc: SHR
00004ddd: SWAP4
00004dde: PUSH2 0x4de6
00004de1: DUP2
00004de2: PUSH2 0x5dd0
00004de5: JUMP
00004de6: JUMPDEST
00004de7: SWAP1
00004de8: POP
00004de9: PUSH2 0x4d53
00004dec: JUMP
00004ded: JUMPDEST
00004dee: POP
00004def: DUP4
00004df0: ISZERO
00004df1: PUSH2 0x1109
00004df4: JUMPI
00004df5: PUSH1 0x40
00004df7: MLOAD
00004df8: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00004e19: DUP2
00004e1a: MSTORE
00004e1b: PUSH1 0x20
00004e1d: PUSH1 0x04
00004e1f: DUP3
00004e20: ADD
00004e21: DUP2
00004e22: SWAP1
00004e23: MSTORE
00004e24: PUSH1 0x24
00004e26: DUP3
00004e27: ADD
00004e28: MSTORE
00004e29: PUSH32 0x537472696e67733a20686578206c656e67746820696e73756666696369656e74
00004e4a: PUSH1 0x44
00004e4c: DUP3
00004e4d: ADD
00004e4e: MSTORE
00004e4f: PUSH1 0x64
00004e51: ADD
00004e52: PUSH2 0x1744
00004e55: JUMP
00004e56: JUMPDEST
00004e57: PUSH1 0x00
00004e59: PUSH2 0x104f
00004e5c: DUP3
00004e5d: SLOAD
00004e5e: SWAP1
00004e5f: JUMP
00004e60: JUMPDEST
00004e61: PUSH1 0x00
00004e63: PUSH2 0x1109
00004e66: DUP4
00004e67: DUP4
00004e68: PUSH2 0x4ee0
00004e6b: JUMP
00004e6c: JUMPDEST
00004e6d: PUSH1 0x00
00004e6f: PUSH2 0x1109
00004e72: DUP4
00004e73: DUP4
00004e74: PUSH2 0x4f0a
00004e77: JUMP
00004e78: JUMPDEST
00004e79: PUSH1 0x00
00004e7b: DUP2
00004e7c: DUP2
00004e7d: MSTORE
00004e7e: PUSH1 0x01
00004e80: DUP4
00004e81: ADD
00004e82: PUSH1 0x20
00004e84: MSTORE
00004e85: PUSH1 0x40
00004e87: DUP2
00004e88: KECCAK256
00004e89: SLOAD
00004e8a: ISZERO
00004e8b: ISZERO
00004e8c: PUSH2 0x1109
00004e8f: JUMP
00004e90: JUMPDEST
00004e91: PUSH1 0x00
00004e93: PUSH2 0x1109
00004e96: DUP4
00004e97: DUP4
00004e98: PUSH2 0x4f59
00004e9b: JUMP
00004e9c: JUMPDEST
00004e9d: DUP2
00004e9e: MLOAD
00004e9f: ISZERO
00004ea0: PUSH2 0x4eac
00004ea3: JUMPI
00004ea4: DUP2
00004ea5: MLOAD
00004ea6: DUP1
00004ea7: DUP4
00004ea8: PUSH1 0x20
00004eaa: ADD
00004eab: REVERT
00004eac: JUMPDEST
00004ead: DUP1
00004eae: PUSH1 0x40
00004eb0: MLOAD
00004eb1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00004ed2: DUP2
00004ed3: MSTORE
00004ed4: PUSH1 0x04
00004ed6: ADD
00004ed7: PUSH2 0x1744
00004eda: SWAP2
00004edb: SWAP1
00004edc: PUSH2 0x50fc
00004edf: JUMP
00004ee0: JUMPDEST
00004ee1: PUSH1 0x00
00004ee3: DUP3
00004ee4: PUSH1 0x00
00004ee6: ADD
00004ee7: DUP3
00004ee8: DUP2
00004ee9: SLOAD
00004eea: DUP2
00004eeb: LT
00004eec: PUSH2 0x4ef7
00004eef: JUMPI
00004ef0: PUSH2 0x4ef7
00004ef3: PUSH2 0x5ae4
00004ef6: JUMP
00004ef7: JUMPDEST
00004ef8: SWAP1
00004ef9: PUSH1 0x00
00004efb: MSTORE
00004efc: PUSH1 0x20
00004efe: PUSH1 0x00
00004f00: KECCAK256
00004f01: ADD
00004f02: SLOAD
00004f03: SWAP1
00004f04: POP
00004f05: SWAP3
00004f06: SWAP2
00004f07: POP
00004f08: POP
00004f09: JUMP
00004f0a: JUMPDEST
00004f0b: PUSH1 0x00
00004f0d: DUP2
00004f0e: DUP2
00004f0f: MSTORE
00004f10: PUSH1 0x01
00004f12: DUP4
00004f13: ADD
00004f14: PUSH1 0x20
00004f16: MSTORE
00004f17: PUSH1 0x40
00004f19: DUP2
00004f1a: KECCAK256
00004f1b: SLOAD
00004f1c: PUSH2 0x4f51
00004f1f: JUMPI
00004f20: POP
00004f21: DUP2
00004f22: SLOAD
00004f23: PUSH1 0x01
00004f25: DUP2
00004f26: DUP2
00004f27: ADD
00004f28: DUP5
00004f29: SSTORE
00004f2a: PUSH1 0x00
00004f2c: DUP5
00004f2d: DUP2
00004f2e: MSTORE
00004f2f: PUSH1 0x20
00004f31: DUP1
00004f32: DUP3
00004f33: KECCAK256
00004f34: SWAP1
00004f35: SWAP4
00004f36: ADD
00004f37: DUP5
00004f38: SWAP1
00004f39: SSTORE
00004f3a: DUP5
00004f3b: SLOAD
00004f3c: DUP5
00004f3d: DUP3
00004f3e: MSTORE
00004f3f: DUP3
00004f40: DUP7
00004f41: ADD
00004f42: SWAP1
00004f43: SWAP4
00004f44: MSTORE
00004f45: PUSH1 0x40
00004f47: SWAP1
00004f48: KECCAK256
00004f49: SWAP2
00004f4a: SWAP1
00004f4b: SWAP2
00004f4c: SSTORE
00004f4d: PUSH2 0x104f
00004f50: JUMP
00004f51: JUMPDEST
00004f52: POP
00004f53: PUSH1 0x00
00004f55: PUSH2 0x104f
00004f58: JUMP
00004f59: JUMPDEST
00004f5a: PUSH1 0x00
00004f5c: DUP2
00004f5d: DUP2
00004f5e: MSTORE
00004f5f: PUSH1 0x01
00004f61: DUP4
00004f62: ADD
00004f63: PUSH1 0x20
00004f65: MSTORE
00004f66: PUSH1 0x40
00004f68: DUP2
00004f69: KECCAK256
00004f6a: SLOAD
00004f6b: DUP1
00004f6c: ISZERO
00004f6d: PUSH2 0x5042
00004f70: JUMPI
00004f71: PUSH1 0x00
00004f73: PUSH2 0x4f7d
00004f76: PUSH1 0x01
00004f78: DUP4
00004f79: PUSH2 0x5810
00004f7c: JUMP
00004f7d: JUMPDEST
00004f7e: DUP6
00004f7f: SLOAD
00004f80: SWAP1
00004f81: SWAP2
00004f82: POP
00004f83: PUSH1 0x00
00004f85: SWAP1
00004f86: PUSH2 0x4f91
00004f89: SWAP1
00004f8a: PUSH1 0x01
00004f8c: SWAP1
00004f8d: PUSH2 0x5810
00004f90: JUMP
00004f91: JUMPDEST
00004f92: SWAP1
00004f93: POP
00004f94: DUP2
00004f95: DUP2
00004f96: EQ
00004f97: PUSH2 0x4ff6
00004f9a: JUMPI
00004f9b: PUSH1 0x00
00004f9d: DUP7
00004f9e: PUSH1 0x00
00004fa0: ADD
00004fa1: DUP3
00004fa2: DUP2
00004fa3: SLOAD
00004fa4: DUP2
00004fa5: LT
00004fa6: PUSH2 0x4fb1
00004fa9: JUMPI
00004faa: PUSH2 0x4fb1
00004fad: PUSH2 0x5ae4
00004fb0: JUMP
00004fb1: JUMPDEST
00004fb2: SWAP1
00004fb3: PUSH1 0x00
00004fb5: MSTORE
00004fb6: PUSH1 0x20
00004fb8: PUSH1 0x00
00004fba: KECCAK256
00004fbb: ADD
00004fbc: SLOAD
00004fbd: SWAP1
00004fbe: POP
00004fbf: DUP1
00004fc0: DUP8
00004fc1: PUSH1 0x00
00004fc3: ADD
00004fc4: DUP5
00004fc5: DUP2
00004fc6: SLOAD
00004fc7: DUP2
00004fc8: LT
00004fc9: PUSH2 0x4fd4
00004fcc: JUMPI
00004fcd: PUSH2 0x4fd4
00004fd0: PUSH2 0x5ae4
00004fd3: JUMP
00004fd4: JUMPDEST
00004fd5: PUSH1 0x00
00004fd7: SWAP2
00004fd8: DUP3
00004fd9: MSTORE
00004fda: PUSH1 0x20
00004fdc: DUP1
00004fdd: DUP4
00004fde: KECCAK256
00004fdf: SWAP1
00004fe0: SWAP2
00004fe1: ADD
00004fe2: SWAP3
00004fe3: SWAP1
00004fe4: SWAP3
00004fe5: SSTORE
00004fe6: SWAP2
00004fe7: DUP3
00004fe8: MSTORE
00004fe9: PUSH1 0x01
00004feb: DUP9
00004fec: ADD
00004fed: SWAP1
00004fee: MSTORE
00004fef: PUSH1 0x40
00004ff1: SWAP1
00004ff2: KECCAK256
00004ff3: DUP4
00004ff4: SWAP1
00004ff5: SSTORE
00004ff6: JUMPDEST
00004ff7: DUP6
00004ff8: SLOAD
00004ff9: DUP7
00004ffa: SWAP1
00004ffb: DUP1
00004ffc: PUSH2 0x5007
00004fff: JUMPI
00005000: PUSH2 0x5007
00005003: PUSH2 0x5e05
00005006: JUMP
00005007: JUMPDEST
00005008: PUSH1 0x01
0000500a: SWAP1
0000500b: SUB
0000500c: DUP2
0000500d: DUP2
0000500e: SWAP1
0000500f: PUSH1 0x00
00005011: MSTORE
00005012: PUSH1 0x20
00005014: PUSH1 0x00
00005016: KECCAK256
00005017: ADD
00005018: PUSH1 0x00
0000501a: SWAP1
0000501b: SSTORE
0000501c: SWAP1
0000501d: SSTORE
0000501e: DUP6
0000501f: PUSH1 0x01
00005021: ADD
00005022: PUSH1 0x00
00005024: DUP7
00005025: DUP2
00005026: MSTORE
00005027: PUSH1 0x20
00005029: ADD
0000502a: SWAP1
0000502b: DUP2
0000502c: MSTORE
0000502d: PUSH1 0x20
0000502f: ADD
00005030: PUSH1 0x00
00005032: KECCAK256
00005033: PUSH1 0x00
00005035: SWAP1
00005036: SSTORE
00005037: PUSH1 0x01
00005039: SWAP4
0000503a: POP
0000503b: POP
0000503c: POP
0000503d: POP
0000503e: PUSH2 0x104f
00005041: JUMP
00005042: JUMPDEST
00005043: PUSH1 0x00
00005045: SWAP2
00005046: POP
00005047: POP
00005048: PUSH2 0x104f
0000504b: JUMP
0000504c: JUMPDEST
0000504d: PUSH1 0x00
0000504f: PUSH1 0x20
00005051: DUP3
00005052: DUP5
00005053: SUB
00005054: SLT
00005055: ISZERO
00005056: PUSH2 0x505e
00005059: JUMPI
0000505a: PUSH1 0x00
0000505c: DUP1
0000505d: REVERT
0000505e: JUMPDEST
0000505f: DUP2
00005060: CALLDATALOAD
00005061: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00005082: DUP2
00005083: AND
00005084: DUP2
00005085: EQ
00005086: PUSH2 0x1109
00005089: JUMPI
0000508a: PUSH1 0x00
0000508c: DUP1
0000508d: REVERT
0000508e: JUMPDEST
0000508f: PUSH1 0x00
00005091: JUMPDEST
00005092: DUP4
00005093: DUP2
00005094: LT
00005095: ISZERO
00005096: PUSH2 0x50a9
00005099: JUMPI
0000509a: DUP2
0000509b: DUP2
0000509c: ADD
0000509d: MLOAD
0000509e: DUP4
0000509f: DUP3
000050a0: ADD
000050a1: MSTORE
000050a2: PUSH1 0x20
000050a4: ADD
000050a5: PUSH2 0x5091
000050a8: JUMP
000050a9: JUMPDEST
000050aa: POP
000050ab: POP
000050ac: PUSH1 0x00
000050ae: SWAP2
000050af: ADD
000050b0: MSTORE
000050b1: JUMP
000050b2: JUMPDEST
000050b3: PUSH1 0x00
000050b5: DUP2
000050b6: MLOAD
000050b7: DUP1
000050b8: DUP5
000050b9: MSTORE
000050ba: PUSH2 0x50ca
000050bd: DUP2
000050be: PUSH1 0x20
000050c0: DUP7
000050c1: ADD
000050c2: PUSH1 0x20
000050c4: DUP7
000050c5: ADD
000050c6: PUSH2 0x508e
000050c9: JUMP
000050ca: JUMPDEST
000050cb: PUSH1 0x1f
000050cd: ADD
000050ce: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
000050ef: AND
000050f0: SWAP3
000050f1: SWAP1
000050f2: SWAP3
000050f3: ADD
000050f4: PUSH1 0x20
000050f6: ADD
000050f7: SWAP3
000050f8: SWAP2
000050f9: POP
000050fa: POP
000050fb: JUMP
000050fc: JUMPDEST
000050fd: PUSH1 0x20
000050ff: DUP2
00005100: MSTORE
00005101: PUSH1 0x00
00005103: PUSH2 0x1109
00005106: PUSH1 0x20
00005108: DUP4
00005109: ADD
0000510a: DUP5
0000510b: PUSH2 0x50b2
0000510e: JUMP
0000510f: JUMPDEST
00005110: PUSH1 0x00
00005112: PUSH1 0x20
00005114: DUP3
00005115: DUP5
00005116: SUB
00005117: SLT
00005118: ISZERO
00005119: PUSH2 0x5121
0000511c: JUMPI
0000511d: PUSH1 0x00
0000511f: DUP1
00005120: REVERT
00005121: JUMPDEST
00005122: POP
00005123: CALLDATALOAD
00005124: SWAP2
00005125: SWAP1
00005126: POP
00005127: JUMP
00005128: JUMPDEST
00005129: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000513e: DUP2
0000513f: AND
00005140: DUP2
00005141: EQ
00005142: PUSH2 0x2d70
00005145: JUMPI
00005146: PUSH1 0x00
00005148: DUP1
00005149: REVERT
0000514a: JUMPDEST
0000514b: PUSH1 0x00
0000514d: DUP1
0000514e: PUSH1 0x40
00005150: DUP4
00005151: DUP6
00005152: SUB
00005153: SLT
00005154: ISZERO
00005155: PUSH2 0x515d
00005158: JUMPI
00005159: PUSH1 0x00
0000515b: DUP1
0000515c: REVERT
0000515d: JUMPDEST
0000515e: DUP3
0000515f: CALLDATALOAD
00005160: PUSH2 0x5168
00005163: DUP2
00005164: PUSH2 0x5128
00005167: JUMP
00005168: JUMPDEST
00005169: SWAP5
0000516a: PUSH1 0x20
0000516c: SWAP4
0000516d: SWAP1
0000516e: SWAP4
0000516f: ADD
00005170: CALLDATALOAD
00005171: SWAP4
00005172: POP
00005173: POP
00005174: POP
00005175: JUMP
00005176: JUMPDEST
00005177: PUSH1 0x00
00005179: DUP1
0000517a: PUSH1 0x00
0000517c: PUSH1 0x60
0000517e: DUP5
0000517f: DUP7
00005180: SUB
00005181: SLT
00005182: ISZERO
00005183: PUSH2 0x518b
00005186: JUMPI
00005187: PUSH1 0x00
00005189: DUP1
0000518a: REVERT
0000518b: JUMPDEST
0000518c: DUP4
0000518d: CALLDATALOAD
0000518e: PUSH2 0x5196
00005191: DUP2
00005192: PUSH2 0x5128
00005195: JUMP
00005196: JUMPDEST
00005197: SWAP3
00005198: POP
00005199: PUSH1 0x20
0000519b: DUP5
0000519c: ADD
0000519d: CALLDATALOAD
0000519e: PUSH2 0x51a6
000051a1: DUP2
000051a2: PUSH2 0x5128
000051a5: JUMP
000051a6: JUMPDEST
000051a7: SWAP3
000051a8: SWAP6
000051a9: SWAP3
000051aa: SWAP5
000051ab: POP
000051ac: POP
000051ad: POP
000051ae: PUSH1 0x40
000051b0: SWAP2
000051b1: SWAP1
000051b2: SWAP2
000051b3: ADD
000051b4: CALLDATALOAD
000051b5: SWAP1
000051b6: JUMP
000051b7: JUMPDEST
000051b8: PUSH1 0x00
000051ba: DUP1
000051bb: PUSH1 0x00
000051bd: PUSH1 0x60
000051bf: DUP5
000051c0: DUP7
000051c1: SUB
000051c2: SLT
000051c3: ISZERO
000051c4: PUSH2 0x51cc
000051c7: JUMPI
000051c8: PUSH1 0x00
000051ca: DUP1
000051cb: REVERT
000051cc: JUMPDEST
000051cd: POP
000051ce: POP
000051cf: DUP2
000051d0: CALLDATALOAD
000051d1: SWAP4
000051d2: PUSH1 0x20
000051d4: DUP4
000051d5: ADD
000051d6: CALLDATALOAD
000051d7: SWAP4
000051d8: POP
000051d9: PUSH1 0x40
000051db: SWAP1
000051dc: SWAP3
000051dd: ADD
000051de: CALLDATALOAD
000051df: SWAP2
000051e0: SWAP1
000051e1: POP
000051e2: JUMP
000051e3: JUMPDEST
000051e4: PUSH1 0x00
000051e6: DUP1
000051e7: PUSH1 0x40
000051e9: DUP4
000051ea: DUP6
000051eb: SUB
000051ec: SLT
000051ed: ISZERO
000051ee: PUSH2 0x51f6
000051f1: JUMPI
000051f2: PUSH1 0x00
000051f4: DUP1
000051f5: REVERT
000051f6: JUMPDEST
000051f7: DUP3
000051f8: CALLDATALOAD
000051f9: SWAP2
000051fa: POP
000051fb: PUSH1 0x20
000051fd: DUP4
000051fe: ADD
000051ff: CALLDATALOAD
00005200: PUSH2 0x5208
00005203: DUP2
00005204: PUSH2 0x5128
00005207: JUMP
00005208: JUMPDEST
00005209: DUP1
0000520a: SWAP2
0000520b: POP
0000520c: POP
0000520d: SWAP3
0000520e: POP
0000520f: SWAP3
00005210: SWAP1
00005211: POP
00005212: JUMP
00005213: JUMPDEST
00005214: PUSH1 0x00
00005216: PUSH1 0x20
00005218: DUP3
00005219: DUP5
0000521a: SUB
0000521b: SLT
0000521c: ISZERO
0000521d: PUSH2 0x5225
00005220: JUMPI
00005221: PUSH1 0x00
00005223: DUP1
00005224: REVERT
00005225: JUMPDEST
00005226: DUP2
00005227: CALLDATALOAD
00005228: PUSH2 0x1109
0000522b: DUP2
0000522c: PUSH2 0x5128
0000522f: JUMP
00005230: JUMPDEST
00005231: PUSH1 0x00
00005233: DUP1
00005234: DUP4
00005235: PUSH1 0x1f
00005237: DUP5
00005238: ADD
00005239: SLT
0000523a: PUSH2 0x5242
0000523d: JUMPI
0000523e: PUSH1 0x00
00005240: DUP1
00005241: REVERT
00005242: JUMPDEST
00005243: POP
00005244: DUP2
00005245: CALLDATALOAD
00005246: PUSH8 0xffffffffffffffff
0000524f: DUP2
00005250: GT
00005251: ISZERO
00005252: PUSH2 0x525a
00005255: JUMPI
00005256: PUSH1 0x00
00005258: DUP1
00005259: REVERT
0000525a: JUMPDEST
0000525b: PUSH1 0x20
0000525d: DUP4
0000525e: ADD
0000525f: SWAP2
00005260: POP
00005261: DUP4
00005262: PUSH1 0x20
00005264: DUP3
00005265: DUP6
00005266: ADD
00005267: ADD
00005268: GT
00005269: ISZERO
0000526a: PUSH2 0x3937
0000526d: JUMPI
0000526e: PUSH1 0x00
00005270: DUP1
00005271: REVERT
00005272: JUMPDEST
00005273: PUSH1 0x00
00005275: DUP1
00005276: PUSH1 0x00
00005278: PUSH1 0x40
0000527a: DUP5
0000527b: DUP7
0000527c: SUB
0000527d: SLT
0000527e: ISZERO
0000527f: PUSH2 0x5287
00005282: JUMPI
00005283: PUSH1 0x00
00005285: DUP1
00005286: REVERT
00005287: JUMPDEST
00005288: DUP4
00005289: CALLDATALOAD
0000528a: SWAP3
0000528b: POP
0000528c: PUSH1 0x20
0000528e: DUP5
0000528f: ADD
00005290: CALLDATALOAD
00005291: PUSH8 0xffffffffffffffff
0000529a: DUP2
0000529b: GT
0000529c: ISZERO
0000529d: PUSH2 0x52a5
000052a0: JUMPI
000052a1: PUSH1 0x00
000052a3: DUP1
000052a4: REVERT
000052a5: JUMPDEST
000052a6: PUSH2 0x52b1
000052a9: DUP7
000052aa: DUP3
000052ab: DUP8
000052ac: ADD
000052ad: PUSH2 0x5230
000052b0: JUMP
000052b1: JUMPDEST
000052b2: SWAP5
000052b3: SWAP8
000052b4: SWAP1
000052b5: SWAP7
000052b6: POP
000052b7: SWAP4
000052b8: SWAP5
000052b9: POP
000052ba: POP
000052bb: POP
000052bc: POP
000052bd: JUMP
000052be: JUMPDEST
000052bf: PUSH1 0x00
000052c1: DUP1
000052c2: PUSH1 0x00
000052c4: DUP1
000052c5: PUSH1 0x60
000052c7: DUP6
000052c8: DUP8
000052c9: SUB
000052ca: SLT
000052cb: ISZERO
000052cc: PUSH2 0x52d4
000052cf: JUMPI
000052d0: PUSH1 0x00
000052d2: DUP1
000052d3: REVERT
000052d4: JUMPDEST
000052d5: DUP5
000052d6: CALLDATALOAD
000052d7: SWAP4
000052d8: POP
000052d9: PUSH1 0x20
000052db: DUP6
000052dc: ADD
000052dd: CALLDATALOAD
000052de: SWAP3
000052df: POP
000052e0: PUSH1 0x40
000052e2: DUP6
000052e3: ADD
000052e4: CALLDATALOAD
000052e5: PUSH8 0xffffffffffffffff
000052ee: DUP1
000052ef: DUP3
000052f0: GT
000052f1: ISZERO
000052f2: PUSH2 0x52fa
000052f5: JUMPI
000052f6: PUSH1 0x00
000052f8: DUP1
000052f9: REVERT
000052fa: JUMPDEST
000052fb: DUP2
000052fc: DUP8
000052fd: ADD
000052fe: SWAP2
000052ff: POP
00005300: DUP8
00005301: PUSH1 0x1f
00005303: DUP4
00005304: ADD
00005305: SLT
00005306: PUSH2 0x530e
00005309: JUMPI
0000530a: PUSH1 0x00
0000530c: DUP1
0000530d: REVERT
0000530e: JUMPDEST
0000530f: DUP2
00005310: CALLDATALOAD
00005311: DUP2
00005312: DUP2
00005313: GT
00005314: ISZERO
00005315: PUSH2 0x531d
00005318: JUMPI
00005319: PUSH1 0x00
0000531b: DUP1
0000531c: REVERT
0000531d: JUMPDEST
0000531e: DUP9
0000531f: PUSH1 0x20
00005321: DUP3
00005322: PUSH1 0x05
00005324: SHL
00005325: DUP6
00005326: ADD
00005327: ADD
00005328: GT
00005329: ISZERO
0000532a: PUSH2 0x5332
0000532d: JUMPI
0000532e: PUSH1 0x00
00005330: DUP1
00005331: REVERT
00005332: JUMPDEST
00005333: SWAP6
00005334: SWAP9
00005335: SWAP5
00005336: SWAP8
00005337: POP
00005338: POP
00005339: PUSH1 0x20
0000533b: ADD
0000533c: SWAP5
0000533d: POP
0000533e: POP
0000533f: POP
00005340: JUMP
00005341: JUMPDEST
00005342: DUP1
00005343: CALLDATALOAD
00005344: DUP1
00005345: ISZERO
00005346: ISZERO
00005347: DUP2
00005348: EQ
00005349: PUSH2 0x5351
0000534c: JUMPI
0000534d: PUSH1 0x00
0000534f: DUP1
00005350: REVERT
00005351: JUMPDEST
00005352: SWAP2
00005353: SWAP1
00005354: POP
00005355: JUMP
00005356: JUMPDEST
00005357: PUSH1 0x00
00005359: DUP1
0000535a: PUSH1 0x40
0000535c: DUP4
0000535d: DUP6
0000535e: SUB
0000535f: SLT
00005360: ISZERO
00005361: PUSH2 0x5369
00005364: JUMPI
00005365: PUSH1 0x00
00005367: DUP1
00005368: REVERT
00005369: JUMPDEST
0000536a: DUP3
0000536b: CALLDATALOAD
0000536c: SWAP2
0000536d: POP
0000536e: PUSH2 0x5379
00005371: PUSH1 0x20
00005373: DUP5
00005374: ADD
00005375: PUSH2 0x5341
00005378: JUMP
00005379: JUMPDEST
0000537a: SWAP1
0000537b: POP
0000537c: SWAP3
0000537d: POP
0000537e: SWAP3
0000537f: SWAP1
00005380: POP
00005381: JUMP
00005382: JUMPDEST
00005383: PUSH1 0x00
00005385: DUP1
00005386: PUSH1 0x40
00005388: DUP4
00005389: DUP6
0000538a: SUB
0000538b: SLT
0000538c: ISZERO
0000538d: PUSH2 0x5395
00005390: JUMPI
00005391: PUSH1 0x00
00005393: DUP1
00005394: REVERT
00005395: JUMPDEST
00005396: POP
00005397: POP
00005398: DUP1
00005399: CALLDATALOAD
0000539a: SWAP3
0000539b: PUSH1 0x20
0000539d: SWAP1
0000539e: SWAP2
0000539f: ADD
000053a0: CALLDATALOAD
000053a1: SWAP2
000053a2: POP
000053a3: JUMP
000053a4: JUMPDEST
000053a5: PUSH1 0x00
000053a7: DUP1
000053a8: PUSH1 0x00
000053aa: DUP1
000053ab: PUSH1 0x00
000053ad: DUP1
000053ae: PUSH1 0xa0
000053b0: DUP8
000053b1: DUP10
000053b2: SUB
000053b3: SLT
000053b4: ISZERO
000053b5: PUSH2 0x53bd
000053b8: JUMPI
000053b9: PUSH1 0x00
000053bb: DUP1
000053bc: REVERT
000053bd: JUMPDEST
000053be: DUP7
000053bf: CALLDATALOAD
000053c0: PUSH2 0x53c8
000053c3: DUP2
000053c4: PUSH2 0x5128
000053c7: JUMP
000053c8: JUMPDEST
000053c9: SWAP6
000053ca: POP
000053cb: PUSH1 0x20
000053cd: DUP8
000053ce: ADD
000053cf: CALLDATALOAD
000053d0: PUSH2 0x53d8
000053d3: DUP2
000053d4: PUSH2 0x5128
000053d7: JUMP
000053d8: JUMPDEST
000053d9: SWAP5
000053da: POP
000053db: PUSH1 0x40
000053dd: DUP8
000053de: ADD
000053df: CALLDATALOAD
000053e0: SWAP4
000053e1: POP
000053e2: PUSH1 0x60
000053e4: DUP8
000053e5: ADD
000053e6: CALLDATALOAD
000053e7: PUSH8 0xffffffffffffffff
000053f0: DUP2
000053f1: GT
000053f2: ISZERO
000053f3: PUSH2 0x53fb
000053f6: JUMPI
000053f7: PUSH1 0x00
000053f9: DUP1
000053fa: REVERT
000053fb: JUMPDEST
000053fc: PUSH2 0x5407
000053ff: DUP10
00005400: DUP3
00005401: DUP11
00005402: ADD
00005403: PUSH2 0x5230
00005406: JUMP
00005407: JUMPDEST
00005408: SWAP8
00005409: SWAP11
0000540a: SWAP7
0000540b: SWAP10
0000540c: POP
0000540d: SWAP5
0000540e: SWAP8
0000540f: SWAP5
00005410: SWAP7
00005411: SWAP6
00005412: PUSH1 0x80
00005414: SWAP1
00005415: SWAP6
00005416: ADD
00005417: CALLDATALOAD
00005418: SWAP5
00005419: SWAP4
0000541a: POP
0000541b: POP
0000541c: POP
0000541d: POP
0000541e: JUMP
0000541f: JUMPDEST
00005420: PUSH1 0x00
00005422: DUP1
00005423: PUSH1 0x00
00005425: PUSH1 0x60
00005427: DUP5
00005428: DUP7
00005429: SUB
0000542a: SLT
0000542b: ISZERO
0000542c: PUSH2 0x5434
0000542f: JUMPI
00005430: PUSH1 0x00
00005432: DUP1
00005433: REVERT
00005434: JUMPDEST
00005435: DUP4
00005436: CALLDATALOAD
00005437: SWAP3
00005438: POP
00005439: PUSH1 0x20
0000543b: DUP5
0000543c: ADD
0000543d: CALLDATALOAD
0000543e: PUSH2 0x5446
00005441: DUP2
00005442: PUSH2 0x5128
00005445: JUMP
00005446: JUMPDEST
00005447: SWAP2
00005448: POP
00005449: PUSH1 0x40
0000544b: DUP5
0000544c: ADD
0000544d: CALLDATALOAD
0000544e: PUSH2 0x5456
00005451: DUP2
00005452: PUSH2 0x5128
00005455: JUMP
00005456: JUMPDEST
00005457: DUP1
00005458: SWAP2
00005459: POP
0000545a: POP
0000545b: SWAP3
0000545c: POP
0000545d: SWAP3
0000545e: POP
0000545f: SWAP3
00005460: JUMP
00005461: JUMPDEST
00005462: PUSH1 0x00
00005464: DUP1
00005465: PUSH1 0x40
00005467: DUP4
00005468: DUP6
00005469: SUB
0000546a: SLT
0000546b: ISZERO
0000546c: PUSH2 0x5474
0000546f: JUMPI
00005470: PUSH1 0x00
00005472: DUP1
00005473: REVERT
00005474: JUMPDEST
00005475: DUP3
00005476: CALLDATALOAD
00005477: PUSH2 0x547f
0000547a: DUP2
0000547b: PUSH2 0x5128
0000547e: JUMP
0000547f: JUMPDEST
00005480: SWAP2
00005481: POP
00005482: PUSH2 0x5379
00005485: PUSH1 0x20
00005487: DUP5
00005488: ADD
00005489: PUSH2 0x5341
0000548c: JUMP
0000548d: JUMPDEST
0000548e: PUSH1 0x00
00005490: DUP1
00005491: PUSH1 0x00
00005493: DUP1
00005494: PUSH1 0x00
00005496: DUP1
00005497: PUSH1 0x00
00005499: PUSH1 0xe0
0000549b: DUP9
0000549c: DUP11
0000549d: SUB
0000549e: SLT
0000549f: ISZERO
000054a0: PUSH2 0x54a8
000054a3: JUMPI
000054a4: PUSH1 0x00
000054a6: DUP1
000054a7: REVERT
000054a8: JUMPDEST
000054a9: DUP8
000054aa: CALLDATALOAD
000054ab: PUSH2 0x54b3
000054ae: DUP2
000054af: PUSH2 0x5128
000054b2: JUMP
000054b3: JUMPDEST
000054b4: SWAP7
000054b5: POP
000054b6: PUSH1 0x20
000054b8: DUP9
000054b9: ADD
000054ba: CALLDATALOAD
000054bb: PUSH2 0x54c3
000054be: DUP2
000054bf: PUSH2 0x5128
000054c2: JUMP
000054c3: JUMPDEST
000054c4: SWAP6
000054c5: POP
000054c6: PUSH1 0x40
000054c8: DUP9
000054c9: ADD
000054ca: CALLDATALOAD
000054cb: SWAP5
000054cc: POP
000054cd: PUSH1 0x60
000054cf: DUP9
000054d0: ADD
000054d1: CALLDATALOAD
000054d2: SWAP4
000054d3: POP
000054d4: PUSH1 0x80
000054d6: DUP9
000054d7: ADD
000054d8: CALLDATALOAD
000054d9: PUSH1 0xff
000054db: DUP2
000054dc: AND
000054dd: DUP2
000054de: EQ
000054df: PUSH2 0x54e7
000054e2: JUMPI
000054e3: PUSH1 0x00
000054e5: DUP1
000054e6: REVERT
000054e7: JUMPDEST
000054e8: SWAP7
000054e9: SWAP10
000054ea: SWAP6
000054eb: SWAP9
000054ec: POP
000054ed: SWAP4
000054ee: SWAP7
000054ef: SWAP3
000054f0: SWAP6
000054f1: SWAP5
000054f2: PUSH1 0xa0
000054f4: DUP5
000054f5: ADD
000054f6: CALLDATALOAD
000054f7: SWAP5
000054f8: POP
000054f9: PUSH1 0xc0
000054fb: SWAP1
000054fc: SWAP4
000054fd: ADD
000054fe: CALLDATALOAD
000054ff: SWAP3
00005500: SWAP2
00005501: POP
00005502: POP
00005503: JUMP
00005504: JUMPDEST
00005505: PUSH1 0x00
00005507: DUP1
00005508: PUSH1 0x40
0000550a: DUP4
0000550b: DUP6
0000550c: SUB
0000550d: SLT
0000550e: ISZERO
0000550f: PUSH2 0x5517
00005512: JUMPI
00005513: PUSH1 0x00
00005515: DUP1
00005516: REVERT
00005517: JUMPDEST
00005518: DUP3
00005519: CALLDATALOAD
0000551a: PUSH2 0x5522
0000551d: DUP2
0000551e: PUSH2 0x5128
00005521: JUMP
00005522: JUMPDEST
00005523: SWAP2
00005524: POP
00005525: PUSH1 0x20
00005527: DUP4
00005528: ADD
00005529: CALLDATALOAD
0000552a: PUSH2 0x5208
0000552d: DUP2
0000552e: PUSH2 0x5128
00005531: JUMP
00005532: JUMPDEST
00005533: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00005554: PUSH1 0x00
00005556: MSTORE
00005557: PUSH1 0x41
00005559: PUSH1 0x04
0000555b: MSTORE
0000555c: PUSH1 0x24
0000555e: PUSH1 0x00
00005560: REVERT
00005561: JUMPDEST
00005562: PUSH1 0x40
00005564: MLOAD
00005565: PUSH1 0x1f
00005567: DUP3
00005568: ADD
00005569: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
0000558a: AND
0000558b: DUP2
0000558c: ADD
0000558d: PUSH8 0xffffffffffffffff
00005596: DUP2
00005597: GT
00005598: DUP3
00005599: DUP3
0000559a: LT
0000559b: OR
0000559c: ISZERO
0000559d: PUSH2 0x55a8
000055a0: JUMPI
000055a1: PUSH2 0x55a8
000055a4: PUSH2 0x5532
000055a7: JUMP
000055a8: JUMPDEST
000055a9: PUSH1 0x40
000055ab: MSTORE
000055ac: SWAP2
000055ad: SWAP1
000055ae: POP
000055af: JUMP
000055b0: JUMPDEST
000055b1: PUSH1 0x00
000055b3: PUSH8 0xffffffffffffffff
000055bc: DUP3
000055bd: GT
000055be: ISZERO
000055bf: PUSH2 0x55ca
000055c2: JUMPI
000055c3: PUSH2 0x55ca
000055c6: PUSH2 0x5532
000055c9: JUMP
000055ca: JUMPDEST
000055cb: POP
000055cc: PUSH1 0x05
000055ce: SHL
000055cf: PUSH1 0x20
000055d1: ADD
000055d2: SWAP1
000055d3: JUMP
000055d4: JUMPDEST
000055d5: PUSH1 0x00
000055d7: DUP3
000055d8: PUSH1 0x1f
000055da: DUP4
000055db: ADD
000055dc: SLT
000055dd: PUSH2 0x55e5
000055e0: JUMPI
000055e1: PUSH1 0x00
000055e3: DUP1
000055e4: REVERT
000055e5: JUMPDEST
000055e6: DUP2
000055e7: CALLDATALOAD
000055e8: PUSH1 0x20
000055ea: PUSH2 0x55fa
000055ed: PUSH2 0x55f5
000055f0: DUP4
000055f1: PUSH2 0x55b0
000055f4: JUMP
000055f5: JUMPDEST
000055f6: PUSH2 0x5561
000055f9: JUMP
000055fa: JUMPDEST
000055fb: DUP3
000055fc: DUP2
000055fd: MSTORE
000055fe: PUSH1 0x05
00005600: SWAP3
00005601: SWAP1
00005602: SWAP3
00005603: SHL
00005604: DUP5
00005605: ADD
00005606: DUP2
00005607: ADD
00005608: SWAP2
00005609: DUP2
0000560a: DUP2
0000560b: ADD
0000560c: SWAP1
0000560d: DUP7
0000560e: DUP5
0000560f: GT
00005610: ISZERO
00005611: PUSH2 0x5619
00005614: JUMPI
00005615: PUSH1 0x00
00005617: DUP1
00005618: REVERT
00005619: JUMPDEST
0000561a: DUP3
0000561b: DUP7
0000561c: ADD
0000561d: JUMPDEST
0000561e: DUP5
0000561f: DUP2
00005620: LT
00005621: ISZERO
00005622: PUSH2 0x5634
00005625: JUMPI
00005626: DUP1
00005627: CALLDATALOAD
00005628: DUP4
00005629: MSTORE
0000562a: SWAP2
0000562b: DUP4
0000562c: ADD
0000562d: SWAP2
0000562e: DUP4
0000562f: ADD
00005630: PUSH2 0x561d
00005633: JUMP
00005634: JUMPDEST
00005635: POP
00005636: SWAP7
00005637: SWAP6
00005638: POP
00005639: POP
0000563a: POP
0000563b: POP
0000563c: POP
0000563d: POP
0000563e: JUMP
0000563f: JUMPDEST
00005640: PUSH1 0x00
00005642: PUSH8 0xffffffffffffffff
0000564b: DUP3
0000564c: GT
0000564d: ISZERO
0000564e: PUSH2 0x5659
00005651: JUMPI
00005652: PUSH2 0x5659
00005655: PUSH2 0x5532
00005658: JUMP
00005659: JUMPDEST
0000565a: POP
0000565b: PUSH1 0x1f
0000565d: ADD
0000565e: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
0000567f: AND
00005680: PUSH1 0x20
00005682: ADD
00005683: SWAP1
00005684: JUMP
00005685: JUMPDEST
00005686: PUSH1 0x00
00005688: DUP3
00005689: PUSH1 0x1f
0000568b: DUP4
0000568c: ADD
0000568d: SLT
0000568e: PUSH2 0x5696
00005691: JUMPI
00005692: PUSH1 0x00
00005694: DUP1
00005695: REVERT
00005696: JUMPDEST
00005697: DUP2
00005698: CALLDATALOAD
00005699: PUSH2 0x56a4
0000569c: PUSH2 0x55f5
0000569f: DUP3
000056a0: PUSH2 0x563f
000056a3: JUMP
000056a4: JUMPDEST
000056a5: DUP2
000056a6: DUP2
000056a7: MSTORE
000056a8: DUP5
000056a9: PUSH1 0x20
000056ab: DUP4
000056ac: DUP7
000056ad: ADD
000056ae: ADD
000056af: GT
000056b0: ISZERO
000056b1: PUSH2 0x56b9
000056b4: JUMPI
000056b5: PUSH1 0x00
000056b7: DUP1
000056b8: REVERT
000056b9: JUMPDEST
000056ba: DUP2
000056bb: PUSH1 0x20
000056bd: DUP6
000056be: ADD
000056bf: PUSH1 0x20
000056c1: DUP4
000056c2: ADD
000056c3: CALLDATACOPY
000056c4: PUSH1 0x00
000056c6: SWAP2
000056c7: DUP2
000056c8: ADD
000056c9: PUSH1 0x20
000056cb: ADD
000056cc: SWAP2
000056cd: SWAP1
000056ce: SWAP2
000056cf: MSTORE
000056d0: SWAP4
000056d1: SWAP3
000056d2: POP
000056d3: POP
000056d4: POP
000056d5: JUMP
000056d6: JUMPDEST
000056d7: PUSH1 0x00
000056d9: DUP1
000056da: PUSH1 0x00
000056dc: DUP1
000056dd: PUSH1 0x80
000056df: DUP6
000056e0: DUP8
000056e1: SUB
000056e2: SLT
000056e3: ISZERO
000056e4: PUSH2 0x56ec
000056e7: JUMPI
000056e8: PUSH1 0x00
000056ea: DUP1
000056eb: REVERT
000056ec: JUMPDEST
000056ed: DUP5
000056ee: CALLDATALOAD
000056ef: PUSH8 0xffffffffffffffff
000056f8: DUP1
000056f9: DUP3
000056fa: GT
000056fb: ISZERO
000056fc: PUSH2 0x5704
000056ff: JUMPI
00005700: PUSH1 0x00
00005702: DUP1
00005703: REVERT
00005704: JUMPDEST
00005705: DUP2
00005706: DUP8
00005707: ADD
00005708: SWAP2
00005709: POP
0000570a: DUP8
0000570b: PUSH1 0x1f
0000570d: DUP4
0000570e: ADD
0000570f: SLT
00005710: PUSH2 0x5718
00005713: JUMPI
00005714: PUSH1 0x00
00005716: DUP1
00005717: REVERT
00005718: JUMPDEST
00005719: DUP2
0000571a: CALLDATALOAD
0000571b: PUSH1 0x20
0000571d: PUSH2 0x5728
00005720: PUSH2 0x55f5
00005723: DUP4
00005724: PUSH2 0x55b0
00005727: JUMP
00005728: JUMPDEST
00005729: DUP3
0000572a: DUP2
0000572b: MSTORE
0000572c: PUSH1 0x05
0000572e: SWAP3
0000572f: SWAP1
00005730: SWAP3
00005731: SHL
00005732: DUP5
00005733: ADD
00005734: DUP2
00005735: ADD
00005736: SWAP2
00005737: DUP2
00005738: DUP2
00005739: ADD
0000573a: SWAP1
0000573b: DUP12
0000573c: DUP5
0000573d: GT
0000573e: ISZERO
0000573f: PUSH2 0x5747
00005742: JUMPI
00005743: PUSH1 0x00
00005745: DUP1
00005746: REVERT
00005747: JUMPDEST
00005748: SWAP5
00005749: DUP3
0000574a: ADD
0000574b: SWAP5
0000574c: JUMPDEST
0000574d: DUP4
0000574e: DUP7
0000574f: LT
00005750: ISZERO
00005751: PUSH2 0x576e
00005754: JUMPI
00005755: DUP6
00005756: CALLDATALOAD
00005757: PUSH2 0x575f
0000575a: DUP2
0000575b: PUSH2 0x5128
0000575e: JUMP
0000575f: JUMPDEST
00005760: DUP3
00005761: MSTORE
00005762: SWAP5
00005763: DUP3
00005764: ADD
00005765: SWAP5
00005766: SWAP1
00005767: DUP3
00005768: ADD
00005769: SWAP1
0000576a: PUSH2 0x574c
0000576d: JUMP
0000576e: JUMPDEST
0000576f: SWAP9
00005770: POP
00005771: POP
00005772: DUP9
00005773: ADD
00005774: CALLDATALOAD
00005775: SWAP3
00005776: POP
00005777: POP
00005778: DUP1
00005779: DUP3
0000577a: GT
0000577b: ISZERO
0000577c: PUSH2 0x5784
0000577f: JUMPI
00005780: PUSH1 0x00
00005782: DUP1
00005783: REVERT
00005784: JUMPDEST
00005785: PUSH2 0x5790
00005788: DUP9
00005789: DUP4
0000578a: DUP10
0000578b: ADD
0000578c: PUSH2 0x55d4
0000578f: JUMP
00005790: JUMPDEST
00005791: SWAP5
00005792: POP
00005793: PUSH1 0x40
00005795: DUP8
00005796: ADD
00005797: CALLDATALOAD
00005798: SWAP2
00005799: POP
0000579a: DUP1
0000579b: DUP3
0000579c: GT
0000579d: ISZERO
0000579e: PUSH2 0x57a6
000057a1: JUMPI
000057a2: PUSH1 0x00
000057a4: DUP1
000057a5: REVERT
000057a6: JUMPDEST
000057a7: PUSH2 0x57b2
000057aa: DUP9
000057ab: DUP4
000057ac: DUP10
000057ad: ADD
000057ae: PUSH2 0x55d4
000057b1: JUMP
000057b2: JUMPDEST
000057b3: SWAP4
000057b4: POP
000057b5: PUSH1 0x60
000057b7: DUP8
000057b8: ADD
000057b9: CALLDATALOAD
000057ba: SWAP2
000057bb: POP
000057bc: DUP1
000057bd: DUP3
000057be: GT
000057bf: ISZERO
000057c0: PUSH2 0x57c8
000057c3: JUMPI
000057c4: PUSH1 0x00
000057c6: DUP1
000057c7: REVERT
000057c8: JUMPDEST
000057c9: POP
000057ca: PUSH2 0x57d5
000057cd: DUP8
000057ce: DUP3
000057cf: DUP9
000057d0: ADD
000057d1: PUSH2 0x5685
000057d4: JUMP
000057d5: JUMPDEST
000057d6: SWAP2
000057d7: POP
000057d8: POP
000057d9: SWAP3
000057da: SWAP6
000057db: SWAP2
000057dc: SWAP5
000057dd: POP
000057de: SWAP3
000057df: POP
000057e0: JUMP
000057e1: JUMPDEST
000057e2: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00005803: PUSH1 0x00
00005805: MSTORE
00005806: PUSH1 0x11
00005808: PUSH1 0x04
0000580a: MSTORE
0000580b: PUSH1 0x24
0000580d: PUSH1 0x00
0000580f: REVERT
00005810: JUMPDEST
00005811: DUP2
00005812: DUP2
00005813: SUB
00005814: DUP2
00005815: DUP2
00005816: GT
00005817: ISZERO
00005818: PUSH2 0x104f
0000581b: JUMPI
0000581c: PUSH2 0x104f
0000581f: PUSH2 0x57e1
00005822: JUMP
00005823: JUMPDEST
00005824: PUSH1 0x00
00005826: PUSH1 0x20
00005828: DUP3
00005829: DUP5
0000582a: SUB
0000582b: SLT
0000582c: ISZERO
0000582d: PUSH2 0x5835
00005830: JUMPI
00005831: PUSH1 0x00
00005833: DUP1
00005834: REVERT
00005835: JUMPDEST
00005836: POP
00005837: MLOAD
00005838: SWAP2
00005839: SWAP1
0000583a: POP
0000583b: JUMP
0000583c: JUMPDEST
0000583d: DUP1
0000583e: DUP3
0000583f: ADD
00005840: DUP1
00005841: DUP3
00005842: GT
00005843: ISZERO
00005844: PUSH2 0x104f
00005847: JUMPI
00005848: PUSH2 0x104f
0000584b: PUSH2 0x57e1
0000584e: JUMP
0000584f: JUMPDEST
00005850: PUSH1 0x01
00005852: DUP2
00005853: DUP2
00005854: SHR
00005855: SWAP1
00005856: DUP3
00005857: AND
00005858: DUP1
00005859: PUSH2 0x5863
0000585c: JUMPI
0000585d: PUSH1 0x7f
0000585f: DUP3
00005860: AND
00005861: SWAP2
00005862: POP
00005863: JUMPDEST
00005864: PUSH1 0x20
00005866: DUP3
00005867: LT
00005868: DUP2
00005869: SUB
0000586a: PUSH2 0x33f4
0000586d: JUMPI
0000586e: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
0000588f: PUSH1 0x00
00005891: MSTORE
00005892: PUSH1 0x22
00005894: PUSH1 0x04
00005896: MSTORE
00005897: PUSH1 0x24
00005899: PUSH1 0x00
0000589b: REVERT
0000589c: JUMPDEST
0000589d: PUSH1 0x00
0000589f: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000058c0: DUP3
000058c1: SUB
000058c2: PUSH2 0x58cd
000058c5: JUMPI
000058c6: PUSH2 0x58cd
000058c9: PUSH2 0x57e1
000058cc: JUMP
000058cd: JUMPDEST
000058ce: POP
000058cf: PUSH1 0x01
000058d1: ADD
000058d2: SWAP1
000058d3: JUMP
000058d4: JUMPDEST
000058d5: DUP2
000058d6: DUP4
000058d7: MSTORE
000058d8: DUP2
000058d9: DUP2
000058da: PUSH1 0x20
000058dc: DUP6
000058dd: ADD
000058de: CALLDATACOPY
000058df: POP
000058e0: PUSH1 0x00
000058e2: PUSH1 0x20
000058e4: DUP3
000058e5: DUP5
000058e6: ADD
000058e7: ADD
000058e8: MSTORE
000058e9: PUSH1 0x00
000058eb: PUSH1 0x20
000058ed: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
0000590e: PUSH1 0x1f
00005910: DUP5
00005911: ADD
00005912: AND
00005913: DUP5
00005914: ADD
00005915: ADD
00005916: SWAP1
00005917: POP
00005918: SWAP3
00005919: SWAP2
0000591a: POP
0000591b: POP
0000591c: JUMP
0000591d: JUMPDEST
0000591e: PUSH1 0x20
00005920: DUP2
00005921: MSTORE
00005922: PUSH1 0x00
00005924: PUSH2 0x39ce
00005927: PUSH1 0x20
00005929: DUP4
0000592a: ADD
0000592b: DUP5
0000592c: DUP7
0000592d: PUSH2 0x58d4
00005930: JUMP
00005931: JUMPDEST
00005932: PUSH1 0x00
00005934: PUSH2 0x593f
00005937: PUSH2 0x55f5
0000593a: DUP5
0000593b: PUSH2 0x55b0
0000593e: JUMP
0000593f: JUMPDEST
00005940: DUP1
00005941: DUP5
00005942: DUP3
00005943: MSTORE
00005944: PUSH1 0x20
00005946: DUP1
00005947: DUP4
00005948: ADD
00005949: SWAP3
0000594a: POP
0000594b: DUP6
0000594c: PUSH1 0x05
0000594e: SHL
0000594f: DUP6
00005950: ADD
00005951: CALLDATASIZE
00005952: DUP2
00005953: GT
00005954: ISZERO
00005955: PUSH2 0x595d
00005958: JUMPI
00005959: PUSH1 0x00
0000595b: DUP1
0000595c: REVERT
0000595d: JUMPDEST
0000595e: DUP6
0000595f: JUMPDEST
00005960: DUP2
00005961: DUP2
00005962: LT
00005963: ISZERO
00005964: PUSH2 0x5999
00005967: JUMPI
00005968: DUP1
00005969: CALLDATALOAD
0000596a: PUSH8 0xffffffffffffffff
00005973: DUP2
00005974: GT
00005975: ISZERO
00005976: PUSH2 0x597f
00005979: JUMPI
0000597a: PUSH1 0x00
0000597c: DUP1
0000597d: DUP2
0000597e: REVERT
0000597f: JUMPDEST
00005980: PUSH2 0x598b
00005983: CALLDATASIZE
00005984: DUP3
00005985: DUP11
00005986: ADD
00005987: PUSH2 0x5685
0000598a: JUMP
0000598b: JUMPDEST
0000598c: DUP7
0000598d: MSTORE
0000598e: POP
0000598f: SWAP4
00005990: DUP3
00005991: ADD
00005992: SWAP4
00005993: DUP3
00005994: ADD
00005995: PUSH2 0x595f
00005998: JUMP
00005999: JUMPDEST
0000599a: POP
0000599b: SWAP2
0000599c: SWAP7
0000599d: SWAP6
0000599e: POP
0000599f: POP
000059a0: POP
000059a1: POP
000059a2: POP
000059a3: POP
000059a4: JUMP
000059a5: JUMPDEST
000059a6: PUSH1 0x00
000059a8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000059bd: DUP1
000059be: DUP10
000059bf: AND
000059c0: DUP4
000059c1: MSTORE
000059c2: DUP1
000059c3: DUP9
000059c4: AND
000059c5: PUSH1 0x20
000059c7: DUP5
000059c8: ADD
000059c9: MSTORE
000059ca: POP
000059cb: DUP6
000059cc: PUSH1 0x40
000059ce: DUP4
000059cf: ADD
000059d0: MSTORE
000059d1: DUP5
000059d2: PUSH1 0x60
000059d4: DUP4
000059d5: ADD
000059d6: MSTORE
000059d7: PUSH1 0xa0
000059d9: PUSH1 0x80
000059db: DUP4
000059dc: ADD
000059dd: MSTORE
000059de: PUSH2 0x59eb
000059e1: PUSH1 0xa0
000059e3: DUP4
000059e4: ADD
000059e5: DUP5
000059e6: DUP7
000059e7: PUSH2 0x58d4
000059ea: JUMP
000059eb: JUMPDEST
000059ec: SWAP9
000059ed: SWAP8
000059ee: POP
000059ef: POP
000059f0: POP
000059f1: POP
000059f2: POP
000059f3: POP
000059f4: POP
000059f5: POP
000059f6: JUMP
000059f7: JUMPDEST
000059f8: PUSH1 0x00
000059fa: PUSH1 0x20
000059fc: DUP1
000059fd: DUP4
000059fe: DUP6
000059ff: SUB
00005a00: SLT
00005a01: ISZERO
00005a02: PUSH2 0x5a0a
00005a05: JUMPI
00005a06: PUSH1 0x00
00005a08: DUP1
00005a09: REVERT
00005a0a: JUMPDEST
00005a0b: DUP3
00005a0c: MLOAD
00005a0d: PUSH8 0xffffffffffffffff
00005a16: DUP1
00005a17: DUP3
00005a18: GT
00005a19: ISZERO
00005a1a: PUSH2 0x5a22
00005a1d: JUMPI
00005a1e: PUSH1 0x00
00005a20: DUP1
00005a21: REVERT
00005a22: JUMPDEST
00005a23: DUP2
00005a24: DUP6
00005a25: ADD
00005a26: SWAP2
00005a27: POP
00005a28: DUP6
00005a29: PUSH1 0x1f
00005a2b: DUP4
00005a2c: ADD
00005a2d: SLT
00005a2e: PUSH2 0x5a36
00005a31: JUMPI
00005a32: PUSH1 0x00
00005a34: DUP1
00005a35: REVERT
00005a36: JUMPDEST
00005a37: DUP2
00005a38: MLOAD
00005a39: PUSH2 0x5a44
00005a3c: PUSH2 0x55f5
00005a3f: DUP3
00005a40: PUSH2 0x55b0
00005a43: JUMP
00005a44: JUMPDEST
00005a45: DUP2
00005a46: DUP2
00005a47: MSTORE
00005a48: PUSH1 0x05
00005a4a: SWAP2
00005a4b: SWAP1
00005a4c: SWAP2
00005a4d: SHL
00005a4e: DUP4
00005a4f: ADD
00005a50: DUP5
00005a51: ADD
00005a52: SWAP1
00005a53: DUP5
00005a54: DUP2
00005a55: ADD
00005a56: SWAP1
00005a57: DUP9
00005a58: DUP4
00005a59: GT
00005a5a: ISZERO
00005a5b: PUSH2 0x5a63
00005a5e: JUMPI
00005a5f: PUSH1 0x00
00005a61: DUP1
00005a62: REVERT
00005a63: JUMPDEST
00005a64: DUP6
00005a65: DUP6
00005a66: ADD
00005a67: JUMPDEST
00005a68: DUP4
00005a69: DUP2
00005a6a: LT
00005a6b: ISZERO
00005a6c: PUSH2 0x5ad7
00005a6f: JUMPI
00005a70: DUP1
00005a71: MLOAD
00005a72: DUP6
00005a73: DUP2
00005a74: GT
00005a75: ISZERO
00005a76: PUSH2 0x5a7f
00005a79: JUMPI
00005a7a: PUSH1 0x00
00005a7c: DUP1
00005a7d: DUP2
00005a7e: REVERT
00005a7f: JUMPDEST
00005a80: DUP7
00005a81: ADD
00005a82: PUSH1 0x3f
00005a84: DUP2
00005a85: ADD
00005a86: DUP12
00005a87: SGT
00005a88: PUSH2 0x5a91
00005a8b: JUMPI
00005a8c: PUSH1 0x00
00005a8e: DUP1
00005a8f: DUP2
00005a90: REVERT
00005a91: JUMPDEST
00005a92: DUP8
00005a93: DUP2
00005a94: ADD
00005a95: MLOAD
00005a96: PUSH1 0x40
00005a98: PUSH2 0x5aa3
00005a9b: PUSH2 0x55f5
00005a9e: DUP4
00005a9f: PUSH2 0x563f
00005aa2: JUMP
00005aa3: JUMPDEST
00005aa4: DUP3
00005aa5: DUP2
00005aa6: MSTORE
00005aa7: DUP14
00005aa8: DUP3
00005aa9: DUP5
00005aaa: DUP7
00005aab: ADD
00005aac: ADD
00005aad: GT
00005aae: ISZERO
00005aaf: PUSH2 0x5ab8
00005ab2: JUMPI
00005ab3: PUSH1 0x00
00005ab5: DUP1
00005ab6: DUP2
00005ab7: REVERT
00005ab8: JUMPDEST
00005ab9: PUSH2 0x5ac7
00005abc: DUP4
00005abd: DUP13
00005abe: DUP4
00005abf: ADD
00005ac0: DUP5
00005ac1: DUP8
00005ac2: ADD
00005ac3: PUSH2 0x508e
00005ac6: JUMP
00005ac7: JUMPDEST
00005ac8: DUP7
00005ac9: MSTORE
00005aca: POP
00005acb: POP
00005acc: POP
00005acd: SWAP2
00005ace: DUP7
00005acf: ADD
00005ad0: SWAP2
00005ad1: DUP7
00005ad2: ADD
00005ad3: PUSH2 0x5a67
00005ad6: JUMP
00005ad7: JUMPDEST
00005ad8: POP
00005ad9: SWAP9
00005ada: SWAP8
00005adb: POP
00005adc: POP
00005add: POP
00005ade: POP
00005adf: POP
00005ae0: POP
00005ae1: POP
00005ae2: POP
00005ae3: JUMP
00005ae4: JUMPDEST
00005ae5: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00005b06: PUSH1 0x00
00005b08: MSTORE
00005b09: PUSH1 0x32
00005b0b: PUSH1 0x04
00005b0d: MSTORE
00005b0e: PUSH1 0x24
00005b10: PUSH1 0x00
00005b12: REVERT
00005b13: JUMPDEST
00005b14: PUSH1 0x00
00005b16: DUP1
00005b17: DUP4
00005b18: SLOAD
00005b19: DUP2
00005b1a: PUSH1 0x01
00005b1c: DUP3
00005b1d: DUP2
00005b1e: SHR
00005b1f: SWAP2
00005b20: POP
00005b21: DUP1
00005b22: DUP4
00005b23: AND
00005b24: DUP1
00005b25: PUSH2 0x5b2f
00005b28: JUMPI
00005b29: PUSH1 0x7f
00005b2b: DUP4
00005b2c: AND
00005b2d: SWAP3
00005b2e: POP
00005b2f: JUMPDEST
00005b30: PUSH1 0x20
00005b32: DUP1
00005b33: DUP5
00005b34: LT
00005b35: DUP3
00005b36: SUB
00005b37: PUSH2 0x5b67
00005b3a: JUMPI
00005b3b: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00005b5c: DUP7
00005b5d: MSTORE
00005b5e: PUSH1 0x22
00005b60: PUSH1 0x04
00005b62: MSTORE
00005b63: PUSH1 0x24
00005b65: DUP7
00005b66: REVERT
00005b67: JUMPDEST
00005b68: DUP2
00005b69: DUP1
00005b6a: ISZERO
00005b6b: PUSH2 0x5b7b
00005b6e: JUMPI
00005b6f: PUSH1 0x01
00005b71: DUP2
00005b72: EQ
00005b73: PUSH2 0x5bae
00005b76: JUMPI
00005b77: PUSH2 0x5bdb
00005b7a: JUMP
00005b7b: JUMPDEST
00005b7c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00005b9d: DUP7
00005b9e: AND
00005b9f: DUP10
00005ba0: MSTORE
00005ba1: DUP5
00005ba2: ISZERO
00005ba3: ISZERO
00005ba4: DUP6
00005ba5: MUL
00005ba6: DUP10
00005ba7: ADD
00005ba8: SWAP7
00005ba9: POP
00005baa: PUSH2 0x5bdb
00005bad: JUMP
00005bae: JUMPDEST
00005baf: PUSH1 0x00
00005bb1: DUP11
00005bb2: DUP2
00005bb3: MSTORE
00005bb4: PUSH1 0x20
00005bb6: SWAP1
00005bb7: KECCAK256
00005bb8: PUSH1 0x00
00005bba: JUMPDEST
00005bbb: DUP7
00005bbc: DUP2
00005bbd: LT
00005bbe: ISZERO
00005bbf: PUSH2 0x5bd3
00005bc2: JUMPI
00005bc3: DUP2
00005bc4: SLOAD
00005bc5: DUP12
00005bc6: DUP3
00005bc7: ADD
00005bc8: MSTORE
00005bc9: SWAP1
00005bca: DUP6
00005bcb: ADD
00005bcc: SWAP1
00005bcd: DUP4
00005bce: ADD
00005bcf: PUSH2 0x5bba
00005bd2: JUMP
00005bd3: JUMPDEST
00005bd4: POP
00005bd5: POP
00005bd6: DUP5
00005bd7: DUP10
00005bd8: ADD
00005bd9: SWAP7
00005bda: POP
00005bdb: JUMPDEST
00005bdc: POP
00005bdd: SWAP5
00005bde: SWAP9
00005bdf: SWAP8
00005be0: POP
00005be1: POP
00005be2: POP
00005be3: POP
00005be4: POP
00005be5: POP
00005be6: POP
00005be7: POP
00005be8: JUMP
00005be9: JUMPDEST
00005bea: PUSH1 0x00
00005bec: PUSH1 0x20
00005bee: DUP1
00005bef: DUP4
00005bf0: ADD
00005bf1: DUP2
00005bf2: DUP5
00005bf3: MSTORE
00005bf4: DUP1
00005bf5: DUP6
00005bf6: MLOAD
00005bf7: DUP1
00005bf8: DUP4
00005bf9: MSTORE
00005bfa: PUSH1 0x40
00005bfc: DUP7
00005bfd: ADD
00005bfe: SWAP2
00005bff: POP
00005c00: PUSH1 0x40
00005c02: DUP2
00005c03: PUSH1 0x05
00005c05: SHL
00005c06: DUP8
00005c07: ADD
00005c08: ADD
00005c09: SWAP3
00005c0a: POP
00005c0b: DUP4
00005c0c: DUP8
00005c0d: ADD
00005c0e: PUSH1 0x00
00005c10: JUMPDEST
00005c11: DUP3
00005c12: DUP2
00005c13: LT
00005c14: ISZERO
00005c15: PUSH2 0x5c5c
00005c18: JUMPI
00005c19: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0
00005c3a: DUP9
00005c3b: DUP7
00005c3c: SUB
00005c3d: ADD
00005c3e: DUP5
00005c3f: MSTORE
00005c40: PUSH2 0x5c4a
00005c43: DUP6
00005c44: DUP4
00005c45: MLOAD
00005c46: PUSH2 0x50b2
00005c49: JUMP
00005c4a: JUMPDEST
00005c4b: SWAP5
00005c4c: POP
00005c4d: SWAP3
00005c4e: DUP6
00005c4f: ADD
00005c50: SWAP3
00005c51: SWAP1
00005c52: DUP6
00005c53: ADD
00005c54: SWAP1
00005c55: PUSH1 0x01
00005c57: ADD
00005c58: PUSH2 0x5c10
00005c5b: JUMP
00005c5c: JUMPDEST
00005c5d: POP
00005c5e: SWAP3
00005c5f: SWAP8
00005c60: SWAP7
00005c61: POP
00005c62: POP
00005c63: POP
00005c64: POP
00005c65: POP
00005c66: POP
00005c67: POP
00005c68: JUMP
00005c69: JUMPDEST
00005c6a: PUSH1 0x00
00005c6c: PUSH1 0x80
00005c6e: DUP3
00005c6f: ADD
00005c70: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005c85: DUP1
00005c86: DUP9
00005c87: AND
00005c88: DUP5
00005c89: MSTORE
00005c8a: PUSH1 0x20
00005c8c: PUSH1 0x80
00005c8e: DUP2
00005c8f: DUP7
00005c90: ADD
00005c91: MSTORE
00005c92: DUP3
00005c93: DUP9
00005c94: MLOAD
00005c95: DUP1
00005c96: DUP6
00005c97: MSTORE
00005c98: PUSH1 0xa0
00005c9a: DUP8
00005c9b: ADD
00005c9c: SWAP2
00005c9d: POP
00005c9e: DUP3
00005c9f: DUP11
00005ca0: ADD
00005ca1: SWAP5
00005ca2: POP
00005ca3: PUSH1 0x00
00005ca5: JUMPDEST
00005ca6: DUP2
00005ca7: DUP2
00005ca8: LT
00005ca9: ISZERO
00005caa: PUSH2 0x5cc3
00005cad: JUMPI
00005cae: DUP6
00005caf: MLOAD
00005cb0: DUP6
00005cb1: AND
00005cb2: DUP4
00005cb3: MSTORE
00005cb4: SWAP5
00005cb5: DUP4
00005cb6: ADD
00005cb7: SWAP5
00005cb8: SWAP2
00005cb9: DUP4
00005cba: ADD
00005cbb: SWAP2
00005cbc: PUSH1 0x01
00005cbe: ADD
00005cbf: PUSH2 0x5ca5
00005cc2: JUMP
00005cc3: JUMPDEST
00005cc4: POP
00005cc5: POP
00005cc6: DUP6
00005cc7: DUP2
00005cc8: SUB
00005cc9: PUSH1 0x40
00005ccb: DUP8
00005ccc: ADD
00005ccd: MSTORE
00005cce: DUP8
00005ccf: MLOAD
00005cd0: DUP1
00005cd1: DUP3
00005cd2: MSTORE
00005cd3: SWAP1
00005cd4: DUP3
00005cd5: ADD
00005cd6: SWAP4
00005cd7: POP
00005cd8: SWAP2
00005cd9: POP
00005cda: DUP1
00005cdb: DUP8
00005cdc: ADD
00005cdd: PUSH1 0x00
00005cdf: JUMPDEST
00005ce0: DUP4
00005ce1: DUP2
00005ce2: LT
00005ce3: ISZERO
00005ce4: PUSH2 0x5cfb
00005ce7: JUMPI
00005ce8: DUP2
00005ce9: MLOAD
00005cea: DUP6
00005ceb: MSTORE
00005cec: SWAP4
00005ced: DUP3
00005cee: ADD
00005cef: SWAP4
00005cf0: SWAP1
00005cf1: DUP3
00005cf2: ADD
00005cf3: SWAP1
00005cf4: PUSH1 0x01
00005cf6: ADD
00005cf7: PUSH2 0x5cdf
00005cfa: JUMP
00005cfb: JUMPDEST
00005cfc: POP
00005cfd: POP
00005cfe: POP
00005cff: POP
00005d00: DUP3
00005d01: DUP2
00005d02: SUB
00005d03: PUSH1 0x60
00005d05: DUP5
00005d06: ADD
00005d07: MSTORE
00005d08: PUSH2 0x5d11
00005d0b: DUP2
00005d0c: DUP6
00005d0d: PUSH2 0x50b2
00005d10: JUMP
00005d11: JUMPDEST
00005d12: SWAP8
00005d13: SWAP7
00005d14: POP
00005d15: POP
00005d16: POP
00005d17: POP
00005d18: POP
00005d19: POP
00005d1a: POP
00005d1b: JUMP
00005d1c: JUMPDEST
00005d1d: PUSH1 0x00
00005d1f: DUP3
00005d20: MLOAD
00005d21: PUSH2 0x5d2e
00005d24: DUP2
00005d25: DUP5
00005d26: PUSH1 0x20
00005d28: DUP8
00005d29: ADD
00005d2a: PUSH2 0x508e
00005d2d: JUMP
00005d2e: JUMPDEST
00005d2f: SWAP2
00005d30: SWAP1
00005d31: SWAP2
00005d32: ADD
00005d33: SWAP3
00005d34: SWAP2
00005d35: POP
00005d36: POP
00005d37: JUMP
00005d38: JUMPDEST
00005d39: PUSH32 0x416363657373436f6e74726f6c3a206163636f756e7420000000000000000000
00005d5a: DUP2
00005d5b: MSTORE
00005d5c: PUSH1 0x00
00005d5e: DUP4
00005d5f: MLOAD
00005d60: PUSH2 0x5d70
00005d63: DUP2
00005d64: PUSH1 0x17
00005d66: DUP6
00005d67: ADD
00005d68: PUSH1 0x20
00005d6a: DUP9
00005d6b: ADD
00005d6c: PUSH2 0x508e
00005d6f: JUMP
00005d70: JUMPDEST
00005d71: PUSH32 0x206973206d697373696e6720726f6c6520000000000000000000000000000000
00005d92: PUSH1 0x17
00005d94: SWAP2
00005d95: DUP5
00005d96: ADD
00005d97: SWAP2
00005d98: DUP3
00005d99: ADD
00005d9a: MSTORE
00005d9b: DUP4
00005d9c: MLOAD
00005d9d: PUSH2 0x5dad
00005da0: DUP2
00005da1: PUSH1 0x28
00005da3: DUP5
00005da4: ADD
00005da5: PUSH1 0x20
00005da7: DUP9
00005da8: ADD
00005da9: PUSH2 0x508e
00005dac: JUMP
00005dad: JUMPDEST
00005dae: ADD
00005daf: PUSH1 0x28
00005db1: ADD
00005db2: SWAP5
00005db3: SWAP4
00005db4: POP
00005db5: POP
00005db6: POP
00005db7: POP
00005db8: JUMP
00005db9: JUMPDEST
00005dba: DUP1
00005dbb: DUP3
00005dbc: MUL
00005dbd: DUP2
00005dbe: ISZERO
00005dbf: DUP3
00005dc0: DUP3
00005dc1: DIV
00005dc2: DUP5
00005dc3: EQ
00005dc4: OR
00005dc5: PUSH2 0x104f
00005dc8: JUMPI
00005dc9: PUSH2 0x104f
00005dcc: PUSH2 0x57e1
00005dcf: JUMP
00005dd0: JUMPDEST
00005dd1: PUSH1 0x00
00005dd3: DUP2
00005dd4: PUSH2 0x5ddf
00005dd7: JUMPI
00005dd8: PUSH2 0x5ddf
00005ddb: PUSH2 0x57e1
00005dde: JUMP
00005ddf: JUMPDEST
00005de0: POP
00005de1: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00005e02: ADD
00005e03: SWAP1
00005e04: JUMP
00005e05: JUMPDEST
00005e06: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00005e27: PUSH1 0x00
00005e29: MSTORE
00005e2a: PUSH1 0x31
00005e2c: PUSH1 0x04
00005e2e: MSTORE
00005e2f: PUSH1 0x24
00005e31: PUSH1 0x00
00005e33: REVERT
00005e34: INVALID
00005e35: COINBASE
00005e36: PUSH5 0x6472657373
00005e3c: GASPRICE
00005e3d: KECCAK256
00005e3e: PUSH13 0x6f772d6c6576656c2064656c65
00005e4c: PUSH8 0x6174652063616c6c
00005e55: KECCAK256
00005e56: PUSH7 0x61696c6564a264
00005e5e: PUSH10 0x70667358221220e0d98a
00005e69: UNKNOWN(0xEB)
00005e6a: DUP15
00005e6b: UNKNOWN(0x2E)
00005e6c: UNKNOWN(0xBB)
00005e6d: UNKNOWN(0x2F)
00005e6e: PUSH0
00005e6f: UNKNOWN(0xCC)
00005e70: LOG1
00005e71: MSIZE
00005e72: UNKNOWN(0x23)
00005e73: SWAP11
00005e74: SGT
00005e75: PUSH24 0x79099263e7d3cea2d855eefe25649b7a64736f6c63430008
00005e8e: ISZERO
00005e8f: STOP
00005e90: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high upgradeability detector Untrusted DELEGATECALL target reachable 55 yes yes
view
trace_id: 0xa233208648a26385bc10fb6bf6c195c4736a342ec376bf46ef28d54c12dd44b0
call_targets: 0x2b31caa35900f4c8fe6151ccaf8d0ea4a89743a1, 0x2b33cf282f867a7ff693a66e11b0fcc5552e4425, 0x2bea101d992b58da3f52c4c2aaeb49d33f7dce14, 0x6ca84080381e43938476814be61b779a8bb6a600, 0x97287a4f35e583d924f78ad88db8afce1379189a, 0xb76cf0f1d2e1a606c14044607c8c44878aae7186
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 14,
    "trace_id": "0xa233208648a26385bc10fb6bf6c195c4736a342ec376bf46ef28d54c12dd44b0",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x2b31caa35900f4c8fe6151ccaf8d0ea4a89743a1",
        "0x2b33cf282f867a7ff693a66e11b0fcc5552e4425",
        "0x2bea101d992b58da3f52c4c2aaeb49d33f7dce14",
        "0x6ca84080381e43938476814be61b779a8bb6a600",
        "0x97287a4f35e583d924f78ad88db8afce1379189a",
        "0xb76cf0f1d2e1a606c14044607c8c44878aae7186"
    ],
    "matched_probe": null,
    "target_varies": true,
    "classification": "target_varies"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xf0f44260",
            "selector": "0xf0f44260",
            "calldata_variants": [
                "0xf0f44260",
                "0xf0f442600000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf340fa01",
            "selector": "0xf340fa01",
            "calldata_variants": [
                "0xf340fa01",
                "0xf340fa010000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc7b9c18",
            "selector": "0xfc7b9c18",
            "calldata_variants": [
                "0xfc7b9c18",
                "0xfc7b9c180000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xef8b30f7",
            "selector": "0xef8b30f7",
            "calldata_variants": [
                "0xef8b30f7",
                "0xef8b30f70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf04f2707",
            "selector": "0xf04f2707",
            "calldata_variants": [
                "0xf04f2707",
                "0xf04f27070000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd905777e",
            "selector": "0xd905777e",
            "calldata_variants": [
                "0xd905777e",
                "0xd905777e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xddeadbb6",
            "selector": "0xddeadbb6",
            "calldata_variants": [
                "0xddeadbb6",
                "0xddeadbb60000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 18699,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [
        {
            "pc": 9750,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 10303,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "delegatecall_count": 1,
    "untrusted_delegatecall_count": 1
}
medium math codex Division-by-zero in `_withdrawToVault` when adapter net assets are zero 75 no
view
evidence_json
{
    "evidence": "`repayPerProtocol` divides by `assets` without a zero check.",
    "locations": [
        "src/steth/scWETHv2.sol:336",
        "src/steth/scWETHv2.sol:356"
    ],
    "recommendation": "Skip adapters with `assets == 0` (or `totalInvested_ == 0`), or guard the division and handle zero-asset cases explicitly before computing `repayPerProtocol`.",
    "exploit_scenario": "If any adapter position has `priceConverter.wstEthToEth(collateral) == debt` (or if `totalInvested_` is zero), `repayPerProtocol = withdrawPerProtocol.mulDivDown(debt, assets)` divides by zero and reverts. This can brick withdrawals exactly when positions approach 100% LTV, trapping user funds."
}
medium oracle codex Chainlink price feeds used without freshness/positivity checks 75 no
view
evidence_json
{
    "evidence": "PriceConverter reads `latestRoundData()` and immediately uses `int256` answers without validating them or checking staleness.",
    "locations": [
        "src/steth/PriceConverter.sol:67",
        "src/steth/PriceConverter.sol:83",
        "src/steth/PriceConverter.sol:91"
    ],
    "recommendation": "Validate `answer > 0`, `updatedAt` within a heartbeat, and `answeredInRound >= roundId`; normalize by feed decimals and revert on invalid/stale data.",
    "exploit_scenario": "If a price feed returns stale/zero/negative data (oracle outage or manipulation), the cast to uint256 skews conversions used for `totalAssets`, `_withdrawToVault`, and swap min-outs. This can misprice shares, mint fees on phantom gains, or cause withdrawals to under/over-pay or revert unexpectedly."
}
medium access_control codex Flashloan callback not restricted to Balancer vault 75 no
view
evidence_json
{
    "evidence": "`receiveFlashLoan` only calls `_isFlashLoanInitiated()` and does not validate `msg.sender`; `_onlyKeeperOrFlashLoan` skips keeper checks when `flashLoanInitiated` is true.",
    "locations": [
        "src/steth/scWETHv2.sol:225",
        "src/sc4626.sol:109"
    ],
    "recommendation": "Require `msg.sender == address(balancerVault)` inside `receiveFlashLoan`, and consider binding `userData` to expected operations or adding a reentrancy guard around flashloan callbacks.",
    "exploit_scenario": "During an active flashloan, any reentrant external call (e.g., via a swap route or adapter call) can invoke `receiveFlashLoan` with attacker-controlled `userData` because it only checks the `flashLoanInitiated` flag. This bypasses the keeper check and can trigger privileged `_multiCall` actions (swaps, borrows/repays) while the vault is in flashloan mode."
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 1
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x98b00eb80e7f7535007c83b829eba676a4bd55b0004912f81012605162b0691d
call_targets: 0x4c406c068106375724275cbff028770c544a1333
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x98b00eb80e7f7535007c83b829eba676a4bd55b0004912f81012605162b0691d",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x4c406c068106375724275cbff028770c544a1333"
    ],
    "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": "0xf0f44260",
            "selector": "0xf0f44260",
            "calldata_variants": [
                "0xf0f44260",
                "0xf0f442600000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf340fa01",
            "selector": "0xf340fa01",
            "calldata_variants": [
                "0xf340fa01",
                "0xf340fa010000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc7b9c18",
            "selector": "0xfc7b9c18",
            "calldata_variants": [
                "0xfc7b9c18",
                "0xfc7b9c180000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xef8b30f7",
            "selector": "0xef8b30f7",
            "calldata_variants": [
                "0xef8b30f7",
                "0xef8b30f70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf04f2707",
            "selector": "0xf04f2707",
            "calldata_variants": [
                "0xf04f2707",
                "0xf04f27070000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd905777e",
            "selector": "0xd905777e",
            "calldata_variants": [
                "0xd905777e",
                "0xd905777e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xddeadbb6",
            "selector": "0xddeadbb6",
            "calldata_variants": [
                "0xddeadbb6",
                "0xddeadbb60000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 8989,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "constant_zero",
            "target_expression_category": "computed"
        },
        {
            "pc": 13184,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 14876,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 5,
    "guards_detected": [
        {
            "pc": 9750,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 10303,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "untrusted_call_count": 5
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x98b00eb80e7f7535007c83b829eba676a4bd55b0004912f81012605162b0691d
call_targets: 0x4c406c068106375724275cbff028770c544a1333
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x98b00eb80e7f7535007c83b829eba676a4bd55b0004912f81012605162b0691d",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x4c406c068106375724275cbff028770c544a1333"
    ],
    "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": "0xf0f44260",
            "selector": "0xf0f44260",
            "calldata_variants": [
                "0xf0f44260",
                "0xf0f442600000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf340fa01",
            "selector": "0xf340fa01",
            "calldata_variants": [
                "0xf340fa01",
                "0xf340fa010000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc7b9c18",
            "selector": "0xfc7b9c18",
            "calldata_variants": [
                "0xfc7b9c18",
                "0xfc7b9c180000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xef8b30f7",
            "selector": "0xef8b30f7",
            "calldata_variants": [
                "0xef8b30f7",
                "0xef8b30f70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf04f2707",
            "selector": "0xf04f2707",
            "calldata_variants": [
                "0xf04f2707",
                "0xf04f27070000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd905777e",
            "selector": "0xd905777e",
            "calldata_variants": [
                "0xd905777e",
                "0xd905777e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xddeadbb6",
            "selector": "0xddeadbb6",
            "calldata_variants": [
                "0xddeadbb6",
                "0xddeadbb60000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 13184,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 14876,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 15617,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 4,
    "guards_detected": [
        {
            "pc": 9750,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 10303,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}
low upgradeability codex Delegatecall to adapter/swapper trusts upgradeable targets with full storage access 65 no
view
evidence_json
{
    "evidence": "Vault uses `functionDelegateCall` to adapter/swapper addresses set by admin.",
    "locations": [
        "src/steth/BaseV2Vault.sol:100",
        "src/steth/BaseV2Vault.sol:183",
        "src/steth/BaseV2Vault.sol:196"
    ],
    "recommendation": "Only use audited, non-upgradeable adapter/swapper implementations; consider code-hash allowlisting or a timelock on `setSwapper`/`addAdapter` changes. If upgradeability is required, isolate with `call` patterns instead of `delegatecall`.",
    "exploit_scenario": "Adapters and the swapper are invoked via `delegatecall`. If any target is upgradeable or controlled by a different admin, a malicious upgrade can overwrite vault storage (roles, balances) and drain funds without changing vault code."
}
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": 27
}