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

Analysis Run

019be3d8-dab2-7125-9844-e6c896367631

failed
Chain ID
1
Address
Block Number
Created
Thu, Jan 22, 2026 3:56 AM
Review Summary

What survived the funnel

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

Confirmed
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
41396 artifact.fetch complete 1 / 3 2 months ago
41397 proxy.resolve complete 1 / 3 2 months ago
41398 tool.cast_disasm complete 1 / 3 2 months ago
41399 analysis.bundle complete 1 / 3 2 months ago
41400 capability.graph complete 1 / 3 2 months ago
41401 detector.run complete 1 / 3 2 months ago
41402 validation.fork complete 1 / 3 2 months ago
41470 report.consolidate complete 1 / 6 2 months ago
41471 tool.slither failed 2 / 2 2 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
Status
failed slither failed (exit 1): 'forge clean' running (wd: /tmp/slither-bmgdv61p) 'forge config --json' running 'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-bmgdv61p) 'forge' returned non-zero exit code 1 Compiling 67 files with Solc 0.8.25 stdout: Solc 0.8.25 finished in 1.24s Error: Compiler run failed: stderr: Error: Compiler error (/solidity/libsolidity/codegen/LValue.cpp:51):Stack too deep. Try compiling with `--via-ir` (cli) or the equivalent `viaIR: true` (standard JSON) while enabling the optimizer. Otherwise, try removing local variables. stderr: --> contracts/main/RedeemOperator.sol:274:47: stderr: | stderr: 274 | _withdrawalRequestInstant[_epoch][thisUser_].mulDiv(assetPerShare_, PRECISION, Math.Rounding.Floor); stderr: | ^^^^^^ Traceback (most recent call last): File "/var/www/tripwire/.venv/bin/slither", line 10, in <module> sys.exit(main()) ~~~~^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 776, in main main_impl(all_detector_classes=detectors, all_printer_classes=printers) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 882, in main_impl ) = process_all(filename, args, detector_classes, printer_classes) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 96, in process_all compilations = compile_all(target, **vars(args)) File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 722, in compile_all compilations.append(CryticCompile(target, **kwargs)) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 211, in __init__ self._compile(**kwargs) ~~~~~~~~~~~~~^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 633, in _compile self._platform.compile(self, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/foundry.py", line 102, in compile hardhat_like_parsing( ~~~~~~~~~~~~~~~~~~~~^ crytic_compile, str(self._target), build_directory, str(self._project_root) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/hardhat.py", line 52, in hardhat_like_parsing raise InvalidCompilation(txt) crytic_compile.platform.exceptions.InvalidCompilation: Compilation failed. Can you run build command? /tmp/slither-bmgdv61p/out/build-info is not a directory.
Attempts
2 / 2
Findings
0
Solc
View stderr
Traceback (most recent call last):
  File "/var/www/tripwire/worker/worker.py", line 198, in main
    payload = dispatch_job(job_type, job_id, job_meta, run_data, config, laravel_client)
  File "/var/www/tripwire/worker/worker.py", line 114, in dispatch_job
    return slither_run.run(job_id, job_meta, run_data, config, log, laravel_client)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/worker/jobs/slither_run.py", line 1084, in run
    stdout_text, stderr_text, result_json = _run_slither(
                                            ~~~~~~~~~~~~^
        workspace,
        ^^^^^^^^^^
    ...<4 lines>...
        target_path=target_path,
        ^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/var/www/tripwire/worker/jobs/slither_run.py", line 958, in _run_slither
    raise RuntimeError(f"slither failed (exit {result.returncode}): {stderr_text or stdout_text}")
RuntimeError: slither failed (exit 1): 'forge clean' running (wd: /tmp/slither-bmgdv61p)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-bmgdv61p)
'forge' returned non-zero exit code 1
Compiling 67 files with Solc 0.8.25
stdout: Solc 0.8.25 finished in 1.24s
Error: Compiler run failed:
stderr: Error: Compiler error (/solidity/libsolidity/codegen/LValue.cpp:51):Stack too deep. Try compiling with `--via-ir` (cli) or the equivalent `viaIR: true` (standard JSON) while enabling the optimizer. Otherwise, try removing local variables.
stderr:    --> contracts/main/RedeemOperator.sol:274:47:
stderr:     |
stderr: 274 |                     _withdrawalRequestInstant[_epoch][thisUser_].mulDiv(assetPerShare_, PRECISION, Math.Rounding.Floor);
stderr:     |                                               ^^^^^^
Traceback (most recent call last):
  File "/var/www/tripwire/.venv/bin/slither", line 10, in <module>
    sys.exit(main())
             ~~~~^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 776, in main
    main_impl(all_detector_classes=detectors, all_printer_classes=printers)
    ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 882, in main_impl
    ) = process_all(filename, args, detector_classes, printer_classes)
        ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 96, in process_all
    compilations = compile_all(target, **vars(args))
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 722, in compile_all
    compilations.append(CryticCompile(target, **kwargs))
                        ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 211, in __init__
    self._compile(**kwargs)
    ~~~~~~~~~~~~~^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 633, in _compile
    self._platform.compile(self, **kwargs)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/foundry.py", line 102, in compile
    hardhat_like_parsing(
    ~~~~~~~~~~~~~~~~~~~~^
        crytic_compile, str(self._target), build_directory, str(self._project_root)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/hardhat.py", line 52, in hardhat_like_parsing
    raise InvalidCompilation(txt)
crytic_compile.platform.exceptions.InvalidCompilation: Compilation failed. Can you run build command?
/tmp/slither-bmgdv61p/out/build-info is not a directory.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
3
No findings?
no
Summary
Found 3 issues: oracle pricing used without staleness/validity checks for MF_ONE valuation, strategy proxy admin not tied to current ownership, and a rapid refund accounting bug that never restores instant redeem limits.
View stdout
{"no_findings":false,"summary":"Found 3 issues: oracle pricing used without staleness/validity checks for MF_ONE valuation, strategy proxy admin not tied to current ownership, and a rapid refund accounting bug that never restores instant redeem limits.","findings":[{"severity":"high","category":"oracle","title":"MF_ONE valuation uses unvalidated oracle price for share minting and TVL","exploit_scenario":"An attacker who can manipulate or serve a stale/high price from `IMidasOracle.lastAnswer()` can deposit MF_ONE and receive inflated share issuance. Those shares can later be redeemed for USDC at the (lower) fair exchange price, draining vault assets. The same oracle value is also used to compute TVL/exchange price, amplifying the pricing distortion.","recommendation":"Use an oracle interface that exposes round data (e.g., `latestRoundData`) with staleness checks, enforce max deviation bounds, and/or use TWAPs. Consider rejecting deposits and price updates when the oracle is stale or outside expected bounds.","evidence":"MF_ONE deposits and TVL rely on `IMidasOracle(MIDAS_ORACLE).lastAnswer()` with only a non-negative check and no staleness or bounds validation.","locations":["contracts/main/Vault.sol:43","contracts/main/Vault.sol:96","contracts/main/strategies/morpho/StrategyMorphoBlue.sol:380"]},{"severity":"medium","category":"upgradeability","title":"Strategy proxy admin fixed to creator, not current owner","exploit_scenario":"Strategies are deployed via `TransparentUpgradeableProxy` with admin set to `msg.sender`. If vault ownership changes later, the old owner retains proxy admin rights and can still upgrade strategy implementations to malicious code that drains assets, while the new owner cannot upgrade.","recommendation":"Use a dedicated `ProxyAdmin` controlled by current ownership, or track the proxy admin and update it on ownership transfers. Avoid setting the proxy admin to the caller directly.","evidence":"`createStrategy` sets proxy admin to `msg.sender` without any linkage to `OwnableUpgradeable` ownership changes.","locations":["contracts/main/vault/StrategyFactory.sol:90"]},{"severity":"low","category":"other","title":"Rapid withdrawal refunds do not restore instant redeem limits","exploit_scenario":"When a rapid withdrawal is refunded, the vault’s instant redeem limit for the user is not restored because the amount is deleted before being passed to `refundInstantLimit`. This can permanently reduce a user’s rapid redeem allowance within the epoch and be used by the operator to grief users.","recommendation":"Cache the withdrawal amount before deletion and call `refundInstantLimit` with that value, or reorder the operations to refund the limit first.","evidence":"`_withdrawalRequestInstant` is deleted before calling `refundInstantLimit`, so the refund amount is always zero.","locations":["contracts/main/RedeemOperator.sol:300"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-zbjc3o22
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019be4d6-3fac-7be3-b428-dbbdd2a04f4f
--------
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
**Deciding read method**

Since the instructions don't require special parsing, I'll use simple shell cat to read the AUDIT_BUNDLE file in read-only mode instead of ripgrep.
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-zbjc3o22 succeeded in 7ms:
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: @morpho-org/morpho-blue/src/interfaces/IIrm.sol
================================================================================
// SPDX-License-Identifier: GPL-2.0-or-later
pragma solidity >=0.5.0;

import {MarketParams, Market} from "./IMorpho.sol";

/// @title IIrm
/// @author Morpho Labs
/// @custom:contact security@morpho.org
/// @notice Interface that Interest Rate Models (IRMs) used by Morpho must implement.
interface IIrm {
    /// @notice Returns the borrow rate per second (scaled by WAD) of the market `marketParams`.
    /// @dev Assumes that `market` corresponds to `marketParams`.
    function borrowRate(MarketParams memory marketParams, Market memory market) external returns (uint256);


thinking
**Planning contract identification approach**

I'll use ripgrep to list "FILE:" lines within the large audit bundle file to pinpoint relevant contracts efficiently, avoiding opening the entire huge file directly.
exec
/bin/bash -lc 'rg "''^FILE:" -n AUDIT_BUNDLE.txt' in /tmp/codex-zbjc3o22 succeeded in 8ms:
5:FILE: @morpho-org/morpho-blue/src/interfaces/IIrm.sol
28:FILE: @morpho-org/morpho-blue/src/interfaces/IMorpho.sol
385:FILE: @morpho-org/morpho-blue/src/interfaces/IOracle.sol
404:FILE: @morpho-org/morpho-blue/src/libraries/ErrorsLib.sol
488:FILE: @morpho-org/morpho-blue/src/libraries/MarketParamsLib.sol
513:FILE: @morpho-org/morpho-blue/src/libraries/MathLib.sol
562:FILE: @morpho-org/morpho-blue/src/libraries/SharesMathLib.sol
611:FILE: @morpho-org/morpho-blue/src/libraries/UtilsLib.sol
653:FILE: @morpho-org/morpho-blue/src/libraries/periphery/MorphoBalancesLib.sol
777:FILE: @morpho-org/morpho-blue/src/libraries/periphery/MorphoLib.sol
844:FILE: @morpho-org/morpho-blue/src/libraries/periphery/MorphoStorageLib.sol
957:FILE: contracts/interfaces/IRedeemOperator.sol
987:FILE: contracts/interfaces/IStrategy.sol
999:FILE: contracts/interfaces/IVault.sol
1098:FILE: contracts/interfaces/flashloanHelper/IFlashloanHelper.sol
1114:FILE: contracts/interfaces/midas/IDepositVault.sol
1206:FILE: contracts/interfaces/midas/IMidasOracle.sol
1216:FILE: contracts/interfaces/midas/IRedemptionVault.sol
1311:FILE: contracts/interfaces/morpho/IMorpho.sol
1356:FILE: contracts/main/Manager.sol

thinking
**Planning contract file scanning**

I'm focusing on first-party contract files under the contracts directory, excluding external ones, and planning to read each file from the workspace to extract relevant sections with line numbers using ripgrep and possibly sed for parsing.
exec
/bin/bash -lc 'rg --files -g "contracts/**/*.sol"' in /tmp/codex-zbjc3o22 succeeded in 11ms:
contracts/interfaces/midas/IRedemptionVault.sol
contracts/interfaces/midas/IDepositVault.sol
contracts/interfaces/IRedeemOperator.sol
contracts/interfaces/midas/IMidasOracle.sol
contracts/interfaces/flashloanHelper/IFlashloanHelper.sol
contracts/interfaces/IVault.sol
contracts/interfaces/IStrategy.sol
contracts/interfaces/morpho/IMorpho.sol
contracts/main/Manager.sol
contracts/main/vault/StrategyFactory.sol
contracts/main/vault/VaultYieldBasic.sol
contracts/main/libraries/StorageSlot.sol
contracts/main/common/Constants.sol
contracts/main/RedeemOperator.sol
contracts/main/libraries/Errors.sol
contracts/main/Vault.sol
contracts/main/strategies/morpho/StrategyMorphoBlue.sol

thinking
**Preparing to inspect key contracts**
exec
/bin/bash -lc "sed -n '1,220p' contracts/main/Vault.sol" in /tmp/codex-zbjc3o22 succeeded in 6ms:
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.25;

import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import "./libraries/Errors.sol";
import "./common/Constants.sol";
import "./vault/VaultYieldBasic.sol";
import "../interfaces/midas/IDepositVault.sol";
import "../interfaces/midas/IMidasOracle.sol";
/**
 * @title Vault contract
 * @author Naturelab
 * @dev This contract is the logical implementation of the vault,
 * and its main purpose is to provide users with a gateway for depositing
 * and withdrawing funds and to manage user shares.
 */

contract Vault is VaultYieldBasic, Constants {
    using SafeERC20 for IERC20;


thinking
**Identifying possible token handling bug**

Noticed that optionalDeposit uses the USDC balance even when the token is MF_ONE, potentially causing mismatched asset amounts and failed transfers; this seems a bug but not exploitable as it would just revert. I'll check related contracts like RedeemOperator next.
exec
/bin/bash -lc "sed -n '1,260p' contracts/main/RedeemOperator.sol" in /tmp/codex-zbjc3o22 succeeded in 7ms:
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.25;

import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
import {Math} from "@openzeppelin/contracts/utils/math/Math.sol";
import "@openzeppelin/contracts/utils/Address.sol";
import "../interfaces/IRedeemOperator.sol";
import "../interfaces/IVault.sol";
import {Errors as CustomErrors} from "./libraries/Errors.sol";
import "./common/Constants.sol";

/**
 * @title RedeemOperator contract
 * @author Naturelab
 * @notice Manages temporary storage of share tokens and facilitates redemption operations.
 * @dev Implements the IRedeemOperator interface and uses OpenZeppelin libraries for safety and utility functions.
 */
contract RedeemOperator is IRedeemOperator, Constants, Ownable {
exec
/bin/bash -lc "sed -n '260,520p' contracts/main/RedeemOperator.sol" in /tmp/codex-zbjc3o22 succeeded in 6ms:

        uint256 tokenBalanceBefore_ = IERC20(asset).balanceOf(address(this));
        IVault(vault).optionalRedeem(asset, totalShares_, _fairExchangePrice, address(this), address(this));
        uint256 tokenBalanceGet_ = IERC20(asset).balanceOf(address(this)) - tokenBalanceBefore_;
        uint256 assetPerShare_ = tokenBalanceGet_.mulDiv(PRECISION, totalShares_, Math.Rounding.Floor);

        address thisUser_;
        uint256 thisUserGet_;
        uint256 gasPerUser_ = _totalGasTokenAmount / _users.length;
        uint256[] memory amounts_ = new uint256[](_users.length);
        for (uint256 i = 0; i < _users.length; ++i) {
            thisUser_ = _users[i];
            if (_isRapid) {
                thisUserGet_ =
                    _withdrawalRequestInstant[_epoch][thisUser_].mulDiv(assetPerShare_, PRECISION, Math.Rounding.Floor);
            } else {
                thisUserGet_ =
                    _withdrawalRequest[_epoch][thisUser_].mulDiv(assetPerShare_, PRECISION, Math.Rounding.Floor);
            }
            // If the user's share is not enough to cover the gas, it will fail.

thinking
**Identifying logic bug in refundWithdraw**

The code deletes the withdrawal request mapping before calling refundInstantLimit, causing the refund amount to be zero and user's redeem limit not restored; this is a logic bug that could reduce user functionality but doesn't appear to pose a direct security risk.
exec
/bin/bash -lc "sed -n '1,260p' contracts/main/Manager.sol" in /tmp/codex-zbjc3o22 succeeded in 5ms:
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.25;

import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/utils/Address.sol";
import {Errors as CustomErrors} from "./libraries/Errors.sol";

/**
 * @title Manager
 * @author Naturelab
 * @dev This contract is used to manage KMS addresses for batch operations.
 */
contract Manager is Ownable {
    mapping(address => bool) public operators;

    /**
     * @dev Initializes the contract by setting the admin and adding the initial operator to the whitelist.
     * @param _admin The address of the contract owner, it will be a multisignature address.
     * @param _initialOperator The address of the initial operator.
     */

thinking
**Noting multiCall access and safety**

The manager's multiCall is freely accessible to operators by design, using Address.functionCall without value and no explicit reentrancy check, which seems acceptable. Next is to investigate the StrategyFactory.
exec
/bin/bash -lc "sed -n '1,260p' contracts/main/vault/StrategyFactory.sol" in /tmp/codex-zbjc3o22 succeeded in 6ms:
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.25;

import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
import "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";
import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol";
import "../../interfaces/IRedeemOperator.sol";
import "../../interfaces/IStrategy.sol";
import "../libraries/Errors.sol";

/**
 * @title StrategyFactory contract
 * @author Naturelab
 * @dev This contract is responsible for managing strategies in a vault.
 * It allows the owner to create, remove, and interact with different strategies.
 */
abstract contract StrategyFactory is OwnableUpgradeable {

thinking
**Reviewing proxy ownership and upgrade control**

The factory uses TransparentUpgradeableProxy with the admin as the owner’s msg.sender, meaning upgrades rely solely on that owner externally. The createStrategy function restricts implementation setting to onlyOwner, ensuring controlled upgrades. Next, reviewing VaultYieldBasic.
exec
/bin/bash -lc "sed -n '1,260p' contracts/main/vault/VaultYieldBasic.sol" in /tmp/codex-zbjc3o22 succeeded in 9ms:
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.25;

import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import "@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardTransientUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC4626Upgradeable.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
import "../../interfaces/IRedeemOperator.sol";
import "../../interfaces/IStrategy.sol";
import "../../interfaces/IVault.sol";
import "../libraries/StorageSlot.sol";
import "../libraries/Errors.sol";
import "./StrategyFactory.sol";

/**
 * @title VaultYieldBasic contract
 * @author Naturelab
 * @dev This contract is the logical implementation of the vault,
 * and its main purpose is to provide users with a gateway for depositing

thinking
**Assessing reentrancy protections**

I'm checking VaultYieldBasic functions like collectManagementFee, collectRevenue, and transferToStrategy for missing nonReentrant guards, focusing on external calls that could pose reentrancy risks. Next, I'll review the rest of the file for similar vulnerabilities.
exec
/bin/bash -lc "sed -n '260,720p' contracts/main/vault/VaultYieldBasic.sol" in /tmp/codex-zbjc3o22 succeeded in 5ms:
    function updateExchangePrice() external onlyRebalancer returns (uint256 newExchangePrice, uint256 newRevenue) {
        EXCHANGE_PRICE_CACHE.asUint256().tstore(vaultState.exchangePrice);
        vaultState.lastUpdatePriceTime = block.timestamp;
        uint256 totalSupply_ = totalSupply();
        if (totalSupply_ == 0) {
            return (vaultState.exchangePrice, vaultState.revenue);
        }
        uint256 currentNetAssets_ = underlyingTvl();
        newExchangePrice = currentNetAssets_ * PRECISION / totalSupply_;
        if (newExchangePrice > vaultState.revenueExchangePrice) {
            if (vaultState.revenueExchangePrice == 0) {
                vaultState.revenueExchangePrice = newExchangePrice;
                vaultState.exchangePrice = newExchangePrice;
                return (vaultState.exchangePrice, vaultState.revenue);
            }
            uint256 newProfit_ = currentNetAssets_ - ((vaultState.revenueExchangePrice * totalSupply_) / PRECISION);
            newRevenue = (newProfit_ * vaultParams.revenueRate) / FEE_DENOMINATOR;
            vaultState.revenue += newRevenue;
            uint256 oldExchangePrice_ = vaultState.exchangePrice;
            vaultState.exchangePrice = ((currentNetAssets_ - newRevenue) * PRECISION) / totalSupply_;


thinking
**Analyzing potential trust and call restrictions**

The optionalRedeem function relies on a fairExchangePrice set by RedeemOperator, which must stay within 3% of the vault price, mitigating some manipulation risk. Calls are restricted so only RedeemOperator can invoke optionalRedeem directly, preventing the operator from bypassing controls by calling it alone. However, the operator within RedeemOperator could still misuse confirmWithdrawal flow, and transferToStrategy’s external call after allowance increase could pose risks if strategy is malicious.
thinking
**Identifying allowance accumulation and limited reentrancy risks**

The strategy’s allowance increments without reset, allowing a malicious strategy to gradually drain tokens if compromised. The transferToStrategy function lacks a reentrancy guard, but caller restrictions and protected deposit logic limit harmful reentrancy paths, reducing likely impact. The focus now is to review related strategy implementations for further concerns.
exec
/bin/bash -lc "sed -n '1,260p' contracts/main/strategies/morpho/StrategyMorphoBlue.sol" in /tmp/codex-zbjc3o22 succeeded in 6ms:
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.25;

import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
import "@morpho-org/morpho-blue/src/libraries/periphery/MorphoBalancesLib.sol";
import "@morpho-org/morpho-blue/src/libraries/periphery/MorphoStorageLib.sol";
import "@morpho-org/morpho-blue/src/libraries/MarketParamsLib.sol";
import "@morpho-org/morpho-blue/src/interfaces/IOracle.sol";
import "../../../interfaces/IStrategy.sol";
import "../../../interfaces/midas/IDepositVault.sol";
import "../../../interfaces/midas/IRedemptionVault.sol";
import "../../../interfaces/midas/IMidasOracle.sol";
import "../../../interfaces/morpho/IMorpho.sol";
import "../../libraries/Errors.sol";
import "../../common/Constants.sol";
/**
 * @title StrategyMorphoBlue contract
 * @author Naturelab
exec
/bin/bash -lc "sed -n '260,620p' contracts/main/strategies/morpho/StrategyMorphoBlue.sol" in /tmp/codex-zbjc3o22 succeeded in 6ms:
     * @dev Get the amount of assets in all lending protocols involved in this contract for the strategy pool.
     * @return netAssets The total amount of net assets.
     */
    function getNetAssets() public view override returns (uint256) {
        // decimal 6
        uint256 mFONEAMount_ = collateralAssetsUser() + IERC20(MF_ONE).balanceOf(address(this));
        uint256 usdcDebt_ = borrowAssetsUser();

        uint256 usdcAmount_ = IERC20(USDC).balanceOf(address(this));

        // statistic redeem request (Redeem Pending)
        RedeemRequest memory redeemRequest = IRedemptionVault(MIDAS_REDEEM).redeemRequests(getStorage().redeemRequestId);
        uint256 usdcPending_ = 0;
        if (redeemRequest.status == RedeemRequestStatus.Pending) {
            usdcPending_ = redeemRequest.mTokenRate * redeemRequest.amountMToken / (PRECISION * 1e12);
        }

        // statistic deposit request (Deposit Pending)
        MintRequest memory mintRequest = IDepositVault(MIDAS_MINT).mintRequests(getStorage().mintRequestId);
        uint256 depositedUsdcAmount_ = 0;


thinking
**Identifying oracle manipulation risk**

The code relies on an oracle for asset conversion and share pricing, which poses a potential vulnerability if the oracle price can be manipulated, enabling unfair minting or value inflation.
thinking
**Locating oracle interface**

I'm planning to review the IMidasOracle interface to understand how price data is provided and verify its security assumptions.
exec
/bin/bash -lc "sed -n '1,120p' contracts/interfaces/midas/IMidasOracle.sol" in /tmp/codex-zbjc3o22 succeeded in 6ms:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.25;

interface IMidasOracle {
    function lastAnswer() external view returns (int256);
}


thinking
**Identifying oracle staleness risk**

The oracle usage lacks staleness checks, allowing stale or manipulated prices to misprice deposits and vault TVL. This enables attacks inflating share minting by manipulating MF_ONE prices before redeeming for USDC.
thinking
**Detailing reentrancy and logic issues**

A key reentrancy risk exists in revenue collection where external token calls happen before state update, potentially allowing repeated revenue drains if feeReceiver is malicious and token supports reentrancy. Also noted are vault share accounting inconsistencies and a refund logic bug enabling operator-caused denial of rapid withdraw refunds, though with limited exploitability due to access control.
exec
/bin/bash -lc "sed -n '1,200p' contracts/main/common/Constants.sol" in /tmp/codex-zbjc3o22 succeeded in 7ms:
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.25;

abstract contract Constants {
    address public constant USDC = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48;
    address public constant MF_ONE = 0x238a700eD6165261Cf8b2e544ba797BC11e466Ba;
}


thinking
**Identifying misuse of transient storage**

Noticed the previous exchange price is stored using ephemeral EIP-1153 transient storage, which resets each transaction, making retrieval outside the current transaction unreliable; this likely breaks expected logic but isn’t a security vulnerability.
thinking
**Finding unchecked owner-controlled fee causing potential reverts**

The instant fee can be set by the owner without bounds, allowing values over 100% that cause underflow and revert deposits, effectively blocking deposits though owner trust limits exploitation potential.
exec
/bin/bash -lc "sed -n '1,200p' contracts/main/libraries/StorageSlot.sol" in /tmp/codex-zbjc3o22 succeeded in 6ms:
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (utils/StorageSlot.sol)
// This file was procedurally generated from scripts/generate/templates/StorageSlot.js.

pragma solidity ^0.8.25;

/**
 * @dev Library for reading and writing primitive types to specific storage slots.
 *
 * Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts.
 * This library helps with reading and writing to such slots without the need for inline assembly.
 *
 * The functions in this library return Slot structs that contain a `value` member that can be used to read or write.
 *
 * Example usage to set ERC-1967 implementation slot:
 * ```solidity
 * contract ERC1967 {
 *     // Define the slot. Alternatively, use the SlotDerivation library to derive the slot.
 *     bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;
 *


thinking
**Assessing oracle manipulation and access control risks**

Identified oracle manipulation risks due to stale price checks in MidasOracle and StrategyMorphoBlue, with unclear staleness protections. Also noted that RedeemOperator.confirmWithdrawal might redeem shares without verifying holding them, posing a potential accounting risk.
thinking
**Identifying unbounded approvals and potential share sweeping risks**

Noted that strategies use unlimited token approvals, risking token drains if strategies or proxies become malicious. Also found that the owner-only sweep function can transfer vault shares, potentially enabling admin to sweep user shares, posing a significant trust risk despite access control.
exec
/bin/bash -lc "sed -n '1,220p' contracts/main/libraries/Errors.sol" in /tmp/codex-zbjc3o22 succeeded in 6ms:
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.25;

library Errors {
    // Revert Errors:
    error CallerNotOperator(); // 0xa5523ee5
    error CallerNotRebalancer(); // 0xbd72e291
    error CallerNotVault(); // 0xedd7338f
    error CallerNotMinter(); // 0x5eee367a
    error ExceededExchangePriceRate(); // 0xc8d1ba3d
    error ExceededMaxDeposit(); // 0x3bc9ae09
    error ExceededRedeemInstantLimit(); // 0x1cdb58a6
    error ExitFeeRateTooHigh(); // 0xf4d1caab
    error FlashloanInProgress(); // 0x772ac4e8
    error IncorrectState(); // 0x508c9390
    error InfoExpired(); // 0x4ddf4a65
    error InsufficientDepositAmount(); // 0x517d9d34
    error InvalidAccount(); // 0x6d187b28
    error InvalidAdapter(); // 0xfbf66df1
    error InvalidAdmin(); // 0xb5eba9f0


thinking
**Reviewing token and ownership logic for edge cases**

I'm verifying token address checks, owner setup via proxy initialization, and token decimals handling to ensure no overflow risk or access issues; found them acceptable so far. I also considered withdrawal and redeem logic against potential share-transfer edge cases but didn't find apparent flaws.
thinking
**Identifying oracle manipulation risk via price usage**

I analyzed how vault deposit shares depend on an oracle price that lacks staleness checks, creating risk of inflated share minting if the oracle is manipulated. This is a classic oracle manipulation vulnerability tied to the unverified use of the on-chain Midas oracle price in deposit calculations.
exec
/bin/bash -lc "rg \"delegatecall|call\\(\" contracts/main -n" in /tmp/codex-zbjc3o22 exited 1 in 9ms:



thinking
**Identifying potential rebalancer price manipulation**

The rebalancer can call updateExchangePrice and may manipulate exchangePrice to affect totalAssets valuation, potentially enabling cheap deposit minting; access control limits this but it's worth deeper review.
thinking
**Confirming rebalancer access control and checking strategy calls**

The updateExchangePrice is properly restricted to the rebalancer, ruling out unauthorized price updates. Next, I'm focusing on the StrategyMorphoBlue contract since its view methods might involve external calls affecting state, which could have subtle implications.
exec
/bin/bash -lc "sed -n '1,220p' contracts/interfaces/midas/IDepositVault.sol" in /tmp/codex-zbjc3o22 succeeded in 6ms:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.25;

enum MintRequestStatus {
    Pending,
    Processed,
    Canceled
}

struct MintRequest {
    address sender;
    address tokenIn;
    MintRequestStatus status;
    uint256 depositedUsdAmount;
    uint256 usdAmountWithoutFees;
    uint256 tokenOutRate;
}

interface IDepositVault {
    /**
exec
/bin/bash -lc "sed -n '1,220p' contracts/interfaces/midas/IRedemptionVault.sol" in /tmp/codex-zbjc3o22 succeeded in 6ms:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.25;

enum RedeemRequestStatus {
    Pending,
    Processed,
    Canceled
}

/**
 * @notice Redeem request scruct
 * @param sender user address who create
 * @param tokenOut tokenOut address
 * @param status request status
 * @param amountMToken amount mToken
 * @param mTokenRate rate of mToken at request creation time
 * @param tokenOutRate rate of tokenOut at request creation time
 */
struct RedeemRequest {
    address sender;


thinking
**Identifying potential access control and functional issues**

The main vulnerability focus is oracle manipulation, but there’s a functional bug where rapid redeem checks userTotalSupply per account ignoring transfers, allowing inconsistent rapid redeem limits; also, a key access control risk exists if the implementation contract’s initialize function is called directly, letting an attacker set vault and rebalancer addresses improperly.
thinking
**Highlighting significant upgradeability and oracle risks**

I identified a critical upgradeability risk where proxy admin rights remain with the original owner after ownership transfers, letting the old owner retain upgrade control and potentially drain funds. Also, Midas oracle usage lacks staleness or sanity checks, posing a high-severity oracle manipulation risk affecting share minting and asset valuation.
exec
/bin/bash -lc "nl -ba contracts/main/Vault.sol | sed -n '30,140p'" in /tmp/codex-zbjc3o22 succeeded in 7ms:
    30	    // Based on shares
    31	    mapping(uint256 => mapping(address => uint256)) internal userRedeemInstantLimitEpoch;
    32	    mapping(address => uint256) internal userTotalSupply;
    33	    mapping(address => uint256) internal userTotalRedeem;
    34	
    35	    uint256 public prevEpoch;
    36	    uint256 public epoch;
    37	    uint256 public redeemInstantLimit;
    38	    uint256 public instantFee;
    39	    bool public depositPaused;
    40	
    41	    constructor(uint256 _minMarketCapacity) VaultYieldBasic(1e6, _minMarketCapacity) {}
    42	
    43	    function underlyingTvl() public override returns (uint256) {
    44	        uint256 usdcBal_ = IERC20(USDC).balanceOf(address(this));
    45	        uint256 totalStrategy_ = totalStrategiesAssets();
    46	        uint256 mFONEBal_ = IERC20(MF_ONE).balanceOf(address(this));
    47	        // mFONEBal_ = mFONEBal_ / 1e12;
    48	        int256 price_ = IMidasOracle(MIDAS_ORACLE).lastAnswer();
    49	        if (price_ < 0) revert Errors.PriceBelowZero();

thinking
**Noting key lines for variables**

I identified line numbers related to underlyingTvl, optionalDepositShares, and convertMFONEtoUSDC in StrategyMorphoBlue, preparing for targeted code inspection or modification.
exec
/bin/bash -lc "nl -ba contracts/main/strategies/morpho/StrategyMorphoBlue.sol | sed -n '300,420p'" in /tmp/codex-zbjc3o22 succeeded in 9ms:
   300	
   301	    function borrow(address _asset, uint256 _amount) external onlyRebalancer {
   302	        _borrow(_asset, _amount);
   303	        emit Borrow(_asset, _amount);
   304	    }
   305	
   306	    function repay(address _asset, uint256 _amount) external onlyRebalancer {
   307	        _repay(_asset, _amount);
   308	        emit Repay(_asset, _amount);
   309	    }
   310	
   311	    function supplyAssetsUser() public view returns (uint256 totalSupplyAssets) {
   312	        totalSupplyAssets = IMorpho(MORPHO_POOL).expectedSupplyAssets(getMarketParams(), address(this));
   313	    }
   314	
   315	    function collateralAssetsUser() public view returns (uint256 totalCollateralAssets) {
   316	        bytes32[] memory slots = new bytes32[](1);
   317	        slots[0] =
   318	            MorphoStorageLib.positionBorrowSharesAndCollateralSlot(MarketParamsLib.id(getMarketParams()), address(this));
   319	        bytes32[] memory values = IMorpho(MORPHO_POOL).extSloads(slots);

thinking
**Identifying upgradeability mismatch**

I'm focusing on upgradeability issues by checking proxy admin usage and will inspect StrategyFactory.createStrategy with specific line references next.
exec
/bin/bash -lc "nl -ba contracts/main/vault/StrategyFactory.sol | sed -n '60,160p'" in /tmp/codex-zbjc3o22 succeeded in 6ms:
    60	    function strategyAddress(uint256 _offset) public view returns (address) {
    61	        return _strategies.at(_offset);
    62	    }
    63	
    64	    /**
    65	     * @dev Returns the total assets managed by a specific strategy.
    66	     * @param _offset The index of the strategy.
    67	     * @return totalAssets_ The total assets managed by the strategy.
    68	     */
    69	    function strategyAssets(uint256 _offset) public returns (uint256 totalAssets_) {
    70	        totalAssets_ = IStrategy(_strategies.at(_offset)).getNetAssets();
    71	    }
    72	
    73	    /**
    74	     * @dev Returns the total assets managed by all strategies combined.
    75	     * @return totalAssets_ The total assets managed by all strategies.
    76	     */
    77	    function totalStrategiesAssets() public returns (uint256 totalAssets_) {
    78	        uint256 length_ = strategiesCount();
    79	        address[] memory strategies_ = strategies();

thinking
**Identifying refundWithdraw bug lines**

I'm extracting lines 90-93 to examine the RedeemOperator refundWithdraw issue more closely.
exec
/bin/bash -lc "nl -ba contracts/main/RedeemOperator.sol | sed -n '300,380p'" in /tmp/codex-zbjc3o22 succeeded in 6ms:
   300	                if (!_pendingWithdrawersInstant[_epoch].contains(_users[i])) {
   301	                    revert CustomErrors.InvalidWithdrawalUser();
   302	                }
   303	                IERC20(vault).safeTransfer(_users[i], _withdrawalRequestInstant[_epoch][_users[i]]);
   304	                _pendingWithdrawersInstant[_epoch].remove(_users[i]);
   305	                delete _withdrawalRequestInstant[_epoch][_users[i]];
   306	
   307	                IVault(vault).refundInstantLimit(_users[i], _withdrawalRequestInstant[_epoch][_users[i]]);
   308	            } else {
   309	                if (!_pendingWithdrawers[_epoch].contains(_users[i])) revert CustomErrors.InvalidWithdrawalUser();
   310	                IERC20(vault).safeTransfer(_users[i], _withdrawalRequest[_epoch][_users[i]]);
   311	                _pendingWithdrawers[_epoch].remove(_users[i]);
   312	                delete _withdrawalRequest[_epoch][_users[i]];
   313	            }
   314	        }
   315	    }
   316	
   317	    function cancelWithdraw(address _user, bool _isRapid, uint256 _epoch) external onlyVault {
   318	        if (_isRapid) {
   319	            if (!_pendingWithdrawersInstant[_epoch].contains(_user)) revert CustomErrors.InvalidWithdrawalUser();


thinking
**Assessing potential vulnerabilities**

I evaluated unchecked return values, access controls, and external call patterns, finding no critical issues but noting a possible omission in Vault.optionalDeposit where MF_ONE tokens are transferred without conversion or decimal handling. I'll aim to highlight 2–3 findings for the review.
thinking
**Preparing detailed vulnerability findings**

I've analyzed design and oracle use, identifying three key issues: unvalidated oracle price risks share mispricing and drain, strategy proxy admin tied only to creator enabling upgrade exploits, and refund logic deleting withdrawal data before restoring limits causing potential user denial of service. I'll generate a precise JSON report capturing severity, exploit scenarios, recommendations, evidence, and locations.
codex
{"no_findings":false,"summary":"Found 3 issues: oracle pricing used without staleness/validity checks for MF_ONE valuation, strategy proxy admin not tied to current ownership, and a rapid refund accounting bug that never restores instant redeem limits.","findings":[{"severity":"high","category":"oracle","title":"MF_ONE valuation uses unvalidated oracle price for share minting and TVL","exploit_scenario":"An attacker who can manipulate or serve a stale/high price from `IMidasOracle.lastAnswer()` can deposit MF_ONE and receive inflated share issuance. Those shares can later be redeemed for USDC at the (lower) fair exchange price, draining vault assets. The same oracle value is also used to compute TVL/exchange price, amplifying the pricing distortion.","recommendation":"Use an oracle interface that exposes round data (e.g., `latestRoundData`) with staleness checks, enforce max deviation bounds, and/or use TWAPs. Consider rejecting deposits and price updates when the oracle is stale or outside expected bounds.","evidence":"MF_ONE deposits and TVL rely on `IMidasOracle(MIDAS_ORACLE).lastAnswer()` with only a non-negative check and no staleness or bounds validation.","locations":["contracts/main/Vault.sol:43","contracts/main/Vault.sol:96","contracts/main/strategies/morpho/StrategyMorphoBlue.sol:380"]},{"severity":"medium","category":"upgradeability","title":"Strategy proxy admin fixed to creator, not current owner","exploit_scenario":"Strategies are deployed via `TransparentUpgradeableProxy` with admin set to `msg.sender`. If vault ownership changes later, the old owner retains proxy admin rights and can still upgrade strategy implementations to malicious code that drains assets, while the new owner cannot upgrade.","recommendation":"Use a dedicated `ProxyAdmin` controlled by current ownership, or track the proxy admin and update it on ownership transfers. Avoid setting the proxy admin to the caller directly.","evidence":"`createStrategy` sets proxy admin to `msg.sender` without any linkage to `OwnableUpgradeable` ownership changes.","locations":["contracts/main/vault/StrategyFactory.sol:90"]},{"severity":"low","category":"other","title":"Rapid withdrawal refunds do not restore instant redeem limits","exploit_scenario":"When a rapid withdrawal is refunded, the vault’s instant redeem limit for the user is not restored because the amount is deleted before being passed to `refundInstantLimit`. This can permanently reduce a user’s rapid redeem allowance within the epoch and be used by the operator to grief users.","recommendation":"Cache the withdrawal amount before deletion and call `refundInstantLimit` with that value, or reorder the operations to refund the limit first.","evidence":"`_withdrawalRequestInstant` is deleted before calling `refundInstantLimit`, so the refund amount is always zero.","locations":["contracts/main/RedeemOperator.sol:300"]}]}
tokens used
67,578
Metadata
{
    "codex": {
        "ran_at": "2026-01-22T08:40:19.295558+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 66,
        "import_count": 87,
        "first_party_contracts_count": 28
    },
    "summary": "Found 3 issues: oracle pricing used without staleness/validity checks for MF_ONE valuation, strategy proxy admin not tied to current ownership, and a rapid refund accounting bug that never restores instant redeem limits.",
    "raw_final": {
        "summary": "Found 3 issues: oracle pricing used without staleness/validity checks for MF_ONE valuation, strategy proxy admin not tied to current ownership, and a rapid refund accounting bug that never restores instant redeem limits.",
        "findings": [
            {
                "title": "MF_ONE valuation uses unvalidated oracle price for share minting and TVL",
                "category": "oracle",
                "evidence": "MF_ONE deposits and TVL rely on `IMidasOracle(MIDAS_ORACLE).lastAnswer()` with only a non-negative check and no staleness or bounds validation.",
                "severity": "high",
                "locations": [
                    "contracts/main/Vault.sol:43",
                    "contracts/main/Vault.sol:96",
                    "contracts/main/strategies/morpho/StrategyMorphoBlue.sol:380"
                ],
                "recommendation": "Use an oracle interface that exposes round data (e.g., `latestRoundData`) with staleness checks, enforce max deviation bounds, and/or use TWAPs. Consider rejecting deposits and price updates when the oracle is stale or outside expected bounds.",
                "exploit_scenario": "An attacker who can manipulate or serve a stale/high price from `IMidasOracle.lastAnswer()` can deposit MF_ONE and receive inflated share issuance. Those shares can later be redeemed for USDC at the (lower) fair exchange price, draining vault assets. The same oracle value is also used to compute TVL/exchange price, amplifying the pricing distortion."
            },
            {
                "title": "Strategy proxy admin fixed to creator, not current owner",
                "category": "upgradeability",
                "evidence": "`createStrategy` sets proxy admin to `msg.sender` without any linkage to `OwnableUpgradeable` ownership changes.",
                "severity": "medium",
                "locations": [
                    "contracts/main/vault/StrategyFactory.sol:90"
                ],
                "recommendation": "Use a dedicated `ProxyAdmin` controlled by current ownership, or track the proxy admin and update it on ownership transfers. Avoid setting the proxy admin to the caller directly.",
                "exploit_scenario": "Strategies are deployed via `TransparentUpgradeableProxy` with admin set to `msg.sender`. If vault ownership changes later, the old owner retains proxy admin rights and can still upgrade strategy implementations to malicious code that drains assets, while the new owner cannot upgrade."
            },
            {
                "title": "Rapid withdrawal refunds do not restore instant redeem limits",
                "category": "other",
                "evidence": "`_withdrawalRequestInstant` is deleted before calling `refundInstantLimit`, so the refund amount is always zero.",
                "severity": "low",
                "locations": [
                    "contracts/main/RedeemOperator.sol:300"
                ],
                "recommendation": "Cache the withdrawal amount before deletion and call `refundInstantLimit` with that value, or reorder the operations to refund the limit first.",
                "exploit_scenario": "When a rapid withdrawal is refunded, the vault\u2019s instant redeem limit for the user is not restored because the amount is deleted before being passed to `refundInstantLimit`. This can permanently reduce a user\u2019s rapid redeem allowance within the epoch and be used by the operator to grief users."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
6
Selfdestruct
0
CREATE2
2
CALL-family (heavy)
23
EXT*/BALANCE
14
Total opcodes
14003
Flags
delegatecall_present create_opcodes_present heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: ISZERO
0000000a: PUSH2 0x001a
0000000d: JUMPI
0000000e: JUMPDEST
0000000f: CALLDATASIZE
00000010: ISZERO
00000011: PUSH2 0x0018
00000014: JUMPI
00000015: PUSH0
00000016: DUP1
00000017: REVERT
00000018: JUMPDEST
00000019: STOP
0000001a: JUMPDEST
0000001b: PUSH0
0000001c: DUP1
0000001d: CALLDATALOAD
0000001e: PUSH1 0xe0
00000020: SHR
00000021: DUP1
00000022: PUSH4 0x01e1d114
00000027: EQ
00000028: PUSH2 0x3a50
0000002b: JUMPI
0000002c: DUP1
0000002d: PUSH4 0x02befd24
00000032: EQ
00000033: PUSH2 0x3a2e
00000036: JUMPI
00000037: DUP1
00000038: PUSH4 0x030d624a
0000003d: EQ
0000003e: PUSH2 0x39d3
00000041: JUMPI
00000042: DUP1
00000043: PUSH4 0x06fdde03
00000048: EQ
00000049: PUSH2 0x393b
0000004c: JUMPI
0000004d: DUP1
0000004e: PUSH4 0x079c3b88
00000053: EQ
00000054: PUSH2 0x3921
00000057: JUMPI
00000058: DUP1
00000059: PUSH4 0x07a2d13a
0000005e: EQ
0000005f: PUSH2 0x2363
00000062: JUMPI
00000063: DUP1
00000064: PUSH4 0x09299dfb
00000069: EQ
0000006a: PUSH2 0x3904
0000006d: JUMPI
0000006e: DUP1
0000006f: PUSH4 0x095ea7b3
00000074: EQ
00000075: PUSH2 0x3855
00000078: JUMPI
00000079: DUP1
0000007a: PUSH4 0x0a28a477
0000007f: EQ
00000080: PUSH2 0x3807
00000083: JUMPI
00000084: DUP1
00000085: PUSH4 0x0d8ea779
0000008a: EQ
0000008b: PUSH2 0x37d9
0000008e: JUMPI
0000008f: DUP1
00000090: PUSH4 0x0f81894f
00000095: EQ
00000096: PUSH2 0x37a1
00000099: JUMPI
0000009a: DUP1
0000009b: PUSH4 0x107703ab
000000a0: EQ
000000a1: PUSH2 0x3788
000000a4: JUMPI
000000a5: DUP1
000000a6: PUSH4 0x175188e8
000000ab: EQ
000000ac: PUSH2 0x36c1
000000af: JUMPI
000000b0: DUP1
000000b1: PUSH4 0x17f7a13f
000000b6: EQ
000000b7: PUSH2 0x362c
000000ba: JUMPI
000000bb: DUP1
000000bc: PUSH4 0x18160ddd
000000c1: EQ
000000c2: PUSH2 0x3603
000000c5: JUMPI
000000c6: DUP1
000000c7: PUSH4 0x23b872dd
000000cc: EQ
000000cd: PUSH2 0x35cb
000000d0: JUMPI
000000d1: DUP1
000000d2: PUSH4 0x2489f7f7
000000d7: EQ
000000d8: PUSH2 0x35af
000000db: JUMPI
000000dc: DUP1
000000dd: PUSH4 0x25bd4142
000000e2: EQ
000000e3: PUSH2 0x3554
000000e6: JUMPI
000000e7: DUP1
000000e8: PUSH4 0x266f8dc9
000000ed: EQ
000000ee: PUSH2 0x34f8
000000f1: JUMPI
000000f2: DUP1
000000f3: PUSH4 0x29c23e4a
000000f8: EQ
000000f9: PUSH2 0x34cb
000000fc: JUMPI
000000fd: DUP1
000000fe: PUSH4 0x313ce567
00000103: EQ
00000104: PUSH2 0x34a6
00000107: JUMPI
00000108: DUP1
00000109: PUSH4 0x32507a5f
0000010e: EQ
0000010f: PUSH2 0x31d8
00000112: JUMPI
00000113: DUP1
00000114: PUSH4 0x34069157
00000119: EQ
0000011a: PUSH2 0x317b
0000011d: JUMPI
0000011e: DUP1
0000011f: PUSH4 0x38d52e0f
00000124: EQ
00000125: PUSH2 0x3147
00000128: JUMPI
00000129: DUP1
0000012a: PUSH4 0x3b0426db
0000012f: EQ
00000130: PUSH2 0x310a
00000133: JUMPI
00000134: DUP1
00000135: PUSH4 0x3bfaa7e3
0000013a: EQ
0000013b: PUSH2 0x30c0
0000013e: JUMPI
0000013f: DUP1
00000140: PUSH4 0x3c5280e4
00000145: EQ
00000146: PUSH2 0x3063
00000149: JUMPI
0000014a: DUP1
0000014b: PUSH4 0x3e9491a2
00000150: EQ
00000151: PUSH2 0x3046
00000154: JUMPI
00000155: DUP1
00000156: PUSH4 0x3f4ba83a
0000015b: EQ
0000015c: PUSH2 0x2fd1
0000015f: JUMPI
00000160: DUP1
00000161: PUSH4 0x402d267d
00000166: EQ
00000167: PUSH2 0x2fa7
0000016a: JUMPI
0000016b: DUP1
0000016c: PUSH4 0x439fab91
00000171: EQ
00000172: PUSH2 0x2433
00000175: JUMPI
00000176: DUP1
00000177: PUSH4 0x4a8c110a
0000017c: EQ
0000017d: PUSH2 0x239f
00000180: JUMPI
00000181: DUP1
00000182: PUSH4 0x4b59b82e
00000187: EQ
00000188: PUSH2 0x2368
0000018b: JUMPI
0000018c: DUP1
0000018d: PUSH4 0x4cdad506
00000192: EQ
00000193: PUSH2 0x2363
00000196: JUMPI
00000197: DUP1
00000198: PUSH4 0x539ffb77
0000019d: EQ
0000019e: PUSH2 0x228a
000001a1: JUMPI
000001a2: DUP1
000001a3: PUSH4 0x53fdfab0
000001a8: EQ
000001a9: PUSH2 0x2228
000001ac: JUMPI
000001ad: DUP1
000001ae: PUSH4 0x5b00f4a2
000001b3: EQ
000001b4: PUSH2 0x220a
000001b7: JUMPI
000001b8: DUP1
000001b9: PUSH4 0x5c975abb
000001be: EQ
000001bf: PUSH2 0x21db
000001c2: JUMPI
000001c3: DUP1
000001c4: PUSH4 0x5fa7b584
000001c9: EQ
000001ca: PUSH2 0x2184
000001cd: JUMPI
000001ce: DUP1
000001cf: PUSH4 0x61dd3124
000001d4: EQ
000001d5: PUSH2 0x1fb6
000001d8: JUMPI
000001d9: DUP1
000001da: PUSH4 0x6e553f65
000001df: EQ
000001e0: PUSH2 0x1d7c
000001e3: JUMPI
000001e4: DUP1
000001e5: PUSH4 0x70a08231
000001ea: EQ
000001eb: PUSH2 0x06c0
000001ee: JUMPI
000001ef: DUP1
000001f0: PUSH4 0x715018a6
000001f5: EQ
000001f6: PUSH2 0x1d13
000001f9: JUMPI
000001fa: DUP1
000001fb: PUSH4 0x7a825e07
00000200: EQ
00000201: PUSH2 0x1c82
00000204: JUMPI
00000205: DUP1
00000206: PUSH4 0x7f6c81b7
0000020b: EQ
0000020c: PUSH2 0x1c24
0000020f: JUMPI
00000210: DUP1
00000211: PUSH4 0x8152cd18
00000216: EQ
00000217: PUSH2 0x1b92
0000021a: JUMPI
0000021b: DUP1
0000021c: PUSH4 0x8456cb59
00000221: EQ
00000222: PUSH2 0x1afb
00000225: JUMPI
00000226: DUP1
00000227: PUSH4 0x8505d0a1
0000022c: EQ
0000022d: PUSH2 0x1aa6
00000230: JUMPI
00000231: DUP1
00000232: PUSH4 0x88bb4f60
00000237: EQ
00000238: PUSH2 0x1770
0000023b: JUMPI
0000023c: DUP1
0000023d: PUSH4 0x89a30271
00000242: EQ
00000243: PUSH2 0x1741
00000246: JUMPI
00000247: DUP1
00000248: PUSH4 0x8da5cb5b
0000024d: EQ
0000024e: PUSH2 0x170c
00000251: JUMPI
00000252: DUP1
00000253: PUSH4 0x8e92b184
00000258: EQ
00000259: PUSH2 0x15d4
0000025c: JUMPI
0000025d: DUP1
0000025e: PUSH4 0x900cf0cf
00000263: EQ
00000264: PUSH2 0x15b6
00000267: JUMPI
00000268: DUP1
00000269: PUSH4 0x94bf804d
0000026e: EQ
0000026f: PUSH2 0x1579
00000272: JUMPI
00000273: DUP1
00000274: PUSH4 0x95d89b41
00000279: EQ
0000027a: PUSH2 0x14a9
0000027d: JUMPI
0000027e: DUP1
0000027f: PUSH4 0x98e1862c
00000284: EQ
00000285: PUSH2 0x148b
00000288: JUMPI
00000289: DUP1
0000028a: PUSH4 0x9b70e945
0000028f: EQ
00000290: PUSH2 0x142b
00000293: JUMPI
00000294: DUP1
00000295: PUSH4 0x9c016ffd
0000029a: EQ
0000029b: PUSH2 0x1377
0000029e: JUMPI
0000029f: DUP1
000002a0: PUSH4 0x9e65741e
000002a5: EQ
000002a6: PUSH2 0x1359
000002a9: JUMPI
000002aa: DUP1
000002ab: PUSH4 0xa7b73254
000002b0: EQ
000002b1: PUSH2 0x10cd
000002b4: JUMPI
000002b5: DUP1
000002b6: PUSH4 0xa9059cbb
000002bb: EQ
000002bc: PUSH2 0x109b
000002bf: JUMPI
000002c0: DUP1
000002c1: PUSH4 0xaa6ca808
000002c6: EQ
000002c7: PUSH2 0x1025
000002ca: JUMPI
000002cb: DUP1
000002cc: PUSH4 0xad35530b
000002d1: EQ
000002d2: PUSH2 0x0ef2
000002d5: JUMPI
000002d6: DUP1
000002d7: PUSH4 0xb046a449
000002dc: EQ
000002dd: PUSH2 0x0e5e
000002e0: JUMPI
000002e1: DUP1
000002e2: PUSH4 0xb0caa891
000002e7: EQ
000002e8: PUSH2 0x0e25
000002eb: JUMPI
000002ec: DUP1
000002ed: PUSH4 0xb2db983a
000002f2: EQ
000002f3: PUSH2 0x0d8e
000002f6: JUMPI
000002f7: DUP1
000002f8: PUSH4 0xb3d7f6b9
000002fd: EQ
000002fe: PUSH2 0x0d2b
00000301: JUMPI
00000302: DUP1
00000303: PUSH4 0xb460af94
00000308: EQ
00000309: PUSH2 0x0d26
0000030c: JUMPI
0000030d: DUP1
0000030e: PUSH4 0xba087652
00000313: EQ
00000314: PUSH2 0x0d26
00000317: JUMPI
00000318: DUP1
00000319: PUSH4 0xba8bfa2a
0000031e: EQ
0000031f: PUSH2 0x08c0
00000322: JUMPI
00000323: DUP1
00000324: PUSH4 0xbf6590a4
00000329: EQ
0000032a: PUSH2 0x08a5
0000032d: JUMPI
0000032e: DUP1
0000032f: PUSH4 0xc0587a95
00000334: EQ
00000335: PUSH2 0x0868
00000338: JUMPI
00000339: DUP1
0000033a: PUSH4 0xc47d51be
0000033f: EQ
00000340: PUSH2 0x084a
00000343: JUMPI
00000344: DUP1
00000345: PUSH4 0xc63d75b6
0000034a: EQ
0000034b: PUSH2 0x0824
0000034e: JUMPI
0000034f: DUP1
00000350: PUSH4 0xc69bebe4
00000355: EQ
00000356: PUSH2 0x07a5
00000359: JUMPI
0000035a: DUP1
0000035b: PUSH4 0xc6e6f592
00000360: EQ
00000361: PUSH2 0x04cc
00000364: JUMPI
00000365: DUP1
00000366: PUSH4 0xce96cb77
0000036b: EQ
0000036c: PUSH2 0x075f
0000036f: JUMPI
00000370: DUP1
00000371: PUSH4 0xd48bfca7
00000376: EQ
00000377: PUSH2 0x06e4
0000037a: JUMPI
0000037b: DUP1
0000037c: PUSH4 0xd905777e
00000381: EQ
00000382: PUSH2 0x06c0
00000385: JUMPI
00000386: DUP1
00000387: PUSH4 0xd9f9027f
0000038c: EQ
0000038d: PUSH2 0x065d
00000390: JUMPI
00000391: DUP1
00000392: PUSH4 0xdc6ffecc
00000397: EQ
00000398: PUSH2 0x0602
0000039b: JUMPI
0000039c: DUP1
0000039d: PUSH4 0xdd62ed3e
000003a2: EQ
000003a3: PUSH2 0x05ba
000003a6: JUMPI
000003a7: DUP1
000003a8: PUSH4 0xe3ea7c6a
000003ad: EQ
000003ae: PUSH2 0x057f
000003b1: JUMPI
000003b2: DUP1
000003b3: PUSH4 0xe46e9a02
000003b8: EQ
000003b9: PUSH2 0x055c
000003bc: JUMPI
000003bd: DUP1
000003be: PUSH4 0xed14d17e
000003c3: EQ
000003c4: PUSH2 0x04d1
000003c7: JUMPI
000003c8: DUP1
000003c9: PUSH4 0xef8b30f7
000003ce: EQ
000003cf: PUSH2 0x04cc
000003d2: JUMPI
000003d3: DUP1
000003d4: PUSH4 0xf0f015e9
000003d9: EQ
000003da: PUSH2 0x0497
000003dd: JUMPI
000003de: DUP1
000003df: PUSH4 0xf2fde38b
000003e4: EQ
000003e5: PUSH2 0x046a
000003e8: JUMPI
000003e9: DUP1
000003ea: PUSH4 0xf4ad8788
000003ef: EQ
000003f0: PUSH2 0x044d
000003f3: JUMPI
000003f4: PUSH4 0xffa1ad74
000003f9: EQ
000003fa: PUSH2 0x0403
000003fd: JUMPI
000003fe: POP
000003ff: PUSH2 0x000e
00000402: JUMP
00000403: JUMPDEST
00000404: CALLVALUE
00000405: PUSH2 0x044a
00000408: JUMPI
00000409: DUP1
0000040a: PUSH1 0x03
0000040c: NOT
0000040d: CALLDATASIZE
0000040e: ADD
0000040f: SLT
00000410: PUSH2 0x044a
00000413: JUMPI
00000414: PUSH2 0x0446
00000417: PUSH1 0x40
00000419: MLOAD
0000041a: PUSH2 0x0422
0000041d: DUP2
0000041e: PUSH2 0x3c79
00000421: JUMP
00000422: JUMPDEST
00000423: PUSH1 0x03
00000425: DUP2
00000426: MSTORE
00000427: PUSH3 0x0312e3
0000042b: PUSH1 0xec
0000042d: SHL
0000042e: PUSH1 0x20
00000430: DUP3
00000431: ADD
00000432: MSTORE
00000433: PUSH1 0x40
00000435: MLOAD
00000436: SWAP2
00000437: DUP3
00000438: SWAP2
00000439: PUSH1 0x20
0000043b: DUP4
0000043c: MSTORE
0000043d: PUSH1 0x20
0000043f: DUP4
00000440: ADD
00000441: SWAP1
00000442: PUSH2 0x3a6a
00000445: JUMP
00000446: JUMPDEST
00000447: SUB
00000448: SWAP1
00000449: RETURN
0000044a: JUMPDEST
0000044b: DUP1
0000044c: REVERT
0000044d: JUMPDEST
0000044e: POP
0000044f: CALLVALUE
00000450: PUSH2 0x044a
00000453: JUMPI
00000454: DUP1
00000455: PUSH1 0x03
00000457: NOT
00000458: CALLDATASIZE
00000459: ADD
0000045a: SLT
0000045b: PUSH2 0x044a
0000045e: JUMPI
0000045f: PUSH1 0x20
00000461: PUSH1 0x40
00000463: MLOAD
00000464: PUSH2 0x2710
00000467: DUP2
00000468: MSTORE
00000469: RETURN
0000046a: JUMPDEST
0000046b: POP
0000046c: CALLVALUE
0000046d: PUSH2 0x044a
00000470: JUMPI
00000471: PUSH1 0x20
00000473: CALLDATASIZE
00000474: PUSH1 0x03
00000476: NOT
00000477: ADD
00000478: SLT
00000479: PUSH2 0x044a
0000047c: JUMPI
0000047d: PUSH2 0x0494
00000480: PUSH2 0x0487
00000483: PUSH2 0x3aac
00000486: JUMP
00000487: JUMPDEST
00000488: PUSH2 0x048f
0000048b: PUSH2 0x436a
0000048e: JUMP
0000048f: JUMPDEST
00000490: PUSH2 0x42f9
00000493: JUMP
00000494: JUMPDEST
00000495: DUP1
00000496: RETURN
00000497: JUMPDEST
00000498: POP
00000499: CALLVALUE
0000049a: PUSH2 0x044a
0000049d: JUMPI
0000049e: PUSH1 0x40
000004a0: CALLDATASIZE
000004a1: PUSH1 0x03
000004a3: NOT
000004a4: ADD
000004a5: SLT
000004a6: PUSH2 0x044a
000004a9: JUMPI
000004aa: PUSH1 0x20
000004ac: PUSH2 0x04c4
000004af: PUSH2 0x04b6
000004b2: PUSH2 0x3b45
000004b5: JUMP
000004b6: JUMPDEST
000004b7: PUSH2 0x04be
000004ba: PUSH2 0x3ac2
000004bd: JUMP
000004be: JUMPDEST
000004bf: SWAP1
000004c0: PUSH2 0x42ac
000004c3: JUMP
000004c4: JUMPDEST
000004c5: PUSH1 0x40
000004c7: MLOAD
000004c8: SWAP1
000004c9: DUP2
000004ca: MSTORE
000004cb: RETURN
000004cc: JUMPDEST
000004cd: PUSH2 0x3c11
000004d0: JUMP
000004d1: JUMPDEST
000004d2: POP
000004d3: CALLVALUE
000004d4: PUSH2 0x044a
000004d7: JUMPI
000004d8: DUP1
000004d9: PUSH1 0x03
000004db: NOT
000004dc: CALLDATASIZE
000004dd: ADD
000004de: SLT
000004df: PUSH2 0x044a
000004e2: JUMPI
000004e3: PUSH1 0x0e
000004e5: SLOAD
000004e6: PUSH1 0x01
000004e8: PUSH1 0x01
000004ea: PUSH1 0xa0
000004ec: SHL
000004ed: SUB
000004ee: SWAP1
000004ef: DUP2
000004f0: AND
000004f1: CALLER
000004f2: DUP2
000004f3: SWAP1
000004f4: SUB
000004f5: PUSH2 0x054a
000004f8: JUMPI
000004f9: PUSH2 0x0516
000004fc: SWAP2
000004fd: PUSH0
000004fe: DUP1
000004ff: MLOAD
00000500: PUSH1 0x20
00000502: PUSH2 0x55da
00000505: DUP4
00000506: CODECOPY
00000507: DUP2
00000508: MLOAD
00000509: SWAP2
0000050a: MSTORE
0000050b: SLOAD
0000050c: AND
0000050d: SWAP1
0000050e: PUSH1 0x12
00000510: SLOAD
00000511: SWAP2
00000512: PUSH2 0x4611
00000515: JUMP
00000516: JUMPDEST
00000517: PUSH32 0x8a2034f45f83800eed1750a670ad845ceee6add62106ca5326598842cfbd6ea7
00000538: PUSH1 0x20
0000053a: PUSH1 0x12
0000053c: SLOAD
0000053d: PUSH1 0x40
0000053f: MLOAD
00000540: SWAP1
00000541: DUP2
00000542: MSTORE
00000543: LOG1
00000544: DUP1
00000545: PUSH1 0x12
00000547: SSTORE
00000548: DUP1
00000549: RETURN
0000054a: JUMPDEST
0000054b: PUSH1 0x40
0000054d: MLOAD
0000054e: PUSH4 0x34801217
00000553: PUSH1 0xe2
00000555: SHL
00000556: DUP2
00000557: MSTORE
00000558: PUSH1 0x04
0000055a: SWAP1
0000055b: REVERT
0000055c: JUMPDEST
0000055d: POP
0000055e: CALLVALUE
0000055f: PUSH2 0x044a
00000562: JUMPI
00000563: PUSH1 0x20
00000565: CALLDATASIZE
00000566: PUSH1 0x03
00000568: NOT
00000569: ADD
0000056a: SLT
0000056b: PUSH2 0x044a
0000056e: JUMPI
0000056f: PUSH2 0x0576
00000572: PUSH2 0x436a
00000575: JUMP
00000576: JUMPDEST
00000577: PUSH1 0x04
00000579: CALLDATALOAD
0000057a: PUSH1 0x1c
0000057c: SSTORE
0000057d: DUP1
0000057e: RETURN
0000057f: JUMPDEST
00000580: POP
00000581: CALLVALUE
00000582: PUSH2 0x044a
00000585: JUMPI
00000586: DUP1
00000587: PUSH1 0x03
00000589: NOT
0000058a: CALLDATASIZE
0000058b: ADD
0000058c: SLT
0000058d: PUSH2 0x044a
00000590: JUMPI
00000591: PUSH1 0x20
00000593: PUSH1 0x40
00000595: MLOAD
00000596: PUSH32 0x00000000000000000000000000000000000000000000000000000000000f4240
000005b7: DUP2
000005b8: MSTORE
000005b9: RETURN
000005ba: JUMPDEST
000005bb: POP
000005bc: CALLVALUE
000005bd: PUSH2 0x044a
000005c0: JUMPI
000005c1: PUSH1 0x40
000005c3: CALLDATASIZE
000005c4: PUSH1 0x03
000005c6: NOT
000005c7: ADD
000005c8: SLT
000005c9: PUSH2 0x044a
000005cc: JUMPI
000005cd: PUSH2 0x05d4
000005d0: PUSH2 0x3aac
000005d3: JUMP
000005d4: JUMPDEST
000005d5: PUSH2 0x05e5
000005d8: PUSH2 0x05df
000005db: PUSH2 0x3ac2
000005de: JUMP
000005df: JUMPDEST
000005e0: SWAP2
000005e1: PUSH2 0x3b98
000005e4: JUMP
000005e5: JUMPDEST
000005e6: SWAP1
000005e7: PUSH1 0x01
000005e9: DUP1
000005ea: PUSH1 0xa0
000005ec: SHL
000005ed: SUB
000005ee: AND
000005ef: PUSH0
000005f0: MSTORE
000005f1: PUSH1 0x20
000005f3: MSTORE
000005f4: PUSH1 0x20
000005f6: PUSH1 0x40
000005f8: PUSH0
000005f9: KECCAK256
000005fa: SLOAD
000005fb: PUSH1 0x40
000005fd: MLOAD
000005fe: SWAP1
000005ff: DUP2
00000600: MSTORE
00000601: RETURN
00000602: JUMPDEST
00000603: POP
00000604: CALLVALUE
00000605: PUSH2 0x044a
00000608: JUMPI
00000609: PUSH1 0x20
0000060b: CALLDATASIZE
0000060c: PUSH1 0x03
0000060e: NOT
0000060f: ADD
00000610: SLT
00000611: PUSH2 0x044a
00000614: JUMPI
00000615: PUSH1 0x20
00000617: SWAP1
00000618: PUSH2 0x061f
0000061b: PUSH2 0x3aac
0000061e: JUMP
0000061f: JUMPDEST
00000620: PUSH1 0x1b
00000622: SLOAD
00000623: DUP3
00000624: MSTORE
00000625: PUSH1 0x17
00000627: DUP4
00000628: MSTORE
00000629: PUSH1 0x40
0000062b: DUP1
0000062c: DUP4
0000062d: KECCAK256
0000062e: PUSH1 0x01
00000630: PUSH1 0x01
00000632: PUSH1 0xa0
00000634: SHL
00000635: SUB
00000636: SWAP1
00000637: SWAP3
00000638: AND
00000639: PUSH0
0000063a: SWAP1
0000063b: DUP2
0000063c: MSTORE
0000063d: SWAP2
0000063e: DUP5
0000063f: MSTORE
00000640: SWAP1
00000641: KECCAK256
00000642: SLOAD
00000643: PUSH1 0x1c
00000645: SLOAD
00000646: DUP2
00000647: DUP2
00000648: LT
00000649: PUSH2 0x0656
0000064c: JUMPI
0000064d: PUSH2 0x04c4
00000650: SWAP3
00000651: POP
00000652: PUSH2 0x3cd0
00000655: JUMP
00000656: JUMPDEST
00000657: POP
00000658: POP
00000659: PUSH2 0x04c4
0000065c: JUMP
0000065d: JUMPDEST
0000065e: POP
0000065f: CALLVALUE
00000660: PUSH2 0x044a
00000663: JUMPI
00000664: DUP1
00000665: PUSH1 0x03
00000667: NOT
00000668: CALLDATASIZE
00000669: ADD
0000066a: SLT
0000066b: PUSH2 0x044a
0000066e: JUMPI
0000066f: PUSH1 0x40
00000671: MLOAD
00000672: DUP2
00000673: SLOAD
00000674: DUP1
00000675: DUP3
00000676: MSTORE
00000677: DUP3
00000678: DUP1
00000679: MSTORE
0000067a: PUSH1 0x20
0000067c: DUP1
0000067d: DUP5
0000067e: KECCAK256
0000067f: DUP2
00000680: DUP5
00000681: ADD
00000682: SWAP5
00000683: SWAP1
00000684: SWAP3
00000685: SWAP2
00000686: JUMPDEST
00000687: DUP3
00000688: DUP3
00000689: LT
0000068a: PUSH2 0x06a9
0000068d: JUMPI
0000068e: PUSH2 0x0446
00000691: DUP6
00000692: PUSH2 0x069d
00000695: DUP2
00000696: DUP10
00000697: SUB
00000698: DUP3
00000699: PUSH2 0x3c94
0000069c: JUMP
0000069d: JUMPDEST
0000069e: PUSH1 0x40
000006a0: MLOAD
000006a1: SWAP2
000006a2: DUP3
000006a3: SWAP2
000006a4: DUP3
000006a5: PUSH2 0x3b54
000006a8: JUMP
000006a9: JUMPDEST
000006aa: DUP4
000006ab: SLOAD
000006ac: DUP7
000006ad: MSTORE
000006ae: SWAP5
000006af: DUP6
000006b0: ADD
000006b1: SWAP5
000006b2: PUSH1 0x01
000006b4: SWAP4
000006b5: DUP5
000006b6: ADD
000006b7: SWAP4
000006b8: SWAP1
000006b9: SWAP2
000006ba: ADD
000006bb: SWAP1
000006bc: PUSH2 0x0686
000006bf: JUMP
000006c0: JUMPDEST
000006c1: POP
000006c2: CALLVALUE
000006c3: PUSH2 0x044a
000006c6: JUMPI
000006c7: PUSH1 0x20
000006c9: CALLDATASIZE
000006ca: PUSH1 0x03
000006cc: NOT
000006cd: ADD
000006ce: SLT
000006cf: PUSH2 0x044a
000006d2: JUMPI
000006d3: PUSH1 0x20
000006d5: PUSH2 0x04c4
000006d8: PUSH2 0x06df
000006db: PUSH2 0x3aac
000006de: JUMP
000006df: JUMPDEST
000006e0: PUSH2 0x412a
000006e3: JUMP
000006e4: JUMPDEST
000006e5: POP
000006e6: CALLVALUE
000006e7: PUSH2 0x044a
000006ea: JUMPI
000006eb: PUSH1 0x20
000006ed: CALLDATASIZE
000006ee: PUSH1 0x03
000006f0: NOT
000006f1: ADD
000006f2: SLT
000006f3: PUSH2 0x044a
000006f6: JUMPI
000006f7: PUSH2 0x06fe
000006fa: PUSH2 0x3aac
000006fd: JUMP
000006fe: JUMPDEST
000006ff: PUSH2 0x0706
00000702: PUSH2 0x436a
00000705: JUMP
00000706: JUMPDEST
00000707: PUSH1 0x01
00000709: PUSH1 0x01
0000070b: PUSH1 0xa0
0000070d: SHL
0000070e: SUB
0000070f: AND
00000710: DUP1
00000711: ISZERO
00000712: PUSH2 0x074d
00000715: JUMPI
00000716: PUSH1 0x20
00000718: DUP2
00000719: PUSH2 0x0742
0000071c: PUSH32 0xe473c74f34be27c1464d6624f14a0d7fd4e301cbfa29c3eba425d378c8a7ebe0
0000073d: SWAP4
0000073e: PUSH2 0x48af
00000741: JUMP
00000742: JUMPDEST
00000743: POP
00000744: PUSH1 0x40
00000746: MLOAD
00000747: SWAP1
00000748: DUP2
00000749: MSTORE
0000074a: LOG1
0000074b: DUP1
0000074c: RETURN
0000074d: JUMPDEST
0000074e: PUSH1 0x40
00000750: MLOAD
00000751: PUSH4 0x17dc37cb
00000756: PUSH1 0xe1
00000758: SHL
00000759: DUP2
0000075a: MSTORE
0000075b: PUSH1 0x04
0000075d: SWAP1
0000075e: REVERT
0000075f: JUMPDEST
00000760: POP
00000761: CALLVALUE
00000762: PUSH2 0x044a
00000765: JUMPI
00000766: PUSH1 0x20
00000768: CALLDATASIZE
00000769: PUSH1 0x03
0000076b: NOT
0000076c: ADD
0000076d: SLT
0000076e: PUSH2 0x044a
00000771: JUMPI
00000772: PUSH1 0x20
00000774: SWAP1
00000775: PUSH2 0x04c4
00000778: SWAP1
00000779: PUSH1 0x40
0000077b: SWAP1
0000077c: PUSH1 0x01
0000077e: PUSH1 0x01
00000780: PUSH1 0xa0
00000782: SHL
00000783: SUB
00000784: PUSH2 0x078b
00000787: PUSH2 0x3aac
0000078a: JUMP
0000078b: JUMPDEST
0000078c: AND
0000078d: DUP2
0000078e: MSTORE
0000078f: PUSH0
00000790: DUP1
00000791: MLOAD
00000792: PUSH1 0x20
00000794: PUSH2 0x553a
00000797: DUP4
00000798: CODECOPY
00000799: DUP2
0000079a: MLOAD
0000079b: SWAP2
0000079c: MSTORE
0000079d: DUP5
0000079e: MSTORE
0000079f: KECCAK256
000007a0: SLOAD
000007a1: PUSH2 0x43a2
000007a4: JUMP
000007a5: JUMPDEST
000007a6: POP
000007a7: CALLVALUE
000007a8: PUSH2 0x044a
000007ab: JUMPI
000007ac: PUSH1 0x20
000007ae: CALLDATASIZE
000007af: PUSH1 0x03
000007b1: NOT
000007b2: ADD
000007b3: SLT
000007b4: PUSH2 0x044a
000007b7: JUMPI
000007b8: PUSH2 0x07bf
000007bb: PUSH2 0x3aac
000007be: JUMP
000007bf: JUMPDEST
000007c0: PUSH2 0x07c7
000007c3: PUSH2 0x436a
000007c6: JUMP
000007c7: JUMPDEST
000007c8: PUSH1 0x01
000007ca: PUSH1 0x01
000007cc: PUSH1 0xa0
000007ce: SHL
000007cf: SUB
000007d0: DUP2
000007d1: DUP2
000007d2: AND
000007d3: SWAP2
000007d4: DUP3
000007d5: ISZERO
000007d6: PUSH2 0x054a
000007d9: JUMPI
000007da: PUSH32 0x2861448678f0be67f11bfb5481b3e3b4cfeb3acc6126ad60a05f95bfc6530666
000007fb: SWAP1
000007fc: PUSH1 0x0e
000007fe: SLOAD
000007ff: SWAP3
00000800: PUSH2 0x0810
00000803: PUSH1 0x40
00000805: MLOAD
00000806: SWAP3
00000807: DUP4
00000808: SWAP3
00000809: DUP7
0000080a: AND
0000080b: DUP4
0000080c: PUSH2 0x4150
0000080f: JUMP
00000810: JUMPDEST
00000811: SUB
00000812: SWAP1
00000813: LOG1
00000814: PUSH1 0x01
00000816: PUSH1 0x01
00000818: PUSH1 0xa0
0000081a: SHL
0000081b: SUB
0000081c: NOT
0000081d: AND
0000081e: OR
0000081f: PUSH1 0x0e
00000821: SSTORE
00000822: DUP1
00000823: RETURN
00000824: JUMPDEST
00000825: POP
00000826: CALLVALUE
00000827: PUSH2 0x044a
0000082a: JUMPI
0000082b: PUSH1 0x20
0000082d: CALLDATASIZE
0000082e: PUSH1 0x03
00000830: NOT
00000831: ADD
00000832: SLT
00000833: PUSH2 0x044a
00000836: JUMPI
00000837: PUSH2 0x083e
0000083a: PUSH2 0x3aac
0000083d: JUMP
0000083e: JUMPDEST
0000083f: POP
00000840: PUSH1 0x20
00000842: PUSH1 0x40
00000844: MLOAD
00000845: PUSH0
00000846: NOT
00000847: DUP2
00000848: MSTORE
00000849: RETURN
0000084a: JUMPDEST
0000084b: POP
0000084c: CALLVALUE
0000084d: PUSH2 0x044a
00000850: JUMPI
00000851: DUP1
00000852: PUSH1 0x03
00000854: NOT
00000855: CALLDATASIZE
00000856: ADD
00000857: SLT
00000858: PUSH2 0x044a
0000085b: JUMPI
0000085c: PUSH1 0x20
0000085e: PUSH1 0x1d
00000860: SLOAD
00000861: PUSH1 0x40
00000863: MLOAD
00000864: SWAP1
00000865: DUP2
00000866: MSTORE
00000867: RETURN
00000868: JUMPDEST
00000869: POP
0000086a: CALLVALUE
0000086b: PUSH2 0x044a
0000086e: JUMPI
0000086f: DUP1
00000870: PUSH1 0x03
00000872: NOT
00000873: CALLDATASIZE
00000874: ADD
00000875: SLT
00000876: PUSH2 0x044a
00000879: JUMPI
0000087a: PUSH1 0x20
0000087c: PUSH32 0x4995646f72fa9a270ffc094641ab616ce576b2e3eab25eaf05c15caa4f0e595d
0000089d: TLOAD
0000089e: PUSH1 0x40
000008a0: MLOAD
000008a1: SWAP1
000008a2: DUP2
000008a3: MSTORE
000008a4: RETURN
000008a5: JUMPDEST
000008a6: POP
000008a7: CALLVALUE
000008a8: PUSH2 0x044a
000008ab: JUMPI
000008ac: DUP1
000008ad: PUSH1 0x03
000008af: NOT
000008b0: CALLDATASIZE
000008b1: ADD
000008b2: SLT
000008b3: PUSH2 0x044a
000008b6: JUMPI
000008b7: PUSH1 0x20
000008b9: PUSH2 0x04c4
000008bc: PUSH2 0x41ad
000008bf: JUMP
000008c0: JUMPDEST
000008c1: POP
000008c2: CALLVALUE
000008c3: PUSH2 0x044a
000008c6: JUMPI
000008c7: PUSH1 0x60
000008c9: CALLDATASIZE
000008ca: PUSH1 0x03
000008cc: NOT
000008cd: ADD
000008ce: SLT
000008cf: PUSH2 0x044a
000008d2: JUMPI
000008d3: PUSH2 0x08da
000008d6: PUSH2 0x3aac
000008d9: JUMP
000008da: JUMPDEST
000008db: PUSH1 0x24
000008dd: CALLDATALOAD
000008de: PUSH1 0x44
000008e0: CALLDATALOAD
000008e1: SWAP2
000008e2: DUP3
000008e3: ISZERO
000008e4: PUSH0
000008e5: EQ
000008e6: PUSH2 0x0cf6
000008e9: JUMPI
000008ea: PUSH0
000008eb: DUP1
000008ec: MLOAD
000008ed: PUSH1 0x20
000008ef: PUSH2 0x557a
000008f2: DUP4
000008f3: CODECOPY
000008f4: DUP2
000008f5: MLOAD
000008f6: SWAP2
000008f7: MSTORE
000008f8: SLOAD
000008f9: CALLER
000008fa: PUSH1 0x01
000008fc: PUSH1 0x01
000008fe: PUSH1 0xa0
00000900: SHL
00000901: SUB
00000902: SWAP2
00000903: DUP3
00000904: AND
00000905: EQ
00000906: ISZERO
00000907: SWAP1
00000908: DUP2
00000909: PUSH2 0x0ce7
0000090c: JUMPI
0000090d: JUMPDEST
0000090e: POP
0000090f: PUSH2 0x0cd5
00000912: JUMPI
00000913: JUMPDEST
00000914: PUSH2 0x091c
00000917: DUP4
00000918: PUSH2 0x466f
0000091b: JUMP
0000091c: JUMPDEST
0000091d: SWAP1
0000091e: SLOAD
0000091f: PUSH1 0x01
00000921: PUSH1 0x01
00000923: PUSH1 0xa0
00000925: SHL
00000926: SUB
00000927: PUSH1 0x03
00000929: SWAP3
0000092a: SWAP1
0000092b: SWAP3
0000092c: SHL
0000092d: SHR
0000092e: DUP2
0000092f: AND
00000930: DUP1
00000931: DUP7
00000932: MSTORE
00000933: PUSH1 0x02
00000935: PUSH1 0x20
00000937: SWAP1
00000938: DUP2
00000939: MSTORE
0000093a: PUSH1 0x40
0000093c: DUP1
0000093d: DUP9
0000093e: KECCAK256
0000093f: SLOAD
00000940: SWAP1
00000941: MLOAD
00000942: PUSH3 0x8bb5fb
00000946: PUSH1 0xe4
00000948: SHL
00000949: DUP2
0000094a: MSTORE
0000094b: SWAP2
0000094c: SWAP4
0000094d: SWAP2
0000094e: DUP5
0000094f: DUP2
00000950: PUSH1 0x04
00000952: DUP2
00000953: DUP13
00000954: DUP9
00000955: GAS
00000956: CALL
00000957: SWAP1
00000958: DUP2
00000959: ISZERO
0000095a: PUSH2 0x0cca
0000095d: JUMPI
0000095e: DUP10
0000095f: SWAP2
00000960: PUSH2 0x0c9d
00000963: JUMPI
00000964: JUMPDEST
00000965: POP
00000966: PUSH2 0x096d
00000969: PUSH2 0x3f33
0000096c: JUMP
0000096d: JUMPDEST
0000096e: PUSH1 0x40
00000970: MLOAD
00000971: PUSH4 0x313ce567
00000976: PUSH1 0xe0
00000978: SHL
00000979: DUP2
0000097a: MSTORE
0000097b: SWAP4
0000097c: DUP8
0000097d: AND
0000097e: SWAP4
0000097f: DUP7
00000980: DUP2
00000981: PUSH1 0x04
00000983: DUP2
00000984: DUP9
00000985: GAS
00000986: STATICCALL
00000987: SWAP1
00000988: DUP2
00000989: ISZERO
0000098a: PUSH2 0x0c92
0000098d: JUMPI
0000098e: DUP12
0000098f: SWAP2
00000990: PUSH2 0x0c55
00000993: JUMPI
00000994: JUMPDEST
00000995: POP
00000996: PUSH2 0x2710
00000999: SWAP3
0000099a: PUSH2 0x09e5
0000099d: SWAP3
0000099e: PUSH2 0x09d7
000009a1: SWAP3
000009a2: DUP12
000009a3: PUSH1 0xff
000009a5: DUP4
000009a6: AND
000009a7: PUSH1 0xff
000009a9: DUP4
000009aa: AND
000009ab: DUP2
000009ac: DUP2
000009ad: GT
000009ae: PUSH0
000009af: EQ
000009b0: PUSH2 0x0c23
000009b3: JUMPI
000009b4: POP
000009b5: POP
000009b6: POP
000009b7: PUSH2 0x09c6
000009ba: PUSH2 0x09d1
000009bd: SWAP3
000009be: PUSH2 0x09cb
000009c1: SWAP3
000009c2: PUSH2 0x416a
000009c5: JUMP
000009c6: JUMPDEST
000009c7: PUSH2 0x417e
000009ca: JUMP
000009cb: JUMPDEST
000009cc: DUP12
000009cd: PUSH2 0x3cf0
000009d0: JUMP
000009d1: JUMPDEST
000009d2: SWAP1
000009d3: PUSH2 0x3d7b
000009d6: JUMP
000009d7: JUMPDEST
000009d8: SWAP3
000009d9: PUSH2 0x09e0
000009dc: PUSH2 0x3d0e
000009df: JUMP
000009e0: JUMPDEST
000009e1: PUSH2 0x3cdd
000009e4: JUMP
000009e5: JUMPDEST
000009e6: DIV
000009e7: LT
000009e8: PUSH2 0x0c11
000009eb: JUMPI
000009ec: PUSH1 0x40
000009ee: MLOAD
000009ef: PUSH4 0x6eb1769f
000009f4: PUSH1 0xe1
000009f6: SHL
000009f7: DUP2
000009f8: MSTORE
000009f9: DUP4
000009fa: DUP2
000009fb: DUP1
000009fc: PUSH2 0x0a09
000009ff: DUP7
00000a00: ADDRESS
00000a01: PUSH1 0x04
00000a03: DUP5
00000a04: ADD
00000a05: PUSH2 0x4150
00000a08: JUMP
00000a09: JUMPDEST
00000a0a: SUB
00000a0b: DUP2
00000a0c: DUP6
00000a0d: GAS
00000a0e: STATICCALL
00000a0f: DUP1
00000a10: ISZERO
00000a11: PUSH2 0x0c06
00000a14: JUMPI
00000a15: DUP7
00000a16: SWAP1
00000a17: DUP10
00000a18: SWAP1
00000a19: PUSH2 0x0bd1
00000a1c: JUMPI
00000a1d: JUMPDEST
00000a1e: PUSH2 0x0a27
00000a21: SWAP3
00000a22: POP
00000a23: PUSH2 0x3d7b
00000a26: JUMP
00000a27: JUMPDEST
00000a28: PUSH1 0x40
00000a2a: MLOAD
00000a2b: PUSH4 0x095ea7b3
00000a30: PUSH1 0xe0
00000a32: SHL
00000a33: DUP6
00000a34: DUP3
00000a35: ADD
00000a36: DUP2
00000a37: DUP2
00000a38: MSTORE
00000a39: PUSH1 0x01
00000a3b: PUSH1 0x01
00000a3d: PUSH1 0xa0
00000a3f: SHL
00000a40: SUB
00000a41: DUP7
00000a42: AND
00000a43: PUSH1 0x24
00000a45: DUP5
00000a46: ADD
00000a47: MSTORE
00000a48: PUSH1 0x44
00000a4a: DUP1
00000a4b: DUP5
00000a4c: ADD
00000a4d: SWAP5
00000a4e: SWAP1
00000a4f: SWAP5
00000a50: MSTORE
00000a51: SWAP3
00000a52: DUP3
00000a53: MSTORE
00000a54: SWAP3
00000a55: SWAP1
00000a56: SWAP2
00000a57: DUP6
00000a58: SWAP1
00000a59: DUP11
00000a5a: SWAP1
00000a5b: PUSH2 0x0a65
00000a5e: PUSH1 0x64
00000a60: DUP7
00000a61: PUSH2 0x3c94
00000a64: JUMP
00000a65: JUMPDEST
00000a66: DUP5
00000a67: MLOAD
00000a68: SWAP1
00000a69: DUP3
00000a6a: DUP6
00000a6b: GAS
00000a6c: CALL
00000a6d: DUP10
00000a6e: MLOAD
00000a6f: RETURNDATASIZE
00000a70: DUP3
00000a71: PUSH2 0x0bb5
00000a74: JUMPI
00000a75: JUMPDEST
00000a76: POP
00000a77: POP
00000a78: ISZERO
00000a79: PUSH2 0x0b55
00000a7c: JUMPI
00000a7d: JUMPDEST
00000a7e: POP
00000a7f: POP
00000a80: PUSH1 0x40
00000a82: MLOAD
00000a83: PUSH4 0x56f4edaf
00000a88: PUSH1 0xe0
00000a8a: SHL
00000a8b: DUP2
00000a8c: MSTORE
00000a8d: PUSH1 0x01
00000a8f: PUSH1 0x01
00000a91: PUSH1 0xa0
00000a93: SHL
00000a94: SUB
00000a95: DUP6
00000a96: AND
00000a97: PUSH1 0x04
00000a99: DUP3
00000a9a: ADD
00000a9b: MSTORE
00000a9c: PUSH1 0x24
00000a9e: DUP2
00000a9f: ADD
00000aa0: DUP7
00000aa1: SWAP1
00000aa2: MSTORE
00000aa3: SWAP2
00000aa4: DUP4
00000aa5: SWAP2
00000aa6: POP
00000aa7: DUP3
00000aa8: SWAP1
00000aa9: PUSH1 0x44
00000aab: SWAP1
00000aac: DUP3
00000aad: SWAP1
00000aae: DUP11
00000aaf: SWAP1
00000ab0: GAS
00000ab1: CALL
00000ab2: SWAP2
00000ab3: DUP3
00000ab4: ISZERO
00000ab5: PUSH2 0x0b4a
00000ab8: JUMPI
00000ab9: DUP7
00000aba: SWAP3
00000abb: PUSH2 0x0b0f
00000abe: JUMPI
00000abf: JUMPDEST
00000ac0: POP
00000ac1: POP
00000ac2: ISZERO
00000ac3: PUSH2 0x0afd
00000ac6: JUMPI
00000ac7: PUSH2 0x0af7
00000aca: PUSH32 0x921f9e77ef648025190d46d8b7f3d22a5546367ff7aaa883b1f39ffd2a2d325d
00000aeb: SWAP4
00000aec: PUSH1 0x40
00000aee: MLOAD
00000aef: SWAP4
00000af0: DUP5
00000af1: SWAP4
00000af2: DUP5
00000af3: PUSH2 0x418f
00000af6: JUMP
00000af7: JUMPDEST
00000af8: SUB
00000af9: SWAP1
00000afa: LOG1
00000afb: DUP1
00000afc: RETURN
00000afd: JUMPDEST
00000afe: PUSH1 0x40
00000b00: MLOAD
00000b01: PUSH4 0x0508c939
00000b06: PUSH1 0xe4
00000b08: SHL
00000b09: DUP2
00000b0a: MSTORE
00000b0b: PUSH1 0x04
00000b0d: SWAP1
00000b0e: REVERT
00000b0f: JUMPDEST
00000b10: SWAP1
00000b11: DUP1
00000b12: SWAP3
00000b13: POP
00000b14: DUP2
00000b15: RETURNDATASIZE
00000b16: DUP4
00000b17: GT
00000b18: PUSH2 0x0b43
00000b1b: JUMPI
00000b1c: JUMPDEST
00000b1d: PUSH2 0x0b26
00000b20: DUP2
00000b21: DUP4
00000b22: PUSH2 0x3c94
00000b25: JUMP
00000b26: JUMPDEST
00000b27: DUP2
00000b28: ADD
00000b29: SUB
00000b2a: SLT
00000b2b: PUSH2 0x0b3f
00000b2e: JUMPI
00000b2f: MLOAD
00000b30: DUP1
00000b31: ISZERO
00000b32: ISZERO
00000b33: DUP2
00000b34: SUB
00000b35: PUSH2 0x0b3f
00000b38: JUMPI
00000b39: PUSH0
00000b3a: DUP1
00000b3b: PUSH2 0x0abf
00000b3e: JUMP
00000b3f: JUMPDEST
00000b40: DUP5
00000b41: DUP1
00000b42: REVERT
00000b43: JUMPDEST
00000b44: POP
00000b45: RETURNDATASIZE
00000b46: PUSH2 0x0b1c
00000b49: JUMP
00000b4a: JUMPDEST
00000b4b: PUSH1 0x40
00000b4d: MLOAD
00000b4e: RETURNDATASIZE
00000b4f: DUP9
00000b50: DUP3
00000b51: RETURNDATACOPY
00000b52: RETURNDATASIZE
00000b53: SWAP1
00000b54: REVERT
00000b55: JUMPDEST
00000b56: PUSH1 0x40
00000b58: MLOAD
00000b59: SWAP3
00000b5a: DUP6
00000b5b: DUP5
00000b5c: ADD
00000b5d: MSTORE
00000b5e: DUP4
00000b5f: PUSH1 0x24
00000b61: DUP5
00000b62: ADD
00000b63: MSTORE
00000b64: DUP9
00000b65: PUSH1 0x44
00000b67: DUP5
00000b68: ADD
00000b69: MSTORE
00000b6a: PUSH1 0x44
00000b6c: DUP4
00000b6d: MSTORE
00000b6e: PUSH1 0x80
00000b70: DUP4
00000b71: ADD
00000b72: DUP4
00000b73: DUP2
00000b74: LT
00000b75: PUSH1 0x01
00000b77: PUSH1 0x01
00000b79: PUSH1 0x40
00000b7b: SHL
00000b7c: SUB
00000b7d: DUP3
00000b7e: GT
00000b7f: OR
00000b80: PUSH2 0x0ba1
00000b83: JUMPI
00000b84: PUSH2 0x0b99
00000b87: SWAP4
00000b88: PUSH2 0x0b94
00000b8b: SWAP2
00000b8c: PUSH1 0x40
00000b8e: MSTORE
00000b8f: DUP3
00000b90: PUSH2 0x4814
00000b93: JUMP
00000b94: JUMPDEST
00000b95: PUSH2 0x4814
00000b98: JUMP
00000b99: JUMPDEST
00000b9a: PUSH0
00000b9b: DUP1
00000b9c: DUP1
00000b9d: PUSH2 0x0a7d
00000ba0: JUMP
00000ba1: JUMPDEST
00000ba2: PUSH4 0x4e487b71
00000ba7: PUSH1 0xe0
00000ba9: SHL
00000baa: PUSH0
00000bab: MSTORE
00000bac: PUSH1 0x41
00000bae: PUSH1 0x04
00000bb0: MSTORE
00000bb1: PUSH1 0x24
00000bb3: PUSH0
00000bb4: REVERT
00000bb5: JUMPDEST
00000bb6: SWAP1
00000bb7: SWAP2
00000bb8: POP
00000bb9: PUSH2 0x0bc9
00000bbc: JUMPI
00000bbd: POP
00000bbe: DUP1
00000bbf: EXTCODESIZE
00000bc0: ISZERO
00000bc1: ISZERO
00000bc2: JUMPDEST
00000bc3: PUSH0
00000bc4: DUP1
00000bc5: PUSH2 0x0a75
00000bc8: JUMP
00000bc9: JUMPDEST
00000bca: PUSH1 0x01
00000bcc: EQ
00000bcd: PUSH2 0x0bc2
00000bd0: JUMP
00000bd1: JUMPDEST
00000bd2: POP
00000bd3: POP
00000bd4: DUP4
00000bd5: DUP2
00000bd6: DUP2
00000bd7: RETURNDATASIZE
00000bd8: DUP4
00000bd9: GT
00000bda: PUSH2 0x0bff
00000bdd: JUMPI
00000bde: JUMPDEST
00000bdf: PUSH2 0x0be8
00000be2: DUP2
00000be3: DUP4
00000be4: PUSH2 0x3c94
00000be7: JUMP
00000be8: JUMPDEST
00000be9: DUP2
00000bea: ADD
00000beb: SUB
00000bec: SLT
00000bed: PUSH2 0x0bfb
00000bf0: JUMPI
00000bf1: DUP6
00000bf2: PUSH2 0x0a27
00000bf5: SWAP2
00000bf6: MLOAD
00000bf7: PUSH2 0x0a1d
00000bfa: JUMP
00000bfb: JUMPDEST
00000bfc: PUSH0
00000bfd: DUP1
00000bfe: REVERT
00000bff: JUMPDEST
00000c00: POP
00000c01: RETURNDATASIZE
00000c02: PUSH2 0x0bde
00000c05: JUMP
00000c06: JUMPDEST
00000c07: PUSH1 0x40
00000c09: MLOAD
00000c0a: RETURNDATASIZE
00000c0b: DUP11
00000c0c: DUP3
00000c0d: RETURNDATACOPY
00000c0e: RETURNDATASIZE
00000c0f: SWAP1
00000c10: REVERT
00000c11: JUMPDEST
00000c12: PUSH1 0x40
00000c14: MLOAD
00000c15: PUSH4 0xe55fb509
00000c1a: PUSH1 0xe0
00000c1c: SHL
00000c1d: DUP2
00000c1e: MSTORE
00000c1f: PUSH1 0x04
00000c21: SWAP1
00000c22: REVERT
00000c23: JUMPDEST
00000c24: SWAP5
00000c25: SWAP4
00000c26: SWAP2
00000c27: SWAP5
00000c28: LT
00000c29: PUSH2 0x0c34
00000c2c: JUMPI
00000c2d: JUMPDEST
00000c2e: POP
00000c2f: POP
00000c30: PUSH2 0x3d7b
00000c33: JUMP
00000c34: JUMPDEST
00000c35: PUSH2 0x0c4d
00000c38: SWAP3
00000c39: SWAP4
00000c3a: POP
00000c3b: PUSH2 0x0c47
00000c3e: SWAP2
00000c3f: PUSH2 0x09c6
00000c42: SWAP2
00000c43: PUSH2 0x416a
00000c46: JUMP
00000c47: JUMPDEST
00000c48: DUP12
00000c49: PUSH2 0x3cdd
00000c4c: JUMP
00000c4d: JUMPDEST
00000c4e: SWAP1
00000c4f: PUSH0
00000c50: DUP1
00000c51: PUSH2 0x0c2d
00000c54: JUMP
00000c55: JUMPDEST
00000c56: SWAP1
00000c57: POP
00000c58: DUP7
00000c59: DUP2
00000c5a: DUP2
00000c5b: RETURNDATASIZE
00000c5c: DUP4
00000c5d: GT
00000c5e: PUSH2 0x0c8b
00000c61: JUMPI
00000c62: JUMPDEST
00000c63: PUSH2 0x0c6c
00000c66: DUP2
00000c67: DUP4
00000c68: PUSH2 0x3c94
00000c6b: JUMP
00000c6c: JUMPDEST
00000c6d: DUP2
00000c6e: ADD
00000c6f: SUB
00000c70: SLT
00000c71: PUSH2 0x0c87
00000c74: JUMPI
00000c75: MLOAD
00000c76: PUSH1 0xff
00000c78: DUP2
00000c79: AND
00000c7a: DUP2
00000c7b: SUB
00000c7c: PUSH2 0x0c87
00000c7f: JUMPI
00000c80: PUSH2 0x2710
00000c83: PUSH2 0x0994
00000c86: JUMP
00000c87: JUMPDEST
00000c88: DUP11
00000c89: DUP1
00000c8a: REVERT
00000c8b: JUMPDEST
00000c8c: POP
00000c8d: RETURNDATASIZE
00000c8e: PUSH2 0x0c62
00000c91: JUMP
00000c92: JUMPDEST
00000c93: PUSH1 0x40
00000c95: MLOAD
00000c96: RETURNDATASIZE
00000c97: DUP14
00000c98: DUP3
00000c99: RETURNDATACOPY
00000c9a: RETURNDATASIZE
00000c9b: SWAP1
00000c9c: REVERT
00000c9d: JUMPDEST
00000c9e: SWAP1
00000c9f: POP
00000ca0: DUP5
00000ca1: DUP2
00000ca2: DUP2
00000ca3: RETURNDATASIZE
00000ca4: DUP4
00000ca5: GT
00000ca6: PUSH2 0x0cc3
00000ca9: JUMPI
00000caa: JUMPDEST
00000cab: PUSH2 0x0cb4
00000cae: DUP2
00000caf: DUP4
00000cb0: PUSH2 0x3c94
00000cb3: JUMP
00000cb4: JUMPDEST
00000cb5: DUP2
00000cb6: ADD
00000cb7: SUB
00000cb8: SLT
00000cb9: PUSH2 0x0bfb
00000cbc: JUMPI
00000cbd: MLOAD
00000cbe: PUSH0
00000cbf: PUSH2 0x0964
00000cc2: JUMP
00000cc3: JUMPDEST
00000cc4: POP
00000cc5: RETURNDATASIZE
00000cc6: PUSH2 0x0caa
00000cc9: JUMP
00000cca: JUMPDEST
00000ccb: PUSH1 0x40
00000ccd: MLOAD
00000cce: RETURNDATASIZE
00000ccf: DUP12
00000cd0: DUP3
00000cd1: RETURNDATACOPY
00000cd2: RETURNDATASIZE
00000cd3: SWAP1
00000cd4: REVERT
00000cd5: JUMPDEST
00000cd6: PUSH1 0x40
00000cd8: MLOAD
00000cd9: PUSH4 0xccea9e6f
00000cde: PUSH1 0xe0
00000ce0: SHL
00000ce1: DUP2
00000ce2: MSTORE
00000ce3: PUSH1 0x04
00000ce5: SWAP1
00000ce6: REVERT
00000ce7: JUMPDEST
00000ce8: SWAP1
00000ce9: POP
00000cea: PUSH1 0x0d
00000cec: SLOAD
00000ced: AND
00000cee: CALLER
00000cef: EQ
00000cf0: ISZERO
00000cf1: PUSH0
00000cf2: PUSH2 0x090d
00000cf5: JUMP
00000cf6: JUMPDEST
00000cf7: PUSH0
00000cf8: DUP1
00000cf9: MLOAD
00000cfa: PUSH1 0x20
00000cfc: PUSH2 0x557a
00000cff: DUP4
00000d00: CODECOPY
00000d01: DUP2
00000d02: MLOAD
00000d03: SWAP2
00000d04: MSTORE
00000d05: SLOAD
00000d06: PUSH1 0x01
00000d08: PUSH1 0x01
00000d0a: PUSH1 0xa0
00000d0c: SHL
00000d0d: SUB
00000d0e: AND
00000d0f: CALLER
00000d10: EQ
00000d11: PUSH2 0x0913
00000d14: JUMPI
00000d15: PUSH1 0x40
00000d17: MLOAD
00000d18: PUSH4 0xccea9e6f
00000d1d: PUSH1 0xe0
00000d1f: SHL
00000d20: DUP2
00000d21: MSTORE
00000d22: PUSH1 0x04
00000d24: SWAP1
00000d25: REVERT
00000d26: JUMPDEST
00000d27: PUSH2 0x3bd0
00000d2a: JUMP
00000d2b: JUMPDEST
00000d2c: POP
00000d2d: CALLVALUE
00000d2e: PUSH2 0x044a
00000d31: JUMPI
00000d32: PUSH1 0x20
00000d34: CALLDATASIZE
00000d35: PUSH1 0x03
00000d37: NOT
00000d38: ADD
00000d39: SLT
00000d3a: PUSH2 0x044a
00000d3d: JUMPI
00000d3e: PUSH2 0x0d45
00000d41: PUSH2 0x3d0e
00000d44: JUMP
00000d45: JUMPDEST
00000d46: PUSH1 0x01
00000d48: DUP2
00000d49: ADD
00000d4a: DUP1
00000d4b: SWAP2
00000d4c: GT
00000d4d: PUSH2 0x0d7a
00000d50: JUMPI
00000d51: PUSH0
00000d52: DUP1
00000d53: MLOAD
00000d54: PUSH1 0x20
00000d56: PUSH2 0x559a
00000d59: DUP4
00000d5a: CODECOPY
00000d5b: DUP2
00000d5c: MLOAD
00000d5d: SWAP2
00000d5e: MSTORE
00000d5f: SLOAD
00000d60: SWAP1
00000d61: PUSH1 0x01
00000d63: DUP3
00000d64: ADD
00000d65: DUP1
00000d66: SWAP3
00000d67: GT
00000d68: PUSH2 0x0d7a
00000d6b: JUMPI
00000d6c: PUSH1 0x20
00000d6e: SWAP2
00000d6f: PUSH2 0x04c4
00000d72: SWAP2
00000d73: PUSH1 0x04
00000d75: CALLDATALOAD
00000d76: PUSH2 0x464f
00000d79: JUMP
00000d7a: JUMPDEST
00000d7b: PUSH4 0x4e487b71
00000d80: PUSH1 0xe0
00000d82: SHL
00000d83: PUSH0
00000d84: MSTORE
00000d85: PUSH1 0x11
00000d87: PUSH1 0x04
00000d89: MSTORE
00000d8a: PUSH1 0x24
00000d8c: PUSH0
00000d8d: REVERT
00000d8e: JUMPDEST
00000d8f: POP
00000d90: CALLVALUE
00000d91: PUSH2 0x044a
00000d94: JUMPI
00000d95: PUSH1 0x20
00000d97: SWAP1
00000d98: DUP2
00000d99: PUSH1 0x03
00000d9b: NOT
00000d9c: CALLDATASIZE
00000d9d: ADD
00000d9e: SLT
00000d9f: PUSH2 0x044a
00000da2: JUMPI
00000da3: DUP1
00000da4: DUP3
00000da5: PUSH1 0x04
00000da7: PUSH2 0x0db0
00000daa: DUP2
00000dab: CALLDATALOAD
00000dac: PUSH2 0x466f
00000daf: JUMP
00000db0: JUMPDEST
00000db1: SWAP1
00000db2: SLOAD
00000db3: PUSH1 0x40
00000db5: MLOAD
00000db6: PUSH3 0x8bb5fb
00000dba: PUSH1 0xe4
00000dbc: SHL
00000dbd: DUP2
00000dbe: MSTORE
00000dbf: SWAP5
00000dc0: DUP6
00000dc1: SWAP4
00000dc2: SWAP3
00000dc3: DUP5
00000dc4: SWAP3
00000dc5: PUSH1 0x03
00000dc7: SWAP2
00000dc8: SWAP1
00000dc9: SWAP2
00000dca: SHL
00000dcb: SHR
00000dcc: PUSH1 0x01
00000dce: PUSH1 0x01
00000dd0: PUSH1 0xa0
00000dd2: SHL
00000dd3: SUB
00000dd4: AND
00000dd5: GAS
00000dd6: CALL
00000dd7: SWAP2
00000dd8: DUP3
00000dd9: ISZERO
00000dda: PUSH2 0x0e19
00000ddd: JUMPI
00000dde: SWAP2
00000ddf: PUSH2 0x0dec
00000de2: JUMPI
00000de3: JUMPDEST
00000de4: POP
00000de5: PUSH1 0x40
00000de7: MLOAD
00000de8: SWAP1
00000de9: DUP2
00000dea: MSTORE
00000deb: RETURN
00000dec: JUMPDEST
00000ded: SWAP1
00000dee: POP
00000def: DUP2
00000df0: DUP2
00000df1: DUP2
00000df2: RETURNDATASIZE
00000df3: DUP4
00000df4: GT
00000df5: PUSH2 0x0e12
00000df8: JUMPI
00000df9: JUMPDEST
00000dfa: PUSH2 0x0e03
00000dfd: DUP2
00000dfe: DUP4
00000dff: PUSH2 0x3c94
00000e02: JUMP
00000e03: JUMPDEST
00000e04: DUP2
00000e05: ADD
00000e06: SUB
00000e07: SLT
00000e08: PUSH2 0x0bfb
00000e0b: JUMPI
00000e0c: MLOAD
00000e0d: PUSH0
00000e0e: PUSH2 0x0de3
00000e11: JUMP
00000e12: JUMPDEST
00000e13: POP
00000e14: RETURNDATASIZE
00000e15: PUSH2 0x0df9
00000e18: JUMP
00000e19: JUMPDEST
00000e1a: PUSH1 0x40
00000e1c: MLOAD
00000e1d: SWAP1
00000e1e: RETURNDATASIZE
00000e1f: SWAP1
00000e20: DUP3
00000e21: RETURNDATACOPY
00000e22: RETURNDATASIZE
00000e23: SWAP1
00000e24: REVERT
00000e25: JUMPDEST
00000e26: POP
00000e27: CALLVALUE
00000e28: PUSH2 0x044a
00000e2b: JUMPI
00000e2c: PUSH1 0x20
00000e2e: CALLDATASIZE
00000e2f: PUSH1 0x03
00000e31: NOT
00000e32: ADD
00000e33: SLT
00000e34: PUSH2 0x044a
00000e37: JUMPI
00000e38: PUSH1 0x20
00000e3a: SWAP1
00000e3b: PUSH1 0x40
00000e3d: SWAP1
00000e3e: PUSH1 0x01
00000e40: PUSH1 0x01
00000e42: PUSH1 0xa0
00000e44: SHL
00000e45: SUB
00000e46: PUSH2 0x0e4d
00000e49: PUSH2 0x3aac
00000e4c: JUMP
00000e4d: JUMPDEST
00000e4e: AND
00000e4f: DUP2
00000e50: MSTORE
00000e51: PUSH1 0x02
00000e53: DUP4
00000e54: MSTORE
00000e55: KECCAK256
00000e56: SLOAD
00000e57: PUSH1 0x40
00000e59: MLOAD
00000e5a: SWAP1
00000e5b: DUP2
00000e5c: MSTORE
00000e5d: RETURN
00000e5e: JUMPDEST
00000e5f: POP
00000e60: CALLVALUE
00000e61: PUSH2 0x044a
00000e64: JUMPI
00000e65: PUSH1 0x20
00000e67: CALLDATASIZE
00000e68: PUSH1 0x03
00000e6a: NOT
00000e6b: ADD
00000e6c: SLT
00000e6d: PUSH2 0x044a
00000e70: JUMPI
00000e71: PUSH2 0x0e78
00000e74: PUSH2 0x3aac
00000e77: JUMP
00000e78: JUMPDEST
00000e79: PUSH2 0x0e80
00000e7c: PUSH2 0x436a
00000e7f: JUMP
00000e80: JUMPDEST
00000e81: PUSH1 0x01
00000e83: PUSH1 0x01
00000e85: PUSH1 0xa0
00000e87: SHL
00000e88: SUB
00000e89: DUP2
00000e8a: DUP2
00000e8b: AND
00000e8c: SWAP2
00000e8d: DUP3
00000e8e: ISZERO
00000e8f: PUSH2 0x0edd
00000e92: JUMPI
00000e93: PUSH32 0xe2eeab472f89ac267be30e463da684fb96f56cc8e947839361fdf45bf6a3458e
00000eb4: SWAP1
00000eb5: PUSH1 0x0d
00000eb7: SLOAD
00000eb8: SWAP3
00000eb9: PUSH2 0x0ec9
00000ebc: PUSH1 0x40
00000ebe: MLOAD
00000ebf: SWAP3
00000ec0: DUP4
00000ec1: SWAP3
00000ec2: DUP7
00000ec3: AND
00000ec4: DUP4
00000ec5: PUSH2 0x4150
00000ec8: JUMP
00000ec9: JUMPDEST
00000eca: SUB
00000ecb: SWAP1
00000ecc: LOG1
00000ecd: PUSH1 0x01
00000ecf: PUSH1 0x01
00000ed1: PUSH1 0xa0
00000ed3: SHL
00000ed4: SUB
00000ed5: NOT
00000ed6: AND
00000ed7: OR
00000ed8: PUSH1 0x0d
00000eda: SSTORE
00000edb: DUP1
00000edc: RETURN
00000edd: JUMPDEST
00000ede: PUSH1 0x40
00000ee0: MLOAD
00000ee1: PUSH1 0x01
00000ee3: PUSH3 0x6bbab9
00000ee7: PUSH1 0xe1
00000ee9: SHL
00000eea: SUB
00000eeb: NOT
00000eec: DUP2
00000eed: MSTORE
00000eee: PUSH1 0x04
00000ef0: SWAP1
00000ef1: REVERT
00000ef2: JUMPDEST
00000ef3: POP
00000ef4: CALLVALUE
00000ef5: PUSH2 0x044a
00000ef8: JUMPI
00000ef9: PUSH1 0x60
00000efb: CALLDATASIZE
00000efc: PUSH1 0x03
00000efe: NOT
00000eff: ADD
00000f00: SLT
00000f01: PUSH2 0x044a
00000f04: JUMPI
00000f05: PUSH2 0x0f0c
00000f08: PUSH2 0x3aac
00000f0b: JUMP
00000f0c: JUMPDEST
00000f0d: PUSH1 0x01
00000f0f: PUSH1 0x01
00000f11: PUSH1 0x40
00000f13: SHL
00000f14: SUB
00000f15: SWAP1
00000f16: PUSH1 0x24
00000f18: CALLDATALOAD
00000f19: DUP3
00000f1a: DUP2
00000f1b: GT
00000f1c: PUSH2 0x1021
00000f1f: JUMPI
00000f20: PUSH2 0x0f2d
00000f23: SWAP1
00000f24: CALLDATASIZE
00000f25: SWAP1
00000f26: PUSH1 0x04
00000f28: ADD
00000f29: PUSH2 0x3b02
00000f2c: JUMP
00000f2d: JUMPDEST
00000f2e: PUSH1 0x44
00000f30: SWAP4
00000f31: SWAP2
00000f32: SWAP4
00000f33: CALLDATALOAD
00000f34: SWAP2
00000f35: PUSH2 0x0f3c
00000f38: PUSH2 0x436a
00000f3b: JUMP
00000f3c: JUMPDEST
00000f3d: DUP3
00000f3e: ISZERO
00000f3f: DUP1
00000f40: ISZERO
00000f41: PUSH2 0x1016
00000f44: JUMPI
00000f45: JUMPDEST
00000f46: PUSH2 0x0c11
00000f49: JUMPI
00000f4a: PUSH1 0x40
00000f4c: MLOAD
00000f4d: SWAP2
00000f4e: PUSH2 0x0a92
00000f51: DUP1
00000f52: DUP5
00000f53: ADD
00000f54: SWAP3
00000f55: DUP4
00000f56: GT
00000f57: DUP5
00000f58: DUP5
00000f59: LT
00000f5a: OR
00000f5b: PUSH2 0x1002
00000f5e: JUMPI
00000f5f: SWAP2
00000f60: DUP4
00000f61: SWAP2
00000f62: PUSH1 0x80
00000f64: SWAP4
00000f65: PUSH2 0x4a88
00000f68: DUP5
00000f69: CODECOPY
00000f6a: PUSH1 0x01
00000f6c: PUSH1 0x01
00000f6e: PUSH1 0xa0
00000f70: SHL
00000f71: SUB
00000f72: DUP8
00000f73: DUP2
00000f74: AND
00000f75: DUP4
00000f76: MSTORE
00000f77: CALLER
00000f78: PUSH1 0x20
00000f7a: DUP5
00000f7b: ADD
00000f7c: MSTORE
00000f7d: PUSH1 0x60
00000f7f: PUSH1 0x40
00000f81: DUP5
00000f82: ADD
00000f83: DUP2
00000f84: SWAP1
00000f85: MSTORE
00000f86: DUP4
00000f87: ADD
00000f88: DUP3
00000f89: SWAP1
00000f8a: MSTORE
00000f8b: SWAP8
00000f8c: DUP2
00000f8d: SWAP1
00000f8e: DUP6
00000f8f: DUP5
00000f90: ADD
00000f91: CALLDATACOPY
00000f92: DUP2
00000f93: DUP2
00000f94: ADD
00000f95: DUP5
00000f96: ADD
00000f97: DUP10
00000f98: SWAP1
00000f99: MSTORE
00000f9a: PUSH1 0x1f
00000f9c: ADD
00000f9d: PUSH1 0x1f
00000f9f: NOT
00000fa0: AND
00000fa1: ADD
00000fa2: SUB
00000fa3: ADD
00000fa4: SWAP1
00000fa5: DUP6
00000fa6: CREATE
00000fa7: SWAP3
00000fa8: DUP4
00000fa9: ISZERO
00000faa: PUSH2 0x0ff7
00000fad: JUMPI
00000fae: PUSH32 0x0803371633b57311f58d10924711080d2dae75ab17c5c0c262af3887cfca00bb
00000fcf: SWAP4
00000fd0: AND
00000fd1: SWAP1
00000fd2: DUP2
00000fd3: DUP6
00000fd4: MSTORE
00000fd5: PUSH1 0x02
00000fd7: PUSH1 0x20
00000fd9: MSTORE
00000fda: PUSH1 0x40
00000fdc: DUP6
00000fdd: KECCAK256
00000fde: SSTORE
00000fdf: PUSH2 0x0fe7
00000fe2: DUP2
00000fe3: PUSH2 0x4902
00000fe6: JUMP
00000fe7: JUMPDEST
00000fe8: POP
00000fe9: PUSH2 0x0af7
00000fec: PUSH1 0x40
00000fee: MLOAD
00000fef: SWAP3
00000ff0: DUP4
00000ff1: SWAP3
00000ff2: DUP4
00000ff3: PUSH2 0x4150
00000ff6: JUMP
00000ff7: JUMPDEST
00000ff8: PUSH1 0x40
00000ffa: MLOAD
00000ffb: RETURNDATASIZE
00000ffc: DUP7
00000ffd: DUP3
00000ffe: RETURNDATACOPY
00000fff: RETURNDATASIZE
00001000: SWAP1
00001001: REVERT
00001002: JUMPDEST
00001003: PUSH4 0x4e487b71
00001008: PUSH1 0xe0
0000100a: SHL
0000100b: DUP9
0000100c: MSTORE
0000100d: PUSH1 0x41
0000100f: PUSH1 0x04
00001011: MSTORE
00001012: PUSH1 0x24
00001014: DUP9
00001015: REVERT
00001016: JUMPDEST
00001017: POP
00001018: PUSH2 0x2710
0000101b: DUP4
0000101c: GT
0000101d: PUSH2 0x0f45
00001020: JUMP
00001021: JUMPDEST
00001022: DUP4
00001023: DUP1
00001024: REVERT
00001025: JUMPDEST
00001026: POP
00001027: CALLVALUE
00001028: PUSH2 0x044a
0000102b: JUMPI
0000102c: DUP1
0000102d: PUSH1 0x03
0000102f: NOT
00001030: CALLDATASIZE
00001031: ADD
00001032: SLT
00001033: PUSH2 0x044a
00001036: JUMPI
00001037: PUSH1 0x40
00001039: MLOAD
0000103a: PUSH1 0x15
0000103c: DUP1
0000103d: SLOAD
0000103e: DUP1
0000103f: DUP4
00001040: MSTORE
00001041: SWAP1
00001042: DUP4
00001043: MSTORE
00001044: PUSH1 0x20
00001046: DUP1
00001047: DUP4
00001048: ADD
00001049: SWAP4
0000104a: PUSH32 0x55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475
0000106b: SWAP3
0000106c: SWAP2
0000106d: JUMPDEST
0000106e: DUP3
0000106f: DUP3
00001070: LT
00001071: PUSH2 0x1084
00001074: JUMPI
00001075: PUSH2 0x0446
00001078: DUP6
00001079: PUSH2 0x069d
0000107c: DUP2
0000107d: DUP10
0000107e: SUB
0000107f: DUP3
00001080: PUSH2 0x3c94
00001083: JUMP
00001084: JUMPDEST
00001085: DUP4
00001086: SLOAD
00001087: DUP7
00001088: MSTORE
00001089: SWAP5
0000108a: DUP6
0000108b: ADD
0000108c: SWAP5
0000108d: PUSH1 0x01
0000108f: SWAP4
00001090: DUP5
00001091: ADD
00001092: SWAP4
00001093: SWAP1
00001094: SWAP2
00001095: ADD
00001096: SWAP1
00001097: PUSH2 0x106d
0000109a: JUMP
0000109b: JUMPDEST
0000109c: POP
0000109d: CALLVALUE
0000109e: PUSH2 0x044a
000010a1: JUMPI
000010a2: PUSH1 0x40
000010a4: CALLDATASIZE
000010a5: PUSH1 0x03
000010a7: NOT
000010a8: ADD
000010a9: SLT
000010aa: PUSH2 0x044a
000010ad: JUMPI
000010ae: PUSH2 0x10c2
000010b1: PUSH2 0x10b8
000010b4: PUSH2 0x3aac
000010b7: JUMP
000010b8: JUMPDEST
000010b9: PUSH1 0x24
000010bb: CALLDATALOAD
000010bc: SWAP1
000010bd: CALLER
000010be: PUSH2 0x4466
000010c1: JUMP
000010c2: JUMPDEST
000010c3: PUSH1 0x20
000010c5: PUSH1 0x40
000010c7: MLOAD
000010c8: PUSH1 0x01
000010ca: DUP2
000010cb: MSTORE
000010cc: RETURN
000010cd: JUMPDEST
000010ce: POP
000010cf: CALLVALUE
000010d0: PUSH2 0x044a
000010d3: JUMPI
000010d4: PUSH1 0xa0
000010d6: CALLDATASIZE
000010d7: PUSH1 0x03
000010d9: NOT
000010da: ADD
000010db: SLT
000010dc: PUSH2 0x044a
000010df: JUMPI
000010e0: PUSH2 0x10e7
000010e3: PUSH2 0x3aac
000010e6: JUMP
000010e7: JUMPDEST
000010e8: PUSH1 0x24
000010ea: CALLDATALOAD
000010eb: SWAP2
000010ec: PUSH2 0x10f3
000010ef: PUSH2 0x3ad8
000010f2: JUMP
000010f3: JUMPDEST
000010f4: PUSH1 0x84
000010f6: CALLDATALOAD
000010f7: SWAP4
000010f8: SWAP1
000010f9: SWAP3
000010fa: SWAP1
000010fb: PUSH1 0x01
000010fd: PUSH1 0x01
000010ff: PUSH1 0xa0
00001101: SHL
00001102: SUB
00001103: DUP1
00001104: DUP7
00001105: AND
00001106: SWAP2
00001107: DUP3
00001108: DUP8
00001109: SUB
0000110a: PUSH2 0x0bfb
0000110d: JUMPI
0000110e: PUSH2 0x1115
00001111: PUSH2 0x4410
00001114: JUMP
00001115: JUMPDEST
00001116: PUSH2 0x111d
00001119: PUSH2 0x443c
0000111c: JUMP
0000111d: JUMPDEST
0000111e: DUP1
0000111f: DUP3
00001120: DUP1
00001121: PUSH0
00001122: DUP1
00001123: MLOAD
00001124: PUSH1 0x20
00001126: PUSH2 0x55da
00001129: DUP4
0000112a: CODECOPY
0000112b: DUP2
0000112c: MLOAD
0000112d: SWAP2
0000112e: MSTORE
0000112f: SLOAD
00001130: AND
00001131: SWAP6
00001132: AND
00001133: SWAP5
00001134: DUP6
00001135: SUB
00001136: PUSH2 0x1347
00001139: JUMPI
0000113a: DUP3
0000113b: PUSH1 0x0f
0000113d: SLOAD
0000113e: AND
0000113f: CALLER
00001140: SUB
00001141: PUSH2 0x1335
00001144: JUMPI
00001145: PUSH1 0x14
00001147: SLOAD
00001148: TIMESTAMP
00001149: SUB
0000114a: PUSH2 0x1323
0000114d: JUMPI
0000114e: PUSH0
0000114f: NOT
00001150: DUP2
00001151: SUB
00001152: PUSH2 0x12cc
00001155: JUMPI
00001156: POP
00001157: POP
00001158: PUSH2 0x1160
0000115b: DUP7
0000115c: PUSH2 0x412a
0000115f: JUMP
00001160: JUMPDEST
00001161: SWAP5
00001162: JUMPDEST
00001163: DUP3
00001164: CALLER
00001165: SUB
00001166: PUSH2 0x12bc
00001169: JUMPI
0000116a: JUMPDEST
0000116b: PUSH2 0x11a0
0000116e: PUSH2 0x1179
00001171: PUSH1 0x44
00001173: CALLDATALOAD
00001174: DUP9
00001175: PUSH2 0x3cdd
00001178: JUMP
00001179: JUMPDEST
0000117a: PUSH32 0x00000000000000000000000000000000000000000000000000000000000f4240
0000119b: SWAP1
0000119c: PUSH2 0x3cf0
0000119f: JUMP
000011a0: JUMPDEST
000011a1: DUP4
000011a2: ISZERO
000011a3: PUSH2 0x12a3
000011a6: JUMPI
000011a7: DUP4
000011a8: PUSH0
000011a9: MSTORE
000011aa: PUSH0
000011ab: DUP1
000011ac: MLOAD
000011ad: PUSH1 0x20
000011af: PUSH2 0x553a
000011b2: DUP4
000011b3: CODECOPY
000011b4: DUP2
000011b5: MLOAD
000011b6: SWAP2
000011b7: MSTORE
000011b8: DUP1
000011b9: PUSH1 0x20
000011bb: MSTORE
000011bc: PUSH1 0x40
000011be: PUSH0
000011bf: KECCAK256
000011c0: SLOAD
000011c1: SWAP9
000011c2: DUP9
000011c3: DUP11
000011c4: LT
000011c5: PUSH2 0x1280
000011c8: JUMPI
000011c9: POP
000011ca: SWAP2
000011cb: PUSH2 0x1247
000011ce: PUSH32 0x4e19afb1df46d77083cc4e520735afa0cdc2d763d6bc5d710661c3dbb35f4c4d
000011ef: SWAP7
000011f0: SWAP5
000011f1: SWAP3
000011f2: DUP10
000011f3: PUSH1 0x20
000011f5: SWAP12
000011f6: DUP9
000011f7: SWAP7
000011f8: PUSH1 0x80
000011fa: SWAP10
000011fb: PUSH0
000011fc: MSTORE
000011fd: DUP14
000011fe: MSTORE
000011ff: SUB
00001200: PUSH1 0x40
00001202: PUSH0
00001203: KECCAK256
00001204: SSTORE
00001205: PUSH0
00001206: DUP1
00001207: MLOAD
00001208: PUSH1 0x20
0000120a: PUSH2 0x559a
0000120d: DUP4
0000120e: CODECOPY
0000120f: DUP2
00001210: MLOAD
00001211: SWAP2
00001212: MSTORE
00001213: DUP11
00001214: DUP2
00001215: SLOAD
00001216: SUB
00001217: SWAP1
00001218: SSTORE
00001219: PUSH0
0000121a: DUP6
0000121b: PUSH0
0000121c: DUP1
0000121d: MLOAD
0000121e: PUSH1 0x20
00001220: PUSH2 0x55ba
00001223: DUP4
00001224: CODECOPY
00001225: DUP2
00001226: MLOAD
00001227: SWAP2
00001228: MSTORE
00001229: DUP14
0000122a: DUP14
0000122b: PUSH1 0x40
0000122d: MLOAD
0000122e: SWAP1
0000122f: DUP2
00001230: MSTORE
00001231: LOG3
00001232: PUSH2 0x2710
00001235: PUSH2 0x1240
00001238: PUSH1 0x0b
0000123a: SLOAD
0000123b: DUP4
0000123c: PUSH2 0x3cdd
0000123f: JUMP
00001240: JUMPDEST
00001241: DIV
00001242: SWAP1
00001243: PUSH2 0x3cd0
00001246: JUMP
00001247: JUMPDEST
00001248: SWAP8
00001249: PUSH2 0x1253
0000124c: DUP10
0000124d: DUP4
0000124e: DUP8
0000124f: PUSH2 0x4611
00001252: JUMP
00001253: JUMPDEST
00001254: PUSH1 0x40
00001256: MLOAD
00001257: SWAP5
00001258: DUP6
00001259: MSTORE
0000125a: DUP10
0000125b: DUP6
0000125c: ADD
0000125d: MSTORE
0000125e: AND
0000125f: PUSH1 0x40
00001261: DUP4
00001262: ADD
00001263: MSTORE
00001264: PUSH1 0x60
00001266: DUP3
00001267: ADD
00001268: MSTORE
00001269: LOG1
0000126a: PUSH0
0000126b: DUP1
0000126c: MLOAD
0000126d: PUSH1 0x20
0000126f: PUSH2 0x563a
00001272: DUP4
00001273: CODECOPY
00001274: DUP2
00001275: MLOAD
00001276: SWAP2
00001277: MSTORE
00001278: TSTORE
00001279: PUSH1 0x40
0000127b: MLOAD
0000127c: SWAP1
0000127d: DUP2
0000127e: MSTORE
0000127f: RETURN
00001280: JUMPDEST
00001281: DUP10
00001282: SWAP1
00001283: PUSH2 0x129f
00001286: DUP11
00001287: PUSH1 0x40
00001289: MLOAD
0000128a: SWAP4
0000128b: DUP5
0000128c: SWAP4
0000128d: PUSH4 0x391434e3
00001292: PUSH1 0xe2
00001294: SHL
00001295: DUP6
00001296: MSTORE
00001297: PUSH1 0x04
00001299: DUP6
0000129a: ADD
0000129b: PUSH2 0x418f
0000129e: JUMP
0000129f: JUMPDEST
000012a0: SUB
000012a1: SWAP1
000012a2: REVERT
000012a3: JUMPDEST
000012a4: PUSH1 0x40
000012a6: MLOAD
000012a7: PUSH4 0x4b637e8f
000012ac: PUSH1 0xe1
000012ae: SHL
000012af: DUP2
000012b0: MSTORE
000012b1: PUSH1 0x04
000012b3: DUP2
000012b4: ADD
000012b5: DUP8
000012b6: SWAP1
000012b7: MSTORE
000012b8: PUSH1 0x24
000012ba: SWAP1
000012bb: REVERT
000012bc: JUMPDEST
000012bd: PUSH2 0x12c7
000012c0: DUP7
000012c1: CALLER
000012c2: DUP10
000012c3: PUSH2 0x4528
000012c6: JUMP
000012c7: JUMPDEST
000012c8: PUSH2 0x116a
000012cb: JUMP
000012cc: JUMPDEST
000012cd: PUSH2 0x12d8
000012d0: DUP9
000012d1: SWAP8
000012d2: SWAP3
000012d3: SWAP8
000012d4: PUSH2 0x412a
000012d7: JUMP
000012d8: JUMPDEST
000012d9: LT
000012da: ISZERO
000012db: PUSH2 0x1162
000012de: JUMPI
000012df: PUSH1 0x40
000012e1: MLOAD
000012e2: PUSH3 0x461bcd
000012e6: PUSH1 0xe5
000012e8: SHL
000012e9: DUP2
000012ea: MSTORE
000012eb: PUSH1 0x20
000012ed: PUSH1 0x04
000012ef: DUP3
000012f0: ADD
000012f1: MSTORE
000012f2: PUSH1 0x1d
000012f4: PUSH1 0x24
000012f6: DUP3
000012f7: ADD
000012f8: MSTORE
000012f9: PUSH32 0x455243343632363a2072656465656d206d6f7265207468616e206d6178000000
0000131a: PUSH1 0x44
0000131c: DUP3
0000131d: ADD
0000131e: MSTORE
0000131f: PUSH1 0x64
00001321: SWAP1
00001322: REVERT
00001323: JUMPDEST
00001324: PUSH1 0x40
00001326: MLOAD
00001327: PUSH4 0x1f4bcb2b
0000132c: PUSH1 0xe0
0000132e: SHL
0000132f: DUP2
00001330: MSTORE
00001331: PUSH1 0x04
00001333: SWAP1
00001334: REVERT
00001335: JUMPDEST
00001336: PUSH1 0x40
00001338: MLOAD
00001339: PUSH4 0xe9ec8129
0000133e: PUSH1 0xe0
00001340: SHL
00001341: DUP2
00001342: MSTORE
00001343: PUSH1 0x04
00001345: SWAP1
00001346: REVERT
00001347: JUMPDEST
00001348: PUSH1 0x40
0000134a: MLOAD
0000134b: PUSH4 0x6448d6e9
00001350: PUSH1 0xe1
00001352: SHL
00001353: DUP2
00001354: MSTORE
00001355: PUSH1 0x04
00001357: SWAP1
00001358: REVERT
00001359: JUMPDEST
0000135a: POP
0000135b: CALLVALUE
0000135c: PUSH2 0x044a
0000135f: JUMPI
00001360: DUP1
00001361: PUSH1 0x03
00001363: NOT
00001364: CALLDATASIZE
00001365: ADD
00001366: SLT
00001367: PUSH2 0x044a
0000136a: JUMPI
0000136b: PUSH1 0x20
0000136d: PUSH1 0x10
0000136f: SLOAD
00001370: PUSH1 0x40
00001372: MLOAD
00001373: SWAP1
00001374: DUP2
00001375: MSTORE
00001376: RETURN
00001377: JUMPDEST
00001378: POP
00001379: CALLVALUE
0000137a: PUSH2 0x044a
0000137d: JUMPI
0000137e: DUP1
0000137f: PUSH1 0x03
00001381: NOT
00001382: CALLDATASIZE
00001383: ADD
00001384: SLT
00001385: PUSH2 0x044a
00001388: JUMPI
00001389: PUSH1 0x0e
0000138b: SLOAD
0000138c: PUSH1 0x01
0000138e: PUSH1 0x01
00001390: PUSH1 0xa0
00001392: SHL
00001393: SUB
00001394: SWAP1
00001395: DUP2
00001396: AND
00001397: SWAP1
00001398: CALLER
00001399: DUP3
0000139a: SWAP1
0000139b: SUB
0000139c: PUSH2 0x054a
0000139f: JUMPI
000013a0: PUSH2 0x13ab
000013a3: PUSH1 0x13
000013a5: SLOAD
000013a6: TIMESTAMP
000013a7: PUSH2 0x3cd0
000013aa: JUMP
000013ab: JUMPDEST
000013ac: PUSH1 0x08
000013ae: SLOAD
000013af: GT
000013b0: PUSH2 0x1419
000013b3: JUMPI
000013b4: PUSH32 0x55ce6141cc7099e5baac44c64543a6d7fc4e37ebba0fcaa65fa1f2a9996ec5a5
000013d5: SWAP2
000013d6: PUSH2 0x140f
000013d9: PUSH1 0x20
000013db: SWAP3
000013dc: TIMESTAMP
000013dd: PUSH1 0x13
000013df: SSTORE
000013e0: PUSH2 0x2710
000013e3: PUSH2 0x13f6
000013e6: PUSH2 0x13ed
000013e9: PUSH2 0x3d0e
000013ec: JUMP
000013ed: JUMPDEST
000013ee: PUSH1 0x07
000013f0: SLOAD
000013f1: SWAP1
000013f2: PUSH2 0x3cdd
000013f5: JUMP
000013f6: JUMPDEST
000013f7: DIV
000013f8: SWAP3
000013f9: DUP4
000013fa: SWAP2
000013fb: PUSH0
000013fc: DUP1
000013fd: MLOAD
000013fe: PUSH1 0x20
00001400: PUSH2 0x55da
00001403: DUP4
00001404: CODECOPY
00001405: DUP2
00001406: MLOAD
00001407: SWAP2
00001408: MSTORE
00001409: SLOAD
0000140a: AND
0000140b: PUSH2 0x4611
0000140e: JUMP
0000140f: JUMPDEST
00001410: PUSH1 0x40
00001412: MLOAD
00001413: SWAP1
00001414: DUP2
00001415: MSTORE
00001416: LOG1
00001417: DUP1
00001418: RETURN
00001419: JUMPDEST
0000141a: PUSH1 0x40
0000141c: MLOAD
0000141d: PUSH4 0x1221b97b
00001422: PUSH1 0xe0
00001424: SHL
00001425: DUP2
00001426: MSTORE
00001427: PUSH1 0x04
00001429: SWAP1
0000142a: REVERT
0000142b: JUMPDEST
0000142c: POP
0000142d: CALLVALUE
0000142e: PUSH2 0x044a
00001431: JUMPI
00001432: PUSH1 0x20
00001434: CALLDATASIZE
00001435: PUSH1 0x03
00001437: NOT
00001438: ADD
00001439: SLT
0000143a: PUSH2 0x044a
0000143d: JUMPI
0000143e: PUSH32 0x4bded0b2eab1f9bbe6b8e6ddeeb362eae52626c095bb6cffb84a2bb3422fc5ee
0000145f: PUSH1 0x20
00001461: PUSH2 0x1468
00001464: PUSH2 0x3b45
00001467: JUMP
00001468: JUMPDEST
00001469: PUSH2 0x1470
0000146c: PUSH2 0x436a
0000146f: JUMP
00001470: JUMPDEST
00001471: ISZERO
00001472: ISZERO
00001473: PUSH1 0xff
00001475: NOT
00001476: PUSH1 0x1e
00001478: SLOAD
00001479: AND
0000147a: PUSH1 0xff
0000147c: DUP3
0000147d: AND
0000147e: OR
0000147f: PUSH1 0x1e
00001481: SSTORE
00001482: PUSH1 0x40
00001484: MLOAD
00001485: SWAP1
00001486: DUP2
00001487: MSTORE
00001488: LOG1
00001489: DUP1
0000148a: RETURN
0000148b: JUMPDEST
0000148c: POP
0000148d: CALLVALUE
0000148e: PUSH2 0x044a
00001491: JUMPI
00001492: DUP1
00001493: PUSH1 0x03
00001495: NOT
00001496: CALLDATASIZE
00001497: ADD
00001498: SLT
00001499: PUSH2 0x044a
0000149c: JUMPI
0000149d: PUSH1 0x20
0000149f: PUSH1 0x11
000014a1: SLOAD
000014a2: PUSH1 0x40
000014a4: MLOAD
000014a5: SWAP1
000014a6: DUP2
000014a7: MSTORE
000014a8: RETURN
000014a9: JUMPDEST
000014aa: POP
000014ab: CALLVALUE
000014ac: PUSH2 0x044a
000014af: JUMPI
000014b0: DUP1
000014b1: PUSH1 0x03
000014b3: NOT
000014b4: CALLDATASIZE
000014b5: ADD
000014b6: SLT
000014b7: PUSH2 0x044a
000014ba: JUMPI
000014bb: PUSH1 0x40
000014bd: MLOAD
000014be: PUSH0
000014bf: DUP1
000014c0: MLOAD
000014c1: PUSH1 0x20
000014c3: PUSH2 0x555a
000014c6: DUP4
000014c7: CODECOPY
000014c8: DUP2
000014c9: MLOAD
000014ca: SWAP2
000014cb: MSTORE
000014cc: DUP1
000014cd: SLOAD
000014ce: DUP3
000014cf: PUSH0
000014d0: PUSH2 0x14d8
000014d3: DUP4
000014d4: PUSH2 0x3d43
000014d7: JUMP
000014d8: JUMPDEST
000014d9: SWAP3
000014da: DUP4
000014db: DUP4
000014dc: MSTORE
000014dd: PUSH1 0x20
000014df: SWAP5
000014e0: PUSH1 0x01
000014e2: SWAP2
000014e3: DUP7
000014e4: PUSH1 0x01
000014e6: DUP3
000014e7: AND
000014e8: SWAP2
000014e9: DUP3
000014ea: PUSH0
000014eb: EQ
000014ec: PUSH2 0x1557
000014ef: JUMPI
000014f0: POP
000014f1: POP
000014f2: PUSH1 0x01
000014f4: EQ
000014f5: PUSH2 0x151b
000014f8: JUMPI
000014f9: JUMPDEST
000014fa: POP
000014fb: POP
000014fc: PUSH2 0x1507
000014ff: SWAP3
00001500: POP
00001501: SUB
00001502: DUP4
00001503: PUSH2 0x3c94
00001506: JUMP
00001507: JUMPDEST
00001508: PUSH2 0x0446
0000150b: PUSH1 0x40
0000150d: MLOAD
0000150e: SWAP3
0000150f: DUP3
00001510: DUP5
00001511: SWAP4
00001512: DUP5
00001513: MSTORE
00001514: DUP4
00001515: ADD
00001516: SWAP1
00001517: PUSH2 0x3a6a
0000151a: JUMP
0000151b: JUMPDEST
0000151c: DUP6
0000151d: SWAP3
0000151e: POP
0000151f: PUSH0
00001520: MSTORE
00001521: DUP2
00001522: PUSH0
00001523: KECCAK256
00001524: SWAP1
00001525: PUSH0
00001526: SWAP2
00001527: JUMPDEST
00001528: DUP6
00001529: DUP4
0000152a: LT
0000152b: PUSH2 0x153f
0000152e: JUMPI
0000152f: POP
00001530: POP
00001531: PUSH2 0x1507
00001534: SWAP4
00001535: POP
00001536: DUP3
00001537: ADD
00001538: ADD
00001539: DUP6
0000153a: DUP1
0000153b: PUSH2 0x14f9
0000153e: JUMP
0000153f: JUMPDEST
00001540: DUP1
00001541: SLOAD
00001542: DUP4
00001543: DUP10
00001544: ADD
00001545: DUP6
00001546: ADD
00001547: MSTORE
00001548: DUP8
00001549: SWAP5
0000154a: POP
0000154b: DUP7
0000154c: SWAP4
0000154d: SWAP1
0000154e: SWAP3
0000154f: ADD
00001550: SWAP2
00001551: DUP2
00001552: ADD
00001553: PUSH2 0x1527
00001556: JUMP
00001557: JUMPDEST
00001558: SWAP3
00001559: POP
0000155a: SWAP4
0000155b: POP
0000155c: POP
0000155d: PUSH2 0x1507
00001560: SWAP5
00001561: SWAP2
00001562: POP
00001563: PUSH1 0xff
00001565: NOT
00001566: AND
00001567: DUP3
00001568: DUP5
00001569: ADD
0000156a: MSTORE
0000156b: ISZERO
0000156c: ISZERO
0000156d: PUSH1 0x05
0000156f: SHL
00001570: DUP3
00001571: ADD
00001572: ADD
00001573: DUP6
00001574: DUP1
00001575: PUSH2 0x14f9
00001578: JUMP
00001579: JUMPDEST
0000157a: POP
0000157b: CALLVALUE
0000157c: PUSH2 0x044a
0000157f: JUMPI
00001580: PUSH1 0x40
00001582: CALLDATASIZE
00001583: PUSH1 0x03
00001585: NOT
00001586: ADD
00001587: SLT
00001588: PUSH2 0x044a
0000158b: JUMPI
0000158c: PUSH2 0x1593
0000158f: PUSH2 0x3ac2
00001592: JUMP
00001593: JUMPDEST
00001594: POP
00001595: PUSH2 0x159c
00001598: PUSH2 0x4410
0000159b: JUMP
0000159c: JUMPDEST
0000159d: PUSH2 0x15a4
000015a0: PUSH2 0x443c
000015a3: JUMP
000015a4: JUMPDEST
000015a5: PUSH1 0x40
000015a7: MLOAD
000015a8: PUSH4 0x7dc4dd15
000015ad: PUSH1 0xe1
000015af: SHL
000015b0: DUP2
000015b1: MSTORE
000015b2: PUSH1 0x04
000015b4: SWAP1
000015b5: REVERT
000015b6: JUMPDEST
000015b7: POP
000015b8: CALLVALUE
000015b9: PUSH2 0x044a
000015bc: JUMPI
000015bd: DUP1
000015be: PUSH1 0x03
000015c0: NOT
000015c1: CALLDATASIZE
000015c2: ADD
000015c3: SLT
000015c4: PUSH2 0x044a
000015c7: JUMPI
000015c8: PUSH1 0x20
000015ca: PUSH1 0x1b
000015cc: SLOAD
000015cd: PUSH1 0x40
000015cf: MLOAD
000015d0: SWAP1
000015d1: DUP2
000015d2: MSTORE
000015d3: RETURN
000015d4: JUMPDEST
000015d5: POP
000015d6: CALLVALUE
000015d7: PUSH2 0x044a
000015da: JUMPI
000015db: PUSH1 0x40
000015dd: CALLDATASIZE
000015de: PUSH1 0x03
000015e0: NOT
000015e1: ADD
000015e2: SLT
000015e3: PUSH2 0x044a
000015e6: JUMPI
000015e7: PUSH1 0x04
000015e9: CALLDATALOAD
000015ea: PUSH2 0x15f1
000015ed: PUSH2 0x3ac2
000015f0: JUMP
000015f1: JUMPDEST
000015f2: PUSH2 0x15f9
000015f5: PUSH2 0x4410
000015f8: JUMP
000015f9: JUMPDEST
000015fa: PUSH2 0x1601
000015fd: PUSH2 0x443c
00001600: JUMP
00001601: JUMPDEST
00001602: DUP2
00001603: ISZERO
00001604: PUSH2 0x16fa
00001607: JUMPI
00001608: PUSH0
00001609: DUP1
0000160a: MLOAD
0000160b: PUSH1 0x20
0000160d: PUSH2 0x55da
00001610: DUP4
00001611: CODECOPY
00001612: DUP2
00001613: MLOAD
00001614: SWAP2
00001615: MSTORE
00001616: SLOAD
00001617: PUSH1 0x01
00001619: PUSH1 0x01
0000161b: PUSH1 0xa0
0000161d: SHL
0000161e: SUB
0000161f: SWAP2
00001620: DUP3
00001621: AND
00001622: SWAP2
00001623: SWAP1
00001624: DUP2
00001625: AND
00001626: DUP3
00001627: SUB
00001628: PUSH2 0x1347
0000162b: JUMPI
0000162c: DUP1
0000162d: PUSH2 0x163c
00001630: DUP5
00001631: DUP7
00001632: SWAP4
00001633: PUSH1 0x0f
00001635: SLOAD
00001636: AND
00001637: CALLER
00001638: PUSH2 0x4466
0000163b: JUMP
0000163c: JUMPDEST
0000163d: PUSH1 0x0f
0000163f: SLOAD
00001640: AND
00001641: PUSH1 0x1b
00001643: SLOAD
00001644: DUP2
00001645: EXTCODESIZE
00001646: ISZERO
00001647: PUSH2 0x16eb
0000164a: JUMPI
0000164b: DUP3
0000164c: SWAP2
0000164d: PUSH1 0x84
0000164f: DUP4
00001650: SWAP3
00001651: PUSH1 0x40
00001653: MLOAD
00001654: SWAP5
00001655: DUP6
00001656: SWAP4
00001657: DUP5
00001658: SWAP3
00001659: PUSH4 0x567a28eb
0000165e: PUSH1 0xe0
00001660: SHL
00001661: DUP5
00001662: MSTORE
00001663: CALLER
00001664: PUSH1 0x04
00001666: DUP6
00001667: ADD
00001668: MSTORE
00001669: DUP11
0000166a: PUSH1 0x24
0000166c: DUP6
0000166d: ADD
0000166e: MSTORE
0000166f: PUSH0
00001670: PUSH1 0x44
00001672: DUP6
00001673: ADD
00001674: MSTORE
00001675: PUSH1 0x64
00001677: DUP5
00001678: ADD
00001679: MSTORE
0000167a: GAS
0000167b: CALL
0000167c: DUP1
0000167d: ISZERO
0000167e: PUSH2 0x16ef
00001681: JUMPI
00001682: PUSH2 0x16d7
00001685: JUMPI
00001686: JUMPDEST
00001687: POP
00001688: PUSH32 0x84e61bb7a516bd67884995d6a189c01796ef032973d03ad48f8a301b28161d5d
000016a9: PUSH1 0x80
000016ab: DUP5
000016ac: DUP5
000016ad: PUSH1 0x40
000016af: MLOAD
000016b0: SWAP2
000016b1: CALLER
000016b2: DUP4
000016b3: MSTORE
000016b4: PUSH1 0x20
000016b6: DUP4
000016b7: ADD
000016b8: MSTORE
000016b9: PUSH1 0x40
000016bb: DUP3
000016bc: ADD
000016bd: MSTORE
000016be: PUSH0
000016bf: PUSH1 0x60
000016c1: DUP3
000016c2: ADD
000016c3: MSTORE
000016c4: LOG1
000016c5: DUP1
000016c6: PUSH0
000016c7: DUP1
000016c8: MLOAD
000016c9: PUSH1 0x20
000016cb: PUSH2 0x563a
000016ce: DUP4
000016cf: CODECOPY
000016d0: DUP2
000016d1: MLOAD
000016d2: SWAP2
000016d3: MSTORE
000016d4: TSTORE
000016d5: DUP1
000016d6: RETURN
000016d7: JUMPDEST
000016d8: PUSH2 0x16e0
000016db: SWAP1
000016dc: PUSH2 0x3c66
000016df: JUMP
000016e0: JUMPDEST
000016e1: PUSH2 0x16eb
000016e4: JUMPI
000016e5: DUP3
000016e6: PUSH0
000016e7: PUSH2 0x1686
000016ea: JUMP
000016eb: JUMPDEST
000016ec: DUP3
000016ed: DUP1
000016ee: REVERT
000016ef: JUMPDEST
000016f0: PUSH1 0x40
000016f2: MLOAD
000016f3: RETURNDATASIZE
000016f4: DUP5
000016f5: DUP3
000016f6: RETURNDATACOPY
000016f7: RETURNDATASIZE
000016f8: SWAP1
000016f9: REVERT
000016fa: JUMPDEST
000016fb: PUSH1 0x40
000016fd: MLOAD
000016fe: PUSH4 0x7ea773a9
00001703: PUSH1 0xe0
00001705: SHL
00001706: DUP2
00001707: MSTORE
00001708: PUSH1 0x04
0000170a: SWAP1
0000170b: REVERT
0000170c: JUMPDEST
0000170d: POP
0000170e: CALLVALUE
0000170f: PUSH2 0x044a
00001712: JUMPI
00001713: DUP1
00001714: PUSH1 0x03
00001716: NOT
00001717: CALLDATASIZE
00001718: ADD
00001719: SLT
0000171a: PUSH2 0x044a
0000171d: JUMPI
0000171e: PUSH0
0000171f: DUP1
00001720: MLOAD
00001721: PUSH1 0x20
00001723: PUSH2 0x557a
00001726: DUP4
00001727: CODECOPY
00001728: DUP2
00001729: MLOAD
0000172a: SWAP2
0000172b: MSTORE
0000172c: SLOAD
0000172d: PUSH1 0x40
0000172f: MLOAD
00001730: PUSH1 0x01
00001732: PUSH1 0x01
00001734: PUSH1 0xa0
00001736: SHL
00001737: SUB
00001738: SWAP1
00001739: SWAP2
0000173a: AND
0000173b: DUP2
0000173c: MSTORE
0000173d: PUSH1 0x20
0000173f: SWAP1
00001740: RETURN
00001741: JUMPDEST
00001742: POP
00001743: CALLVALUE
00001744: PUSH2 0x044a
00001747: JUMPI
00001748: DUP1
00001749: PUSH1 0x03
0000174b: NOT
0000174c: CALLDATASIZE
0000174d: ADD
0000174e: SLT
0000174f: PUSH2 0x044a
00001752: JUMPI
00001753: PUSH1 0x20
00001755: PUSH1 0x40
00001757: MLOAD
00001758: PUSH20 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
0000176d: DUP2
0000176e: MSTORE
0000176f: RETURN
00001770: JUMPDEST
00001771: POP
00001772: CALLVALUE
00001773: PUSH2 0x044a
00001776: JUMPI
00001777: DUP1
00001778: PUSH1 0x03
0000177a: NOT
0000177b: CALLDATASIZE
0000177c: ADD
0000177d: SLT
0000177e: PUSH2 0x044a
00001781: JUMPI
00001782: PUSH2 0x0180
00001785: PUSH1 0x40
00001787: MLOAD
00001788: PUSH2 0x1790
0000178b: DUP2
0000178c: PUSH2 0x3c2f
0000178f: JUMP
00001790: JUMPDEST
00001791: DUP3
00001792: DUP2
00001793: MSTORE
00001794: PUSH1 0x60
00001796: PUSH1 0x20
00001798: DUP3
00001799: ADD
0000179a: MSTORE
0000179b: PUSH1 0x60
0000179d: PUSH1 0x40
0000179f: DUP3
000017a0: ADD
000017a1: MSTORE
000017a2: DUP3
000017a3: PUSH1 0x60
000017a5: DUP3
000017a6: ADD
000017a7: MSTORE
000017a8: DUP3
000017a9: PUSH1 0x80
000017ab: DUP3
000017ac: ADD
000017ad: MSTORE
000017ae: DUP3
000017af: PUSH1 0xa0
000017b1: DUP3
000017b2: ADD
000017b3: MSTORE
000017b4: DUP3
000017b5: PUSH1 0xc0
000017b7: DUP3
000017b8: ADD
000017b9: MSTORE
000017ba: DUP3
000017bb: PUSH1 0xe0
000017bd: DUP3
000017be: ADD
000017bf: MSTORE
000017c0: DUP3
000017c1: PUSH2 0x0100
000017c4: DUP3
000017c5: ADD
000017c6: MSTORE
000017c7: DUP3
000017c8: PUSH2 0x0120
000017cb: DUP3
000017cc: ADD
000017cd: MSTORE
000017ce: DUP3
000017cf: PUSH2 0x0140
000017d2: DUP3
000017d3: ADD
000017d4: MSTORE
000017d5: DUP3
000017d6: PUSH2 0x0160
000017d9: DUP3
000017da: ADD
000017db: MSTORE
000017dc: ADD
000017dd: MSTORE
000017de: PUSH1 0x40
000017e0: MLOAD
000017e1: PUSH2 0x17e9
000017e4: DUP2
000017e5: PUSH2 0x3c2f
000017e8: JUMP
000017e9: JUMPDEST
000017ea: PUSH1 0x03
000017ec: SLOAD
000017ed: PUSH1 0x01
000017ef: PUSH1 0x01
000017f1: PUSH1 0xa0
000017f3: SHL
000017f4: SUB
000017f5: AND
000017f6: DUP2
000017f7: MSTORE
000017f8: PUSH1 0x40
000017fa: MLOAD
000017fb: PUSH1 0x04
000017fd: SLOAD
000017fe: SWAP1
000017ff: PUSH0
00001800: DUP2
00001801: PUSH2 0x1809
00001804: DUP5
00001805: PUSH2 0x3d43
00001808: JUMP
00001809: JUMPDEST
0000180a: SWAP2
0000180b: DUP3
0000180c: DUP3
0000180d: MSTORE
0000180e: PUSH1 0x01
00001810: SWAP5
00001811: PUSH1 0x01
00001813: DUP2
00001814: AND
00001815: SWAP1
00001816: DUP2
00001817: PUSH0
00001818: EQ
00001819: PUSH2 0x1a87
0000181c: JUMPI
0000181d: POP
0000181e: PUSH1 0x01
00001820: EQ
00001821: PUSH2 0x1a3b
00001824: JUMPI
00001825: JUMPDEST
00001826: PUSH2 0x1831
00001829: SWAP3
0000182a: POP
0000182b: SUB
0000182c: DUP3
0000182d: PUSH2 0x3c94
00001830: JUMP
00001831: JUMPDEST
00001832: PUSH1 0x20
00001834: DUP4
00001835: ADD
00001836: MSTORE
00001837: PUSH1 0x40
00001839: MLOAD
0000183a: SWAP1
0000183b: DUP2
0000183c: PUSH0
0000183d: PUSH1 0x05
0000183f: SLOAD
00001840: SWAP3
00001841: PUSH2 0x1849
00001844: DUP5
00001845: PUSH2 0x3d43
00001848: JUMP
00001849: JUMPDEST
0000184a: DUP1
0000184b: DUP5
0000184c: MSTORE
0000184d: SWAP4
0000184e: PUSH1 0x01
00001850: DUP2
00001851: AND
00001852: SWAP1
00001853: DUP2
00001854: ISZERO
00001855: PUSH2 0x1a19
00001858: JUMPI
00001859: POP
0000185a: PUSH1 0x01
0000185c: EQ
0000185d: PUSH2 0x19bb
00001860: JUMPI
00001861: JUMPDEST
00001862: POP
00001863: PUSH2 0x186e
00001866: SWAP3
00001867: POP
00001868: SUB
00001869: DUP3
0000186a: PUSH2 0x3c94
0000186d: JUMP
0000186e: JUMPDEST
0000186f: PUSH1 0x40
00001871: DUP3
00001872: DUP2
00001873: ADD
00001874: SWAP2
00001875: SWAP1
00001876: SWAP2
00001877: MSTORE
00001878: PUSH1 0x06
0000187a: SLOAD
0000187b: PUSH1 0x60
0000187d: DUP4
0000187e: ADD
0000187f: MSTORE
00001880: PUSH1 0x07
00001882: SLOAD
00001883: PUSH1 0x80
00001885: DUP4
00001886: ADD
00001887: MSTORE
00001888: PUSH1 0x08
0000188a: SLOAD
0000188b: PUSH1 0xa0
0000188d: DUP4
0000188e: ADD
0000188f: MSTORE
00001890: PUSH1 0x09
00001892: SLOAD
00001893: PUSH1 0xc0
00001895: DUP4
00001896: ADD
00001897: MSTORE
00001898: PUSH1 0x0a
0000189a: SLOAD
0000189b: PUSH1 0xe0
0000189d: DUP4
0000189e: ADD
0000189f: MSTORE
000018a0: PUSH1 0x0b
000018a2: SLOAD
000018a3: PUSH2 0x0100
000018a6: DUP4
000018a7: ADD
000018a8: MSTORE
000018a9: PUSH1 0x0c
000018ab: SLOAD
000018ac: PUSH1 0x01
000018ae: PUSH1 0x01
000018b0: PUSH1 0xa0
000018b2: SHL
000018b3: SUB
000018b4: SWAP1
000018b5: DUP2
000018b6: AND
000018b7: PUSH2 0x0120
000018ba: DUP5
000018bb: ADD
000018bc: MSTORE
000018bd: PUSH1 0x0d
000018bf: SLOAD
000018c0: DUP2
000018c1: AND
000018c2: PUSH2 0x0140
000018c5: DUP5
000018c6: ADD
000018c7: MSTORE
000018c8: PUSH1 0x0e
000018ca: SLOAD
000018cb: DUP2
000018cc: AND
000018cd: PUSH2 0x0160
000018d0: DUP5
000018d1: ADD
000018d2: MSTORE
000018d3: PUSH1 0x0f
000018d5: SLOAD
000018d6: DUP2
000018d7: AND
000018d8: PUSH2 0x0180
000018db: DUP5
000018dc: ADD
000018dd: MSTORE
000018de: DUP2
000018df: MLOAD
000018e0: PUSH1 0x20
000018e2: DUP1
000018e3: DUP3
000018e4: MSTORE
000018e5: DUP5
000018e6: MLOAD
000018e7: SWAP1
000018e8: SWAP3
000018e9: AND
000018ea: DUP3
000018eb: DUP3
000018ec: ADD
000018ed: MSTORE
000018ee: SWAP1
000018ef: DUP4
000018f0: ADD
000018f1: MLOAD
000018f2: PUSH2 0x01a0
000018f5: SWAP3
000018f6: DUP3
000018f7: ADD
000018f8: SWAP3
000018f9: SWAP1
000018fa: SWAP3
000018fb: MSTORE
000018fc: SWAP2
000018fd: DUP3
000018fe: SWAP2
000018ff: PUSH2 0x1927
00001902: SWAP1
00001903: PUSH2 0x1911
00001906: SWAP1
00001907: PUSH2 0x01c0
0000190a: DUP6
0000190b: ADD
0000190c: SWAP1
0000190d: PUSH2 0x3a6a
00001910: JUMP
00001911: JUMPDEST
00001912: PUSH1 0x40
00001914: DUP4
00001915: ADD
00001916: MLOAD
00001917: DUP5
00001918: DUP3
00001919: SUB
0000191a: PUSH1 0x1f
0000191c: NOT
0000191d: ADD
0000191e: PUSH1 0x60
00001920: DUP7
00001921: ADD
00001922: MSTORE
00001923: PUSH2 0x3a6a
00001926: JUMP
00001927: JUMPDEST
00001928: SWAP1
00001929: PUSH1 0x60
0000192b: DUP2
0000192c: ADD
0000192d: MLOAD
0000192e: PUSH1 0x80
00001930: DUP5
00001931: ADD
00001932: MSTORE
00001933: PUSH1 0x80
00001935: DUP2
00001936: ADD
00001937: MLOAD
00001938: PUSH1 0xa0
0000193a: DUP5
0000193b: ADD
0000193c: MSTORE
0000193d: PUSH1 0xa0
0000193f: DUP2
00001940: ADD
00001941: MLOAD
00001942: PUSH1 0xc0
00001944: DUP5
00001945: ADD
00001946: MSTORE
00001947: PUSH1 0xc0
00001949: DUP2
0000194a: ADD
0000194b: MLOAD
0000194c: PUSH1 0xe0
0000194e: DUP5
0000194f: ADD
00001950: MSTORE
00001951: PUSH1 0xe0
00001953: DUP2
00001954: ADD
00001955: MLOAD
00001956: PUSH2 0x0100
00001959: DUP5
0000195a: ADD
0000195b: MSTORE
0000195c: PUSH2 0x0100
0000195f: DUP2
00001960: ADD
00001961: MLOAD
00001962: PUSH2 0x0120
00001965: DUP5
00001966: ADD
00001967: MSTORE
00001968: PUSH1 0x01
0000196a: DUP1
0000196b: PUSH1 0xa0
0000196d: SHL
0000196e: SUB
0000196f: PUSH2 0x0120
00001972: DUP3
00001973: ADD
00001974: MLOAD
00001975: AND
00001976: PUSH2 0x0140
00001979: DUP5
0000197a: ADD
0000197b: MSTORE
0000197c: PUSH1 0x01
0000197e: DUP1
0000197f: PUSH1 0xa0
00001981: SHL
00001982: SUB
00001983: PUSH2 0x0140
00001986: DUP3
00001987: ADD
00001988: MLOAD
00001989: AND
0000198a: PUSH2 0x0160
0000198d: DUP5
0000198e: ADD
0000198f: MSTORE
00001990: PUSH1 0x01
00001992: DUP1
00001993: PUSH1 0xa0
00001995: SHL
00001996: SUB
00001997: PUSH2 0x0160
0000199a: DUP3
0000199b: ADD
0000199c: MLOAD
0000199d: AND
0000199e: PUSH2 0x0180
000019a1: DUP5
000019a2: ADD
000019a3: MSTORE
000019a4: PUSH2 0x0180
000019a7: PUSH1 0x01
000019a9: DUP1
000019aa: PUSH1 0xa0
000019ac: SHL
000019ad: SUB
000019ae: SWAP2
000019af: ADD
000019b0: MLOAD
000019b1: AND
000019b2: PUSH2 0x01a0
000019b5: DUP4
000019b6: ADD
000019b7: MSTORE
000019b8: SUB
000019b9: SWAP1
000019ba: RETURN
000019bb: JUMPDEST
000019bc: PUSH1 0x05
000019be: PUSH0
000019bf: SWAP1
000019c0: DUP2
000019c1: MSTORE
000019c2: SWAP2
000019c3: POP
000019c4: PUSH32 0x036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0
000019e5: JUMPDEST
000019e6: DUP5
000019e7: DUP4
000019e8: LT
000019e9: PUSH2 0x19fe
000019ec: JUMPI
000019ed: POP
000019ee: PUSH2 0x186e
000019f1: SWAP4
000019f2: POP
000019f3: POP
000019f4: DUP2
000019f5: ADD
000019f6: PUSH1 0x20
000019f8: ADD
000019f9: PUSH0
000019fa: PUSH2 0x1861
000019fd: JUMP
000019fe: JUMPDEST
000019ff: DUP2
00001a00: SWAP4
00001a01: POP
00001a02: SWAP1
00001a03: DUP2
00001a04: PUSH1 0x20
00001a06: SWAP3
00001a07: SLOAD
00001a08: DUP4
00001a09: DUP6
00001a0a: DUP10
00001a0b: ADD
00001a0c: ADD
00001a0d: MSTORE
00001a0e: ADD
00001a0f: SWAP2
00001a10: ADD
00001a11: SWAP1
00001a12: SWAP2
00001a13: DUP5
00001a14: SWAP3
00001a15: PUSH2 0x19e5
00001a18: JUMP
00001a19: JUMPDEST
00001a1a: SWAP1
00001a1b: POP
00001a1c: PUSH1 0x20
00001a1e: SWAP3
00001a1f: POP
00001a20: PUSH2 0x186e
00001a23: SWAP5
00001a24: SWAP2
00001a25: POP
00001a26: PUSH1 0xff
00001a28: NOT
00001a29: AND
00001a2a: DUP3
00001a2b: DUP5
00001a2c: ADD
00001a2d: MSTORE
00001a2e: ISZERO
00001a2f: ISZERO
00001a30: PUSH1 0x05
00001a32: SHL
00001a33: DUP3
00001a34: ADD
00001a35: ADD
00001a36: PUSH0
00001a37: PUSH2 0x1861
00001a3a: JUMP
00001a3b: JUMPDEST
00001a3c: POP
00001a3d: PUSH1 0x04
00001a3f: PUSH0
00001a40: SWAP1
00001a41: DUP2
00001a42: MSTORE
00001a43: SWAP1
00001a44: SWAP2
00001a45: DUP5
00001a46: PUSH0
00001a47: DUP1
00001a48: MLOAD
00001a49: PUSH1 0x20
00001a4b: PUSH2 0x561a
00001a4e: DUP4
00001a4f: CODECOPY
00001a50: DUP2
00001a51: MLOAD
00001a52: SWAP2
00001a53: MSTORE
00001a54: JUMPDEST
00001a55: DUP3
00001a56: DUP5
00001a57: LT
00001a58: PUSH2 0x1a6d
00001a5b: JUMPI
00001a5c: POP
00001a5d: POP
00001a5e: POP
00001a5f: SWAP1
00001a60: PUSH1 0x20
00001a62: PUSH2 0x1831
00001a65: SWAP3
00001a66: DUP3
00001a67: ADD
00001a68: ADD
00001a69: PUSH2 0x1825
00001a6c: JUMP
00001a6d: JUMPDEST
00001a6e: PUSH1 0x20
00001a70: SWAP3
00001a71: SWAP5
00001a72: POP
00001a73: DUP1
00001a74: SLOAD
00001a75: DUP4
00001a76: DUP6
00001a77: DUP9
00001a78: ADD
00001a79: ADD
00001a7a: MSTORE
00001a7b: ADD
00001a7c: SWAP2
00001a7d: ADD
00001a7e: SWAP1
00001a7f: SWAP2
00001a80: DUP5
00001a81: DUP5
00001a82: SWAP4
00001a83: PUSH2 0x1a54
00001a86: JUMP
00001a87: JUMPDEST
00001a88: PUSH1 0x20
00001a8a: SWAP3
00001a8b: POP
00001a8c: PUSH2 0x1831
00001a8f: SWAP5
00001a90: SWAP2
00001a91: POP
00001a92: PUSH1 0xff
00001a94: NOT
00001a95: AND
00001a96: DUP3
00001a97: DUP5
00001a98: ADD
00001a99: MSTORE
00001a9a: ISZERO
00001a9b: ISZERO
00001a9c: PUSH1 0x05
00001a9e: SHL
00001a9f: DUP3
00001aa0: ADD
00001aa1: ADD
00001aa2: PUSH2 0x1825
00001aa5: JUMP
00001aa6: JUMPDEST
00001aa7: POP
00001aa8: CALLVALUE
00001aa9: PUSH2 0x044a
00001aac: JUMPI
00001aad: PUSH1 0x20
00001aaf: CALLDATASIZE
00001ab0: PUSH1 0x03
00001ab2: NOT
00001ab3: ADD
00001ab4: SLT
00001ab5: PUSH2 0x044a
00001ab8: JUMPI
00001ab9: PUSH1 0x04
00001abb: CALLDATALOAD
00001abc: PUSH2 0x1ac3
00001abf: PUSH2 0x436a
00001ac2: JUMP
00001ac3: JUMPDEST
00001ac4: PUSH32 0x4ce3464de9f3f9d08f99c3a4af8f37cffea7da47f6def29b334675e10a98223b
00001ae5: PUSH1 0x40
00001ae7: PUSH1 0x1d
00001ae9: SLOAD
00001aea: DUP2
00001aeb: MLOAD
00001aec: SWAP1
00001aed: DUP2
00001aee: MSTORE
00001aef: DUP4
00001af0: PUSH1 0x20
00001af2: DUP3
00001af3: ADD
00001af4: MSTORE
00001af5: LOG1
00001af6: PUSH1 0x1d
00001af8: SSTORE
00001af9: DUP1
00001afa: RETURN
00001afb: JUMPDEST
00001afc: POP
00001afd: CALLVALUE
00001afe: PUSH2 0x044a
00001b01: JUMPI
00001b02: DUP1
00001b03: PUSH1 0x03
00001b05: NOT
00001b06: CALLDATASIZE
00001b07: ADD
00001b08: SLT
00001b09: PUSH2 0x044a
00001b0c: JUMPI
00001b0d: PUSH0
00001b0e: DUP1
00001b0f: MLOAD
00001b10: PUSH1 0x20
00001b12: PUSH2 0x557a
00001b15: DUP4
00001b16: CODECOPY
00001b17: DUP2
00001b18: MLOAD
00001b19: SWAP2
00001b1a: MSTORE
00001b1b: SLOAD
00001b1c: CALLER
00001b1d: PUSH1 0x01
00001b1f: PUSH1 0x01
00001b21: PUSH1 0xa0
00001b23: SHL
00001b24: SUB
00001b25: SWAP2
00001b26: DUP3
00001b27: AND
00001b28: EQ
00001b29: ISZERO
00001b2a: SWAP1
00001b2b: DUP2
00001b2c: PUSH2 0x1b83
00001b2f: JUMPI
00001b30: JUMPDEST
00001b31: POP
00001b32: PUSH2 0x1335
00001b35: JUMPI
00001b36: PUSH2 0x1b3d
00001b39: PUSH2 0x443c
00001b3c: JUMP
00001b3d: JUMPDEST
00001b3e: PUSH0
00001b3f: DUP1
00001b40: MLOAD
00001b41: PUSH1 0x20
00001b43: PUSH2 0x55fa
00001b46: DUP4
00001b47: CODECOPY
00001b48: DUP2
00001b49: MLOAD
00001b4a: SWAP2
00001b4b: MSTORE
00001b4c: PUSH1 0x01
00001b4e: PUSH1 0xff
00001b50: NOT
00001b51: DUP3
00001b52: SLOAD
00001b53: AND
00001b54: OR
00001b55: SWAP1
00001b56: SSTORE
00001b57: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258
00001b78: PUSH1 0x20
00001b7a: PUSH1 0x40
00001b7c: MLOAD
00001b7d: CALLER
00001b7e: DUP2
00001b7f: MSTORE
00001b80: LOG1
00001b81: DUP1
00001b82: RETURN
00001b83: JUMPDEST
00001b84: SWAP1
00001b85: POP
00001b86: PUSH1 0x0d
00001b88: SLOAD
00001b89: AND
00001b8a: CALLER
00001b8b: EQ
00001b8c: ISZERO
00001b8d: PUSH0
00001b8e: PUSH2 0x1b30
00001b91: JUMP
00001b92: JUMPDEST
00001b93: POP
00001b94: CALLVALUE
00001b95: PUSH2 0x044a
00001b98: JUMPI
00001b99: PUSH2 0x1ba1
00001b9c: CALLDATASIZE
00001b9d: PUSH2 0x3b2f
00001ba0: JUMP
00001ba1: JUMPDEST
00001ba2: SWAP1
00001ba3: PUSH2 0x1baa
00001ba6: PUSH2 0x436a
00001ba9: JUMP
00001baa: JUMPDEST
00001bab: DUP2
00001bac: ISZERO
00001bad: DUP1
00001bae: ISZERO
00001baf: PUSH2 0x1c19
00001bb2: JUMPI
00001bb3: JUMPDEST
00001bb4: PUSH2 0x0c11
00001bb7: JUMPI
00001bb8: PUSH2 0x1bc0
00001bbb: SWAP1
00001bbc: PUSH2 0x466f
00001bbf: JUMP
00001bc0: JUMPDEST
00001bc1: PUSH1 0x01
00001bc3: DUP1
00001bc4: PUSH1 0xa0
00001bc6: SHL
00001bc7: SUB
00001bc8: SWAP2
00001bc9: SLOAD
00001bca: SWAP1
00001bcb: PUSH1 0x03
00001bcd: SHL
00001bce: SHR
00001bcf: AND
00001bd0: DUP1
00001bd1: DUP4
00001bd2: MSTORE
00001bd3: PUSH1 0x02
00001bd5: PUSH1 0x20
00001bd7: MSTORE
00001bd8: PUSH32 0x7cd01dd3533c6dc08821cd303814de60aba1901f1531c3cbcd95d26ed924e9cf
00001bf9: PUSH1 0x40
00001bfb: DUP1
00001bfc: DUP6
00001bfd: KECCAK256
00001bfe: SLOAD
00001bff: DUP2
00001c00: MLOAD
00001c01: SWAP1
00001c02: DUP2
00001c03: MSTORE
00001c04: DUP5
00001c05: PUSH1 0x20
00001c07: DUP3
00001c08: ADD
00001c09: MSTORE
00001c0a: LOG1
00001c0b: DUP3
00001c0c: MSTORE
00001c0d: PUSH1 0x02
00001c0f: PUSH1 0x20
00001c11: MSTORE
00001c12: PUSH1 0x40
00001c14: DUP3
00001c15: KECCAK256
00001c16: SSTORE
00001c17: DUP1
00001c18: RETURN
00001c19: JUMPDEST
00001c1a: POP
00001c1b: PUSH2 0x2710
00001c1e: DUP3
00001c1f: GT
00001c20: PUSH2 0x1bb3
00001c23: JUMP
00001c24: JUMPDEST
00001c25: POP
00001c26: CALLVALUE
00001c27: PUSH2 0x044a
00001c2a: JUMPI
00001c2b: PUSH1 0x20
00001c2d: CALLDATASIZE
00001c2e: PUSH1 0x03
00001c30: NOT
00001c31: ADD
00001c32: SLT
00001c33: PUSH2 0x044a
00001c36: JUMPI
00001c37: PUSH1 0x04
00001c39: CALLDATALOAD
00001c3a: PUSH2 0x1c41
00001c3d: PUSH2 0x436a
00001c40: JUMP
00001c41: JUMPDEST
00001c42: PUSH1 0x06
00001c44: SLOAD
00001c45: DUP1
00001c46: DUP3
00001c47: GT
00001c48: ISZERO
00001c49: PUSH2 0x1335
00001c4c: JUMPI
00001c4d: PUSH1 0x40
00001c4f: PUSH32 0x7f3306669f28a6aa13d0f709be2bd4f3e21d2f37aee9358846a50e1988ee4832
00001c70: SWAP2
00001c71: DUP2
00001c72: MLOAD
00001c73: SWAP1
00001c74: DUP2
00001c75: MSTORE
00001c76: DUP4
00001c77: PUSH1 0x20
00001c79: DUP3
00001c7a: ADD
00001c7b: MSTORE
00001c7c: LOG1
00001c7d: PUSH1 0x06
00001c7f: SSTORE
00001c80: DUP1
00001c81: RETURN
00001c82: JUMPDEST
00001c83: POP
00001c84: CALLVALUE
00001c85: PUSH2 0x044a
00001c88: JUMPI
00001c89: PUSH1 0x20
00001c8b: CALLDATASIZE
00001c8c: PUSH1 0x03
00001c8e: NOT
00001c8f: ADD
00001c90: SLT
00001c91: PUSH2 0x044a
00001c94: JUMPI
00001c95: PUSH2 0x1c9c
00001c98: PUSH2 0x3aac
00001c9b: JUMP
00001c9c: JUMPDEST
00001c9d: PUSH2 0x1ca4
00001ca0: PUSH2 0x436a
00001ca3: JUMP
00001ca4: JUMPDEST
00001ca5: PUSH1 0x01
00001ca7: PUSH1 0x01
00001ca9: PUSH1 0xa0
00001cab: SHL
00001cac: SUB
00001cad: DUP2
00001cae: DUP2
00001caf: AND
00001cb0: SWAP2
00001cb1: DUP3
00001cb2: ISZERO
00001cb3: PUSH2 0x1d01
00001cb6: JUMPI
00001cb7: PUSH32 0xe74dd8b1f5f3d5328df682e649c08b085f09c2ce77b68e54329e8d30e2642f78
00001cd8: SWAP1
00001cd9: PUSH1 0x0f
00001cdb: SLOAD
00001cdc: SWAP3
00001cdd: PUSH2 0x1ced
00001ce0: PUSH1 0x40
00001ce2: MLOAD
00001ce3: SWAP3
00001ce4: DUP4
00001ce5: SWAP3
00001ce6: DUP7
00001ce7: AND
00001ce8: DUP4
00001ce9: PUSH2 0x4150
00001cec: JUMP
00001ced: JUMPDEST
00001cee: SUB
00001cef: SWAP1
00001cf0: LOG1
00001cf1: PUSH1 0x01
00001cf3: PUSH1 0x01
00001cf5: PUSH1 0xa0
00001cf7: SHL
00001cf8: SUB
00001cf9: NOT
00001cfa: AND
00001cfb: OR
00001cfc: PUSH1 0x0f
00001cfe: SSTORE
00001cff: DUP1
00001d00: RETURN
00001d01: JUMPDEST
00001d02: PUSH1 0x40
00001d04: MLOAD
00001d05: PUSH4 0xd214a597
00001d0a: PUSH1 0xe0
00001d0c: SHL
00001d0d: DUP2
00001d0e: MSTORE
00001d0f: PUSH1 0x04
00001d11: SWAP1
00001d12: REVERT
00001d13: JUMPDEST
00001d14: POP
00001d15: CALLVALUE
00001d16: PUSH2 0x044a
00001d19: JUMPI
00001d1a: DUP1
00001d1b: PUSH1 0x03
00001d1d: NOT
00001d1e: CALLDATASIZE
00001d1f: ADD
00001d20: SLT
00001d21: PUSH2 0x044a
00001d24: JUMPI
00001d25: PUSH2 0x1d2c
00001d28: PUSH2 0x436a
00001d2b: JUMP
00001d2c: JUMPDEST
00001d2d: PUSH0
00001d2e: DUP1
00001d2f: MLOAD
00001d30: PUSH1 0x20
00001d32: PUSH2 0x557a
00001d35: DUP4
00001d36: CODECOPY
00001d37: DUP2
00001d38: MLOAD
00001d39: SWAP2
00001d3a: MSTORE
00001d3b: DUP1
00001d3c: SLOAD
00001d3d: PUSH1 0x01
00001d3f: PUSH1 0x01
00001d41: PUSH1 0xa0
00001d43: SHL
00001d44: SUB
00001d45: NOT
00001d46: DUP2
00001d47: AND
00001d48: SWAP1
00001d49: SWAP2
00001d4a: SSTORE
00001d4b: PUSH0
00001d4c: SWAP1
00001d4d: PUSH1 0x01
00001d4f: PUSH1 0x01
00001d51: PUSH1 0xa0
00001d53: SHL
00001d54: SUB
00001d55: AND
00001d56: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00001d77: DUP3
00001d78: DUP1
00001d79: LOG3
00001d7a: DUP1
00001d7b: RETURN
00001d7c: JUMPDEST
00001d7d: POP
00001d7e: CALLVALUE
00001d7f: PUSH2 0x044a
00001d82: JUMPI
00001d83: PUSH1 0x40
00001d85: CALLDATASIZE
00001d86: PUSH1 0x03
00001d88: NOT
00001d89: ADD
00001d8a: SLT
00001d8b: PUSH2 0x044a
00001d8e: JUMPI
00001d8f: PUSH1 0x04
00001d91: CALLDATALOAD
00001d92: SWAP1
00001d93: PUSH2 0x1d9a
00001d96: PUSH2 0x3ac2
00001d99: JUMP
00001d9a: JUMPDEST
00001d9b: SWAP1
00001d9c: PUSH2 0x1da3
00001d9f: PUSH2 0x4410
00001da2: JUMP
00001da3: JUMPDEST
00001da4: PUSH2 0x1dab
00001da7: PUSH2 0x443c
00001daa: JUMP
00001dab: JUMPDEST
00001dac: DUP3
00001dad: PUSH1 0xff
00001daf: PUSH1 0x1e
00001db1: SLOAD
00001db2: AND
00001db3: PUSH2 0x15a4
00001db6: JUMPI
00001db7: PUSH1 0x09
00001db9: SLOAD
00001dba: PUSH2 0x1dc5
00001dbd: PUSH1 0x14
00001dbf: SLOAD
00001dc0: TIMESTAMP
00001dc1: PUSH2 0x3cd0
00001dc4: JUMP
00001dc5: JUMPDEST
00001dc6: GT
00001dc7: PUSH2 0x1323
00001dca: JUMPI
00001dcb: PUSH0
00001dcc: NOT
00001dcd: EQ
00001dce: PUSH2 0x1f2a
00001dd1: JUMPI
00001dd2: JUMPDEST
00001dd3: PUSH1 0x40
00001dd5: MLOAD
00001dd6: PUSH1 0x20
00001dd8: PUSH0
00001dd9: DUP2
00001dda: DUP4
00001ddb: ADD
00001ddc: SWAP3
00001ddd: PUSH4 0x23b872dd
00001de2: PUSH1 0xe0
00001de4: SHL
00001de5: DUP5
00001de6: MSTORE
00001de7: CALLER
00001de8: PUSH1 0x24
00001dea: DUP3
00001deb: ADD
00001dec: MSTORE
00001ded: ADDRESS
00001dee: PUSH1 0x44
00001df0: DUP3
00001df1: ADD
00001df2: MSTORE
00001df3: DUP7
00001df4: PUSH1 0x64
00001df6: DUP3
00001df7: ADD
00001df8: MSTORE
00001df9: PUSH1 0x64
00001dfb: DUP2
00001dfc: MSTORE
00001dfd: PUSH2 0x1e05
00001e00: DUP2
00001e01: PUSH2 0x3c4b
00001e04: JUMP
00001e05: JUMPDEST
00001e06: MLOAD
00001e07: PUSH20 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00001e1c: SWAP4
00001e1d: DUP3
00001e1e: DUP6
00001e1f: GAS
00001e20: CALL
00001e21: ISZERO
00001e22: PUSH2 0x1f1f
00001e25: JUMPI
00001e26: PUSH0
00001e27: MLOAD
00001e28: RETURNDATASIZE
00001e29: PUSH2 0x1f16
00001e2c: JUMPI
00001e2d: POP
00001e2e: DUP1
00001e2f: EXTCODESIZE
00001e30: ISZERO
00001e31: JUMPDEST
00001e32: PUSH2 0x1efe
00001e35: JUMPI
00001e36: POP
00001e37: PUSH2 0x1e4a
00001e3a: PUSH1 0x06
00001e3c: SLOAD
00001e3d: PUSH2 0x1e44
00001e40: PUSH2 0x3d0e
00001e43: JUMP
00001e44: JUMPDEST
00001e45: SWAP1
00001e46: PUSH2 0x3cd0
00001e49: JUMP
00001e4a: JUMPDEST
00001e4b: DUP4
00001e4c: GT
00001e4d: PUSH2 0x1eec
00001e50: JUMPI
00001e51: PUSH2 0x1e59
00001e54: DUP4
00001e55: PUSH2 0x43d9
00001e58: JUMP
00001e59: JUMPDEST
00001e5a: SWAP3
00001e5b: PUSH1 0x1d
00001e5d: SLOAD
00001e5e: PUSH2 0x2710
00001e61: SWAP1
00001e62: DUP2
00001e63: SUB
00001e64: SWAP5
00001e65: DUP2
00001e66: DUP7
00001e67: GT
00001e68: PUSH2 0x0d7a
00001e6b: JUMPI
00001e6c: PUSH1 0x20
00001e6e: SWAP6
00001e6f: PUSH2 0x1e77
00001e72: SWAP2
00001e73: PUSH2 0x3cdd
00001e76: JUMP
00001e77: JUMPDEST
00001e78: DIV
00001e79: SWAP3
00001e7a: CALLER
00001e7b: DUP4
00001e7c: MSTORE
00001e7d: PUSH1 0x18
00001e7f: DUP6
00001e80: MSTORE
00001e81: PUSH1 0x40
00001e83: DUP4
00001e84: KECCAK256
00001e85: PUSH2 0x1e8f
00001e88: DUP6
00001e89: DUP3
00001e8a: SLOAD
00001e8b: PUSH2 0x3d7b
00001e8e: JUMP
00001e8f: JUMPDEST
00001e90: SWAP1
00001e91: SSTORE
00001e92: PUSH2 0x1e9b
00001e95: DUP5
00001e96: DUP3
00001e97: PUSH2 0x45ae
00001e9a: JUMP
00001e9b: JUMPDEST
00001e9c: PUSH1 0x40
00001e9e: MLOAD
00001e9f: SWAP2
00001ea0: DUP3
00001ea1: MSTORE
00001ea2: DUP4
00001ea3: DUP6
00001ea4: DUP4
00001ea5: ADD
00001ea6: MSTORE
00001ea7: PUSH1 0x01
00001ea9: DUP1
00001eaa: PUSH1 0xa0
00001eac: SHL
00001ead: SUB
00001eae: AND
00001eaf: SWAP1
00001eb0: PUSH32 0xdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7
00001ed1: PUSH1 0x40
00001ed3: CALLER
00001ed4: SWAP3
00001ed5: LOG3
00001ed6: PUSH0
00001ed7: DUP1
00001ed8: MLOAD
00001ed9: PUSH1 0x20
00001edb: PUSH2 0x563a
00001ede: DUP4
00001edf: CODECOPY
00001ee0: DUP2
00001ee1: MLOAD
00001ee2: SWAP2
00001ee3: MSTORE
00001ee4: TSTORE
00001ee5: PUSH1 0x40
00001ee7: MLOAD
00001ee8: SWAP1
00001ee9: DUP2
00001eea: MSTORE
00001eeb: RETURN
00001eec: JUMPDEST
00001eed: PUSH1 0x40
00001eef: MLOAD
00001ef0: PUSH4 0x3bc9ae09
00001ef5: PUSH1 0xe0
00001ef7: SHL
00001ef8: DUP2
00001ef9: MSTORE
00001efa: PUSH1 0x04
00001efc: SWAP1
00001efd: REVERT
00001efe: JUMPDEST
00001eff: PUSH1 0x24
00001f01: SWAP1
00001f02: PUSH1 0x40
00001f04: MLOAD
00001f05: SWAP1
00001f06: PUSH4 0x5274afe7
00001f0b: PUSH1 0xe0
00001f0d: SHL
00001f0e: DUP3
00001f0f: MSTORE
00001f10: PUSH1 0x04
00001f12: DUP3
00001f13: ADD
00001f14: MSTORE
00001f15: REVERT
00001f16: JUMPDEST
00001f17: PUSH1 0x01
00001f19: EQ
00001f1a: ISZERO
00001f1b: PUSH2 0x1e31
00001f1e: JUMP
00001f1f: JUMPDEST
00001f20: PUSH1 0x40
00001f22: MLOAD
00001f23: RETURNDATASIZE
00001f24: PUSH0
00001f25: DUP3
00001f26: RETURNDATACOPY
00001f27: RETURNDATASIZE
00001f28: SWAP1
00001f29: REVERT
00001f2a: JUMPDEST
00001f2b: PUSH0
00001f2c: DUP1
00001f2d: MLOAD
00001f2e: PUSH1 0x20
00001f30: PUSH2 0x55da
00001f33: DUP4
00001f34: CODECOPY
00001f35: DUP2
00001f36: MLOAD
00001f37: SWAP2
00001f38: MSTORE
00001f39: SLOAD
00001f3a: PUSH1 0x40
00001f3c: MLOAD
00001f3d: PUSH4 0x70a08231
00001f42: PUSH1 0xe0
00001f44: SHL
00001f45: DUP2
00001f46: MSTORE
00001f47: CALLER
00001f48: PUSH1 0x04
00001f4a: DUP3
00001f4b: ADD
00001f4c: MSTORE
00001f4d: SWAP2
00001f4e: SWAP4
00001f4f: POP
00001f50: PUSH1 0x20
00001f52: SWAP1
00001f53: DUP3
00001f54: SWAP1
00001f55: PUSH1 0x24
00001f57: SWAP1
00001f58: DUP3
00001f59: SWAP1
00001f5a: PUSH1 0x01
00001f5c: PUSH1 0x01
00001f5e: PUSH1 0xa0
00001f60: SHL
00001f61: SUB
00001f62: AND
00001f63: GAS
00001f64: STATICCALL
00001f65: SWAP1
00001f66: DUP2
00001f67: ISZERO
00001f68: PUSH2 0x1fab
00001f6b: JUMPI
00001f6c: DUP4
00001f6d: SWAP2
00001f6e: PUSH2 0x1f79
00001f71: JUMPI
00001f72: JUMPDEST
00001f73: POP
00001f74: SWAP2
00001f75: PUSH2 0x1dd2
00001f78: JUMP
00001f79: JUMPDEST
00001f7a: SWAP1
00001f7b: POP
00001f7c: PUSH1 0x20
00001f7e: DUP2
00001f7f: RETURNDATASIZE
00001f80: PUSH1 0x20
00001f82: GT
00001f83: PUSH2 0x1fa3
00001f86: JUMPI
00001f87: JUMPDEST
00001f88: DUP2
00001f89: PUSH2 0x1f94
00001f8c: PUSH1 0x20
00001f8e: SWAP4
00001f8f: DUP4
00001f90: PUSH2 0x3c94
00001f93: JUMP
00001f94: JUMPDEST
00001f95: DUP2
00001f96: ADD
00001f97: SUB
00001f98: SLT
00001f99: PUSH2 0x0bfb
00001f9c: JUMPI
00001f9d: MLOAD
00001f9e: PUSH0
00001f9f: PUSH2 0x1f72
00001fa2: JUMP
00001fa3: JUMPDEST
00001fa4: RETURNDATASIZE
00001fa5: SWAP2
00001fa6: POP
00001fa7: PUSH2 0x1f87
00001faa: JUMP
00001fab: JUMPDEST
00001fac: PUSH1 0x40
00001fae: MLOAD
00001faf: RETURNDATASIZE
00001fb0: DUP6
00001fb1: DUP3
00001fb2: RETURNDATACOPY
00001fb3: RETURNDATASIZE
00001fb4: SWAP1
00001fb5: REVERT
00001fb6: JUMPDEST
00001fb7: POP
00001fb8: CALLVALUE
00001fb9: PUSH2 0x044a
00001fbc: JUMPI
00001fbd: PUSH1 0x40
00001fbf: CALLDATASIZE
00001fc0: PUSH1 0x03
00001fc2: NOT
00001fc3: ADD
00001fc4: SLT
00001fc5: PUSH2 0x044a
00001fc8: JUMPI
00001fc9: PUSH1 0x04
00001fcb: CALLDATALOAD
00001fcc: PUSH2 0x1fd3
00001fcf: PUSH2 0x3ac2
00001fd2: JUMP
00001fd3: JUMPDEST
00001fd4: SWAP1
00001fd5: PUSH2 0x1fdc
00001fd8: PUSH2 0x4410
00001fdb: JUMP
00001fdc: JUMPDEST
00001fdd: PUSH2 0x1fe4
00001fe0: PUSH2 0x443c
00001fe3: JUMP
00001fe4: JUMPDEST
00001fe5: DUP1
00001fe6: ISZERO
00001fe7: PUSH2 0x16fa
00001fea: JUMPI
00001feb: PUSH0
00001fec: DUP1
00001fed: MLOAD
00001fee: PUSH1 0x20
00001ff0: PUSH2 0x55da
00001ff3: DUP4
00001ff4: CODECOPY
00001ff5: DUP2
00001ff6: MLOAD
00001ff7: SWAP2
00001ff8: MSTORE
00001ff9: SLOAD
00001ffa: PUSH1 0x01
00001ffc: PUSH1 0x01
00001ffe: PUSH1 0xa0
00002000: SHL
00002001: SUB
00002002: SWAP3
00002003: DUP4
00002004: AND
00002005: SWAP3
00002006: SWAP2
00002007: SWAP1
00002008: DUP3
00002009: AND
0000200a: DUP4
0000200b: SUB
0000200c: PUSH2 0x1347
0000200f: JUMPI
00002010: PUSH1 0x1b
00002012: SLOAD
00002013: PUSH0
00002014: MSTORE
00002015: PUSH1 0x20
00002017: SWAP2
00002018: PUSH1 0x17
0000201a: DUP4
0000201b: MSTORE
0000201c: PUSH1 0x40
0000201e: PUSH0
0000201f: KECCAK256
00002020: CALLER
00002021: PUSH0
00002022: MSTORE
00002023: DUP4
00002024: MSTORE
00002025: PUSH2 0x2032
00002028: DUP3
00002029: PUSH1 0x40
0000202b: PUSH0
0000202c: KECCAK256
0000202d: SLOAD
0000202e: PUSH2 0x3d7b
00002031: JUMP
00002032: JUMPDEST
00002033: PUSH1 0x1c
00002035: SLOAD
00002036: LT
00002037: PUSH2 0x2172
0000203a: JUMPI
0000203b: CALLER
0000203c: DUP6
0000203d: MSTORE
0000203e: PUSH1 0x19
00002040: DUP4
00002041: MSTORE
00002042: PUSH2 0x204f
00002045: DUP3
00002046: PUSH1 0x40
00002048: DUP8
00002049: KECCAK256
0000204a: SLOAD
0000204b: PUSH2 0x3d7b
0000204e: JUMP
0000204f: JUMPDEST
00002050: CALLER
00002051: DUP7
00002052: MSTORE
00002053: PUSH1 0x18
00002055: DUP5
00002056: MSTORE
00002057: PUSH1 0x40
00002059: DUP7
0000205a: KECCAK256
0000205b: SLOAD
0000205c: LT
0000205d: PUSH2 0x2160
00002060: JUMPI
00002061: DUP1
00002062: PUSH2 0x2071
00002065: DUP4
00002066: DUP8
00002067: SWAP4
00002068: PUSH1 0x0f
0000206a: SLOAD
0000206b: AND
0000206c: CALLER
0000206d: PUSH2 0x4466
00002070: JUMP
00002071: JUMPDEST
00002072: PUSH1 0x0f
00002074: SLOAD
00002075: AND
00002076: PUSH1 0x1b
00002078: SLOAD
00002079: DUP2
0000207a: EXTCODESIZE
0000207b: ISZERO
0000207c: PUSH2 0x16eb
0000207f: JUMPI
00002080: DUP3
00002081: SWAP2
00002082: PUSH1 0x84
00002084: DUP4
00002085: SWAP3
00002086: PUSH1 0x40
00002088: MLOAD
00002089: SWAP5
0000208a: DUP6
0000208b: SWAP4
0000208c: DUP5
0000208d: SWAP3
0000208e: PUSH4 0x567a28eb
00002093: PUSH1 0xe0
00002095: SHL
00002096: DUP5
00002097: MSTORE
00002098: CALLER
00002099: PUSH1 0x04
0000209b: DUP6
0000209c: ADD
0000209d: MSTORE
0000209e: DUP10
0000209f: PUSH1 0x24
000020a1: DUP6
000020a2: ADD
000020a3: MSTORE
000020a4: PUSH1 0x01
000020a6: PUSH1 0x44
000020a8: DUP6
000020a9: ADD
000020aa: MSTORE
000020ab: PUSH1 0x64
000020ad: DUP5
000020ae: ADD
000020af: MSTORE
000020b0: GAS
000020b1: CALL
000020b2: DUP1
000020b3: ISZERO
000020b4: PUSH2 0x16ef
000020b7: JUMPI
000020b8: PUSH2 0x2148
000020bb: JUMPI
000020bc: JUMPDEST
000020bd: POP
000020be: PUSH32 0x84e61bb7a516bd67884995d6a189c01796ef032973d03ad48f8a301b28161d5d
000020df: PUSH1 0x80
000020e1: DUP5
000020e2: DUP7
000020e3: DUP6
000020e4: CALLER
000020e5: DUP7
000020e6: MSTORE
000020e7: PUSH1 0x19
000020e9: DUP4
000020ea: MSTORE
000020eb: PUSH1 0x40
000020ed: DUP7
000020ee: KECCAK256
000020ef: PUSH2 0x20f9
000020f2: DUP3
000020f3: DUP3
000020f4: SLOAD
000020f5: PUSH2 0x3d7b
000020f8: JUMP
000020f9: JUMPDEST
000020fa: SWAP1
000020fb: SSTORE
000020fc: PUSH1 0x1b
000020fe: SLOAD
000020ff: DUP7
00002100: MSTORE
00002101: PUSH1 0x17
00002103: DUP4
00002104: MSTORE
00002105: PUSH1 0x40
00002107: DUP7
00002108: KECCAK256
00002109: CALLER
0000210a: PUSH0
0000210b: MSTORE
0000210c: DUP4
0000210d: MSTORE
0000210e: PUSH1 0x40
00002110: PUSH0
00002111: KECCAK256
00002112: PUSH2 0x211c
00002115: DUP3
00002116: DUP3
00002117: SLOAD
00002118: PUSH2 0x3d7b
0000211b: JUMP
0000211c: JUMPDEST
0000211d: SWAP1
0000211e: SSTORE
0000211f: PUSH1 0x40
00002121: MLOAD
00002122: SWAP3
00002123: CALLER
00002124: DUP5
00002125: MSTORE
00002126: DUP4
00002127: ADD
00002128: MSTORE
00002129: PUSH1 0x40
0000212b: DUP3
0000212c: ADD
0000212d: MSTORE
0000212e: PUSH1 0x01
00002130: PUSH1 0x60
00002132: DUP3
00002133: ADD
00002134: MSTORE
00002135: LOG1
00002136: DUP1
00002137: PUSH0
00002138: DUP1
00002139: MLOAD
0000213a: PUSH1 0x20
0000213c: PUSH2 0x563a
0000213f: DUP4
00002140: CODECOPY
00002141: DUP2
00002142: MLOAD
00002143: SWAP2
00002144: MSTORE
00002145: TSTORE
00002146: DUP1
00002147: RETURN
00002148: JUMPDEST
00002149: PUSH2 0x2154
0000214c: SWAP1
0000214d: SWAP4
0000214e: SWAP3
0000214f: SWAP4
00002150: PUSH2 0x3c66
00002153: JUMP
00002154: JUMPDEST
00002155: PUSH2 0x1021
00002158: JUMPI
00002159: SWAP1
0000215a: DUP4
0000215b: PUSH0
0000215c: PUSH2 0x20bc
0000215f: JUMP
00002160: JUMPDEST
00002161: PUSH1 0x40
00002163: MLOAD
00002164: PUSH4 0x145f674d
00002169: PUSH1 0xe2
0000216b: SHL
0000216c: DUP2
0000216d: MSTORE
0000216e: PUSH1 0x04
00002170: SWAP1
00002171: REVERT
00002172: JUMPDEST
00002173: PUSH1 0x40
00002175: MLOAD
00002176: PUSH4 0x0e6dac53
0000217b: PUSH1 0xe1
0000217d: SHL
0000217e: DUP2
0000217f: MSTORE
00002180: PUSH1 0x04
00002182: SWAP1
00002183: REVERT
00002184: JUMPDEST
00002185: POP
00002186: CALLVALUE
00002187: PUSH2 0x044a
0000218a: JUMPI
0000218b: PUSH1 0x20
0000218d: CALLDATASIZE
0000218e: PUSH1 0x03
00002190: NOT
00002191: ADD
00002192: SLT
00002193: PUSH2 0x044a
00002196: JUMPI
00002197: PUSH32 0x4eb129c82dcd3eedb52df2b0e6fb4cfa41ac64ee9d63ff081acbb1877e85d79b
000021b8: PUSH1 0x20
000021ba: PUSH2 0x21c1
000021bd: PUSH2 0x3aac
000021c0: JUMP
000021c1: JUMPDEST
000021c2: PUSH2 0x21c9
000021c5: PUSH2 0x436a
000021c8: JUMP
000021c9: JUMPDEST
000021ca: PUSH1 0x01
000021cc: PUSH1 0x01
000021ce: PUSH1 0xa0
000021d0: SHL
000021d1: SUB
000021d2: AND
000021d3: PUSH2 0x0742
000021d6: DUP2
000021d7: PUSH2 0x476f
000021da: JUMP
000021db: JUMPDEST
000021dc: POP
000021dd: CALLVALUE
000021de: PUSH2 0x044a
000021e1: JUMPI
000021e2: DUP1
000021e3: PUSH1 0x03
000021e5: NOT
000021e6: CALLDATASIZE
000021e7: ADD
000021e8: SLT
000021e9: PUSH2 0x044a
000021ec: JUMPI
000021ed: PUSH1 0x20
000021ef: PUSH1 0xff
000021f1: PUSH0
000021f2: DUP1
000021f3: MLOAD
000021f4: PUSH1 0x20
000021f6: PUSH2 0x55fa
000021f9: DUP4
000021fa: CODECOPY
000021fb: DUP2
000021fc: MLOAD
000021fd: SWAP2
000021fe: MSTORE
000021ff: SLOAD
00002200: AND
00002201: PUSH1 0x40
00002203: MLOAD
00002204: SWAP1
00002205: ISZERO
00002206: ISZERO
00002207: DUP2
00002208: MSTORE
00002209: RETURN
0000220a: JUMPDEST
0000220b: POP
0000220c: CALLVALUE
0000220d: PUSH2 0x044a
00002210: JUMPI
00002211: DUP1
00002212: PUSH1 0x03
00002214: NOT
00002215: CALLDATASIZE
00002216: ADD
00002217: SLT
00002218: PUSH2 0x044a
0000221b: JUMPI
0000221c: PUSH1 0x20
0000221e: PUSH1 0x1a
00002220: SLOAD
00002221: PUSH1 0x40
00002223: MLOAD
00002224: SWAP1
00002225: DUP2
00002226: MSTORE
00002227: RETURN
00002228: JUMPDEST
00002229: POP
0000222a: CALLVALUE
0000222b: PUSH2 0x044a
0000222e: JUMPI
0000222f: PUSH2 0x2237
00002232: CALLDATASIZE
00002233: PUSH2 0x3b2f
00002236: JUMP
00002237: JUMPDEST
00002238: SWAP1
00002239: PUSH2 0x2240
0000223c: PUSH2 0x436a
0000223f: JUMP
00002240: JUMPDEST
00002241: PUSH32 0x8054e31accd385c74219eac9c238e4261c2a460523deb5aab574bdaf8a5c225b
00002262: PUSH1 0x80
00002264: PUSH1 0x1b
00002266: SLOAD
00002267: PUSH1 0x1a
00002269: SLOAD
0000226a: PUSH1 0x40
0000226c: MLOAD
0000226d: SWAP2
0000226e: DUP3
0000226f: MSTORE
00002270: DUP5
00002271: PUSH1 0x20
00002273: DUP4
00002274: ADD
00002275: MSTORE
00002276: PUSH1 0x40
00002278: DUP3
00002279: ADD
0000227a: MSTORE
0000227b: DUP5
0000227c: PUSH1 0x60
0000227e: DUP3
0000227f: ADD
00002280: MSTORE
00002281: LOG1
00002282: PUSH1 0x1b
00002284: SSTORE
00002285: PUSH1 0x1a
00002287: SSTORE
00002288: DUP1
00002289: RETURN
0000228a: JUMPDEST
0000228b: POP
0000228c: CALLVALUE
0000228d: PUSH2 0x0bfb
00002290: JUMPI
00002291: PUSH1 0x20
00002293: CALLDATASIZE
00002294: PUSH1 0x03
00002296: NOT
00002297: ADD
00002298: SLT
00002299: PUSH2 0x0bfb
0000229c: JUMPI
0000229d: PUSH1 0x04
0000229f: CALLDATALOAD
000022a0: PUSH2 0x22a7
000022a3: PUSH2 0x4410
000022a6: JUMP
000022a7: JUMPDEST
000022a8: PUSH2 0x22af
000022ab: PUSH2 0x443c
000022ae: JUMP
000022af: JUMPDEST
000022b0: PUSH1 0x1b
000022b2: SLOAD
000022b3: DUP2
000022b4: SUB
000022b5: PUSH2 0x2351
000022b8: JUMPI
000022b9: PUSH1 0x0f
000022bb: SLOAD
000022bc: PUSH1 0x01
000022be: PUSH1 0x01
000022c0: PUSH1 0xa0
000022c2: SHL
000022c3: SUB
000022c4: AND
000022c5: SWAP1
000022c6: DUP2
000022c7: EXTCODESIZE
000022c8: ISZERO
000022c9: PUSH2 0x0bfb
000022cc: JUMPI
000022cd: PUSH0
000022ce: SWAP2
000022cf: PUSH1 0x64
000022d1: DUP4
000022d2: SWAP3
000022d3: PUSH1 0x40
000022d5: MLOAD
000022d6: SWAP5
000022d7: DUP6
000022d8: SWAP4
000022d9: DUP5
000022da: SWAP3
000022db: PUSH4 0xe4fcba53
000022e0: PUSH1 0xe0
000022e2: SHL
000022e3: DUP5
000022e4: MSTORE
000022e5: CALLER
000022e6: PUSH1 0x04
000022e8: DUP6
000022e9: ADD
000022ea: MSTORE
000022eb: DUP3
000022ec: PUSH1 0x24
000022ee: DUP6
000022ef: ADD
000022f0: MSTORE
000022f1: PUSH1 0x44
000022f3: DUP5
000022f4: ADD
000022f5: MSTORE
000022f6: GAS
000022f7: CALL
000022f8: DUP1
000022f9: ISZERO
000022fa: PUSH2 0x1f1f
000022fd: JUMPI
000022fe: PUSH2 0x2340
00002301: JUMPI
00002302: JUMPDEST
00002303: POP
00002304: PUSH32 0x16df417990f9da6a40f079e6beba7cc76cdf2f89f2097559054df0bce59b9828
00002325: PUSH1 0x20
00002327: PUSH1 0x40
00002329: MLOAD
0000232a: CALLER
0000232b: DUP2
0000232c: MSTORE
0000232d: LOG1
0000232e: DUP1
0000232f: PUSH0
00002330: DUP1
00002331: MLOAD
00002332: PUSH1 0x20
00002334: PUSH2 0x563a
00002337: DUP4
00002338: CODECOPY
00002339: DUP2
0000233a: MLOAD
0000233b: SWAP2
0000233c: MSTORE
0000233d: TSTORE
0000233e: DUP1
0000233f: RETURN
00002340: JUMPDEST
00002341: PUSH2 0x234a
00002344: SWAP2
00002345: POP
00002346: PUSH2 0x3c66
00002349: JUMP
0000234a: JUMPDEST
0000234b: PUSH0
0000234c: DUP1
0000234d: PUSH2 0x2302
00002350: JUMP
00002351: JUMPDEST
00002352: PUSH1 0x40
00002354: MLOAD
00002355: PUSH4 0x6a103625
0000235a: PUSH1 0xe1
0000235c: SHL
0000235d: DUP2
0000235e: MSTORE
0000235f: PUSH1 0x04
00002361: SWAP1
00002362: REVERT
00002363: JUMPDEST
00002364: PUSH2 0x3a8e
00002367: JUMP
00002368: JUMPDEST
00002369: CALLVALUE
0000236a: PUSH2 0x0bfb
0000236d: JUMPI
0000236e: PUSH1 0x20
00002370: CALLDATASIZE
00002371: PUSH1 0x03
00002373: NOT
00002374: ADD
00002375: SLT
00002376: PUSH2 0x0bfb
00002379: JUMPI
0000237a: PUSH1 0x20
0000237c: PUSH2 0x2386
0000237f: PUSH1 0x04
00002381: CALLDATALOAD
00002382: PUSH2 0x466f
00002385: JUMP
00002386: JUMPDEST
00002387: SWAP1
00002388: SLOAD
00002389: PUSH1 0x40
0000238b: MLOAD
0000238c: PUSH1 0x03
0000238e: SWAP3
0000238f: SWAP1
00002390: SWAP3
00002391: SHL
00002392: SHR
00002393: PUSH1 0x01
00002395: PUSH1 0x01
00002397: PUSH1 0xa0
00002399: SHL
0000239a: SUB
0000239b: AND
0000239c: DUP2
0000239d: MSTORE
0000239e: RETURN
0000239f: JUMPDEST
000023a0: CALLVALUE
000023a1: PUSH2 0x0bfb
000023a4: JUMPI
000023a5: PUSH0
000023a6: CALLDATASIZE
000023a7: PUSH1 0x03
000023a9: NOT
000023aa: ADD
000023ab: SLT
000023ac: PUSH2 0x0bfb
000023af: JUMPI
000023b0: PUSH0
000023b1: PUSH1 0x80
000023b3: PUSH1 0x40
000023b5: MLOAD
000023b6: PUSH2 0x23be
000023b9: DUP2
000023ba: PUSH2 0x3c4b
000023bd: JUMP
000023be: JUMPDEST
000023bf: DUP3
000023c0: DUP2
000023c1: MSTORE
000023c2: DUP3
000023c3: PUSH1 0x20
000023c5: DUP3
000023c6: ADD
000023c7: MSTORE
000023c8: DUP3
000023c9: PUSH1 0x40
000023cb: DUP3
000023cc: ADD
000023cd: MSTORE
000023ce: DUP3
000023cf: PUSH1 0x60
000023d1: DUP3
000023d2: ADD
000023d3: MSTORE
000023d4: ADD
000023d5: MSTORE
000023d6: PUSH1 0xa0
000023d8: PUSH1 0x40
000023da: MLOAD
000023db: PUSH2 0x23e3
000023de: DUP2
000023df: PUSH2 0x3c4b
000023e2: JUMP
000023e3: JUMPDEST
000023e4: PUSH1 0x10
000023e6: SLOAD
000023e7: SWAP1
000023e8: DUP2
000023e9: DUP2
000023ea: MSTORE
000023eb: PUSH1 0x11
000023ed: SLOAD
000023ee: PUSH1 0x20
000023f0: DUP3
000023f1: ADD
000023f2: SWAP1
000023f3: DUP2
000023f4: MSTORE
000023f5: PUSH1 0x12
000023f7: SLOAD
000023f8: PUSH1 0x40
000023fa: DUP4
000023fb: ADD
000023fc: SWAP1
000023fd: DUP2
000023fe: MSTORE
000023ff: PUSH1 0x13
00002401: SLOAD
00002402: SWAP2
00002403: PUSH1 0x60
00002405: DUP5
00002406: ADD
00002407: SWAP3
00002408: DUP4
00002409: MSTORE
0000240a: PUSH1 0x80
0000240c: PUSH1 0x14
0000240e: SLOAD
0000240f: SWAP5
00002410: ADD
00002411: SWAP4
00002412: DUP5
00002413: MSTORE
00002414: PUSH1 0x40
00002416: MLOAD
00002417: SWAP5
00002418: DUP6
00002419: MSTORE
0000241a: MLOAD
0000241b: PUSH1 0x20
0000241d: DUP6
0000241e: ADD
0000241f: MSTORE
00002420: MLOAD
00002421: PUSH1 0x40
00002423: DUP5
00002424: ADD
00002425: MSTORE
00002426: MLOAD
00002427: PUSH1 0x60
00002429: DUP4
0000242a: ADD
0000242b: MSTORE
0000242c: MLOAD
0000242d: PUSH1 0x80
0000242f: DUP3
00002430: ADD
00002431: MSTORE
00002432: RETURN
00002433: JUMPDEST
00002434: CALLVALUE
00002435: PUSH2 0x0bfb
00002438: JUMPI
00002439: PUSH1 0x20
0000243b: CALLDATASIZE
0000243c: PUSH1 0x03
0000243e: NOT
0000243f: ADD
00002440: SLT
00002441: PUSH2 0x0bfb
00002444: JUMPI
00002445: PUSH1 0x04
00002447: CALLDATALOAD
00002448: PUSH1 0x01
0000244a: PUSH1 0x01
0000244c: PUSH1 0x40
0000244e: SHL
0000244f: SUB
00002450: DUP2
00002451: GT
00002452: PUSH2 0x0bfb
00002455: JUMPI
00002456: PUSH2 0x2463
00002459: SWAP1
0000245a: CALLDATASIZE
0000245b: SWAP1
0000245c: PUSH1 0x04
0000245e: ADD
0000245f: PUSH2 0x3b02
00002462: JUMP
00002463: JUMPDEST
00002464: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00
00002485: DUP1
00002486: SLOAD
00002487: SWAP2
00002488: PUSH1 0x01
0000248a: PUSH1 0x01
0000248c: PUSH1 0x40
0000248e: SHL
0000248f: SUB
00002490: DUP4
00002491: AND
00002492: DUP1
00002493: ISZERO
00002494: SWAP1
00002495: DUP2
00002496: PUSH2 0x2f97
00002499: JUMPI
0000249a: JUMPDEST
0000249b: PUSH1 0x01
0000249d: EQ
0000249e: SWAP1
0000249f: DUP2
000024a0: PUSH2 0x2f8d
000024a3: JUMPI
000024a4: JUMPDEST
000024a5: ISZERO
000024a6: SWAP1
000024a7: DUP2
000024a8: PUSH2 0x2f84
000024ab: JUMPI
000024ac: JUMPDEST
000024ad: POP
000024ae: PUSH2 0x2f72
000024b1: JUMPI
000024b2: PUSH1 0x01
000024b4: PUSH1 0x01
000024b6: PUSH1 0x01
000024b8: PUSH1 0x40
000024ba: SHL
000024bb: SUB
000024bc: NOT
000024bd: DUP5
000024be: AND
000024bf: OR
000024c0: DUP3
000024c1: SSTORE
000024c2: PUSH1 0xff
000024c4: DUP4
000024c5: PUSH1 0x40
000024c7: SHR
000024c8: AND
000024c9: ISZERO
000024ca: PUSH2 0x2f53
000024cd: JUMPI
000024ce: JUMPDEST
000024cf: PUSH1 0x40
000024d1: DUP5
000024d2: DUP3
000024d3: DUP2
000024d4: ADD
000024d5: SUB
000024d6: SLT
000024d7: PUSH2 0x0bfb
000024da: JUMPI
000024db: DUP4
000024dc: CALLDATALOAD
000024dd: PUSH1 0x01
000024df: PUSH1 0x01
000024e1: PUSH1 0x40
000024e3: SHL
000024e4: SUB
000024e5: DUP2
000024e6: GT
000024e7: PUSH2 0x0bfb
000024ea: JUMPI
000024eb: DUP5
000024ec: ADD
000024ed: PUSH2 0x01a0
000024f0: DUP2
000024f1: DUP4
000024f2: DUP8
000024f3: ADD
000024f4: SUB
000024f5: SLT
000024f6: PUSH2 0x0bfb
000024f9: JUMPI
000024fa: PUSH1 0x40
000024fc: MLOAD
000024fd: SWAP2
000024fe: PUSH2 0x2506
00002501: DUP4
00002502: PUSH2 0x3c2f
00002505: JUMP
00002506: JUMPDEST
00002507: PUSH2 0x250f
0000250a: DUP3
0000250b: PUSH2 0x3aee
0000250e: JUMP
0000250f: JUMPDEST
00002510: DUP4
00002511: MSTORE
00002512: PUSH1 0x20
00002514: DUP3
00002515: ADD
00002516: CALLDATALOAD
00002517: PUSH1 0x01
00002519: PUSH1 0x01
0000251b: PUSH1 0x40
0000251d: SHL
0000251e: SUB
0000251f: DUP2
00002520: GT
00002521: PUSH2 0x0bfb
00002524: JUMPI
00002525: PUSH2 0x2533
00002528: SWAP1
00002529: DUP3
0000252a: DUP9
0000252b: ADD
0000252c: SWAP1
0000252d: DUP5
0000252e: ADD
0000252f: PUSH2 0x40bc
00002532: JUMP
00002533: JUMPDEST
00002534: PUSH1 0x20
00002536: DUP5
00002537: ADD
00002538: MSTORE
00002539: PUSH1 0x40
0000253b: DUP3
0000253c: ADD
0000253d: CALLDATALOAD
0000253e: PUSH1 0x01
00002540: PUSH1 0x01
00002542: PUSH1 0x40
00002544: SHL
00002545: SUB
00002546: DUP2
00002547: GT
00002548: PUSH2 0x0bfb
0000254b: JUMPI
0000254c: PUSH2 0x255a
0000254f: SWAP1
00002550: DUP3
00002551: DUP9
00002552: ADD
00002553: SWAP1
00002554: DUP5
00002555: ADD
00002556: PUSH2 0x40bc
00002559: JUMP
0000255a: JUMPDEST
0000255b: PUSH1 0x40
0000255d: DUP5
0000255e: ADD
0000255f: MSTORE
00002560: PUSH1 0x60
00002562: DUP3
00002563: ADD
00002564: CALLDATALOAD
00002565: PUSH1 0x60
00002567: DUP5
00002568: ADD
00002569: MSTORE
0000256a: PUSH1 0x80
0000256c: DUP3
0000256d: ADD
0000256e: CALLDATALOAD
0000256f: PUSH1 0x80
00002571: DUP5
00002572: ADD
00002573: MSTORE
00002574: PUSH1 0xa0
00002576: DUP3
00002577: ADD
00002578: CALLDATALOAD
00002579: PUSH1 0xa0
0000257b: DUP5
0000257c: ADD
0000257d: MSTORE
0000257e: PUSH1 0xc0
00002580: DUP3
00002581: ADD
00002582: CALLDATALOAD
00002583: PUSH1 0xc0
00002585: DUP5
00002586: ADD
00002587: MSTORE
00002588: PUSH1 0xe0
0000258a: DUP3
0000258b: ADD
0000258c: CALLDATALOAD
0000258d: PUSH1 0xe0
0000258f: DUP5
00002590: ADD
00002591: MSTORE
00002592: PUSH2 0x0100
00002595: DUP1
00002596: DUP4
00002597: ADD
00002598: CALLDATALOAD
00002599: DUP2
0000259a: DUP6
0000259b: ADD
0000259c: MSTORE
0000259d: PUSH2 0x0120
000025a0: PUSH2 0x25aa
000025a3: DUP2
000025a4: DUP6
000025a5: ADD
000025a6: PUSH2 0x3aee
000025a9: JUMP
000025aa: JUMPDEST
000025ab: DUP2
000025ac: DUP7
000025ad: ADD
000025ae: MSTORE
000025af: PUSH2 0x0140
000025b2: SWAP2
000025b3: PUSH2 0x25bd
000025b6: DUP4
000025b7: DUP7
000025b8: ADD
000025b9: PUSH2 0x3aee
000025bc: JUMP
000025bd: JUMPDEST
000025be: DUP4
000025bf: DUP8
000025c0: ADD
000025c1: MSTORE
000025c2: PUSH2 0x0160
000025c5: SWAP4
000025c6: PUSH2 0x25d0
000025c9: DUP6
000025ca: DUP8
000025cb: ADD
000025cc: PUSH2 0x3aee
000025cf: JUMP
000025d0: JUMPDEST
000025d1: DUP6
000025d2: DUP9
000025d3: ADD
000025d4: MSTORE
000025d5: PUSH2 0x25e2
000025d8: PUSH2 0x0180
000025db: DUP1
000025dc: SWAP8
000025dd: ADD
000025de: PUSH2 0x3aee
000025e1: JUMP
000025e2: JUMPDEST
000025e3: DUP7
000025e4: DUP9
000025e5: ADD
000025e6: MSTORE
000025e7: PUSH1 0x20
000025e9: DUP11
000025ea: ADD
000025eb: CALLDATALOAD
000025ec: SWAP1
000025ed: PUSH1 0x01
000025ef: PUSH1 0x01
000025f1: PUSH1 0x40
000025f3: SHL
000025f4: SUB
000025f5: DUP3
000025f6: GT
000025f7: PUSH2 0x0bfb
000025fa: JUMPI
000025fb: DUP1
000025fc: DUP12
000025fd: ADD
000025fe: PUSH1 0x1f
00002600: DUP4
00002601: DUP14
00002602: ADD
00002603: ADD
00002604: SLT
00002605: ISZERO
00002606: PUSH2 0x0bfb
00002609: JUMPI
0000260a: PUSH1 0x01
0000260c: PUSH1 0x01
0000260e: PUSH1 0x40
00002610: SHL
00002611: SUB
00002612: DUP3
00002613: DUP13
00002614: ADD
00002615: CALLDATALOAD
00002616: GT
00002617: PUSH2 0x0ba1
0000261a: JUMPI
0000261b: PUSH1 0x40
0000261d: MLOAD
0000261e: SWAP11
0000261f: PUSH2 0x2631
00002622: PUSH1 0x20
00002624: DUP5
00002625: DUP4
00002626: ADD
00002627: CALLDATALOAD
00002628: PUSH1 0x05
0000262a: SHL
0000262b: ADD
0000262c: DUP14
0000262d: PUSH2 0x3c94
00002630: JUMP
00002631: JUMPDEST
00002632: DUP3
00002633: DUP2
00002634: ADD
00002635: CALLDATALOAD
00002636: DUP13
00002637: MSTORE
00002638: PUSH1 0x20
0000263a: DUP13
0000263b: ADD
0000263c: SWAP2
0000263d: DUP2
0000263e: ADD
0000263f: PUSH1 0x20
00002641: DUP5
00002642: DUP4
00002643: ADD
00002644: CALLDATALOAD
00002645: PUSH1 0x05
00002647: SHL
00002648: DUP6
00002649: DUP5
0000264a: ADD
0000264b: ADD
0000264c: ADD
0000264d: GT
0000264e: PUSH2 0x0bfb
00002651: JUMPI
00002652: SWAP1
00002653: PUSH1 0x20
00002655: DUP4
00002656: DUP4
00002657: ADD
00002658: ADD
00002659: SWAP2
0000265a: JUMPDEST
0000265b: DUP1
0000265c: DUP5
0000265d: ADD
0000265e: DUP1
0000265f: CALLDATALOAD
00002660: PUSH1 0x05
00002662: SHL
00002663: ADD
00002664: PUSH1 0x20
00002666: ADD
00002667: DUP4
00002668: LT
00002669: PUSH2 0x2f38
0000266c: JUMPI
0000266d: POP
0000266e: POP
0000266f: POP
00002670: POP
00002671: PUSH2 0x2678
00002674: PUSH2 0x486e
00002677: JUMP
00002678: JUMPDEST
00002679: PUSH2 0x2680
0000267c: PUSH2 0x486e
0000267f: JUMP
00002680: JUMPDEST
00002681: PUSH1 0x20
00002683: DUP7
00002684: ADD
00002685: MLOAD
00002686: PUSH1 0x40
00002688: DUP8
00002689: ADD
0000268a: MLOAD
0000268b: SWAP1
0000268c: PUSH2 0x2693
0000268f: PUSH2 0x486e
00002692: JUMP
00002693: JUMPDEST
00002694: PUSH2 0x269b
00002697: PUSH2 0x486e
0000269a: JUMP
0000269b: JUMPDEST
0000269c: DUP1
0000269d: MLOAD
0000269e: SWAP1
0000269f: PUSH1 0x01
000026a1: PUSH1 0x01
000026a3: PUSH1 0x40
000026a5: SHL
000026a6: SUB
000026a7: DUP3
000026a8: GT
000026a9: PUSH2 0x0ba1
000026ac: JUMPI
000026ad: DUP2
000026ae: SWAP1
000026af: PUSH2 0x26c5
000026b2: PUSH0
000026b3: DUP1
000026b4: MLOAD
000026b5: PUSH1 0x20
000026b7: PUSH2 0x551a
000026ba: DUP4
000026bb: CODECOPY
000026bc: DUP2
000026bd: MLOAD
000026be: SWAP2
000026bf: MSTORE
000026c0: SLOAD
000026c1: PUSH2 0x3d43
000026c4: JUMP
000026c5: JUMPDEST
000026c6: PUSH1 0x1f
000026c8: DUP2
000026c9: GT
000026ca: PUSH2 0x2ec1
000026cd: JUMPI
000026ce: JUMPDEST
000026cf: POP
000026d0: PUSH1 0x20
000026d2: SWAP1
000026d3: PUSH1 0x1f
000026d5: DUP4
000026d6: GT
000026d7: PUSH1 0x01
000026d9: EQ
000026da: PUSH2 0x2e21
000026dd: JUMPI
000026de: PUSH0
000026df: SWAP3
000026e0: PUSH2 0x2e16
000026e3: JUMPI
000026e4: JUMPDEST
000026e5: POP
000026e6: POP
000026e7: DUP2
000026e8: PUSH1 0x01
000026ea: SHL
000026eb: SWAP2
000026ec: PUSH0
000026ed: NOT
000026ee: SWAP1
000026ef: PUSH1 0x03
000026f1: SHL
000026f2: SHR
000026f3: NOT
000026f4: AND
000026f5: OR
000026f6: PUSH0
000026f7: DUP1
000026f8: MLOAD
000026f9: PUSH1 0x20
000026fb: PUSH2 0x551a
000026fe: DUP4
000026ff: CODECOPY
00002700: DUP2
00002701: MLOAD
00002702: SWAP2
00002703: MSTORE
00002704: SSTORE
00002705: JUMPDEST
00002706: DUP1
00002707: MLOAD
00002708: SWAP1
00002709: PUSH1 0x01
0000270b: PUSH1 0x01
0000270d: PUSH1 0x40
0000270f: SHL
00002710: SUB
00002711: DUP3
00002712: GT
00002713: PUSH2 0x0ba1
00002716: JUMPI
00002717: DUP2
00002718: SWAP1
00002719: PUSH2 0x272f
0000271c: PUSH0
0000271d: DUP1
0000271e: MLOAD
0000271f: PUSH1 0x20
00002721: PUSH2 0x555a
00002724: DUP4
00002725: CODECOPY
00002726: DUP2
00002727: MLOAD
00002728: SWAP2
00002729: MSTORE
0000272a: SLOAD
0000272b: PUSH2 0x3d43
0000272e: JUMP
0000272f: JUMPDEST
00002730: PUSH1 0x1f
00002732: DUP2
00002733: GT
00002734: PUSH2 0x2d9f
00002737: JUMPI
00002738: JUMPDEST
00002739: POP
0000273a: PUSH1 0x20
0000273c: SWAP1
0000273d: PUSH1 0x1f
0000273f: DUP4
00002740: GT
00002741: PUSH1 0x01
00002743: EQ
00002744: PUSH2 0x2cff
00002747: JUMPI
00002748: PUSH0
00002749: SWAP3
0000274a: PUSH2 0x2cf4
0000274d: JUMPI
0000274e: JUMPDEST
0000274f: POP
00002750: POP
00002751: DUP2
00002752: PUSH1 0x01
00002754: SHL
00002755: SWAP2
00002756: PUSH0
00002757: NOT
00002758: SWAP1
00002759: PUSH1 0x03
0000275b: SHL
0000275c: SHR
0000275d: NOT
0000275e: AND
0000275f: OR
00002760: PUSH0
00002761: DUP1
00002762: MLOAD
00002763: PUSH1 0x20
00002765: PUSH2 0x555a
00002768: DUP4
00002769: CODECOPY
0000276a: DUP2
0000276b: MLOAD
0000276c: SWAP2
0000276d: MSTORE
0000276e: SSTORE
0000276f: JUMPDEST
00002770: DUP6
00002771: MLOAD
00002772: PUSH1 0x01
00002774: PUSH1 0x01
00002776: PUSH1 0xa0
00002778: SHL
00002779: SUB
0000277a: AND
0000277b: ISZERO
0000277c: PUSH2 0x074d
0000277f: JUMPI
00002780: DUP6
00002781: DUP4
00002782: ADD
00002783: MLOAD
00002784: PUSH1 0x01
00002786: PUSH1 0x01
00002788: PUSH1 0xa0
0000278a: SHL
0000278b: SUB
0000278c: AND
0000278d: ISZERO
0000278e: PUSH2 0x0edd
00002791: JUMPI
00002792: DUP6
00002793: DUP3
00002794: ADD
00002795: MLOAD
00002796: PUSH1 0x01
00002798: PUSH1 0x01
0000279a: PUSH1 0xa0
0000279c: SHL
0000279d: SUB
0000279e: AND
0000279f: ISZERO
000027a0: PUSH2 0x2ce2
000027a3: JUMPI
000027a4: DUP6
000027a5: DUP5
000027a6: ADD
000027a7: MLOAD
000027a8: PUSH1 0x01
000027aa: PUSH1 0x01
000027ac: PUSH1 0xa0
000027ae: SHL
000027af: SUB
000027b0: AND
000027b1: ISZERO
000027b2: PUSH2 0x054a
000027b5: JUMPI
000027b6: PUSH1 0x60
000027b8: DUP7
000027b9: ADD
000027ba: MLOAD
000027bb: PUSH32 0x0000000000000000000000000000000000000000000000000de0b6b3a7640000
000027dc: GT
000027dd: PUSH2 0x2cd0
000027e0: JUMPI
000027e1: PUSH1 0x04
000027e3: PUSH1 0x80
000027e5: DUP8
000027e6: ADD
000027e7: MLOAD
000027e8: GT
000027e9: PUSH2 0x2cbe
000027ec: JUMPI
000027ed: PUSH3 0x093a80
000027f1: PUSH1 0xa0
000027f3: DUP8
000027f4: ADD
000027f5: MLOAD
000027f6: LT
000027f7: PUSH2 0x2cac
000027fa: JUMPI
000027fb: PUSH3 0x127500
000027ff: PUSH1 0xc0
00002801: DUP8
00002802: ADD
00002803: MLOAD
00002804: GT
00002805: PUSH2 0x2c9a
00002808: JUMPI
00002809: PUSH2 0x05dc
0000280c: PUSH1 0xe0
0000280e: DUP8
0000280f: ADD
00002810: MLOAD
00002811: GT
00002812: PUSH2 0x2c88
00002815: JUMPI
00002816: PUSH1 0x78
00002818: DUP2
00002819: DUP8
0000281a: ADD
0000281b: MLOAD
0000281c: GT
0000281d: PUSH2 0x2c76
00002820: JUMPI
00002821: DUP6
00002822: DUP3
00002823: ADD
00002824: MLOAD
00002825: PUSH2 0x2841
00002828: SWAP1
00002829: PUSH1 0x01
0000282b: PUSH1 0x01
0000282d: PUSH1 0xa0
0000282f: SHL
00002830: SUB
00002831: AND
00002832: PUSH2 0x2839
00002835: PUSH2 0x486e
00002838: JUMP
00002839: JUMPDEST
0000283a: PUSH2 0x048f
0000283d: PUSH2 0x486e
00002840: JUMP
00002841: JUMPDEST
00002842: DUP6
00002843: MLOAD
00002844: PUSH1 0x01
00002846: PUSH1 0x01
00002848: PUSH1 0xa0
0000284a: SHL
0000284b: SUB
0000284c: AND
0000284d: PUSH2 0x2854
00002850: PUSH2 0x486e
00002853: JUMP
00002854: JUMPDEST
00002855: PUSH2 0x285c
00002858: PUSH2 0x486e
0000285b: JUMP
0000285c: JUMPDEST
0000285d: PUSH2 0x2865
00002860: DUP2
00002861: PUSH2 0x49e6
00002864: JUMP
00002865: JUMPDEST
00002866: SWAP1
00002867: ISZERO
00002868: PUSH2 0x2c6d
0000286b: JUMPI
0000286c: SWAP1
0000286d: JUMPDEST
0000286e: PUSH0
0000286f: DUP1
00002870: MLOAD
00002871: PUSH1 0x20
00002873: PUSH2 0x55da
00002876: DUP4
00002877: CODECOPY
00002878: DUP2
00002879: MLOAD
0000287a: SWAP2
0000287b: MSTORE
0000287c: DUP1
0000287d: SLOAD
0000287e: PUSH1 0x01
00002880: PUSH1 0x01
00002882: PUSH1 0xa8
00002884: SHL
00002885: SUB
00002886: NOT
00002887: AND
00002888: PUSH1 0xa0
0000288a: SWAP4
0000288b: SWAP1
0000288c: SWAP4
0000288d: SHL
0000288e: PUSH1 0xff
00002890: PUSH1 0xa0
00002892: SHL
00002893: AND
00002894: SWAP3
00002895: SWAP1
00002896: SWAP3
00002897: OR
00002898: OR
00002899: SWAP1
0000289a: SSTORE
0000289b: TIMESTAMP
0000289c: PUSH1 0x13
0000289e: DUP2
0000289f: SWAP1
000028a0: SSTORE
000028a1: PUSH1 0x14
000028a3: SSTORE
000028a4: PUSH32 0x00000000000000000000000000000000000000000000000000000000000f4240
000028c5: PUSH1 0x10
000028c7: SSTORE
000028c8: DUP6
000028c9: MLOAD
000028ca: PUSH1 0x03
000028cc: DUP1
000028cd: SLOAD
000028ce: PUSH1 0x01
000028d0: PUSH1 0x01
000028d2: PUSH1 0xa0
000028d4: SHL
000028d5: SUB
000028d6: NOT
000028d7: AND
000028d8: PUSH1 0x01
000028da: PUSH1 0x01
000028dc: PUSH1 0xa0
000028de: SHL
000028df: SUB
000028e0: SWAP3
000028e1: SWAP1
000028e2: SWAP3
000028e3: AND
000028e4: SWAP2
000028e5: SWAP1
000028e6: SWAP2
000028e7: OR
000028e8: SWAP1
000028e9: SSTORE
000028ea: PUSH1 0x20
000028ec: DUP7
000028ed: ADD
000028ee: MLOAD
000028ef: DUP1
000028f0: MLOAD
000028f1: SWAP1
000028f2: PUSH1 0x01
000028f4: PUSH1 0x01
000028f6: PUSH1 0x40
000028f8: SHL
000028f9: SUB
000028fa: DUP3
000028fb: GT
000028fc: PUSH2 0x0ba1
000028ff: JUMPI
00002900: DUP2
00002901: SWAP1
00002902: PUSH2 0x290c
00002905: PUSH1 0x04
00002907: SLOAD
00002908: PUSH2 0x3d43
0000290b: JUMP
0000290c: JUMPDEST
0000290d: PUSH1 0x1f
0000290f: DUP2
00002910: GT
00002911: PUSH2 0x2c15
00002914: JUMPI
00002915: JUMPDEST
00002916: POP
00002917: PUSH1 0x20
00002919: SWAP1
0000291a: PUSH1 0x1f
0000291c: DUP4
0000291d: GT
0000291e: PUSH1 0x01
00002920: EQ
00002921: PUSH2 0x2ba0
00002924: JUMPI
00002925: PUSH0
00002926: SWAP3
00002927: PUSH2 0x2b95
0000292a: JUMPI
0000292b: JUMPDEST
0000292c: POP
0000292d: POP
0000292e: DUP2
0000292f: PUSH1 0x01
00002931: SHL
00002932: SWAP2
00002933: PUSH0
00002934: NOT
00002935: SWAP1
00002936: PUSH1 0x03
00002938: SHL
00002939: SHR
0000293a: NOT
0000293b: AND
0000293c: OR
0000293d: PUSH1 0x04
0000293f: SSTORE
00002940: JUMPDEST
00002941: PUSH1 0x40
00002943: DUP7
00002944: ADD
00002945: MLOAD
00002946: DUP1
00002947: MLOAD
00002948: SWAP1
00002949: PUSH1 0x01
0000294b: PUSH1 0x01
0000294d: PUSH1 0x40
0000294f: SHL
00002950: SUB
00002951: DUP3
00002952: GT
00002953: PUSH2 0x0ba1
00002956: JUMPI
00002957: DUP2
00002958: SWAP1
00002959: PUSH2 0x2963
0000295c: PUSH1 0x05
0000295e: SLOAD
0000295f: PUSH2 0x3d43
00002962: JUMP
00002963: JUMPDEST
00002964: PUSH1 0x1f
00002966: DUP2
00002967: GT
00002968: PUSH2 0x2b47
0000296b: JUMPI
0000296c: JUMPDEST
0000296d: POP
0000296e: PUSH1 0x20
00002970: SWAP1
00002971: PUSH1 0x1f
00002973: DUP4
00002974: GT
00002975: PUSH1 0x01
00002977: EQ
00002978: PUSH2 0x2abf
0000297b: JUMPI
0000297c: PUSH0
0000297d: SWAP3
0000297e: PUSH2 0x2ab4
00002981: JUMPI
00002982: JUMPDEST
00002983: POP
00002984: POP
00002985: DUP2
00002986: PUSH1 0x01
00002988: SHL
00002989: SWAP2
0000298a: PUSH0
0000298b: NOT
0000298c: SWAP1
0000298d: PUSH1 0x03
0000298f: SHL
00002990: SHR
00002991: NOT
00002992: AND
00002993: OR
00002994: PUSH1 0x05
00002996: SSTORE
00002997: JUMPDEST
00002998: PUSH1 0x60
0000299a: DUP7
0000299b: ADD
0000299c: MLOAD
0000299d: PUSH1 0x06
0000299f: SSTORE
000029a0: PUSH1 0x80
000029a2: DUP7
000029a3: ADD
000029a4: MLOAD
000029a5: PUSH1 0x07
000029a7: SSTORE
000029a8: PUSH1 0xa0
000029aa: DUP7
000029ab: ADD
000029ac: MLOAD
000029ad: PUSH1 0x08
000029af: SSTORE
000029b0: PUSH1 0xc0
000029b2: DUP7
000029b3: ADD
000029b4: MLOAD
000029b5: PUSH1 0x09
000029b7: SSTORE
000029b8: PUSH1 0xe0
000029ba: DUP7
000029bb: ADD
000029bc: MLOAD
000029bd: PUSH1 0x0a
000029bf: SSTORE
000029c0: DUP6
000029c1: ADD
000029c2: MLOAD
000029c3: PUSH1 0x0b
000029c5: SSTORE
000029c6: DUP5
000029c7: ADD
000029c8: MLOAD
000029c9: PUSH1 0x0c
000029cb: DUP1
000029cc: SLOAD
000029cd: PUSH1 0x01
000029cf: PUSH1 0x01
000029d1: PUSH1 0xa0
000029d3: SHL
000029d4: SUB
000029d5: NOT
000029d6: SWAP1
000029d7: DUP2
000029d8: AND
000029d9: PUSH1 0x01
000029db: PUSH1 0x01
000029dd: PUSH1 0xa0
000029df: SHL
000029e0: SUB
000029e1: SWAP4
000029e2: DUP5
000029e3: AND
000029e4: OR
000029e5: SWAP1
000029e6: SWAP2
000029e7: SSTORE
000029e8: SWAP2
000029e9: DUP6
000029ea: ADD
000029eb: MLOAD
000029ec: PUSH1 0x0d
000029ee: DUP1
000029ef: SLOAD
000029f0: DUP5
000029f1: AND
000029f2: SWAP2
000029f3: DUP4
000029f4: AND
000029f5: SWAP2
000029f6: SWAP1
000029f7: SWAP2
000029f8: OR
000029f9: SWAP1
000029fa: SSTORE
000029fb: SWAP2
000029fc: DUP5
000029fd: ADD
000029fe: MLOAD
000029ff: PUSH1 0x0e
00002a01: DUP1
00002a02: SLOAD
00002a03: DUP4
00002a04: AND
00002a05: SWAP2
00002a06: DUP5
00002a07: AND
00002a08: SWAP2
00002a09: SWAP1
00002a0a: SWAP2
00002a0b: OR
00002a0c: SWAP1
00002a0d: SSTORE
00002a0e: SWAP2
00002a0f: SWAP1
00002a10: SWAP3
00002a11: ADD
00002a12: MLOAD
00002a13: PUSH1 0x0f
00002a15: DUP1
00002a16: SLOAD
00002a17: SWAP1
00002a18: SWAP3
00002a19: AND
00002a1a: SWAP3
00002a1b: AND
00002a1c: SWAP2
00002a1d: SWAP1
00002a1e: SWAP2
00002a1f: OR
00002a20: SWAP1
00002a21: SSTORE
00002a22: PUSH0
00002a23: JUMPDEST
00002a24: DUP4
00002a25: MLOAD
00002a26: DUP2
00002a27: LT
00002a28: ISZERO
00002a29: PUSH2 0x2a6b
00002a2c: JUMPI
00002a2d: PUSH1 0x01
00002a2f: PUSH1 0x01
00002a31: PUSH1 0xa0
00002a33: SHL
00002a34: SUB
00002a35: PUSH2 0x2a3e
00002a38: DUP3
00002a39: DUP7
00002a3a: PUSH2 0x4102
00002a3d: JUMP
00002a3e: JUMPDEST
00002a3f: MLOAD
00002a40: AND
00002a41: ISZERO
00002a42: PUSH2 0x074d
00002a45: JUMPI
00002a46: PUSH1 0x01
00002a48: SWAP1
00002a49: PUSH2 0x2a64
00002a4c: PUSH1 0x01
00002a4e: PUSH1 0x01
00002a50: PUSH1 0xa0
00002a52: SHL
00002a53: SUB
00002a54: PUSH2 0x2a5d
00002a57: DUP4
00002a58: DUP9
00002a59: PUSH2 0x4102
00002a5c: JUMP
00002a5d: JUMPDEST
00002a5e: MLOAD
00002a5f: AND
00002a60: PUSH2 0x48af
00002a63: JUMP
00002a64: JUMPDEST
00002a65: POP
00002a66: ADD
00002a67: PUSH2 0x2a23
00002a6a: JUMP
00002a6b: JUMPDEST
00002a6c: POP
00002a6d: PUSH1 0xff
00002a6f: DUP3
00002a70: PUSH1 0x40
00002a72: SHR
00002a73: AND
00002a74: ISZERO
00002a75: PUSH2 0x2a7a
00002a78: JUMPI
00002a79: STOP
00002a7a: JUMPDEST
00002a7b: DUP1
00002a7c: SLOAD
00002a7d: PUSH1 0xff
00002a7f: PUSH1 0x40
00002a81: SHL
00002a82: NOT
00002a83: AND
00002a84: SWAP1
00002a85: SSTORE
00002a86: PUSH1 0x40
00002a88: MLOAD
00002a89: PUSH1 0x01
00002a8b: DUP2
00002a8c: MSTORE
00002a8d: PUSH32 0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2
00002aae: SWAP1
00002aaf: PUSH1 0x20
00002ab1: SWAP1
00002ab2: LOG1
00002ab3: STOP
00002ab4: JUMPDEST
00002ab5: ADD
00002ab6: MLOAD
00002ab7: SWAP1
00002ab8: POP
00002ab9: DUP12
00002aba: DUP1
00002abb: PUSH2 0x2982
00002abe: JUMP
00002abf: JUMPDEST
00002ac0: PUSH1 0x05
00002ac2: PUSH0
00002ac3: SWAP1
00002ac4: DUP2
00002ac5: MSTORE
00002ac6: SWAP4
00002ac7: POP
00002ac8: PUSH32 0x036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0
00002ae9: SWAP2
00002aea: SWAP1
00002aeb: JUMPDEST
00002aec: PUSH1 0x1f
00002aee: NOT
00002aef: DUP5
00002af0: AND
00002af1: DUP6
00002af2: LT
00002af3: PUSH2 0x2b2c
00002af6: JUMPI
00002af7: PUSH1 0x01
00002af9: SWAP5
00002afa: POP
00002afb: DUP4
00002afc: PUSH1 0x1f
00002afe: NOT
00002aff: DUP2
00002b00: AND
00002b01: LT
00002b02: PUSH2 0x2b14
00002b05: JUMPI
00002b06: JUMPDEST
00002b07: POP
00002b08: POP
00002b09: POP
00002b0a: DUP2
00002b0b: SHL
00002b0c: ADD
00002b0d: PUSH1 0x05
00002b0f: SSTORE
00002b10: PUSH2 0x2997
00002b13: JUMP
00002b14: JUMPDEST
00002b15: ADD
00002b16: MLOAD
00002b17: PUSH0
00002b18: NOT
00002b19: PUSH1 0xf8
00002b1b: DUP5
00002b1c: PUSH1 0x03
00002b1e: SHL
00002b1f: AND
00002b20: SHR
00002b21: NOT
00002b22: AND
00002b23: SWAP1
00002b24: SSTORE
00002b25: DUP12
00002b26: DUP1
00002b27: DUP1
00002b28: PUSH2 0x2b06
00002b2b: JUMP
00002b2c: JUMPDEST
00002b2d: DUP2
00002b2e: DUP2
00002b2f: ADD
00002b30: MLOAD
00002b31: DUP4
00002b32: SSTORE
00002b33: PUSH1 0x20
00002b35: SWAP5
00002b36: DUP6
00002b37: ADD
00002b38: SWAP5
00002b39: PUSH1 0x01
00002b3b: SWAP1
00002b3c: SWAP4
00002b3d: ADD
00002b3e: SWAP3
00002b3f: SWAP1
00002b40: SWAP2
00002b41: ADD
00002b42: SWAP1
00002b43: PUSH2 0x2aeb
00002b46: JUMP
00002b47: JUMPDEST
00002b48: SWAP1
00002b49: SWAP2
00002b4a: POP
00002b4b: PUSH1 0x05
00002b4d: PUSH0
00002b4e: MSTORE
00002b4f: PUSH1 0x20
00002b51: PUSH0
00002b52: KECCAK256
00002b53: PUSH1 0x1f
00002b55: DUP5
00002b56: ADD
00002b57: PUSH1 0x05
00002b59: SHR
00002b5a: DUP2
00002b5b: ADD
00002b5c: PUSH1 0x20
00002b5e: DUP6
00002b5f: LT
00002b60: PUSH2 0x2b8e
00002b63: JUMPI
00002b64: JUMPDEST
00002b65: SWAP1
00002b66: DUP5
00002b67: SWAP4
00002b68: SWAP3
00002b69: SWAP2
00002b6a: JUMPDEST
00002b6b: PUSH1 0x1f
00002b6d: DUP4
00002b6e: ADD
00002b6f: PUSH1 0x05
00002b71: SHR
00002b72: DUP3
00002b73: ADD
00002b74: DUP2
00002b75: LT
00002b76: PUSH2 0x2b80
00002b79: JUMPI
00002b7a: POP
00002b7b: POP
00002b7c: PUSH2 0x296c
00002b7f: JUMP
00002b80: JUMPDEST
00002b81: PUSH0
00002b82: DUP2
00002b83: SSTORE
00002b84: DUP6
00002b85: SWAP5
00002b86: POP
00002b87: PUSH1 0x01
00002b89: ADD
00002b8a: PUSH2 0x2b6a
00002b8d: JUMP
00002b8e: JUMPDEST
00002b8f: POP
00002b90: DUP1
00002b91: PUSH2 0x2b64
00002b94: JUMP
00002b95: JUMPDEST
00002b96: ADD
00002b97: MLOAD
00002b98: SWAP1
00002b99: POP
00002b9a: DUP12
00002b9b: DUP1
00002b9c: PUSH2 0x292b
00002b9f: JUMP
00002ba0: JUMPDEST
00002ba1: PUSH1 0x04
00002ba3: PUSH0
00002ba4: SWAP1
00002ba5: DUP2
00002ba6: MSTORE
00002ba7: SWAP4
00002ba8: POP
00002ba9: PUSH0
00002baa: DUP1
00002bab: MLOAD
00002bac: PUSH1 0x20
00002bae: PUSH2 0x561a
00002bb1: DUP4
00002bb2: CODECOPY
00002bb3: DUP2
00002bb4: MLOAD
00002bb5: SWAP2
00002bb6: MSTORE
00002bb7: SWAP2
00002bb8: SWAP1
00002bb9: JUMPDEST
00002bba: PUSH1 0x1f
00002bbc: NOT
00002bbd: DUP5
00002bbe: AND
00002bbf: DUP6
00002bc0: LT
00002bc1: PUSH2 0x2bfa
00002bc4: JUMPI
00002bc5: PUSH1 0x01
00002bc7: SWAP5
00002bc8: POP
00002bc9: DUP4
00002bca: PUSH1 0x1f
00002bcc: NOT
00002bcd: DUP2
00002bce: AND
00002bcf: LT
00002bd0: PUSH2 0x2be2
00002bd3: JUMPI
00002bd4: JUMPDEST
00002bd5: POP
00002bd6: POP
00002bd7: POP
00002bd8: DUP2
00002bd9: SHL
00002bda: ADD
00002bdb: PUSH1 0x04
00002bdd: SSTORE
00002bde: PUSH2 0x2940
00002be1: JUMP
00002be2: JUMPDEST
00002be3: ADD
00002be4: MLOAD
00002be5: PUSH0
00002be6: NOT
00002be7: PUSH1 0xf8
00002be9: DUP5
00002bea: PUSH1 0x03
00002bec: SHL
00002bed: AND
00002bee: SHR
00002bef: NOT
00002bf0: AND
00002bf1: SWAP1
00002bf2: SSTORE
00002bf3: DUP12
00002bf4: DUP1
00002bf5: DUP1
00002bf6: PUSH2 0x2bd4
00002bf9: JUMP
00002bfa: JUMPDEST
00002bfb: DUP2
00002bfc: DUP2
00002bfd: ADD
00002bfe: MLOAD
00002bff: DUP4
00002c00: SSTORE
00002c01: PUSH1 0x20
00002c03: SWAP5
00002c04: DUP6
00002c05: ADD
00002c06: SWAP5
00002c07: PUSH1 0x01
00002c09: SWAP1
00002c0a: SWAP4
00002c0b: ADD
00002c0c: SWAP3
00002c0d: SWAP1
00002c0e: SWAP2
00002c0f: ADD
00002c10: SWAP1
00002c11: PUSH2 0x2bb9
00002c14: JUMP
00002c15: JUMPDEST
00002c16: PUSH1 0x04
00002c18: PUSH0
00002c19: MSTORE
00002c1a: SWAP1
00002c1b: SWAP2
00002c1c: POP
00002c1d: PUSH0
00002c1e: DUP1
00002c1f: MLOAD
00002c20: PUSH1 0x20
00002c22: PUSH2 0x561a
00002c25: DUP4
00002c26: CODECOPY
00002c27: DUP2
00002c28: MLOAD
00002c29: SWAP2
00002c2a: MSTORE
00002c2b: PUSH1 0x1f
00002c2d: DUP5
00002c2e: ADD
00002c2f: PUSH1 0x05
00002c31: SHR
00002c32: DUP2
00002c33: ADD
00002c34: PUSH1 0x20
00002c36: DUP6
00002c37: LT
00002c38: PUSH2 0x2c66
00002c3b: JUMPI
00002c3c: JUMPDEST
00002c3d: SWAP1
00002c3e: DUP5
00002c3f: SWAP4
00002c40: SWAP3
00002c41: SWAP2
00002c42: JUMPDEST
00002c43: PUSH1 0x1f
00002c45: DUP4
00002c46: ADD
00002c47: PUSH1 0x05
00002c49: SHR
00002c4a: DUP3
00002c4b: ADD
00002c4c: DUP2
00002c4d: LT
00002c4e: PUSH2 0x2c58
00002c51: JUMPI
00002c52: POP
00002c53: POP
00002c54: PUSH2 0x2915
00002c57: JUMP
00002c58: JUMPDEST
00002c59: PUSH0
00002c5a: DUP2
00002c5b: SSTORE
00002c5c: DUP6
00002c5d: SWAP5
00002c5e: POP
00002c5f: PUSH1 0x01
00002c61: ADD
00002c62: PUSH2 0x2c42
00002c65: JUMP
00002c66: JUMPDEST
00002c67: POP
00002c68: DUP1
00002c69: PUSH2 0x2c3c
00002c6c: JUMP
00002c6d: JUMPDEST
00002c6e: POP
00002c6f: PUSH1 0x12
00002c71: SWAP1
00002c72: PUSH2 0x286d
00002c75: JUMP
00002c76: JUMPDEST
00002c77: PUSH1 0x40
00002c79: MLOAD
00002c7a: PUSH4 0xf4d1caab
00002c7f: PUSH1 0xe0
00002c81: SHL
00002c82: DUP2
00002c83: MSTORE
00002c84: PUSH1 0x04
00002c86: SWAP1
00002c87: REVERT
00002c88: JUMPDEST
00002c89: PUSH1 0x40
00002c8b: MLOAD
00002c8c: PUSH4 0x0674143f
00002c91: PUSH1 0xe0
00002c93: SHL
00002c94: DUP2
00002c95: MSTORE
00002c96: PUSH1 0x04
00002c98: SWAP1
00002c99: REVERT
00002c9a: JUMPDEST
00002c9b: PUSH1 0x40
00002c9d: MLOAD
00002c9e: PUSH4 0xe88d3ecb
00002ca3: PUSH1 0xe0
00002ca5: SHL
00002ca6: DUP2
00002ca7: MSTORE
00002ca8: PUSH1 0x04
00002caa: SWAP1
00002cab: REVERT
00002cac: JUMPDEST
00002cad: PUSH1 0x40
00002caf: MLOAD
00002cb0: PUSH4 0x2011727b
00002cb5: PUSH1 0xe1
00002cb7: SHL
00002cb8: DUP2
00002cb9: MSTORE
00002cba: PUSH1 0x04
00002cbc: SWAP1
00002cbd: REVERT
00002cbe: JUMPDEST
00002cbf: PUSH1 0x40
00002cc1: MLOAD
00002cc2: PUSH4 0x09aa66eb
00002cc7: PUSH1 0xe0
00002cc9: SHL
00002cca: DUP2
00002ccb: MSTORE
00002ccc: PUSH1 0x04
00002cce: SWAP1
00002ccf: REVERT
00002cd0: JUMPDEST
00002cd1: PUSH1 0x40
00002cd3: MLOAD
00002cd4: PUSH4 0x3240d181
00002cd9: PUSH1 0xe2
00002cdb: SHL
00002cdc: DUP2
00002cdd: MSTORE
00002cde: PUSH1 0x04
00002ce0: SWAP1
00002ce1: REVERT
00002ce2: JUMPDEST
00002ce3: PUSH1 0x40
00002ce5: MLOAD
00002ce6: PUSH4 0x0b5eba9f
00002ceb: PUSH1 0xe4
00002ced: SHL
00002cee: DUP2
00002cef: MSTORE
00002cf0: PUSH1 0x04
00002cf2: SWAP1
00002cf3: REVERT
00002cf4: JUMPDEST
00002cf5: ADD
00002cf6: MLOAD
00002cf7: SWAP1
00002cf8: POP
00002cf9: DUP12
00002cfa: DUP1
00002cfb: PUSH2 0x274e
00002cfe: JUMP
00002cff: JUMPDEST
00002d00: PUSH0
00002d01: DUP1
00002d02: MLOAD
00002d03: PUSH1 0x20
00002d05: PUSH2 0x555a
00002d08: DUP4
00002d09: CODECOPY
00002d0a: DUP2
00002d0b: MLOAD
00002d0c: SWAP2
00002d0d: MSTORE
00002d0e: PUSH0
00002d0f: SWAP1
00002d10: DUP2
00002d11: MSTORE
00002d12: SWAP4
00002d13: POP
00002d14: PUSH32 0x46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa
00002d35: SWAP2
00002d36: SWAP1
00002d37: JUMPDEST
00002d38: PUSH1 0x1f
00002d3a: NOT
00002d3b: DUP5
00002d3c: AND
00002d3d: DUP6
00002d3e: LT
00002d3f: PUSH2 0x2d84
00002d42: JUMPI
00002d43: PUSH1 0x01
00002d45: SWAP5
00002d46: POP
00002d47: DUP4
00002d48: PUSH1 0x1f
00002d4a: NOT
00002d4b: DUP2
00002d4c: AND
00002d4d: LT
00002d4e: PUSH2 0x2d6c
00002d51: JUMPI
00002d52: JUMPDEST
00002d53: POP
00002d54: POP
00002d55: POP
00002d56: DUP2
00002d57: SHL
00002d58: ADD
00002d59: PUSH0
00002d5a: DUP1
00002d5b: MLOAD
00002d5c: PUSH1 0x20
00002d5e: PUSH2 0x555a
00002d61: DUP4
00002d62: CODECOPY
00002d63: DUP2
00002d64: MLOAD
00002d65: SWAP2
00002d66: MSTORE
00002d67: SSTORE
00002d68: PUSH2 0x276f
00002d6b: JUMP
00002d6c: JUMPDEST
00002d6d: ADD
00002d6e: MLOAD
00002d6f: PUSH0
00002d70: NOT
00002d71: PUSH1 0xf8
00002d73: DUP5
00002d74: PUSH1 0x03
00002d76: SHL
00002d77: AND
00002d78: SHR
00002d79: NOT
00002d7a: AND
00002d7b: SWAP1
00002d7c: SSTORE
00002d7d: DUP12
00002d7e: DUP1
00002d7f: DUP1
00002d80: PUSH2 0x2d52
00002d83: JUMP
00002d84: JUMPDEST
00002d85: DUP2
00002d86: DUP2
00002d87: ADD
00002d88: MLOAD
00002d89: DUP4
00002d8a: SSTORE
00002d8b: PUSH1 0x20
00002d8d: SWAP5
00002d8e: DUP6
00002d8f: ADD
00002d90: SWAP5
00002d91: PUSH1 0x01
00002d93: SWAP1
00002d94: SWAP4
00002d95: ADD
00002d96: SWAP3
00002d97: SWAP1
00002d98: SWAP2
00002d99: ADD
00002d9a: SWAP1
00002d9b: PUSH2 0x2d37
00002d9e: JUMP
00002d9f: JUMPDEST
00002da0: PUSH0
00002da1: DUP1
00002da2: MLOAD
00002da3: PUSH1 0x20
00002da5: PUSH2 0x555a
00002da8: DUP4
00002da9: CODECOPY
00002daa: DUP2
00002dab: MLOAD
00002dac: SWAP2
00002dad: MSTORE
00002dae: PUSH0
00002daf: MSTORE
00002db0: SWAP1
00002db1: SWAP2
00002db2: POP
00002db3: PUSH32 0x46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa
00002dd4: PUSH1 0x1f
00002dd6: DUP5
00002dd7: ADD
00002dd8: PUSH1 0x05
00002dda: SHR
00002ddb: DUP2
00002ddc: ADD
00002ddd: PUSH1 0x20
00002ddf: DUP6
00002de0: LT
00002de1: PUSH2 0x2e0f
00002de4: JUMPI
00002de5: JUMPDEST
00002de6: SWAP1
00002de7: DUP5
00002de8: SWAP4
00002de9: SWAP3
00002dea: SWAP2
00002deb: JUMPDEST
00002dec: PUSH1 0x1f
00002dee: DUP4
00002def: ADD
00002df0: PUSH1 0x05
00002df2: SHR
00002df3: DUP3
00002df4: ADD
00002df5: DUP2
00002df6: LT
00002df7: PUSH2 0x2e01
00002dfa: JUMPI
00002dfb: POP
00002dfc: POP
00002dfd: PUSH2 0x2738
00002e00: JUMP
00002e01: JUMPDEST
00002e02: PUSH0
00002e03: DUP2
00002e04: SSTORE
00002e05: DUP6
00002e06: SWAP5
00002e07: POP
00002e08: PUSH1 0x01
00002e0a: ADD
00002e0b: PUSH2 0x2deb
00002e0e: JUMP
00002e0f: JUMPDEST
00002e10: POP
00002e11: DUP1
00002e12: PUSH2 0x2de5
00002e15: JUMP
00002e16: JUMPDEST
00002e17: ADD
00002e18: MLOAD
00002e19: SWAP1
00002e1a: POP
00002e1b: DUP13
00002e1c: DUP1
00002e1d: PUSH2 0x26e4
00002e20: JUMP
00002e21: JUMPDEST
00002e22: PUSH0
00002e23: DUP1
00002e24: MLOAD
00002e25: PUSH1 0x20
00002e27: PUSH2 0x551a
00002e2a: DUP4
00002e2b: CODECOPY
00002e2c: DUP2
00002e2d: MLOAD
00002e2e: SWAP2
00002e2f: MSTORE
00002e30: PUSH0
00002e31: SWAP1
00002e32: DUP2
00002e33: MSTORE
00002e34: SWAP4
00002e35: POP
00002e36: PUSH32 0x2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0
00002e57: SWAP2
00002e58: SWAP1
00002e59: JUMPDEST
00002e5a: PUSH1 0x1f
00002e5c: NOT
00002e5d: DUP5
00002e5e: AND
00002e5f: DUP6
00002e60: LT
00002e61: PUSH2 0x2ea6
00002e64: JUMPI
00002e65: PUSH1 0x01
00002e67: SWAP5
00002e68: POP
00002e69: DUP4
00002e6a: PUSH1 0x1f
00002e6c: NOT
00002e6d: DUP2
00002e6e: AND
00002e6f: LT
00002e70: PUSH2 0x2e8e
00002e73: JUMPI
00002e74: JUMPDEST
00002e75: POP
00002e76: POP
00002e77: POP
00002e78: DUP2
00002e79: SHL
00002e7a: ADD
00002e7b: PUSH0
00002e7c: DUP1
00002e7d: MLOAD
00002e7e: PUSH1 0x20
00002e80: PUSH2 0x551a
00002e83: DUP4
00002e84: CODECOPY
00002e85: DUP2
00002e86: MLOAD
00002e87: SWAP2
00002e88: MSTORE
00002e89: SSTORE
00002e8a: PUSH2 0x2705
00002e8d: JUMP
00002e8e: JUMPDEST
00002e8f: ADD
00002e90: MLOAD
00002e91: PUSH0
00002e92: NOT
00002e93: PUSH1 0xf8
00002e95: DUP5
00002e96: PUSH1 0x03
00002e98: SHL
00002e99: AND
00002e9a: SHR
00002e9b: NOT
00002e9c: AND
00002e9d: SWAP1
00002e9e: SSTORE
00002e9f: DUP13
00002ea0: DUP1
00002ea1: DUP1
00002ea2: PUSH2 0x2e74
00002ea5: JUMP
00002ea6: JUMPDEST
00002ea7: DUP2
00002ea8: DUP2
00002ea9: ADD
00002eaa: MLOAD
00002eab: DUP4
00002eac: SSTORE
00002ead: PUSH1 0x20
00002eaf: SWAP5
00002eb0: DUP6
00002eb1: ADD
00002eb2: SWAP5
00002eb3: PUSH1 0x01
00002eb5: SWAP1
00002eb6: SWAP4
00002eb7: ADD
00002eb8: SWAP3
00002eb9: SWAP1
00002eba: SWAP2
00002ebb: ADD
00002ebc: SWAP1
00002ebd: PUSH2 0x2e59
00002ec0: JUMP
00002ec1: JUMPDEST
00002ec2: PUSH0
00002ec3: DUP1
00002ec4: MLOAD
00002ec5: PUSH1 0x20
00002ec7: PUSH2 0x551a
00002eca: DUP4
00002ecb: CODECOPY
00002ecc: DUP2
00002ecd: MLOAD
00002ece: SWAP2
00002ecf: MSTORE
00002ed0: PUSH0
00002ed1: MSTORE
00002ed2: SWAP1
00002ed3: SWAP2
00002ed4: POP
00002ed5: PUSH32 0x2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0
00002ef6: PUSH1 0x1f
00002ef8: DUP5
00002ef9: ADD
00002efa: PUSH1 0x05
00002efc: SHR
00002efd: DUP2
00002efe: ADD
00002eff: PUSH1 0x20
00002f01: DUP6
00002f02: LT
00002f03: PUSH2 0x2f31
00002f06: JUMPI
00002f07: JUMPDEST
00002f08: SWAP1
00002f09: DUP5
00002f0a: SWAP4
00002f0b: SWAP3
00002f0c: SWAP2
00002f0d: JUMPDEST
00002f0e: PUSH1 0x1f
00002f10: DUP4
00002f11: ADD
00002f12: PUSH1 0x05
00002f14: SHR
00002f15: DUP3
00002f16: ADD
00002f17: DUP2
00002f18: LT
00002f19: PUSH2 0x2f23
00002f1c: JUMPI
00002f1d: POP
00002f1e: POP
00002f1f: PUSH2 0x26ce
00002f22: JUMP
00002f23: JUMPDEST
00002f24: PUSH0
00002f25: DUP2
00002f26: SSTORE
00002f27: DUP6
00002f28: SWAP5
00002f29: POP
00002f2a: PUSH1 0x01
00002f2c: ADD
00002f2d: PUSH2 0x2f0d
00002f30: JUMP
00002f31: JUMPDEST
00002f32: POP
00002f33: DUP1
00002f34: PUSH2 0x2f07
00002f37: JUMP
00002f38: JUMPDEST
00002f39: PUSH1 0x20
00002f3b: DUP1
00002f3c: DUP1
00002f3d: SWAP4
00002f3e: PUSH2 0x2f46
00002f41: DUP7
00002f42: PUSH2 0x3aee
00002f45: JUMP
00002f46: JUMPDEST
00002f47: DUP2
00002f48: MSTORE
00002f49: ADD
00002f4a: SWAP4
00002f4b: ADD
00002f4c: SWAP3
00002f4d: SWAP2
00002f4e: POP
00002f4f: PUSH2 0x265a
00002f52: JUMP
00002f53: JUMPDEST
00002f54: PUSH9 0xffffffffffffffffff
00002f5e: NOT
00002f5f: DUP4
00002f60: AND
00002f61: PUSH9 0x010000000000000001
00002f6b: OR
00002f6c: DUP3
00002f6d: SSTORE
00002f6e: PUSH2 0x24ce
00002f71: JUMP
00002f72: JUMPDEST
00002f73: PUSH1 0x40
00002f75: MLOAD
00002f76: PUSH4 0xf92ee8a9
00002f7b: PUSH1 0xe0
00002f7d: SHL
00002f7e: DUP2
00002f7f: MSTORE
00002f80: PUSH1 0x04
00002f82: SWAP1
00002f83: REVERT
00002f84: JUMPDEST
00002f85: SWAP1
00002f86: POP
00002f87: ISZERO
00002f88: DUP6
00002f89: PUSH2 0x24ac
00002f8c: JUMP
00002f8d: JUMPDEST
00002f8e: ADDRESS
00002f8f: EXTCODESIZE
00002f90: ISZERO
00002f91: SWAP2
00002f92: POP
00002f93: PUSH2 0x24a4
00002f96: JUMP
00002f97: JUMPDEST
00002f98: PUSH1 0x40
00002f9a: DUP6
00002f9b: SWAP1
00002f9c: SHR
00002f9d: PUSH1 0xff
00002f9f: AND
00002fa0: ISZERO
00002fa1: SWAP2
00002fa2: POP
00002fa3: PUSH2 0x249a
00002fa6: JUMP
00002fa7: JUMPDEST
00002fa8: CALLVALUE
00002fa9: PUSH2 0x0bfb
00002fac: JUMPI
00002fad: PUSH1 0x20
00002faf: CALLDATASIZE
00002fb0: PUSH1 0x03
00002fb2: NOT
00002fb3: ADD
00002fb4: SLT
00002fb5: PUSH2 0x0bfb
00002fb8: JUMPI
00002fb9: PUSH2 0x2fc0
00002fbc: PUSH2 0x3aac
00002fbf: JUMP
00002fc0: JUMPDEST
00002fc1: POP
00002fc2: PUSH1 0x20
00002fc4: PUSH2 0x04c4
00002fc7: PUSH1 0x06
00002fc9: SLOAD
00002fca: PUSH2 0x1e44
00002fcd: PUSH2 0x3d0e
00002fd0: JUMP
00002fd1: JUMPDEST
00002fd2: CALLVALUE
00002fd3: PUSH2 0x0bfb
00002fd6: JUMPI
00002fd7: PUSH0
00002fd8: CALLDATASIZE
00002fd9: PUSH1 0x03
00002fdb: NOT
00002fdc: ADD
00002fdd: SLT
00002fde: PUSH2 0x0bfb
00002fe1: JUMPI
00002fe2: PUSH2 0x2fe9
00002fe5: PUSH2 0x436a
00002fe8: JUMP
00002fe9: JUMPDEST
00002fea: PUSH0
00002feb: DUP1
00002fec: MLOAD
00002fed: PUSH1 0x20
00002fef: PUSH2 0x55fa
00002ff2: DUP4
00002ff3: CODECOPY
00002ff4: DUP2
00002ff5: MLOAD
00002ff6: SWAP2
00002ff7: MSTORE
00002ff8: DUP1
00002ff9: SLOAD
00002ffa: PUSH1 0xff
00002ffc: DUP2
00002ffd: AND
00002ffe: ISZERO
00002fff: PUSH2 0x3034
00003002: JUMPI
00003003: PUSH1 0xff
00003005: NOT
00003006: AND
00003007: SWAP1
00003008: SSTORE
00003009: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa
0000302a: PUSH1 0x20
0000302c: PUSH1 0x40
0000302e: MLOAD
0000302f: CALLER
00003030: DUP2
00003031: MSTORE
00003032: LOG1
00003033: STOP
00003034: JUMPDEST
00003035: PUSH1 0x40
00003037: MLOAD
00003038: PUSH4 0x8dfc202b
0000303d: PUSH1 0xe0
0000303f: SHL
00003040: DUP2
00003041: MSTORE
00003042: PUSH1 0x04
00003044: SWAP1
00003045: REVERT
00003046: JUMPDEST
00003047: CALLVALUE
00003048: PUSH2 0x0bfb
0000304b: JUMPI
0000304c: PUSH0
0000304d: CALLDATASIZE
0000304e: PUSH1 0x03
00003050: NOT
00003051: ADD
00003052: SLT
00003053: PUSH2 0x0bfb
00003056: JUMPI
00003057: PUSH1 0x20
00003059: PUSH1 0x12
0000305b: SLOAD
0000305c: PUSH1 0x40
0000305e: MLOAD
0000305f: SWAP1
00003060: DUP2
00003061: MSTORE
00003062: RETURN
00003063: JUMPDEST
00003064: CALLVALUE
00003065: PUSH2 0x0bfb
00003068: JUMPI
00003069: PUSH1 0x20
0000306b: CALLDATASIZE
0000306c: PUSH1 0x03
0000306e: NOT
0000306f: ADD
00003070: SLT
00003071: PUSH2 0x0bfb
00003074: JUMPI
00003075: PUSH1 0x04
00003077: CALLDATALOAD
00003078: PUSH2 0x307f
0000307b: PUSH2 0x436a
0000307e: JUMP
0000307f: JUMPDEST
00003080: PUSH3 0x093a80
00003084: DUP2
00003085: LT
00003086: PUSH2 0x2cac
00003089: JUMPI
0000308a: PUSH32 0xcdbf56e2a82365307f9691ad933e9762726485d202543fe224f47447d79feaf0
000030ab: PUSH1 0x40
000030ad: PUSH1 0x08
000030af: SLOAD
000030b0: DUP2
000030b1: MLOAD
000030b2: SWAP1
000030b3: DUP2
000030b4: MSTORE
000030b5: DUP4
000030b6: PUSH1 0x20
000030b8: DUP3
000030b9: ADD
000030ba: MSTORE
000030bb: LOG1
000030bc: PUSH1 0x08
000030be: SSTORE
000030bf: STOP
000030c0: JUMPDEST
000030c1: CALLVALUE
000030c2: PUSH2 0x0bfb
000030c5: JUMPI
000030c6: PUSH0
000030c7: CALLDATASIZE
000030c8: PUSH1 0x03
000030ca: NOT
000030cb: ADD
000030cc: SLT
000030cd: PUSH2 0x0bfb
000030d0: JUMPI
000030d1: PUSH1 0x0d
000030d3: SLOAD
000030d4: PUSH1 0x01
000030d6: PUSH1 0x01
000030d8: PUSH1 0xa0
000030da: SHL
000030db: SUB
000030dc: AND
000030dd: CALLER
000030de: SUB
000030df: PUSH2 0x30f8
000030e2: JUMPI
000030e3: PUSH1 0x40
000030e5: PUSH2 0x30ec
000030e8: PUSH2 0x3f53
000030eb: JUMP
000030ec: JUMPDEST
000030ed: DUP3
000030ee: MLOAD
000030ef: SWAP2
000030f0: DUP3
000030f1: MSTORE
000030f2: PUSH1 0x20
000030f4: DUP3
000030f5: ADD
000030f6: MSTORE
000030f7: RETURN
000030f8: JUMPDEST
000030f9: PUSH1 0x40
000030fb: MLOAD
000030fc: PUSH4 0xbd72e291
00003101: PUSH1 0xe0
00003103: SHL
00003104: DUP2
00003105: MSTORE
00003106: PUSH1 0x04
00003108: SWAP1
00003109: REVERT
0000310a: JUMPDEST
0000310b: CALLVALUE
0000310c: PUSH2 0x0bfb
0000310f: JUMPI
00003110: PUSH0
00003111: CALLDATASIZE
00003112: PUSH1 0x03
00003114: NOT
00003115: ADD
00003116: SLT
00003117: PUSH2 0x0bfb
0000311a: JUMPI
0000311b: PUSH2 0x3126
0000311e: PUSH1 0x14
00003120: SLOAD
00003121: TIMESTAMP
00003122: PUSH2 0x3cd0
00003125: JUMP
00003126: JUMPDEST
00003127: PUSH1 0x09
00003129: SLOAD
0000312a: DUP2
0000312b: DUP2
0000312c: GT
0000312d: ISZERO
0000312e: PUSH2 0x313d
00003131: JUMPI
00003132: PUSH1 0x20
00003134: SWAP2
00003135: PUSH2 0x04c4
00003138: SWAP2
00003139: PUSH2 0x3cd0
0000313c: JUMP
0000313d: JUMPDEST
0000313e: POP
0000313f: POP
00003140: PUSH1 0x20
00003142: PUSH0
00003143: PUSH2 0x04c4
00003146: JUMP
00003147: JUMPDEST
00003148: CALLVALUE
00003149: PUSH2 0x0bfb
0000314c: JUMPI
0000314d: PUSH0
0000314e: CALLDATASIZE
0000314f: PUSH1 0x03
00003151: NOT
00003152: ADD
00003153: SLT
00003154: PUSH2 0x0bfb
00003157: JUMPI
00003158: PUSH0
00003159: DUP1
0000315a: MLOAD
0000315b: PUSH1 0x20
0000315d: PUSH2 0x55da
00003160: DUP4
00003161: CODECOPY
00003162: DUP2
00003163: MLOAD
00003164: SWAP2
00003165: MSTORE
00003166: SLOAD
00003167: PUSH1 0x40
00003169: MLOAD
0000316a: PUSH1 0x01
0000316c: PUSH1 0x01
0000316e: PUSH1 0xa0
00003170: SHL
00003171: SUB
00003172: SWAP1
00003173: SWAP2
00003174: AND
00003175: DUP2
00003176: MSTORE
00003177: PUSH1 0x20
00003179: SWAP1
0000317a: RETURN
0000317b: JUMPDEST
0000317c: CALLVALUE
0000317d: PUSH2 0x0bfb
00003180: JUMPI
00003181: PUSH1 0x20
00003183: CALLDATASIZE
00003184: PUSH1 0x03
00003186: NOT
00003187: ADD
00003188: SLT
00003189: PUSH2 0x0bfb
0000318c: JUMPI
0000318d: PUSH1 0x04
0000318f: CALLDATALOAD
00003190: PUSH2 0x3197
00003193: PUSH2 0x436a
00003196: JUMP
00003197: JUMPDEST
00003198: PUSH3 0x127500
0000319c: DUP2
0000319d: GT
0000319e: PUSH2 0x2c9a
000031a1: JUMPI
000031a2: PUSH32 0xcc5a4a7c466fc20af4119a7a26048791fdb55cbd401aff36ef2bfc639662b2e2
000031c3: PUSH1 0x40
000031c5: PUSH1 0x09
000031c7: SLOAD
000031c8: DUP2
000031c9: MLOAD
000031ca: SWAP1
000031cb: DUP2
000031cc: MSTORE
000031cd: DUP4
000031ce: PUSH1 0x20
000031d0: DUP3
000031d1: ADD
000031d2: MSTORE
000031d3: LOG1
000031d4: PUSH1 0x09
000031d6: SSTORE
000031d7: STOP
000031d8: JUMPDEST
000031d9: PUSH1 0x80
000031db: CALLDATASIZE
000031dc: PUSH1 0x03
000031de: NOT
000031df: ADD
000031e0: SLT
000031e1: PUSH2 0x0bfb
000031e4: JUMPI
000031e5: PUSH2 0x31ec
000031e8: PUSH2 0x3aac
000031eb: JUMP
000031ec: JUMPDEST
000031ed: PUSH1 0x01
000031ef: PUSH1 0x01
000031f1: PUSH1 0xa0
000031f3: SHL
000031f4: SUB
000031f5: SWAP1
000031f6: PUSH1 0x44
000031f8: CALLDATALOAD
000031f9: DUP3
000031fa: DUP2
000031fb: AND
000031fc: SWAP2
000031fd: SWAP1
000031fe: PUSH1 0x24
00003200: CALLDATALOAD
00003201: DUP4
00003202: DUP3
00003203: SUB
00003204: PUSH2 0x0bfb
00003207: JUMPI
00003208: PUSH2 0x320f
0000320b: PUSH2 0x3ad8
0000320e: JUMP
0000320f: JUMPDEST
00003210: SWAP5
00003211: PUSH2 0x3218
00003214: PUSH2 0x4410
00003217: JUMP
00003218: JUMPDEST
00003219: PUSH2 0x3220
0000321c: PUSH2 0x443c
0000321f: JUMP
00003220: JUMPDEST
00003221: DUP2
00003222: SWAP4
00003223: PUSH1 0xff
00003225: PUSH1 0x1e
00003227: SLOAD
00003228: AND
00003229: PUSH2 0x15a4
0000322c: JUMPI
0000322d: DUP2
0000322e: AND
0000322f: SWAP2
00003230: PUSH20 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00003245: DUP4
00003246: EQ
00003247: ISZERO
00003248: DUP1
00003249: PUSH2 0x3488
0000324c: JUMPI
0000324d: JUMPDEST
0000324e: PUSH2 0x1347
00003251: JUMPI
00003252: PUSH0
00003253: NOT
00003254: EQ
00003255: PUSH2 0x3411
00003258: JUMPI
00003259: JUMPDEST
0000325a: PUSH1 0x40
0000325c: MLOAD
0000325d: SWAP6
0000325e: PUSH2 0x3294
00003261: PUSH1 0x20
00003263: SWAP8
00003264: PUSH4 0x23b872dd
00003269: PUSH1 0xe0
0000326b: SHL
0000326c: DUP10
0000326d: DUP3
0000326e: ADD
0000326f: MSTORE
00003270: CALLER
00003271: PUSH1 0x24
00003273: DUP3
00003274: ADD
00003275: MSTORE
00003276: ADDRESS
00003277: PUSH1 0x44
00003279: DUP3
0000327a: ADD
0000327b: MSTORE
0000327c: DUP7
0000327d: PUSH1 0x64
0000327f: DUP3
00003280: ADD
00003281: MSTORE
00003282: PUSH1 0x64
00003284: DUP2
00003285: MSTORE
00003286: PUSH2 0x328e
00003289: DUP2
0000328a: PUSH2 0x3c4b
0000328d: JUMP
0000328e: JUMPDEST
0000328f: DUP5
00003290: PUSH2 0x4814
00003293: JUMP
00003294: JUMPDEST
00003295: DUP5
00003296: PUSH20 0x238a700ed6165261cf8b2e544ba797bc11e466ba
000032ab: DUP5
000032ac: EQ
000032ad: PUSH2 0x3378
000032b0: JUMPI
000032b1: JUMPDEST
000032b2: PUSH2 0x32bf
000032b5: PUSH1 0x06
000032b7: SLOAD
000032b8: PUSH2 0x1e44
000032bb: PUSH2 0x3d0e
000032be: JUMP
000032bf: JUMPDEST
000032c0: DUP2
000032c1: GT
000032c2: PUSH2 0x1eec
000032c5: JUMPI
000032c6: PUSH2 0x32ce
000032c9: SWAP1
000032ca: PUSH2 0x43d9
000032cd: JUMP
000032ce: JUMPDEST
000032cf: PUSH1 0x1d
000032d1: SLOAD
000032d2: SWAP1
000032d3: PUSH2 0x2710
000032d6: SWAP2
000032d7: DUP3
000032d8: SUB
000032d9: DUP3
000032da: DUP2
000032db: GT
000032dc: PUSH2 0x0d7a
000032df: JUMPI
000032e0: PUSH2 0x32e8
000032e3: SWAP2
000032e4: PUSH2 0x3cdd
000032e7: JUMP
000032e8: JUMPDEST
000032e9: DIV
000032ea: SWAP6
000032eb: PUSH1 0x09
000032ed: SLOAD
000032ee: PUSH2 0x32f9
000032f1: PUSH1 0x14
000032f3: SLOAD
000032f4: TIMESTAMP
000032f5: PUSH2 0x3cd0
000032f8: JUMP
000032f9: JUMPDEST
000032fa: GT
000032fb: PUSH2 0x1323
000032fe: JUMPI
000032ff: PUSH32 0x308d36d8f61bd4393536b6557142f55554c34d4ea2a3dbf54fe782b98889dfb2
00003320: SWAP6
00003321: PUSH2 0x332c
00003324: DUP9
00003325: PUSH1 0xa0
00003327: SWAP8
00003328: PUSH2 0x45ae
0000332b: JUMP
0000332c: JUMPDEST
0000332d: CALLER
0000332e: PUSH0
0000332f: MSTORE
00003330: PUSH1 0x18
00003332: DUP10
00003333: MSTORE
00003334: PUSH1 0x40
00003336: PUSH0
00003337: KECCAK256
00003338: PUSH2 0x3342
0000333b: DUP10
0000333c: DUP3
0000333d: SLOAD
0000333e: PUSH2 0x3d7b
00003341: JUMP
00003342: JUMPDEST
00003343: SWAP1
00003344: SSTORE
00003345: PUSH1 0x40
00003347: MLOAD
00003348: SWAP5
00003349: CALLER
0000334a: DUP7
0000334b: MSTORE
0000334c: DUP10
0000334d: DUP7
0000334e: ADD
0000334f: MSTORE
00003350: PUSH1 0x40
00003352: DUP6
00003353: ADD
00003354: MSTORE
00003355: PUSH1 0x60
00003357: DUP5
00003358: ADD
00003359: MSTORE
0000335a: AND
0000335b: PUSH1 0x80
0000335d: DUP3
0000335e: ADD
0000335f: MSTORE
00003360: LOG1
00003361: PUSH0
00003362: PUSH0
00003363: DUP1
00003364: MLOAD
00003365: PUSH1 0x20
00003367: PUSH2 0x563a
0000336a: DUP4
0000336b: CODECOPY
0000336c: DUP2
0000336d: MLOAD
0000336e: SWAP2
0000336f: MSTORE
00003370: TSTORE
00003371: PUSH1 0x40
00003373: MLOAD
00003374: SWAP1
00003375: DUP2
00003376: MSTORE
00003377: RETURN
00003378: JUMPDEST
00003379: POP
0000337a: PUSH1 0x40
0000337c: MLOAD
0000337d: PUSH4 0xbb23ae25
00003382: PUSH1 0xe0
00003384: SHL
00003385: DUP2
00003386: MSTORE
00003387: DUP8
00003388: DUP2
00003389: PUSH1 0x04
0000338b: DUP2
0000338c: PUSH20 0x8d51dbc85ceef637c97d02bdaabb5e274850e68c
000033a1: GAS
000033a2: STATICCALL
000033a3: SWAP1
000033a4: DUP2
000033a5: ISZERO
000033a6: PUSH2 0x1f1f
000033a9: JUMPI
000033aa: PUSH0
000033ab: SWAP2
000033ac: PUSH2 0x33e4
000033af: JUMPI
000033b0: JUMPDEST
000033b1: POP
000033b2: PUSH0
000033b3: DUP2
000033b4: SLT
000033b5: PUSH2 0x33d2
000033b8: JUMPI
000033b9: PUSH2 0x33cc
000033bc: PUSH9 0x056bc75e2d63100000
000033c6: SWAP2
000033c7: DUP8
000033c8: PUSH2 0x3cdd
000033cb: JUMP
000033cc: JUMPDEST
000033cd: DIV
000033ce: PUSH2 0x32b1
000033d1: JUMP
000033d2: JUMPDEST
000033d3: PUSH1 0x40
000033d5: MLOAD
000033d6: PUSH4 0x3253194b
000033db: PUSH1 0xe2
000033dd: SHL
000033de: DUP2
000033df: MSTORE
000033e0: PUSH1 0x04
000033e2: SWAP1
000033e3: REVERT
000033e4: JUMPDEST
000033e5: SWAP1
000033e6: POP
000033e7: DUP8
000033e8: DUP2
000033e9: DUP2
000033ea: RETURNDATASIZE
000033eb: DUP4
000033ec: GT
000033ed: PUSH2 0x340a
000033f0: JUMPI
000033f1: JUMPDEST
000033f2: PUSH2 0x33fb
000033f5: DUP2
000033f6: DUP4
000033f7: PUSH2 0x3c94
000033fa: JUMP
000033fb: JUMPDEST
000033fc: DUP2
000033fd: ADD
000033fe: SUB
000033ff: SLT
00003400: PUSH2 0x0bfb
00003403: JUMPI
00003404: MLOAD
00003405: DUP9
00003406: PUSH2 0x33b0
00003409: JUMP
0000340a: JUMPDEST
0000340b: POP
0000340c: RETURNDATASIZE
0000340d: PUSH2 0x33f1
00003410: JUMP
00003411: JUMPDEST
00003412: SWAP3
00003413: POP
00003414: PUSH1 0x24
00003416: PUSH1 0x20
00003418: DUP5
00003419: PUSH0
0000341a: DUP1
0000341b: MLOAD
0000341c: PUSH1 0x20
0000341e: PUSH2 0x55da
00003421: DUP4
00003422: CODECOPY
00003423: DUP2
00003424: MLOAD
00003425: SWAP2
00003426: MSTORE
00003427: SLOAD
00003428: AND
00003429: PUSH1 0x40
0000342b: MLOAD
0000342c: SWAP3
0000342d: DUP4
0000342e: DUP1
0000342f: SWAP3
00003430: PUSH4 0x70a08231
00003435: PUSH1 0xe0
00003437: SHL
00003438: DUP3
00003439: MSTORE
0000343a: CALLER
0000343b: PUSH1 0x04
0000343d: DUP4
0000343e: ADD
0000343f: MSTORE
00003440: GAS
00003441: STATICCALL
00003442: SWAP1
00003443: DUP2
00003444: ISZERO
00003445: PUSH2 0x1f1f
00003448: JUMPI
00003449: PUSH0
0000344a: SWAP2
0000344b: PUSH2 0x3456
0000344e: JUMPI
0000344f: JUMPDEST
00003450: POP
00003451: SWAP3
00003452: PUSH2 0x3259
00003455: JUMP
00003456: JUMPDEST
00003457: SWAP1
00003458: POP
00003459: PUSH1 0x20
0000345b: DUP2
0000345c: RETURNDATASIZE
0000345d: PUSH1 0x20
0000345f: GT
00003460: PUSH2 0x3480
00003463: JUMPI
00003464: JUMPDEST
00003465: DUP2
00003466: PUSH2 0x3471
00003469: PUSH1 0x20
0000346b: SWAP4
0000346c: DUP4
0000346d: PUSH2 0x3c94
00003470: JUMP
00003471: JUMPDEST
00003472: DUP2
00003473: ADD
00003474: SUB
00003475: SLT
00003476: PUSH2 0x0bfb
00003479: JUMPI
0000347a: MLOAD
0000347b: DUP7
0000347c: PUSH2 0x344f
0000347f: JUMP
00003480: JUMPDEST
00003481: RETURNDATASIZE
00003482: SWAP2
00003483: POP
00003484: PUSH2 0x3464
00003487: JUMP
00003488: JUMPDEST
00003489: POP
0000348a: PUSH20 0x238a700ed6165261cf8b2e544ba797bc11e466ba
0000349f: DUP4
000034a0: EQ
000034a1: ISZERO
000034a2: PUSH2 0x324d
000034a5: JUMP
000034a6: JUMPDEST
000034a7: CALLVALUE
000034a8: PUSH2 0x0bfb
000034ab: JUMPI
000034ac: PUSH0
000034ad: CALLDATASIZE
000034ae: PUSH1 0x03
000034b0: NOT
000034b1: ADD
000034b2: SLT
000034b3: PUSH2 0x0bfb
000034b6: JUMPI
000034b7: PUSH1 0x20
000034b9: PUSH2 0x34c0
000034bc: PUSH2 0x3f33
000034bf: JUMP
000034c0: JUMPDEST
000034c1: PUSH1 0xff
000034c3: PUSH1 0x40
000034c5: MLOAD
000034c6: SWAP2
000034c7: AND
000034c8: DUP2
000034c9: MSTORE
000034ca: RETURN
000034cb: JUMPDEST
000034cc: CALLVALUE
000034cd: PUSH2 0x0bfb
000034d0: JUMPI
000034d1: PUSH1 0x20
000034d3: CALLDATASIZE
000034d4: PUSH1 0x03
000034d6: NOT
000034d7: ADD
000034d8: SLT
000034d9: PUSH2 0x0bfb
000034dc: JUMPI
000034dd: PUSH1 0x20
000034df: PUSH2 0x2710
000034e2: PUSH2 0x34ef
000034e5: PUSH1 0x0b
000034e7: SLOAD
000034e8: PUSH1 0x04
000034ea: CALLDATALOAD
000034eb: PUSH2 0x3cdd
000034ee: JUMP
000034ef: JUMPDEST
000034f0: DIV
000034f1: PUSH1 0x40
000034f3: MLOAD
000034f4: SWAP1
000034f5: DUP2
000034f6: MSTORE
000034f7: RETURN
000034f8: JUMPDEST
000034f9: CALLVALUE
000034fa: PUSH2 0x0bfb
000034fd: JUMPI
000034fe: PUSH1 0x20
00003500: CALLDATASIZE
00003501: PUSH1 0x03
00003503: NOT
00003504: ADD
00003505: SLT
00003506: PUSH2 0x0bfb
00003509: JUMPI
0000350a: PUSH1 0x04
0000350c: CALLDATALOAD
0000350d: PUSH2 0x3514
00003510: PUSH2 0x436a
00003513: JUMP
00003514: JUMPDEST
00003515: PUSH2 0x05dc
00003518: DUP2
00003519: GT
0000351a: PUSH2 0x2c88
0000351d: JUMPI
0000351e: PUSH32 0x63058ed61801434ac6bfe39e74400bed7f3ba09b7cb6294092974450727eb753
0000353f: PUSH1 0x40
00003541: PUSH1 0x0a
00003543: SLOAD
00003544: DUP2
00003545: MLOAD
00003546: SWAP1
00003547: DUP2
00003548: MSTORE
00003549: DUP4
0000354a: PUSH1 0x20
0000354c: DUP3
0000354d: ADD
0000354e: MSTORE
0000354f: LOG1
00003550: PUSH1 0x0a
00003552: SSTORE
00003553: STOP
00003554: JUMPDEST
00003555: CALLVALUE
00003556: PUSH2 0x0bfb
00003559: JUMPI
0000355a: PUSH1 0x20
0000355c: CALLDATASIZE
0000355d: PUSH1 0x03
0000355f: NOT
00003560: ADD
00003561: SLT
00003562: PUSH2 0x0bfb
00003565: JUMPI
00003566: PUSH1 0x04
00003568: CALLDATALOAD
00003569: PUSH2 0x3570
0000356c: PUSH2 0x436a
0000356f: JUMP
00003570: JUMPDEST
00003571: PUSH1 0x78
00003573: DUP2
00003574: GT
00003575: PUSH2 0x2c76
00003578: JUMPI
00003579: PUSH32 0x394967f6fe403cda0905b23e81b928c5ca79107000b1404c6b3185442f05213c
0000359a: PUSH1 0x40
0000359c: PUSH1 0x0b
0000359e: SLOAD
0000359f: DUP2
000035a0: MLOAD
000035a1: SWAP1
000035a2: DUP2
000035a3: MSTORE
000035a4: DUP4
000035a5: PUSH1 0x20
000035a7: DUP3
000035a8: ADD
000035a9: MSTORE
000035aa: LOG1
000035ab: PUSH1 0x0b
000035ad: SSTORE
000035ae: STOP
000035af: JUMPDEST
000035b0: CALLVALUE
000035b1: PUSH2 0x0bfb
000035b4: JUMPI
000035b5: PUSH0
000035b6: CALLDATASIZE
000035b7: PUSH1 0x03
000035b9: NOT
000035ba: ADD
000035bb: SLT
000035bc: PUSH2 0x0bfb
000035bf: JUMPI
000035c0: PUSH1 0x20
000035c2: PUSH0
000035c3: SLOAD
000035c4: PUSH1 0x40
000035c6: MLOAD
000035c7: SWAP1
000035c8: DUP2
000035c9: MSTORE
000035ca: RETURN
000035cb: JUMPDEST
000035cc: CALLVALUE
000035cd: PUSH2 0x0bfb
000035d0: JUMPI
000035d1: PUSH1 0x60
000035d3: CALLDATASIZE
000035d4: PUSH1 0x03
000035d6: NOT
000035d7: ADD
000035d8: SLT
000035d9: PUSH2 0x0bfb
000035dc: JUMPI
000035dd: PUSH2 0x10c2
000035e0: PUSH2 0x35e7
000035e3: PUSH2 0x3aac
000035e6: JUMP
000035e7: JUMPDEST
000035e8: PUSH2 0x35ef
000035eb: PUSH2 0x3ac2
000035ee: JUMP
000035ef: JUMPDEST
000035f0: PUSH1 0x44
000035f2: CALLDATALOAD
000035f3: SWAP2
000035f4: PUSH2 0x35fe
000035f7: DUP4
000035f8: CALLER
000035f9: DUP4
000035fa: PUSH2 0x4528
000035fd: JUMP
000035fe: JUMPDEST
000035ff: PUSH2 0x4466
00003602: JUMP
00003603: JUMPDEST
00003604: CALLVALUE
00003605: PUSH2 0x0bfb
00003608: JUMPI
00003609: PUSH0
0000360a: CALLDATASIZE
0000360b: PUSH1 0x03
0000360d: NOT
0000360e: ADD
0000360f: SLT
00003610: PUSH2 0x0bfb
00003613: JUMPI
00003614: PUSH1 0x20
00003616: PUSH0
00003617: DUP1
00003618: MLOAD
00003619: PUSH1 0x20
0000361b: PUSH2 0x559a
0000361e: DUP4
0000361f: CODECOPY
00003620: DUP2
00003621: MLOAD
00003622: SWAP2
00003623: MSTORE
00003624: SLOAD
00003625: PUSH1 0x40
00003627: MLOAD
00003628: SWAP1
00003629: DUP2
0000362a: MSTORE
0000362b: RETURN
0000362c: JUMPDEST
0000362d: CALLVALUE
0000362e: PUSH2 0x0bfb
00003631: JUMPI
00003632: PUSH1 0x40
00003634: CALLDATASIZE
00003635: PUSH1 0x03
00003637: NOT
00003638: ADD
00003639: SLT
0000363a: PUSH2 0x0bfb
0000363d: JUMPI
0000363e: PUSH2 0x3645
00003641: PUSH2 0x3aac
00003644: JUMP
00003645: JUMPDEST
00003646: PUSH1 0x0f
00003648: SLOAD
00003649: PUSH1 0x01
0000364b: PUSH1 0x01
0000364d: PUSH1 0xa0
0000364f: SHL
00003650: SUB
00003651: SWAP2
00003652: SWAP1
00003653: PUSH1 0x24
00003655: CALLDATALOAD
00003656: SWAP1
00003657: DUP4
00003658: AND
00003659: CALLER
0000365a: SUB
0000365b: PUSH2 0x1335
0000365e: JUMPI
0000365f: PUSH1 0x1b
00003661: SLOAD
00003662: DUP1
00003663: PUSH0
00003664: MSTORE
00003665: PUSH1 0x20
00003667: SWAP4
00003668: PUSH1 0x17
0000366a: DUP6
0000366b: MSTORE
0000366c: PUSH1 0x40
0000366e: PUSH0
0000366f: KECCAK256
00003670: SWAP4
00003671: AND
00003672: SWAP3
00003673: DUP4
00003674: PUSH0
00003675: MSTORE
00003676: DUP5
00003677: MSTORE
00003678: DUP2
00003679: PUSH1 0x40
0000367b: PUSH0
0000367c: KECCAK256
0000367d: SLOAD
0000367e: LT
0000367f: PUSH2 0x2172
00003682: JUMPI
00003683: PUSH0
00003684: MSTORE
00003685: PUSH1 0x17
00003687: DUP4
00003688: MSTORE
00003689: PUSH1 0x40
0000368b: PUSH0
0000368c: KECCAK256
0000368d: DUP3
0000368e: PUSH0
0000368f: MSTORE
00003690: DUP4
00003691: MSTORE
00003692: PUSH2 0x36a0
00003695: PUSH1 0x40
00003697: PUSH0
00003698: KECCAK256
00003699: SWAP2
0000369a: DUP3
0000369b: SLOAD
0000369c: PUSH2 0x3cd0
0000369f: JUMP
000036a0: JUMPDEST
000036a1: SWAP1
000036a2: SSTORE
000036a3: PUSH1 0x1b
000036a5: SLOAD
000036a6: PUSH0
000036a7: MSTORE
000036a8: PUSH1 0x17
000036aa: DUP3
000036ab: MSTORE
000036ac: PUSH1 0x40
000036ae: PUSH0
000036af: KECCAK256
000036b0: SWAP1
000036b1: PUSH0
000036b2: MSTORE
000036b3: DUP2
000036b4: MSTORE
000036b5: PUSH1 0x40
000036b7: PUSH0
000036b8: KECCAK256
000036b9: SLOAD
000036ba: PUSH1 0x40
000036bc: MLOAD
000036bd: SWAP1
000036be: DUP2
000036bf: MSTORE
000036c0: RETURN
000036c1: JUMPDEST
000036c2: CALLVALUE
000036c3: PUSH2 0x0bfb
000036c6: JUMPI
000036c7: PUSH1 0x20
000036c9: DUP1
000036ca: PUSH1 0x03
000036cc: NOT
000036cd: CALLDATASIZE
000036ce: ADD
000036cf: SLT
000036d0: PUSH2 0x0bfb
000036d3: JUMPI
000036d4: PUSH2 0x36db
000036d7: PUSH2 0x3aac
000036da: JUMP
000036db: JUMPDEST
000036dc: PUSH2 0x36e3
000036df: PUSH2 0x436a
000036e2: JUMP
000036e3: JUMPDEST
000036e4: PUSH1 0x40
000036e6: MLOAD
000036e7: PUSH3 0x8bb5fb
000036eb: PUSH1 0xe4
000036ed: SHL
000036ee: DUP2
000036ef: MSTORE
000036f0: PUSH1 0x01
000036f2: PUSH1 0x01
000036f4: PUSH1 0xa0
000036f6: SHL
000036f7: SUB
000036f8: SWAP2
000036f9: SWAP1
000036fa: SWAP2
000036fb: AND
000036fc: SWAP2
000036fd: SWAP1
000036fe: DUP2
000036ff: DUP2
00003700: PUSH1 0x04
00003702: DUP2
00003703: PUSH0
00003704: DUP8
00003705: GAS
00003706: CALL
00003707: SWAP1
00003708: DUP2
00003709: ISZERO
0000370a: PUSH2 0x1f1f
0000370d: JUMPI
0000370e: PUSH0
0000370f: SWAP2
00003710: PUSH2 0x375b
00003713: JUMPI
00003714: JUMPDEST
00003715: POP
00003716: PUSH2 0x1335
00003719: JUMPI
0000371a: DUP2
0000371b: PUSH2 0x3744
0000371e: PUSH32 0xd3281a40d50ae838fe77dc627744037b8f0fc6a5711d66119a9b670c5cde41af
0000373f: SWAP4
00003740: PUSH2 0x469d
00003743: JUMP
00003744: JUMPDEST
00003745: POP
00003746: DUP1
00003747: PUSH0
00003748: MSTORE
00003749: PUSH1 0x02
0000374b: DUP3
0000374c: MSTORE
0000374d: PUSH0
0000374e: PUSH1 0x40
00003750: DUP2
00003751: KECCAK256
00003752: SSTORE
00003753: PUSH1 0x40
00003755: MLOAD
00003756: SWAP1
00003757: DUP2
00003758: MSTORE
00003759: LOG1
0000375a: STOP
0000375b: JUMPDEST
0000375c: SWAP1
0000375d: POP
0000375e: DUP2
0000375f: DUP2
00003760: DUP2
00003761: RETURNDATASIZE
00003762: DUP4
00003763: GT
00003764: PUSH2 0x3781
00003767: JUMPI
00003768: JUMPDEST
00003769: PUSH2 0x3772
0000376c: DUP2
0000376d: DUP4
0000376e: PUSH2 0x3c94
00003771: JUMP
00003772: JUMPDEST
00003773: DUP2
00003774: ADD
00003775: SUB
00003776: SLT
00003777: PUSH2 0x0bfb
0000377a: JUMPI
0000377b: MLOAD
0000377c: DUP4
0000377d: PUSH2 0x3714
00003780: JUMP
00003781: JUMPDEST
00003782: POP
00003783: RETURNDATASIZE
00003784: PUSH2 0x3768
00003787: JUMP
00003788: JUMPDEST
00003789: CALLVALUE
0000378a: PUSH2 0x0bfb
0000378d: JUMPI
0000378e: PUSH1 0x40
00003790: CALLDATASIZE
00003791: PUSH1 0x03
00003793: NOT
00003794: ADD
00003795: SLT
00003796: PUSH2 0x0bfb
00003799: JUMPI
0000379a: PUSH2 0x1593
0000379d: PUSH2 0x3ac2
000037a0: JUMP
000037a1: JUMPDEST
000037a2: CALLVALUE
000037a3: PUSH2 0x0bfb
000037a6: JUMPI
000037a7: PUSH1 0x20
000037a9: CALLDATASIZE
000037aa: PUSH1 0x03
000037ac: NOT
000037ad: ADD
000037ae: SLT
000037af: PUSH2 0x0bfb
000037b2: JUMPI
000037b3: PUSH1 0x01
000037b5: PUSH1 0x01
000037b7: PUSH1 0xa0
000037b9: SHL
000037ba: SUB
000037bb: PUSH2 0x37c2
000037be: PUSH2 0x3aac
000037c1: JUMP
000037c2: JUMPDEST
000037c3: AND
000037c4: PUSH0
000037c5: MSTORE
000037c6: PUSH1 0x18
000037c8: PUSH1 0x20
000037ca: MSTORE
000037cb: PUSH1 0x20
000037cd: PUSH1 0x40
000037cf: PUSH0
000037d0: KECCAK256
000037d1: SLOAD
000037d2: PUSH1 0x40
000037d4: MLOAD
000037d5: SWAP1
000037d6: DUP2
000037d7: MSTORE
000037d8: RETURN
000037d9: JUMPDEST
000037da: CALLVALUE
000037db: PUSH2 0x0bfb
000037de: JUMPI
000037df: PUSH0
000037e0: CALLDATASIZE
000037e1: PUSH1 0x03
000037e3: NOT
000037e4: ADD
000037e5: SLT
000037e6: PUSH2 0x0bfb
000037e9: JUMPI
000037ea: PUSH1 0x20
000037ec: PUSH1 0x40
000037ee: MLOAD
000037ef: PUSH20 0x238a700ed6165261cf8b2e544ba797bc11e466ba
00003804: DUP2
00003805: MSTORE
00003806: RETURN
00003807: JUMPDEST
00003808: CALLVALUE
00003809: PUSH2 0x0bfb
0000380c: JUMPI
0000380d: PUSH1 0x20
0000380f: CALLDATASIZE
00003810: PUSH1 0x03
00003812: NOT
00003813: ADD
00003814: SLT
00003815: PUSH2 0x0bfb
00003818: JUMPI
00003819: PUSH0
0000381a: DUP1
0000381b: MLOAD
0000381c: PUSH1 0x20
0000381e: PUSH2 0x559a
00003821: DUP4
00003822: CODECOPY
00003823: DUP2
00003824: MLOAD
00003825: SWAP2
00003826: MSTORE
00003827: SLOAD
00003828: PUSH1 0x01
0000382a: DUP2
0000382b: ADD
0000382c: DUP1
0000382d: SWAP2
0000382e: GT
0000382f: PUSH2 0x0d7a
00003832: JUMPI
00003833: PUSH2 0x383a
00003836: PUSH2 0x3d0e
00003839: JUMP
0000383a: JUMPDEST
0000383b: SWAP1
0000383c: PUSH1 0x01
0000383e: DUP3
0000383f: ADD
00003840: DUP1
00003841: SWAP3
00003842: GT
00003843: PUSH2 0x0d7a
00003846: JUMPI
00003847: PUSH1 0x20
00003849: SWAP2
0000384a: PUSH2 0x04c4
0000384d: SWAP2
0000384e: PUSH1 0x04
00003850: CALLDATALOAD
00003851: PUSH2 0x464f
00003854: JUMP
00003855: JUMPDEST
00003856: CALLVALUE
00003857: PUSH2 0x0bfb
0000385a: JUMPI
0000385b: PUSH1 0x40
0000385d: CALLDATASIZE
0000385e: PUSH1 0x03
00003860: NOT
00003861: ADD
00003862: SLT
00003863: PUSH2 0x0bfb
00003866: JUMPI
00003867: PUSH2 0x386e
0000386a: PUSH2 0x3aac
0000386d: JUMP
0000386e: JUMPDEST
0000386f: PUSH1 0x24
00003871: CALLDATALOAD
00003872: SWAP1
00003873: CALLER
00003874: ISZERO
00003875: PUSH2 0x38ec
00003878: JUMPI
00003879: PUSH1 0x01
0000387b: PUSH1 0x01
0000387d: PUSH1 0xa0
0000387f: SHL
00003880: SUB
00003881: AND
00003882: SWAP1
00003883: DUP2
00003884: ISZERO
00003885: PUSH2 0x38d4
00003888: JUMPI
00003889: PUSH2 0x3891
0000388c: CALLER
0000388d: PUSH2 0x3b98
00003890: JUMP
00003891: JUMPDEST
00003892: DUP3
00003893: PUSH0
00003894: MSTORE
00003895: PUSH1 0x20
00003897: MSTORE
00003898: DUP1
00003899: PUSH1 0x40
0000389b: PUSH0
0000389c: KECCAK256
0000389d: SSTORE
0000389e: PUSH1 0x40
000038a0: MLOAD
000038a1: SWAP1
000038a2: DUP2
000038a3: MSTORE
000038a4: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
000038c5: PUSH1 0x20
000038c7: CALLER
000038c8: SWAP3
000038c9: LOG3
000038ca: PUSH1 0x20
000038cc: PUSH1 0x40
000038ce: MLOAD
000038cf: PUSH1 0x01
000038d1: DUP2
000038d2: MSTORE
000038d3: RETURN
000038d4: JUMPDEST
000038d5: PUSH1 0x40
000038d7: MLOAD
000038d8: PUSH4 0x4a1406b1
000038dd: PUSH1 0xe1
000038df: SHL
000038e0: DUP2
000038e1: MSTORE
000038e2: PUSH0
000038e3: PUSH1 0x04
000038e5: DUP3
000038e6: ADD
000038e7: MSTORE
000038e8: PUSH1 0x24
000038ea: SWAP1
000038eb: REVERT
000038ec: JUMPDEST
000038ed: PUSH1 0x40
000038ef: MLOAD
000038f0: PUSH4 0xe602df05
000038f5: PUSH1 0xe0
000038f7: SHL
000038f8: DUP2
000038f9: MSTORE
000038fa: PUSH0
000038fb: PUSH1 0x04
000038fd: DUP3
000038fe: ADD
000038ff: MSTORE
00003900: PUSH1 0x24
00003902: SWAP1
00003903: REVERT
00003904: JUMPDEST
00003905: CALLVALUE
00003906: PUSH2 0x0bfb
00003909: JUMPI
0000390a: PUSH0
0000390b: CALLDATASIZE
0000390c: PUSH1 0x03
0000390e: NOT
0000390f: ADD
00003910: SLT
00003911: PUSH2 0x0bfb
00003914: JUMPI
00003915: PUSH1 0x20
00003917: PUSH1 0x1c
00003919: SLOAD
0000391a: PUSH1 0x40
0000391c: MLOAD
0000391d: SWAP1
0000391e: DUP2
0000391f: MSTORE
00003920: RETURN
00003921: JUMPDEST
00003922: CALLVALUE
00003923: PUSH2 0x0bfb
00003926: JUMPI
00003927: PUSH0
00003928: CALLDATASIZE
00003929: PUSH1 0x03
0000392b: NOT
0000392c: ADD
0000392d: SLT
0000392e: PUSH2 0x0bfb
00003931: JUMPI
00003932: PUSH1 0x20
00003934: PUSH2 0x04c4
00003937: PUSH2 0x3d88
0000393a: JUMP
0000393b: JUMPDEST
0000393c: CALLVALUE
0000393d: PUSH2 0x0bfb
00003940: JUMPI
00003941: PUSH0
00003942: CALLDATASIZE
00003943: PUSH1 0x03
00003945: NOT
00003946: ADD
00003947: SLT
00003948: PUSH2 0x0bfb
0000394b: JUMPI
0000394c: PUSH1 0x40
0000394e: MLOAD
0000394f: PUSH0
00003950: DUP1
00003951: MLOAD
00003952: PUSH1 0x20
00003954: PUSH2 0x551a
00003957: DUP4
00003958: CODECOPY
00003959: DUP2
0000395a: MLOAD
0000395b: SWAP2
0000395c: MSTORE
0000395d: DUP1
0000395e: SLOAD
0000395f: DUP3
00003960: PUSH0
00003961: PUSH2 0x3969
00003964: DUP4
00003965: PUSH2 0x3d43
00003968: JUMP
00003969: JUMPDEST
0000396a: SWAP3
0000396b: DUP4
0000396c: DUP4
0000396d: MSTORE
0000396e: PUSH1 0x20
00003970: SWAP5
00003971: PUSH1 0x01
00003973: SWAP2
00003974: DUP7
00003975: PUSH1 0x01
00003977: DUP3
00003978: AND
00003979: SWAP2
0000397a: DUP3
0000397b: PUSH0
0000397c: EQ
0000397d: PUSH2 0x1557
00003980: JUMPI
00003981: POP
00003982: POP
00003983: PUSH1 0x01
00003985: EQ
00003986: PUSH2 0x3997
00003989: JUMPI
0000398a: POP
0000398b: POP
0000398c: PUSH2 0x1507
0000398f: SWAP3
00003990: POP
00003991: SUB
00003992: DUP4
00003993: PUSH2 0x3c94
00003996: JUMP
00003997: JUMPDEST
00003998: DUP6
00003999: SWAP3
0000399a: POP
0000399b: PUSH0
0000399c: MSTORE
0000399d: DUP2
0000399e: PUSH0
0000399f: KECCAK256
000039a0: SWAP1
000039a1: PUSH0
000039a2: SWAP2
000039a3: JUMPDEST
000039a4: DUP6
000039a5: DUP4
000039a6: LT
000039a7: PUSH2 0x39bb
000039aa: JUMPI
000039ab: POP
000039ac: POP
000039ad: PUSH2 0x1507
000039b0: SWAP4
000039b1: POP
000039b2: DUP3
000039b3: ADD
000039b4: ADD
000039b5: DUP6
000039b6: DUP1
000039b7: PUSH2 0x14f9
000039ba: JUMP
000039bb: JUMPDEST
000039bc: DUP1
000039bd: SLOAD
000039be: DUP4
000039bf: DUP10
000039c0: ADD
000039c1: DUP6
000039c2: ADD
000039c3: MSTORE
000039c4: DUP8
000039c5: SWAP5
000039c6: POP
000039c7: DUP7
000039c8: SWAP4
000039c9: SWAP1
000039ca: SWAP3
000039cb: ADD
000039cc: SWAP2
000039cd: DUP2
000039ce: ADD
000039cf: PUSH2 0x39a3
000039d2: JUMP
000039d3: JUMPDEST
000039d4: CALLVALUE
000039d5: PUSH2 0x0bfb
000039d8: JUMPI
000039d9: PUSH1 0x20
000039db: CALLDATASIZE
000039dc: PUSH1 0x03
000039de: NOT
000039df: ADD
000039e0: SLT
000039e1: PUSH2 0x0bfb
000039e4: JUMPI
000039e5: PUSH1 0x04
000039e7: CALLDATALOAD
000039e8: PUSH2 0x39ef
000039eb: PUSH2 0x436a
000039ee: JUMP
000039ef: JUMPDEST
000039f0: PUSH1 0x04
000039f2: DUP2
000039f3: GT
000039f4: PUSH2 0x2cbe
000039f7: JUMPI
000039f8: PUSH32 0x29b9d7a7d8a7a3ac22c295e4517723bc4e386eea60173e59e6da1dbd460cb409
00003a19: PUSH1 0x40
00003a1b: PUSH1 0x07
00003a1d: SLOAD
00003a1e: DUP2
00003a1f: MLOAD
00003a20: SWAP1
00003a21: DUP2
00003a22: MSTORE
00003a23: DUP4
00003a24: PUSH1 0x20
00003a26: DUP3
00003a27: ADD
00003a28: MSTORE
00003a29: LOG1
00003a2a: PUSH1 0x07
00003a2c: SSTORE
00003a2d: STOP
00003a2e: JUMPDEST
00003a2f: CALLVALUE
00003a30: PUSH2 0x0bfb
00003a33: JUMPI
00003a34: PUSH0
00003a35: CALLDATASIZE
00003a36: PUSH1 0x03
00003a38: NOT
00003a39: ADD
00003a3a: SLT
00003a3b: PUSH2 0x0bfb
00003a3e: JUMPI
00003a3f: PUSH1 0x20
00003a41: PUSH1 0xff
00003a43: PUSH1 0x1e
00003a45: SLOAD
00003a46: AND
00003a47: PUSH1 0x40
00003a49: MLOAD
00003a4a: SWAP1
00003a4b: ISZERO
00003a4c: ISZERO
00003a4d: DUP2
00003a4e: MSTORE
00003a4f: RETURN
00003a50: JUMPDEST
00003a51: CALLVALUE
00003a52: PUSH2 0x0bfb
00003a55: JUMPI
00003a56: PUSH0
00003a57: CALLDATASIZE
00003a58: PUSH1 0x03
00003a5a: NOT
00003a5b: ADD
00003a5c: SLT
00003a5d: PUSH2 0x0bfb
00003a60: JUMPI
00003a61: PUSH1 0x20
00003a63: PUSH2 0x04c4
00003a66: PUSH2 0x3d0e
00003a69: JUMP
00003a6a: JUMPDEST
00003a6b: DUP1
00003a6c: MLOAD
00003a6d: DUP1
00003a6e: DUP4
00003a6f: MSTORE
00003a70: PUSH1 0x20
00003a72: SWAP3
00003a73: SWAP2
00003a74: DUP2
00003a75: SWAP1
00003a76: DUP5
00003a77: ADD
00003a78: DUP5
00003a79: DUP5
00003a7a: ADD
00003a7b: MCOPY
00003a7c: PUSH0
00003a7d: DUP3
00003a7e: DUP3
00003a7f: ADD
00003a80: DUP5
00003a81: ADD
00003a82: MSTORE
00003a83: PUSH1 0x1f
00003a85: ADD
00003a86: PUSH1 0x1f
00003a88: NOT
00003a89: AND
00003a8a: ADD
00003a8b: ADD
00003a8c: SWAP1
00003a8d: JUMP
00003a8e: JUMPDEST
00003a8f: CALLVALUE
00003a90: PUSH2 0x0bfb
00003a93: JUMPI
00003a94: PUSH1 0x20
00003a96: CALLDATASIZE
00003a97: PUSH1 0x03
00003a99: NOT
00003a9a: ADD
00003a9b: SLT
00003a9c: PUSH2 0x0bfb
00003a9f: JUMPI
00003aa0: PUSH1 0x20
00003aa2: PUSH2 0x04c4
00003aa5: PUSH1 0x04
00003aa7: CALLDATALOAD
00003aa8: PUSH2 0x43a2
00003aab: JUMP
00003aac: JUMPDEST
00003aad: PUSH1 0x04
00003aaf: CALLDATALOAD
00003ab0: SWAP1
00003ab1: PUSH1 0x01
00003ab3: PUSH1 0x01
00003ab5: PUSH1 0xa0
00003ab7: SHL
00003ab8: SUB
00003ab9: DUP3
00003aba: AND
00003abb: DUP3
00003abc: SUB
00003abd: PUSH2 0x0bfb
00003ac0: JUMPI
00003ac1: JUMP
00003ac2: JUMPDEST
00003ac3: PUSH1 0x24
00003ac5: CALLDATALOAD
00003ac6: SWAP1
00003ac7: PUSH1 0x01
00003ac9: PUSH1 0x01
00003acb: PUSH1 0xa0
00003acd: SHL
00003ace: SUB
00003acf: DUP3
00003ad0: AND
00003ad1: DUP3
00003ad2: SUB
00003ad3: PUSH2 0x0bfb
00003ad6: JUMPI
00003ad7: JUMP
00003ad8: JUMPDEST
00003ad9: PUSH1 0x64
00003adb: CALLDATALOAD
00003adc: SWAP1
00003add: PUSH1 0x01
00003adf: PUSH1 0x01
00003ae1: PUSH1 0xa0
00003ae3: SHL
00003ae4: SUB
00003ae5: DUP3
00003ae6: AND
00003ae7: DUP3
00003ae8: SUB
00003ae9: PUSH2 0x0bfb
00003aec: JUMPI
00003aed: JUMP
00003aee: JUMPDEST
00003aef: CALLDATALOAD
00003af0: SWAP1
00003af1: PUSH1 0x01
00003af3: PUSH1 0x01
00003af5: PUSH1 0xa0
00003af7: SHL
00003af8: SUB
00003af9: DUP3
00003afa: AND
00003afb: DUP3
00003afc: SUB
00003afd: PUSH2 0x0bfb
00003b00: JUMPI
00003b01: JUMP
00003b02: JUMPDEST
00003b03: SWAP2
00003b04: DUP2
00003b05: PUSH1 0x1f
00003b07: DUP5
00003b08: ADD
00003b09: SLT
00003b0a: ISZERO
00003b0b: PUSH2 0x0bfb
00003b0e: JUMPI
00003b0f: DUP3
00003b10: CALLDATALOAD
00003b11: SWAP2
00003b12: PUSH1 0x01
00003b14: PUSH1 0x01
00003b16: PUSH1 0x40
00003b18: SHL
00003b19: SUB
00003b1a: DUP4
00003b1b: GT
00003b1c: PUSH2 0x0bfb
00003b1f: JUMPI
00003b20: PUSH1 0x20
00003b22: DUP4
00003b23: DUP2
00003b24: DUP7
00003b25: ADD
00003b26: SWAP6
00003b27: ADD
00003b28: ADD
00003b29: GT
00003b2a: PUSH2 0x0bfb
00003b2d: JUMPI
00003b2e: JUMP
00003b2f: JUMPDEST
00003b30: PUSH1 0x40
00003b32: SWAP1
00003b33: PUSH1 0x03
00003b35: NOT
00003b36: ADD
00003b37: SLT
00003b38: PUSH2 0x0bfb
00003b3b: JUMPI
00003b3c: PUSH1 0x04
00003b3e: CALLDATALOAD
00003b3f: SWAP1
00003b40: PUSH1 0x24
00003b42: CALLDATALOAD
00003b43: SWAP1
00003b44: JUMP
00003b45: JUMPDEST
00003b46: PUSH1 0x04
00003b48: CALLDATALOAD
00003b49: SWAP1
00003b4a: DUP2
00003b4b: ISZERO
00003b4c: ISZERO
00003b4d: DUP3
00003b4e: SUB
00003b4f: PUSH2 0x0bfb
00003b52: JUMPI
00003b53: JUMP
00003b54: JUMPDEST
00003b55: PUSH1 0x20
00003b57: SWAP1
00003b58: PUSH1 0x20
00003b5a: PUSH1 0x40
00003b5c: DUP2
00003b5d: DUP4
00003b5e: ADD
00003b5f: SWAP3
00003b60: DUP3
00003b61: DUP2
00003b62: MSTORE
00003b63: DUP6
00003b64: MLOAD
00003b65: DUP1
00003b66: SWAP5
00003b67: MSTORE
00003b68: ADD
00003b69: SWAP4
00003b6a: ADD
00003b6b: SWAP2
00003b6c: PUSH0
00003b6d: JUMPDEST
00003b6e: DUP3
00003b6f: DUP2
00003b70: LT
00003b71: PUSH2 0x3b7b
00003b74: JUMPI
00003b75: POP
00003b76: POP
00003b77: POP
00003b78: POP
00003b79: SWAP1
00003b7a: JUMP
00003b7b: JUMPDEST
00003b7c: DUP4
00003b7d: MLOAD
00003b7e: PUSH1 0x01
00003b80: PUSH1 0x01
00003b82: PUSH1 0xa0
00003b84: SHL
00003b85: SUB
00003b86: AND
00003b87: DUP6
00003b88: MSTORE
00003b89: SWAP4
00003b8a: DUP2
00003b8b: ADD
00003b8c: SWAP4
00003b8d: SWAP3
00003b8e: DUP2
00003b8f: ADD
00003b90: SWAP3
00003b91: PUSH1 0x01
00003b93: ADD
00003b94: PUSH2 0x3b6d
00003b97: JUMP
00003b98: JUMPDEST
00003b99: PUSH1 0x01
00003b9b: PUSH1 0x01
00003b9d: PUSH1 0xa0
00003b9f: SHL
00003ba0: SUB
00003ba1: AND
00003ba2: PUSH0
00003ba3: SWAP1
00003ba4: DUP2
00003ba5: MSTORE
00003ba6: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace01
00003bc7: PUSH1 0x20
00003bc9: MSTORE
00003bca: PUSH1 0x40
00003bcc: SWAP1
00003bcd: KECCAK256
00003bce: SWAP1
00003bcf: JUMP
00003bd0: JUMPDEST
00003bd1: CALLVALUE
00003bd2: PUSH2 0x0bfb
00003bd5: JUMPI
00003bd6: PUSH1 0x60
00003bd8: CALLDATASIZE
00003bd9: PUSH1 0x03
00003bdb: NOT
00003bdc: ADD
00003bdd: SLT
00003bde: PUSH2 0x0bfb
00003be1: JUMPI
00003be2: PUSH1 0x01
00003be4: PUSH1 0x01
00003be6: PUSH1 0xa0
00003be8: SHL
00003be9: SUB
00003bea: PUSH1 0x24
00003bec: CALLDATALOAD
00003bed: DUP2
00003bee: DUP2
00003bef: AND
00003bf0: SUB
00003bf1: PUSH2 0x0bfb
00003bf4: JUMPI
00003bf5: PUSH1 0x44
00003bf7: CALLDATALOAD
00003bf8: SWAP1
00003bf9: DUP2
00003bfa: AND
00003bfb: SUB
00003bfc: PUSH2 0x0bfb
00003bff: JUMPI
00003c00: PUSH1 0x40
00003c02: MLOAD
00003c03: PUSH4 0x7dc4dd15
00003c08: PUSH1 0xe1
00003c0a: SHL
00003c0b: DUP2
00003c0c: MSTORE
00003c0d: PUSH1 0x04
00003c0f: SWAP1
00003c10: REVERT
00003c11: JUMPDEST
00003c12: CALLVALUE
00003c13: PUSH2 0x0bfb
00003c16: JUMPI
00003c17: PUSH1 0x20
00003c19: CALLDATASIZE
00003c1a: PUSH1 0x03
00003c1c: NOT
00003c1d: ADD
00003c1e: SLT
00003c1f: PUSH2 0x0bfb
00003c22: JUMPI
00003c23: PUSH1 0x20
00003c25: PUSH2 0x04c4
00003c28: PUSH1 0x04
00003c2a: CALLDATALOAD
00003c2b: PUSH2 0x43d9
00003c2e: JUMP
00003c2f: JUMPDEST
00003c30: PUSH2 0x01a0
00003c33: DUP2
00003c34: ADD
00003c35: SWAP1
00003c36: DUP2
00003c37: LT
00003c38: PUSH1 0x01
00003c3a: PUSH1 0x01
00003c3c: PUSH1 0x40
00003c3e: SHL
00003c3f: SUB
00003c40: DUP3
00003c41: GT
00003c42: OR
00003c43: PUSH2 0x0ba1
00003c46: JUMPI
00003c47: PUSH1 0x40
00003c49: MSTORE
00003c4a: JUMP
00003c4b: JUMPDEST
00003c4c: PUSH1 0xa0
00003c4e: DUP2
00003c4f: ADD
00003c50: SWAP1
00003c51: DUP2
00003c52: LT
00003c53: PUSH1 0x01
00003c55: PUSH1 0x01
00003c57: PUSH1 0x40
00003c59: SHL
00003c5a: SUB
00003c5b: DUP3
00003c5c: GT
00003c5d: OR
00003c5e: PUSH2 0x0ba1
00003c61: JUMPI
00003c62: PUSH1 0x40
00003c64: MSTORE
00003c65: JUMP
00003c66: JUMPDEST
00003c67: PUSH1 0x01
00003c69: PUSH1 0x01
00003c6b: PUSH1 0x40
00003c6d: SHL
00003c6e: SUB
00003c6f: DUP2
00003c70: GT
00003c71: PUSH2 0x0ba1
00003c74: JUMPI
00003c75: PUSH1 0x40
00003c77: MSTORE
00003c78: JUMP
00003c79: JUMPDEST
00003c7a: PUSH1 0x40
00003c7c: DUP2
00003c7d: ADD
00003c7e: SWAP1
00003c7f: DUP2
00003c80: LT
00003c81: PUSH1 0x01
00003c83: PUSH1 0x01
00003c85: PUSH1 0x40
00003c87: SHL
00003c88: SUB
00003c89: DUP3
00003c8a: GT
00003c8b: OR
00003c8c: PUSH2 0x0ba1
00003c8f: JUMPI
00003c90: PUSH1 0x40
00003c92: MSTORE
00003c93: JUMP
00003c94: JUMPDEST
00003c95: SWAP1
00003c96: PUSH1 0x1f
00003c98: DUP1
00003c99: NOT
00003c9a: SWAP2
00003c9b: ADD
00003c9c: AND
00003c9d: DUP2
00003c9e: ADD
00003c9f: SWAP1
00003ca0: DUP2
00003ca1: LT
00003ca2: PUSH1 0x01
00003ca4: PUSH1 0x01
00003ca6: PUSH1 0x40
00003ca8: SHL
00003ca9: SUB
00003caa: DUP3
00003cab: GT
00003cac: OR
00003cad: PUSH2 0x0ba1
00003cb0: JUMPI
00003cb1: PUSH1 0x40
00003cb3: MSTORE
00003cb4: JUMP
00003cb5: JUMPDEST
00003cb6: PUSH1 0x01
00003cb8: PUSH1 0x01
00003cba: PUSH1 0x40
00003cbc: SHL
00003cbd: SUB
00003cbe: DUP2
00003cbf: GT
00003cc0: PUSH2 0x0ba1
00003cc3: JUMPI
00003cc4: PUSH1 0x1f
00003cc6: ADD
00003cc7: PUSH1 0x1f
00003cc9: NOT
00003cca: AND
00003ccb: PUSH1 0x20
00003ccd: ADD
00003cce: SWAP1
00003ccf: JUMP
00003cd0: JUMPDEST
00003cd1: SWAP2
00003cd2: SWAP1
00003cd3: DUP3
00003cd4: SUB
00003cd5: SWAP2
00003cd6: DUP3
00003cd7: GT
00003cd8: PUSH2 0x0d7a
00003cdb: JUMPI
00003cdc: JUMP
00003cdd: JUMPDEST
00003cde: DUP2
00003cdf: DUP2
00003ce0: MUL
00003ce1: SWAP3
00003ce2: SWAP2
00003ce3: DUP2
00003ce4: ISZERO
00003ce5: SWAP2
00003ce6: DUP5
00003ce7: DIV
00003ce8: EQ
00003ce9: OR
00003cea: ISZERO
00003ceb: PUSH2 0x0d7a
00003cee: JUMPI
00003cef: JUMP
00003cf0: JUMPDEST
00003cf1: DUP2
00003cf2: ISZERO
00003cf3: PUSH2 0x3cfa
00003cf6: JUMPI
00003cf7: DIV
00003cf8: SWAP1
00003cf9: JUMP
00003cfa: JUMPDEST
00003cfb: PUSH4 0x4e487b71
00003d00: PUSH1 0xe0
00003d02: SHL
00003d03: PUSH0
00003d04: MSTORE
00003d05: PUSH1 0x12
00003d07: PUSH1 0x04
00003d09: MSTORE
00003d0a: PUSH1 0x24
00003d0c: PUSH0
00003d0d: REVERT
00003d0e: JUMPDEST
00003d0f: PUSH2 0x3d1a
00003d12: PUSH1 0x14
00003d14: SLOAD
00003d15: TIMESTAMP
00003d16: PUSH2 0x3cd0
00003d19: JUMP
00003d1a: JUMPDEST
00003d1b: PUSH1 0x09
00003d1d: SLOAD
00003d1e: LT
00003d1f: PUSH2 0x1323
00003d22: JUMPI
00003d23: PUSH2 0x3d40
00003d26: PUSH2 0x1179
00003d29: PUSH1 0x10
00003d2b: SLOAD
00003d2c: PUSH0
00003d2d: DUP1
00003d2e: MLOAD
00003d2f: PUSH1 0x20
00003d31: PUSH2 0x559a
00003d34: DUP4
00003d35: CODECOPY
00003d36: DUP2
00003d37: MLOAD
00003d38: SWAP2
00003d39: MSTORE
00003d3a: SLOAD
00003d3b: SWAP1
00003d3c: PUSH2 0x3cdd
00003d3f: JUMP
00003d40: JUMPDEST
00003d41: SWAP1
00003d42: JUMP
00003d43: JUMPDEST
00003d44: SWAP1
00003d45: PUSH1 0x01
00003d47: DUP3
00003d48: DUP2
00003d49: SHR
00003d4a: SWAP3
00003d4b: AND
00003d4c: DUP1
00003d4d: ISZERO
00003d4e: PUSH2 0x3d71
00003d51: JUMPI
00003d52: JUMPDEST
00003d53: PUSH1 0x20
00003d55: DUP4
00003d56: LT
00003d57: EQ
00003d58: PUSH2 0x3d5d
00003d5b: JUMPI
00003d5c: JUMP
00003d5d: JUMPDEST
00003d5e: PUSH4 0x4e487b71
00003d63: PUSH1 0xe0
00003d65: SHL
00003d66: PUSH0
00003d67: MSTORE
00003d68: PUSH1 0x22
00003d6a: PUSH1 0x04
00003d6c: MSTORE
00003d6d: PUSH1 0x24
00003d6f: PUSH0
00003d70: REVERT
00003d71: JUMPDEST
00003d72: SWAP2
00003d73: PUSH1 0x7f
00003d75: AND
00003d76: SWAP2
00003d77: PUSH2 0x3d52
00003d7a: JUMP
00003d7b: JUMPDEST
00003d7c: SWAP2
00003d7d: SWAP1
00003d7e: DUP3
00003d7f: ADD
00003d80: DUP1
00003d81: SWAP3
00003d82: GT
00003d83: PUSH2 0x0d7a
00003d86: JUMPI
00003d87: JUMP
00003d88: JUMPDEST
00003d89: PUSH1 0x40
00003d8b: DUP1
00003d8c: MLOAD
00003d8d: PUSH4 0x70a08231
00003d92: PUSH1 0xe0
00003d94: SHL
00003d95: DUP1
00003d96: DUP3
00003d97: MSTORE
00003d98: ADDRESS
00003d99: PUSH1 0x04
00003d9b: DUP4
00003d9c: ADD
00003d9d: MSTORE
00003d9e: SWAP2
00003d9f: PUSH1 0x20
00003da1: SWAP2
00003da2: SWAP1
00003da3: DUP3
00003da4: DUP3
00003da5: PUSH1 0x24
00003da7: DUP2
00003da8: PUSH20 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00003dbd: GAS
00003dbe: STATICCALL
00003dbf: SWAP2
00003dc0: DUP3
00003dc1: ISZERO
00003dc2: PUSH2 0x3efa
00003dc5: JUMPI
00003dc6: PUSH0
00003dc7: SWAP3
00003dc8: PUSH2 0x3f04
00003dcb: JUMPI
00003dcc: JUMPDEST
00003dcd: POP
00003dce: PUSH2 0x3dd5
00003dd1: PUSH2 0x41ad
00003dd4: JUMP
00003dd5: JUMPDEST
00003dd6: SWAP1
00003dd7: DUP1
00003dd8: MLOAD
00003dd9: SWAP5
00003dda: DUP6
00003ddb: MSTORE
00003ddc: ADDRESS
00003ddd: PUSH1 0x04
00003ddf: DUP7
00003de0: ADD
00003de1: MSTORE
00003de2: DUP4
00003de3: DUP6
00003de4: PUSH1 0x24
00003de6: DUP2
00003de7: PUSH20 0x238a700ed6165261cf8b2e544ba797bc11e466ba
00003dfc: GAS
00003dfd: STATICCALL
00003dfe: SWAP5
00003dff: DUP6
00003e00: ISZERO
00003e01: PUSH2 0x3efa
00003e04: JUMPI
00003e05: PUSH0
00003e06: SWAP6
00003e07: PUSH2 0x3ecb
00003e0a: JUMPI
00003e0b: JUMPDEST
00003e0c: POP
00003e0d: DUP1
00003e0e: MLOAD
00003e0f: PUSH4 0xbb23ae25
00003e14: PUSH1 0xe0
00003e16: SHL
00003e17: DUP2
00003e18: MSTORE
00003e19: DUP5
00003e1a: DUP2
00003e1b: PUSH1 0x04
00003e1d: DUP2
00003e1e: PUSH20 0x8d51dbc85ceef637c97d02bdaabb5e274850e68c
00003e33: GAS
00003e34: STATICCALL
00003e35: SWAP5
00003e36: DUP6
00003e37: ISZERO
00003e38: PUSH2 0x3ec1
00003e3b: JUMPI
00003e3c: PUSH0
00003e3d: SWAP6
00003e3e: PUSH2 0x3e91
00003e41: JUMPI
00003e42: JUMPDEST
00003e43: POP
00003e44: POP
00003e45: PUSH0
00003e46: DUP5
00003e47: SLT
00003e48: PUSH2 0x3e81
00003e4b: JUMPI
00003e4c: POP
00003e4d: PUSH2 0x3e71
00003e50: PUSH2 0x3e78
00003e53: SWAP4
00003e54: PUSH2 0x3e6b
00003e57: PUSH2 0x3d40
00003e5a: SWAP7
00003e5b: SWAP5
00003e5c: PUSH9 0x056bc75e2d63100000
00003e66: SWAP5
00003e67: PUSH2 0x3d7b
00003e6a: JUMP
00003e6b: JUMPDEST
00003e6c: SWAP4
00003e6d: PUSH2 0x3cdd
00003e70: JUMP
00003e71: JUMPDEST
00003e72: DIV
00003e73: SWAP1
00003e74: PUSH2 0x3d7b
00003e77: JUMP
00003e78: JUMPDEST
00003e79: PUSH1 0x12
00003e7b: SLOAD
00003e7c: SWAP1
00003e7d: PUSH2 0x3cd0
00003e80: JUMP
00003e81: JUMPDEST
00003e82: MLOAD
00003e83: PUSH4 0x3253194b
00003e88: PUSH1 0xe2
00003e8a: SHL
00003e8b: DUP2
00003e8c: MSTORE
00003e8d: PUSH1 0x04
00003e8f: SWAP1
00003e90: REVERT
00003e91: JUMPDEST
00003e92: SWAP1
00003e93: DUP1
00003e94: SWAP3
00003e95: SWAP6
00003e96: POP
00003e97: DUP2
00003e98: RETURNDATASIZE
00003e99: DUP4
00003e9a: GT
00003e9b: PUSH2 0x3eba
00003e9e: JUMPI
00003e9f: JUMPDEST
00003ea0: PUSH2 0x3ea9
00003ea3: DUP2
00003ea4: DUP4
00003ea5: PUSH2 0x3c94
00003ea8: JUMP
00003ea9: JUMPDEST
00003eaa: DUP2
00003eab: ADD
00003eac: SUB
00003ead: SLT
00003eae: PUSH2 0x0bfb
00003eb1: JUMPI
00003eb2: MLOAD
00003eb3: SWAP3
00003eb4: PUSH0
00003eb5: DUP1
00003eb6: PUSH2 0x3e42
00003eb9: JUMP
00003eba: JUMPDEST
00003ebb: POP
00003ebc: RETURNDATASIZE
00003ebd: PUSH2 0x3e9f
00003ec0: JUMP
00003ec1: JUMPDEST
00003ec2: DUP3
00003ec3: MLOAD
00003ec4: RETURNDATASIZE
00003ec5: PUSH0
00003ec6: DUP3
00003ec7: RETURNDATACOPY
00003ec8: RETURNDATASIZE
00003ec9: SWAP1
00003eca: REVERT
00003ecb: JUMPDEST
00003ecc: SWAP1
00003ecd: SWAP5
00003ece: POP
00003ecf: DUP4
00003ed0: DUP2
00003ed1: DUP2
00003ed2: RETURNDATASIZE
00003ed3: DUP4
00003ed4: GT
00003ed5: PUSH2 0x3ef3
00003ed8: JUMPI
00003ed9: JUMPDEST
00003eda: PUSH2 0x3ee3
00003edd: DUP2
00003ede: DUP4
00003edf: PUSH2 0x3c94
00003ee2: JUMP
00003ee3: JUMPDEST
00003ee4: DUP2
00003ee5: ADD
00003ee6: SUB
00003ee7: SLT
00003ee8: PUSH2 0x0bfb
00003eeb: JUMPI
00003eec: MLOAD
00003eed: SWAP4
00003eee: PUSH0
00003eef: PUSH2 0x3e0b
00003ef2: JUMP
00003ef3: JUMPDEST
00003ef4: POP
00003ef5: RETURNDATASIZE
00003ef6: PUSH2 0x3ed9
00003ef9: JUMP
00003efa: JUMPDEST
00003efb: POP
00003efc: MLOAD
00003efd: RETURNDATASIZE
00003efe: PUSH0
00003eff: DUP3
00003f00: RETURNDATACOPY
00003f01: RETURNDATASIZE
00003f02: SWAP1
00003f03: REVERT
00003f04: JUMPDEST
00003f05: SWAP1
00003f06: SWAP2
00003f07: POP
00003f08: DUP3
00003f09: DUP2
00003f0a: DUP2
00003f0b: RETURNDATASIZE
00003f0c: DUP4
00003f0d: GT
00003f0e: PUSH2 0x3f2c
00003f11: JUMPI
00003f12: JUMPDEST
00003f13: PUSH2 0x3f1c
00003f16: DUP2
00003f17: DUP4
00003f18: PUSH2 0x3c94
00003f1b: JUMP
00003f1c: JUMPDEST
00003f1d: DUP2
00003f1e: ADD
00003f1f: SUB
00003f20: SLT
00003f21: PUSH2 0x0bfb
00003f24: JUMPI
00003f25: MLOAD
00003f26: SWAP1
00003f27: PUSH0
00003f28: PUSH2 0x3dcc
00003f2b: JUMP
00003f2c: JUMPDEST
00003f2d: POP
00003f2e: RETURNDATASIZE
00003f2f: PUSH2 0x3f12
00003f32: JUMP
00003f33: JUMPDEST
00003f34: PUSH1 0xff
00003f36: PUSH0
00003f37: DUP1
00003f38: MLOAD
00003f39: PUSH1 0x20
00003f3b: PUSH2 0x55da
00003f3e: DUP4
00003f3f: CODECOPY
00003f40: DUP2
00003f41: MLOAD
00003f42: SWAP2
00003f43: MSTORE
00003f44: SLOAD
00003f45: PUSH1 0xa0
00003f47: SHR
00003f48: AND
00003f49: PUSH1 0xff
00003f4b: DUP2
00003f4c: GT
00003f4d: PUSH2 0x0d7a
00003f50: JUMPI
00003f51: SWAP1
00003f52: JUMP
00003f53: JUMPDEST
00003f54: PUSH1 0x10
00003f56: SLOAD
00003f57: PUSH0
00003f58: SWAP2
00003f59: DUP2
00003f5a: PUSH32 0x4995646f72fa9a270ffc094641ab616ce576b2e3eab25eaf05c15caa4f0e595d
00003f7b: TSTORE
00003f7c: TIMESTAMP
00003f7d: PUSH1 0x14
00003f7f: SSTORE
00003f80: PUSH0
00003f81: DUP1
00003f82: MLOAD
00003f83: PUSH1 0x20
00003f85: PUSH2 0x559a
00003f88: DUP4
00003f89: CODECOPY
00003f8a: DUP2
00003f8b: MLOAD
00003f8c: SWAP2
00003f8d: MSTORE
00003f8e: SLOAD
00003f8f: SWAP2
00003f90: DUP3
00003f91: ISZERO
00003f92: PUSH2 0x40b2
00003f95: JUMPI
00003f96: POP
00003f97: PUSH2 0x3f9e
00003f9a: PUSH2 0x3d88
00003f9d: JUMP
00003f9e: JUMPDEST
00003f9f: SWAP2
00003fa0: PUSH32 0x00000000000000000000000000000000000000000000000000000000000f4240
00003fc1: PUSH2 0x3fd3
00003fc4: DUP3
00003fc5: PUSH2 0x3fce
00003fc8: DUP4
00003fc9: DUP8
00003fca: PUSH2 0x3cdd
00003fcd: JUMP
00003fce: JUMPDEST
00003fcf: PUSH2 0x3cf0
00003fd2: JUMP
00003fd3: JUMPDEST
00003fd4: SWAP5
00003fd5: PUSH1 0x11
00003fd7: SLOAD
00003fd8: DUP7
00003fd9: GT
00003fda: PUSH0
00003fdb: EQ
00003fdc: PUSH2 0x407d
00003fdf: JUMPI
00003fe0: POP
00003fe1: PUSH1 0x11
00003fe3: SLOAD
00003fe4: ISZERO
00003fe5: PUSH2 0x406b
00003fe8: JUMPI
00003fe9: SWAP1
00003fea: PUSH2 0x3fce
00003fed: DUP3
00003fee: PUSH2 0x09e0
00003ff1: PUSH2 0x2710
00003ff4: PUSH2 0x401b
00003ff7: PUSH2 0x4012
00003ffa: PUSH2 0x400c
00003ffd: PUSH2 0x4032
00004000: SWAP9
00004001: PUSH2 0x3fce
00004004: DUP10
00004005: PUSH1 0x11
00004007: SLOAD
00004008: PUSH2 0x3cdd
0000400b: JUMP
0000400c: JUMPDEST
0000400d: DUP11
0000400e: PUSH2 0x3cd0
00004011: JUMP
00004012: JUMPDEST
00004013: PUSH1 0x0a
00004015: SLOAD
00004016: SWAP1
00004017: PUSH2 0x3cdd
0000401a: JUMP
0000401b: JUMPDEST
0000401c: DIV
0000401d: DUP1
0000401e: SWAP8
0000401f: PUSH2 0x402a
00004022: DUP3
00004023: PUSH1 0x12
00004025: SLOAD
00004026: PUSH2 0x3d7b
00004029: JUMP
0000402a: JUMPDEST
0000402b: PUSH1 0x12
0000402d: SSTORE
0000402e: PUSH2 0x3cd0
00004031: JUMP
00004032: JUMPDEST
00004033: DUP1
00004034: PUSH1 0x10
00004036: SSTORE
00004037: PUSH1 0x11
00004039: SSTORE
0000403a: JUMPDEST
0000403b: PUSH32 0x83d2ad38a3d31bbc70811535dd8943b0140df344c23e6e167ee1ca32f9a1a459
0000405c: PUSH1 0x40
0000405e: DUP1
0000405f: MLOAD
00004060: DUP6
00004061: DUP2
00004062: MSTORE
00004063: DUP5
00004064: PUSH1 0x20
00004066: DUP3
00004067: ADD
00004068: MSTORE
00004069: LOG1
0000406a: JUMP
0000406b: JUMPDEST
0000406c: POP
0000406d: POP
0000406e: SWAP1
0000406f: POP
00004070: DUP2
00004071: PUSH1 0x11
00004073: SSTORE
00004074: DUP2
00004075: PUSH1 0x10
00004077: SSTORE
00004078: PUSH1 0x12
0000407a: SLOAD
0000407b: SWAP1
0000407c: JUMP
0000407d: JUMPDEST
0000407e: SWAP4
0000407f: POP
00004080: POP
00004081: POP
00004082: PUSH1 0x10
00004084: SLOAD
00004085: DUP4
00004086: DUP1
00004087: DUP3
00004088: GT
00004089: PUSH0
0000408a: EQ
0000408b: PUSH2 0x40a2
0000408e: JUMPI
0000408f: PUSH2 0x4097
00004092: SWAP2
00004093: PUSH2 0x3cd0
00004096: JUMP
00004097: JUMPDEST
00004098: POP
00004099: JUMPDEST
0000409a: DUP3
0000409b: PUSH1 0x10
0000409d: SSTORE
0000409e: PUSH2 0x403a
000040a1: JUMP
000040a2: JUMPDEST
000040a3: SWAP1
000040a4: PUSH2 0x40ac
000040a7: SWAP2
000040a8: PUSH2 0x3cd0
000040ab: JUMP
000040ac: JUMPDEST
000040ad: POP
000040ae: PUSH2 0x4099
000040b1: JUMP
000040b2: JUMPDEST
000040b3: SWAP3
000040b4: POP
000040b5: SWAP1
000040b6: POP
000040b7: PUSH1 0x12
000040b9: SLOAD
000040ba: SWAP1
000040bb: JUMP
000040bc: JUMPDEST
000040bd: DUP2
000040be: PUSH1 0x1f
000040c0: DUP3
000040c1: ADD
000040c2: SLT
000040c3: ISZERO
000040c4: PUSH2 0x0bfb
000040c7: JUMPI
000040c8: DUP1
000040c9: CALLDATALOAD
000040ca: SWAP1
000040cb: PUSH2 0x40d3
000040ce: DUP3
000040cf: PUSH2 0x3cb5
000040d2: JUMP
000040d3: JUMPDEST
000040d4: SWAP3
000040d5: PUSH2 0x40e1
000040d8: PUSH1 0x40
000040da: MLOAD
000040db: SWAP5
000040dc: DUP6
000040dd: PUSH2 0x3c94
000040e0: JUMP
000040e1: JUMPDEST
000040e2: DUP3
000040e3: DUP5
000040e4: MSTORE
000040e5: PUSH1 0x20
000040e7: DUP4
000040e8: DUP4
000040e9: ADD
000040ea: ADD
000040eb: GT
000040ec: PUSH2 0x0bfb
000040ef: JUMPI
000040f0: DUP2
000040f1: PUSH0
000040f2: SWAP3
000040f3: PUSH1 0x20
000040f5: DUP1
000040f6: SWAP4
000040f7: ADD
000040f8: DUP4
000040f9: DUP7
000040fa: ADD
000040fb: CALLDATACOPY
000040fc: DUP4
000040fd: ADD
000040fe: ADD
000040ff: MSTORE
00004100: SWAP1
00004101: JUMP
00004102: JUMPDEST
00004103: DUP1
00004104: MLOAD
00004105: DUP3
00004106: LT
00004107: ISZERO
00004108: PUSH2 0x4116
0000410b: JUMPI
0000410c: PUSH1 0x20
0000410e: SWAP2
0000410f: PUSH1 0x05
00004111: SHL
00004112: ADD
00004113: ADD
00004114: SWAP1
00004115: JUMP
00004116: JUMPDEST
00004117: PUSH4 0x4e487b71
0000411c: PUSH1 0xe0
0000411e: SHL
0000411f: PUSH0
00004120: MSTORE
00004121: PUSH1 0x32
00004123: PUSH1 0x04
00004125: MSTORE
00004126: PUSH1 0x24
00004128: PUSH0
00004129: REVERT
0000412a: JUMPDEST
0000412b: PUSH1 0x01
0000412d: PUSH1 0x01
0000412f: PUSH1 0xa0
00004131: SHL
00004132: SUB
00004133: AND
00004134: PUSH0
00004135: SWAP1
00004136: DUP2
00004137: MSTORE
00004138: PUSH0
00004139: DUP1
0000413a: MLOAD
0000413b: PUSH1 0x20
0000413d: PUSH2 0x553a
00004140: DUP4
00004141: CODECOPY
00004142: DUP2
00004143: MLOAD
00004144: SWAP2
00004145: MSTORE
00004146: PUSH1 0x20
00004148: MSTORE
00004149: PUSH1 0x40
0000414b: SWAP1
0000414c: KECCAK256
0000414d: SLOAD
0000414e: SWAP1
0000414f: JUMP
00004150: JUMPDEST
00004151: PUSH1 0x01
00004153: PUSH1 0x01
00004155: PUSH1 0xa0
00004157: SHL
00004158: SUB
00004159: SWAP2
0000415a: DUP3
0000415b: AND
0000415c: DUP2
0000415d: MSTORE
0000415e: SWAP2
0000415f: AND
00004160: PUSH1 0x20
00004162: DUP3
00004163: ADD
00004164: MSTORE
00004165: PUSH1 0x40
00004167: ADD
00004168: SWAP1
00004169: JUMP
0000416a: JUMPDEST
0000416b: SWAP1
0000416c: PUSH1 0xff
0000416e: DUP1
0000416f: SWAP2
00004170: AND
00004171: SWAP2
00004172: AND
00004173: SUB
00004174: SWAP1
00004175: PUSH1 0xff
00004177: DUP3
00004178: GT
00004179: PUSH2 0x0d7a
0000417c: JUMPI
0000417d: JUMP
0000417e: JUMPDEST
0000417f: PUSH1 0xff
00004181: AND
00004182: PUSH1 0x4d
00004184: DUP2
00004185: GT
00004186: PUSH2 0x0d7a
00004189: JUMPI
0000418a: PUSH1 0x0a
0000418c: EXP
0000418d: SWAP1
0000418e: JUMP
0000418f: JUMPDEST
00004190: PUSH1 0x40
00004192: SWAP2
00004193: SWAP5
00004194: SWAP4
00004195: SWAP3
00004196: PUSH1 0x60
00004198: DUP3
00004199: ADD
0000419a: SWAP6
0000419b: PUSH1 0x01
0000419d: DUP1
0000419e: PUSH1 0xa0
000041a0: SHL
000041a1: SUB
000041a2: AND
000041a3: DUP3
000041a4: MSTORE
000041a5: PUSH1 0x20
000041a7: DUP3
000041a8: ADD
000041a9: MSTORE
000041aa: ADD
000041ab: MSTORE
000041ac: JUMP
000041ad: JUMPDEST
000041ae: PUSH0
000041af: DUP1
000041b0: SLOAD
000041b1: PUSH1 0x40
000041b3: DUP1
000041b4: MLOAD
000041b5: DUP3
000041b6: DUP2
000041b7: MSTORE
000041b8: DUP4
000041b9: DUP1
000041ba: MSTORE
000041bb: SWAP3
000041bc: SWAP4
000041bd: SWAP3
000041be: SWAP2
000041bf: SWAP1
000041c0: PUSH1 0x20
000041c2: DUP1
000041c3: DUP5
000041c4: ADD
000041c5: PUSH32 0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563
000041e6: DUP8
000041e7: JUMPDEST
000041e8: DUP6
000041e9: DUP2
000041ea: LT
000041eb: PUSH2 0x4298
000041ee: JUMPI
000041ef: POP
000041f0: POP
000041f1: DUP5
000041f2: PUSH2 0x41fc
000041f5: SWAP2
000041f6: SUB
000041f7: DUP6
000041f8: PUSH2 0x3c94
000041fb: JUMP
000041fc: JUMPDEST
000041fd: PUSH0
000041fe: SWAP4
000041ff: JUMPDEST
00004200: DUP4
00004201: DUP6
00004202: LT
00004203: PUSH2 0x420d
00004206: JUMPI
00004207: POP
00004208: POP
00004209: POP
0000420a: POP
0000420b: POP
0000420c: JUMP
0000420d: JUMPDEST
0000420e: SWAP1
0000420f: SWAP2
00004210: SWAP3
00004211: SWAP4
00004212: SWAP6
00004213: PUSH0
00004214: DUP4
00004215: PUSH1 0x01
00004217: DUP1
00004218: PUSH1 0xa0
0000421a: SHL
0000421b: SUB
0000421c: PUSH2 0x4225
0000421f: DUP11
00004220: DUP7
00004221: PUSH2 0x4102
00004224: JUMP
00004225: JUMPDEST
00004226: MLOAD
00004227: AND
00004228: PUSH1 0x04
0000422a: DUP8
0000422b: MLOAD
0000422c: DUP1
0000422d: SWAP5
0000422e: DUP2
0000422f: SWAP4
00004230: PUSH3 0x8bb5fb
00004234: PUSH1 0xe4
00004236: SHL
00004237: DUP4
00004238: MSTORE
00004239: GAS
0000423a: CALL
0000423b: SWAP1
0000423c: DUP2
0000423d: ISZERO
0000423e: PUSH2 0x428e
00004241: JUMPI
00004242: PUSH0
00004243: SWAP2
00004244: PUSH2 0x4260
00004247: JUMPI
00004248: JUMPDEST
00004249: POP
0000424a: PUSH2 0x4255
0000424d: SWAP1
0000424e: PUSH1 0x01
00004250: SWAP3
00004251: PUSH2 0x3d7b
00004254: JUMP
00004255: JUMPDEST
00004256: SWAP7
00004257: ADD
00004258: SWAP4
00004259: SWAP3
0000425a: SWAP2
0000425b: SWAP1
0000425c: PUSH2 0x41ff
0000425f: JUMP
00004260: JUMPDEST
00004261: SWAP1
00004262: POP
00004263: DUP4
00004264: DUP2
00004265: DUP2
00004266: RETURNDATASIZE
00004267: DUP4
00004268: GT
00004269: PUSH2 0x4287
0000426c: JUMPI
0000426d: JUMPDEST
0000426e: PUSH2 0x4277
00004271: DUP2
00004272: DUP4
00004273: PUSH2 0x3c94
00004276: JUMP
00004277: JUMPDEST
00004278: DUP2
00004279: ADD
0000427a: SUB
0000427b: SLT
0000427c: PUSH2 0x0bfb
0000427f: JUMPI
00004280: MLOAD
00004281: PUSH1 0x01
00004283: PUSH2 0x4248
00004286: JUMP
00004287: JUMPDEST
00004288: POP
00004289: RETURNDATASIZE
0000428a: PUSH2 0x426d
0000428d: JUMP
0000428e: JUMPDEST
0000428f: DUP6
00004290: MLOAD
00004291: RETURNDATASIZE
00004292: PUSH0
00004293: DUP3
00004294: RETURNDATACOPY
00004295: RETURNDATASIZE
00004296: SWAP1
00004297: REVERT
00004298: JUMPDEST
00004299: DUP2
0000429a: SLOAD
0000429b: DUP4
0000429c: MSTORE
0000429d: SWAP2
0000429e: DUP4
0000429f: ADD
000042a0: SWAP2
000042a1: PUSH1 0x01
000042a3: SWAP2
000042a4: DUP3
000042a5: ADD
000042a6: SWAP2
000042a7: ADD
000042a8: PUSH2 0x41e7
000042ab: JUMP
000042ac: JUMPDEST
000042ad: ISZERO
000042ae: PUSH2 0x42d5
000042b1: JUMPI
000042b2: PUSH1 0x1b
000042b4: SLOAD
000042b5: PUSH0
000042b6: MSTORE
000042b7: PUSH1 0x17
000042b9: PUSH1 0x20
000042bb: MSTORE
000042bc: PUSH1 0x40
000042be: PUSH0
000042bf: KECCAK256
000042c0: SWAP1
000042c1: PUSH1 0x01
000042c3: DUP1
000042c4: PUSH1 0xa0
000042c6: SHL
000042c7: SUB
000042c8: AND
000042c9: PUSH0
000042ca: MSTORE
000042cb: PUSH1 0x20
000042cd: MSTORE
000042ce: PUSH1 0x40
000042d0: PUSH0
000042d1: KECCAK256
000042d2: SLOAD
000042d3: SWAP1
000042d4: JUMP
000042d5: JUMPDEST
000042d6: PUSH1 0x1a
000042d8: SLOAD
000042d9: PUSH0
000042da: MSTORE
000042db: PUSH1 0x17
000042dd: PUSH1 0x20
000042df: MSTORE
000042e0: PUSH1 0x40
000042e2: PUSH0
000042e3: KECCAK256
000042e4: SWAP1
000042e5: PUSH1 0x01
000042e7: DUP1
000042e8: PUSH1 0xa0
000042ea: SHL
000042eb: SUB
000042ec: AND
000042ed: PUSH0
000042ee: MSTORE
000042ef: PUSH1 0x20
000042f1: MSTORE
000042f2: PUSH1 0x40
000042f4: PUSH0
000042f5: KECCAK256
000042f6: SLOAD
000042f7: SWAP1
000042f8: JUMP
000042f9: JUMPDEST
000042fa: PUSH1 0x01
000042fc: PUSH1 0x01
000042fe: PUSH1 0xa0
00004300: SHL
00004301: SUB
00004302: SWAP1
00004303: DUP2
00004304: AND
00004305: SWAP1
00004306: DUP2
00004307: ISZERO
00004308: PUSH2 0x4352
0000430b: JUMPI
0000430c: PUSH0
0000430d: DUP1
0000430e: MLOAD
0000430f: PUSH1 0x20
00004311: PUSH2 0x557a
00004314: DUP4
00004315: CODECOPY
00004316: DUP2
00004317: MLOAD
00004318: SWAP2
00004319: MSTORE
0000431a: DUP1
0000431b: SLOAD
0000431c: PUSH1 0x01
0000431e: PUSH1 0x01
00004320: PUSH1 0xa0
00004322: SHL
00004323: SUB
00004324: NOT
00004325: DUP2
00004326: AND
00004327: DUP5
00004328: OR
00004329: SWAP1
0000432a: SWAP2
0000432b: SSTORE
0000432c: AND
0000432d: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
0000434e: PUSH0
0000434f: DUP1
00004350: LOG3
00004351: JUMP
00004352: JUMPDEST
00004353: PUSH1 0x40
00004355: MLOAD
00004356: PUSH4 0x1e4fbdf7
0000435b: PUSH1 0xe0
0000435d: SHL
0000435e: DUP2
0000435f: MSTORE
00004360: PUSH0
00004361: PUSH1 0x04
00004363: DUP3
00004364: ADD
00004365: MSTORE
00004366: PUSH1 0x24
00004368: SWAP1
00004369: REVERT
0000436a: JUMPDEST
0000436b: PUSH0
0000436c: DUP1
0000436d: MLOAD
0000436e: PUSH1 0x20
00004370: PUSH2 0x557a
00004373: DUP4
00004374: CODECOPY
00004375: DUP2
00004376: MLOAD
00004377: SWAP2
00004378: MSTORE
00004379: SLOAD
0000437a: PUSH1 0x01
0000437c: PUSH1 0x01
0000437e: PUSH1 0xa0
00004380: SHL
00004381: SUB
00004382: AND
00004383: CALLER
00004384: SUB
00004385: PUSH2 0x438a
00004388: JUMPI
00004389: JUMP
0000438a: JUMPDEST
0000438b: PUSH1 0x40
0000438d: MLOAD
0000438e: PUSH4 0x118cdaa7
00004393: PUSH1 0xe0
00004395: SHL
00004396: DUP2
00004397: MSTORE
00004398: CALLER
00004399: PUSH1 0x04
0000439b: DUP3
0000439c: ADD
0000439d: MSTORE
0000439e: PUSH1 0x24
000043a0: SWAP1
000043a1: REVERT
000043a2: JUMPDEST
000043a3: PUSH2 0x43aa
000043a6: PUSH2 0x3d0e
000043a9: JUMP
000043aa: JUMPDEST
000043ab: PUSH1 0x01
000043ad: DUP2
000043ae: ADD
000043af: DUP1
000043b0: SWAP2
000043b1: GT
000043b2: PUSH2 0x0d7a
000043b5: JUMPI
000043b6: PUSH0
000043b7: DUP1
000043b8: MLOAD
000043b9: PUSH1 0x20
000043bb: PUSH2 0x559a
000043be: DUP4
000043bf: CODECOPY
000043c0: DUP2
000043c1: MLOAD
000043c2: SWAP2
000043c3: MSTORE
000043c4: SLOAD
000043c5: SWAP1
000043c6: PUSH1 0x01
000043c8: DUP3
000043c9: ADD
000043ca: DUP1
000043cb: SWAP3
000043cc: GT
000043cd: PUSH2 0x0d7a
000043d0: JUMPI
000043d1: PUSH2 0x3d40
000043d4: SWAP3
000043d5: PUSH2 0x494d
000043d8: JUMP
000043d9: JUMPDEST
000043da: PUSH0
000043db: DUP1
000043dc: MLOAD
000043dd: PUSH1 0x20
000043df: PUSH2 0x559a
000043e2: DUP4
000043e3: CODECOPY
000043e4: DUP2
000043e5: MLOAD
000043e6: SWAP2
000043e7: MSTORE
000043e8: SLOAD
000043e9: PUSH1 0x01
000043eb: DUP2
000043ec: ADD
000043ed: DUP1
000043ee: SWAP2
000043ef: GT
000043f0: PUSH2 0x0d7a
000043f3: JUMPI
000043f4: PUSH2 0x43fb
000043f7: PUSH2 0x3d0e
000043fa: JUMP
000043fb: JUMPDEST
000043fc: SWAP1
000043fd: PUSH1 0x01
000043ff: DUP3
00004400: ADD
00004401: DUP1
00004402: SWAP3
00004403: GT
00004404: PUSH2 0x0d7a
00004407: JUMPI
00004408: PUSH2 0x3d40
0000440b: SWAP3
0000440c: PUSH2 0x494d
0000440f: JUMP
00004410: JUMPDEST
00004411: PUSH0
00004412: DUP1
00004413: MLOAD
00004414: PUSH1 0x20
00004416: PUSH2 0x563a
00004419: DUP4
0000441a: CODECOPY
0000441b: DUP2
0000441c: MLOAD
0000441d: SWAP2
0000441e: MSTORE
0000441f: DUP1
00004420: TLOAD
00004421: PUSH2 0x442a
00004424: JUMPI
00004425: PUSH1 0x01
00004427: SWAP1
00004428: TSTORE
00004429: JUMP
0000442a: JUMPDEST
0000442b: PUSH1 0x40
0000442d: MLOAD
0000442e: PUSH4 0x3ee5aeb5
00004433: PUSH1 0xe0
00004435: SHL
00004436: DUP2
00004437: MSTORE
00004438: PUSH1 0x04
0000443a: SWAP1
0000443b: REVERT
0000443c: JUMPDEST
0000443d: PUSH1 0xff
0000443f: PUSH0
00004440: DUP1
00004441: MLOAD
00004442: PUSH1 0x20
00004444: PUSH2 0x55fa
00004447: DUP4
00004448: CODECOPY
00004449: DUP2
0000444a: MLOAD
0000444b: SWAP2
0000444c: MSTORE
0000444d: SLOAD
0000444e: AND
0000444f: PUSH2 0x4454
00004452: JUMPI
00004453: JUMP
00004454: JUMPDEST
00004455: PUSH1 0x40
00004457: MLOAD
00004458: PUSH4 0xd93c0665
0000445d: PUSH1 0xe0
0000445f: SHL
00004460: DUP2
00004461: MSTORE
00004462: PUSH1 0x04
00004464: SWAP1
00004465: REVERT
00004466: JUMPDEST
00004467: SWAP2
00004468: PUSH1 0x01
0000446a: PUSH1 0x01
0000446c: PUSH1 0xa0
0000446e: SHL
0000446f: SUB
00004470: DUP1
00004471: DUP5
00004472: AND
00004473: SWAP3
00004474: DUP4
00004475: ISZERO
00004476: PUSH2 0x4510
00004479: JUMPI
0000447a: AND
0000447b: SWAP3
0000447c: DUP4
0000447d: ISZERO
0000447e: PUSH2 0x44f8
00004481: JUMPI
00004482: DUP3
00004483: PUSH0
00004484: MSTORE
00004485: PUSH0
00004486: DUP1
00004487: MLOAD
00004488: PUSH1 0x20
0000448a: PUSH2 0x553a
0000448d: DUP4
0000448e: CODECOPY
0000448f: DUP2
00004490: MLOAD
00004491: SWAP2
00004492: MSTORE
00004493: DUP1
00004494: PUSH1 0x20
00004496: MSTORE
00004497: PUSH1 0x40
00004499: PUSH0
0000449a: KECCAK256
0000449b: SLOAD
0000449c: SWAP2
0000449d: DUP4
0000449e: DUP4
0000449f: LT
000044a0: PUSH2 0x44d9
000044a3: JUMPI
000044a4: POP
000044a5: SWAP2
000044a6: DUP1
000044a7: PUSH1 0x20
000044a9: SWAP3
000044aa: PUSH0
000044ab: DUP1
000044ac: MLOAD
000044ad: PUSH1 0x20
000044af: PUSH2 0x55ba
000044b2: DUP4
000044b3: CODECOPY
000044b4: DUP2
000044b5: MLOAD
000044b6: SWAP2
000044b7: MSTORE
000044b8: SWAP5
000044b9: DUP7
000044ba: PUSH0
000044bb: MSTORE
000044bc: DUP5
000044bd: MSTORE
000044be: SUB
000044bf: PUSH1 0x40
000044c1: PUSH0
000044c2: KECCAK256
000044c3: SSTORE
000044c4: DUP5
000044c5: PUSH0
000044c6: MSTORE
000044c7: PUSH1 0x40
000044c9: PUSH0
000044ca: KECCAK256
000044cb: DUP2
000044cc: DUP2
000044cd: SLOAD
000044ce: ADD
000044cf: SWAP1
000044d0: SSTORE
000044d1: PUSH1 0x40
000044d3: MLOAD
000044d4: SWAP1
000044d5: DUP2
000044d6: MSTORE
000044d7: LOG3
000044d8: JUMP
000044d9: JUMPDEST
000044da: SWAP1
000044db: POP
000044dc: PUSH2 0x129f
000044df: DUP4
000044e0: PUSH1 0x40
000044e2: MLOAD
000044e3: SWAP4
000044e4: DUP5
000044e5: SWAP4
000044e6: PUSH4 0x391434e3
000044eb: PUSH1 0xe2
000044ed: SHL
000044ee: DUP6
000044ef: MSTORE
000044f0: PUSH1 0x04
000044f2: DUP6
000044f3: ADD
000044f4: PUSH2 0x418f
000044f7: JUMP
000044f8: JUMPDEST
000044f9: PUSH1 0x40
000044fb: MLOAD
000044fc: PUSH4 0xec442f05
00004501: PUSH1 0xe0
00004503: SHL
00004504: DUP2
00004505: MSTORE
00004506: PUSH0
00004507: PUSH1 0x04
00004509: DUP3
0000450a: ADD
0000450b: MSTORE
0000450c: PUSH1 0x24
0000450e: SWAP1
0000450f: REVERT
00004510: JUMPDEST
00004511: PUSH1 0x40
00004513: MLOAD
00004514: PUSH4 0x4b637e8f
00004519: PUSH1 0xe1
0000451b: SHL
0000451c: DUP2
0000451d: MSTORE
0000451e: PUSH0
0000451f: PUSH1 0x04
00004521: DUP3
00004522: ADD
00004523: MSTORE
00004524: PUSH1 0x24
00004526: SWAP1
00004527: REVERT
00004528: JUMPDEST
00004529: PUSH2 0x4531
0000452c: DUP2
0000452d: PUSH2 0x3b98
00004530: JUMP
00004531: JUMPDEST
00004532: SWAP1
00004533: PUSH1 0x01
00004535: DUP1
00004536: PUSH1 0xa0
00004538: SHL
00004539: SUB
0000453a: DUP1
0000453b: DUP5
0000453c: AND
0000453d: SWAP3
0000453e: DUP4
0000453f: PUSH0
00004540: MSTORE
00004541: PUSH1 0x20
00004543: MSTORE
00004544: PUSH1 0x40
00004546: PUSH0
00004547: KECCAK256
00004548: SLOAD
00004549: SWAP4
0000454a: PUSH0
0000454b: NOT
0000454c: DUP6
0000454d: LT
0000454e: PUSH2 0x455a
00004551: JUMPI
00004552: JUMPDEST
00004553: POP
00004554: POP
00004555: POP
00004556: POP
00004557: POP
00004558: POP
00004559: JUMP
0000455a: JUMPDEST
0000455b: DUP6
0000455c: DUP6
0000455d: LT
0000455e: PUSH2 0x458f
00004561: JUMPI
00004562: POP
00004563: DUP2
00004564: AND
00004565: ISZERO
00004566: PUSH2 0x38ec
00004569: JUMPI
0000456a: DUP2
0000456b: ISZERO
0000456c: PUSH2 0x38d4
0000456f: JUMPI
00004570: PUSH2 0x4578
00004573: SWAP1
00004574: PUSH2 0x3b98
00004577: JUMP
00004578: JUMPDEST
00004579: SWAP1
0000457a: PUSH0
0000457b: MSTORE
0000457c: PUSH1 0x20
0000457e: MSTORE
0000457f: SUB
00004580: PUSH1 0x40
00004582: PUSH0
00004583: KECCAK256
00004584: SSTORE
00004585: PUSH0
00004586: DUP1
00004587: DUP1
00004588: DUP1
00004589: DUP1
0000458a: DUP1
0000458b: PUSH2 0x4552
0000458e: JUMP
0000458f: JUMPDEST
00004590: DUP5
00004591: SWAP1
00004592: PUSH2 0x129f
00004595: DUP8
00004596: PUSH1 0x40
00004598: MLOAD
00004599: SWAP4
0000459a: DUP5
0000459b: SWAP4
0000459c: PUSH4 0x7dc7a0d9
000045a1: PUSH1 0xe1
000045a3: SHL
000045a4: DUP6
000045a5: MSTORE
000045a6: PUSH1 0x04
000045a8: DUP6
000045a9: ADD
000045aa: PUSH2 0x418f
000045ad: JUMP
000045ae: JUMPDEST
000045af: PUSH1 0x01
000045b1: PUSH1 0x01
000045b3: PUSH1 0xa0
000045b5: SHL
000045b6: SUB
000045b7: AND
000045b8: SWAP1
000045b9: DUP2
000045ba: ISZERO
000045bb: PUSH2 0x44f8
000045be: JUMPI
000045bf: PUSH0
000045c0: DUP1
000045c1: MLOAD
000045c2: PUSH1 0x20
000045c4: PUSH2 0x55ba
000045c7: DUP4
000045c8: CODECOPY
000045c9: DUP2
000045ca: MLOAD
000045cb: SWAP2
000045cc: MSTORE
000045cd: PUSH1 0x20
000045cf: PUSH0
000045d0: SWAP3
000045d1: PUSH0
000045d2: DUP1
000045d3: MLOAD
000045d4: PUSH1 0x20
000045d6: PUSH2 0x559a
000045d9: DUP4
000045da: CODECOPY
000045db: DUP2
000045dc: MLOAD
000045dd: SWAP2
000045de: MSTORE
000045df: PUSH2 0x45e9
000045e2: DUP3
000045e3: DUP3
000045e4: SLOAD
000045e5: PUSH2 0x3d7b
000045e8: JUMP
000045e9: JUMPDEST
000045ea: SWAP1
000045eb: SSTORE
000045ec: DUP5
000045ed: DUP5
000045ee: MSTORE
000045ef: PUSH0
000045f0: DUP1
000045f1: MLOAD
000045f2: PUSH1 0x20
000045f4: PUSH2 0x553a
000045f7: DUP4
000045f8: CODECOPY
000045f9: DUP2
000045fa: MLOAD
000045fb: SWAP2
000045fc: MSTORE
000045fd: DUP3
000045fe: MSTORE
000045ff: PUSH1 0x40
00004601: DUP5
00004602: KECCAK256
00004603: DUP2
00004604: DUP2
00004605: SLOAD
00004606: ADD
00004607: SWAP1
00004608: SSTORE
00004609: PUSH1 0x40
0000460b: MLOAD
0000460c: SWAP1
0000460d: DUP2
0000460e: MSTORE
0000460f: LOG3
00004610: JUMP
00004611: JUMPDEST
00004612: PUSH1 0x40
00004614: MLOAD
00004615: PUSH4 0xa9059cbb
0000461a: PUSH1 0xe0
0000461c: SHL
0000461d: PUSH1 0x20
0000461f: DUP3
00004620: ADD
00004621: MSTORE
00004622: PUSH1 0x01
00004624: PUSH1 0x01
00004626: PUSH1 0xa0
00004628: SHL
00004629: SUB
0000462a: SWAP3
0000462b: SWAP1
0000462c: SWAP3
0000462d: AND
0000462e: PUSH1 0x24
00004630: DUP4
00004631: ADD
00004632: MSTORE
00004633: PUSH1 0x44
00004635: DUP1
00004636: DUP4
00004637: ADD
00004638: SWAP4
00004639: SWAP1
0000463a: SWAP4
0000463b: MSTORE
0000463c: SWAP2
0000463d: DUP2
0000463e: MSTORE
0000463f: PUSH2 0x464d
00004642: SWAP2
00004643: PUSH2 0x0b94
00004646: PUSH1 0x64
00004648: DUP4
00004649: PUSH2 0x3c94
0000464c: JUMP
0000464d: JUMPDEST
0000464e: JUMP
0000464f: JUMPDEST
00004650: SWAP2
00004651: PUSH2 0x465b
00004654: DUP2
00004655: DUP4
00004656: DUP6
00004657: PUSH2 0x494d
0000465a: JUMP
0000465b: JUMPDEST
0000465c: SWAP2
0000465d: DUP2
0000465e: ISZERO
0000465f: PUSH2 0x3cfa
00004662: JUMPI
00004663: PUSH2 0x3d40
00004666: SWAP4
00004667: MULMOD
00004668: ISZERO
00004669: ISZERO
0000466a: SWAP1
0000466b: PUSH2 0x3d7b
0000466e: JUMP
0000466f: JUMPDEST
00004670: PUSH0
00004671: SLOAD
00004672: DUP2
00004673: LT
00004674: ISZERO
00004675: PUSH2 0x4116
00004678: JUMPI
00004679: PUSH0
0000467a: DUP1
0000467b: MSTORE
0000467c: PUSH1 0x20
0000467e: PUSH0
0000467f: KECCAK256
00004680: ADD
00004681: SWAP1
00004682: PUSH0
00004683: SWAP1
00004684: JUMP
00004685: JUMPDEST
00004686: PUSH1 0x15
00004688: SLOAD
00004689: DUP2
0000468a: LT
0000468b: ISZERO
0000468c: PUSH2 0x4116
0000468f: JUMPI
00004690: PUSH1 0x15
00004692: PUSH0
00004693: MSTORE
00004694: PUSH1 0x20
00004696: PUSH0
00004697: KECCAK256
00004698: ADD
00004699: SWAP1
0000469a: PUSH0
0000469b: SWAP1
0000469c: JUMP
0000469d: JUMPDEST
0000469e: PUSH0
0000469f: DUP2
000046a0: DUP2
000046a1: MSTORE
000046a2: PUSH1 0x01
000046a4: PUSH1 0x20
000046a6: MSTORE
000046a7: PUSH1 0x40
000046a9: SWAP1
000046aa: KECCAK256
000046ab: SLOAD
000046ac: DUP1
000046ad: ISZERO
000046ae: PUSH2 0x4769
000046b1: JUMPI
000046b2: PUSH0
000046b3: NOT
000046b4: SWAP1
000046b5: DUP1
000046b6: DUP3
000046b7: ADD
000046b8: DUP2
000046b9: DUP2
000046ba: GT
000046bb: PUSH2 0x0d7a
000046be: JUMPI
000046bf: PUSH0
000046c0: SLOAD
000046c1: SWAP1
000046c2: DUP4
000046c3: DUP3
000046c4: ADD
000046c5: SWAP2
000046c6: DUP3
000046c7: GT
000046c8: PUSH2 0x0d7a
000046cb: JUMPI
000046cc: DUP2
000046cd: DUP2
000046ce: SUB
000046cf: PUSH2 0x471f
000046d2: JUMPI
000046d3: JUMPDEST
000046d4: POP
000046d5: POP
000046d6: POP
000046d7: PUSH0
000046d8: SLOAD
000046d9: DUP1
000046da: ISZERO
000046db: PUSH2 0x470b
000046de: JUMPI
000046df: DUP2
000046e0: ADD
000046e1: SWAP1
000046e2: PUSH2 0x46ea
000046e5: DUP3
000046e6: PUSH2 0x466f
000046e9: JUMP
000046ea: JUMPDEST
000046eb: SWAP1
000046ec: SWAP2
000046ed: DUP3
000046ee: SLOAD
000046ef: SWAP2
000046f0: PUSH1 0x03
000046f2: SHL
000046f3: SHL
000046f4: NOT
000046f5: AND
000046f6: SWAP1
000046f7: SSTORE
000046f8: PUSH0
000046f9: SSTORE
000046fa: PUSH0
000046fb: MSTORE
000046fc: PUSH1 0x01
000046fe: PUSH1 0x20
00004700: MSTORE
00004701: PUSH0
00004702: PUSH1 0x40
00004704: DUP2
00004705: KECCAK256
00004706: SSTORE
00004707: PUSH1 0x01
00004709: SWAP1
0000470a: JUMP
0000470b: JUMPDEST
0000470c: PUSH4 0x4e487b71
00004711: PUSH1 0xe0
00004713: SHL
00004714: PUSH0
00004715: MSTORE
00004716: PUSH1 0x31
00004718: PUSH1 0x04
0000471a: MSTORE
0000471b: PUSH1 0x24
0000471d: PUSH0
0000471e: REVERT
0000471f: JUMPDEST
00004720: PUSH2 0x4753
00004723: PUSH2 0x472e
00004726: PUSH2 0x473d
00004729: SWAP4
0000472a: PUSH2 0x466f
0000472d: JUMP
0000472e: JUMPDEST
0000472f: SWAP1
00004730: SLOAD
00004731: SWAP1
00004732: PUSH1 0x03
00004734: SHL
00004735: SHR
00004736: SWAP3
00004737: DUP4
00004738: SWAP3
00004739: PUSH2 0x466f
0000473c: JUMP
0000473d: JUMPDEST
0000473e: DUP2
0000473f: SWAP4
00004740: SWAP2
00004741: SLOAD
00004742: SWAP1
00004743: PUSH1 0x03
00004745: SHL
00004746: SWAP2
00004747: DUP3
00004748: SHL
00004749: SWAP2
0000474a: PUSH0
0000474b: NOT
0000474c: SWAP1
0000474d: SHL
0000474e: NOT
0000474f: AND
00004750: OR
00004751: SWAP1
00004752: JUMP
00004753: JUMPDEST
00004754: SWAP1
00004755: SSTORE
00004756: PUSH0
00004757: MSTORE
00004758: PUSH1 0x01
0000475a: PUSH1 0x20
0000475c: MSTORE
0000475d: PUSH1 0x40
0000475f: PUSH0
00004760: KECCAK256
00004761: SSTORE
00004762: PUSH0
00004763: DUP1
00004764: DUP1
00004765: PUSH2 0x46d3
00004768: JUMP
00004769: JUMPDEST
0000476a: POP
0000476b: POP
0000476c: PUSH0
0000476d: SWAP1
0000476e: JUMP
0000476f: JUMPDEST
00004770: PUSH0
00004771: DUP2
00004772: DUP2
00004773: MSTORE
00004774: PUSH1 0x16
00004776: PUSH1 0x20
00004778: MSTORE
00004779: PUSH1 0x40
0000477b: SWAP1
0000477c: KECCAK256
0000477d: SLOAD
0000477e: DUP1
0000477f: ISZERO
00004780: PUSH2 0x4769
00004783: JUMPI
00004784: PUSH0
00004785: NOT
00004786: SWAP1
00004787: DUP1
00004788: DUP3
00004789: ADD
0000478a: DUP2
0000478b: DUP2
0000478c: GT
0000478d: PUSH2 0x0d7a
00004790: JUMPI
00004791: PUSH1 0x15
00004793: SLOAD
00004794: SWAP1
00004795: DUP4
00004796: DUP3
00004797: ADD
00004798: SWAP2
00004799: DUP3
0000479a: GT
0000479b: PUSH2 0x0d7a
0000479e: JUMPI
0000479f: DUP2
000047a0: DUP2
000047a1: SUB
000047a2: PUSH2 0x47e0
000047a5: JUMPI
000047a6: JUMPDEST
000047a7: POP
000047a8: POP
000047a9: POP
000047aa: PUSH1 0x15
000047ac: SLOAD
000047ad: DUP1
000047ae: ISZERO
000047af: PUSH2 0x470b
000047b2: JUMPI
000047b3: DUP2
000047b4: ADD
000047b5: SWAP1
000047b6: PUSH2 0x47be
000047b9: DUP3
000047ba: PUSH2 0x4685
000047bd: JUMP
000047be: JUMPDEST
000047bf: SWAP1
000047c0: SWAP2
000047c1: DUP3
000047c2: SLOAD
000047c3: SWAP2
000047c4: PUSH1 0x03
000047c6: SHL
000047c7: SHL
000047c8: NOT
000047c9: AND
000047ca: SWAP1
000047cb: SSTORE
000047cc: PUSH1 0x15
000047ce: SSTORE
000047cf: PUSH0
000047d0: MSTORE
000047d1: PUSH1 0x16
000047d3: PUSH1 0x20
000047d5: MSTORE
000047d6: PUSH0
000047d7: PUSH1 0x40
000047d9: DUP2
000047da: KECCAK256
000047db: SSTORE
000047dc: PUSH1 0x01
000047de: SWAP1
000047df: JUMP
000047e0: JUMPDEST
000047e1: PUSH2 0x47fe
000047e4: PUSH2 0x47ef
000047e7: PUSH2 0x473d
000047ea: SWAP4
000047eb: PUSH2 0x4685
000047ee: JUMP
000047ef: JUMPDEST
000047f0: SWAP1
000047f1: SLOAD
000047f2: SWAP1
000047f3: PUSH1 0x03
000047f5: SHL
000047f6: SHR
000047f7: SWAP3
000047f8: DUP4
000047f9: SWAP3
000047fa: PUSH2 0x4685
000047fd: JUMP
000047fe: JUMPDEST
000047ff: SWAP1
00004800: SSTORE
00004801: PUSH0
00004802: MSTORE
00004803: PUSH1 0x16
00004805: PUSH1 0x20
00004807: MSTORE
00004808: PUSH1 0x40
0000480a: PUSH0
0000480b: KECCAK256
0000480c: SSTORE
0000480d: PUSH0
0000480e: DUP1
0000480f: DUP1
00004810: PUSH2 0x47a6
00004813: JUMP
00004814: JUMPDEST
00004815: SWAP1
00004816: PUSH0
00004817: PUSH1 0x20
00004819: SWAP2
0000481a: DUP3
0000481b: DUP2
0000481c: MLOAD
0000481d: SWAP2
0000481e: ADD
0000481f: DUP3
00004820: DUP6
00004821: GAS
00004822: CALL
00004823: ISZERO
00004824: PUSH2 0x1f1f
00004827: JUMPI
00004828: PUSH0
00004829: MLOAD
0000482a: RETURNDATASIZE
0000482b: PUSH2 0x4865
0000482e: JUMPI
0000482f: POP
00004830: PUSH1 0x01
00004832: PUSH1 0x01
00004834: PUSH1 0xa0
00004836: SHL
00004837: SUB
00004838: DUP2
00004839: AND
0000483a: EXTCODESIZE
0000483b: ISZERO
0000483c: JUMPDEST
0000483d: PUSH2 0x4843
00004840: JUMPI
00004841: POP
00004842: JUMP
00004843: JUMPDEST
00004844: PUSH1 0x40
00004846: MLOAD
00004847: PUSH4 0x5274afe7
0000484c: PUSH1 0xe0
0000484e: SHL
0000484f: DUP2
00004850: MSTORE
00004851: PUSH1 0x01
00004853: PUSH1 0x01
00004855: PUSH1 0xa0
00004857: SHL
00004858: SUB
00004859: SWAP1
0000485a: SWAP2
0000485b: AND
0000485c: PUSH1 0x04
0000485e: DUP3
0000485f: ADD
00004860: MSTORE
00004861: PUSH1 0x24
00004863: SWAP1
00004864: REVERT
00004865: JUMPDEST
00004866: PUSH1 0x01
00004868: EQ
00004869: ISZERO
0000486a: PUSH2 0x483c
0000486d: JUMP
0000486e: JUMPDEST
0000486f: PUSH1 0xff
00004871: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00
00004892: SLOAD
00004893: PUSH1 0x40
00004895: SHR
00004896: AND
00004897: ISZERO
00004898: PUSH2 0x489d
0000489b: JUMPI
0000489c: JUMP
0000489d: JUMPDEST
0000489e: PUSH1 0x40
000048a0: MLOAD
000048a1: PUSH4 0x1afcd79f
000048a6: PUSH1 0xe3
000048a8: SHL
000048a9: DUP2
000048aa: MSTORE
000048ab: PUSH1 0x04
000048ad: SWAP1
000048ae: REVERT
000048af: JUMPDEST
000048b0: DUP1
000048b1: PUSH0
000048b2: MSTORE
000048b3: PUSH1 0x16
000048b5: PUSH1 0x20
000048b7: MSTORE
000048b8: PUSH1 0x40
000048ba: PUSH0
000048bb: KECCAK256
000048bc: SLOAD
000048bd: ISZERO
000048be: PUSH0
000048bf: EQ
000048c0: PUSH2 0x48fd
000048c3: JUMPI
000048c4: PUSH1 0x15
000048c6: SLOAD
000048c7: PUSH1 0x01
000048c9: PUSH1 0x40
000048cb: SHL
000048cc: DUP2
000048cd: LT
000048ce: ISZERO
000048cf: PUSH2 0x0ba1
000048d2: JUMPI
000048d3: PUSH2 0x48e6
000048d6: PUSH2 0x473d
000048d9: DUP3
000048da: PUSH1 0x01
000048dc: DUP6
000048dd: SWAP5
000048de: ADD
000048df: PUSH1 0x15
000048e1: SSTORE
000048e2: PUSH2 0x4685
000048e5: JUMP
000048e6: JUMPDEST
000048e7: SWAP1
000048e8: SSTORE
000048e9: PUSH1 0x15
000048eb: SLOAD
000048ec: SWAP1
000048ed: PUSH0
000048ee: MSTORE
000048ef: PUSH1 0x16
000048f1: PUSH1 0x20
000048f3: MSTORE
000048f4: PUSH1 0x40
000048f6: PUSH0
000048f7: KECCAK256
000048f8: SSTORE
000048f9: PUSH1 0x01
000048fb: SWAP1
000048fc: JUMP
000048fd: JUMPDEST
000048fe: POP
000048ff: PUSH0
00004900: SWAP1
00004901: JUMP
00004902: JUMPDEST
00004903: DUP1
00004904: PUSH0
00004905: MSTORE
00004906: PUSH1 0x01
00004908: PUSH1 0x20
0000490a: MSTORE
0000490b: PUSH1 0x40
0000490d: PUSH0
0000490e: KECCAK256
0000490f: SLOAD
00004910: ISZERO
00004911: PUSH0
00004912: EQ
00004913: PUSH2 0x48fd
00004916: JUMPI
00004917: PUSH0
00004918: SLOAD
00004919: PUSH1 0x01
0000491b: PUSH1 0x40
0000491d: SHL
0000491e: DUP2
0000491f: LT
00004920: ISZERO
00004921: PUSH2 0x0ba1
00004924: JUMPI
00004925: PUSH2 0x4937
00004928: PUSH2 0x473d
0000492b: DUP3
0000492c: PUSH1 0x01
0000492e: DUP6
0000492f: SWAP5
00004930: ADD
00004931: PUSH0
00004932: SSTORE
00004933: PUSH2 0x466f
00004936: JUMP
00004937: JUMPDEST
00004938: SWAP1
00004939: SSTORE
0000493a: PUSH0
0000493b: SLOAD
0000493c: SWAP1
0000493d: PUSH0
0000493e: MSTORE
0000493f: PUSH1 0x01
00004941: PUSH1 0x20
00004943: MSTORE
00004944: PUSH1 0x40
00004946: PUSH0
00004947: KECCAK256
00004948: SSTORE
00004949: PUSH1 0x01
0000494b: SWAP1
0000494c: JUMP
0000494d: JUMPDEST
0000494e: SWAP1
0000494f: SWAP2
00004950: PUSH0
00004951: NOT
00004952: DUP4
00004953: DUP4
00004954: MULMOD
00004955: SWAP3
00004956: DUP1
00004957: DUP4
00004958: MUL
00004959: SWAP3
0000495a: DUP4
0000495b: DUP1
0000495c: DUP7
0000495d: LT
0000495e: SWAP6
0000495f: SUB
00004960: SWAP5
00004961: DUP1
00004962: DUP7
00004963: SUB
00004964: SWAP6
00004965: EQ
00004966: PUSH2 0x49d9
00004969: JUMPI
0000496a: DUP5
0000496b: DUP4
0000496c: GT
0000496d: ISZERO
0000496e: PUSH2 0x49c1
00004971: JUMPI
00004972: SWAP1
00004973: DUP3
00004974: SWAP2
00004975: MULMOD
00004976: DUP2
00004977: PUSH0
00004978: SUB
00004979: DUP3
0000497a: AND
0000497b: DUP1
0000497c: SWAP3
0000497d: DIV
0000497e: PUSH1 0x02
00004980: DUP1
00004981: DUP3
00004982: PUSH1 0x03
00004984: MUL
00004985: XOR
00004986: DUP1
00004987: DUP4
00004988: MUL
00004989: DUP3
0000498a: SUB
0000498b: MUL
0000498c: DUP1
0000498d: DUP4
0000498e: MUL
0000498f: DUP3
00004990: SUB
00004991: MUL
00004992: DUP1
00004993: DUP4
00004994: MUL
00004995: DUP3
00004996: SUB
00004997: MUL
00004998: DUP1
00004999: DUP4
0000499a: MUL
0000499b: DUP3
0000499c: SUB
0000499d: MUL
0000499e: DUP1
0000499f: DUP4
000049a0: MUL
000049a1: DUP3
000049a2: SUB
000049a3: MUL
000049a4: DUP1
000049a5: SWAP3
000049a6: MUL
000049a7: SWAP1
000049a8: SUB
000049a9: MUL
000049aa: SWAP4
000049ab: PUSH1 0x01
000049ad: DUP4
000049ae: DUP1
000049af: PUSH0
000049b0: SUB
000049b1: DIV
000049b2: ADD
000049b3: SWAP1
000049b4: DUP5
000049b5: DUP4
000049b6: GT
000049b7: SWAP1
000049b8: SUB
000049b9: MUL
000049ba: SWAP3
000049bb: SUB
000049bc: DIV
000049bd: OR
000049be: MUL
000049bf: SWAP1
000049c0: JUMP
000049c1: JUMPDEST
000049c2: DUP3
000049c3: PUSH4 0x4e487b71
000049c8: PUSH0
000049c9: MSTORE
000049ca: ISZERO
000049cb: PUSH1 0x03
000049cd: MUL
000049ce: PUSH1 0x11
000049d0: XOR
000049d1: PUSH1 0x20
000049d3: MSTORE
000049d4: PUSH1 0x24
000049d6: PUSH1 0x1c
000049d8: REVERT
000049d9: JUMPDEST
000049da: POP
000049db: POP
000049dc: SWAP1
000049dd: PUSH2 0x3d40
000049e0: SWAP3
000049e1: POP
000049e2: PUSH2 0x3cf0
000049e5: JUMP
000049e6: JUMPDEST
000049e7: PUSH0
000049e8: DUP1
000049e9: SWAP2
000049ea: PUSH1 0x40
000049ec: MLOAD
000049ed: PUSH1 0x20
000049ef: DUP2
000049f0: ADD
000049f1: SWAP1
000049f2: PUSH4 0x313ce567
000049f7: PUSH1 0xe0
000049f9: SHL
000049fa: DUP3
000049fb: MSTORE
000049fc: PUSH1 0x04
000049fe: DUP2
000049ff: MSTORE
00004a00: PUSH2 0x4a08
00004a03: DUP2
00004a04: PUSH2 0x3c79
00004a07: JUMP
00004a08: JUMPDEST
00004a09: MLOAD
00004a0a: SWAP2
00004a0b: PUSH1 0x01
00004a0d: PUSH1 0x01
00004a0f: PUSH1 0xa0
00004a11: SHL
00004a12: SUB
00004a13: AND
00004a14: GAS
00004a15: STATICCALL
00004a16: RETURNDATASIZE
00004a17: ISZERO
00004a18: PUSH2 0x4a7f
00004a1b: JUMPI
00004a1c: RETURNDATASIZE
00004a1d: SWAP1
00004a1e: PUSH2 0x4a26
00004a21: DUP3
00004a22: PUSH2 0x3cb5
00004a25: JUMP
00004a26: JUMPDEST
00004a27: SWAP2
00004a28: PUSH2 0x4a34
00004a2b: PUSH1 0x40
00004a2d: MLOAD
00004a2e: SWAP4
00004a2f: DUP5
00004a30: PUSH2 0x3c94
00004a33: JUMP
00004a34: JUMPDEST
00004a35: DUP3
00004a36: MSTORE
00004a37: RETURNDATASIZE
00004a38: PUSH0
00004a39: PUSH1 0x20
00004a3b: DUP5
00004a3c: ADD
00004a3d: RETURNDATACOPY
00004a3e: JUMPDEST
00004a3f: DUP1
00004a40: PUSH2 0x4a73
00004a43: JUMPI
00004a44: JUMPDEST
00004a45: PUSH2 0x4a50
00004a48: JUMPI
00004a49: JUMPDEST
00004a4a: POP
00004a4b: PUSH0
00004a4c: SWAP1
00004a4d: PUSH0
00004a4e: SWAP1
00004a4f: JUMP
00004a50: JUMPDEST
00004a51: PUSH1 0x20
00004a53: DUP2
00004a54: DUP1
00004a55: MLOAD
00004a56: DUP2
00004a57: ADD
00004a58: SUB
00004a59: SLT
00004a5a: PUSH2 0x0bfb
00004a5d: JUMPI
00004a5e: PUSH1 0x20
00004a60: ADD
00004a61: MLOAD
00004a62: PUSH1 0xff
00004a64: DUP2
00004a65: GT
00004a66: PUSH2 0x4a49
00004a69: JUMPI
00004a6a: SWAP1
00004a6b: PUSH1 0xff
00004a6d: PUSH1 0x01
00004a6f: SWAP3
00004a70: AND
00004a71: SWAP1
00004a72: JUMP
00004a73: JUMPDEST
00004a74: POP
00004a75: PUSH1 0x20
00004a77: DUP2
00004a78: MLOAD
00004a79: LT
00004a7a: ISZERO
00004a7b: PUSH2 0x4a44
00004a7e: JUMP
00004a7f: JUMPDEST
00004a80: PUSH1 0x60
00004a82: SWAP1
00004a83: PUSH2 0x4a3e
00004a86: JUMP
00004a87: INVALID
00004a88: PUSH1 0x40
00004a8a: PUSH1 0xa0
00004a8c: DUP2
00004a8d: MSTORE
00004a8e: PUSH2 0x0a92
00004a91: DUP1
00004a92: CODESIZE
00004a93: SUB
00004a94: DUP1
00004a95: PUSH2 0x0015
00004a98: DUP2
00004a99: PUSH2 0x0262
00004a9c: JUMP
00004a9d: JUMPDEST
00004a9e: SWAP3
00004a9f: DUP4
00004aa0: CODECOPY
00004aa1: DUP2
00004aa2: ADD
00004aa3: SWAP1
00004aa4: PUSH1 0x60
00004aa6: DUP2
00004aa7: DUP4
00004aa8: SUB
00004aa9: SLT
00004aaa: PUSH2 0x025e
00004aad: JUMPI
00004aae: PUSH2 0x002e
00004ab1: DUP2
00004ab2: PUSH2 0x0287
00004ab5: JUMP
00004ab6: JUMPDEST
00004ab7: SWAP2
00004ab8: PUSH1 0x20
00004aba: SWAP2
00004abb: PUSH2 0x003d
00004abe: DUP4
00004abf: DUP3
00004ac0: ADD
00004ac1: PUSH2 0x0287
00004ac4: JUMP
00004ac5: JUMPDEST
00004ac6: DUP6
00004ac7: DUP3
00004ac8: ADD
00004ac9: MLOAD
00004aca: SWAP1
00004acb: SWAP2
00004acc: PUSH1 0x01
00004ace: PUSH1 0x01
00004ad0: PUSH1 0x40
00004ad2: SHL
00004ad3: SUB
00004ad4: SWAP2
00004ad5: SWAP1
00004ad6: DUP3
00004ad7: DUP3
00004ad8: GT
00004ad9: PUSH2 0x025e
00004adc: JUMPI
00004add: ADD
00004ade: SWAP3
00004adf: DUP1
00004ae0: PUSH1 0x1f
00004ae2: DUP6
00004ae3: ADD
00004ae4: SLT
00004ae5: ISZERO
00004ae6: PUSH2 0x025e
00004ae9: JUMPI
00004aea: DUP4
00004aeb: MLOAD
00004aec: PUSH2 0x0074
00004aef: PUSH2 0x006f
00004af2: DUP3
00004af3: PUSH2 0x029b
00004af6: JUMP
00004af7: JUMPDEST
00004af8: PUSH2 0x0262
00004afb: JUMP
00004afc: JUMPDEST
00004afd: SWAP5
00004afe: DUP2
00004aff: DUP7
00004b00: MSTORE
00004b01: DUP7
00004b02: DUP7
00004b03: ADD
00004b04: SWAP3
00004b05: DUP8
00004b06: DUP4
00004b07: DUP4
00004b08: ADD
00004b09: ADD
00004b0a: GT
00004b0b: PUSH2 0x025e
00004b0e: JUMPI
00004b0f: DUP2
00004b10: PUSH0
00004b11: SWAP3
00004b12: DUP9
00004b13: DUP1
00004b14: SWAP4
00004b15: ADD
00004b16: DUP6
00004b17: MCOPY
00004b18: DUP7
00004b19: ADD
00004b1a: ADD
00004b1b: MSTORE
00004b1c: DUP6
00004b1d: EXTCODESIZE
00004b1e: ISZERO
00004b1f: PUSH2 0x023e
00004b22: JUMPI
00004b23: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00004b44: DUP1
00004b45: SLOAD
00004b46: PUSH1 0x01
00004b48: PUSH1 0x01
00004b4a: PUSH1 0xa0
00004b4c: SHL
00004b4d: SUB
00004b4e: DUP9
00004b4f: DUP2
00004b50: AND
00004b51: PUSH1 0x01
00004b53: PUSH1 0x01
00004b55: PUSH1 0xa0
00004b57: SHL
00004b58: SUB
00004b59: NOT
00004b5a: SWAP3
00004b5b: DUP4
00004b5c: AND
00004b5d: DUP2
00004b5e: OR
00004b5f: SWAP1
00004b60: SWAP4
00004b61: SSTORE
00004b62: DUP10
00004b63: MLOAD
00004b64: SWAP1
00004b65: SWAP9
00004b66: SWAP2
00004b67: SWAP7
00004b68: SWAP2
00004b69: SWAP3
00004b6a: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b
00004b8b: PUSH0
00004b8c: DUP1
00004b8d: LOG2
00004b8e: DUP2
00004b8f: MLOAD
00004b90: ISZERO
00004b91: PUSH2 0x0220
00004b94: JUMPI
00004b95: POP
00004b96: PUSH0
00004b97: PUSH2 0x013b
00004b9a: SWAP4
00004b9b: DUP2
00004b9c: SWAP3
00004b9d: MLOAD
00004b9e: SWAP1
00004b9f: DUP5
00004ba0: GAS
00004ba1: DELEGATECALL
00004ba2: RETURNDATASIZE
00004ba3: ISZERO
00004ba4: PUSH2 0x0218
00004ba7: JUMPI
00004ba8: RETURNDATASIZE
00004ba9: SWAP2
00004baa: PUSH2 0x012d
00004bad: PUSH2 0x006f
00004bb0: DUP5
00004bb1: PUSH2 0x029b
00004bb4: JUMP
00004bb5: JUMPDEST
00004bb6: SWAP3
00004bb7: DUP4
00004bb8: MSTORE
00004bb9: RETURNDATASIZE
00004bba: PUSH0
00004bbb: DUP10
00004bbc: DUP6
00004bbd: ADD
00004bbe: RETURNDATACOPY
00004bbf: PUSH2 0x02b6
00004bc2: JUMP
00004bc3: JUMPDEST
00004bc4: POP
00004bc5: JUMPDEST
00004bc6: DUP6
00004bc7: MLOAD
00004bc8: SWAP2
00004bc9: PUSH2 0x045c
00004bcc: SWAP2
00004bcd: DUP3
00004bce: DUP5
00004bcf: ADD
00004bd0: SWAP1
00004bd1: DUP2
00004bd2: GT
00004bd3: DUP5
00004bd4: DUP3
00004bd5: LT
00004bd6: OR
00004bd7: PUSH2 0x0204
00004bda: JUMPI
00004bdb: DUP7
00004bdc: DUP5
00004bdd: SWAP3
00004bde: DUP8
00004bdf: SWAP5
00004be0: PUSH2 0x0636
00004be3: DUP6
00004be4: CODECOPY
00004be5: AND
00004be6: DUP2
00004be7: MSTORE
00004be8: SUB
00004be9: ADD
00004bea: SWAP1
00004beb: PUSH0
00004bec: CREATE
00004bed: DUP1
00004bee: ISZERO
00004bef: PUSH2 0x01fa
00004bf2: JUMPI
00004bf3: DUP4
00004bf4: AND
00004bf5: SWAP2
00004bf6: DUP3
00004bf7: PUSH1 0x80
00004bf9: MSTORE
00004bfa: PUSH32 0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f
00004c1b: DUP6
00004c1c: PUSH32 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103
00004c3d: SWAP6
00004c3e: DUP6
00004c3f: DUP8
00004c40: SLOAD
00004c41: SWAP5
00004c42: DUP4
00004c43: MLOAD
00004c44: SWAP3
00004c45: DUP7
00004c46: AND
00004c47: DUP4
00004c48: MSTORE
00004c49: DUP3
00004c4a: ADD
00004c4b: MSTORE
00004c4c: LOG1
00004c4d: DUP3
00004c4e: ISZERO
00004c4f: PUSH2 0x01e3
00004c52: JUMPI
00004c53: AND
00004c54: OR
00004c55: SWAP1
00004c56: SSTORE
00004c57: MLOAD
00004c58: PUSH2 0x031c
00004c5b: SWAP1
00004c5c: DUP2
00004c5d: PUSH2 0x031a
00004c60: DUP3
00004c61: CODECOPY
00004c62: PUSH1 0x80
00004c64: MLOAD
00004c65: DUP2
00004c66: PUSH1 0x0f
00004c68: ADD
00004c69: MSTORE
00004c6a: RETURN
00004c6b: JUMPDEST
00004c6c: DUP5
00004c6d: MLOAD
00004c6e: PUSH4 0x3173bdd1
00004c73: PUSH1 0xe1
00004c75: SHL
00004c76: DUP2
00004c77: MSTORE
00004c78: PUSH0
00004c79: PUSH1 0x04
00004c7b: DUP3
00004c7c: ADD
00004c7d: MSTORE
00004c7e: PUSH1 0x24
00004c80: SWAP1
00004c81: REVERT
00004c82: JUMPDEST
00004c83: DUP5
00004c84: MLOAD
00004c85: RETURNDATASIZE
00004c86: PUSH0
00004c87: DUP3
00004c88: RETURNDATACOPY
00004c89: RETURNDATASIZE
00004c8a: SWAP1
00004c8b: REVERT
00004c8c: JUMPDEST
00004c8d: PUSH4 0x4e487b71
00004c92: PUSH1 0xe0
00004c94: SHL
00004c95: PUSH0
00004c96: MSTORE
00004c97: PUSH1 0x41
00004c99: PUSH1 0x04
00004c9b: MSTORE
00004c9c: PUSH1 0x24
00004c9e: PUSH0
00004c9f: REVERT
00004ca0: JUMPDEST
00004ca1: PUSH1 0x60
00004ca3: SWAP2
00004ca4: PUSH2 0x02b6
00004ca7: JUMP
00004ca8: JUMPDEST
00004ca9: SWAP3
00004caa: POP
00004cab: POP
00004cac: POP
00004cad: CALLVALUE
00004cae: PUSH2 0x022f
00004cb1: JUMPI
00004cb2: POP
00004cb3: PUSH2 0x013d
00004cb6: JUMP
00004cb7: JUMPDEST
00004cb8: PUSH4 0xb398979f
00004cbd: PUSH1 0xe0
00004cbf: SHL
00004cc0: DUP2
00004cc1: MSTORE
00004cc2: PUSH1 0x04
00004cc4: SWAP1
00004cc5: REVERT
00004cc6: JUMPDEST
00004cc7: DUP7
00004cc8: MLOAD
00004cc9: PUSH4 0x4c9c8ce3
00004cce: PUSH1 0xe0
00004cd0: SHL
00004cd1: DUP2
00004cd2: MSTORE
00004cd3: PUSH1 0x01
00004cd5: PUSH1 0x01
00004cd7: PUSH1 0xa0
00004cd9: SHL
00004cda: SUB
00004cdb: DUP8
00004cdc: AND
00004cdd: PUSH1 0x04
00004cdf: DUP3
00004ce0: ADD
00004ce1: MSTORE
00004ce2: PUSH1 0x24
00004ce4: SWAP1
00004ce5: REVERT
00004ce6: JUMPDEST
00004ce7: PUSH0
00004ce8: DUP1
00004ce9: REVERT
00004cea: JUMPDEST
00004ceb: PUSH1 0x40
00004ced: MLOAD
00004cee: SWAP2
00004cef: SWAP1
00004cf0: PUSH1 0x1f
00004cf2: ADD
00004cf3: PUSH1 0x1f
00004cf5: NOT
00004cf6: AND
00004cf7: DUP3
00004cf8: ADD
00004cf9: PUSH1 0x01
00004cfb: PUSH1 0x01
00004cfd: PUSH1 0x40
00004cff: SHL
00004d00: SUB
00004d01: DUP2
00004d02: GT
00004d03: DUP4
00004d04: DUP3
00004d05: LT
00004d06: OR
00004d07: PUSH2 0x0204
00004d0a: JUMPI
00004d0b: PUSH1 0x40
00004d0d: MSTORE
00004d0e: JUMP
00004d0f: JUMPDEST
00004d10: MLOAD
00004d11: SWAP1
00004d12: PUSH1 0x01
00004d14: PUSH1 0x01
00004d16: PUSH1 0xa0
00004d18: SHL
00004d19: SUB
00004d1a: DUP3
00004d1b: AND
00004d1c: DUP3
00004d1d: SUB
00004d1e: PUSH2 0x025e
00004d21: JUMPI
00004d22: JUMP
00004d23: JUMPDEST
00004d24: PUSH1 0x01
00004d26: PUSH1 0x01
00004d28: PUSH1 0x40
00004d2a: SHL
00004d2b: SUB
00004d2c: DUP2
00004d2d: GT
00004d2e: PUSH2 0x0204
00004d31: JUMPI
00004d32: PUSH1 0x1f
00004d34: ADD
00004d35: PUSH1 0x1f
00004d37: NOT
00004d38: AND
00004d39: PUSH1 0x20
00004d3b: ADD
00004d3c: SWAP1
00004d3d: JUMP
00004d3e: JUMPDEST
00004d3f: SWAP1
00004d40: PUSH2 0x02dd
00004d43: JUMPI
00004d44: POP
00004d45: DUP1
00004d46: MLOAD
00004d47: ISZERO
00004d48: PUSH2 0x02cb
00004d4b: JUMPI
00004d4c: DUP1
00004d4d: MLOAD
00004d4e: SWAP1
00004d4f: PUSH1 0x20
00004d51: ADD
00004d52: REVERT
00004d53: JUMPDEST
00004d54: PUSH1 0x40
00004d56: MLOAD
00004d57: PUSH4 0xd6bda275
00004d5c: PUSH1 0xe0
00004d5e: SHL
00004d5f: DUP2
00004d60: MSTORE
00004d61: PUSH1 0x04
00004d63: SWAP1
00004d64: REVERT
00004d65: JUMPDEST
00004d66: DUP2
00004d67: MLOAD
00004d68: ISZERO
00004d69: DUP1
00004d6a: PUSH2 0x0310
00004d6d: JUMPI
00004d6e: JUMPDEST
00004d6f: PUSH2 0x02ee
00004d72: JUMPI
00004d73: POP
00004d74: SWAP1
00004d75: JUMP
00004d76: JUMPDEST
00004d77: PUSH1 0x40
00004d79: MLOAD
00004d7a: PUSH4 0x9996b315
00004d7f: PUSH1 0xe0
00004d81: SHL
00004d82: DUP2
00004d83: MSTORE
00004d84: PUSH1 0x01
00004d86: PUSH1 0x01
00004d88: PUSH1 0xa0
00004d8a: SHL
00004d8b: SUB
00004d8c: SWAP1
00004d8d: SWAP2
00004d8e: AND
00004d8f: PUSH1 0x04
00004d91: DUP3
00004d92: ADD
00004d93: MSTORE
00004d94: PUSH1 0x24
00004d96: SWAP1
00004d97: REVERT
00004d98: JUMPDEST
00004d99: POP
00004d9a: DUP1
00004d9b: EXTCODESIZE
00004d9c: ISZERO
00004d9d: PUSH2 0x02e6
00004da0: JUMP
00004da1: INVALID
00004da2: PUSH1 0x80
00004da4: PUSH1 0x40
00004da6: MSTORE
00004da7: PUSH1 0x01
00004da9: PUSH1 0x01
00004dab: PUSH1 0xa0
00004dad: SHL
00004dae: SUB
00004daf: CALLER
00004db0: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
00004dd1: DUP3
00004dd2: AND
00004dd3: SUB
00004dd4: PUSH2 0x006a
00004dd7: JUMPI
00004dd8: PUSH0
00004dd9: CALLDATALOAD
00004dda: PUSH1 0x01
00004ddc: PUSH1 0x01
00004dde: PUSH1 0xe0
00004de0: SHL
00004de1: SUB
00004de2: NOT
00004de3: AND
00004de4: PUSH4 0x278f7943
00004de9: PUSH1 0xe1
00004deb: SHL
00004dec: EQ
00004ded: PUSH2 0x0060
00004df0: JUMPI
00004df1: PUSH1 0x40
00004df3: MLOAD
00004df4: PUSH4 0x34ad5dbb
00004df9: PUSH1 0xe2
00004dfb: SHL
00004dfc: DUP2
00004dfd: MSTORE
00004dfe: PUSH1 0x04
00004e00: SWAP1
00004e01: REVERT
00004e02: JUMPDEST
00004e03: PUSH2 0x0068
00004e06: PUSH2 0x0105
00004e09: JUMP
00004e0a: JUMPDEST
00004e0b: STOP
00004e0c: JUMPDEST
00004e0d: PUSH0
00004e0e: DUP1
00004e0f: SWAP2
00004e10: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00004e31: SLOAD
00004e32: AND
00004e33: CALLDATASIZE
00004e34: DUP3
00004e35: DUP1
00004e36: CALLDATACOPY
00004e37: DUP2
00004e38: CALLDATASIZE
00004e39: SWAP2
00004e3a: GAS
00004e3b: DELEGATECALL
00004e3c: RETURNDATASIZE
00004e3d: PUSH0
00004e3e: DUP1
00004e3f: RETURNDATACOPY
00004e40: ISZERO
00004e41: PUSH2 0x00a6
00004e44: JUMPI
00004e45: RETURNDATASIZE
00004e46: PUSH0
00004e47: RETURN
00004e48: JUMPDEST
00004e49: RETURNDATASIZE
00004e4a: PUSH0
00004e4b: REVERT
00004e4c: JUMPDEST
00004e4d: PUSH4 0x4e487b71
00004e52: PUSH1 0xe0
00004e54: SHL
00004e55: PUSH0
00004e56: MSTORE
00004e57: PUSH1 0x41
00004e59: PUSH1 0x04
00004e5b: MSTORE
00004e5c: PUSH1 0x24
00004e5e: PUSH0
00004e5f: REVERT
00004e60: JUMPDEST
00004e61: PUSH1 0x40
00004e63: MLOAD
00004e64: SWAP2
00004e65: SWAP1
00004e66: PUSH1 0x1f
00004e68: ADD
00004e69: PUSH1 0x1f
00004e6b: NOT
00004e6c: AND
00004e6d: DUP3
00004e6e: ADD
00004e6f: PUSH8 0xffffffffffffffff
00004e78: DUP2
00004e79: GT
00004e7a: DUP4
00004e7b: DUP3
00004e7c: LT
00004e7d: OR
00004e7e: PUSH2 0x00e4
00004e81: JUMPI
00004e82: PUSH1 0x40
00004e84: MSTORE
00004e85: JUMP
00004e86: JUMPDEST
00004e87: PUSH2 0x00aa
00004e8a: JUMP
00004e8b: JUMPDEST
00004e8c: PUSH8 0xffffffffffffffff
00004e95: DUP2
00004e96: GT
00004e97: PUSH2 0x00e4
00004e9a: JUMPI
00004e9b: PUSH1 0x1f
00004e9d: ADD
00004e9e: PUSH1 0x1f
00004ea0: NOT
00004ea1: AND
00004ea2: PUSH1 0x20
00004ea4: ADD
00004ea5: SWAP1
00004ea6: JUMP
00004ea7: JUMPDEST
00004ea8: CALLDATASIZE
00004ea9: PUSH1 0x04
00004eab: GT
00004eac: PUSH2 0x018e
00004eaf: JUMPI
00004eb0: PUSH1 0x40
00004eb2: CALLDATASIZE
00004eb3: PUSH1 0x03
00004eb5: NOT
00004eb6: ADD
00004eb7: SLT
00004eb8: PUSH2 0x018e
00004ebb: JUMPI
00004ebc: PUSH1 0x04
00004ebe: CALLDATALOAD
00004ebf: PUSH1 0x01
00004ec1: PUSH1 0x01
00004ec3: PUSH1 0xa0
00004ec5: SHL
00004ec6: SUB
00004ec7: DUP2
00004ec8: AND
00004ec9: SWAP1
00004eca: DUP2
00004ecb: SWAP1
00004ecc: SUB
00004ecd: PUSH2 0x018e
00004ed0: JUMPI
00004ed1: PUSH1 0x24
00004ed3: CALLDATALOAD
00004ed4: SWAP1
00004ed5: PUSH8 0xffffffffffffffff
00004ede: DUP3
00004edf: GT
00004ee0: PUSH2 0x018e
00004ee3: JUMPI
00004ee4: CALLDATASIZE
00004ee5: PUSH1 0x23
00004ee7: DUP4
00004ee8: ADD
00004ee9: SLT
00004eea: ISZERO
00004eeb: PUSH2 0x018e
00004eee: JUMPI
00004eef: DUP2
00004ef0: PUSH1 0x04
00004ef2: ADD
00004ef3: CALLDATALOAD
00004ef4: SWAP1
00004ef5: PUSH2 0x0163
00004ef8: PUSH2 0x015e
00004efb: DUP4
00004efc: PUSH2 0x00e9
00004eff: JUMP
00004f00: JUMPDEST
00004f01: PUSH2 0x00be
00004f04: JUMP
00004f05: JUMPDEST
00004f06: SWAP2
00004f07: DUP1
00004f08: DUP4
00004f09: MSTORE
00004f0a: CALLDATASIZE
00004f0b: PUSH1 0x24
00004f0d: DUP3
00004f0e: DUP7
00004f0f: ADD
00004f10: ADD
00004f11: GT
00004f12: PUSH2 0x018e
00004f15: JUMPI
00004f16: PUSH1 0x20
00004f18: DUP2
00004f19: PUSH0
00004f1a: SWAP3
00004f1b: PUSH1 0x24
00004f1d: PUSH2 0x018c
00004f20: SWAP8
00004f21: ADD
00004f22: DUP4
00004f23: DUP8
00004f24: ADD
00004f25: CALLDATACOPY
00004f26: DUP5
00004f27: ADD
00004f28: ADD
00004f29: MSTORE
00004f2a: PUSH2 0x0192
00004f2d: JUMP
00004f2e: JUMPDEST
00004f2f: JUMP
00004f30: JUMPDEST
00004f31: PUSH0
00004f32: DUP1
00004f33: REVERT
00004f34: JUMPDEST
00004f35: SWAP1
00004f36: DUP2
00004f37: EXTCODESIZE
00004f38: ISZERO
00004f39: PUSH2 0x0229
00004f3c: JUMPI
00004f3d: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00004f5e: DUP1
00004f5f: SLOAD
00004f60: PUSH1 0x01
00004f62: PUSH1 0x01
00004f64: PUSH1 0xa0
00004f66: SHL
00004f67: SUB
00004f68: NOT
00004f69: AND
00004f6a: PUSH1 0x01
00004f6c: PUSH1 0x01
00004f6e: PUSH1 0xa0
00004f70: SHL
00004f71: SUB
00004f72: DUP5
00004f73: AND
00004f74: SWAP1
00004f75: DUP2
00004f76: OR
00004f77: SWAP1
00004f78: SWAP2
00004f79: SSTORE
00004f7a: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b
00004f9b: PUSH0
00004f9c: DUP1
00004f9d: LOG2
00004f9e: DUP1
00004f9f: MLOAD
00004fa0: ISZERO
00004fa1: PUSH2 0x020e
00004fa4: JUMPI
00004fa5: PUSH2 0x020b
00004fa8: SWAP2
00004fa9: PUSH2 0x024a
00004fac: JUMP
00004fad: JUMPDEST
00004fae: POP
00004faf: JUMP
00004fb0: JUMPDEST
00004fb1: POP
00004fb2: POP
00004fb3: CALLVALUE
00004fb4: PUSH2 0x0217
00004fb7: JUMPI
00004fb8: JUMP
00004fb9: JUMPDEST
00004fba: PUSH1 0x40
00004fbc: MLOAD
00004fbd: PUSH4 0xb398979f
00004fc2: PUSH1 0xe0
00004fc4: SHL
00004fc5: DUP2
00004fc6: MSTORE
00004fc7: PUSH1 0x04
00004fc9: SWAP1
00004fca: REVERT
00004fcb: JUMPDEST
00004fcc: PUSH1 0x40
00004fce: MLOAD
00004fcf: PUSH4 0x4c9c8ce3
00004fd4: PUSH1 0xe0
00004fd6: SHL
00004fd7: DUP2
00004fd8: MSTORE
00004fd9: PUSH1 0x01
00004fdb: PUSH1 0x01
00004fdd: PUSH1 0xa0
00004fdf: SHL
00004fe0: SUB
00004fe1: DUP4
00004fe2: AND
00004fe3: PUSH1 0x04
00004fe5: DUP3
00004fe6: ADD
00004fe7: MSTORE
00004fe8: PUSH1 0x24
00004fea: SWAP1
00004feb: REVERT
00004fec: JUMPDEST
00004fed: PUSH0
00004fee: DUP1
00004fef: PUSH2 0x027c
00004ff2: SWAP4
00004ff3: PUSH1 0x20
00004ff5: DUP2
00004ff6: MLOAD
00004ff7: SWAP2
00004ff8: ADD
00004ff9: DUP5
00004ffa: GAS
00004ffb: DELEGATECALL
00004ffc: RETURNDATASIZE
00004ffd: ISZERO
00004ffe: PUSH2 0x027f
00005001: JUMPI
00005002: RETURNDATASIZE
00005003: SWAP2
00005004: PUSH2 0x026d
00005007: PUSH2 0x015e
0000500a: DUP5
0000500b: PUSH2 0x00e9
0000500e: JUMP
0000500f: JUMPDEST
00005010: SWAP3
00005011: DUP4
00005012: MSTORE
00005013: RETURNDATASIZE
00005014: PUSH0
00005015: PUSH1 0x20
00005017: DUP6
00005018: ADD
00005019: RETURNDATACOPY
0000501a: PUSH2 0x0283
0000501d: JUMP
0000501e: JUMPDEST
0000501f: SWAP1
00005020: JUMP
00005021: JUMPDEST
00005022: PUSH1 0x60
00005024: SWAP2
00005025: JUMPDEST
00005026: SWAP1
00005027: PUSH2 0x02aa
0000502a: JUMPI
0000502b: POP
0000502c: DUP1
0000502d: MLOAD
0000502e: ISZERO
0000502f: PUSH2 0x0298
00005032: JUMPI
00005033: DUP1
00005034: MLOAD
00005035: SWAP1
00005036: PUSH1 0x20
00005038: ADD
00005039: REVERT
0000503a: JUMPDEST
0000503b: PUSH1 0x40
0000503d: MLOAD
0000503e: PUSH4 0xd6bda275
00005043: PUSH1 0xe0
00005045: SHL
00005046: DUP2
00005047: MSTORE
00005048: PUSH1 0x04
0000504a: SWAP1
0000504b: REVERT
0000504c: JUMPDEST
0000504d: DUP2
0000504e: MLOAD
0000504f: ISZERO
00005050: DUP1
00005051: PUSH2 0x02dd
00005054: JUMPI
00005055: JUMPDEST
00005056: PUSH2 0x02bb
00005059: JUMPI
0000505a: POP
0000505b: SWAP1
0000505c: JUMP
0000505d: JUMPDEST
0000505e: PUSH1 0x40
00005060: MLOAD
00005061: PUSH4 0x9996b315
00005066: PUSH1 0xe0
00005068: SHL
00005069: DUP2
0000506a: MSTORE
0000506b: PUSH1 0x01
0000506d: PUSH1 0x01
0000506f: PUSH1 0xa0
00005071: SHL
00005072: SUB
00005073: SWAP1
00005074: SWAP2
00005075: AND
00005076: PUSH1 0x04
00005078: DUP3
00005079: ADD
0000507a: MSTORE
0000507b: PUSH1 0x24
0000507d: SWAP1
0000507e: REVERT
0000507f: JUMPDEST
00005080: POP
00005081: DUP1
00005082: EXTCODESIZE
00005083: ISZERO
00005084: PUSH2 0x02b3
00005087: JUMP
00005088: INVALID
00005089: LOG2
0000508a: PUSH5 0x6970667358
00005090: UNKNOWN(0x22)
00005091: SLT
00005092: KECCAK256
00005093: UNKNOWN(0xD4)
00005094: PUSH22 0x2afe66e0c328c427bef50003f7bcdf6af7917020e116
000050ab: UNKNOWN(0xEA)
000050ac: UNKNOWN(0xAC)
000050ad: UNKNOWN(0xAC)
000050ae: UNKNOWN(0xF9)
000050af: CALLVALUE
000050b0: UNKNOWN(0x21)
000050b1: DUP11
000050b2: UNKNOWN(0xF7)
000050b3: PUSH5 0x736f6c6343
000050b9: STOP
000050ba: ADDMOD
000050bb: NOT
000050bc: STOP
000050bd: CALLER
000050be: PUSH1 0x80
000050c0: CALLVALUE
000050c1: PUSH1 0xb4
000050c3: JUMPI
000050c4: PUSH1 0x1f
000050c6: PUSH2 0x045c
000050c9: CODESIZE
000050ca: DUP2
000050cb: SWAP1
000050cc: SUB
000050cd: SWAP2
000050ce: DUP3
000050cf: ADD
000050d0: PUSH1 0x1f
000050d2: NOT
000050d3: AND
000050d4: DUP4
000050d5: ADD
000050d6: SWAP2
000050d7: PUSH1 0x01
000050d9: PUSH1 0x01
000050db: PUSH1 0x40
000050dd: SHL
000050de: SUB
000050df: DUP4
000050e0: GT
000050e1: DUP5
000050e2: DUP5
000050e3: LT
000050e4: OR
000050e5: PUSH1 0xb8
000050e7: JUMPI
000050e8: DUP1
000050e9: DUP5
000050ea: SWAP3
000050eb: PUSH1 0x20
000050ed: SWAP5
000050ee: PUSH1 0x40
000050f0: MSTORE
000050f1: DUP4
000050f2: CODECOPY
000050f3: DUP2
000050f4: ADD
000050f5: SUB
000050f6: SLT
000050f7: PUSH1 0xb4
000050f9: JUMPI
000050fa: MLOAD
000050fb: PUSH1 0x01
000050fd: PUSH1 0x01
000050ff: PUSH1 0xa0
00005101: SHL
00005102: SUB
00005103: SWAP1
00005104: DUP2
00005105: DUP2
00005106: AND
00005107: SWAP1
00005108: DUP2
00005109: SWAP1
0000510a: SUB
0000510b: PUSH1 0xb4
0000510d: JUMPI
0000510e: DUP1
0000510f: ISZERO
00005110: PUSH1 0x9c
00005112: JUMPI
00005113: PUSH0
00005114: DUP1
00005115: SLOAD
00005116: PUSH1 0x01
00005118: PUSH1 0x01
0000511a: PUSH1 0xa0
0000511c: SHL
0000511d: SUB
0000511e: NOT
0000511f: DUP2
00005120: AND
00005121: DUP4
00005122: OR
00005123: DUP3
00005124: SSTORE
00005125: PUSH1 0x40
00005127: MLOAD
00005128: SWAP4
00005129: AND
0000512a: SWAP1
0000512b: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
0000514c: SWAP1
0000514d: DUP1
0000514e: LOG3
0000514f: PUSH2 0x038f
00005152: SWAP1
00005153: DUP2
00005154: PUSH2 0x00cd
00005157: DUP3
00005158: CODECOPY
00005159: RETURN
0000515a: JUMPDEST
0000515b: PUSH1 0x40
0000515d: MLOAD
0000515e: PUSH4 0x1e4fbdf7
00005163: PUSH1 0xe0
00005165: SHL
00005166: DUP2
00005167: MSTORE
00005168: PUSH0
00005169: PUSH1 0x04
0000516b: DUP3
0000516c: ADD
0000516d: MSTORE
0000516e: PUSH1 0x24
00005170: SWAP1
00005171: REVERT
00005172: JUMPDEST
00005173: PUSH0
00005174: DUP1
00005175: REVERT
00005176: JUMPDEST
00005177: PUSH4 0x4e487b71
0000517c: PUSH1 0xe0
0000517e: SHL
0000517f: PUSH0
00005180: MSTORE
00005181: PUSH1 0x41
00005183: PUSH1 0x04
00005185: MSTORE
00005186: PUSH1 0x24
00005188: PUSH0
00005189: REVERT
0000518a: INVALID
0000518b: PUSH1 0x40
0000518d: PUSH1 0x80
0000518f: DUP2
00005190: MSTORE
00005191: PUSH1 0x04
00005193: DUP1
00005194: CALLDATASIZE
00005195: LT
00005196: ISZERO
00005197: PUSH2 0x0013
0000519a: JUMPI
0000519b: PUSH0
0000519c: DUP1
0000519d: REVERT
0000519e: JUMPDEST
0000519f: PUSH0
000051a0: SWAP2
000051a1: PUSH0
000051a2: CALLDATALOAD
000051a3: PUSH1 0xe0
000051a5: SHR
000051a6: DUP1
000051a7: PUSH4 0x715018a6
000051ac: EQ
000051ad: PUSH2 0x02b3
000051b0: JUMPI
000051b1: DUP1
000051b2: PUSH4 0x8da5cb5b
000051b7: EQ
000051b8: PUSH2 0x028c
000051bb: JUMPI
000051bc: DUP1
000051bd: PUSH4 0x9623609d
000051c2: EQ
000051c3: PUSH2 0x0154
000051c6: JUMPI
000051c7: DUP1
000051c8: PUSH4 0xad3cb1cc
000051cd: EQ
000051ce: PUSH2 0x00e3
000051d1: JUMPI
000051d2: PUSH4 0xf2fde38b
000051d7: EQ
000051d8: PUSH2 0x0054
000051db: JUMPI
000051dc: PUSH0
000051dd: DUP1
000051de: REVERT
000051df: JUMPDEST
000051e0: CALLVALUE
000051e1: PUSH2 0x00df
000051e4: JUMPI
000051e5: PUSH1 0x20
000051e7: CALLDATASIZE
000051e8: PUSH1 0x03
000051ea: NOT
000051eb: ADD
000051ec: SLT
000051ed: PUSH2 0x00df
000051f0: JUMPI
000051f1: PUSH1 0x01
000051f3: PUSH1 0x01
000051f5: PUSH1 0xa0
000051f7: SHL
000051f8: SUB
000051f9: DUP3
000051fa: CALLDATALOAD
000051fb: DUP2
000051fc: DUP2
000051fd: AND
000051fe: SWAP4
000051ff: SWAP2
00005200: SWAP3
00005201: SWAP1
00005202: DUP5
00005203: SWAP1
00005204: SUB
00005205: PUSH2 0x00db
00005208: JUMPI
00005209: PUSH2 0x0085
0000520c: PUSH2 0x032e
0000520f: JUMP
00005210: JUMPDEST
00005211: DUP4
00005212: ISZERO
00005213: PUSH2 0x00c5
00005216: JUMPI
00005217: POP
00005218: POP
00005219: PUSH0
0000521a: SLOAD
0000521b: DUP3
0000521c: PUSH1 0x01
0000521e: DUP1
0000521f: PUSH1 0xa0
00005221: SHL
00005222: SUB
00005223: NOT
00005224: DUP3
00005225: AND
00005226: OR
00005227: PUSH0
00005228: SSTORE
00005229: AND
0000522a: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
0000524b: PUSH0
0000524c: DUP1
0000524d: LOG3
0000524e: DUP1
0000524f: RETURN
00005250: JUMPDEST
00005251: MLOAD
00005252: PUSH4 0x1e4fbdf7
00005257: PUSH1 0xe0
00005259: SHL
0000525a: DUP2
0000525b: MSTORE
0000525c: SWAP1
0000525d: DUP2
0000525e: ADD
0000525f: DUP5
00005260: SWAP1
00005261: MSTORE
00005262: PUSH1 0x24
00005264: SWAP1
00005265: REVERT
00005266: JUMPDEST
00005267: PUSH0
00005268: DUP1
00005269: REVERT
0000526a: JUMPDEST
0000526b: DUP3
0000526c: DUP1
0000526d: REVERT
0000526e: JUMPDEST
0000526f: POP
00005270: DUP3
00005271: CALLVALUE
00005272: PUSH2 0x0151
00005275: JUMPI
00005276: DUP1
00005277: PUSH1 0x03
00005279: NOT
0000527a: CALLDATASIZE
0000527b: ADD
0000527c: SLT
0000527d: PUSH2 0x0151
00005280: JUMPI
00005281: POP
00005282: DUP1
00005283: MLOAD
00005284: SWAP1
00005285: DUP1
00005286: DUP3
00005287: ADD
00005288: DUP3
00005289: DUP2
0000528a: LT
0000528b: PUSH8 0xffffffffffffffff
00005294: DUP3
00005295: GT
00005296: OR
00005297: PUSH2 0x013e
0000529a: JUMPI
0000529b: PUSH2 0x013a
0000529e: SWAP4
0000529f: POP
000052a0: DUP2
000052a1: MSTORE
000052a2: PUSH1 0x05
000052a4: DUP3
000052a5: MSTORE
000052a6: PUSH5 0x0352e302e3
000052ac: PUSH1 0xdc
000052ae: SHL
000052af: PUSH1 0x20
000052b1: DUP4
000052b2: ADD
000052b3: MSTORE
000052b4: MLOAD
000052b5: SWAP2
000052b6: DUP3
000052b7: SWAP2
000052b8: PUSH1 0x20
000052ba: DUP4
000052bb: MSTORE
000052bc: PUSH1 0x20
000052be: DUP4
000052bf: ADD
000052c0: SWAP1
000052c1: PUSH2 0x030a
000052c4: JUMP
000052c5: JUMPDEST
000052c6: SUB
000052c7: SWAP1
000052c8: RETURN
000052c9: JUMPDEST
000052ca: PUSH1 0x41
000052cc: DUP5
000052cd: PUSH4 0x4e487b71
000052d2: PUSH1 0xe0
000052d4: SHL
000052d5: PUSH0
000052d6: MSTORE
000052d7: MSTORE
000052d8: PUSH1 0x24
000052da: PUSH0
000052db: REVERT
000052dc: JUMPDEST
000052dd: DUP1
000052de: REVERT
000052df: JUMPDEST
000052e0: POP
000052e1: PUSH1 0x60
000052e3: CALLDATASIZE
000052e4: PUSH1 0x03
000052e6: NOT
000052e7: ADD
000052e8: SLT
000052e9: PUSH2 0x00db
000052ec: JUMPI
000052ed: PUSH1 0x01
000052ef: PUSH1 0x01
000052f1: PUSH1 0xa0
000052f3: SHL
000052f4: SUB
000052f5: DUP3
000052f6: CALLDATALOAD
000052f7: DUP2
000052f8: DUP2
000052f9: AND
000052fa: SWAP4
000052fb: SWAP1
000052fc: DUP5
000052fd: SWAP1
000052fe: SUB
000052ff: PUSH2 0x00db
00005302: JUMPI
00005303: PUSH1 0x24
00005305: SWAP2
00005306: DUP3
00005307: CALLDATALOAD
00005308: SWAP1
00005309: DUP2
0000530a: AND
0000530b: DUP1
0000530c: SWAP2
0000530d: SUB
0000530e: PUSH2 0x00db
00005311: JUMPI
00005312: PUSH8 0xffffffffffffffff
0000531b: SWAP1
0000531c: PUSH1 0x44
0000531e: CALLDATALOAD
0000531f: DUP3
00005320: DUP2
00005321: GT
00005322: PUSH2 0x00db
00005325: JUMPI
00005326: CALLDATASIZE
00005327: PUSH1 0x23
00005329: DUP3
0000532a: ADD
0000532b: SLT
0000532c: ISZERO
0000532d: PUSH2 0x00db
00005330: JUMPI
00005331: DUP1
00005332: DUP5
00005333: ADD
00005334: CALLDATALOAD
00005335: DUP4
00005336: DUP2
00005337: GT
00005338: PUSH2 0x027a
0000533b: JUMPI
0000533c: DUP7
0000533d: MLOAD
0000533e: SWAP2
0000533f: PUSH1 0x1f
00005341: DUP3
00005342: ADD
00005343: PUSH1 0x1f
00005345: NOT
00005346: SWAP1
00005347: DUP2
00005348: AND
00005349: PUSH1 0x3f
0000534b: ADD
0000534c: AND
0000534d: DUP4
0000534e: ADD
0000534f: DUP6
00005350: DUP2
00005351: GT
00005352: DUP5
00005353: DUP3
00005354: LT
00005355: OR
00005356: PUSH2 0x0268
00005359: JUMPI
0000535a: DUP9
0000535b: MSTORE
0000535c: DUP2
0000535d: DUP4
0000535e: MSTORE
0000535f: CALLDATASIZE
00005360: DUP8
00005361: DUP4
00005362: DUP4
00005363: ADD
00005364: ADD
00005365: GT
00005366: PUSH2 0x00db
00005369: JUMPI
0000536a: DUP2
0000536b: PUSH0
0000536c: SWAP3
0000536d: DUP9
0000536e: PUSH1 0x20
00005370: SWAP4
00005371: ADD
00005372: DUP4
00005373: DUP7
00005374: ADD
00005375: CALLDATACOPY
00005376: DUP4
00005377: ADD
00005378: ADD
00005379: MSTORE
0000537a: PUSH2 0x01f6
0000537d: PUSH2 0x032e
00005380: JUMP
00005381: JUMPDEST
00005382: DUP7
00005383: EXTCODESIZE
00005384: ISZERO
00005385: PUSH2 0x00db
00005388: JUMPI
00005389: PUSH2 0x0228
0000538c: SWAP7
0000538d: PUSH0
0000538e: SWAP3
0000538f: DUP8
00005390: MLOAD
00005391: DUP1
00005392: SWAP10
00005393: DUP2
00005394: SWAP5
00005395: DUP3
00005396: SWAP4
00005397: PUSH4 0x278f7943
0000539c: PUSH1 0xe1
0000539e: SHL
0000539f: DUP5
000053a0: MSTORE
000053a1: DUP10
000053a2: DUP5
000053a3: ADD
000053a4: MSTORE
000053a5: DUP11
000053a6: DUP11
000053a7: DUP5
000053a8: ADD
000053a9: MSTORE
000053aa: PUSH1 0x44
000053ac: DUP4
000053ad: ADD
000053ae: SWAP1
000053af: PUSH2 0x030a
000053b2: JUMP
000053b3: JUMPDEST
000053b4: SUB
000053b5: SWAP2
000053b6: CALLVALUE
000053b7: SWAP1
000053b8: GAS
000053b9: CALL
000053ba: DUP1
000053bb: ISZERO
000053bc: PUSH2 0x025e
000053bf: JUMPI
000053c0: PUSH2 0x023c
000053c3: JUMPI
000053c4: DUP6
000053c5: DUP1
000053c6: RETURN
000053c7: JUMPDEST
000053c8: SWAP1
000053c9: SWAP2
000053ca: SWAP3
000053cb: SWAP4
000053cc: DUP1
000053cd: SWAP6
000053ce: POP
000053cf: GT
000053d0: PUSH2 0x024d
000053d3: JUMPI
000053d4: POP
000053d5: POP
000053d6: MSTORE
000053d7: STOP
000053d8: JUMPDEST
000053d9: PUSH1 0x41
000053db: SWAP1
000053dc: PUSH4 0x4e487b71
000053e1: PUSH1 0xe0
000053e3: SHL
000053e4: PUSH0
000053e5: MSTORE
000053e6: MSTORE
000053e7: PUSH0
000053e8: REVERT
000053e9: JUMPDEST
000053ea: DUP5
000053eb: MLOAD
000053ec: RETURNDATASIZE
000053ed: PUSH0
000053ee: DUP3
000053ef: RETURNDATACOPY
000053f0: RETURNDATASIZE
000053f1: SWAP1
000053f2: REVERT
000053f3: JUMPDEST
000053f4: DUP8
000053f5: PUSH1 0x41
000053f7: DUP9
000053f8: PUSH4 0x4e487b71
000053fd: PUSH1 0xe0
000053ff: SHL
00005400: PUSH0
00005401: MSTORE
00005402: MSTORE
00005403: PUSH0
00005404: REVERT
00005405: JUMPDEST
00005406: DUP6
00005407: PUSH1 0x41
00005409: DUP7
0000540a: PUSH4 0x4e487b71
0000540f: PUSH1 0xe0
00005411: SHL
00005412: PUSH0
00005413: MSTORE
00005414: MSTORE
00005415: PUSH0
00005416: REVERT
00005417: JUMPDEST
00005418: POP
00005419: CALLVALUE
0000541a: PUSH2 0x00db
0000541d: JUMPI
0000541e: PUSH0
0000541f: CALLDATASIZE
00005420: PUSH1 0x03
00005422: NOT
00005423: ADD
00005424: SLT
00005425: PUSH2 0x00db
00005428: JUMPI
00005429: PUSH0
0000542a: SLOAD
0000542b: SWAP1
0000542c: MLOAD
0000542d: PUSH1 0x01
0000542f: PUSH1 0x01
00005431: PUSH1 0xa0
00005433: SHL
00005434: SUB
00005435: SWAP1
00005436: SWAP2
00005437: AND
00005438: DUP2
00005439: MSTORE
0000543a: PUSH1 0x20
0000543c: SWAP1
0000543d: RETURN
0000543e: JUMPDEST
0000543f: CALLVALUE
00005440: PUSH2 0x00db
00005443: JUMPI
00005444: PUSH0
00005445: CALLDATASIZE
00005446: PUSH1 0x03
00005448: NOT
00005449: ADD
0000544a: SLT
0000544b: PUSH2 0x00db
0000544e: JUMPI
0000544f: PUSH2 0x02cb
00005452: PUSH2 0x032e
00005455: JUMP
00005456: JUMPDEST
00005457: PUSH0
00005458: DUP1
00005459: SLOAD
0000545a: PUSH1 0x01
0000545c: PUSH1 0x01
0000545e: PUSH1 0xa0
00005460: SHL
00005461: SUB
00005462: NOT
00005463: DUP2
00005464: AND
00005465: DUP3
00005466: SSTORE
00005467: PUSH1 0x01
00005469: PUSH1 0x01
0000546b: PUSH1 0xa0
0000546d: SHL
0000546e: SUB
0000546f: AND
00005470: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00005491: DUP3
00005492: DUP1
00005493: LOG3
00005494: STOP
00005495: JUMPDEST
00005496: DUP1
00005497: MLOAD
00005498: DUP1
00005499: DUP4
0000549a: MSTORE
0000549b: PUSH1 0x20
0000549d: SWAP3
0000549e: SWAP2
0000549f: DUP2
000054a0: SWAP1
000054a1: DUP5
000054a2: ADD
000054a3: DUP5
000054a4: DUP5
000054a5: ADD
000054a6: MCOPY
000054a7: PUSH0
000054a8: DUP3
000054a9: DUP3
000054aa: ADD
000054ab: DUP5
000054ac: ADD
000054ad: MSTORE
000054ae: PUSH1 0x1f
000054b0: ADD
000054b1: PUSH1 0x1f
000054b3: NOT
000054b4: AND
000054b5: ADD
000054b6: ADD
000054b7: SWAP1
000054b8: JUMP
000054b9: JUMPDEST
000054ba: PUSH0
000054bb: SLOAD
000054bc: PUSH1 0x01
000054be: PUSH1 0x01
000054c0: PUSH1 0xa0
000054c2: SHL
000054c3: SUB
000054c4: AND
000054c5: CALLER
000054c6: SUB
000054c7: PUSH2 0x0341
000054ca: JUMPI
000054cb: JUMP
000054cc: JUMPDEST
000054cd: PUSH1 0x40
000054cf: MLOAD
000054d0: PUSH4 0x118cdaa7
000054d5: PUSH1 0xe0
000054d7: SHL
000054d8: DUP2
000054d9: MSTORE
000054da: CALLER
000054db: PUSH1 0x04
000054dd: DUP3
000054de: ADD
000054df: MSTORE
000054e0: PUSH1 0x24
000054e2: SWAP1
000054e3: REVERT
000054e4: INVALID
000054e5: LOG2
000054e6: PUSH5 0x6970667358
000054ec: UNKNOWN(0x22)
000054ed: SLT
000054ee: KECCAK256
000054ef: DUP11
000054f0: SUB
000054f1: UNKNOWN(0xE2)
000054f2: UNKNOWN(0xDD)
000054f3: PUSH19 0x585c6c1a10803fa4b431b84a7d64cde0273485
00005507: MUL
00005508: UNKNOWN(0xCD)
00005509: UNKNOWN(0xC6)
0000550a: EXTCODECOPY
0000550b: UNKNOWN(0xCC)
0000550c: UNKNOWN(0xC2)
0000550d: UNKNOWN(0x28)
0000550e: ORIGIN
0000550f: PUSH5 0x736f6c6343
00005515: STOP
00005516: ADDMOD
00005517: NOT
00005518: STOP
00005519: CALLER
0000551a: MSTORE
0000551b: UNKNOWN(0xC6)
0000551c: ORIGIN
0000551d: SELFBALANCE
0000551e: UNKNOWN(0xE1)
0000551f: DELEGATECALL
00005520: PUSH30 0xb19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1
0000553f: DELEGATECALL
00005540: PUSH30 0xb19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0052c63247e1
0000555f: DELEGATECALL
00005560: PUSH30 0xb19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace049016d09d72
0000557f: UNKNOWN(0xD4)
00005580: UNKNOWN(0x0F)
00005581: UNKNOWN(0xDA)
00005582: UNKNOWN(0xE2)
00005583: REVERT
00005584: DUP13
00005585: UNKNOWN(0xEA)
00005586: UNKNOWN(0xC6)
00005587: UNKNOWN(0xB6)
00005588: UNKNOWN(0x23)
00005589: UNKNOWN(0x4C)
0000558a: PUSH24 0x06214fd39c1cd1e609a0528c19930052c63247e1f47db19d
000055a3: TLOAD
000055a4: UNKNOWN(0xE0)
000055a5: CHAINID
000055a6: STOP
000055a7: ADDRESS
000055a8: UNKNOWN(0xC4)
000055a9: SWAP8
000055aa: CREATE
000055ab: PUSH8 0xca4cebf71ba98eea
000055b4: UNKNOWN(0xDA)
000055b5: UNKNOWN(0xBE)
000055b6: KECCAK256
000055b7: UNKNOWN(0xBA)
000055b8: UNKNOWN(0xCE)
000055b9: MUL
000055ba: UNKNOWN(0xDD)
000055bb: CALLCODE
000055bc: MSTORE
000055bd: UNKNOWN(0xAD)
000055be: SHL
000055bf: UNKNOWN(0xE2)
000055c0: UNKNOWN(0xC8)
000055c1: SWAP12
000055c2: PUSH10 0xc2b068fc378daa952ba7
000055cd: CALL
000055ce: PUSH4 0xc4a11628
000055d3: CREATE2
000055d4: GAS
000055d5: UNKNOWN(0x4D)
000055d6: CREATE2
000055d7: UNKNOWN(0x23)
000055d8: UNKNOWN(0xB3)
000055d9: UNKNOWN(0xEF)
000055da: SMOD
000055db: PUSH20 0xe532dfede91f04b12a73d3d2acd361424f41f76b
000055f0: UNKNOWN(0x4F)
000055f1: UNKNOWN(0xB7)
000055f2: SWAP16
000055f3: MULMOD
000055f4: ADD
000055f5: PUSH2 0xe36b
000055f8: UNKNOWN(0x4E)
000055f9: STOP
000055fa: UNKNOWN(0xCD)
000055fb: MCOPY
000055fc: UNKNOWN(0xD1)
000055fd: TLOAD
000055fe: PUSH15 0x187e77e9aee88184c21f4f2182ab58
0000560e: UNKNOWN(0x27)
0000560f: UNKNOWN(0xCB)
00005610: EXTCODESIZE
00005611: PUSH31 0x07fbedcd63f033008a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65
00005631: UNKNOWN(0xC6)
00005632: UNKNOWN(0xB6)
00005633: UNKNOWN(0x4B)
00005634: INVALID
00005635: PUSH32 0xe36bd19b9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003b
00005656: UNKNOWN(0xEC)
00005657: UNKNOWN(0xC5)
00005658: PUSH0
00005659: STOP
0000565a: LOG2
0000565b: PUSH5 0x6970667358
00005661: UNKNOWN(0x22)
00005662: SLT
00005663: KECCAK256
00005664: UNKNOWN(0xCD)
00005665: PUSH16 0xb1fd53ab0bc04cf85b9996175479e6b8
00005676: UNKNOWN(0xC2)
00005677: UNKNOWN(0xC6)
00005678: UNKNOWN(0xB8)
00005679: SWAP14
0000567a: UNKNOWN(0x29)
0000567b: DIFFICULTY
0000567c: SWAP9
0000567d: UNKNOWN(0xCC)
0000567e: RETURN
0000567f: UNKNOWN(0xA9)
00005680: SWAP6
00005681: UNKNOWN(0x27)
00005682: UNKNOWN(0xC5)
00005683: DUP6
00005684: PUSH5 0x736f6c6343
0000568a: STOP
0000568b: ADDMOD
0000568c: NOT
0000568d: STOP
0000568e: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high oracle codex MF_ONE valuation uses unvalidated oracle price for share minting and TVL 85 no
view
evidence_json
{
    "evidence": "MF_ONE deposits and TVL rely on `IMidasOracle(MIDAS_ORACLE).lastAnswer()` with only a non-negative check and no staleness or bounds validation.",
    "locations": [
        "contracts/main/Vault.sol:43",
        "contracts/main/Vault.sol:96",
        "contracts/main/strategies/morpho/StrategyMorphoBlue.sol:380"
    ],
    "recommendation": "Use an oracle interface that exposes round data (e.g., `latestRoundData`) with staleness checks, enforce max deviation bounds, and/or use TWAPs. Consider rejecting deposits and price updates when the oracle is stale or outside expected bounds.",
    "exploit_scenario": "An attacker who can manipulate or serve a stale/high price from `IMidasOracle.lastAnswer()` can deposit MF_ONE and receive inflated share issuance. Those shares can later be redeemed for USDC at the (lower) fair exchange price, draining vault assets. The same oracle value is also used to compute TVL/exchange price, amplifying the pricing distortion."
}
high upgradeability detector Untrusted DELEGATECALL target reachable 55 yes yes
view
trace_id: 0xefbcfb5b02f9f5054f5fc50652ec6d21640bdef670b86e633bab2f8a89bff115
call_targets: 0x32fb951ce9be3cd9a0a406ea86647a3c7d6406e2, 0x43506849d7c04f9138d1a2050bbf3a0c054402dd, 0xd1660d18796a442ff6a87077c7e313be63597e91
target_varies: yes
classification: target_varies
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "confirmed",
    "attempts": 49,
    "trace_id": "0xefbcfb5b02f9f5054f5fc50652ec6d21640bdef670b86e633bab2f8a89bff115",
    "confirmed": true,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x32fb951ce9be3cd9a0a406ea86647a3c7d6406e2",
        "0x43506849d7c04f9138d1a2050bbf3a0c054402dd",
        "0xd1660d18796a442ff6a87077c7e313be63597e91"
    ],
    "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": "0x01e1d114",
            "selector": "0x01e1d114",
            "calldata_variants": [
                "0x01e1d114",
                "0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x02befd24",
            "selector": "0x02befd24",
            "calldata_variants": [
                "0x02befd24",
                "0x02befd240000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x030d624a",
            "selector": "0x030d624a",
            "calldata_variants": [
                "0x030d624a",
                "0x030d624a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x079c3b88",
            "selector": "0x079c3b88",
            "calldata_variants": [
                "0x079c3b88",
                "0x079c3b880000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x07a2d13a",
            "selector": "0x07a2d13a",
            "calldata_variants": [
                "0x07a2d13a",
                "0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x09299dfb",
            "selector": "0x09299dfb",
            "calldata_variants": [
                "0x09299dfb",
                "0x09299dfb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 19361,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 20027,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 20475,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [
        {
            "pc": 21774,
            "type": "tx_origin_used"
        },
        {
            "pc": 21788,
            "type": "tx_origin_used"
        }
    ],
    "delegatecall_count": 6,
    "untrusted_delegatecall_count": 6
}
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x01e1d114",
            "selector": "0x01e1d114",
            "calldata_variants": [
                "0x01e1d114",
                "0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x02befd24",
            "selector": "0x02befd24",
            "calldata_variants": [
                "0x02befd24",
                "0x02befd240000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x030d624a",
            "selector": "0x030d624a",
            "calldata_variants": [
                "0x030d624a",
                "0x030d624a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x079c3b88",
            "selector": "0x079c3b88",
            "calldata_variants": [
                "0x079c3b88",
                "0x079c3b880000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x07a2d13a",
            "selector": "0x07a2d13a",
            "calldata_variants": [
                "0x07a2d13a",
                "0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x09299dfb",
            "selector": "0x09299dfb",
            "calldata_variants": [
                "0x09299dfb",
                "0x09299dfb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 21774,
            "type": "tx_origin_used"
        },
        {
            "pc": 21788,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x926447688ef637931f09051b51b8317d990c49788177b3665989f08fb617d17b
call_targets: 0x71ea0eb2605bd63fe69012a60c75bdbd22e8b3d3
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x926447688ef637931f09051b51b8317d990c49788177b3665989f08fb617d17b",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x71ea0eb2605bd63fe69012a60c75bdbd22e8b3d3"
    ],
    "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": "0x01e1d114",
            "selector": "0x01e1d114",
            "calldata_variants": [
                "0x01e1d114",
                "0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x02befd24",
            "selector": "0x02befd24",
            "calldata_variants": [
                "0x02befd24",
                "0x02befd240000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x030d624a",
            "selector": "0x030d624a",
            "calldata_variants": [
                "0x030d624a",
                "0x030d624a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x079c3b88",
            "selector": "0x079c3b88",
            "calldata_variants": [
                "0x079c3b88",
                "0x079c3b880000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x07a2d13a",
            "selector": "0x07a2d13a",
            "calldata_variants": [
                "0x07a2d13a",
                "0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x09299dfb",
            "selector": "0x09299dfb",
            "calldata_variants": [
                "0x09299dfb",
                "0x09299dfb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2390,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2668,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2737,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 14,
    "guards_detected": [
        {
            "pc": 21774,
            "type": "tx_origin_used"
        },
        {
            "pc": 21788,
            "type": "tx_origin_used"
        }
    ]
}
medium upgradeability codex Strategy proxy admin fixed to creator, not current owner 75 no
view
evidence_json
{
    "evidence": "`createStrategy` sets proxy admin to `msg.sender` without any linkage to `OwnableUpgradeable` ownership changes.",
    "locations": [
        "contracts/main/vault/StrategyFactory.sol:90"
    ],
    "recommendation": "Use a dedicated `ProxyAdmin` controlled by current ownership, or track the proxy admin and update it on ownership transfers. Avoid setting the proxy admin to the caller directly.",
    "exploit_scenario": "Strategies are deployed via `TransparentUpgradeableProxy` with admin set to `msg.sender`. If vault ownership changes later, the old owner retains proxy admin rights and can still upgrade strategy implementations to malicious code that drains assets, while the new owner cannot upgrade."
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 6
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0xad75a40ee27bd6462acb48e262c526a796f7b014a82e4709d644cd123b8d9f66
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0xad75a40ee27bd6462acb48e262c526a796f7b014a82e4709d644cd123b8d9f66",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0x01e1d114",
            "selector": "0x01e1d114",
            "calldata_variants": [
                "0x01e1d114",
                "0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x02befd24",
            "selector": "0x02befd24",
            "calldata_variants": [
                "0x02befd24",
                "0x02befd240000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x030d624a",
            "selector": "0x030d624a",
            "calldata_variants": [
                "0x030d624a",
                "0x030d624a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x079c3b88",
            "selector": "0x079c3b88",
            "calldata_variants": [
                "0x079c3b88",
                "0x079c3b880000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x07a2d13a",
            "selector": "0x07a2d13a",
            "calldata_variants": [
                "0x07a2d13a",
                "0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x09299dfb",
            "selector": "0x09299dfb",
            "calldata_variants": [
                "0x09299dfb",
                "0x09299dfb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 3,
    "create2_count": 2
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x926447688ef637931f09051b51b8317d990c49788177b3665989f08fb617d17b
call_targets: 0x71ea0eb2605bd63fe69012a60c75bdbd22e8b3d3
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x926447688ef637931f09051b51b8317d990c49788177b3665989f08fb617d17b",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x71ea0eb2605bd63fe69012a60c75bdbd22e8b3d3"
    ],
    "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": "0x01e1d114",
            "selector": "0x01e1d114",
            "calldata_variants": [
                "0x01e1d114",
                "0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x02befd24",
            "selector": "0x02befd24",
            "calldata_variants": [
                "0x02befd24",
                "0x02befd240000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x030d624a",
            "selector": "0x030d624a",
            "calldata_variants": [
                "0x030d624a",
                "0x030d624a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x079c3b88",
            "selector": "0x079c3b88",
            "calldata_variants": [
                "0x079c3b88",
                "0x079c3b880000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x07a2d13a",
            "selector": "0x07a2d13a",
            "calldata_variants": [
                "0x07a2d13a",
                "0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x09299dfb",
            "selector": "0x09299dfb",
            "calldata_variants": [
                "0x09299dfb",
                "0x09299dfb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2390,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2668,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2737,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 14,
    "guards_detected": [
        {
            "pc": 21774,
            "type": "tx_origin_used"
        },
        {
            "pc": 21788,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 14
}
low other codex Rapid withdrawal refunds do not restore instant redeem limits 65 no
view
evidence_json
{
    "evidence": "`_withdrawalRequestInstant` is deleted before calling `refundInstantLimit`, so the refund amount is always zero.",
    "locations": [
        "contracts/main/RedeemOperator.sol:300"
    ],
    "recommendation": "Cache the withdrawal amount before deletion and call `refundInstantLimit` with that value, or reorder the operations to refund the limit first.",
    "exploit_scenario": "When a rapid withdrawal is refunded, the vault\u2019s instant redeem limit for the user is not restored because the amount is deleted before being passed to `refundInstantLimit`. This can permanently reduce a user\u2019s rapid redeem allowance within the epoch and be used by the operator to grief users."
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 3,
    "create2_count": 2
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 23
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 14
}