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

Analysis Run

ba6b42f8-a49d-4b6c-847d-144076fc5c13

complete
Chain ID
1
Address
Block Number
Created
Mon, Dec 29, 2025 2:40 PM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30507 report.consolidate complete 1 / 1 3 months ago
103901 artifact.fetch complete 1 / 3 1 week ago
103902 tool.cast_disasm complete 1 / 3 1 week ago
103903 analysis.bundle complete 1 / 3 1 week ago
103904 capability.graph complete 1 / 3 1 week ago
103905 detector.run complete 1 / 3 1 week ago
103906 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
2
No findings?
no
Summary
Found 1 medium and 1 low issue, both in StableWrapper’s accounting flow around vault withdrawals and deposit assumptions.
View stderr
[codex:1265435] OpenAI Codex v0.77.0 (research preview)
[codex:1265435] --------
[codex:1265435] workdir: /tmp/codex-multi-9dyvz0c7
[codex:1265435] model: gpt-5.2-codex
[codex:1265435] provider: openai
[codex:1265435] approval: never
[codex:1265435] sandbox: read-only
[codex:1265435] reasoning effort: xhigh
[codex:1265435] reasoning summaries: auto
[codex:1265435] session id: 019b6a87-1c8e-7f00-b49f-0cfef802b996
[codex:1265435] --------
[codex:1265435] user
[codex:1265435] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1265435] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1265435] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1265435] 
[codex:1265435] Scope rules:
[codex:1265435] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1265435] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1265435] 
[codex:1265435] Output MUST be valid JSON matching the provided schema.
[codex:1265435] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1265435] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1265435] 
[codex:1265435] Output constraints (IMPORTANT):
[codex:1265435] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1265435] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1265435] mcp startup: no servers
[codex:1265435] 
[codex:1265435] thinking
[codex:1265435] **Reading AUDIT_BUNDLE file**
[codex:1265435] exec
[codex:1265435] /bin/bash -lc ls in /tmp/codex-multi-9dyvz0c7 succeeded in 5ms:
[codex:1265435] AUDIT_BUNDLE.txt
[codex:1265435] codex-output-schema.json
[codex:1265435] contracts
[codex:1265435] exec
[codex:1265435] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-9dyvz0c7 succeeded in 7ms:
[codex:1265435] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1265435] 
[codex:1265435] ================================================================================
[codex:1265435] FILE: contracts/node_modules/@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/ILayerZeroEndpointV2.sol
[codex:1265435] ================================================================================
[codex:1265435] // SPDX-License-Identifier: MIT
[codex:1265435] 
[codex:1265435] pragma solidity >=0.8.0;
[codex:1265435] 
[codex:1265435] import { IMessageLibManager } from "./IMessageLibManager.sol";
[codex:1265435] import { IMessagingComposer } from "./IMessagingComposer.sol";
[codex:1265435] import { IMessagingChannel } from "./IMessagingChannel.sol";
[codex:1265435] import { IMessagingContext } from "./IMessagingContext.sol";
[codex:1265435] 
[codex:1265435] struct MessagingParams {
[codex:1265435]     uint32 dstEid;
[codex:1265435]     bytes32 receiver;
[codex:1265435]     bytes message;
[codex:1265435]     bytes options;
[codex:1265435]     bool payInLzToken;
[codex:1265435] 
[codex:1265435] thinking
[codex:1265435] **Searching first-party contracts for vulnerabilities**
[codex:1265435] exec
[codex:1265435] /bin/bash -lc 'rg -n "contract StableWrapper|StableWrapper" AUDIT_BUNDLE.txt' in /tmp/codex-multi-9dyvz0c7 succeeded in 7ms:
[codex:1265435] 3381:FILE: contracts/src/StableWrapper.sol
[codex:1265435] 3391:import {IStableWrapper} from "./interfaces/IStableWrapper.sol";
[codex:1265435] 3396: * @title StableWrapper
[codex:1265435] 3401:contract StableWrapper is OFT, ReentrancyGuard {
[codex:1265435] 3874:FILE: contracts/src/interfaces/IStableWrapper.sol
[codex:1265435] 3880: * @title IStableWrapper
[codex:1265435] 3881: * @notice Interface for the StableWrapper contract
[codex:1265435] 3883:interface IStableWrapper {
[codex:1265435] 3923:    // ERC20 Interface Functions (since StableWrapper is also an ERC20)
[codex:1265435] exec
[codex:1265435] /bin/bash -lc "sed -n '3381,3875p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-9dyvz0c7 succeeded in 6ms:
[codex:1265435] FILE: contracts/src/StableWrapper.sol
[codex:1265435] ================================================================================
[codex:1265435] // SPDX-License-Identifier: MIT
[codex:1265435] pragma solidity ^0.8.20;
[codex:1265435] 
[codex:1265435] import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
[codex:1265435] import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1265435] import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1265435] import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
[codex:1265435] import {ReentrancyGuard} from "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
[codex:1265435] import {IStableWrapper} from "./interfaces/IStableWrapper.sol";
[codex:1265435] import {OFT} from "./layerzero/OFT.sol";
[codex:1265435] import {IWETH} from "./interfaces/IWETH.sol";
[codex:1265435] 
[codex:1265435] /**
[codex:1265435]  * @title StableWrapper
[codex:1265435]  * @notice A token wrapper that allows users to obtain tokens needed to deposit into a StreamVault.
[codex:1265435]  * @notice Users receive a Stream token that maps 1:1 to the asset deposited.
[codex:1265435]  * @notice Initiated withdrawals can be completed after the epoch has passed.
[codex:1265435]  */
[codex:1265435] 
[codex:1265435] thinking
[codex:1265435] **Searching contract source files**
[codex:1265435] exec
[codex:1265435] /bin/bash -lc 'rg -n "''^FILE: contracts/src" AUDIT_BUNDLE.txt' in /tmp/codex-multi-9dyvz0c7 succeeded in 7ms:
[codex:1265435] 3381:FILE: contracts/src/StableWrapper.sol
[codex:1265435] 3874:FILE: contracts/src/interfaces/IStableWrapper.sol
[codex:1265435] 3933:FILE: contracts/src/interfaces/IWETH.sol
[codex:1265435] 3957:FILE: contracts/src/layerzero/OFT.sol
[codex:1265435] 
[codex:1265435] 
[codex:1265435] 
[codex:1265435] 
[codex:1265435] thinking
[codex:1265435] **Reviewing StableWrapper contract for vulnerabilities**
[codex:1265435] thinking
[codex:1265435] **Identifying accounting and access control concerns**
[codex:1265435] 
[codex:1265435] I’m digging into mismatches where tokens are minted to the keeper but burned from the contract, leading to stuck withdrawals or unbacked claims. The privileged keeper role can mint tokens without backing assets and create withdrawals without proper token burns, which risks breaking balances and enabling asset loss or locked funds. Some owner functions pose centralization risks but rely on owner trust. These findings focus on accounting integrity and privileged access nuances.
[codex:1265435] thinking
[codex:1265435] **Highlighting access control and withdrawal logic nuances**
[codex:1265435] 
[codex:1265435] I’m weighing the keeper’s broad minting rights and the critical bug of burning tokens from the contract address instead of the keeper in withdrawal initiation. This creates a serious withdrawal blockage but isn’t directly exploitable. The keeper’s powerful role brings centralization risks, and some mismatches between code comments and actual access controls stand out. Overall, these issues center on privileged access and correct token accounting within vault operations.
[codex:1265435] thinking
[codex:1265435] **Analyzing token accounting and cross-contract implications**
[codex:1265435] 
[codex:1265435] There’s a concern that fee-on-transfer assets could cause under-collateralization since minted tokens don’t reflect actual received amounts, which might break accounting invariants. Also, changing decimals without syncing underlying values may cause cross-chain discrepancies. I’m considering how deposits, withdrawals, and token burning interplay, especially with vault and keeper roles, but nothing screams exploit yet—mostly complex design trade-offs and edge cases around permissions and token standards.
[codex:1265435] exec
[codex:1265435] /bin/bash -lc 'rg -n "contract OFTCore" AUDIT_BUNDLE.txt' in /tmp/codex-multi-9dyvz0c7 succeeded in 7ms:
[codex:1265435] 1477:abstract contract OFTCore is IOFT, OApp, OAppPreCrimeSimulator, OAppOptionsType3 {
[codex:1265435] exec
[codex:1265435] /bin/bash -lc "sed -n '1400,1700p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-9dyvz0c7 succeeded in 6ms:
[codex:1265435]  * @title InboundPacket
[codex:1265435]  * @dev Structure representing an inbound packet received by the contract.
[codex:1265435]  */
[codex:1265435] struct InboundPacket {
[codex:1265435]     Origin origin; // Origin information of the packet.
[codex:1265435]     uint32 dstEid; // Destination endpointId of the packet.
[codex:1265435]     address receiver; // Receiver address for the packet.
[codex:1265435]     bytes32 guid; // Unique identifier of the packet.
[codex:1265435]     uint256 value; // msg.value of the packet.
[codex:1265435]     address executor; // Executor address for the packet.
[codex:1265435]     bytes message; // Message payload of the packet.
[codex:1265435]     bytes extraData; // Additional arbitrary data for the packet.
[codex:1265435] }
[codex:1265435] 
[codex:1265435] /**
[codex:1265435]  * @title PacketDecoder
[codex:1265435]  * @dev Library for decoding LayerZero packets.
[codex:1265435]  */
[codex:1265435] library PacketDecoder {
[codex:1265435]     using PacketV1Codec for bytes;
[codex:1265435] 
[codex:1265435] thinking
[codex:1265435] **Investigating Ownable usage in OAppCore**
[codex:1265435] exec
[codex:1265435] /bin/bash -lc 'rg -n "contract OAppCore" AUDIT_BUNDLE.txt' in /tmp/codex-multi-9dyvz0c7 succeeded in 7ms:
[codex:1265435] 570:abstract contract OAppCore is IOAppCore, Ownable {
[codex:1265435] exec
[codex:1265435] /bin/bash -lc "sed -n '520,620p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-9dyvz0c7 succeeded in 6ms:
[codex:1265435] // @dev Import the 'MessagingFee' and 'MessagingReceipt' so it's exposed to OApp implementers
[codex:1265435] // solhint-disable-next-line no-unused-import
[codex:1265435] import { OAppSender, MessagingFee, MessagingReceipt } from "./OAppSender.sol";
[codex:1265435] // @dev Import the 'Origin' so it's exposed to OApp implementers
[codex:1265435] // solhint-disable-next-line no-unused-import
[codex:1265435] import { OAppReceiver, Origin } from "./OAppReceiver.sol";
[codex:1265435] import { OAppCore } from "./OAppCore.sol";
[codex:1265435] 
[codex:1265435] /**
[codex:1265435]  * @title OApp
[codex:1265435]  * @dev Abstract contract serving as the base for OApp implementation, combining OAppSender and OAppReceiver functionality.
[codex:1265435]  */
[codex:1265435] abstract contract OApp is OAppSender, OAppReceiver {
[codex:1265435]     /**
[codex:1265435]      * @dev Constructor to initialize the OApp with the provided endpoint and owner.
[codex:1265435]      * @param _endpoint The address of the LOCAL LayerZero endpoint.
[codex:1265435]      * @param _delegate The delegate capable of making OApp configurations inside of the endpoint.
[codex:1265435]      */
[codex:1265435]     constructor(address _endpoint, address _delegate) OAppCore(_endpoint, _delegate) {}
[codex:1265435] 
[codex:1265435] 
[codex:1265435] thinking
[codex:1265435] **Analyzing Ownable inheritance and constructor calls**
[codex:1265435] exec
[codex:1265435] /bin/bash -lc 'rg -n "contract Ownable" AUDIT_BUNDLE.txt | head -n 5' in /tmp/codex-multi-9dyvz0c7 succeeded in 6ms:
[codex:1265435] 2240:abstract contract Ownable is Context {
[codex:1265435] exec
[codex:1265435] /bin/bash -lc "sed -n '2240,2290p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-9dyvz0c7 succeeded in 5ms:
[codex:1265435] abstract contract Ownable is Context {
[codex:1265435]     address private _owner;
[codex:1265435] 
[codex:1265435]     /**
[codex:1265435]      * @dev The caller account is not authorized to perform an operation.
[codex:1265435]      */
[codex:1265435]     error OwnableUnauthorizedAccount(address account);
[codex:1265435] 
[codex:1265435]     /**
[codex:1265435]      * @dev The owner is not a valid owner account. (eg. `address(0)`)
[codex:1265435]      */
[codex:1265435]     error OwnableInvalidOwner(address owner);
[codex:1265435] 
[codex:1265435]     event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
[codex:1265435] 
[codex:1265435]     /**
[codex:1265435]      * @dev Initializes the contract setting the address provided by the deployer as the initial owner.
[codex:1265435]      */
[codex:1265435]     constructor(address initialOwner) {
[codex:1265435]         if (initialOwner == address(0)) {
[codex:1265435] 
[codex:1265435] thinking
[codex:1265435] **Analyzing constructor inheritance and accounting risks**
[codex:1265435] 
[codex:1265435] I’m sorting out why OAppCore doesn’t call Ownable’s constructor with an address while Ownable requires it; turns out StableWrapper calls Ownable’s constructor to handle that. I’m also spotting possible accounting mismatches in deposit and withdrawal functions, especially around token minting and burning between the keeper and wrapper balances, plus noting some access control nuances with mint/burn permissions. To confirm this, I plan to verify line numbers in StableWrapper.sol to provide precise references.
[codex:1265435] exec
[codex:1265435] /bin/bash -lc 'nl -ba contracts/src/StableWrapper.sol' in /tmp/codex-multi-9dyvz0c7 succeeded in 6ms:
[codex:1265435]      1	// SPDX-License-Identifier: MIT
[codex:1265435]      2	pragma solidity ^0.8.20;
[codex:1265435]      3	
[codex:1265435]      4	import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
[codex:1265435]      5	import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1265435]      6	import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1265435]      7	import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
[codex:1265435]      8	import {ReentrancyGuard} from "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
[codex:1265435]      9	import {IStableWrapper} from "./interfaces/IStableWrapper.sol";
[codex:1265435]     10	import {OFT} from "./layerzero/OFT.sol";
[codex:1265435]     11	import {IWETH} from "./interfaces/IWETH.sol";
[codex:1265435]     12	
[codex:1265435]     13	/**
[codex:1265435]     14	 * @title StableWrapper
[codex:1265435]     15	 * @notice A token wrapper that allows users to obtain tokens needed to deposit into a StreamVault.
[codex:1265435]     16	 * @notice Users receive a Stream token that maps 1:1 to the asset deposited.
[codex:1265435]     17	 * @notice Initiated withdrawals can be completed after the epoch has passed.
[codex:1265435]     18	 */
[codex:1265435]     19	contract StableWrapper is OFT, ReentrancyGuard {
[codex:1265435]     20	    using SafeERC20 for IERC20;
[codex:1265435] 
[codex:1265435] thinking
[codex:1265435] **Analyzing Vault Token Burn and Fee-On-Transfer Issues**
[codex:1265435] 
[codex:1265435] I’m looking closely at the mismatch between the comment and access control on permissioned minting/burning and spotting a medium-severity bug where withdrawals burn tokens from the contract’s own balance instead of the keeper’s, which could lock withdrawals or cause accounting errors. I’ll also highlight a low-severity issue where deposits assume full token transfer amounts, risking undercollateralization with fee-on-transfer tokens. These findings should give meaningful, actionable concerns for the audit.
[codex:1265435] codex
[codex:1265435] {"no_findings":false,"summary":"Found 1 medium and 1 low issue, both in StableWrapper’s accounting flow around vault withdrawals and deposit assumptions.","findings":[{"severity":"medium","category":"other","title":"Vault withdrawals burn the wrapper’s own balance instead of the keeper/vault balance","exploit_scenario":"In the vault flow, deposits mint wrapper tokens to `keeper`, but `initiateWithdrawalFromVault` burns from `address(this)`. If the wrapper has zero token balance (typical), the call reverts and vault withdrawals cannot be initiated, effectively locking users. If the wrapper does hold tokens (e.g., someone transfers wrapper tokens to the contract), a malicious keeper can burn those unrelated tokens to create withdrawal receipts without reducing the keeper’s balance, breaking accounting and enabling withdrawals funded by other holders’ tokens.","recommendation":"Burn from the keeper/vault balance (`_burn(keeper, amount)` or `_burn(from, amount)` with appropriate checks), or explicitly transfer tokens from the keeper into the wrapper before burning and enforce that in code. Align the mint/burn flow with the intended vault lifecycle.","evidence":"`depositToVault` mints to the keeper, but `initiateWithdrawalFromVault` burns from `address(this)` instead of the keeper/vault balance.","locations":["contracts/src/StableWrapper.sol:208","contracts/src/StableWrapper.sol:214","contracts/src/StableWrapper.sol:275","contracts/src/StableWrapper.sol:281"]},{"severity":"low","category":"other","title":"Deposits mint based on the requested amount, not actual assets received","exploit_scenario":"If `asset` is fee-on-transfer or deflationary, the wrapper mints `amount` tokens but receives fewer underlying assets. This under-collateralizes the wrapper, allowing depositors to withdraw more than the contract holds, forcing owner top-ups or locking withdrawals.","recommendation":"Measure the actual received amount via balance delta and mint based on that value, or restrict `asset` to non-fee tokens and document the assumption clearly.","evidence":"Both `deposit` and `depositToVault` mint `amount` before calling `safeTransferFrom` and never reconcile with actual tokens received.","locations":["contracts/src/StableWrapper.sol:177","contracts/src/StableWrapper.sol:181","contracts/src/StableWrapper.sol:208","contracts/src/StableWrapper.sol:214","contracts/src/StableWrapper.sol:220"]}]}
[codex:1265435] tokens used
[codex:1265435] 57,610
[codex:1265435] {"no_findings":false,"summary":"Found 1 medium and 1 low issue, both in StableWrapper’s accounting flow around vault withdrawals and deposit assumptions.","findings":[{"severity":"medium","category":"other","title":"Vault withdrawals burn the wrapper’s own balance instead of the keeper/vault balance","exploit_scenario":"In the vault flow, deposits mint wrapper tokens to `keeper`, but `initiateWithdrawalFromVault` burns from `address(this)`. If the wrapper has zero token balance (typical), the call reverts and vault withdrawals cannot be initiated, effectively locking users. If the wrapper does hold tokens (e.g., someone transfers wrapper tokens to the contract), a malicious keeper can burn those unrelated tokens to create withdrawal receipts without reducing the keeper’s balance, breaking accounting and enabling withdrawals funded by other holders’ tokens.","recommendation":"Burn from the keeper/vault balance (`_burn(keeper, amount)` or `_burn(from, amount)` with appropriate checks), or explicitly transfer tokens from the keeper into the wrapper before burning and enforce that in code. Align the mint/burn flow with the intended vault lifecycle.","evidence":"`depositToVault` mints to the keeper, but `initiateWithdrawalFromVault` burns from `address(this)` instead of the keeper/vault balance.","locations":["contracts/src/StableWrapper.sol:208","contracts/src/StableWrapper.sol:214","contracts/src/StableWrapper.sol:275","contracts/src/StableWrapper.sol:281"]},{"severity":"low","category":"other","title":"Deposits mint based on the requested amount, not actual assets received","exploit_scenario":"If `asset` is fee-on-transfer or deflationary, the wrapper mints `amount` tokens but receives fewer underlying assets. This under-collateralizes the wrapper, allowing depositors to withdraw more than the contract holds, forcing owner top-ups or locking withdrawals.","recommendation":"Measure the actual received amount via balance delta and mint based on that value, or restrict `asset` to non-fee tokens and document the assumption clearly.","evidence":"Both `deposit` and `depositToVault` mint `amount` before calling `safeTransferFrom` and never reconcile with actual tokens received.","locations":["contracts/src/StableWrapper.sol:177","contracts/src/StableWrapper.sol:181","contracts/src/StableWrapper.sol:208","contracts/src/StableWrapper.sol:214","contracts/src/StableWrapper.sol:220"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-29T14:40:49.104594+00:00",
        "returncode": 0
    },
    "summary": "Found 1 medium and 1 low issue, both in StableWrapper\u2019s accounting flow around vault withdrawals and deposit assumptions.",
    "raw_final": {
        "summary": "Found 1 medium and 1 low issue, both in StableWrapper\u2019s accounting flow around vault withdrawals and deposit assumptions.",
        "findings": [
            {
                "title": "Vault withdrawals burn the wrapper\u2019s own balance instead of the keeper/vault balance",
                "category": "other",
                "evidence": "`depositToVault` mints to the keeper, but `initiateWithdrawalFromVault` burns from `address(this)` instead of the keeper/vault balance.",
                "severity": "medium",
                "locations": [
                    "contracts/src/StableWrapper.sol:208",
                    "contracts/src/StableWrapper.sol:214",
                    "contracts/src/StableWrapper.sol:275",
                    "contracts/src/StableWrapper.sol:281"
                ],
                "recommendation": "Burn from the keeper/vault balance (`_burn(keeper, amount)` or `_burn(from, amount)` with appropriate checks), or explicitly transfer tokens from the keeper into the wrapper before burning and enforce that in code. Align the mint/burn flow with the intended vault lifecycle.",
                "exploit_scenario": "In the vault flow, deposits mint wrapper tokens to `keeper`, but `initiateWithdrawalFromVault` burns from `address(this)`. If the wrapper has zero token balance (typical), the call reverts and vault withdrawals cannot be initiated, effectively locking users. If the wrapper does hold tokens (e.g., someone transfers wrapper tokens to the contract), a malicious keeper can burn those unrelated tokens to create withdrawal receipts without reducing the keeper\u2019s balance, breaking accounting and enabling withdrawals funded by other holders\u2019 tokens."
            },
            {
                "title": "Deposits mint based on the requested amount, not actual assets received",
                "category": "other",
                "evidence": "Both `deposit` and `depositToVault` mint `amount` before calling `safeTransferFrom` and never reconcile with actual tokens received.",
                "severity": "low",
                "locations": [
                    "contracts/src/StableWrapper.sol:177",
                    "contracts/src/StableWrapper.sol:181",
                    "contracts/src/StableWrapper.sol:208",
                    "contracts/src/StableWrapper.sol:214",
                    "contracts/src/StableWrapper.sol:220"
                ],
                "recommendation": "Measure the actual received amount via balance delta and mint based on that value, or restrict `asset` to non-fee tokens and document the assumption clearly.",
                "exploit_scenario": "If `asset` is fee-on-transfer or deflationary, the wrapper mints `amount` tokens but receives fewer underlying assets. This under-collateralizes the wrapper, allowing depositors to withdraw more than the contract holds, forcing owner top-ups or locking withdrawals."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
1
CREATE2
0
CALL-family (heavy)
18
EXT*/BALANCE
9
Total opcodes
9964
Flags
selfdestruct_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: CALLDATALOAD
0000001d: PUSH1 0xe0
0000001f: SHR
00000020: DUP1
00000021: PUSH4 0x06fdde03
00000026: EQ
00000027: PUSH2 0x044f
0000002a: JUMPI
0000002b: DUP1
0000002c: PUSH4 0x095ea7b3
00000031: EQ
00000032: PUSH2 0x044a
00000035: JUMPI
00000036: DUP1
00000037: PUSH4 0x0d35b415
0000003c: EQ
0000003d: PUSH2 0x0445
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0x0f604a93
00000047: EQ
00000048: PUSH2 0x0440
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0x111ecdad
00000052: EQ
00000053: PUSH2 0x043b
00000056: JUMPI
00000057: DUP1
00000058: PUSH4 0x13137d65
0000005d: EQ
0000005e: PUSH2 0x0436
00000061: JUMPI
00000062: DUP1
00000063: PUSH4 0x134d4f25
00000068: EQ
00000069: PUSH2 0x0431
0000006c: JUMPI
0000006d: DUP1
0000006e: PUSH4 0x156a0d0f
00000073: EQ
00000074: PUSH2 0x042c
00000077: JUMPI
00000078: DUP1
00000079: PUSH4 0x17442b70
0000007e: EQ
0000007f: PUSH2 0x0427
00000082: JUMPI
00000083: DUP1
00000084: PUSH4 0x18160ddd
00000089: EQ
0000008a: PUSH2 0x0422
0000008d: JUMPI
0000008e: DUP1
0000008f: PUSH4 0x1f5e1334
00000094: EQ
00000095: PUSH2 0x041d
00000098: JUMPI
00000099: DUP1
0000009a: PUSH4 0x23b872dd
0000009f: EQ
000000a0: PUSH2 0x0418
000000a3: JUMPI
000000a4: DUP1
000000a5: PUSH4 0x25a760c2
000000aa: EQ
000000ab: PUSH2 0x03ff
000000ae: JUMPI
000000af: DUP1
000000b0: PUSH4 0x2a228fc2
000000b5: EQ
000000b6: PUSH2 0x0413
000000b9: JUMPI
000000ba: DUP1
000000bb: PUSH4 0x2b032f3e
000000c0: EQ
000000c1: PUSH2 0x040e
000000c4: JUMPI
000000c5: DUP1
000000c6: PUSH4 0x2cef206d
000000cb: EQ
000000cc: PUSH2 0x0409
000000cf: JUMPI
000000d0: DUP1
000000d1: PUSH4 0x2d2da806
000000d6: EQ
000000d7: PUSH2 0x0404
000000da: JUMPI
000000db: DUP1
000000dc: PUSH4 0x313ce567
000000e1: EQ
000000e2: PUSH2 0x03ff
000000e5: JUMPI
000000e6: DUP1
000000e7: PUSH4 0x3400288b
000000ec: EQ
000000ed: PUSH2 0x03fa
000000f0: JUMPI
000000f1: DUP1
000000f2: PUSH4 0x38d52e0f
000000f7: EQ
000000f8: PUSH2 0x03f5
000000fb: JUMPI
000000fc: DUP1
000000fd: PUSH4 0x3b6f743b
00000102: EQ
00000103: PUSH2 0x03f0
00000106: JUMPI
00000107: DUP1
00000108: PUSH4 0x47e7ef24
0000010d: EQ
0000010e: PUSH2 0x03eb
00000111: JUMPI
00000112: DUP1
00000113: PUSH4 0x52ae2879
00000118: EQ
00000119: PUSH2 0x0314
0000011c: JUMPI
0000011d: DUP1
0000011e: PUSH4 0x5535d461
00000123: EQ
00000124: PUSH2 0x03e6
00000127: JUMPI
00000128: DUP1
00000129: PUSH4 0x5a0dfe4d
0000012e: EQ
0000012f: PUSH2 0x03e1
00000132: JUMPI
00000133: DUP1
00000134: PUSH4 0x5e280f11
00000139: EQ
0000013a: PUSH2 0x03dc
0000013d: JUMPI
0000013e: DUP1
0000013f: PUSH4 0x600f57ec
00000144: EQ
00000145: PUSH2 0x03d7
00000148: JUMPI
00000149: DUP1
0000014a: PUSH4 0x6dbaf9ee
0000014f: EQ
00000150: PUSH2 0x03d2
00000153: JUMPI
00000154: DUP1
00000155: PUSH4 0x6ded6fbe
0000015a: EQ
0000015b: PUSH2 0x03cd
0000015e: JUMPI
0000015f: DUP1
00000160: PUSH4 0x6fc1b31e
00000165: EQ
00000166: PUSH2 0x03c8
00000169: JUMPI
0000016a: DUP1
0000016b: PUSH4 0x70a08231
00000170: EQ
00000171: PUSH2 0x03c3
00000174: JUMPI
00000175: DUP1
00000176: PUSH4 0x715018a6
0000017b: EQ
0000017c: PUSH2 0x03be
0000017f: JUMPI
00000180: DUP1
00000181: PUSH4 0x748747e6
00000186: EQ
00000187: PUSH2 0x03b9
0000018a: JUMPI
0000018b: DUP1
0000018c: PUSH4 0x76671808
00000191: EQ
00000192: PUSH2 0x03b4
00000195: JUMPI
00000196: DUP1
00000197: PUSH4 0x798002f0
0000019c: EQ
0000019d: PUSH2 0x03af
000001a0: JUMPI
000001a1: DUP1
000001a2: PUSH4 0x7a1395aa
000001a7: EQ
000001a8: PUSH2 0x03aa
000001ab: JUMPI
000001ac: DUP1
000001ad: PUSH4 0x7d25a05e
000001b2: EQ
000001b3: PUSH2 0x03a5
000001b6: JUMPI
000001b7: DUP1
000001b8: PUSH4 0x82413eac
000001bd: EQ
000001be: PUSH2 0x03a0
000001c1: JUMPI
000001c2: DUP1
000001c3: PUSH4 0x82dea074
000001c8: EQ
000001c9: PUSH2 0x039b
000001cc: JUMPI
000001cd: DUP1
000001ce: PUSH4 0x857749b0
000001d3: EQ
000001d4: PUSH2 0x0396
000001d7: JUMPI
000001d8: DUP1
000001d9: PUSH4 0x8da5cb5b
000001de: EQ
000001df: PUSH2 0x0391
000001e2: JUMPI
000001e3: DUP1
000001e4: PUSH4 0x95d89b41
000001e9: EQ
000001ea: PUSH2 0x038c
000001ed: JUMPI
000001ee: DUP1
000001ef: PUSH4 0x963efcaa
000001f4: EQ
000001f5: PUSH2 0x0387
000001f8: JUMPI
000001f9: DUP1
000001fa: PUSH4 0x9649b0a2
000001ff: EQ
00000200: PUSH2 0x0382
00000203: JUMPI
00000204: DUP1
00000205: PUSH4 0x9f68b964
0000020a: EQ
0000020b: PUSH2 0x037d
0000020e: JUMPI
0000020f: DUP1
00000210: PUSH4 0xa3d11158
00000215: EQ
00000216: PUSH2 0x0378
00000219: JUMPI
0000021a: DUP1
0000021b: PUSH4 0xa8b90bc7
00000220: EQ
00000221: PUSH2 0x0373
00000224: JUMPI
00000225: DUP1
00000226: PUSH4 0xa9059cbb
0000022b: EQ
0000022c: PUSH2 0x036e
0000022f: JUMPI
00000230: DUP1
00000231: PUSH4 0xaced1661
00000236: EQ
00000237: PUSH2 0x0369
0000023a: JUMPI
0000023b: DUP1
0000023c: PUSH4 0xad5c4648
00000241: EQ
00000242: PUSH2 0x0364
00000245: JUMPI
00000246: DUP1
00000247: PUSH4 0xb731ea0a
0000024c: EQ
0000024d: PUSH2 0x035f
00000250: JUMPI
00000251: DUP1
00000252: PUSH4 0xb98bd070
00000257: EQ
00000258: PUSH2 0x035a
0000025b: JUMPI
0000025c: DUP1
0000025d: PUSH4 0xba71619f
00000262: EQ
00000263: PUSH2 0x0355
00000266: JUMPI
00000267: DUP1
00000268: PUSH4 0xbb0b6a53
0000026d: EQ
0000026e: PUSH2 0x0350
00000271: JUMPI
00000272: DUP1
00000273: PUSH4 0xbc70b354
00000278: EQ
00000279: PUSH2 0x034b
0000027c: JUMPI
0000027d: DUP1
0000027e: PUSH4 0xbd815db0
00000283: EQ
00000284: PUSH2 0x0346
00000287: JUMPI
00000288: DUP1
00000289: PUSH4 0xbe435c8c
0000028e: EQ
0000028f: PUSH2 0x0341
00000292: JUMPI
00000293: DUP1
00000294: PUSH4 0xc761ac8a
00000299: EQ
0000029a: PUSH2 0x033c
0000029d: JUMPI
0000029e: DUP1
0000029f: PUSH4 0xc7c7f5b3
000002a4: EQ
000002a5: PUSH2 0x0337
000002a8: JUMPI
000002a9: DUP1
000002aa: PUSH4 0xca5eb5e1
000002af: EQ
000002b0: PUSH2 0x0332
000002b3: JUMPI
000002b4: DUP1
000002b5: PUSH4 0xd045a0dc
000002ba: EQ
000002bb: PUSH2 0x032d
000002be: JUMPI
000002bf: DUP1
000002c0: PUSH4 0xd0d552dd
000002c5: EQ
000002c6: PUSH2 0x0328
000002c9: JUMPI
000002ca: DUP1
000002cb: PUSH4 0xd4243885
000002d0: EQ
000002d1: PUSH2 0x0323
000002d4: JUMPI
000002d5: DUP1
000002d6: PUSH4 0xdd62ed3e
000002db: EQ
000002dc: PUSH2 0x031e
000002df: JUMPI
000002e0: DUP1
000002e1: PUSH4 0xf2fde38b
000002e6: EQ
000002e7: PUSH2 0x0319
000002ea: JUMPI
000002eb: DUP1
000002ec: PUSH4 0xfc0c546a
000002f1: EQ
000002f2: PUSH2 0x0314
000002f5: JUMPI
000002f6: DUP1
000002f7: PUSH4 0xfee047af
000002fc: EQ
000002fd: PUSH2 0x030f
00000300: JUMPI
00000301: PUSH4 0xff7bd03d
00000306: SUB
00000307: PUSH2 0x000e
0000030a: JUMPI
0000030b: PUSH2 0x2cac
0000030e: JUMP
0000030f: JUMPDEST
00000310: PUSH2 0x2c87
00000313: JUMP
00000314: JUMPDEST
00000315: PUSH2 0x138d
00000318: JUMP
00000319: JUMPDEST
0000031a: PUSH2 0x2bfe
0000031d: JUMP
0000031e: JUMPDEST
0000031f: PUSH2 0x2b9f
00000322: JUMP
00000323: JUMPDEST
00000324: PUSH2 0x2b2f
00000327: JUMP
00000328: JUMPDEST
00000329: PUSH2 0x2ae4
0000032c: JUMP
0000032d: JUMPDEST
0000032e: PUSH2 0x298b
00000331: JUMP
00000332: JUMPDEST
00000333: PUSH2 0x28fa
00000336: JUMP
00000337: JUMPDEST
00000338: PUSH2 0x277e
0000033b: JUMP
0000033c: JUMPDEST
0000033d: PUSH2 0x26c9
00000340: JUMP
00000341: JUMPDEST
00000342: PUSH2 0x25bc
00000345: JUMP
00000346: JUMPDEST
00000347: PUSH2 0x2474
0000034a: JUMP
0000034b: JUMPDEST
0000034c: PUSH2 0x2420
0000034f: JUMP
00000350: JUMPDEST
00000351: PUSH2 0x23e7
00000354: JUMP
00000355: JUMPDEST
00000356: PUSH2 0x22e9
00000359: JUMP
0000035a: JUMPDEST
0000035b: PUSH2 0x220e
0000035e: JUMP
0000035f: JUMPDEST
00000360: PUSH2 0x219a
00000363: JUMP
00000364: JUMPDEST
00000365: PUSH2 0x2156
00000368: JUMP
00000369: JUMPDEST
0000036a: PUSH2 0x212e
0000036d: JUMP
0000036e: JUMPDEST
0000036f: PUSH2 0x20f9
00000372: JUMP
00000373: JUMPDEST
00000374: PUSH2 0x208d
00000377: JUMP
00000378: JUMPDEST
00000379: PUSH2 0x1fd9
0000037c: JUMP
0000037d: JUMPDEST
0000037e: PUSH2 0x1fbf
00000381: JUMP
00000382: JUMPDEST
00000383: PUSH2 0x1f6a
00000386: JUMP
00000387: JUMPDEST
00000388: PUSH2 0x1f30
0000038b: JUMP
0000038c: JUMPDEST
0000038d: PUSH2 0x1e8b
00000390: JUMP
00000391: JUMPDEST
00000392: PUSH2 0x1e64
00000395: JUMP
00000396: JUMPDEST
00000397: PUSH2 0x1e49
0000039a: JUMP
0000039b: JUMPDEST
0000039c: PUSH2 0x1c9f
0000039f: JUMP
000003a0: JUMPDEST
000003a1: PUSH2 0x1c41
000003a4: JUMP
000003a5: JUMPDEST
000003a6: PUSH2 0x1c1b
000003a9: JUMP
000003aa: JUMPDEST
000003ab: PUSH2 0x1bd6
000003ae: JUMP
000003af: JUMPDEST
000003b0: PUSH2 0x1a3f
000003b3: JUMP
000003b4: JUMPDEST
000003b5: PUSH2 0x19ed
000003b8: JUMP
000003b9: JUMPDEST
000003ba: PUSH2 0x1966
000003bd: JUMP
000003be: JUMPDEST
000003bf: PUSH2 0x190f
000003c2: JUMP
000003c3: JUMPDEST
000003c4: PUSH2 0x18d4
000003c7: JUMP
000003c8: JUMPDEST
000003c9: PUSH2 0x1864
000003cc: JUMP
000003cd: JUMPDEST
000003ce: PUSH2 0x1771
000003d1: JUMP
000003d2: JUMPDEST
000003d3: PUSH2 0x1650
000003d6: JUMP
000003d7: JUMPDEST
000003d8: PUSH2 0x1633
000003db: JUMP
000003dc: JUMPDEST
000003dd: PUSH2 0x15ef
000003e0: JUMP
000003e1: JUMPDEST
000003e2: PUSH2 0x15a9
000003e5: JUMP
000003e6: JUMPDEST
000003e7: PUSH2 0x152e
000003ea: JUMP
000003eb: JUMPDEST
000003ec: PUSH2 0x12d0
000003ef: JUMP
000003f0: JUMPDEST
000003f1: PUSH2 0x1118
000003f4: JUMP
000003f5: JUMPDEST
000003f6: PUSH2 0x10e6
000003f9: JUMP
000003fa: JUMPDEST
000003fb: PUSH2 0x1061
000003fe: JUMP
000003ff: JUMPDEST
00000400: PUSH2 0x0c9b
00000403: JUMP
00000404: JUMPDEST
00000405: PUSH2 0x0f2e
00000408: JUMP
00000409: JUMPDEST
0000040a: PUSH2 0x0e9e
0000040d: JUMP
0000040e: JUMPDEST
0000040f: PUSH2 0x0e1d
00000412: JUMP
00000413: JUMPDEST
00000414: PUSH2 0x0cbe
00000417: JUMP
00000418: JUMPDEST
00000419: PUSH2 0x0be8
0000041c: JUMP
0000041d: JUMPDEST
0000041e: PUSH2 0x0bcd
00000421: JUMP
00000422: JUMPDEST
00000423: PUSH2 0x0bb0
00000426: JUMP
00000427: JUMPDEST
00000428: PUSH2 0x0b8f
0000042b: JUMP
0000042c: JUMPDEST
0000042d: PUSH2 0x0b69
00000430: JUMP
00000431: JUMPDEST
00000432: PUSH2 0x0b4e
00000435: JUMP
00000436: JUMPDEST
00000437: PUSH2 0x096a
0000043a: JUMP
0000043b: JUMPDEST
0000043c: PUSH2 0x089e
0000043f: JUMP
00000440: JUMPDEST
00000441: PUSH2 0x0881
00000444: JUMP
00000445: JUMPDEST
00000446: PUSH2 0x072d
00000449: JUMP
0000044a: JUMPDEST
0000044b: PUSH2 0x05ad
0000044e: JUMP
0000044f: JUMPDEST
00000450: PUSH2 0x04bc
00000453: JUMP
00000454: JUMPDEST
00000455: PUSH0
00000456: SWAP2
00000457: SUB
00000458: SLT
00000459: PUSH2 0x045e
0000045c: JUMPI
0000045d: JUMP
0000045e: JUMPDEST
0000045f: PUSH0
00000460: DUP1
00000461: REVERT
00000462: JUMPDEST
00000463: PUSH0
00000464: JUMPDEST
00000465: DUP4
00000466: DUP2
00000467: LT
00000468: PUSH2 0x0473
0000046b: JUMPI
0000046c: POP
0000046d: POP
0000046e: PUSH0
0000046f: SWAP2
00000470: ADD
00000471: MSTORE
00000472: JUMP
00000473: JUMPDEST
00000474: DUP2
00000475: DUP2
00000476: ADD
00000477: MLOAD
00000478: DUP4
00000479: DUP3
0000047a: ADD
0000047b: MSTORE
0000047c: PUSH1 0x20
0000047e: ADD
0000047f: PUSH2 0x0464
00000482: JUMP
00000483: JUMPDEST
00000484: SWAP1
00000485: PUSH1 0x20
00000487: SWAP2
00000488: PUSH2 0x049c
0000048b: DUP2
0000048c: MLOAD
0000048d: DUP1
0000048e: SWAP3
0000048f: DUP2
00000490: DUP6
00000491: MSTORE
00000492: DUP6
00000493: DUP1
00000494: DUP7
00000495: ADD
00000496: SWAP2
00000497: ADD
00000498: PUSH2 0x0462
0000049b: JUMP
0000049c: JUMPDEST
0000049d: PUSH1 0x1f
0000049f: ADD
000004a0: PUSH1 0x1f
000004a2: NOT
000004a3: AND
000004a4: ADD
000004a5: ADD
000004a6: SWAP1
000004a7: JUMP
000004a8: JUMPDEST
000004a9: SWAP1
000004aa: PUSH1 0x20
000004ac: PUSH2 0x04b9
000004af: SWAP3
000004b0: DUP2
000004b1: DUP2
000004b2: MSTORE
000004b3: ADD
000004b4: SWAP1
000004b5: PUSH2 0x0483
000004b8: JUMP
000004b9: JUMPDEST
000004ba: SWAP1
000004bb: JUMP
000004bc: JUMPDEST
000004bd: CALLVALUE
000004be: PUSH2 0x045e
000004c1: JUMPI
000004c2: PUSH0
000004c3: CALLDATASIZE
000004c4: PUSH1 0x03
000004c6: NOT
000004c7: ADD
000004c8: SLT
000004c9: PUSH2 0x045e
000004cc: JUMPI
000004cd: PUSH1 0x40
000004cf: MLOAD
000004d0: PUSH0
000004d1: PUSH1 0x08
000004d3: SLOAD
000004d4: PUSH2 0x04dc
000004d7: DUP2
000004d8: PUSH2 0x13c7
000004db: JUMP
000004dc: JUMPDEST
000004dd: DUP1
000004de: DUP5
000004df: MSTORE
000004e0: SWAP1
000004e1: PUSH1 0x20
000004e3: SWAP1
000004e4: PUSH1 0x01
000004e6: SWAP1
000004e7: DUP2
000004e8: DUP2
000004e9: AND
000004ea: SWAP1
000004eb: DUP2
000004ec: ISZERO
000004ed: PUSH2 0x0572
000004f0: JUMPI
000004f1: POP
000004f2: PUSH1 0x01
000004f4: EQ
000004f5: PUSH2 0x0519
000004f8: JUMPI
000004f9: JUMPDEST
000004fa: PUSH2 0x0515
000004fd: DUP6
000004fe: PUSH2 0x0509
00000501: DUP2
00000502: DUP8
00000503: SUB
00000504: DUP3
00000505: PUSH2 0x150d
00000508: JUMP
00000509: JUMPDEST
0000050a: PUSH1 0x40
0000050c: MLOAD
0000050d: SWAP2
0000050e: DUP3
0000050f: SWAP2
00000510: DUP3
00000511: PUSH2 0x04a8
00000514: JUMP
00000515: JUMPDEST
00000516: SUB
00000517: SWAP1
00000518: RETURN
00000519: JUMPDEST
0000051a: PUSH1 0x08
0000051c: PUSH0
0000051d: SWAP1
0000051e: DUP2
0000051f: MSTORE
00000520: SWAP4
00000521: POP
00000522: PUSH32 0xf3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3
00000543: JUMPDEST
00000544: DUP4
00000545: DUP6
00000546: LT
00000547: PUSH2 0x055f
0000054a: JUMPI
0000054b: POP
0000054c: POP
0000054d: POP
0000054e: POP
0000054f: DUP2
00000550: ADD
00000551: PUSH1 0x20
00000553: ADD
00000554: PUSH2 0x0509
00000557: DUP3
00000558: PUSH2 0x0515
0000055b: PUSH2 0x04f9
0000055e: JUMP
0000055f: JUMPDEST
00000560: DUP1
00000561: SLOAD
00000562: DUP7
00000563: DUP7
00000564: ADD
00000565: DUP5
00000566: ADD
00000567: MSTORE
00000568: SWAP4
00000569: DUP3
0000056a: ADD
0000056b: SWAP4
0000056c: DUP2
0000056d: ADD
0000056e: PUSH2 0x0543
00000571: JUMP
00000572: JUMPDEST
00000573: DUP7
00000574: SWAP6
00000575: POP
00000576: PUSH2 0x0515
00000579: SWAP7
0000057a: SWAP4
0000057b: POP
0000057c: PUSH1 0x20
0000057e: SWAP3
0000057f: POP
00000580: PUSH2 0x0509
00000583: SWAP5
00000584: SWAP2
00000585: POP
00000586: PUSH1 0xff
00000588: NOT
00000589: AND
0000058a: DUP3
0000058b: DUP5
0000058c: ADD
0000058d: MSTORE
0000058e: ISZERO
0000058f: ISZERO
00000590: PUSH1 0x05
00000592: SHL
00000593: DUP3
00000594: ADD
00000595: ADD
00000596: SWAP3
00000597: SWAP4
00000598: PUSH2 0x04f9
0000059b: JUMP
0000059c: JUMPDEST
0000059d: PUSH1 0x01
0000059f: PUSH1 0x01
000005a1: PUSH1 0xa0
000005a3: SHL
000005a4: SUB
000005a5: DUP2
000005a6: AND
000005a7: SUB
000005a8: PUSH2 0x045e
000005ab: JUMPI
000005ac: JUMP
000005ad: JUMPDEST
000005ae: CALLVALUE
000005af: PUSH2 0x045e
000005b2: JUMPI
000005b3: PUSH1 0x40
000005b5: CALLDATASIZE
000005b6: PUSH1 0x03
000005b8: NOT
000005b9: ADD
000005ba: SLT
000005bb: PUSH2 0x045e
000005be: JUMPI
000005bf: PUSH1 0x04
000005c1: CALLDATALOAD
000005c2: PUSH2 0x05ca
000005c5: DUP2
000005c6: PUSH2 0x059c
000005c9: JUMP
000005ca: JUMPDEST
000005cb: PUSH1 0x24
000005cd: CALLDATALOAD
000005ce: CALLER
000005cf: ISZERO
000005d0: PUSH2 0x065e
000005d3: JUMPI
000005d4: PUSH1 0x01
000005d6: PUSH1 0x01
000005d8: PUSH1 0xa0
000005da: SHL
000005db: SUB
000005dc: DUP3
000005dd: AND
000005de: SWAP2
000005df: DUP3
000005e0: ISZERO
000005e1: PUSH2 0x0646
000005e4: JUMPI
000005e5: CALLER
000005e6: PUSH0
000005e7: SWAP1
000005e8: DUP2
000005e9: MSTORE
000005ea: PUSH1 0x06
000005ec: PUSH1 0x20
000005ee: MSTORE
000005ef: PUSH1 0x40
000005f1: SWAP1
000005f2: KECCAK256
000005f3: DUP3
000005f4: SWAP2
000005f5: PUSH2 0x060e
000005f8: SWAP2
000005f9: JUMPDEST
000005fa: SWAP1
000005fb: PUSH1 0x01
000005fd: DUP1
000005fe: PUSH1 0xa0
00000600: SHL
00000601: SUB
00000602: AND
00000603: PUSH0
00000604: MSTORE
00000605: PUSH1 0x20
00000607: MSTORE
00000608: PUSH1 0x40
0000060a: PUSH0
0000060b: KECCAK256
0000060c: SWAP1
0000060d: JUMP
0000060e: JUMPDEST
0000060f: SSTORE
00000610: PUSH1 0x40
00000612: MLOAD
00000613: SWAP1
00000614: DUP2
00000615: MSTORE
00000616: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
00000637: PUSH1 0x20
00000639: CALLER
0000063a: SWAP3
0000063b: LOG3
0000063c: PUSH1 0x20
0000063e: PUSH1 0x40
00000640: MLOAD
00000641: PUSH1 0x01
00000643: DUP2
00000644: MSTORE
00000645: RETURN
00000646: JUMPDEST
00000647: PUSH1 0x40
00000649: MLOAD
0000064a: PUSH4 0x4a1406b1
0000064f: PUSH1 0xe1
00000651: SHL
00000652: DUP2
00000653: MSTORE
00000654: PUSH0
00000655: PUSH1 0x04
00000657: DUP3
00000658: ADD
00000659: MSTORE
0000065a: PUSH1 0x24
0000065c: SWAP1
0000065d: REVERT
0000065e: JUMPDEST
0000065f: PUSH1 0x40
00000661: MLOAD
00000662: PUSH4 0xe602df05
00000667: PUSH1 0xe0
00000669: SHL
0000066a: DUP2
0000066b: MSTORE
0000066c: PUSH0
0000066d: PUSH1 0x04
0000066f: DUP3
00000670: ADD
00000671: MSTORE
00000672: PUSH1 0x24
00000674: SWAP1
00000675: REVERT
00000676: JUMPDEST
00000677: SWAP1
00000678: DUP2
00000679: PUSH1 0xe0
0000067b: SWAP2
0000067c: SUB
0000067d: SLT
0000067e: PUSH2 0x045e
00000681: JUMPI
00000682: SWAP1
00000683: JUMP
00000684: JUMPDEST
00000685: SWAP4
00000686: SWAP3
00000687: SWAP2
00000688: PUSH2 0x069f
0000068b: DUP6
0000068c: PUSH1 0xa0
0000068e: DUP2
0000068f: ADD
00000690: SWAP4
00000691: PUSH1 0x20
00000693: DUP1
00000694: SWAP2
00000695: DUP1
00000696: MLOAD
00000697: DUP5
00000698: MSTORE
00000699: ADD
0000069a: MLOAD
0000069b: SWAP2
0000069c: ADD
0000069d: MSTORE
0000069e: JUMP
0000069f: JUMPDEST
000006a0: PUSH1 0x40
000006a2: SWAP2
000006a3: PUSH1 0xa0
000006a5: PUSH1 0x40
000006a7: DUP8
000006a8: ADD
000006a9: MSTORE
000006aa: DUP2
000006ab: MLOAD
000006ac: DUP1
000006ad: SWAP2
000006ae: MSTORE
000006af: PUSH1 0xc0
000006b1: DUP7
000006b2: ADD
000006b3: SWAP2
000006b4: PUSH1 0xc0
000006b6: DUP3
000006b7: PUSH1 0x05
000006b9: SHL
000006ba: DUP9
000006bb: ADD
000006bc: ADD
000006bd: SWAP4
000006be: PUSH1 0x20
000006c0: DUP1
000006c1: SWAP3
000006c2: ADD
000006c3: SWAP4
000006c4: PUSH0
000006c5: SWAP2
000006c6: JUMPDEST
000006c7: DUP5
000006c8: DUP4
000006c9: LT
000006ca: PUSH2 0x06ee
000006cd: JUMPI
000006ce: POP
000006cf: POP
000006d0: POP
000006d1: POP
000006d2: POP
000006d3: POP
000006d4: SWAP1
000006d5: PUSH1 0x60
000006d7: PUSH2 0x06ec
000006da: SWAP3
000006db: SWAP5
000006dc: ADD
000006dd: SWAP1
000006de: PUSH1 0x20
000006e0: DUP1
000006e1: SWAP2
000006e2: DUP1
000006e3: MLOAD
000006e4: DUP5
000006e5: MSTORE
000006e6: ADD
000006e7: MLOAD
000006e8: SWAP2
000006e9: ADD
000006ea: MSTORE
000006eb: JUMP
000006ec: JUMPDEST
000006ed: JUMP
000006ee: JUMPDEST
000006ef: SWAP1
000006f0: SWAP2
000006f1: SWAP3
000006f2: SWAP4
000006f3: SWAP5
000006f4: SWAP6
000006f5: DUP5
000006f6: DUP1
000006f7: PUSH2 0x071d
000006fa: PUSH1 0x01
000006fc: SWAP4
000006fd: DUP14
000006fe: PUSH1 0xbf
00000700: NOT
00000701: SWAP1
00000702: DUP3
00000703: SUB
00000704: ADD
00000705: DUP8
00000706: MSTORE
00000707: DUP6
00000708: DUP4
00000709: DUP13
0000070a: MLOAD
0000070b: DUP1
0000070c: MLOAD
0000070d: DUP5
0000070e: MSTORE
0000070f: ADD
00000710: MLOAD
00000711: SWAP2
00000712: DUP2
00000713: DUP6
00000714: DUP3
00000715: ADD
00000716: MSTORE
00000717: ADD
00000718: SWAP1
00000719: PUSH2 0x0483
0000071c: JUMP
0000071d: JUMPDEST
0000071e: SWAP9
0000071f: ADD
00000720: SWAP4
00000721: ADD
00000722: SWAP4
00000723: ADD
00000724: SWAP2
00000725: SWAP5
00000726: SWAP4
00000727: SWAP3
00000728: SWAP1
00000729: PUSH2 0x06c6
0000072c: JUMP
0000072d: JUMPDEST
0000072e: CALLVALUE
0000072f: PUSH2 0x045e
00000732: JUMPI
00000733: PUSH1 0x20
00000735: DUP1
00000736: PUSH1 0x03
00000738: NOT
00000739: CALLDATASIZE
0000073a: ADD
0000073b: SLT
0000073c: PUSH2 0x045e
0000073f: JUMPI
00000740: PUSH1 0x04
00000742: CALLDATALOAD
00000743: PUSH1 0x01
00000745: PUSH1 0x01
00000747: PUSH1 0x40
00000749: SHL
0000074a: SUB
0000074b: DUP2
0000074c: GT
0000074d: PUSH2 0x045e
00000750: JUMPI
00000751: PUSH2 0x075e
00000754: SWAP1
00000755: CALLDATASIZE
00000756: SWAP1
00000757: PUSH1 0x04
00000759: ADD
0000075a: PUSH2 0x0676
0000075d: JUMP
0000075e: JUMPDEST
0000075f: SWAP1
00000760: PUSH2 0x0767
00000763: PUSH2 0x2d0a
00000766: JUMP
00000767: JUMPDEST
00000768: POP
00000769: PUSH2 0x0770
0000076c: PUSH2 0x2d0a
0000076f: JUMP
00000770: JUMPDEST
00000771: POP
00000772: PUSH1 0x40
00000774: MLOAD
00000775: PUSH4 0x7e062a35
0000077a: PUSH1 0xe1
0000077c: SHL
0000077d: DUP2
0000077e: MSTORE
0000077f: SWAP1
00000780: DUP1
00000781: DUP3
00000782: PUSH1 0x04
00000784: DUP2
00000785: ADDRESS
00000786: GAS
00000787: STATICCALL
00000788: SWAP2
00000789: DUP3
0000078a: ISZERO
0000078b: PUSH2 0x084f
0000078e: JUMPI
0000078f: PUSH1 0x04
00000791: SWAP3
00000792: DUP3
00000793: SWAP2
00000794: PUSH0
00000795: SWAP2
00000796: PUSH2 0x0854
00000799: JUMPI
0000079a: JUMPDEST
0000079b: POP
0000079c: PUSH1 0x40
0000079e: MLOAD
0000079f: PUSH4 0x18160ddd
000007a4: PUSH1 0xe0
000007a6: SHL
000007a7: DUP2
000007a8: MSTORE
000007a9: SWAP4
000007aa: DUP5
000007ab: SWAP2
000007ac: DUP3
000007ad: SWAP1
000007ae: PUSH1 0x01
000007b0: PUSH1 0x01
000007b2: PUSH1 0xa0
000007b4: SHL
000007b5: SUB
000007b6: AND
000007b7: GAS
000007b8: STATICCALL
000007b9: SWAP2
000007ba: DUP3
000007bb: ISZERO
000007bc: PUSH2 0x084f
000007bf: JUMPI
000007c0: PUSH0
000007c1: SWAP3
000007c2: PUSH2 0x081c
000007c5: JUMPI
000007c6: JUMPDEST
000007c7: POP
000007c8: PUSH2 0x0515
000007cb: SWAP1
000007cc: PUSH2 0x07d3
000007cf: PUSH2 0x2cf0
000007d2: JUMP
000007d3: JUMPDEST
000007d4: SWAP3
000007d5: PUSH0
000007d6: DUP5
000007d7: MSTORE
000007d8: DUP2
000007d9: DUP5
000007da: ADD
000007db: MSTORE
000007dc: PUSH2 0x0800
000007df: PUSH2 0x07e6
000007e2: PUSH2 0x2d68
000007e5: JUMP
000007e6: JUMPDEST
000007e7: SWAP5
000007e8: PUSH2 0x07f0
000007eb: DUP2
000007ec: PUSH2 0x2d8a
000007ef: JUMP
000007f0: JUMPDEST
000007f1: POP
000007f2: PUSH1 0x40
000007f4: PUSH1 0x60
000007f6: DUP3
000007f7: ADD
000007f8: CALLDATALOAD
000007f9: SWAP2
000007fa: ADD
000007fb: CALLDATALOAD
000007fc: PUSH2 0x3147
000007ff: JUMP
00000800: JUMPDEST
00000801: SWAP1
00000802: SWAP2
00000803: PUSH2 0x080a
00000806: PUSH2 0x2cf0
00000809: JUMP
0000080a: JUMPDEST
0000080b: SWAP3
0000080c: DUP4
0000080d: MSTORE
0000080e: DUP3
0000080f: ADD
00000810: MSTORE
00000811: PUSH1 0x40
00000813: MLOAD
00000814: SWAP4
00000815: DUP5
00000816: SWAP4
00000817: DUP5
00000818: PUSH2 0x0684
0000081b: JUMP
0000081c: JUMPDEST
0000081d: DUP2
0000081e: SWAP3
0000081f: POP
00000820: PUSH2 0x0841
00000823: SWAP1
00000824: PUSH2 0x0515
00000827: SWAP3
00000828: RETURNDATASIZE
00000829: DUP6
0000082a: GT
0000082b: PUSH2 0x0848
0000082e: JUMPI
0000082f: JUMPDEST
00000830: PUSH2 0x0839
00000833: DUP2
00000834: DUP4
00000835: PUSH2 0x150d
00000838: JUMP
00000839: JUMPDEST
0000083a: DUP2
0000083b: ADD
0000083c: SWAP1
0000083d: PUSH2 0x2d42
00000840: JUMP
00000841: JUMPDEST
00000842: SWAP2
00000843: SWAP1
00000844: PUSH2 0x07c6
00000847: JUMP
00000848: JUMPDEST
00000849: POP
0000084a: RETURNDATASIZE
0000084b: PUSH2 0x082f
0000084e: JUMP
0000084f: JUMPDEST
00000850: PUSH2 0x2d37
00000853: JUMP
00000854: JUMPDEST
00000855: PUSH2 0x0874
00000858: SWAP2
00000859: POP
0000085a: DUP3
0000085b: RETURNDATASIZE
0000085c: DUP5
0000085d: GT
0000085e: PUSH2 0x087a
00000861: JUMPI
00000862: JUMPDEST
00000863: PUSH2 0x086c
00000866: DUP2
00000867: DUP4
00000868: PUSH2 0x150d
0000086b: JUMP
0000086c: JUMPDEST
0000086d: DUP2
0000086e: ADD
0000086f: SWAP1
00000870: PUSH2 0x2d22
00000873: JUMP
00000874: JUMPDEST
00000875: PUSH0
00000876: PUSH2 0x079a
00000879: JUMP
0000087a: JUMPDEST
0000087b: POP
0000087c: RETURNDATASIZE
0000087d: PUSH2 0x0862
00000880: JUMP
00000881: JUMPDEST
00000882: CALLVALUE
00000883: PUSH2 0x045e
00000886: JUMPI
00000887: PUSH0
00000888: CALLDATASIZE
00000889: PUSH1 0x03
0000088b: NOT
0000088c: ADD
0000088d: SLT
0000088e: PUSH2 0x045e
00000891: JUMPI
00000892: PUSH1 0x20
00000894: PUSH1 0x0e
00000896: SLOAD
00000897: PUSH1 0x40
00000899: MLOAD
0000089a: SWAP1
0000089b: DUP2
0000089c: MSTORE
0000089d: RETURN
0000089e: JUMPDEST
0000089f: CALLVALUE
000008a0: PUSH2 0x045e
000008a3: JUMPI
000008a4: PUSH0
000008a5: CALLDATASIZE
000008a6: PUSH1 0x03
000008a8: NOT
000008a9: ADD
000008aa: SLT
000008ab: PUSH2 0x045e
000008ae: JUMPI
000008af: PUSH1 0x04
000008b1: SLOAD
000008b2: PUSH1 0x40
000008b4: MLOAD
000008b5: PUSH1 0x01
000008b7: PUSH1 0x01
000008b9: PUSH1 0xa0
000008bb: SHL
000008bc: SUB
000008bd: SWAP1
000008be: SWAP2
000008bf: AND
000008c0: DUP2
000008c1: MSTORE
000008c2: PUSH1 0x20
000008c4: SWAP1
000008c5: RETURN
000008c6: JUMPDEST
000008c7: PUSH1 0x60
000008c9: SWAP1
000008ca: PUSH1 0x03
000008cc: NOT
000008cd: ADD
000008ce: SLT
000008cf: PUSH2 0x045e
000008d2: JUMPI
000008d3: PUSH1 0x04
000008d5: SWAP1
000008d6: JUMP
000008d7: JUMPDEST
000008d8: SWAP2
000008d9: DUP2
000008da: PUSH1 0x1f
000008dc: DUP5
000008dd: ADD
000008de: SLT
000008df: ISZERO
000008e0: PUSH2 0x045e
000008e3: JUMPI
000008e4: DUP3
000008e5: CALLDATALOAD
000008e6: SWAP2
000008e7: PUSH1 0x01
000008e9: PUSH1 0x01
000008eb: PUSH1 0x40
000008ed: SHL
000008ee: SUB
000008ef: DUP4
000008f0: GT
000008f1: PUSH2 0x045e
000008f4: JUMPI
000008f5: PUSH1 0x20
000008f7: DUP4
000008f8: DUP2
000008f9: DUP7
000008fa: ADD
000008fb: SWAP6
000008fc: ADD
000008fd: ADD
000008fe: GT
000008ff: PUSH2 0x045e
00000902: JUMPI
00000903: JUMP
00000904: JUMPDEST
00000905: PUSH1 0x03
00000907: NOT
00000908: DUP2
00000909: ADD
0000090a: PUSH1 0xe0
0000090c: DUP2
0000090d: SLT
0000090e: PUSH2 0x045e
00000911: JUMPI
00000912: PUSH1 0x60
00000914: SGT
00000915: PUSH2 0x045e
00000918: JUMPI
00000919: PUSH1 0x04
0000091b: SWAP2
0000091c: PUSH1 0x64
0000091e: CALLDATALOAD
0000091f: SWAP2
00000920: PUSH1 0x01
00000922: PUSH1 0x01
00000924: PUSH1 0x40
00000926: SHL
00000927: SUB
00000928: SWAP1
00000929: PUSH1 0x84
0000092b: CALLDATALOAD
0000092c: DUP3
0000092d: DUP2
0000092e: GT
0000092f: PUSH2 0x045e
00000932: JUMPI
00000933: DUP2
00000934: PUSH2 0x093f
00000937: SWAP2
00000938: PUSH1 0x04
0000093a: ADD
0000093b: PUSH2 0x08d7
0000093e: JUMP
0000093f: JUMPDEST
00000940: SWAP4
00000941: SWAP1
00000942: SWAP4
00000943: SWAP3
00000944: PUSH1 0xa4
00000946: CALLDATALOAD
00000947: PUSH2 0x094f
0000094a: DUP2
0000094b: PUSH2 0x059c
0000094e: JUMP
0000094f: JUMPDEST
00000950: SWAP3
00000951: PUSH1 0xc4
00000953: CALLDATALOAD
00000954: SWAP2
00000955: DUP3
00000956: GT
00000957: PUSH2 0x045e
0000095a: JUMPI
0000095b: PUSH2 0x0966
0000095e: SWAP2
0000095f: PUSH1 0x04
00000961: ADD
00000962: PUSH2 0x08d7
00000965: JUMP
00000966: JUMPDEST
00000967: SWAP1
00000968: SWAP2
00000969: JUMP
0000096a: JUMPDEST
0000096b: PUSH2 0x0973
0000096e: CALLDATASIZE
0000096f: PUSH2 0x0904
00000972: JUMP
00000973: JUMPDEST
00000974: POP
00000975: SWAP3
00000976: SWAP5
00000977: SWAP3
00000978: POP
00000979: PUSH1 0x01
0000097b: PUSH1 0x01
0000097d: PUSH1 0xa0
0000097f: SHL
00000980: SUB
00000981: SWAP2
00000982: SWAP1
00000983: POP
00000984: PUSH32 0x0000000000000000000000001a44076050125825900e736c501f859c50fe728c
000009a5: DUP3
000009a6: AND
000009a7: CALLER
000009a8: DUP2
000009a9: SUB
000009aa: PUSH2 0x0b36
000009ad: JUMPI
000009ae: DUP4
000009af: CALLDATALOAD
000009b0: PUSH2 0x09b8
000009b3: DUP2
000009b4: PUSH2 0x1053
000009b7: JUMP
000009b8: JUMPDEST
000009b9: PUSH2 0x09c1
000009bc: DUP2
000009bd: PUSH2 0x31a1
000009c0: JUMP
000009c1: JUMPDEST
000009c2: SWAP1
000009c3: PUSH1 0x20
000009c5: DUP7
000009c6: ADD
000009c7: CALLDATALOAD
000009c8: DUP1
000009c9: SWAP3
000009ca: SUB
000009cb: PUSH2 0x0b01
000009ce: JUMPI
000009cf: POP
000009d0: POP
000009d1: PUSH2 0x09e9
000009d4: PUSH2 0x09dd
000009d7: DUP4
000009d8: DUP9
000009d9: PUSH2 0x3a66
000009dc: JUMP
000009dd: JUMPDEST
000009de: PUSH1 0x01
000009e0: PUSH1 0x01
000009e2: PUSH1 0xa0
000009e4: SHL
000009e5: SUB
000009e6: AND
000009e7: SWAP1
000009e8: JUMP
000009e9: JUMPDEST
000009ea: SWAP2
000009eb: PUSH2 0x0a0f
000009ee: PUSH2 0x09ff
000009f1: PUSH2 0x09fa
000009f4: DUP4
000009f5: DUP11
000009f6: PUSH2 0x3a72
000009f9: JUMP
000009fa: JUMPDEST
000009fb: PUSH2 0x3a84
000009fe: JUMP
000009ff: JUMPDEST
00000a00: PUSH2 0x0a08
00000a03: DUP8
00000a04: PUSH2 0x2d8a
00000a07: JUMP
00000a08: JUMPDEST
00000a09: POP
00000a0a: DUP5
00000a0b: PUSH2 0x3ab8
00000a0e: JUMP
00000a0f: JUMPDEST
00000a10: DUP1
00000a11: SWAP8
00000a12: PUSH1 0x28
00000a14: DUP4
00000a15: GT
00000a16: PUSH2 0x0a5f
00000a19: JUMPI
00000a1a: JUMPDEST
00000a1b: POP
00000a1c: POP
00000a1d: POP
00000a1e: POP
00000a1f: PUSH2 0x0a5a
00000a22: PUSH2 0x0a38
00000a25: PUSH0
00000a26: DUP1
00000a27: MLOAD
00000a28: PUSH1 0x20
00000a2a: PUSH2 0x3e25
00000a2d: DUP4
00000a2e: CODECOPY
00000a2f: DUP2
00000a30: MLOAD
00000a31: SWAP2
00000a32: MSTORE
00000a33: SWAP5
00000a34: PUSH2 0x2d8a
00000a37: JUMP
00000a38: JUMPDEST
00000a39: SWAP6
00000a3a: PUSH1 0x40
00000a3c: MLOAD
00000a3d: SWAP4
00000a3e: DUP5
00000a3f: SWAP4
00000a40: AND
00000a41: SWAP7
00000a42: DUP4
00000a43: PUSH1 0x20
00000a45: SWAP1
00000a46: SWAP4
00000a47: SWAP3
00000a48: SWAP2
00000a49: SWAP4
00000a4a: PUSH4 0xffffffff
00000a4f: PUSH1 0x40
00000a51: DUP3
00000a52: ADD
00000a53: SWAP6
00000a54: AND
00000a55: DUP2
00000a56: MSTORE
00000a57: ADD
00000a58: MSTORE
00000a59: JUMP
00000a5a: JUMPDEST
00000a5b: SUB
00000a5c: SWAP1
00000a5d: LOG3
00000a5e: STOP
00000a5f: JUMPDEST
00000a60: SWAP1
00000a61: PUSH2 0x0a8a
00000a64: SWAP3
00000a65: SWAP2
00000a66: PUSH2 0x0a84
00000a69: PUSH2 0x0a74
00000a6c: PUSH1 0x40
00000a6e: DUP11
00000a6f: ADD
00000a70: PUSH2 0x31d7
00000a73: JUMP
00000a74: JUMPDEST
00000a75: SWAP4
00000a76: PUSH2 0x0a7e
00000a79: DUP11
00000a7a: PUSH2 0x2d8a
00000a7d: JUMP
00000a7e: JUMPDEST
00000a7f: SWAP3
00000a80: PUSH2 0x3adc
00000a83: JUMP
00000a84: JUMPDEST
00000a85: SWAP3
00000a86: PUSH2 0x3af8
00000a89: JUMP
00000a8a: JUMPDEST
00000a8b: SWAP1
00000a8c: DUP1
00000a8d: EXTCODESIZE
00000a8e: ISZERO
00000a8f: PUSH2 0x045e
00000a92: JUMPI
00000a93: PUSH1 0x40
00000a95: MLOAD
00000a96: PUSH4 0x3e5ac809
00000a9b: PUSH1 0xe1
00000a9d: SHL
00000a9e: DUP2
00000a9f: MSTORE
00000aa0: SWAP2
00000aa1: PUSH0
00000aa2: SWAP2
00000aa3: DUP4
00000aa4: SWAP2
00000aa5: DUP3
00000aa6: SWAP1
00000aa7: DUP5
00000aa8: SWAP1
00000aa9: DUP3
00000aaa: SWAP1
00000aab: PUSH2 0x0ab9
00000aae: SWAP1
00000aaf: DUP13
00000ab0: DUP11
00000ab1: PUSH1 0x04
00000ab3: DUP6
00000ab4: ADD
00000ab5: PUSH2 0x31e1
00000ab8: JUMP
00000ab9: JUMPDEST
00000aba: SUB
00000abb: SWAP3
00000abc: GAS
00000abd: CALL
00000abe: DUP1
00000abf: ISZERO
00000ac0: PUSH2 0x084f
00000ac3: JUMPI
00000ac4: PUSH0
00000ac5: DUP1
00000ac6: MLOAD
00000ac7: PUSH1 0x20
00000ac9: PUSH2 0x3e25
00000acc: DUP4
00000acd: CODECOPY
00000ace: DUP2
00000acf: MLOAD
00000ad0: SWAP2
00000ad1: MSTORE
00000ad2: SWAP5
00000ad3: PUSH2 0x0a5a
00000ad6: SWAP3
00000ad7: PUSH2 0x0a38
00000ada: SWAP3
00000adb: PUSH2 0x0ae8
00000ade: JUMPI
00000adf: JUMPDEST
00000ae0: DUP9
00000ae1: SWAP2
00000ae2: SWAP7
00000ae3: POP
00000ae4: PUSH2 0x0a1a
00000ae7: JUMP
00000ae8: JUMPDEST
00000ae9: DUP1
00000aea: PUSH2 0x0af5
00000aed: PUSH2 0x0afb
00000af0: SWAP3
00000af1: PUSH2 0x14a4
00000af4: JUMP
00000af5: JUMPDEST
00000af6: DUP1
00000af7: PUSH2 0x0454
00000afa: JUMP
00000afb: JUMPDEST
00000afc: PUSH0
00000afd: PUSH2 0x0adf
00000b00: JUMP
00000b01: JUMPDEST
00000b02: PUSH2 0x0b0a
00000b05: DUP2
00000b06: PUSH2 0x1053
00000b09: JUMP
00000b0a: JUMPDEST
00000b0b: PUSH1 0x40
00000b0d: MLOAD
00000b0e: PUSH4 0x309afaf3
00000b13: PUSH1 0xe2
00000b15: SHL
00000b16: DUP2
00000b17: MSTORE
00000b18: PUSH4 0xffffffff
00000b1d: SWAP2
00000b1e: SWAP1
00000b1f: SWAP2
00000b20: AND
00000b21: PUSH1 0x04
00000b23: DUP3
00000b24: ADD
00000b25: MSTORE
00000b26: PUSH1 0x24
00000b28: DUP2
00000b29: ADD
00000b2a: SWAP2
00000b2b: SWAP1
00000b2c: SWAP2
00000b2d: MSTORE
00000b2e: PUSH1 0x44
00000b30: SWAP1
00000b31: REVERT
00000b32: JUMPDEST
00000b33: SUB
00000b34: SWAP1
00000b35: REVERT
00000b36: JUMPDEST
00000b37: PUSH1 0x40
00000b39: MLOAD
00000b3a: PUSH4 0x91ac5e4f
00000b3f: PUSH1 0xe0
00000b41: SHL
00000b42: DUP2
00000b43: MSTORE
00000b44: CALLER
00000b45: PUSH1 0x04
00000b47: DUP3
00000b48: ADD
00000b49: MSTORE
00000b4a: PUSH1 0x24
00000b4c: SWAP1
00000b4d: REVERT
00000b4e: JUMPDEST
00000b4f: CALLVALUE
00000b50: PUSH2 0x045e
00000b53: JUMPI
00000b54: PUSH0
00000b55: CALLDATASIZE
00000b56: PUSH1 0x03
00000b58: NOT
00000b59: ADD
00000b5a: SLT
00000b5b: PUSH2 0x045e
00000b5e: JUMPI
00000b5f: PUSH1 0x20
00000b61: PUSH1 0x40
00000b63: MLOAD
00000b64: PUSH1 0x02
00000b66: DUP2
00000b67: MSTORE
00000b68: RETURN
00000b69: JUMPDEST
00000b6a: CALLVALUE
00000b6b: PUSH2 0x045e
00000b6e: JUMPI
00000b6f: PUSH0
00000b70: CALLDATASIZE
00000b71: PUSH1 0x03
00000b73: NOT
00000b74: ADD
00000b75: SLT
00000b76: PUSH2 0x045e
00000b79: JUMPI
00000b7a: PUSH1 0x40
00000b7c: DUP1
00000b7d: MLOAD
00000b7e: PUSH3 0xb9270b
00000b82: PUSH1 0xe2
00000b84: SHL
00000b85: DUP2
00000b86: MSTORE
00000b87: PUSH1 0x01
00000b89: PUSH1 0x20
00000b8b: DUP3
00000b8c: ADD
00000b8d: MSTORE
00000b8e: RETURN
00000b8f: JUMPDEST
00000b90: CALLVALUE
00000b91: PUSH2 0x045e
00000b94: JUMPI
00000b95: PUSH0
00000b96: CALLDATASIZE
00000b97: PUSH1 0x03
00000b99: NOT
00000b9a: ADD
00000b9b: SLT
00000b9c: PUSH2 0x045e
00000b9f: JUMPI
00000ba0: PUSH1 0x40
00000ba2: DUP1
00000ba3: MLOAD
00000ba4: PUSH1 0x01
00000ba6: DUP2
00000ba7: MSTORE
00000ba8: PUSH1 0x02
00000baa: PUSH1 0x20
00000bac: DUP3
00000bad: ADD
00000bae: MSTORE
00000baf: RETURN
00000bb0: JUMPDEST
00000bb1: CALLVALUE
00000bb2: PUSH2 0x045e
00000bb5: JUMPI
00000bb6: PUSH0
00000bb7: CALLDATASIZE
00000bb8: PUSH1 0x03
00000bba: NOT
00000bbb: ADD
00000bbc: SLT
00000bbd: PUSH2 0x045e
00000bc0: JUMPI
00000bc1: PUSH1 0x20
00000bc3: PUSH1 0x07
00000bc5: SLOAD
00000bc6: PUSH1 0x40
00000bc8: MLOAD
00000bc9: SWAP1
00000bca: DUP2
00000bcb: MSTORE
00000bcc: RETURN
00000bcd: JUMPDEST
00000bce: CALLVALUE
00000bcf: PUSH2 0x045e
00000bd2: JUMPI
00000bd3: PUSH0
00000bd4: CALLDATASIZE
00000bd5: PUSH1 0x03
00000bd7: NOT
00000bd8: ADD
00000bd9: SLT
00000bda: PUSH2 0x045e
00000bdd: JUMPI
00000bde: PUSH1 0x20
00000be0: PUSH1 0x40
00000be2: MLOAD
00000be3: PUSH1 0x01
00000be5: DUP2
00000be6: MSTORE
00000be7: RETURN
00000be8: JUMPDEST
00000be9: CALLVALUE
00000bea: PUSH2 0x045e
00000bed: JUMPI
00000bee: PUSH1 0x60
00000bf0: CALLDATASIZE
00000bf1: PUSH1 0x03
00000bf3: NOT
00000bf4: ADD
00000bf5: SLT
00000bf6: PUSH2 0x045e
00000bf9: JUMPI
00000bfa: PUSH1 0x04
00000bfc: CALLDATALOAD
00000bfd: PUSH2 0x0c05
00000c00: DUP2
00000c01: PUSH2 0x059c
00000c04: JUMP
00000c05: JUMPDEST
00000c06: PUSH1 0x24
00000c08: CALLDATALOAD
00000c09: PUSH2 0x0c11
00000c0c: DUP2
00000c0d: PUSH2 0x059c
00000c10: JUMP
00000c11: JUMPDEST
00000c12: PUSH1 0x01
00000c14: PUSH1 0x01
00000c16: PUSH1 0xa0
00000c18: SHL
00000c19: SUB
00000c1a: DUP3
00000c1b: AND
00000c1c: PUSH0
00000c1d: SWAP1
00000c1e: DUP2
00000c1f: MSTORE
00000c20: PUSH1 0x06
00000c22: PUSH1 0x20
00000c24: SWAP1
00000c25: DUP2
00000c26: MSTORE
00000c27: PUSH1 0x40
00000c29: DUP1
00000c2a: DUP4
00000c2b: KECCAK256
00000c2c: CALLER
00000c2d: DUP5
00000c2e: MSTORE
00000c2f: SWAP1
00000c30: SWAP2
00000c31: MSTORE
00000c32: SWAP1
00000c33: KECCAK256
00000c34: PUSH1 0x44
00000c36: CALLDATALOAD
00000c37: SWAP2
00000c38: SWAP1
00000c39: SLOAD
00000c3a: SWAP3
00000c3b: PUSH0
00000c3c: NOT
00000c3d: DUP5
00000c3e: LT
00000c3f: PUSH2 0x0c59
00000c42: JUMPI
00000c43: JUMPDEST
00000c44: PUSH2 0x0c4d
00000c47: SWAP4
00000c48: POP
00000c49: PUSH2 0x320b
00000c4c: JUMP
00000c4d: JUMPDEST
00000c4e: PUSH1 0x40
00000c50: MLOAD
00000c51: PUSH1 0x01
00000c53: DUP2
00000c54: MSTORE
00000c55: PUSH1 0x20
00000c57: SWAP1
00000c58: RETURN
00000c59: JUMPDEST
00000c5a: DUP3
00000c5b: DUP5
00000c5c: LT
00000c5d: PUSH2 0x0c75
00000c60: JUMPI
00000c61: PUSH2 0x0c70
00000c64: DUP4
00000c65: PUSH2 0x0c4d
00000c68: SWAP6
00000c69: SUB
00000c6a: CALLER
00000c6b: DUP4
00000c6c: PUSH2 0x39fd
00000c6f: JUMP
00000c70: JUMPDEST
00000c71: PUSH2 0x0c43
00000c74: JUMP
00000c75: JUMPDEST
00000c76: PUSH1 0x40
00000c78: MLOAD
00000c79: PUSH4 0x7dc7a0d9
00000c7e: PUSH1 0xe1
00000c80: SHL
00000c81: DUP2
00000c82: MSTORE
00000c83: CALLER
00000c84: PUSH1 0x04
00000c86: DUP3
00000c87: ADD
00000c88: MSTORE
00000c89: PUSH1 0x24
00000c8b: DUP2
00000c8c: ADD
00000c8d: DUP6
00000c8e: SWAP1
00000c8f: MSTORE
00000c90: PUSH1 0x44
00000c92: DUP2
00000c93: ADD
00000c94: DUP5
00000c95: SWAP1
00000c96: MSTORE
00000c97: PUSH1 0x64
00000c99: SWAP1
00000c9a: REVERT
00000c9b: JUMPDEST
00000c9c: CALLVALUE
00000c9d: PUSH2 0x045e
00000ca0: JUMPI
00000ca1: PUSH0
00000ca2: CALLDATASIZE
00000ca3: PUSH1 0x03
00000ca5: NOT
00000ca6: ADD
00000ca7: SLT
00000ca8: PUSH2 0x045e
00000cab: JUMPI
00000cac: PUSH1 0x20
00000cae: PUSH1 0xff
00000cb0: PUSH1 0x0b
00000cb2: SLOAD
00000cb3: PUSH1 0xc8
00000cb5: SHR
00000cb6: AND
00000cb7: PUSH1 0x40
00000cb9: MLOAD
00000cba: SWAP1
00000cbb: DUP2
00000cbc: MSTORE
00000cbd: RETURN
00000cbe: JUMPDEST
00000cbf: CALLVALUE
00000cc0: PUSH2 0x045e
00000cc3: JUMPI
00000cc4: PUSH0
00000cc5: CALLDATASIZE
00000cc6: PUSH1 0x03
00000cc8: NOT
00000cc9: ADD
00000cca: SLT
00000ccb: PUSH2 0x045e
00000cce: JUMPI
00000ccf: PUSH2 0x0cd6
00000cd2: PUSH2 0x3322
00000cd5: JUMP
00000cd6: JUMPDEST
00000cd7: PUSH2 0x0cde
00000cda: PUSH2 0x334d
00000cdd: JUMP
00000cde: JUMPDEST
00000cdf: PUSH1 0x0e
00000ce1: SLOAD
00000ce2: PUSH1 0x0f
00000ce4: SLOAD
00000ce5: SWAP1
00000ce6: DUP2
00000ce7: DUP2
00000ce8: GT
00000ce9: ISZERO
00000cea: PUSH2 0x0dd2
00000ced: JUMPI
00000cee: POP
00000cef: POP
00000cf0: PUSH1 0x0b
00000cf2: SLOAD
00000cf3: PUSH2 0x0d2a
00000cf6: SWAP1
00000cf7: PUSH2 0x0d08
00000cfa: SWAP1
00000cfb: PUSH1 0x01
00000cfd: PUSH1 0x01
00000cff: PUSH1 0xa0
00000d01: SHL
00000d02: SUB
00000d03: AND
00000d04: PUSH2 0x09dd
00000d07: JUMP
00000d08: JUMPDEST
00000d09: PUSH1 0x01
00000d0b: DUP1
00000d0c: PUSH1 0xa0
00000d0e: SHL
00000d0f: SUB
00000d10: PUSH0
00000d11: SLOAD
00000d12: AND
00000d13: SWAP1
00000d14: PUSH2 0x0d22
00000d17: PUSH1 0x0e
00000d19: SLOAD
00000d1a: PUSH1 0x0f
00000d1c: SLOAD
00000d1d: SWAP1
00000d1e: PUSH2 0x2da8
00000d21: JUMP
00000d22: JUMPDEST
00000d23: SWAP2
00000d24: ADDRESS
00000d25: SWAP2
00000d26: PUSH2 0x33bf
00000d29: JUMP
00000d2a: JUMPDEST
00000d2b: PUSH2 0x0db6
00000d2e: PUSH2 0x0d91
00000d31: PUSH1 0x0e
00000d33: SLOAD
00000d34: PUSH32 0x28f43e09fc3816362a33b5a6e894df1b4208d2a6e5837169939cf0434af02655
00000d55: PUSH1 0x0f
00000d57: SLOAD
00000d58: PUSH2 0x0d6a
00000d5b: PUSH1 0x0b
00000d5d: SLOAD
00000d5e: PUSH4 0xffffffff
00000d63: SWAP1
00000d64: PUSH1 0xa0
00000d66: SHR
00000d67: AND
00000d68: SWAP1
00000d69: JUMP
00000d6a: JUMPDEST
00000d6b: PUSH1 0x40
00000d6d: DUP1
00000d6e: MLOAD
00000d6f: SWAP5
00000d70: DUP6
00000d71: MSTORE
00000d72: PUSH1 0x20
00000d74: DUP6
00000d75: ADD
00000d76: SWAP3
00000d77: SWAP1
00000d78: SWAP3
00000d79: MSTORE
00000d7a: PUSH4 0xffffffff
00000d7f: DUP2
00000d80: AND
00000d81: SWAP2
00000d82: DUP5
00000d83: ADD
00000d84: SWAP2
00000d85: SWAP1
00000d86: SWAP2
00000d87: MSTORE
00000d88: SWAP2
00000d89: PUSH1 0x60
00000d8b: SWAP1
00000d8c: LOG1
00000d8d: PUSH2 0x2db5
00000d90: JUMP
00000d91: JUMPDEST
00000d92: PUSH1 0x0b
00000d94: DUP1
00000d95: SLOAD
00000d96: PUSH4 0xffffffff
00000d9b: PUSH1 0xa0
00000d9d: SHL
00000d9e: NOT
00000d9f: AND
00000da0: PUSH1 0xa0
00000da2: SWAP3
00000da3: SWAP1
00000da4: SWAP3
00000da5: SHL
00000da6: PUSH4 0xffffffff
00000dab: PUSH1 0xa0
00000dad: SHL
00000dae: AND
00000daf: SWAP2
00000db0: SWAP1
00000db1: SWAP2
00000db2: OR
00000db3: SWAP1
00000db4: SSTORE
00000db5: JUMP
00000db6: JUMPDEST
00000db7: PUSH2 0x0dbf
00000dba: PUSH0
00000dbb: PUSH1 0x0e
00000dbd: SSTORE
00000dbe: JUMP
00000dbf: JUMPDEST
00000dc0: PUSH2 0x0dc8
00000dc3: PUSH0
00000dc4: PUSH1 0x0f
00000dc6: SSTORE
00000dc7: JUMP
00000dc8: JUMPDEST
00000dc9: PUSH2 0x0018
00000dcc: PUSH1 0x01
00000dce: PUSH1 0x0a
00000dd0: SSTORE
00000dd1: JUMP
00000dd2: JUMPDEST
00000dd3: DUP2
00000dd4: DUP2
00000dd5: LT
00000dd6: PUSH2 0x0de1
00000dd9: JUMPI
00000dda: JUMPDEST
00000ddb: POP
00000ddc: POP
00000ddd: PUSH2 0x0d2a
00000de0: JUMP
00000de1: JUMPDEST
00000de2: PUSH1 0x0b
00000de4: SLOAD
00000de5: PUSH2 0x0e16
00000de8: SWAP3
00000de9: SWAP1
00000dea: PUSH2 0x0e10
00000ded: SWAP1
00000dee: PUSH2 0x0dff
00000df1: SWAP1
00000df2: PUSH1 0x01
00000df4: PUSH1 0x01
00000df6: PUSH1 0xa0
00000df8: SHL
00000df9: SUB
00000dfa: AND
00000dfb: PUSH2 0x09dd
00000dfe: JUMP
00000dff: JUMPDEST
00000e00: SWAP3
00000e01: PUSH1 0x01
00000e03: DUP1
00000e04: PUSH1 0xa0
00000e06: SHL
00000e07: SUB
00000e08: PUSH0
00000e09: SLOAD
00000e0a: AND
00000e0b: SWAP3
00000e0c: PUSH2 0x2da8
00000e0f: JUMP
00000e10: JUMPDEST
00000e11: SWAP2
00000e12: PUSH2 0x3370
00000e15: JUMP
00000e16: JUMPDEST
00000e17: PUSH0
00000e18: DUP1
00000e19: PUSH2 0x0dda
00000e1c: JUMP
00000e1d: JUMPDEST
00000e1e: CALLVALUE
00000e1f: PUSH2 0x045e
00000e22: JUMPI
00000e23: PUSH1 0x40
00000e25: CALLDATASIZE
00000e26: PUSH1 0x03
00000e28: NOT
00000e29: ADD
00000e2a: SLT
00000e2b: PUSH2 0x045e
00000e2e: JUMPI
00000e2f: PUSH1 0x04
00000e31: CALLDATALOAD
00000e32: PUSH2 0x0e3a
00000e35: DUP2
00000e36: PUSH2 0x059c
00000e39: JUMP
00000e3a: JUMPDEST
00000e3b: PUSH1 0x0c
00000e3d: SLOAD
00000e3e: PUSH1 0x24
00000e40: CALLDATALOAD
00000e41: SWAP2
00000e42: PUSH1 0x01
00000e44: PUSH1 0x01
00000e46: PUSH1 0xa0
00000e48: SHL
00000e49: SUB
00000e4a: SWAP2
00000e4b: DUP3
00000e4c: AND
00000e4d: CALLER
00000e4e: SUB
00000e4f: PUSH2 0x0e8c
00000e52: JUMPI
00000e53: PUSH32 0x7333c4d498e1386177054f52d50ca759ef946eff3784f7f021387fd690508b97
00000e74: SWAP2
00000e75: DUP2
00000e76: PUSH2 0x0e81
00000e79: DUP6
00000e7a: PUSH1 0x20
00000e7c: SWAP5
00000e7d: PUSH2 0x3406
00000e80: JUMP
00000e81: JUMPDEST
00000e82: PUSH1 0x40
00000e84: MLOAD
00000e85: SWAP5
00000e86: DUP6
00000e87: MSTORE
00000e88: AND
00000e89: SWAP3
00000e8a: LOG2
00000e8b: STOP
00000e8c: JUMPDEST
00000e8d: PUSH1 0x40
00000e8f: MLOAD
00000e90: PUSH4 0x1ea2564f
00000e95: PUSH1 0xe3
00000e97: SHL
00000e98: DUP2
00000e99: MSTORE
00000e9a: PUSH1 0x04
00000e9c: SWAP1
00000e9d: REVERT
00000e9e: JUMPDEST
00000e9f: CALLVALUE
00000ea0: PUSH2 0x045e
00000ea3: JUMPI
00000ea4: PUSH1 0x60
00000ea6: CALLDATASIZE
00000ea7: PUSH1 0x03
00000ea9: NOT
00000eaa: ADD
00000eab: SLT
00000eac: PUSH2 0x045e
00000eaf: JUMPI
00000eb0: PUSH1 0x04
00000eb2: CALLDATALOAD
00000eb3: PUSH2 0x0ebb
00000eb6: DUP2
00000eb7: PUSH2 0x059c
00000eba: JUMP
00000ebb: JUMPDEST
00000ebc: PUSH1 0x24
00000ebe: CALLDATALOAD
00000ebf: PUSH1 0x44
00000ec1: CALLDATALOAD
00000ec2: SWAP2
00000ec3: PUSH2 0x0ecb
00000ec6: DUP4
00000ec7: PUSH2 0x059c
00000eca: JUMP
00000ecb: JUMPDEST
00000ecc: PUSH2 0x0ed3
00000ecf: PUSH2 0x3322
00000ed2: JUMP
00000ed3: JUMPDEST
00000ed4: DUP2
00000ed5: ISZERO
00000ed6: PUSH2 0x0f1c
00000ed9: JUMPI
00000eda: PUSH1 0x40
00000edc: MLOAD
00000edd: DUP3
00000ede: DUP2
00000edf: MSTORE
00000ee0: PUSH2 0x0018
00000ee3: SWAP4
00000ee4: PUSH1 0x01
00000ee6: PUSH1 0x01
00000ee8: PUSH1 0xa0
00000eea: SHL
00000eeb: SUB
00000eec: SWAP2
00000eed: DUP4
00000eee: DUP4
00000eef: AND
00000ef0: SWAP1
00000ef1: PUSH32 0xff67663330fcde57965a89e0eed2698c4f260f4f4dfa83e4d8a1c1db935fa235
00000f12: SWAP1
00000f13: PUSH1 0x20
00000f15: SWAP1
00000f16: LOG2
00000f17: AND
00000f18: PUSH2 0x3370
00000f1b: JUMP
00000f1c: JUMPDEST
00000f1d: PUSH1 0x40
00000f1f: MLOAD
00000f20: PUSH4 0x5e85ae73
00000f25: PUSH1 0xe0
00000f27: SHL
00000f28: DUP2
00000f29: MSTORE
00000f2a: PUSH1 0x04
00000f2c: SWAP1
00000f2d: REVERT
00000f2e: JUMPDEST
00000f2f: PUSH1 0x20
00000f31: CALLDATASIZE
00000f32: PUSH1 0x03
00000f34: NOT
00000f35: ADD
00000f36: SLT
00000f37: PUSH2 0x045e
00000f3a: JUMPI
00000f3b: PUSH1 0x04
00000f3d: CALLDATALOAD
00000f3e: PUSH2 0x0f46
00000f41: DUP2
00000f42: PUSH2 0x059c
00000f45: JUMP
00000f46: JUMPDEST
00000f47: PUSH2 0x0f4e
00000f4a: PUSH2 0x334d
00000f4d: JUMP
00000f4e: JUMPDEST
00000f4f: PUSH1 0x0b
00000f51: SLOAD
00000f52: SWAP1
00000f53: PUSH1 0xff
00000f55: DUP3
00000f56: PUSH1 0xc0
00000f58: SHR
00000f59: AND
00000f5a: ISZERO
00000f5b: PUSH2 0x1041
00000f5e: JUMPI
00000f5f: CALLVALUE
00000f60: ISZERO
00000f61: PUSH2 0x0f1c
00000f64: JUMPI
00000f65: PUSH1 0x01
00000f67: PUSH1 0x01
00000f69: PUSH1 0xa0
00000f6b: SHL
00000f6c: SUB
00000f6d: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000f8e: DUP2
00000f8f: AND
00000f90: SWAP3
00000f91: DUP2
00000f92: AND
00000f93: DUP4
00000f94: SWAP1
00000f95: SUB
00000f96: PUSH2 0x102f
00000f99: JUMPI
00000f9a: PUSH2 0x0fa3
00000f9d: CALLVALUE
00000f9e: DUP4
00000f9f: PUSH2 0x34c1
00000fa2: JUMP
00000fa3: JUMPDEST
00000fa4: PUSH2 0x0fb7
00000fa7: PUSH2 0x0fb2
00000faa: CALLVALUE
00000fab: PUSH1 0x0f
00000fad: SLOAD
00000fae: PUSH2 0x2dca
00000fb1: JUMP
00000fb2: JUMPDEST
00000fb3: PUSH1 0x0f
00000fb5: SSTORE
00000fb6: JUMP
00000fb7: JUMPDEST
00000fb8: PUSH1 0x40
00000fba: MLOAD
00000fbb: CALLVALUE
00000fbc: DUP2
00000fbd: MSTORE
00000fbe: SWAP2
00000fbf: AND
00000fc0: SWAP1
00000fc1: CALLER
00000fc2: SWAP1
00000fc3: PUSH32 0x5548c837ab068cf56a2c2479df0882a4922fd203edb7517321831d95078c5f62
00000fe4: SWAP1
00000fe5: PUSH1 0x20
00000fe7: SWAP1
00000fe8: LOG3
00000fe9: DUP1
00000fea: EXTCODESIZE
00000feb: ISZERO
00000fec: PUSH2 0x045e
00000fef: JUMPI
00000ff0: PUSH0
00000ff1: PUSH1 0x04
00000ff3: SWAP2
00000ff4: PUSH1 0x40
00000ff6: MLOAD
00000ff7: SWAP3
00000ff8: DUP4
00000ff9: DUP1
00000ffa: SWAP3
00000ffb: PUSH4 0x0d0e30db
00001000: PUSH1 0xe4
00001002: SHL
00001003: DUP3
00001004: MSTORE
00001005: CALLVALUE
00001006: SWAP1
00001007: GAS
00001008: CALL
00001009: DUP1
0000100a: ISZERO
0000100b: PUSH2 0x084f
0000100e: JUMPI
0000100f: PUSH2 0x101c
00001012: JUMPI
00001013: PUSH2 0x0018
00001016: PUSH1 0x01
00001018: PUSH1 0x0a
0000101a: SSTORE
0000101b: JUMP
0000101c: JUMPDEST
0000101d: DUP1
0000101e: PUSH2 0x0af5
00001021: PUSH2 0x1029
00001024: SWAP3
00001025: PUSH2 0x14a4
00001028: JUMP
00001029: JUMPDEST
0000102a: PUSH0
0000102b: PUSH2 0x0dc8
0000102e: JUMP
0000102f: JUMPDEST
00001030: PUSH1 0x40
00001032: MLOAD
00001033: PUSH4 0x118ba169
00001038: PUSH1 0xe3
0000103a: SHL
0000103b: DUP2
0000103c: MSTORE
0000103d: PUSH1 0x04
0000103f: SWAP1
00001040: REVERT
00001041: JUMPDEST
00001042: PUSH1 0x40
00001044: MLOAD
00001045: PUSH4 0x043fb77f
0000104a: PUSH1 0xe1
0000104c: SHL
0000104d: DUP2
0000104e: MSTORE
0000104f: PUSH1 0x04
00001051: SWAP1
00001052: REVERT
00001053: JUMPDEST
00001054: PUSH4 0xffffffff
00001059: DUP2
0000105a: AND
0000105b: SUB
0000105c: PUSH2 0x045e
0000105f: JUMPI
00001060: JUMP
00001061: JUMPDEST
00001062: CALLVALUE
00001063: PUSH2 0x045e
00001066: JUMPI
00001067: PUSH1 0x40
00001069: CALLDATASIZE
0000106a: PUSH1 0x03
0000106c: NOT
0000106d: ADD
0000106e: SLT
0000106f: PUSH2 0x045e
00001072: JUMPI
00001073: PUSH32 0x238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b
00001094: PUSH1 0x04
00001096: CALLDATALOAD
00001097: PUSH2 0x109f
0000109a: DUP2
0000109b: PUSH2 0x1053
0000109e: JUMP
0000109f: JUMPDEST
000010a0: PUSH1 0x24
000010a2: CALLDATALOAD
000010a3: SWAP1
000010a4: PUSH2 0x10ab
000010a7: PUSH2 0x3322
000010aa: JUMP
000010ab: JUMPDEST
000010ac: PUSH4 0xffffffff
000010b1: DUP2
000010b2: AND
000010b3: PUSH0
000010b4: MSTORE
000010b5: PUSH1 0x01
000010b7: PUSH1 0x20
000010b9: MSTORE
000010ba: DUP2
000010bb: PUSH1 0x40
000010bd: PUSH0
000010be: KECCAK256
000010bf: SSTORE
000010c0: PUSH2 0x10e1
000010c3: PUSH1 0x40
000010c5: MLOAD
000010c6: SWAP3
000010c7: DUP4
000010c8: SWAP3
000010c9: DUP4
000010ca: PUSH1 0x20
000010cc: SWAP1
000010cd: SWAP4
000010ce: SWAP3
000010cf: SWAP2
000010d0: SWAP4
000010d1: PUSH4 0xffffffff
000010d6: PUSH1 0x40
000010d8: DUP3
000010d9: ADD
000010da: SWAP6
000010db: AND
000010dc: DUP2
000010dd: MSTORE
000010de: ADD
000010df: MSTORE
000010e0: JUMP
000010e1: JUMPDEST
000010e2: SUB
000010e3: SWAP1
000010e4: LOG1
000010e5: STOP
000010e6: JUMPDEST
000010e7: CALLVALUE
000010e8: PUSH2 0x045e
000010eb: JUMPI
000010ec: PUSH0
000010ed: CALLDATASIZE
000010ee: PUSH1 0x03
000010f0: NOT
000010f1: ADD
000010f2: SLT
000010f3: PUSH2 0x045e
000010f6: JUMPI
000010f7: PUSH1 0x0b
000010f9: SLOAD
000010fa: PUSH1 0x40
000010fc: MLOAD
000010fd: PUSH1 0x01
000010ff: PUSH1 0x01
00001101: PUSH1 0xa0
00001103: SHL
00001104: SUB
00001105: SWAP1
00001106: SWAP2
00001107: AND
00001108: DUP2
00001109: MSTORE
0000110a: PUSH1 0x20
0000110c: SWAP1
0000110d: RETURN
0000110e: JUMPDEST
0000110f: DUP1
00001110: ISZERO
00001111: ISZERO
00001112: SUB
00001113: PUSH2 0x045e
00001116: JUMPI
00001117: JUMP
00001118: JUMPDEST
00001119: CALLVALUE
0000111a: PUSH2 0x045e
0000111d: JUMPI
0000111e: PUSH1 0x40
00001120: DUP1
00001121: PUSH1 0x03
00001123: NOT
00001124: CALLDATASIZE
00001125: ADD
00001126: SLT
00001127: PUSH2 0x045e
0000112a: JUMPI
0000112b: PUSH1 0x04
0000112d: CALLDATALOAD
0000112e: PUSH1 0x01
00001130: PUSH1 0x01
00001132: PUSH1 0x40
00001134: SHL
00001135: SUB
00001136: DUP2
00001137: GT
00001138: PUSH2 0x045e
0000113b: JUMPI
0000113c: PUSH2 0x1149
0000113f: SWAP1
00001140: CALLDATASIZE
00001141: SWAP1
00001142: PUSH1 0x04
00001144: ADD
00001145: PUSH2 0x0676
00001148: JUMP
00001149: JUMPDEST
0000114a: SWAP1
0000114b: PUSH1 0x24
0000114d: CALLDATALOAD
0000114e: PUSH2 0x1156
00001151: DUP2
00001152: PUSH2 0x110e
00001155: JUMP
00001156: JUMPDEST
00001157: PUSH2 0x115e
0000115a: PUSH2 0x2d0a
0000115d: JUMP
0000115e: JUMPDEST
0000115f: POP
00001160: PUSH1 0x60
00001162: DUP4
00001163: ADD
00001164: CALLDATALOAD
00001165: DUP4
00001166: CALLDATALOAD
00001167: SWAP4
00001168: PUSH2 0x1170
0000116b: DUP6
0000116c: PUSH2 0x1053
0000116f: JUMP
00001170: JUMPDEST
00001171: PUSH2 0x11a6
00001174: PUSH32 0x000000000000000000000000000000000000000000000000000000e8d4a51000
00001195: PUSH2 0x11a1
00001198: DUP2
00001199: DUP8
0000119a: DUP6
0000119b: ADD
0000119c: CALLDATALOAD
0000119d: PUSH2 0x3a35
000011a0: JUMP
000011a1: JUMPDEST
000011a2: PUSH2 0x3a53
000011a5: JUMP
000011a6: JUMPDEST
000011a7: SWAP2
000011a8: DUP1
000011a9: DUP4
000011aa: LT
000011ab: PUSH2 0x12b3
000011ae: JUMPI
000011af: POP
000011b0: DUP4
000011b1: SWAP3
000011b2: PUSH2 0x11c2
000011b5: PUSH2 0x1227
000011b8: SWAP7
000011b9: SWAP4
000011ba: PUSH2 0x120c
000011bd: SWAP4
000011be: PUSH2 0x356d
000011c1: JUMP
000011c2: JUMPDEST
000011c3: SWAP1
000011c4: PUSH2 0x11cc
000011c7: DUP6
000011c8: PUSH2 0x1053
000011cb: JUMP
000011cc: JUMPDEST
000011cd: PUSH2 0x11d4
000011d0: PUSH2 0x2d0a
000011d3: JUMP
000011d4: JUMPDEST
000011d5: POP
000011d6: PUSH2 0x11de
000011d9: DUP6
000011da: PUSH2 0x31a1
000011dd: JUMP
000011de: JUMPDEST
000011df: PUSH2 0x11f5
000011e2: PUSH2 0x11e9
000011e5: PUSH2 0x2cfd
000011e8: JUMP
000011e9: JUMPDEST
000011ea: PUSH4 0xffffffff
000011ef: SWAP1
000011f0: SWAP8
000011f1: AND
000011f2: DUP8
000011f3: MSTORE
000011f4: JUMP
000011f5: JUMPDEST
000011f6: PUSH1 0x20
000011f8: DUP7
000011f9: ADD
000011fa: MSTORE
000011fb: DUP6
000011fc: DUP6
000011fd: ADD
000011fe: MSTORE
000011ff: PUSH1 0x60
00001201: DUP5
00001202: ADD
00001203: MSTORE
00001204: ISZERO
00001205: ISZERO
00001206: PUSH1 0x80
00001208: DUP4
00001209: ADD
0000120a: MSTORE
0000120b: JUMP
0000120c: JUMPDEST
0000120d: DUP2
0000120e: MLOAD
0000120f: DUP1
00001210: SWAP5
00001211: DUP2
00001212: SWAP3
00001213: PUSH4 0x1bb8518b
00001218: PUSH1 0xe3
0000121a: SHL
0000121b: DUP4
0000121c: MSTORE
0000121d: ADDRESS
0000121e: SWAP1
0000121f: PUSH1 0x04
00001221: DUP5
00001222: ADD
00001223: PUSH2 0x36b7
00001226: JUMP
00001227: JUMPDEST
00001228: SUB
00001229: DUP2
0000122a: PUSH32 0x0000000000000000000000001a44076050125825900e736c501f859c50fe728c
0000124b: PUSH1 0x01
0000124d: PUSH1 0x01
0000124f: PUSH1 0xa0
00001251: SHL
00001252: SUB
00001253: AND
00001254: GAS
00001255: STATICCALL
00001256: SWAP1
00001257: DUP2
00001258: ISZERO
00001259: PUSH2 0x084f
0000125c: JUMPI
0000125d: PUSH2 0x0515
00001260: SWAP3
00001261: PUSH0
00001262: SWAP3
00001263: PUSH2 0x1284
00001266: JUMPI
00001267: JUMPDEST
00001268: POP
00001269: MLOAD
0000126a: SWAP2
0000126b: DUP3
0000126c: SWAP2
0000126d: DUP3
0000126e: DUP2
0000126f: MLOAD
00001270: DUP2
00001271: MSTORE
00001272: PUSH1 0x20
00001274: SWAP2
00001275: DUP3
00001276: ADD
00001277: MLOAD
00001278: SWAP2
00001279: DUP2
0000127a: ADD
0000127b: SWAP2
0000127c: SWAP1
0000127d: SWAP2
0000127e: MSTORE
0000127f: PUSH1 0x40
00001281: ADD
00001282: SWAP1
00001283: JUMP
00001284: JUMPDEST
00001285: DUP2
00001286: PUSH2 0x12a5
00001289: SWAP3
0000128a: SWAP4
0000128b: POP
0000128c: RETURNDATASIZE
0000128d: DUP5
0000128e: GT
0000128f: PUSH2 0x12ac
00001292: JUMPI
00001293: JUMPDEST
00001294: PUSH2 0x129d
00001297: DUP2
00001298: DUP4
00001299: PUSH2 0x150d
0000129c: JUMP
0000129d: JUMPDEST
0000129e: DUP2
0000129f: ADD
000012a0: SWAP1
000012a1: PUSH2 0x36a3
000012a4: JUMP
000012a5: JUMPDEST
000012a6: SWAP1
000012a7: PUSH0
000012a8: PUSH2 0x1267
000012ab: JUMP
000012ac: JUMPDEST
000012ad: POP
000012ae: RETURNDATASIZE
000012af: PUSH2 0x1293
000012b2: JUMP
000012b3: JUMPDEST
000012b4: DUP3
000012b5: PUSH1 0x44
000012b7: SWAP2
000012b8: DUP7
000012b9: MLOAD
000012ba: SWAP2
000012bb: PUSH4 0x71c4efed
000012c0: PUSH1 0xe0
000012c2: SHL
000012c3: DUP4
000012c4: MSTORE
000012c5: PUSH1 0x04
000012c7: DUP4
000012c8: ADD
000012c9: MSTORE
000012ca: PUSH1 0x24
000012cc: DUP3
000012cd: ADD
000012ce: MSTORE
000012cf: REVERT
000012d0: JUMPDEST
000012d1: CALLVALUE
000012d2: PUSH2 0x045e
000012d5: JUMPI
000012d6: PUSH1 0x40
000012d8: CALLDATASIZE
000012d9: PUSH1 0x03
000012db: NOT
000012dc: ADD
000012dd: SLT
000012de: PUSH2 0x045e
000012e1: JUMPI
000012e2: PUSH1 0x04
000012e4: CALLDATALOAD
000012e5: PUSH2 0x12ed
000012e8: DUP2
000012e9: PUSH2 0x059c
000012ec: JUMP
000012ed: JUMPDEST
000012ee: PUSH1 0x24
000012f0: CALLDATALOAD
000012f1: PUSH2 0x12f8
000012f4: PUSH2 0x334d
000012f7: JUMP
000012f8: JUMPDEST
000012f9: PUSH1 0x0b
000012fb: SLOAD
000012fc: PUSH2 0x130d
000012ff: SWAP1
00001300: PUSH1 0xc0
00001302: SHR
00001303: PUSH1 0xff
00001305: AND
00001306: ISZERO
00001307: SWAP1
00001308: JUMP
00001309: JUMPDEST
0000130a: ISZERO
0000130b: SWAP1
0000130c: JUMP
0000130d: JUMPDEST
0000130e: PUSH2 0x1041
00001311: JUMPI
00001312: DUP1
00001313: ISZERO
00001314: PUSH2 0x0f1c
00001317: JUMPI
00001318: DUP2
00001319: PUSH2 0x1325
0000131c: DUP3
0000131d: PUSH2 0x0dc8
00001320: SWAP5
00001321: PUSH2 0x34c1
00001324: JUMP
00001325: JUMPDEST
00001326: PUSH2 0x1334
00001329: PUSH2 0x0fb2
0000132c: DUP4
0000132d: PUSH1 0x0f
0000132f: SLOAD
00001330: PUSH2 0x2dca
00001333: JUMP
00001334: JUMPDEST
00001335: PUSH1 0x40
00001337: MLOAD
00001338: DUP3
00001339: DUP2
0000133a: MSTORE
0000133b: PUSH1 0x01
0000133d: PUSH1 0x01
0000133f: PUSH1 0xa0
00001341: SHL
00001342: SUB
00001343: SWAP2
00001344: SWAP1
00001345: SWAP2
00001346: AND
00001347: SWAP1
00001348: CALLER
00001349: SWAP1
0000134a: PUSH32 0x5548c837ab068cf56a2c2479df0882a4922fd203edb7517321831d95078c5f62
0000136b: SWAP1
0000136c: PUSH1 0x20
0000136e: SWAP1
0000136f: LOG3
00001370: PUSH1 0x0b
00001372: SLOAD
00001373: PUSH2 0x1384
00001376: SWAP1
00001377: PUSH1 0x01
00001379: PUSH1 0x01
0000137b: PUSH1 0xa0
0000137d: SHL
0000137e: SUB
0000137f: AND
00001380: PUSH2 0x09dd
00001383: JUMP
00001384: JUMPDEST
00001385: ADDRESS
00001386: SWAP1
00001387: CALLER
00001388: SWAP1
00001389: PUSH2 0x33bf
0000138c: JUMP
0000138d: JUMPDEST
0000138e: CALLVALUE
0000138f: PUSH2 0x045e
00001392: JUMPI
00001393: PUSH0
00001394: CALLDATASIZE
00001395: PUSH1 0x03
00001397: NOT
00001398: ADD
00001399: SLT
0000139a: PUSH2 0x045e
0000139d: JUMPI
0000139e: PUSH1 0x20
000013a0: PUSH1 0x40
000013a2: MLOAD
000013a3: ADDRESS
000013a4: DUP2
000013a5: MSTORE
000013a6: RETURN
000013a7: JUMPDEST
000013a8: PUSH1 0x24
000013aa: CALLDATALOAD
000013ab: SWAP1
000013ac: PUSH2 0xffff
000013af: DUP3
000013b0: AND
000013b1: DUP3
000013b2: SUB
000013b3: PUSH2 0x045e
000013b6: JUMPI
000013b7: JUMP
000013b8: JUMPDEST
000013b9: CALLDATALOAD
000013ba: SWAP1
000013bb: PUSH2 0xffff
000013be: DUP3
000013bf: AND
000013c0: DUP3
000013c1: SUB
000013c2: PUSH2 0x045e
000013c5: JUMPI
000013c6: JUMP
000013c7: JUMPDEST
000013c8: SWAP1
000013c9: PUSH1 0x01
000013cb: DUP3
000013cc: DUP2
000013cd: SHR
000013ce: SWAP3
000013cf: AND
000013d0: DUP1
000013d1: ISZERO
000013d2: PUSH2 0x13f5
000013d5: JUMPI
000013d6: JUMPDEST
000013d7: PUSH1 0x20
000013d9: DUP4
000013da: LT
000013db: EQ
000013dc: PUSH2 0x13e1
000013df: JUMPI
000013e0: JUMP
000013e1: JUMPDEST
000013e2: PUSH4 0x4e487b71
000013e7: PUSH1 0xe0
000013e9: SHL
000013ea: PUSH0
000013eb: MSTORE
000013ec: PUSH1 0x22
000013ee: PUSH1 0x04
000013f0: MSTORE
000013f1: PUSH1 0x24
000013f3: PUSH0
000013f4: REVERT
000013f5: JUMPDEST
000013f6: SWAP2
000013f7: PUSH1 0x7f
000013f9: AND
000013fa: SWAP2
000013fb: PUSH2 0x13d6
000013fe: JUMP
000013ff: JUMPDEST
00001400: DUP1
00001401: SLOAD
00001402: PUSH0
00001403: SWAP4
00001404: SWAP3
00001405: PUSH2 0x140d
00001408: DUP3
00001409: PUSH2 0x13c7
0000140c: JUMP
0000140d: JUMPDEST
0000140e: SWAP2
0000140f: DUP3
00001410: DUP3
00001411: MSTORE
00001412: PUSH1 0x20
00001414: SWAP4
00001415: PUSH1 0x01
00001417: SWAP2
00001418: PUSH1 0x01
0000141a: DUP2
0000141b: AND
0000141c: SWAP1
0000141d: DUP2
0000141e: PUSH0
0000141f: EQ
00001420: PUSH2 0x1471
00001423: JUMPI
00001424: POP
00001425: PUSH1 0x01
00001427: EQ
00001428: PUSH2 0x1433
0000142b: JUMPI
0000142c: JUMPDEST
0000142d: POP
0000142e: POP
0000142f: POP
00001430: POP
00001431: POP
00001432: JUMP
00001433: JUMPDEST
00001434: SWAP1
00001435: SWAP4
00001436: SWAP5
00001437: SWAP6
00001438: POP
00001439: PUSH0
0000143a: SWAP3
0000143b: SWAP2
0000143c: SWAP3
0000143d: MSTORE
0000143e: DUP4
0000143f: PUSH0
00001440: KECCAK256
00001441: SWAP3
00001442: DUP5
00001443: PUSH0
00001444: SWAP5
00001445: JUMPDEST
00001446: DUP4
00001447: DUP7
00001448: LT
00001449: PUSH2 0x145d
0000144c: JUMPI
0000144d: POP
0000144e: POP
0000144f: POP
00001450: POP
00001451: ADD
00001452: ADD
00001453: SWAP1
00001454: PUSH0
00001455: DUP1
00001456: DUP1
00001457: DUP1
00001458: DUP1
00001459: PUSH2 0x142c
0000145c: JUMP
0000145d: JUMPDEST
0000145e: DUP1
0000145f: SLOAD
00001460: DUP6
00001461: DUP8
00001462: ADD
00001463: DUP4
00001464: ADD
00001465: MSTORE
00001466: SWAP5
00001467: ADD
00001468: SWAP4
00001469: DUP6
0000146a: SWAP1
0000146b: DUP3
0000146c: ADD
0000146d: PUSH2 0x1445
00001470: JUMP
00001471: JUMPDEST
00001472: PUSH1 0xff
00001474: NOT
00001475: AND
00001476: DUP7
00001477: DUP6
00001478: ADD
00001479: MSTORE
0000147a: POP
0000147b: POP
0000147c: POP
0000147d: SWAP1
0000147e: ISZERO
0000147f: ISZERO
00001480: PUSH1 0x05
00001482: SHL
00001483: ADD
00001484: ADD
00001485: SWAP2
00001486: POP
00001487: PUSH0
00001488: DUP1
00001489: DUP1
0000148a: DUP1
0000148b: DUP1
0000148c: PUSH2 0x142c
0000148f: JUMP
00001490: JUMPDEST
00001491: PUSH4 0x4e487b71
00001496: PUSH1 0xe0
00001498: SHL
00001499: PUSH0
0000149a: MSTORE
0000149b: PUSH1 0x41
0000149d: PUSH1 0x04
0000149f: MSTORE
000014a0: PUSH1 0x24
000014a2: PUSH0
000014a3: REVERT
000014a4: JUMPDEST
000014a5: PUSH1 0x01
000014a7: PUSH1 0x01
000014a9: PUSH1 0x40
000014ab: SHL
000014ac: SUB
000014ad: DUP2
000014ae: GT
000014af: PUSH2 0x14b7
000014b2: JUMPI
000014b3: PUSH1 0x40
000014b5: MSTORE
000014b6: JUMP
000014b7: JUMPDEST
000014b8: PUSH2 0x1490
000014bb: JUMP
000014bc: JUMPDEST
000014bd: PUSH1 0x60
000014bf: DUP2
000014c0: ADD
000014c1: SWAP1
000014c2: DUP2
000014c3: LT
000014c4: PUSH1 0x01
000014c6: PUSH1 0x01
000014c8: PUSH1 0x40
000014ca: SHL
000014cb: SUB
000014cc: DUP3
000014cd: GT
000014ce: OR
000014cf: PUSH2 0x14b7
000014d2: JUMPI
000014d3: PUSH1 0x40
000014d5: MSTORE
000014d6: JUMP
000014d7: JUMPDEST
000014d8: PUSH1 0x40
000014da: DUP2
000014db: ADD
000014dc: SWAP1
000014dd: DUP2
000014de: LT
000014df: PUSH1 0x01
000014e1: PUSH1 0x01
000014e3: PUSH1 0x40
000014e5: SHL
000014e6: SUB
000014e7: DUP3
000014e8: GT
000014e9: OR
000014ea: PUSH2 0x14b7
000014ed: JUMPI
000014ee: PUSH1 0x40
000014f0: MSTORE
000014f1: JUMP
000014f2: JUMPDEST
000014f3: PUSH1 0xa0
000014f5: DUP2
000014f6: ADD
000014f7: SWAP1
000014f8: DUP2
000014f9: LT
000014fa: PUSH1 0x01
000014fc: PUSH1 0x01
000014fe: PUSH1 0x40
00001500: SHL
00001501: SUB
00001502: DUP3
00001503: GT
00001504: OR
00001505: PUSH2 0x14b7
00001508: JUMPI
00001509: PUSH1 0x40
0000150b: MSTORE
0000150c: JUMP
0000150d: JUMPDEST
0000150e: SWAP1
0000150f: PUSH1 0x1f
00001511: DUP1
00001512: NOT
00001513: SWAP2
00001514: ADD
00001515: AND
00001516: DUP2
00001517: ADD
00001518: SWAP1
00001519: DUP2
0000151a: LT
0000151b: PUSH1 0x01
0000151d: PUSH1 0x01
0000151f: PUSH1 0x40
00001521: SHL
00001522: SUB
00001523: DUP3
00001524: GT
00001525: OR
00001526: PUSH2 0x14b7
00001529: JUMPI
0000152a: PUSH1 0x40
0000152c: MSTORE
0000152d: JUMP
0000152e: JUMPDEST
0000152f: CALLVALUE
00001530: PUSH2 0x045e
00001533: JUMPI
00001534: PUSH1 0x40
00001536: CALLDATASIZE
00001537: PUSH1 0x03
00001539: NOT
0000153a: ADD
0000153b: SLT
0000153c: PUSH2 0x045e
0000153f: JUMPI
00001540: PUSH2 0x0515
00001543: PUSH2 0x158e
00001546: PUSH2 0x1595
00001549: PUSH2 0x1582
0000154c: PUSH1 0x04
0000154e: CALLDATALOAD
0000154f: PUSH2 0x1557
00001552: DUP2
00001553: PUSH2 0x1053
00001556: JUMP
00001557: JUMPDEST
00001558: PUSH4 0xffffffff
0000155d: PUSH2 0x1564
00001560: PUSH2 0x13a7
00001563: JUMP
00001564: JUMPDEST
00001565: SWAP2
00001566: AND
00001567: PUSH0
00001568: MSTORE
00001569: PUSH1 0x03
0000156b: PUSH1 0x20
0000156d: MSTORE
0000156e: PUSH1 0x40
00001570: PUSH0
00001571: KECCAK256
00001572: SWAP1
00001573: PUSH2 0xffff
00001576: AND
00001577: PUSH0
00001578: MSTORE
00001579: PUSH1 0x20
0000157b: MSTORE
0000157c: PUSH1 0x40
0000157e: PUSH0
0000157f: KECCAK256
00001580: SWAP1
00001581: JUMP
00001582: JUMPDEST
00001583: PUSH1 0x40
00001585: MLOAD
00001586: SWAP3
00001587: DUP4
00001588: DUP1
00001589: SWAP3
0000158a: PUSH2 0x13ff
0000158d: JUMP
0000158e: JUMPDEST
0000158f: SUB
00001590: DUP3
00001591: PUSH2 0x150d
00001594: JUMP
00001595: JUMPDEST
00001596: PUSH1 0x40
00001598: MLOAD
00001599: SWAP2
0000159a: DUP3
0000159b: SWAP2
0000159c: PUSH1 0x20
0000159e: DUP4
0000159f: MSTORE
000015a0: PUSH1 0x20
000015a2: DUP4
000015a3: ADD
000015a4: SWAP1
000015a5: PUSH2 0x0483
000015a8: JUMP
000015a9: JUMPDEST
000015aa: CALLVALUE
000015ab: PUSH2 0x045e
000015ae: JUMPI
000015af: PUSH1 0x40
000015b1: CALLDATASIZE
000015b2: PUSH1 0x03
000015b4: NOT
000015b5: ADD
000015b6: SLT
000015b7: PUSH2 0x045e
000015ba: JUMPI
000015bb: PUSH1 0x20
000015bd: PUSH2 0x15e5
000015c0: PUSH1 0x04
000015c2: CALLDATALOAD
000015c3: PUSH2 0x15cb
000015c6: DUP2
000015c7: PUSH2 0x1053
000015ca: JUMP
000015cb: JUMPDEST
000015cc: PUSH1 0x24
000015ce: CALLDATALOAD
000015cf: SWAP1
000015d0: PUSH4 0xffffffff
000015d5: AND
000015d6: PUSH0
000015d7: MSTORE
000015d8: PUSH1 0x01
000015da: PUSH1 0x20
000015dc: MSTORE
000015dd: PUSH1 0x40
000015df: PUSH0
000015e0: KECCAK256
000015e1: SLOAD
000015e2: EQ
000015e3: SWAP1
000015e4: JUMP
000015e5: JUMPDEST
000015e6: PUSH1 0x40
000015e8: MLOAD
000015e9: SWAP1
000015ea: ISZERO
000015eb: ISZERO
000015ec: DUP2
000015ed: MSTORE
000015ee: RETURN
000015ef: JUMPDEST
000015f0: CALLVALUE
000015f1: PUSH2 0x045e
000015f4: JUMPI
000015f5: PUSH0
000015f6: CALLDATASIZE
000015f7: PUSH1 0x03
000015f9: NOT
000015fa: ADD
000015fb: SLT
000015fc: PUSH2 0x045e
000015ff: JUMPI
00001600: PUSH1 0x40
00001602: MLOAD
00001603: PUSH32 0x0000000000000000000000001a44076050125825900e736c501f859c50fe728c
00001624: PUSH1 0x01
00001626: PUSH1 0x01
00001628: PUSH1 0xa0
0000162a: SHL
0000162b: SUB
0000162c: AND
0000162d: DUP2
0000162e: MSTORE
0000162f: PUSH1 0x20
00001631: SWAP1
00001632: RETURN
00001633: JUMPDEST
00001634: CALLVALUE
00001635: PUSH2 0x045e
00001638: JUMPI
00001639: PUSH0
0000163a: CALLDATASIZE
0000163b: PUSH1 0x03
0000163d: NOT
0000163e: ADD
0000163f: SLT
00001640: PUSH2 0x045e
00001643: JUMPI
00001644: PUSH1 0x20
00001646: PUSH1 0x0f
00001648: SLOAD
00001649: PUSH1 0x40
0000164b: MLOAD
0000164c: SWAP1
0000164d: DUP2
0000164e: MSTORE
0000164f: RETURN
00001650: JUMPDEST
00001651: CALLVALUE
00001652: PUSH2 0x045e
00001655: JUMPI
00001656: PUSH1 0x20
00001658: CALLDATASIZE
00001659: PUSH1 0x03
0000165b: NOT
0000165c: ADD
0000165d: SLT
0000165e: PUSH2 0x045e
00001661: JUMPI
00001662: PUSH1 0x04
00001664: CALLDATALOAD
00001665: PUSH2 0x166d
00001668: DUP2
00001669: PUSH2 0x059c
0000166c: JUMP
0000166d: JUMPDEST
0000166e: PUSH2 0x1675
00001671: PUSH2 0x334d
00001674: JUMP
00001675: JUMPDEST
00001676: CALLER
00001677: PUSH0
00001678: SWAP1
00001679: DUP2
0000167a: MSTORE
0000167b: PUSH1 0x0d
0000167d: PUSH1 0x20
0000167f: MSTORE
00001680: PUSH1 0x40
00001682: SWAP1
00001683: KECCAK256
00001684: PUSH2 0x168c
00001687: SWAP1
00001688: PUSH2 0x2dd7
0000168b: JUMP
0000168c: JUMPDEST
0000168d: DUP1
0000168e: MLOAD
0000168f: SWAP1
00001690: SWAP2
00001691: SWAP1
00001692: PUSH1 0x01
00001694: PUSH1 0x01
00001696: PUSH1 0xe0
00001698: SHL
00001699: SUB
0000169a: AND
0000169b: ISZERO
0000169c: PUSH2 0x0f1c
0000169f: JUMPI
000016a0: PUSH1 0x20
000016a2: DUP3
000016a3: ADD
000016a4: MLOAD
000016a5: PUSH4 0xffffffff
000016aa: AND
000016ab: PUSH4 0xffffffff
000016b0: PUSH2 0x16ce
000016b3: PUSH2 0x16c5
000016b6: PUSH1 0x0b
000016b8: SLOAD
000016b9: PUSH4 0xffffffff
000016be: SWAP1
000016bf: PUSH1 0xa0
000016c1: SHR
000016c2: AND
000016c3: SWAP1
000016c4: JUMP
000016c5: JUMPDEST
000016c6: PUSH4 0xffffffff
000016cb: AND
000016cc: SWAP1
000016cd: JUMP
000016ce: JUMPDEST
000016cf: SWAP2
000016d0: AND
000016d1: LT
000016d2: ISZERO
000016d3: PUSH2 0x175f
000016d6: JUMPI
000016d7: CALLER
000016d8: PUSH0
000016d9: SWAP1
000016da: DUP2
000016db: MSTORE
000016dc: PUSH1 0x0d
000016de: PUSH1 0x20
000016e0: MSTORE
000016e1: PUSH1 0x40
000016e3: DUP2
000016e4: KECCAK256
000016e5: PUSH2 0x0dc8
000016e8: SWAP4
000016e9: PUSH2 0x170b
000016ec: SWAP3
000016ed: PUSH2 0x16ff
000016f0: SWAP3
000016f1: JUMPDEST
000016f2: SSTORE
000016f3: MLOAD
000016f4: PUSH1 0x01
000016f6: PUSH1 0x01
000016f8: PUSH1 0xe0
000016fa: SHL
000016fb: SUB
000016fc: AND
000016fd: SWAP1
000016fe: JUMP
000016ff: JUMPDEST
00001700: PUSH1 0x01
00001702: PUSH1 0x01
00001704: PUSH1 0xe0
00001706: SHL
00001707: SUB
00001708: AND
00001709: SWAP1
0000170a: JUMP
0000170b: JUMPDEST
0000170c: PUSH1 0x40
0000170e: MLOAD
0000170f: DUP2
00001710: DUP2
00001711: MSTORE
00001712: SWAP1
00001713: SWAP2
00001714: SWAP1
00001715: PUSH1 0x01
00001717: PUSH1 0x01
00001719: PUSH1 0xa0
0000171b: SHL
0000171c: SUB
0000171d: DUP3
0000171e: AND
0000171f: SWAP1
00001720: PUSH32 0x7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5
00001741: SWAP1
00001742: PUSH1 0x20
00001744: SWAP1
00001745: LOG2
00001746: PUSH1 0x0b
00001748: SLOAD
00001749: PUSH2 0x175a
0000174c: SWAP1
0000174d: PUSH1 0x01
0000174f: PUSH1 0x01
00001751: PUSH1 0xa0
00001753: SHL
00001754: SUB
00001755: AND
00001756: PUSH2 0x09dd
00001759: JUMP
0000175a: JUMPDEST
0000175b: PUSH2 0x3370
0000175e: JUMP
0000175f: JUMPDEST
00001760: PUSH1 0x40
00001762: MLOAD
00001763: PUSH4 0x258e84af
00001768: PUSH1 0xe1
0000176a: SHL
0000176b: DUP2
0000176c: MSTORE
0000176d: PUSH1 0x04
0000176f: SWAP1
00001770: REVERT
00001771: JUMPDEST
00001772: PUSH1 0x20
00001774: CALLDATASIZE
00001775: PUSH1 0x03
00001777: NOT
00001778: ADD
00001779: SLT
0000177a: PUSH2 0x045e
0000177d: JUMPI
0000177e: PUSH1 0x04
00001780: CALLDATALOAD
00001781: PUSH2 0x1789
00001784: DUP2
00001785: PUSH2 0x059c
00001788: JUMP
00001789: JUMPDEST
0000178a: PUSH2 0x1791
0000178d: PUSH2 0x334d
00001790: JUMP
00001791: JUMPDEST
00001792: PUSH1 0x0c
00001794: SLOAD
00001795: PUSH1 0x01
00001797: PUSH1 0x01
00001799: PUSH1 0xa0
0000179b: SHL
0000179c: SUB
0000179d: SWAP2
0000179e: SWAP1
0000179f: DUP3
000017a0: AND
000017a1: CALLER
000017a2: DUP2
000017a3: SWAP1
000017a4: SUB
000017a5: PUSH2 0x0e8c
000017a8: JUMPI
000017a9: CALLVALUE
000017aa: ISZERO
000017ab: PUSH2 0x0f1c
000017ae: JUMPI
000017af: PUSH1 0x0b
000017b1: SLOAD
000017b2: DUP4
000017b3: SWAP1
000017b4: PUSH1 0x01
000017b6: PUSH1 0x01
000017b8: PUSH1 0xa0
000017ba: SHL
000017bb: SUB
000017bc: AND
000017bd: DUP2
000017be: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000017df: AND
000017e0: SWAP5
000017e1: DUP6
000017e2: SWAP2
000017e3: AND
000017e4: SUB
000017e5: PUSH2 0x102f
000017e8: JUMPI
000017e9: PUSH2 0x1814
000017ec: PUSH32 0x9f27a22fea017c09821db9e9e1700a69ddd6121050f29a783f8ca5f6876865f3
0000180d: SWAP3
0000180e: CALLVALUE
0000180f: SWAP1
00001810: PUSH2 0x34c1
00001813: JUMP
00001814: JUMPDEST
00001815: PUSH2 0x1823
00001818: PUSH2 0x0fb2
0000181b: CALLVALUE
0000181c: PUSH1 0x0f
0000181e: SLOAD
0000181f: PUSH2 0x2dca
00001822: JUMP
00001823: JUMPDEST
00001824: PUSH1 0x40
00001826: MLOAD
00001827: CALLVALUE
00001828: DUP2
00001829: MSTORE
0000182a: SWAP3
0000182b: AND
0000182c: SWAP2
0000182d: PUSH1 0x20
0000182f: SWAP1
00001830: LOG2
00001831: DUP1
00001832: EXTCODESIZE
00001833: ISZERO
00001834: PUSH2 0x045e
00001837: JUMPI
00001838: PUSH0
00001839: PUSH1 0x04
0000183b: SWAP2
0000183c: PUSH1 0x40
0000183e: MLOAD
0000183f: SWAP3
00001840: DUP4
00001841: DUP1
00001842: SWAP3
00001843: PUSH4 0x0d0e30db
00001848: PUSH1 0xe4
0000184a: SHL
0000184b: DUP3
0000184c: MSTORE
0000184d: CALLVALUE
0000184e: SWAP1
0000184f: GAS
00001850: CALL
00001851: DUP1
00001852: ISZERO
00001853: PUSH2 0x084f
00001856: JUMPI
00001857: PUSH2 0x101c
0000185a: JUMPI
0000185b: PUSH2 0x0018
0000185e: PUSH1 0x01
00001860: PUSH1 0x0a
00001862: SSTORE
00001863: JUMP
00001864: JUMPDEST
00001865: CALLVALUE
00001866: PUSH2 0x045e
00001869: JUMPI
0000186a: PUSH1 0x20
0000186c: CALLDATASIZE
0000186d: PUSH1 0x03
0000186f: NOT
00001870: ADD
00001871: SLT
00001872: PUSH2 0x045e
00001875: JUMPI
00001876: PUSH32 0xf0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d4414197
00001897: PUSH1 0x20
00001899: PUSH1 0x04
0000189b: CALLDATALOAD
0000189c: PUSH2 0x18a4
0000189f: DUP2
000018a0: PUSH2 0x059c
000018a3: JUMP
000018a4: JUMPDEST
000018a5: PUSH2 0x18ac
000018a8: PUSH2 0x3322
000018ab: JUMP
000018ac: JUMPDEST
000018ad: PUSH1 0x04
000018af: DUP1
000018b0: SLOAD
000018b1: PUSH1 0x01
000018b3: PUSH1 0x01
000018b5: PUSH1 0xa0
000018b7: SHL
000018b8: SUB
000018b9: NOT
000018ba: AND
000018bb: PUSH1 0x01
000018bd: PUSH1 0x01
000018bf: PUSH1 0xa0
000018c1: SHL
000018c2: SUB
000018c3: SWAP3
000018c4: SWAP1
000018c5: SWAP3
000018c6: AND
000018c7: SWAP2
000018c8: DUP3
000018c9: OR
000018ca: SWAP1
000018cb: SSTORE
000018cc: PUSH1 0x40
000018ce: MLOAD
000018cf: SWAP1
000018d0: DUP2
000018d1: MSTORE
000018d2: LOG1
000018d3: STOP
000018d4: JUMPDEST
000018d5: CALLVALUE
000018d6: PUSH2 0x045e
000018d9: JUMPI
000018da: PUSH1 0x20
000018dc: CALLDATASIZE
000018dd: PUSH1 0x03
000018df: NOT
000018e0: ADD
000018e1: SLT
000018e2: PUSH2 0x045e
000018e5: JUMPI
000018e6: PUSH1 0x04
000018e8: CALLDATALOAD
000018e9: PUSH2 0x18f1
000018ec: DUP2
000018ed: PUSH2 0x059c
000018f0: JUMP
000018f1: JUMPDEST
000018f2: PUSH1 0x01
000018f4: DUP1
000018f5: PUSH1 0xa0
000018f7: SHL
000018f8: SUB
000018f9: AND
000018fa: PUSH0
000018fb: MSTORE
000018fc: PUSH1 0x05
000018fe: PUSH1 0x20
00001900: MSTORE
00001901: PUSH1 0x20
00001903: PUSH1 0x40
00001905: PUSH0
00001906: KECCAK256
00001907: SLOAD
00001908: PUSH1 0x40
0000190a: MLOAD
0000190b: SWAP1
0000190c: DUP2
0000190d: MSTORE
0000190e: RETURN
0000190f: JUMPDEST
00001910: CALLVALUE
00001911: PUSH2 0x045e
00001914: JUMPI
00001915: PUSH0
00001916: CALLDATASIZE
00001917: PUSH1 0x03
00001919: NOT
0000191a: ADD
0000191b: SLT
0000191c: PUSH2 0x045e
0000191f: JUMPI
00001920: PUSH2 0x1927
00001923: PUSH2 0x3322
00001926: JUMP
00001927: JUMPDEST
00001928: PUSH0
00001929: DUP1
0000192a: SLOAD
0000192b: PUSH1 0x01
0000192d: PUSH1 0x01
0000192f: PUSH1 0xa0
00001931: SHL
00001932: SUB
00001933: NOT
00001934: DUP2
00001935: AND
00001936: DUP3
00001937: SSTORE
00001938: PUSH1 0x01
0000193a: PUSH1 0x01
0000193c: PUSH1 0xa0
0000193e: SHL
0000193f: SUB
00001940: AND
00001941: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00001962: DUP3
00001963: DUP1
00001964: LOG3
00001965: STOP
00001966: JUMPDEST
00001967: CALLVALUE
00001968: PUSH2 0x045e
0000196b: JUMPI
0000196c: PUSH1 0x20
0000196e: CALLDATASIZE
0000196f: PUSH1 0x03
00001971: NOT
00001972: ADD
00001973: SLT
00001974: PUSH2 0x045e
00001977: JUMPI
00001978: PUSH1 0x04
0000197a: CALLDATALOAD
0000197b: PUSH2 0x1983
0000197e: DUP2
0000197f: PUSH2 0x059c
00001982: JUMP
00001983: JUMPDEST
00001984: PUSH2 0x198b
00001987: PUSH2 0x3322
0000198a: JUMP
0000198b: JUMPDEST
0000198c: PUSH1 0x01
0000198e: PUSH1 0x01
00001990: PUSH1 0xa0
00001992: SHL
00001993: SUB
00001994: AND
00001995: DUP1
00001996: ISZERO
00001997: PUSH2 0x19db
0000199a: JUMPI
0000199b: PUSH1 0x20
0000199d: DUP2
0000199e: PUSH32 0xdc3dba1d64dd67c0dc8b12621edd0c6ca4303a9073c3a8fcac38115e73d67b6b
000019bf: SWAP3
000019c0: PUSH1 0x01
000019c2: PUSH1 0x01
000019c4: PUSH1 0x60
000019c6: SHL
000019c7: SUB
000019c8: PUSH1 0xa0
000019ca: SHL
000019cb: PUSH1 0x0c
000019cd: SLOAD
000019ce: AND
000019cf: OR
000019d0: PUSH1 0x0c
000019d2: SSTORE
000019d3: PUSH1 0x40
000019d5: MLOAD
000019d6: SWAP1
000019d7: DUP2
000019d8: MSTORE
000019d9: LOG1
000019da: STOP
000019db: JUMPDEST
000019dc: PUSH1 0x40
000019de: MLOAD
000019df: PUSH4 0x09be64cd
000019e4: PUSH1 0xe4
000019e6: SHL
000019e7: DUP2
000019e8: MSTORE
000019e9: PUSH1 0x04
000019eb: SWAP1
000019ec: REVERT
000019ed: JUMPDEST
000019ee: CALLVALUE
000019ef: PUSH2 0x045e
000019f2: JUMPI
000019f3: PUSH0
000019f4: CALLDATASIZE
000019f5: PUSH1 0x03
000019f7: NOT
000019f8: ADD
000019f9: SLT
000019fa: PUSH2 0x045e
000019fd: JUMPI
000019fe: PUSH1 0x20
00001a00: PUSH4 0xffffffff
00001a05: PUSH1 0x0b
00001a07: SLOAD
00001a08: PUSH1 0xa0
00001a0a: SHR
00001a0b: AND
00001a0c: PUSH1 0x40
00001a0e: MLOAD
00001a0f: SWAP1
00001a10: DUP2
00001a11: MSTORE
00001a12: RETURN
00001a13: JUMPDEST
00001a14: PUSH1 0x04
00001a16: CALLDATALOAD
00001a17: SWAP1
00001a18: PUSH1 0x01
00001a1a: PUSH1 0x01
00001a1c: PUSH1 0xe0
00001a1e: SHL
00001a1f: SUB
00001a20: DUP3
00001a21: AND
00001a22: DUP3
00001a23: SUB
00001a24: PUSH2 0x045e
00001a27: JUMPI
00001a28: JUMP
00001a29: JUMPDEST
00001a2a: PUSH1 0x24
00001a2c: CALLDATALOAD
00001a2d: SWAP1
00001a2e: PUSH1 0x01
00001a30: PUSH1 0x01
00001a32: PUSH1 0xe0
00001a34: SHL
00001a35: SUB
00001a36: DUP3
00001a37: AND
00001a38: DUP3
00001a39: SUB
00001a3a: PUSH2 0x045e
00001a3d: JUMPI
00001a3e: JUMP
00001a3f: JUMPDEST
00001a40: CALLVALUE
00001a41: PUSH2 0x045e
00001a44: JUMPI
00001a45: PUSH1 0x20
00001a47: CALLDATASIZE
00001a48: PUSH1 0x03
00001a4a: NOT
00001a4b: ADD
00001a4c: SLT
00001a4d: PUSH2 0x045e
00001a50: JUMPI
00001a51: PUSH2 0x1a58
00001a54: PUSH2 0x1a13
00001a57: JUMP
00001a58: JUMPDEST
00001a59: PUSH2 0x1a60
00001a5c: PUSH2 0x334d
00001a5f: JUMP
00001a60: JUMPDEST
00001a61: PUSH1 0x0b
00001a63: SLOAD
00001a64: PUSH2 0x1a71
00001a67: SWAP1
00001a68: PUSH1 0xc0
00001a6a: SHR
00001a6b: PUSH1 0xff
00001a6d: AND
00001a6e: ISZERO
00001a6f: SWAP1
00001a70: JUMP
00001a71: JUMPDEST
00001a72: PUSH2 0x1041
00001a75: JUMPI
00001a76: PUSH1 0x01
00001a78: PUSH1 0x01
00001a7a: PUSH1 0xe0
00001a7c: SHL
00001a7d: SUB
00001a7e: DUP2
00001a7f: AND
00001a80: DUP1
00001a81: ISZERO
00001a82: PUSH2 0x0f1c
00001a85: JUMPI
00001a86: CALLER
00001a87: PUSH0
00001a88: SWAP1
00001a89: DUP2
00001a8a: MSTORE
00001a8b: PUSH1 0x05
00001a8d: PUSH1 0x20
00001a8f: MSTORE
00001a90: PUSH1 0x40
00001a92: SWAP1
00001a93: KECCAK256
00001a94: DUP2
00001a95: SWAP1
00001a96: SLOAD
00001a97: LT
00001a98: PUSH2 0x1bc4
00001a9b: JUMPI
00001a9c: PUSH2 0x1b53
00001a9f: DUP2
00001aa0: PUSH2 0x1aac
00001aa3: PUSH2 0x1b58
00001aa6: SWAP4
00001aa7: CALLER
00001aa8: PUSH2 0x3406
00001aab: JUMP
00001aac: JUMPDEST
00001aad: CALLER
00001aae: PUSH0
00001aaf: SWAP1
00001ab0: DUP2
00001ab1: MSTORE
00001ab2: PUSH1 0x0d
00001ab4: PUSH1 0x20
00001ab6: MSTORE
00001ab7: PUSH1 0x40
00001ab9: SWAP1
00001aba: KECCAK256
00001abb: PUSH2 0x1b4b
00001abe: SWAP1
00001abf: PUSH2 0x1adb
00001ac2: SWAP1
00001ac3: DUP7
00001ac4: SWAP1
00001ac5: PUSH2 0x1ad6
00001ac8: SWAP1
00001ac9: JUMPDEST
00001aca: SLOAD
00001acb: PUSH1 0x01
00001acd: PUSH1 0x01
00001acf: PUSH1 0xe0
00001ad1: SHL
00001ad2: SUB
00001ad3: AND
00001ad4: SWAP1
00001ad5: JUMP
00001ad6: JUMPDEST
00001ad7: PUSH2 0x2dfc
00001ada: JUMP
00001adb: JUMPDEST
00001adc: PUSH1 0x0b
00001ade: SLOAD
00001adf: PUSH2 0x1b13
00001ae2: SWAP1
00001ae3: PUSH1 0xa0
00001ae5: SHR
00001ae6: PUSH4 0xffffffff
00001aeb: AND
00001aec: JUMPDEST
00001aed: PUSH2 0x1b06
00001af0: PUSH2 0x1af7
00001af3: PUSH2 0x2cf0
00001af6: JUMP
00001af7: JUMPDEST
00001af8: PUSH1 0x01
00001afa: PUSH1 0x01
00001afc: PUSH1 0xe0
00001afe: SHL
00001aff: SUB
00001b00: SWAP1
00001b01: SWAP5
00001b02: AND
00001b03: DUP5
00001b04: MSTORE
00001b05: JUMP
00001b06: JUMPDEST
00001b07: PUSH4 0xffffffff
00001b0c: AND
00001b0d: PUSH1 0x20
00001b0f: DUP4
00001b10: ADD
00001b11: MSTORE
00001b12: JUMP
00001b13: JUMPDEST
00001b14: CALLER
00001b15: PUSH0
00001b16: SWAP1
00001b17: DUP2
00001b18: MSTORE
00001b19: PUSH1 0x0d
00001b1b: PUSH1 0x20
00001b1d: MSTORE
00001b1e: PUSH1 0x40
00001b20: SWAP1
00001b21: KECCAK256
00001b22: JUMPDEST
00001b23: DUP2
00001b24: MLOAD
00001b25: PUSH1 0x20
00001b27: SWAP1
00001b28: SWAP3
00001b29: ADD
00001b2a: MLOAD
00001b2b: PUSH1 0xe0
00001b2d: SHL
00001b2e: PUSH1 0x01
00001b30: PUSH1 0x01
00001b32: PUSH1 0xe0
00001b34: SHL
00001b35: SUB
00001b36: NOT
00001b37: AND
00001b38: PUSH1 0x01
00001b3a: PUSH1 0x01
00001b3c: PUSH1 0xe0
00001b3e: SHL
00001b3f: SUB
00001b40: SWAP3
00001b41: SWAP1
00001b42: SWAP3
00001b43: AND
00001b44: SWAP2
00001b45: SWAP1
00001b46: SWAP2
00001b47: OR
00001b48: SWAP1
00001b49: SSTORE
00001b4a: JUMP
00001b4b: JUMPDEST
00001b4c: PUSH1 0x0e
00001b4e: SLOAD
00001b4f: PUSH2 0x2dca
00001b52: JUMP
00001b53: JUMPDEST
00001b54: PUSH1 0x0e
00001b56: SSTORE
00001b57: JUMP
00001b58: JUMPDEST
00001b59: PUSH32 0x69214d191a9e2c11156aedc11f80105e29875ef3eacdde4b6e9f08bfe162dfdb
00001b7a: PUSH2 0x1bb7
00001b7d: PUSH2 0x1b8f
00001b80: PUSH1 0x0b
00001b82: SLOAD
00001b83: PUSH4 0xffffffff
00001b88: SWAP1
00001b89: PUSH1 0xa0
00001b8b: SHR
00001b8c: AND
00001b8d: SWAP1
00001b8e: JUMP
00001b8f: JUMPDEST
00001b90: PUSH1 0x40
00001b92: DUP1
00001b93: MLOAD
00001b94: PUSH1 0x01
00001b96: PUSH1 0x01
00001b98: PUSH1 0xe0
00001b9a: SHL
00001b9b: SUB
00001b9c: SWAP1
00001b9d: SWAP6
00001b9e: AND
00001b9f: DUP6
00001ba0: MSTORE
00001ba1: PUSH4 0xffffffff
00001ba6: SWAP1
00001ba7: SWAP2
00001ba8: AND
00001ba9: PUSH1 0x20
00001bab: DUP6
00001bac: ADD
00001bad: MSTORE
00001bae: CALLER
00001baf: SWAP4
00001bb0: SWAP2
00001bb1: DUP3
00001bb2: SWAP2
00001bb3: DUP3
00001bb4: ADD
00001bb5: SWAP1
00001bb6: JUMP
00001bb7: JUMPDEST
00001bb8: SUB
00001bb9: SWAP1
00001bba: LOG2
00001bbb: PUSH2 0x0018
00001bbe: PUSH1 0x01
00001bc0: PUSH1 0x0a
00001bc2: SSTORE
00001bc3: JUMP
00001bc4: JUMPDEST
00001bc5: PUSH1 0x40
00001bc7: MLOAD
00001bc8: PUSH4 0x1e9acf17
00001bcd: PUSH1 0xe3
00001bcf: SHL
00001bd0: DUP2
00001bd1: MSTORE
00001bd2: PUSH1 0x04
00001bd4: SWAP1
00001bd5: REVERT
00001bd6: JUMPDEST
00001bd7: CALLVALUE
00001bd8: PUSH2 0x045e
00001bdb: JUMPI
00001bdc: PUSH1 0x20
00001bde: CALLDATASIZE
00001bdf: PUSH1 0x03
00001be1: NOT
00001be2: ADD
00001be3: SLT
00001be4: PUSH2 0x045e
00001be7: JUMPI
00001be8: PUSH1 0x04
00001bea: CALLDATALOAD
00001beb: PUSH1 0xff
00001bed: DUP2
00001bee: AND
00001bef: DUP2
00001bf0: SUB
00001bf1: PUSH2 0x045e
00001bf4: JUMPI
00001bf5: PUSH2 0x1bfc
00001bf8: PUSH2 0x3322
00001bfb: JUMP
00001bfc: JUMPDEST
00001bfd: PUSH1 0x0b
00001bff: DUP1
00001c00: SLOAD
00001c01: PUSH1 0xff
00001c03: PUSH1 0xc8
00001c05: SHL
00001c06: NOT
00001c07: AND
00001c08: PUSH1 0xc8
00001c0a: SWAP3
00001c0b: SWAP1
00001c0c: SWAP3
00001c0d: SHL
00001c0e: PUSH1 0xff
00001c10: PUSH1 0xc8
00001c12: SHL
00001c13: AND
00001c14: SWAP2
00001c15: SWAP1
00001c16: SWAP2
00001c17: OR
00001c18: SWAP1
00001c19: SSTORE
00001c1a: STOP
00001c1b: JUMPDEST
00001c1c: CALLVALUE
00001c1d: PUSH2 0x045e
00001c20: JUMPI
00001c21: PUSH1 0x40
00001c23: CALLDATASIZE
00001c24: PUSH1 0x03
00001c26: NOT
00001c27: ADD
00001c28: SLT
00001c29: PUSH2 0x045e
00001c2c: JUMPI
00001c2d: PUSH2 0x1c37
00001c30: PUSH1 0x04
00001c32: CALLDATALOAD
00001c33: PUSH2 0x1053
00001c36: JUMP
00001c37: JUMPDEST
00001c38: PUSH1 0x20
00001c3a: PUSH1 0x40
00001c3c: MLOAD
00001c3d: PUSH0
00001c3e: DUP2
00001c3f: MSTORE
00001c40: RETURN
00001c41: JUMPDEST
00001c42: CALLVALUE
00001c43: PUSH2 0x045e
00001c46: JUMPI
00001c47: PUSH1 0xa0
00001c49: CALLDATASIZE
00001c4a: PUSH1 0x03
00001c4c: NOT
00001c4d: ADD
00001c4e: SLT
00001c4f: PUSH2 0x045e
00001c52: JUMPI
00001c53: PUSH2 0x1c5b
00001c56: CALLDATASIZE
00001c57: PUSH2 0x08c6
00001c5a: JUMP
00001c5b: JUMPDEST
00001c5c: POP
00001c5d: PUSH1 0x64
00001c5f: CALLDATALOAD
00001c60: PUSH1 0x01
00001c62: PUSH1 0x01
00001c64: PUSH1 0x40
00001c66: SHL
00001c67: SUB
00001c68: DUP2
00001c69: GT
00001c6a: PUSH2 0x045e
00001c6d: JUMPI
00001c6e: PUSH2 0x1c7b
00001c71: SWAP1
00001c72: CALLDATASIZE
00001c73: SWAP1
00001c74: PUSH1 0x04
00001c76: ADD
00001c77: PUSH2 0x08d7
00001c7a: JUMP
00001c7b: JUMPDEST
00001c7c: POP
00001c7d: POP
00001c7e: PUSH1 0x20
00001c80: PUSH1 0x84
00001c82: CALLDATALOAD
00001c83: PUSH2 0x1c8b
00001c86: DUP2
00001c87: PUSH2 0x059c
00001c8a: JUMP
00001c8b: JUMPDEST
00001c8c: PUSH1 0x40
00001c8e: MLOAD
00001c8f: PUSH1 0x01
00001c91: PUSH1 0x01
00001c93: PUSH1 0xa0
00001c95: SHL
00001c96: SUB
00001c97: SWAP1
00001c98: SWAP2
00001c99: AND
00001c9a: ADDRESS
00001c9b: EQ
00001c9c: DUP2
00001c9d: MSTORE
00001c9e: RETURN
00001c9f: JUMPDEST
00001ca0: CALLVALUE
00001ca1: PUSH2 0x045e
00001ca4: JUMPI
00001ca5: PUSH1 0x20
00001ca7: CALLDATASIZE
00001ca8: PUSH1 0x03
00001caa: NOT
00001cab: ADD
00001cac: SLT
00001cad: PUSH2 0x045e
00001cb0: JUMPI
00001cb1: PUSH1 0x04
00001cb3: DUP1
00001cb4: CALLDATALOAD
00001cb5: PUSH2 0x1cbd
00001cb8: DUP2
00001cb9: PUSH2 0x059c
00001cbc: JUMP
00001cbd: JUMPDEST
00001cbe: PUSH2 0x1cc5
00001cc1: PUSH2 0x334d
00001cc4: JUMP
00001cc5: JUMPDEST
00001cc6: PUSH1 0x0b
00001cc8: SLOAD
00001cc9: PUSH1 0x01
00001ccb: PUSH1 0x01
00001ccd: PUSH1 0xa0
00001ccf: SHL
00001cd0: SUB
00001cd1: SWAP2
00001cd2: SWAP1
00001cd3: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001cf4: DUP4
00001cf5: AND
00001cf6: SWAP1
00001cf7: DUP4
00001cf8: DUP2
00001cf9: AND
00001cfa: DUP3
00001cfb: SWAP1
00001cfc: SUB
00001cfd: PUSH2 0x1e38
00001d00: JUMPI
00001d01: CALLER
00001d02: PUSH0
00001d03: SWAP1
00001d04: DUP2
00001d05: MSTORE
00001d06: PUSH1 0x0d
00001d08: PUSH1 0x20
00001d0a: MSTORE
00001d0b: PUSH1 0x40
00001d0d: SWAP1
00001d0e: KECCAK256
00001d0f: PUSH2 0x1d17
00001d12: SWAP1
00001d13: PUSH2 0x2dd7
00001d16: JUMP
00001d17: JUMPDEST
00001d18: DUP1
00001d19: MLOAD
00001d1a: SWAP1
00001d1b: SWAP2
00001d1c: SWAP1
00001d1d: PUSH1 0x01
00001d1f: PUSH1 0x01
00001d21: PUSH1 0xe0
00001d23: SHL
00001d24: SUB
00001d25: AND
00001d26: ISZERO
00001d27: PUSH2 0x1e27
00001d2a: JUMPI
00001d2b: PUSH1 0x20
00001d2d: DUP3
00001d2e: ADD
00001d2f: MLOAD
00001d30: PUSH4 0xffffffff
00001d35: AND
00001d36: SWAP1
00001d37: PUSH4 0xffffffff
00001d3c: DUP1
00001d3d: SWAP2
00001d3e: PUSH1 0xa0
00001d40: SHR
00001d41: AND
00001d42: SWAP2
00001d43: AND
00001d44: LT
00001d45: ISZERO
00001d46: PUSH2 0x1e16
00001d49: JUMPI
00001d4a: CALLER
00001d4b: PUSH0
00001d4c: SWAP1
00001d4d: DUP2
00001d4e: MSTORE
00001d4f: PUSH1 0x0d
00001d51: PUSH1 0x20
00001d53: MSTORE
00001d54: PUSH1 0x40
00001d56: DUP2
00001d57: KECCAK256
00001d58: PUSH2 0x1d66
00001d5b: SWAP3
00001d5c: PUSH2 0x16ff
00001d5f: SWAP3
00001d60: SWAP1
00001d61: SWAP2
00001d62: PUSH2 0x16f1
00001d65: JUMP
00001d66: JUMPDEST
00001d67: PUSH1 0x40
00001d69: MLOAD
00001d6a: DUP2
00001d6b: DUP2
00001d6c: MSTORE
00001d6d: SWAP1
00001d6e: SWAP4
00001d6f: DUP4
00001d70: AND
00001d71: SWAP1
00001d72: PUSH32 0x7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5
00001d93: SWAP1
00001d94: PUSH1 0x20
00001d96: SWAP1
00001d97: LOG2
00001d98: DUP1
00001d99: EXTCODESIZE
00001d9a: ISZERO
00001d9b: PUSH2 0x045e
00001d9e: JUMPI
00001d9f: PUSH0
00001da0: PUSH1 0x40
00001da2: MLOAD
00001da3: DUP1
00001da4: SWAP3
00001da5: PUSH4 0x2e1a7d4d
00001daa: PUSH1 0xe0
00001dac: SHL
00001dad: DUP3
00001dae: MSTORE
00001daf: DUP2
00001db0: DUP4
00001db1: DUP2
00001db2: PUSH2 0x1dc2
00001db5: DUP10
00001db6: DUP12
00001db7: DUP4
00001db8: ADD
00001db9: SWAP2
00001dba: SWAP1
00001dbb: PUSH1 0x20
00001dbd: DUP4
00001dbe: ADD
00001dbf: SWAP3
00001dc0: MSTORE
00001dc1: JUMP
00001dc2: JUMPDEST
00001dc3: SUB
00001dc4: SWAP3
00001dc5: GAS
00001dc6: CALL
00001dc7: DUP1
00001dc8: ISZERO
00001dc9: PUSH2 0x084f
00001dcc: JUMPI
00001dcd: PUSH0
00001dce: SWAP4
00001dcf: DUP5
00001dd0: SWAP4
00001dd1: DUP5
00001dd2: SWAP4
00001dd3: DUP5
00001dd4: SWAP4
00001dd5: PUSH2 0x1e03
00001dd8: JUMPI
00001dd9: JUMPDEST
00001dda: POP
00001ddb: GAS
00001ddc: CALL
00001ddd: PUSH2 0x1de4
00001de0: PUSH2 0x2e30
00001de3: JUMP
00001de4: JUMPDEST
00001de5: POP
00001de6: ISZERO
00001de7: PUSH2 0x1df4
00001dea: JUMPI
00001deb: PUSH2 0x0018
00001dee: PUSH1 0x01
00001df0: PUSH1 0x0a
00001df2: SSTORE
00001df3: JUMP
00001df4: JUMPDEST
00001df5: PUSH1 0x40
00001df7: MLOAD
00001df8: PUSH4 0x12171d83
00001dfd: PUSH1 0xe3
00001dff: SHL
00001e00: DUP2
00001e01: MSTORE
00001e02: REVERT
00001e03: JUMPDEST
00001e04: DUP1
00001e05: PUSH2 0x0af5
00001e08: PUSH2 0x1e10
00001e0b: SWAP3
00001e0c: PUSH2 0x14a4
00001e0f: JUMP
00001e10: JUMPDEST
00001e11: PUSH0
00001e12: PUSH2 0x1dd9
00001e15: JUMP
00001e16: JUMPDEST
00001e17: PUSH1 0x40
00001e19: MLOAD
00001e1a: PUSH4 0x258e84af
00001e1f: PUSH1 0xe1
00001e21: SHL
00001e22: DUP2
00001e23: MSTORE
00001e24: DUP6
00001e25: SWAP1
00001e26: REVERT
00001e27: JUMPDEST
00001e28: PUSH1 0x40
00001e2a: MLOAD
00001e2b: PUSH4 0x5e85ae73
00001e30: PUSH1 0xe0
00001e32: SHL
00001e33: DUP2
00001e34: MSTORE
00001e35: DUP7
00001e36: SWAP1
00001e37: REVERT
00001e38: JUMPDEST
00001e39: PUSH1 0x40
00001e3b: MLOAD
00001e3c: PUSH4 0x118ba169
00001e41: PUSH1 0xe3
00001e43: SHL
00001e44: DUP2
00001e45: MSTORE
00001e46: DUP6
00001e47: SWAP1
00001e48: REVERT
00001e49: JUMPDEST
00001e4a: CALLVALUE
00001e4b: PUSH2 0x045e
00001e4e: JUMPI
00001e4f: PUSH0
00001e50: CALLDATASIZE
00001e51: PUSH1 0x03
00001e53: NOT
00001e54: ADD
00001e55: SLT
00001e56: PUSH2 0x045e
00001e59: JUMPI
00001e5a: PUSH1 0x20
00001e5c: PUSH1 0x40
00001e5e: MLOAD
00001e5f: PUSH1 0x06
00001e61: DUP2
00001e62: MSTORE
00001e63: RETURN
00001e64: JUMPDEST
00001e65: CALLVALUE
00001e66: PUSH2 0x045e
00001e69: JUMPI
00001e6a: PUSH0
00001e6b: CALLDATASIZE
00001e6c: PUSH1 0x03
00001e6e: NOT
00001e6f: ADD
00001e70: SLT
00001e71: PUSH2 0x045e
00001e74: JUMPI
00001e75: PUSH0
00001e76: SLOAD
00001e77: PUSH1 0x40
00001e79: MLOAD
00001e7a: PUSH1 0x01
00001e7c: PUSH1 0x01
00001e7e: PUSH1 0xa0
00001e80: SHL
00001e81: SUB
00001e82: SWAP1
00001e83: SWAP2
00001e84: AND
00001e85: DUP2
00001e86: MSTORE
00001e87: PUSH1 0x20
00001e89: SWAP1
00001e8a: RETURN
00001e8b: JUMPDEST
00001e8c: CALLVALUE
00001e8d: PUSH2 0x045e
00001e90: JUMPI
00001e91: PUSH0
00001e92: CALLDATASIZE
00001e93: PUSH1 0x03
00001e95: NOT
00001e96: ADD
00001e97: SLT
00001e98: PUSH2 0x045e
00001e9b: JUMPI
00001e9c: PUSH1 0x40
00001e9e: MLOAD
00001e9f: PUSH0
00001ea0: PUSH1 0x09
00001ea2: SLOAD
00001ea3: PUSH2 0x1eab
00001ea6: DUP2
00001ea7: PUSH2 0x13c7
00001eaa: JUMP
00001eab: JUMPDEST
00001eac: DUP1
00001ead: DUP5
00001eae: MSTORE
00001eaf: SWAP1
00001eb0: PUSH1 0x20
00001eb2: SWAP1
00001eb3: PUSH1 0x01
00001eb5: SWAP1
00001eb6: DUP2
00001eb7: DUP2
00001eb8: AND
00001eb9: SWAP1
00001eba: DUP2
00001ebb: ISZERO
00001ebc: PUSH2 0x0572
00001ebf: JUMPI
00001ec0: POP
00001ec1: PUSH1 0x01
00001ec3: EQ
00001ec4: PUSH2 0x1ed7
00001ec7: JUMPI
00001ec8: PUSH2 0x0515
00001ecb: DUP6
00001ecc: PUSH2 0x0509
00001ecf: DUP2
00001ed0: DUP8
00001ed1: SUB
00001ed2: DUP3
00001ed3: PUSH2 0x150d
00001ed6: JUMP
00001ed7: JUMPDEST
00001ed8: PUSH1 0x09
00001eda: PUSH0
00001edb: SWAP1
00001edc: DUP2
00001edd: MSTORE
00001ede: SWAP4
00001edf: POP
00001ee0: PUSH32 0x6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af
00001f01: JUMPDEST
00001f02: DUP4
00001f03: DUP6
00001f04: LT
00001f05: PUSH2 0x1f1d
00001f08: JUMPI
00001f09: POP
00001f0a: POP
00001f0b: POP
00001f0c: POP
00001f0d: DUP2
00001f0e: ADD
00001f0f: PUSH1 0x20
00001f11: ADD
00001f12: PUSH2 0x0509
00001f15: DUP3
00001f16: PUSH2 0x0515
00001f19: PUSH2 0x04f9
00001f1c: JUMP
00001f1d: JUMPDEST
00001f1e: DUP1
00001f1f: SLOAD
00001f20: DUP7
00001f21: DUP7
00001f22: ADD
00001f23: DUP5
00001f24: ADD
00001f25: MSTORE
00001f26: SWAP4
00001f27: DUP3
00001f28: ADD
00001f29: SWAP4
00001f2a: DUP2
00001f2b: ADD
00001f2c: PUSH2 0x1f01
00001f2f: JUMP
00001f30: JUMPDEST
00001f31: CALLVALUE
00001f32: PUSH2 0x045e
00001f35: JUMPI
00001f36: PUSH0
00001f37: CALLDATASIZE
00001f38: PUSH1 0x03
00001f3a: NOT
00001f3b: ADD
00001f3c: SLT
00001f3d: PUSH2 0x045e
00001f40: JUMPI
00001f41: PUSH1 0x20
00001f43: PUSH1 0x40
00001f45: MLOAD
00001f46: PUSH32 0x000000000000000000000000000000000000000000000000000000e8d4a51000
00001f67: DUP2
00001f68: MSTORE
00001f69: RETURN
00001f6a: JUMPDEST
00001f6b: CALLVALUE
00001f6c: PUSH2 0x045e
00001f6f: JUMPI
00001f70: PUSH1 0x20
00001f72: CALLDATASIZE
00001f73: PUSH1 0x03
00001f75: NOT
00001f76: ADD
00001f77: SLT
00001f78: PUSH2 0x045e
00001f7b: JUMPI
00001f7c: PUSH1 0x04
00001f7e: CALLDATALOAD
00001f7f: PUSH2 0x1f87
00001f82: DUP2
00001f83: PUSH2 0x059c
00001f86: JUMP
00001f87: JUMPDEST
00001f88: PUSH1 0x01
00001f8a: PUSH1 0x01
00001f8c: PUSH1 0xa0
00001f8e: SHL
00001f8f: SUB
00001f90: AND
00001f91: PUSH0
00001f92: SWAP1
00001f93: DUP2
00001f94: MSTORE
00001f95: PUSH1 0x0d
00001f97: PUSH1 0x20
00001f99: SWAP1
00001f9a: DUP2
00001f9b: MSTORE
00001f9c: PUSH1 0x40
00001f9e: SWAP2
00001f9f: DUP3
00001fa0: SWAP1
00001fa1: KECCAK256
00001fa2: SLOAD
00001fa3: DUP3
00001fa4: MLOAD
00001fa5: PUSH1 0x01
00001fa7: PUSH1 0x01
00001fa9: PUSH1 0xe0
00001fab: SHL
00001fac: SUB
00001fad: DUP3
00001fae: AND
00001faf: DUP2
00001fb0: MSTORE
00001fb1: PUSH1 0xe0
00001fb3: SWAP2
00001fb4: SWAP1
00001fb5: SWAP2
00001fb6: SHR
00001fb7: SWAP2
00001fb8: DUP2
00001fb9: ADD
00001fba: SWAP2
00001fbb: SWAP1
00001fbc: SWAP2
00001fbd: MSTORE
00001fbe: RETURN
00001fbf: JUMPDEST
00001fc0: CALLVALUE
00001fc1: PUSH2 0x045e
00001fc4: JUMPI
00001fc5: PUSH0
00001fc6: CALLDATASIZE
00001fc7: PUSH1 0x03
00001fc9: NOT
00001fca: ADD
00001fcb: SLT
00001fcc: PUSH2 0x045e
00001fcf: JUMPI
00001fd0: PUSH1 0x20
00001fd2: PUSH1 0x40
00001fd4: MLOAD
00001fd5: PUSH0
00001fd6: DUP2
00001fd7: MSTORE
00001fd8: RETURN
00001fd9: JUMPDEST
00001fda: CALLVALUE
00001fdb: PUSH2 0x045e
00001fde: JUMPI
00001fdf: PUSH1 0x40
00001fe1: CALLDATASIZE
00001fe2: PUSH1 0x03
00001fe4: NOT
00001fe5: ADD
00001fe6: SLT
00001fe7: PUSH2 0x045e
00001fea: JUMPI
00001feb: PUSH1 0x04
00001fed: CALLDATALOAD
00001fee: PUSH2 0x1ff6
00001ff1: DUP2
00001ff2: PUSH2 0x059c
00001ff5: JUMP
00001ff6: JUMPDEST
00001ff7: PUSH1 0x24
00001ff9: CALLDATALOAD
00001ffa: PUSH2 0x2001
00001ffd: PUSH2 0x334d
00002000: JUMP
00002001: JUMPDEST
00002002: PUSH1 0x0c
00002004: SLOAD
00002005: PUSH1 0x01
00002007: PUSH1 0x01
00002009: PUSH1 0xa0
0000200b: SHL
0000200c: SUB
0000200d: SWAP3
0000200e: SWAP1
0000200f: DUP4
00002010: AND
00002011: CALLER
00002012: DUP2
00002013: SWAP1
00002014: SUB
00002015: PUSH2 0x0e8c
00002018: JUMPI
00002019: DUP3
0000201a: ISZERO
0000201b: PUSH2 0x0f1c
0000201e: JUMPI
0000201f: DUP3
00002020: PUSH2 0x2028
00002023: SWAP2
00002024: PUSH2 0x34c1
00002027: JUMP
00002028: JUMPDEST
00002029: PUSH1 0x0f
0000202b: SLOAD
0000202c: SWAP3
0000202d: DUP3
0000202e: DUP5
0000202f: ADD
00002030: DUP1
00002031: SWAP5
00002032: GT
00002033: PUSH2 0x2088
00002036: JUMPI
00002037: PUSH2 0x0dc8
0000203a: SWAP4
0000203b: PUSH1 0x0f
0000203d: SSTORE
0000203e: PUSH32 0x9f27a22fea017c09821db9e9e1700a69ddd6121050f29a783f8ca5f6876865f3
0000205f: PUSH1 0x20
00002061: PUSH1 0x40
00002063: MLOAD
00002064: SWAP3
00002065: DUP6
00002066: DUP5
00002067: MSTORE
00002068: DUP5
00002069: AND
0000206a: SWAP3
0000206b: LOG2
0000206c: PUSH1 0x0b
0000206e: SLOAD
0000206f: PUSH2 0x2080
00002072: SWAP1
00002073: PUSH1 0x01
00002075: PUSH1 0x01
00002077: PUSH1 0xa0
00002079: SHL
0000207a: SUB
0000207b: AND
0000207c: PUSH2 0x09dd
0000207f: JUMP
00002080: JUMPDEST
00002081: SWAP1
00002082: ADDRESS
00002083: SWAP2
00002084: PUSH2 0x33bf
00002087: JUMP
00002088: JUMPDEST
00002089: PUSH2 0x2d94
0000208c: JUMP
0000208d: JUMPDEST
0000208e: CALLVALUE
0000208f: PUSH2 0x045e
00002092: JUMPI
00002093: PUSH1 0x20
00002095: CALLDATASIZE
00002096: PUSH1 0x03
00002098: NOT
00002099: ADD
0000209a: SLT
0000209b: PUSH2 0x045e
0000209e: JUMPI
0000209f: PUSH32 0x96adcf1e48ac546c8fe3676c903cc458907e1e045d4c27130254a0bf7d9366ce
000020c0: PUSH1 0x20
000020c2: PUSH1 0x04
000020c4: CALLDATALOAD
000020c5: PUSH2 0x20cd
000020c8: DUP2
000020c9: PUSH2 0x110e
000020cc: JUMP
000020cd: JUMPDEST
000020ce: PUSH2 0x20d5
000020d1: PUSH2 0x3322
000020d4: JUMP
000020d5: JUMPDEST
000020d6: ISZERO
000020d7: ISZERO
000020d8: PUSH1 0x0b
000020da: SLOAD
000020db: PUSH1 0xff
000020dd: PUSH1 0xc0
000020df: SHL
000020e0: DUP3
000020e1: PUSH1 0xc0
000020e3: SHL
000020e4: AND
000020e5: SWAP1
000020e6: PUSH1 0xff
000020e8: PUSH1 0xc0
000020ea: SHL
000020eb: NOT
000020ec: AND
000020ed: OR
000020ee: PUSH1 0x0b
000020f0: SSTORE
000020f1: PUSH1 0x40
000020f3: MLOAD
000020f4: SWAP1
000020f5: DUP2
000020f6: MSTORE
000020f7: LOG1
000020f8: STOP
000020f9: JUMPDEST
000020fa: CALLVALUE
000020fb: PUSH2 0x045e
000020fe: JUMPI
000020ff: PUSH1 0x40
00002101: CALLDATASIZE
00002102: PUSH1 0x03
00002104: NOT
00002105: ADD
00002106: SLT
00002107: PUSH2 0x045e
0000210a: JUMPI
0000210b: PUSH2 0x2123
0000210e: PUSH1 0x04
00002110: CALLDATALOAD
00002111: PUSH2 0x2119
00002114: DUP2
00002115: PUSH2 0x059c
00002118: JUMP
00002119: JUMPDEST
0000211a: PUSH1 0x24
0000211c: CALLDATALOAD
0000211d: SWAP1
0000211e: CALLER
0000211f: PUSH2 0x320b
00002122: JUMP
00002123: JUMPDEST
00002124: PUSH1 0x20
00002126: PUSH1 0x40
00002128: MLOAD
00002129: PUSH1 0x01
0000212b: DUP2
0000212c: MSTORE
0000212d: RETURN
0000212e: JUMPDEST
0000212f: CALLVALUE
00002130: PUSH2 0x045e
00002133: JUMPI
00002134: PUSH0
00002135: CALLDATASIZE
00002136: PUSH1 0x03
00002138: NOT
00002139: ADD
0000213a: SLT
0000213b: PUSH2 0x045e
0000213e: JUMPI
0000213f: PUSH1 0x0c
00002141: SLOAD
00002142: PUSH1 0x40
00002144: MLOAD
00002145: PUSH1 0x01
00002147: PUSH1 0x01
00002149: PUSH1 0xa0
0000214b: SHL
0000214c: SUB
0000214d: SWAP1
0000214e: SWAP2
0000214f: AND
00002150: DUP2
00002151: MSTORE
00002152: PUSH1 0x20
00002154: SWAP1
00002155: RETURN
00002156: JUMPDEST
00002157: CALLVALUE
00002158: PUSH2 0x045e
0000215b: JUMPI
0000215c: PUSH0
0000215d: CALLDATASIZE
0000215e: PUSH1 0x03
00002160: NOT
00002161: ADD
00002162: SLT
00002163: PUSH2 0x045e
00002166: JUMPI
00002167: PUSH1 0x40
00002169: MLOAD
0000216a: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
0000218b: PUSH1 0x01
0000218d: PUSH1 0x01
0000218f: PUSH1 0xa0
00002191: SHL
00002192: SUB
00002193: AND
00002194: DUP2
00002195: MSTORE
00002196: PUSH1 0x20
00002198: SWAP1
00002199: RETURN
0000219a: JUMPDEST
0000219b: CALLVALUE
0000219c: PUSH2 0x045e
0000219f: JUMPI
000021a0: PUSH0
000021a1: CALLDATASIZE
000021a2: PUSH1 0x03
000021a4: NOT
000021a5: ADD
000021a6: SLT
000021a7: PUSH2 0x045e
000021aa: JUMPI
000021ab: PUSH1 0x02
000021ad: SLOAD
000021ae: PUSH1 0x40
000021b0: MLOAD
000021b1: PUSH1 0x01
000021b3: PUSH1 0x01
000021b5: PUSH1 0xa0
000021b7: SHL
000021b8: SUB
000021b9: SWAP1
000021ba: SWAP2
000021bb: AND
000021bc: DUP2
000021bd: MSTORE
000021be: PUSH1 0x20
000021c0: SWAP1
000021c1: RETURN
000021c2: JUMPDEST
000021c3: SWAP1
000021c4: PUSH1 0x20
000021c6: PUSH1 0x03
000021c8: NOT
000021c9: DUP4
000021ca: ADD
000021cb: SLT
000021cc: PUSH2 0x045e
000021cf: JUMPI
000021d0: PUSH1 0x04
000021d2: CALLDATALOAD
000021d3: PUSH1 0x01
000021d5: PUSH1 0x01
000021d7: PUSH1 0x40
000021d9: SHL
000021da: SUB
000021db: SWAP3
000021dc: DUP4
000021dd: DUP3
000021de: GT
000021df: PUSH2 0x045e
000021e2: JUMPI
000021e3: DUP1
000021e4: PUSH1 0x23
000021e6: DUP4
000021e7: ADD
000021e8: SLT
000021e9: ISZERO
000021ea: PUSH2 0x045e
000021ed: JUMPI
000021ee: DUP2
000021ef: PUSH1 0x04
000021f1: ADD
000021f2: CALLDATALOAD
000021f3: SWAP4
000021f4: DUP5
000021f5: GT
000021f6: PUSH2 0x045e
000021f9: JUMPI
000021fa: PUSH1 0x24
000021fc: DUP5
000021fd: PUSH1 0x05
000021ff: SHL
00002200: DUP4
00002201: ADD
00002202: ADD
00002203: GT
00002204: PUSH2 0x045e
00002207: JUMPI
00002208: PUSH1 0x24
0000220a: ADD
0000220b: SWAP2
0000220c: SWAP1
0000220d: JUMP
0000220e: JUMPDEST
0000220f: CALLVALUE
00002210: PUSH2 0x045e
00002213: JUMPI
00002214: PUSH2 0x221c
00002217: CALLDATASIZE
00002218: PUSH2 0x21c2
0000221b: JUMP
0000221c: JUMPDEST
0000221d: SWAP1
0000221e: PUSH2 0x2225
00002221: PUSH2 0x3322
00002224: JUMP
00002225: JUMPDEST
00002226: PUSH2 0x222e
00002229: DUP3
0000222a: PUSH2 0x2d51
0000222d: JUMP
0000222e: JUMPDEST
0000222f: SWAP1
00002230: PUSH1 0x40
00002232: PUSH2 0x223e
00002235: PUSH1 0x40
00002237: MLOAD
00002238: SWAP4
00002239: DUP5
0000223a: PUSH2 0x150d
0000223d: JUMP
0000223e: JUMPDEST
0000223f: DUP4
00002240: DUP4
00002241: MSTORE
00002242: PUSH1 0x20
00002244: SWAP4
00002245: DUP5
00002246: DUP5
00002247: ADD
00002248: SWAP1
00002249: PUSH1 0x05
0000224b: SHL
0000224c: DUP4
0000224d: ADD
0000224e: SWAP3
0000224f: CALLDATASIZE
00002250: DUP5
00002251: GT
00002252: PUSH2 0x045e
00002255: JUMPI
00002256: DUP1
00002257: SWAP2
00002258: JUMPDEST
00002259: DUP5
0000225a: DUP4
0000225b: LT
0000225c: PUSH2 0x2268
0000225f: JUMPI
00002260: PUSH2 0x0018
00002263: DUP7
00002264: PUSH2 0x38e1
00002267: JUMP
00002268: JUMPDEST
00002269: PUSH1 0x01
0000226b: PUSH1 0x01
0000226d: PUSH1 0x40
0000226f: SHL
00002270: SUB
00002271: SWAP1
00002272: DUP4
00002273: CALLDATALOAD
00002274: DUP3
00002275: DUP2
00002276: GT
00002277: PUSH2 0x045e
0000227a: JUMPI
0000227b: DUP4
0000227c: ADD
0000227d: SWAP2
0000227e: PUSH1 0x60
00002280: DUP4
00002281: CALLDATASIZE
00002282: SUB
00002283: SLT
00002284: PUSH2 0x045e
00002287: JUMPI
00002288: DUP6
00002289: MLOAD
0000228a: SWAP3
0000228b: PUSH2 0x2293
0000228e: DUP5
0000228f: PUSH2 0x14bc
00002292: JUMP
00002293: JUMPDEST
00002294: DUP1
00002295: CALLDATALOAD
00002296: PUSH2 0x229e
00002299: DUP2
0000229a: PUSH2 0x1053
0000229d: JUMP
0000229e: JUMPDEST
0000229f: DUP5
000022a0: MSTORE
000022a1: PUSH2 0x22ab
000022a4: DUP11
000022a5: DUP3
000022a6: ADD
000022a7: PUSH2 0x13b8
000022aa: JUMP
000022ab: JUMPDEST
000022ac: DUP11
000022ad: DUP6
000022ae: ADD
000022af: MSTORE
000022b0: DUP7
000022b1: DUP2
000022b2: ADD
000022b3: CALLDATALOAD
000022b4: SWAP2
000022b5: DUP3
000022b6: GT
000022b7: PUSH2 0x045e
000022ba: JUMPI
000022bb: ADD
000022bc: SWAP1
000022bd: CALLDATASIZE
000022be: PUSH1 0x1f
000022c0: DUP4
000022c1: ADD
000022c2: SLT
000022c3: ISZERO
000022c4: PUSH2 0x045e
000022c7: JUMPI
000022c8: DUP9
000022c9: SWAP3
000022ca: PUSH2 0x22da
000022cd: DUP5
000022ce: SWAP4
000022cf: CALLDATASIZE
000022d0: SWAP1
000022d1: DUP6
000022d2: DUP2
000022d3: CALLDATALOAD
000022d4: SWAP2
000022d5: ADD
000022d6: PUSH2 0x2e5f
000022d9: JUMP
000022da: JUMPDEST
000022db: DUP8
000022dc: DUP3
000022dd: ADD
000022de: MSTORE
000022df: DUP2
000022e0: MSTORE
000022e1: ADD
000022e2: SWAP3
000022e3: ADD
000022e4: SWAP2
000022e5: PUSH2 0x2258
000022e8: JUMP
000022e9: JUMPDEST
000022ea: CALLVALUE
000022eb: PUSH2 0x045e
000022ee: JUMPI
000022ef: PUSH1 0x40
000022f1: CALLDATASIZE
000022f2: PUSH1 0x03
000022f4: NOT
000022f5: ADD
000022f6: SLT
000022f7: PUSH2 0x045e
000022fa: JUMPI
000022fb: PUSH1 0x04
000022fd: CALLDATALOAD
000022fe: PUSH2 0x2306
00002301: DUP2
00002302: PUSH2 0x059c
00002305: JUMP
00002306: JUMPDEST
00002307: PUSH1 0x24
00002309: CALLDATALOAD
0000230a: SWAP1
0000230b: PUSH2 0x2312
0000230e: PUSH2 0x3322
00002311: JUMP
00002312: JUMPDEST
00002313: DUP2
00002314: ISZERO
00002315: PUSH2 0x0f1c
00002318: JUMPI
00002319: PUSH1 0x40
0000231b: MLOAD
0000231c: DUP3
0000231d: DUP2
0000231e: MSTORE
0000231f: PUSH1 0x01
00002321: PUSH1 0x01
00002323: PUSH1 0xa0
00002325: SHL
00002326: SUB
00002327: SWAP1
00002328: DUP3
00002329: DUP3
0000232a: AND
0000232b: SWAP1
0000232c: PUSH32 0xff67663330fcde57965a89e0eed2698c4f260f4f4dfa83e4d8a1c1db935fa235
0000234d: SWAP1
0000234e: PUSH1 0x20
00002350: SWAP1
00002351: LOG2
00002352: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00002373: AND
00002374: DUP1
00002375: EXTCODESIZE
00002376: ISZERO
00002377: PUSH2 0x045e
0000237a: JUMPI
0000237b: PUSH1 0x40
0000237d: MLOAD
0000237e: PUSH4 0x2e1a7d4d
00002383: PUSH1 0xe0
00002385: SHL
00002386: DUP2
00002387: MSTORE
00002388: PUSH1 0x04
0000238a: DUP2
0000238b: ADD
0000238c: DUP5
0000238d: SWAP1
0000238e: MSTORE
0000238f: SWAP1
00002390: PUSH0
00002391: SWAP1
00002392: DUP3
00002393: SWAP1
00002394: PUSH1 0x24
00002396: SWAP1
00002397: DUP3
00002398: SWAP1
00002399: DUP5
0000239a: SWAP1
0000239b: GAS
0000239c: CALL
0000239d: DUP1
0000239e: ISZERO
0000239f: PUSH2 0x084f
000023a2: JUMPI
000023a3: PUSH0
000023a4: SWAP4
000023a5: DUP5
000023a6: SWAP4
000023a7: DUP5
000023a8: SWAP4
000023a9: DUP5
000023aa: SWAP4
000023ab: PUSH2 0x23d4
000023ae: JUMPI
000023af: JUMPDEST
000023b0: POP
000023b1: GAS
000023b2: CALL
000023b3: PUSH2 0x23ba
000023b6: PUSH2 0x2e30
000023b9: JUMP
000023ba: JUMPDEST
000023bb: POP
000023bc: ISZERO
000023bd: PUSH2 0x23c2
000023c0: JUMPI
000023c1: STOP
000023c2: JUMPDEST
000023c3: PUSH1 0x40
000023c5: MLOAD
000023c6: PUSH4 0x12171d83
000023cb: PUSH1 0xe3
000023cd: SHL
000023ce: DUP2
000023cf: MSTORE
000023d0: PUSH1 0x04
000023d2: SWAP1
000023d3: REVERT
000023d4: JUMPDEST
000023d5: DUP1
000023d6: PUSH2 0x0af5
000023d9: PUSH2 0x23e1
000023dc: SWAP3
000023dd: PUSH2 0x14a4
000023e0: JUMP
000023e1: JUMPDEST
000023e2: PUSH0
000023e3: PUSH2 0x23af
000023e6: JUMP
000023e7: JUMPDEST
000023e8: CALLVALUE
000023e9: PUSH2 0x045e
000023ec: JUMPI
000023ed: PUSH1 0x20
000023ef: CALLDATASIZE
000023f0: PUSH1 0x03
000023f2: NOT
000023f3: ADD
000023f4: SLT
000023f5: PUSH2 0x045e
000023f8: JUMPI
000023f9: PUSH4 0xffffffff
000023fe: PUSH1 0x04
00002400: CALLDATALOAD
00002401: PUSH2 0x2409
00002404: DUP2
00002405: PUSH2 0x1053
00002408: JUMP
00002409: JUMPDEST
0000240a: AND
0000240b: PUSH0
0000240c: MSTORE
0000240d: PUSH1 0x01
0000240f: PUSH1 0x20
00002411: MSTORE
00002412: PUSH1 0x20
00002414: PUSH1 0x40
00002416: PUSH0
00002417: KECCAK256
00002418: SLOAD
00002419: PUSH1 0x40
0000241b: MLOAD
0000241c: SWAP1
0000241d: DUP2
0000241e: MSTORE
0000241f: RETURN
00002420: JUMPDEST
00002421: CALLVALUE
00002422: PUSH2 0x045e
00002425: JUMPI
00002426: PUSH1 0x60
00002428: CALLDATASIZE
00002429: PUSH1 0x03
0000242b: NOT
0000242c: ADD
0000242d: SLT
0000242e: PUSH2 0x045e
00002431: JUMPI
00002432: PUSH1 0x04
00002434: CALLDATALOAD
00002435: PUSH2 0x243d
00002438: DUP2
00002439: PUSH2 0x1053
0000243c: JUMP
0000243d: JUMPDEST
0000243e: PUSH2 0x2445
00002441: PUSH2 0x13a7
00002444: JUMP
00002445: JUMPDEST
00002446: PUSH1 0x44
00002448: CALLDATALOAD
00002449: SWAP1
0000244a: PUSH1 0x01
0000244c: PUSH1 0x01
0000244e: PUSH1 0x40
00002450: SHL
00002451: SUB
00002452: DUP3
00002453: GT
00002454: PUSH2 0x045e
00002457: JUMPI
00002458: PUSH2 0x0515
0000245b: SWAP3
0000245c: PUSH2 0x246c
0000245f: PUSH2 0x1595
00002462: SWAP4
00002463: CALLDATASIZE
00002464: SWAP1
00002465: PUSH1 0x04
00002467: ADD
00002468: PUSH2 0x08d7
0000246b: JUMP
0000246c: JUMPDEST
0000246d: SWAP3
0000246e: SWAP1
0000246f: SWAP2
00002470: PUSH2 0x2f1e
00002473: JUMP
00002474: JUMPDEST
00002475: PUSH2 0x247d
00002478: CALLDATASIZE
00002479: PUSH2 0x21c2
0000247c: JUMP
0000247d: JUMPDEST
0000247e: PUSH0
0000247f: JUMPDEST
00002480: DUP2
00002481: DUP2
00002482: LT
00002483: PUSH2 0x24e8
00002486: JUMPI
00002487: PUSH1 0x40
00002489: MLOAD
0000248a: PUSH4 0x8e9e7099
0000248f: PUSH1 0xe0
00002491: SHL
00002492: DUP2
00002493: MSTORE
00002494: PUSH0
00002495: DUP2
00002496: PUSH1 0x04
00002498: DUP2
00002499: CALLER
0000249a: GAS
0000249b: STATICCALL
0000249c: DUP1
0000249d: ISZERO
0000249e: PUSH2 0x084f
000024a1: JUMPI
000024a2: PUSH2 0x0b32
000024a5: SWAP2
000024a6: PUSH0
000024a7: SWAP2
000024a8: PUSH2 0x24c6
000024ab: JUMPI
000024ac: JUMPDEST
000024ad: POP
000024ae: PUSH1 0x40
000024b0: MLOAD
000024b1: PUSH4 0x8351eea7
000024b6: PUSH1 0xe0
000024b8: SHL
000024b9: DUP2
000024ba: MSTORE
000024bb: SWAP2
000024bc: DUP3
000024bd: SWAP2
000024be: PUSH1 0x04
000024c0: DUP4
000024c1: ADD
000024c2: PUSH2 0x04a8
000024c5: JUMP
000024c6: JUMPDEST
000024c7: PUSH2 0x24e2
000024ca: SWAP2
000024cb: POP
000024cc: RETURNDATASIZE
000024cd: DUP1
000024ce: PUSH0
000024cf: DUP4
000024d0: RETURNDATACOPY
000024d1: PUSH2 0x24da
000024d4: DUP2
000024d5: DUP4
000024d6: PUSH2 0x150d
000024d9: JUMP
000024da: JUMPDEST
000024db: DUP2
000024dc: ADD
000024dd: SWAP1
000024de: PUSH2 0x30c3
000024e1: JUMP
000024e2: JUMPDEST
000024e3: DUP3
000024e4: PUSH2 0x24ac
000024e7: JUMP
000024e8: JUMPDEST
000024e9: PUSH2 0x24f3
000024ec: DUP2
000024ed: DUP4
000024ee: DUP6
000024ef: PUSH2 0x2fd4
000024f2: JUMP
000024f3: JUMPDEST
000024f4: SWAP1
000024f5: PUSH2 0x251f
000024f8: PUSH2 0x1309
000024fb: PUSH2 0x2503
000024fe: DUP5
000024ff: PUSH2 0x2d8a
00002502: JUMP
00002503: JUMPDEST
00002504: PUSH1 0x20
00002506: DUP6
00002507: ADD
00002508: CALLDATALOAD
00002509: SWAP1
0000250a: PUSH4 0xffffffff
0000250f: AND
00002510: PUSH0
00002511: MSTORE
00002512: PUSH1 0x01
00002514: PUSH1 0x20
00002516: MSTORE
00002517: PUSH1 0x40
00002519: PUSH0
0000251a: KECCAK256
0000251b: SLOAD
0000251c: EQ
0000251d: SWAP1
0000251e: JUMP
0000251f: JUMPDEST
00002520: PUSH2 0x25b3
00002523: JUMPI
00002524: PUSH2 0x2531
00002527: PUSH2 0x0100
0000252a: DUP4
0000252b: ADD
0000252c: DUP4
0000252d: PUSH2 0x2ffc
00002530: JUMP
00002531: JUMPDEST
00002532: SWAP3
00002533: PUSH2 0x253e
00002536: PUSH1 0xe0
00002538: DUP3
00002539: ADD
0000253a: PUSH2 0x302e
0000253d: JUMP
0000253e: JUMPDEST
0000253f: SWAP1
00002540: PUSH2 0x254d
00002543: PUSH2 0x0120
00002546: DUP3
00002547: ADD
00002548: DUP3
00002549: PUSH2 0x2ffc
0000254c: JUMP
0000254d: JUMPDEST
0000254e: SWAP6
0000254f: SWAP1
00002550: SWAP6
00002551: ADDRESS
00002552: EXTCODESIZE
00002553: ISZERO
00002554: PUSH2 0x045e
00002557: JUMPI
00002558: PUSH0
00002559: SWAP5
0000255a: PUSH2 0x2582
0000255d: PUSH1 0xc0
0000255f: SWAP3
00002560: PUSH1 0x40
00002562: MLOAD
00002563: SWAP10
00002564: DUP11
00002565: SWAP8
00002566: DUP9
00002567: SWAP7
00002568: DUP8
00002569: SWAP6
0000256a: PUSH4 0x34116837
0000256f: PUSH1 0xe2
00002571: SHL
00002572: DUP8
00002573: MSTORE
00002574: PUSH1 0xa0
00002576: DUP11
00002577: ADD
00002578: CALLDATALOAD
00002579: DUP11
0000257a: PUSH1 0x04
0000257c: DUP10
0000257d: ADD
0000257e: PUSH2 0x3049
00002581: JUMP
00002582: JUMPDEST
00002583: SUB
00002584: SWAP3
00002585: ADD
00002586: CALLDATALOAD
00002587: ADDRESS
00002588: GAS
00002589: CALL
0000258a: SWAP2
0000258b: DUP3
0000258c: ISZERO
0000258d: PUSH2 0x084f
00002590: JUMPI
00002591: PUSH1 0x01
00002593: SWAP3
00002594: PUSH2 0x25a0
00002597: JUMPI
00002598: JUMPDEST
00002599: POP
0000259a: JUMPDEST
0000259b: ADD
0000259c: PUSH2 0x247f
0000259f: JUMP
000025a0: JUMPDEST
000025a1: DUP1
000025a2: PUSH2 0x0af5
000025a5: PUSH2 0x25ad
000025a8: SWAP3
000025a9: PUSH2 0x14a4
000025ac: JUMP
000025ad: JUMPDEST
000025ae: PUSH0
000025af: PUSH2 0x2598
000025b2: JUMP
000025b3: JUMPDEST
000025b4: PUSH1 0x01
000025b6: SWAP2
000025b7: POP
000025b8: PUSH2 0x259a
000025bb: JUMP
000025bc: JUMPDEST
000025bd: CALLVALUE
000025be: PUSH2 0x045e
000025c1: JUMPI
000025c2: PUSH1 0x40
000025c4: CALLDATASIZE
000025c5: PUSH1 0x03
000025c7: NOT
000025c8: ADD
000025c9: SLT
000025ca: PUSH2 0x045e
000025cd: JUMPI
000025ce: PUSH1 0x04
000025d0: CALLDATALOAD
000025d1: PUSH2 0x25d9
000025d4: DUP2
000025d5: PUSH2 0x059c
000025d8: JUMP
000025d9: JUMPDEST
000025da: PUSH2 0x25e1
000025dd: PUSH2 0x1a29
000025e0: JUMP
000025e1: JUMPDEST
000025e2: SWAP1
000025e3: PUSH2 0x25ea
000025e6: PUSH2 0x334d
000025e9: JUMP
000025ea: JUMPDEST
000025eb: PUSH1 0x0c
000025ed: SLOAD
000025ee: PUSH1 0x01
000025f0: PUSH1 0x01
000025f2: PUSH1 0xa0
000025f4: SHL
000025f5: SUB
000025f6: SWAP1
000025f7: DUP2
000025f8: AND
000025f9: CALLER
000025fa: SUB
000025fb: PUSH2 0x0e8c
000025fe: JUMPI
000025ff: PUSH1 0x01
00002601: PUSH1 0x01
00002603: PUSH1 0xe0
00002605: SHL
00002606: SUB
00002607: DUP4
00002608: AND
00002609: SWAP2
0000260a: DUP3
0000260b: ISZERO
0000260c: PUSH2 0x0f1c
0000260f: JUMPI
00002610: PUSH2 0x2696
00002613: PUSH2 0x1b53
00002616: DUP5
00002617: PUSH2 0x2641
0000261a: PUSH32 0x69214d191a9e2c11156aedc11f80105e29875ef3eacdde4b6e9f08bfe162dfdb
0000263b: SWAP7
0000263c: ADDRESS
0000263d: PUSH2 0x3406
00002640: JUMP
00002641: JUMPDEST
00002642: PUSH2 0x1b4b
00002645: PUSH2 0x2665
00002648: DUP9
00002649: PUSH2 0x1ad6
0000264c: PUSH2 0x1ac9
0000264f: DUP9
00002650: PUSH1 0x01
00002652: DUP1
00002653: PUSH1 0xa0
00002655: SHL
00002656: SUB
00002657: AND
00002658: PUSH0
00002659: MSTORE
0000265a: PUSH1 0x0d
0000265c: PUSH1 0x20
0000265e: MSTORE
0000265f: PUSH1 0x40
00002661: PUSH0
00002662: KECCAK256
00002663: SWAP1
00002664: JUMP
00002665: JUMPDEST
00002666: PUSH1 0x0b
00002668: SLOAD
00002669: PUSH2 0x267a
0000266c: SWAP1
0000266d: PUSH1 0xa0
0000266f: SHR
00002670: PUSH4 0xffffffff
00002675: AND
00002676: PUSH2 0x1aec
00002679: JUMP
0000267a: JUMPDEST
0000267b: PUSH1 0x01
0000267d: PUSH1 0x01
0000267f: PUSH1 0xa0
00002681: SHL
00002682: SUB
00002683: DUP7
00002684: AND
00002685: PUSH0
00002686: SWAP1
00002687: DUP2
00002688: MSTORE
00002689: PUSH1 0x0d
0000268b: PUSH1 0x20
0000268d: MSTORE
0000268e: PUSH1 0x40
00002690: SWAP1
00002691: KECCAK256
00002692: PUSH2 0x1b22
00002695: JUMP
00002696: JUMPDEST
00002697: PUSH1 0x0b
00002699: SLOAD
0000269a: PUSH1 0x40
0000269c: DUP1
0000269d: MLOAD
0000269e: PUSH1 0x01
000026a0: PUSH1 0x01
000026a2: PUSH1 0xe0
000026a4: SHL
000026a5: SUB
000026a6: SWAP7
000026a7: SWAP1
000026a8: SWAP7
000026a9: AND
000026aa: DUP7
000026ab: MSTORE
000026ac: PUSH1 0xa0
000026ae: SWAP2
000026af: SWAP1
000026b0: SWAP2
000026b1: SHR
000026b2: PUSH4 0xffffffff
000026b7: AND
000026b8: PUSH1 0x20
000026ba: DUP7
000026bb: ADD
000026bc: MSTORE
000026bd: SWAP2
000026be: AND
000026bf: SWAP3
000026c0: SWAP1
000026c1: DUP2
000026c2: SWAP1
000026c3: DUP2
000026c4: ADD
000026c5: PUSH2 0x1bb7
000026c8: JUMP
000026c9: JUMPDEST
000026ca: CALLVALUE
000026cb: PUSH2 0x045e
000026ce: JUMPI
000026cf: PUSH1 0x40
000026d1: CALLDATASIZE
000026d2: PUSH1 0x03
000026d4: NOT
000026d5: ADD
000026d6: SLT
000026d7: PUSH2 0x045e
000026da: JUMPI
000026db: PUSH1 0x04
000026dd: CALLDATALOAD
000026de: PUSH2 0x26e6
000026e1: DUP2
000026e2: PUSH2 0x059c
000026e5: JUMP
000026e6: JUMPDEST
000026e7: PUSH1 0x0c
000026e9: SLOAD
000026ea: PUSH1 0x24
000026ec: CALLDATALOAD
000026ed: SWAP2
000026ee: PUSH1 0x01
000026f0: PUSH1 0x01
000026f2: PUSH1 0xa0
000026f4: SHL
000026f5: SUB
000026f6: SWAP2
000026f7: DUP3
000026f8: AND
000026f9: CALLER
000026fa: SUB
000026fb: PUSH2 0x0e8c
000026fe: JUMPI
000026ff: PUSH32 0xffb73e7f272503f7f95a05a3a748beaef6216eb560391e2f075d54a5d5b57456
00002720: SWAP2
00002721: DUP2
00002722: PUSH2 0x0e81
00002725: DUP6
00002726: PUSH1 0x20
00002728: SWAP5
00002729: PUSH2 0x34c1
0000272c: JUMP
0000272d: JUMPDEST
0000272e: SWAP2
0000272f: PUSH1 0x80
00002731: PUSH2 0x06ec
00002734: SWAP3
00002735: SWAP5
00002736: SWAP4
00002737: PUSH2 0x276d
0000273a: PUSH1 0x40
0000273c: PUSH1 0xc0
0000273e: DUP4
0000273f: ADD
00002740: SWAP8
00002741: DUP1
00002742: MLOAD
00002743: DUP5
00002744: MSTORE
00002745: PUSH1 0x01
00002747: PUSH1 0x01
00002749: PUSH1 0x40
0000274b: SHL
0000274c: SUB
0000274d: PUSH1 0x20
0000274f: DUP3
00002750: ADD
00002751: MLOAD
00002752: AND
00002753: PUSH1 0x20
00002755: DUP6
00002756: ADD
00002757: MSTORE
00002758: ADD
00002759: MLOAD
0000275a: PUSH1 0x40
0000275c: DUP4
0000275d: ADD
0000275e: SWAP1
0000275f: PUSH1 0x20
00002761: DUP1
00002762: SWAP2
00002763: DUP1
00002764: MLOAD
00002765: DUP5
00002766: MSTORE
00002767: ADD
00002768: MLOAD
00002769: SWAP2
0000276a: ADD
0000276b: MSTORE
0000276c: JUMP
0000276d: JUMPDEST
0000276e: ADD
0000276f: SWAP1
00002770: PUSH1 0x20
00002772: DUP1
00002773: SWAP2
00002774: DUP1
00002775: MLOAD
00002776: DUP5
00002777: MSTORE
00002778: ADD
00002779: MLOAD
0000277a: SWAP2
0000277b: ADD
0000277c: MSTORE
0000277d: JUMP
0000277e: JUMPDEST
0000277f: PUSH1 0x80
00002781: CALLDATASIZE
00002782: PUSH1 0x03
00002784: NOT
00002785: ADD
00002786: SLT
00002787: PUSH2 0x045e
0000278a: JUMPI
0000278b: PUSH1 0x04
0000278d: CALLDATALOAD
0000278e: PUSH1 0x01
00002790: PUSH1 0x01
00002792: PUSH1 0x40
00002794: SHL
00002795: SUB
00002796: DUP2
00002797: GT
00002798: PUSH2 0x045e
0000279b: JUMPI
0000279c: PUSH2 0x27a9
0000279f: SWAP1
000027a0: CALLDATASIZE
000027a1: SWAP1
000027a2: PUSH1 0x04
000027a4: ADD
000027a5: PUSH2 0x0676
000027a8: JUMP
000027a9: JUMPDEST
000027aa: PUSH1 0x40
000027ac: CALLDATASIZE
000027ad: PUSH1 0x23
000027af: NOT
000027b0: ADD
000027b1: SLT
000027b2: PUSH2 0x045e
000027b5: JUMPI
000027b6: PUSH1 0x64
000027b8: CALLDATALOAD
000027b9: PUSH2 0x27c1
000027bc: DUP2
000027bd: PUSH2 0x059c
000027c0: JUMP
000027c1: JUMPDEST
000027c2: PUSH2 0x27c9
000027c5: PUSH2 0x3121
000027c8: JUMP
000027c9: JUMPDEST
000027ca: POP
000027cb: PUSH2 0x27d2
000027ce: PUSH2 0x2d0a
000027d1: JUMP
000027d2: JUMPDEST
000027d3: POP
000027d4: PUSH2 0x27db
000027d7: PUSH2 0x3121
000027da: JUMP
000027db: JUMPDEST
000027dc: POP
000027dd: PUSH2 0x27e4
000027e0: PUSH2 0x2d0a
000027e3: JUMP
000027e4: JUMPDEST
000027e5: POP
000027e6: PUSH1 0x60
000027e8: DUP3
000027e9: ADD
000027ea: CALLDATALOAD
000027eb: SWAP1
000027ec: PUSH2 0x27f5
000027ef: DUP4
000027f0: CALLDATALOAD
000027f1: PUSH2 0x1053
000027f4: JUMP
000027f5: JUMPDEST
000027f6: PUSH2 0x2827
000027f9: PUSH32 0x000000000000000000000000000000000000000000000000000000e8d4a51000
0000281a: PUSH2 0x11a1
0000281d: DUP2
0000281e: PUSH1 0x40
00002820: DUP8
00002821: ADD
00002822: CALLDATALOAD
00002823: PUSH2 0x3a35
00002826: JUMP
00002827: JUMPDEST
00002828: SWAP2
00002829: DUP1
0000282a: DUP4
0000282b: LT
0000282c: PUSH2 0x28dc
0000282f: JUMPI
00002830: POP
00002831: PUSH2 0x2861
00002834: SWAP1
00002835: PUSH2 0x283e
00002838: DUP4
00002839: CALLER
0000283a: PUSH2 0x3406
0000283d: JUMP
0000283e: JUMPDEST
0000283f: PUSH2 0x2848
00002842: DUP4
00002843: DUP6
00002844: PUSH2 0x356d
00002847: JUMP
00002848: JUMPDEST
00002849: PUSH2 0x2851
0000284c: DUP7
0000284d: PUSH2 0x2d8a
00002850: JUMP
00002851: JUMPDEST
00002852: SWAP2
00002853: PUSH2 0x285b
00002856: CALLDATASIZE
00002857: PUSH2 0x39d5
0000285a: JUMP
0000285b: JUMPDEST
0000285c: SWAP3
0000285d: PUSH2 0x3c7c
00002860: JUMP
00002861: JUMPDEST
00002862: SWAP1
00002863: PUSH2 0x286a
00002866: PUSH2 0x2cf0
00002869: JUMP
0000286a: JUMPDEST
0000286b: SWAP3
0000286c: DUP2
0000286d: DUP5
0000286e: MSTORE
0000286f: DUP2
00002870: PUSH1 0x20
00002872: DUP6
00002873: ADD
00002874: MSTORE
00002875: PUSH32 0x85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a
00002896: PUSH2 0x28ca
00002899: PUSH2 0x28a3
0000289c: DUP6
0000289d: MLOAD
0000289e: SWAP4
0000289f: PUSH2 0x2d8a
000028a2: JUMP
000028a3: JUMPDEST
000028a4: SWAP4
000028a5: PUSH1 0x40
000028a7: MLOAD
000028a8: SWAP2
000028a9: DUP2
000028aa: DUP4
000028ab: SWAP3
000028ac: CALLER
000028ad: SWAP8
000028ae: DUP5
000028af: PUSH1 0x40
000028b1: SWAP2
000028b2: SWAP5
000028b3: SWAP4
000028b4: SWAP3
000028b5: PUSH4 0xffffffff
000028ba: PUSH1 0x60
000028bc: DUP4
000028bd: ADD
000028be: SWAP7
000028bf: AND
000028c0: DUP3
000028c1: MSTORE
000028c2: PUSH1 0x20
000028c4: DUP3
000028c5: ADD
000028c6: MSTORE
000028c7: ADD
000028c8: MSTORE
000028c9: JUMP
000028ca: JUMPDEST
000028cb: SUB
000028cc: SWAP1
000028cd: LOG3
000028ce: PUSH2 0x0515
000028d1: PUSH1 0x40
000028d3: MLOAD
000028d4: SWAP3
000028d5: DUP4
000028d6: SWAP3
000028d7: DUP4
000028d8: PUSH2 0x272d
000028db: JUMP
000028dc: JUMPDEST
000028dd: DUP3
000028de: PUSH1 0x44
000028e0: SWAP2
000028e1: PUSH1 0x40
000028e3: MLOAD
000028e4: SWAP2
000028e5: PUSH4 0x71c4efed
000028ea: PUSH1 0xe0
000028ec: SHL
000028ed: DUP4
000028ee: MSTORE
000028ef: PUSH1 0x04
000028f1: DUP4
000028f2: ADD
000028f3: MSTORE
000028f4: PUSH1 0x24
000028f6: DUP3
000028f7: ADD
000028f8: MSTORE
000028f9: REVERT
000028fa: JUMPDEST
000028fb: CALLVALUE
000028fc: PUSH2 0x045e
000028ff: JUMPI
00002900: PUSH0
00002901: PUSH1 0x20
00002903: CALLDATASIZE
00002904: PUSH1 0x03
00002906: NOT
00002907: ADD
00002908: SLT
00002909: PUSH2 0x045e
0000290c: JUMPI
0000290d: PUSH1 0x04
0000290f: CALLDATALOAD
00002910: PUSH2 0x2918
00002913: DUP2
00002914: PUSH2 0x059c
00002917: JUMP
00002918: JUMPDEST
00002919: PUSH2 0x2920
0000291c: PUSH2 0x3322
0000291f: JUMP
00002920: JUMPDEST
00002921: PUSH1 0x01
00002923: PUSH1 0x01
00002925: PUSH1 0xa0
00002927: SHL
00002928: SUB
00002929: PUSH32 0x0000000000000000000000001a44076050125825900e736c501f859c50fe728c
0000294a: DUP2
0000294b: AND
0000294c: SWAP2
0000294d: SWAP1
0000294e: DUP3
0000294f: EXTCODESIZE
00002950: ISZERO
00002951: PUSH2 0x045e
00002954: JUMPI
00002955: PUSH1 0x24
00002957: PUSH0
00002958: SWAP3
00002959: DUP4
0000295a: PUSH1 0x40
0000295c: MLOAD
0000295d: SWAP6
0000295e: DUP7
0000295f: SWAP5
00002960: DUP6
00002961: SWAP4
00002962: PUSH4 0xca5eb5e1
00002967: PUSH1 0xe0
00002969: SHL
0000296a: DUP6
0000296b: MSTORE
0000296c: AND
0000296d: PUSH1 0x04
0000296f: DUP5
00002970: ADD
00002971: MSTORE
00002972: GAS
00002973: CALL
00002974: DUP1
00002975: ISZERO
00002976: PUSH2 0x084f
00002979: JUMPI
0000297a: PUSH2 0x2981
0000297d: JUMPI
0000297e: POP
0000297f: DUP1
00002980: RETURN
00002981: JUMPDEST
00002982: PUSH2 0x0018
00002985: SWAP2
00002986: POP
00002987: PUSH2 0x14a4
0000298a: JUMP
0000298b: JUMPDEST
0000298c: PUSH2 0x2994
0000298f: CALLDATASIZE
00002990: PUSH2 0x0904
00002993: JUMP
00002994: JUMPDEST
00002995: POP
00002996: POP
00002997: POP
00002998: SWAP3
00002999: SWAP1
0000299a: ADDRESS
0000299b: CALLER
0000299c: SUB
0000299d: PUSH2 0x2ad2
000029a0: JUMPI
000029a1: PUSH2 0x29ad
000029a4: PUSH2 0x09dd
000029a7: DUP6
000029a8: DUP4
000029a9: PUSH2 0x3a66
000029ac: JUMP
000029ad: JUMPDEST
000029ae: SWAP4
000029af: PUSH2 0x29ce
000029b2: PUSH2 0x29be
000029b5: PUSH2 0x09fa
000029b8: DUP4
000029b9: DUP6
000029ba: PUSH2 0x3a72
000029bd: JUMP
000029be: JUMPDEST
000029bf: PUSH2 0x29c7
000029c2: DUP6
000029c3: PUSH2 0x2d8a
000029c6: JUMP
000029c7: JUMPDEST
000029c8: POP
000029c9: DUP7
000029ca: PUSH2 0x3ab8
000029cd: JUMP
000029ce: JUMPDEST
000029cf: SWAP2
000029d0: PUSH1 0x28
000029d2: DUP3
000029d3: GT
000029d4: PUSH2 0x2a1d
000029d7: JUMPI
000029d8: JUMPDEST
000029d9: POP
000029da: POP
000029db: PUSH2 0x29f1
000029de: PUSH0
000029df: DUP1
000029e0: MLOAD
000029e1: PUSH1 0x20
000029e3: PUSH2 0x3e25
000029e6: DUP4
000029e7: CODECOPY
000029e8: DUP2
000029e9: MLOAD
000029ea: SWAP2
000029eb: MSTORE
000029ec: SWAP3
000029ed: PUSH2 0x2d8a
000029f0: JUMP
000029f1: JUMPDEST
000029f2: PUSH1 0x40
000029f4: DUP1
000029f5: MLOAD
000029f6: PUSH4 0xffffffff
000029fb: SWAP1
000029fc: SWAP3
000029fd: AND
000029fe: DUP3
000029ff: MSTORE
00002a00: PUSH1 0x20
00002a02: DUP3
00002a03: ADD
00002a04: SWAP3
00002a05: SWAP1
00002a06: SWAP3
00002a07: MSTORE
00002a08: PUSH1 0x01
00002a0a: PUSH1 0x01
00002a0c: PUSH1 0xa0
00002a0e: SHL
00002a0f: SUB
00002a10: SWAP1
00002a11: SWAP5
00002a12: AND
00002a13: SWAP4
00002a14: SWAP1
00002a15: DUP2
00002a16: SWAP1
00002a17: DUP2
00002a18: ADD
00002a19: PUSH2 0x0a5a
00002a1c: JUMP
00002a1d: JUMPDEST
00002a1e: SWAP1
00002a1f: DUP3
00002a20: PUSH2 0x2a3c
00002a23: SWAP3
00002a24: PUSH2 0x0a84
00002a27: PUSH2 0x2a32
00002a2a: PUSH1 0x40
00002a2c: DUP9
00002a2d: ADD
00002a2e: PUSH2 0x31d7
00002a31: JUMP
00002a32: JUMPDEST
00002a33: SWAP4
00002a34: PUSH2 0x0a7e
00002a37: DUP9
00002a38: PUSH2 0x2d8a
00002a3b: JUMP
00002a3c: JUMPDEST
00002a3d: SWAP2
00002a3e: PUSH32 0x0000000000000000000000001a44076050125825900e736c501f859c50fe728c
00002a5f: PUSH1 0x01
00002a61: PUSH1 0x01
00002a63: PUSH1 0xa0
00002a65: SHL
00002a66: SUB
00002a67: AND
00002a68: DUP1
00002a69: EXTCODESIZE
00002a6a: ISZERO
00002a6b: PUSH2 0x045e
00002a6e: JUMPI
00002a6f: PUSH1 0x40
00002a71: MLOAD
00002a72: PUSH4 0x3e5ac809
00002a77: PUSH1 0xe1
00002a79: SHL
00002a7a: DUP2
00002a7b: MSTORE
00002a7c: SWAP4
00002a7d: PUSH0
00002a7e: SWAP2
00002a7f: DUP6
00002a80: SWAP2
00002a81: DUP3
00002a82: SWAP1
00002a83: DUP5
00002a84: SWAP1
00002a85: DUP3
00002a86: SWAP1
00002a87: PUSH2 0x2a95
00002a8a: SWAP1
00002a8b: DUP12
00002a8c: DUP14
00002a8d: PUSH1 0x04
00002a8f: DUP6
00002a90: ADD
00002a91: PUSH2 0x31e1
00002a94: JUMP
00002a95: JUMPDEST
00002a96: SUB
00002a97: SWAP3
00002a98: GAS
00002a99: CALL
00002a9a: SWAP1
00002a9b: DUP2
00002a9c: ISZERO
00002a9d: PUSH2 0x084f
00002aa0: JUMPI
00002aa1: PUSH0
00002aa2: DUP1
00002aa3: MLOAD
00002aa4: PUSH1 0x20
00002aa6: PUSH2 0x3e25
00002aa9: DUP4
00002aaa: CODECOPY
00002aab: DUP2
00002aac: MLOAD
00002aad: SWAP2
00002aae: MSTORE
00002aaf: SWAP4
00002ab0: PUSH2 0x29f1
00002ab3: SWAP3
00002ab4: PUSH2 0x2abf
00002ab7: JUMPI
00002ab8: JUMPDEST
00002ab9: POP
00002aba: SWAP3
00002abb: PUSH2 0x29d8
00002abe: JUMP
00002abf: JUMPDEST
00002ac0: DUP1
00002ac1: PUSH2 0x0af5
00002ac4: PUSH2 0x2acc
00002ac7: SWAP3
00002ac8: PUSH2 0x14a4
00002acb: JUMP
00002acc: JUMPDEST
00002acd: PUSH0
00002ace: PUSH2 0x2ab8
00002ad1: JUMP
00002ad2: JUMPDEST
00002ad3: PUSH1 0x40
00002ad5: MLOAD
00002ad6: PUSH4 0x029a949d
00002adb: PUSH1 0xe3
00002add: SHL
00002ade: DUP2
00002adf: MSTORE
00002ae0: PUSH1 0x04
00002ae2: SWAP1
00002ae3: REVERT
00002ae4: JUMPDEST
00002ae5: CALLVALUE
00002ae6: PUSH2 0x045e
00002ae9: JUMPI
00002aea: PUSH1 0x20
00002aec: CALLDATASIZE
00002aed: PUSH1 0x03
00002aef: NOT
00002af0: ADD
00002af1: SLT
00002af2: PUSH2 0x045e
00002af5: JUMPI
00002af6: PUSH1 0x04
00002af8: CALLDATALOAD
00002af9: PUSH2 0x2b01
00002afc: DUP2
00002afd: PUSH2 0x059c
00002b00: JUMP
00002b01: JUMPDEST
00002b02: PUSH2 0x2b09
00002b05: PUSH2 0x3322
00002b08: JUMP
00002b09: JUMPDEST
00002b0a: PUSH1 0x01
00002b0c: PUSH1 0x01
00002b0e: PUSH1 0xa0
00002b10: SHL
00002b11: SUB
00002b12: AND
00002b13: DUP1
00002b14: ISZERO
00002b15: PUSH2 0x19db
00002b18: JUMPI
00002b19: PUSH1 0x01
00002b1b: PUSH1 0x01
00002b1d: PUSH1 0x60
00002b1f: SHL
00002b20: SUB
00002b21: PUSH1 0xa0
00002b23: SHL
00002b24: PUSH1 0x0b
00002b26: SLOAD
00002b27: AND
00002b28: OR
00002b29: PUSH1 0x0b
00002b2b: SSTORE
00002b2c: PUSH0
00002b2d: DUP1
00002b2e: RETURN
00002b2f: JUMPDEST
00002b30: CALLVALUE
00002b31: PUSH2 0x045e
00002b34: JUMPI
00002b35: PUSH1 0x20
00002b37: CALLDATASIZE
00002b38: PUSH1 0x03
00002b3a: NOT
00002b3b: ADD
00002b3c: SLT
00002b3d: PUSH2 0x045e
00002b40: JUMPI
00002b41: PUSH32 0xd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c2427760
00002b62: PUSH1 0x20
00002b64: PUSH1 0x04
00002b66: CALLDATALOAD
00002b67: PUSH2 0x2b6f
00002b6a: DUP2
00002b6b: PUSH2 0x059c
00002b6e: JUMP
00002b6f: JUMPDEST
00002b70: PUSH2 0x2b77
00002b73: PUSH2 0x3322
00002b76: JUMP
00002b77: JUMPDEST
00002b78: PUSH1 0x02
00002b7a: DUP1
00002b7b: SLOAD
00002b7c: PUSH1 0x01
00002b7e: PUSH1 0x01
00002b80: PUSH1 0xa0
00002b82: SHL
00002b83: SUB
00002b84: NOT
00002b85: AND
00002b86: PUSH1 0x01
00002b88: PUSH1 0x01
00002b8a: PUSH1 0xa0
00002b8c: SHL
00002b8d: SUB
00002b8e: SWAP3
00002b8f: SWAP1
00002b90: SWAP3
00002b91: AND
00002b92: SWAP2
00002b93: DUP3
00002b94: OR
00002b95: SWAP1
00002b96: SSTORE
00002b97: PUSH1 0x40
00002b99: MLOAD
00002b9a: SWAP1
00002b9b: DUP2
00002b9c: MSTORE
00002b9d: LOG1
00002b9e: STOP
00002b9f: JUMPDEST
00002ba0: CALLVALUE
00002ba1: PUSH2 0x045e
00002ba4: JUMPI
00002ba5: PUSH1 0x40
00002ba7: CALLDATASIZE
00002ba8: PUSH1 0x03
00002baa: NOT
00002bab: ADD
00002bac: SLT
00002bad: PUSH2 0x045e
00002bb0: JUMPI
00002bb1: PUSH1 0x20
00002bb3: PUSH2 0x2bf5
00002bb6: PUSH1 0x04
00002bb8: CALLDATALOAD
00002bb9: PUSH2 0x2bc1
00002bbc: DUP2
00002bbd: PUSH2 0x059c
00002bc0: JUMP
00002bc1: JUMPDEST
00002bc2: PUSH1 0x24
00002bc4: CALLDATALOAD
00002bc5: SWAP1
00002bc6: PUSH2 0x2bce
00002bc9: DUP3
00002bca: PUSH2 0x059c
00002bcd: JUMP
00002bce: JUMPDEST
00002bcf: PUSH1 0x01
00002bd1: DUP1
00002bd2: PUSH1 0xa0
00002bd4: SHL
00002bd5: SUB
00002bd6: AND
00002bd7: PUSH0
00002bd8: MSTORE
00002bd9: PUSH1 0x06
00002bdb: DUP4
00002bdc: MSTORE
00002bdd: PUSH1 0x40
00002bdf: PUSH0
00002be0: KECCAK256
00002be1: SWAP1
00002be2: PUSH1 0x01
00002be4: DUP1
00002be5: PUSH1 0xa0
00002be7: SHL
00002be8: SUB
00002be9: AND
00002bea: PUSH0
00002beb: MSTORE
00002bec: PUSH1 0x20
00002bee: MSTORE
00002bef: PUSH1 0x40
00002bf1: PUSH0
00002bf2: KECCAK256
00002bf3: SWAP1
00002bf4: JUMP
00002bf5: JUMPDEST
00002bf6: SLOAD
00002bf7: PUSH1 0x40
00002bf9: MLOAD
00002bfa: SWAP1
00002bfb: DUP2
00002bfc: MSTORE
00002bfd: RETURN
00002bfe: JUMPDEST
00002bff: CALLVALUE
00002c00: PUSH2 0x045e
00002c03: JUMPI
00002c04: PUSH1 0x20
00002c06: CALLDATASIZE
00002c07: PUSH1 0x03
00002c09: NOT
00002c0a: ADD
00002c0b: SLT
00002c0c: PUSH2 0x045e
00002c0f: JUMPI
00002c10: PUSH1 0x04
00002c12: CALLDATALOAD
00002c13: PUSH2 0x2c1b
00002c16: DUP2
00002c17: PUSH2 0x059c
00002c1a: JUMP
00002c1b: JUMPDEST
00002c1c: PUSH2 0x2c23
00002c1f: PUSH2 0x3322
00002c22: JUMP
00002c23: JUMPDEST
00002c24: PUSH1 0x01
00002c26: PUSH1 0x01
00002c28: PUSH1 0xa0
00002c2a: SHL
00002c2b: SUB
00002c2c: SWAP1
00002c2d: DUP2
00002c2e: AND
00002c2f: SWAP1
00002c30: DUP2
00002c31: ISZERO
00002c32: PUSH2 0x2c6f
00002c35: JUMPI
00002c36: PUSH0
00002c37: SLOAD
00002c38: DUP3
00002c39: PUSH1 0x01
00002c3b: PUSH1 0x01
00002c3d: PUSH1 0x60
00002c3f: SHL
00002c40: SUB
00002c41: PUSH1 0xa0
00002c43: SHL
00002c44: DUP3
00002c45: AND
00002c46: OR
00002c47: PUSH0
00002c48: SSTORE
00002c49: AND
00002c4a: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00002c6b: PUSH0
00002c6c: DUP1
00002c6d: LOG3
00002c6e: STOP
00002c6f: JUMPDEST
00002c70: PUSH1 0x40
00002c72: MLOAD
00002c73: PUSH4 0x1e4fbdf7
00002c78: PUSH1 0xe0
00002c7a: SHL
00002c7b: DUP2
00002c7c: MSTORE
00002c7d: PUSH0
00002c7e: PUSH1 0x04
00002c80: DUP3
00002c81: ADD
00002c82: MSTORE
00002c83: PUSH1 0x24
00002c85: SWAP1
00002c86: REVERT
00002c87: JUMPDEST
00002c88: CALLVALUE
00002c89: PUSH2 0x045e
00002c8c: JUMPI
00002c8d: PUSH0
00002c8e: CALLDATASIZE
00002c8f: PUSH1 0x03
00002c91: NOT
00002c92: ADD
00002c93: SLT
00002c94: PUSH2 0x045e
00002c97: JUMPI
00002c98: PUSH1 0x20
00002c9a: PUSH1 0xff
00002c9c: PUSH1 0x0b
00002c9e: SLOAD
00002c9f: PUSH1 0xc0
00002ca1: SHR
00002ca2: AND
00002ca3: PUSH1 0x40
00002ca5: MLOAD
00002ca6: SWAP1
00002ca7: ISZERO
00002ca8: ISZERO
00002ca9: DUP2
00002caa: MSTORE
00002cab: RETURN
00002cac: JUMPDEST
00002cad: CALLVALUE
00002cae: PUSH2 0x045e
00002cb1: JUMPI
00002cb2: PUSH1 0x60
00002cb4: CALLDATASIZE
00002cb5: PUSH1 0x03
00002cb7: NOT
00002cb8: ADD
00002cb9: SLT
00002cba: PUSH2 0x045e
00002cbd: JUMPI
00002cbe: PUSH1 0x20
00002cc0: PUSH2 0x2cc8
00002cc3: CALLDATASIZE
00002cc4: PUSH2 0x08c6
00002cc7: JUMP
00002cc8: JUMPDEST
00002cc9: PUSH4 0xffffffff
00002cce: DUP2
00002ccf: CALLDATALOAD
00002cd0: PUSH2 0x2cd8
00002cd3: DUP2
00002cd4: PUSH2 0x1053
00002cd7: JUMP
00002cd8: JUMPDEST
00002cd9: AND
00002cda: PUSH0
00002cdb: MSTORE
00002cdc: PUSH1 0x01
00002cde: DUP3
00002cdf: MSTORE
00002ce0: PUSH1 0x40
00002ce2: PUSH0
00002ce3: KECCAK256
00002ce4: SLOAD
00002ce5: DUP3
00002ce6: PUSH1 0x40
00002ce8: MLOAD
00002ce9: SWAP3
00002cea: ADD
00002ceb: CALLDATALOAD
00002cec: EQ
00002ced: DUP2
00002cee: MSTORE
00002cef: RETURN
00002cf0: JUMPDEST
00002cf1: PUSH1 0x40
00002cf3: MLOAD
00002cf4: SWAP1
00002cf5: PUSH2 0x06ec
00002cf8: DUP3
00002cf9: PUSH2 0x14d7
00002cfc: JUMP
00002cfd: JUMPDEST
00002cfe: PUSH1 0x40
00002d00: MLOAD
00002d01: SWAP1
00002d02: PUSH2 0x06ec
00002d05: DUP3
00002d06: PUSH2 0x14f2
00002d09: JUMP
00002d0a: JUMPDEST
00002d0b: PUSH1 0x40
00002d0d: MLOAD
00002d0e: SWAP1
00002d0f: PUSH2 0x2d17
00002d12: DUP3
00002d13: PUSH2 0x14d7
00002d16: JUMP
00002d17: JUMPDEST
00002d18: PUSH0
00002d19: PUSH1 0x20
00002d1b: DUP4
00002d1c: DUP3
00002d1d: DUP2
00002d1e: MSTORE
00002d1f: ADD
00002d20: MSTORE
00002d21: JUMP
00002d22: JUMPDEST
00002d23: SWAP1
00002d24: DUP2
00002d25: PUSH1 0x20
00002d27: SWAP2
00002d28: SUB
00002d29: SLT
00002d2a: PUSH2 0x045e
00002d2d: JUMPI
00002d2e: MLOAD
00002d2f: PUSH2 0x04b9
00002d32: DUP2
00002d33: PUSH2 0x059c
00002d36: JUMP
00002d37: JUMPDEST
00002d38: PUSH1 0x40
00002d3a: MLOAD
00002d3b: RETURNDATASIZE
00002d3c: PUSH0
00002d3d: DUP3
00002d3e: RETURNDATACOPY
00002d3f: RETURNDATASIZE
00002d40: SWAP1
00002d41: REVERT
00002d42: JUMPDEST
00002d43: SWAP1
00002d44: DUP2
00002d45: PUSH1 0x20
00002d47: SWAP2
00002d48: SUB
00002d49: SLT
00002d4a: PUSH2 0x045e
00002d4d: JUMPI
00002d4e: MLOAD
00002d4f: SWAP1
00002d50: JUMP
00002d51: JUMPDEST
00002d52: PUSH1 0x01
00002d54: PUSH1 0x01
00002d56: PUSH1 0x40
00002d58: SHL
00002d59: SUB
00002d5a: DUP2
00002d5b: GT
00002d5c: PUSH2 0x14b7
00002d5f: JUMPI
00002d60: PUSH1 0x05
00002d62: SHL
00002d63: PUSH1 0x20
00002d65: ADD
00002d66: SWAP1
00002d67: JUMP
00002d68: JUMPDEST
00002d69: PUSH1 0x40
00002d6b: MLOAD
00002d6c: PUSH1 0x20
00002d6e: DUP2
00002d6f: ADD
00002d70: DUP2
00002d71: DUP2
00002d72: LT
00002d73: PUSH1 0x01
00002d75: PUSH1 0x01
00002d77: PUSH1 0x40
00002d79: SHL
00002d7a: SUB
00002d7b: DUP3
00002d7c: GT
00002d7d: OR
00002d7e: PUSH2 0x14b7
00002d81: JUMPI
00002d82: PUSH1 0x40
00002d84: MSTORE
00002d85: PUSH0
00002d86: DUP2
00002d87: MSTORE
00002d88: SWAP1
00002d89: JUMP
00002d8a: JUMPDEST
00002d8b: CALLDATALOAD
00002d8c: PUSH2 0x04b9
00002d8f: DUP2
00002d90: PUSH2 0x1053
00002d93: JUMP
00002d94: JUMPDEST
00002d95: PUSH4 0x4e487b71
00002d9a: PUSH1 0xe0
00002d9c: SHL
00002d9d: PUSH0
00002d9e: MSTORE
00002d9f: PUSH1 0x11
00002da1: PUSH1 0x04
00002da3: MSTORE
00002da4: PUSH1 0x24
00002da6: PUSH0
00002da7: REVERT
00002da8: JUMPDEST
00002da9: SWAP2
00002daa: SWAP1
00002dab: DUP3
00002dac: SUB
00002dad: SWAP2
00002dae: DUP3
00002daf: GT
00002db0: PUSH2 0x2088
00002db3: JUMPI
00002db4: JUMP
00002db5: JUMPDEST
00002db6: SWAP1
00002db7: PUSH1 0x01
00002db9: PUSH4 0xffffffff
00002dbe: DUP1
00002dbf: SWAP4
00002dc0: AND
00002dc1: ADD
00002dc2: SWAP2
00002dc3: DUP3
00002dc4: GT
00002dc5: PUSH2 0x2088
00002dc8: JUMPI
00002dc9: JUMP
00002dca: JUMPDEST
00002dcb: SWAP2
00002dcc: SWAP1
00002dcd: DUP3
00002dce: ADD
00002dcf: DUP1
00002dd0: SWAP3
00002dd1: GT
00002dd2: PUSH2 0x2088
00002dd5: JUMPI
00002dd6: JUMP
00002dd7: JUMPDEST
00002dd8: SWAP1
00002dd9: PUSH1 0x40
00002ddb: MLOAD
00002ddc: PUSH2 0x2de4
00002ddf: DUP2
00002de0: PUSH2 0x14d7
00002de3: JUMP
00002de4: JUMPDEST
00002de5: SWAP2
00002de6: SLOAD
00002de7: PUSH1 0x01
00002de9: PUSH1 0x01
00002deb: PUSH1 0xe0
00002ded: SHL
00002dee: SUB
00002def: DUP2
00002df0: AND
00002df1: DUP4
00002df2: MSTORE
00002df3: PUSH1 0xe0
00002df5: SHR
00002df6: PUSH1 0x20
00002df8: DUP4
00002df9: ADD
00002dfa: MSTORE
00002dfb: JUMP
00002dfc: JUMPDEST
00002dfd: PUSH1 0x01
00002dff: PUSH1 0x01
00002e01: PUSH1 0xe0
00002e03: SHL
00002e04: SUB
00002e05: SWAP2
00002e06: DUP3
00002e07: AND
00002e08: SWAP1
00002e09: DUP3
00002e0a: AND
00002e0b: ADD
00002e0c: SWAP2
00002e0d: SWAP1
00002e0e: DUP3
00002e0f: GT
00002e10: PUSH2 0x2088
00002e13: JUMPI
00002e14: JUMP
00002e15: JUMPDEST
00002e16: PUSH1 0x01
00002e18: PUSH1 0x01
00002e1a: PUSH1 0x40
00002e1c: SHL
00002e1d: SUB
00002e1e: DUP2
00002e1f: GT
00002e20: PUSH2 0x14b7
00002e23: JUMPI
00002e24: PUSH1 0x1f
00002e26: ADD
00002e27: PUSH1 0x1f
00002e29: NOT
00002e2a: AND
00002e2b: PUSH1 0x20
00002e2d: ADD
00002e2e: SWAP1
00002e2f: JUMP
00002e30: JUMPDEST
00002e31: RETURNDATASIZE
00002e32: ISZERO
00002e33: PUSH2 0x2e5a
00002e36: JUMPI
00002e37: RETURNDATASIZE
00002e38: SWAP1
00002e39: PUSH2 0x2e41
00002e3c: DUP3
00002e3d: PUSH2 0x2e15
00002e40: JUMP
00002e41: JUMPDEST
00002e42: SWAP2
00002e43: PUSH2 0x2e4f
00002e46: PUSH1 0x40
00002e48: MLOAD
00002e49: SWAP4
00002e4a: DUP5
00002e4b: PUSH2 0x150d
00002e4e: JUMP
00002e4f: JUMPDEST
00002e50: DUP3
00002e51: MSTORE
00002e52: RETURNDATASIZE
00002e53: PUSH0
00002e54: PUSH1 0x20
00002e56: DUP5
00002e57: ADD
00002e58: RETURNDATACOPY
00002e59: JUMP
00002e5a: JUMPDEST
00002e5b: PUSH1 0x60
00002e5d: SWAP1
00002e5e: JUMP
00002e5f: JUMPDEST
00002e60: SWAP3
00002e61: SWAP2
00002e62: SWAP3
00002e63: PUSH2 0x2e6b
00002e66: DUP3
00002e67: PUSH2 0x2e15
00002e6a: JUMP
00002e6b: JUMPDEST
00002e6c: SWAP2
00002e6d: PUSH2 0x2e79
00002e70: PUSH1 0x40
00002e72: MLOAD
00002e73: SWAP4
00002e74: DUP5
00002e75: PUSH2 0x150d
00002e78: JUMP
00002e79: JUMPDEST
00002e7a: DUP3
00002e7b: SWAP5
00002e7c: DUP2
00002e7d: DUP5
00002e7e: MSTORE
00002e7f: DUP2
00002e80: DUP4
00002e81: ADD
00002e82: GT
00002e83: PUSH2 0x045e
00002e86: JUMPI
00002e87: DUP3
00002e88: DUP2
00002e89: PUSH1 0x20
00002e8b: SWAP4
00002e8c: DUP5
00002e8d: PUSH0
00002e8e: SWAP7
00002e8f: ADD
00002e90: CALLDATACOPY
00002e91: ADD
00002e92: ADD
00002e93: MSTORE
00002e94: JUMP
00002e95: JUMPDEST
00002e96: SWAP1
00002e97: SWAP3
00002e98: SWAP2
00002e99: SWAP3
00002e9a: DUP4
00002e9b: PUSH1 0x02
00002e9d: GT
00002e9e: PUSH2 0x045e
00002ea1: JUMPI
00002ea2: DUP4
00002ea3: GT
00002ea4: PUSH2 0x045e
00002ea7: JUMPI
00002ea8: PUSH1 0x02
00002eaa: ADD
00002eab: SWAP2
00002eac: PUSH1 0x01
00002eae: NOT
00002eaf: ADD
00002eb0: SWAP1
00002eb1: JUMP
00002eb2: JUMPDEST
00002eb3: PUSH1 0x20
00002eb5: SWAP1
00002eb6: DUP4
00002eb7: PUSH2 0x06ec
00002eba: SWAP4
00002ebb: SWAP6
00002ebc: SWAP5
00002ebd: SWAP6
00002ebe: PUSH1 0x40
00002ec0: MLOAD
00002ec1: SWAP7
00002ec2: DUP4
00002ec3: PUSH2 0x2ed5
00002ec6: DUP10
00002ec7: SWAP6
00002ec8: MLOAD
00002ec9: DUP1
00002eca: SWAP3
00002ecb: DUP9
00002ecc: DUP1
00002ecd: DUP10
00002ece: ADD
00002ecf: SWAP2
00002ed0: ADD
00002ed1: PUSH2 0x0462
00002ed4: JUMP
00002ed5: JUMPDEST
00002ed6: DUP5
00002ed7: ADD
00002ed8: SWAP2
00002ed9: DUP6
00002eda: DUP4
00002edb: ADD
00002edc: CALLDATACOPY
00002edd: ADD
00002ede: PUSH0
00002edf: DUP4
00002ee0: DUP3
00002ee1: ADD
00002ee2: MSTORE
00002ee3: SUB
00002ee4: DUP1
00002ee5: DUP6
00002ee6: MSTORE
00002ee7: ADD
00002ee8: DUP4
00002ee9: PUSH2 0x150d
00002eec: JUMP
00002eed: JUMPDEST
00002eee: SWAP1
00002eef: DUP1
00002ef0: PUSH1 0x20
00002ef2: SWAP4
00002ef3: SWAP3
00002ef4: DUP2
00002ef5: DUP5
00002ef6: MSTORE
00002ef7: DUP5
00002ef8: DUP5
00002ef9: ADD
00002efa: CALLDATACOPY
00002efb: PUSH0
00002efc: DUP3
00002efd: DUP3
00002efe: ADD
00002eff: DUP5
00002f00: ADD
00002f01: MSTORE
00002f02: PUSH1 0x1f
00002f04: ADD
00002f05: PUSH1 0x1f
00002f07: NOT
00002f08: AND
00002f09: ADD
00002f0a: ADD
00002f0b: SWAP1
00002f0c: JUMP
00002f0d: JUMPDEST
00002f0e: SWAP2
00002f0f: PUSH1 0x20
00002f11: PUSH2 0x04b9
00002f14: SWAP4
00002f15: DUP2
00002f16: DUP2
00002f17: MSTORE
00002f18: ADD
00002f19: SWAP2
00002f1a: PUSH2 0x2eed
00002f1d: JUMP
00002f1e: JUMPDEST
00002f1f: PUSH2 0x1582
00002f22: PUSH2 0x158e
00002f25: SWAP3
00002f26: PUSH4 0xffffffff
00002f2b: PUSH2 0x2f4f
00002f2e: SWAP4
00002f2f: SWAP8
00002f30: SWAP6
00002f31: SWAP7
00002f32: SWAP8
00002f33: AND
00002f34: PUSH0
00002f35: MSTORE
00002f36: PUSH1 0x03
00002f38: PUSH1 0x20
00002f3a: MSTORE
00002f3b: PUSH1 0x40
00002f3d: PUSH0
00002f3e: KECCAK256
00002f3f: SWAP1
00002f40: PUSH2 0xffff
00002f43: AND
00002f44: PUSH0
00002f45: MSTORE
00002f46: PUSH1 0x20
00002f48: MSTORE
00002f49: PUSH1 0x40
00002f4b: PUSH0
00002f4c: KECCAK256
00002f4d: SWAP1
00002f4e: JUMP
00002f4f: JUMPDEST
00002f50: DUP1
00002f51: MLOAD
00002f52: ISZERO
00002f53: PUSH2 0x2fb2
00002f56: JUMPI
00002f57: DUP4
00002f58: ISZERO
00002f59: PUSH2 0x2fac
00002f5c: JUMPI
00002f5d: PUSH1 0x02
00002f5f: DUP5
00002f60: LT
00002f61: ISZERO
00002f62: PUSH2 0x2f83
00002f65: JUMPI
00002f66: POP
00002f67: POP
00002f68: PUSH2 0x0b32
00002f6b: PUSH1 0x40
00002f6d: MLOAD
00002f6e: SWAP3
00002f6f: DUP4
00002f70: SWAP3
00002f71: PUSH4 0x9a6d49cd
00002f76: PUSH1 0xe0
00002f78: SHL
00002f79: DUP5
00002f7a: MSTORE
00002f7b: PUSH1 0x04
00002f7d: DUP5
00002f7e: ADD
00002f7f: PUSH2 0x2f0d
00002f82: JUMP
00002f83: JUMPDEST
00002f84: SWAP1
00002f85: SWAP3
00002f86: DUP1
00002f87: PUSH2 0x2fa6
00002f8a: SWAP2
00002f8b: PUSH2 0x04b9
00002f8e: SWAP5
00002f8f: PUSH2 0x2fa1
00002f92: PUSH2 0x2f9c
00002f95: CALLDATASIZE
00002f96: DUP5
00002f97: DUP5
00002f98: PUSH2 0x2e5f
00002f9b: JUMP
00002f9c: JUMPDEST
00002f9d: PUSH2 0x399d
00002fa0: JUMP
00002fa1: JUMPDEST
00002fa2: PUSH2 0x2e95
00002fa5: JUMP
00002fa6: JUMPDEST
00002fa7: SWAP2
00002fa8: PUSH2 0x2eb2
00002fab: JUMP
00002fac: JUMPDEST
00002fad: SWAP3
00002fae: POP
00002faf: SWAP1
00002fb0: POP
00002fb1: JUMP
00002fb2: JUMPDEST
00002fb3: POP
00002fb4: SWAP2
00002fb5: SWAP1
00002fb6: PUSH2 0x04b9
00002fb9: SWAP2
00002fba: CALLDATASIZE
00002fbb: SWAP2
00002fbc: PUSH2 0x2e5f
00002fbf: JUMP
00002fc0: JUMPDEST
00002fc1: PUSH4 0x4e487b71
00002fc6: PUSH1 0xe0
00002fc8: SHL
00002fc9: PUSH0
00002fca: MSTORE
00002fcb: PUSH1 0x32
00002fcd: PUSH1 0x04
00002fcf: MSTORE
00002fd0: PUSH1 0x24
00002fd2: PUSH0
00002fd3: REVERT
00002fd4: JUMPDEST
00002fd5: SWAP2
00002fd6: SWAP1
00002fd7: DUP2
00002fd8: LT
00002fd9: ISZERO
00002fda: PUSH2 0x2ff7
00002fdd: JUMPI
00002fde: PUSH1 0x05
00002fe0: SHL
00002fe1: DUP2
00002fe2: ADD
00002fe3: CALLDATALOAD
00002fe4: SWAP1
00002fe5: PUSH2 0x013e
00002fe8: NOT
00002fe9: DUP2
00002fea: CALLDATASIZE
00002feb: SUB
00002fec: ADD
00002fed: DUP3
00002fee: SLT
00002fef: ISZERO
00002ff0: PUSH2 0x045e
00002ff3: JUMPI
00002ff4: ADD
00002ff5: SWAP1
00002ff6: JUMP
00002ff7: JUMPDEST
00002ff8: PUSH2 0x2fc0
00002ffb: JUMP
00002ffc: JUMPDEST
00002ffd: SWAP1
00002ffe: CALLDATALOAD
00002fff: SWAP1
00003000: PUSH1 0x1e
00003002: NOT
00003003: DUP2
00003004: CALLDATASIZE
00003005: SUB
00003006: ADD
00003007: DUP3
00003008: SLT
00003009: ISZERO
0000300a: PUSH2 0x045e
0000300d: JUMPI
0000300e: ADD
0000300f: DUP1
00003010: CALLDATALOAD
00003011: SWAP1
00003012: PUSH1 0x01
00003014: PUSH1 0x01
00003016: PUSH1 0x40
00003018: SHL
00003019: SUB
0000301a: DUP3
0000301b: GT
0000301c: PUSH2 0x045e
0000301f: JUMPI
00003020: PUSH1 0x20
00003022: ADD
00003023: SWAP2
00003024: DUP2
00003025: CALLDATASIZE
00003026: SUB
00003027: DUP4
00003028: SGT
00003029: PUSH2 0x045e
0000302c: JUMPI
0000302d: JUMP
0000302e: JUMPDEST
0000302f: CALLDATALOAD
00003030: PUSH2 0x04b9
00003033: DUP2
00003034: PUSH2 0x059c
00003037: JUMP
00003038: JUMPDEST
00003039: PUSH1 0x01
0000303b: PUSH1 0x01
0000303d: PUSH1 0x40
0000303f: SHL
00003040: SUB
00003041: DUP2
00003042: AND
00003043: SUB
00003044: PUSH2 0x045e
00003047: JUMPI
00003048: JUMP
00003049: JUMPDEST
0000304a: SWAP3
0000304b: SWAP1
0000304c: SWAP4
0000304d: PUSH2 0x30a5
00003050: SWAP3
00003051: PUSH1 0x01
00003053: PUSH1 0x01
00003055: PUSH1 0x40
00003057: SHL
00003058: SUB
00003059: PUSH1 0x40
0000305b: PUSH2 0x04b9
0000305e: SWAP11
0000305f: SWAP9
00003060: SWAP10
00003061: SWAP8
00003062: PUSH4 0xffffffff
00003067: DUP2
00003068: CALLDATALOAD
00003069: PUSH2 0x3071
0000306c: DUP2
0000306d: PUSH2 0x1053
00003070: JUMP
00003071: JUMPDEST
00003072: AND
00003073: DUP9
00003074: MSTORE
00003075: PUSH1 0x20
00003077: DUP2
00003078: ADD
00003079: CALLDATALOAD
0000307a: PUSH1 0x20
0000307c: DUP10
0000307d: ADD
0000307e: MSTORE
0000307f: ADD
00003080: CALLDATALOAD
00003081: PUSH2 0x3089
00003084: DUP2
00003085: PUSH2 0x3038
00003088: JUMP
00003089: JUMPDEST
0000308a: AND
0000308b: PUSH1 0x40
0000308d: DUP7
0000308e: ADD
0000308f: MSTORE
00003090: PUSH1 0x60
00003092: DUP6
00003093: ADD
00003094: MSTORE
00003095: PUSH1 0xe0
00003097: PUSH1 0x80
00003099: DUP6
0000309a: ADD
0000309b: MSTORE
0000309c: PUSH1 0xe0
0000309e: DUP5
0000309f: ADD
000030a0: SWAP2
000030a1: PUSH2 0x2eed
000030a4: JUMP
000030a5: JUMPDEST
000030a6: PUSH1 0x01
000030a8: PUSH1 0x01
000030aa: PUSH1 0xa0
000030ac: SHL
000030ad: SUB
000030ae: SWAP1
000030af: SWAP5
000030b0: AND
000030b1: PUSH1 0xa0
000030b3: DUP3
000030b4: ADD
000030b5: MSTORE
000030b6: DUP1
000030b7: DUP5
000030b8: SUB
000030b9: PUSH1 0xc0
000030bb: SWAP1
000030bc: SWAP2
000030bd: ADD
000030be: MSTORE
000030bf: PUSH2 0x2eed
000030c2: JUMP
000030c3: JUMPDEST
000030c4: PUSH1 0x20
000030c6: DUP2
000030c7: DUP4
000030c8: SUB
000030c9: SLT
000030ca: PUSH2 0x045e
000030cd: JUMPI
000030ce: DUP1
000030cf: MLOAD
000030d0: SWAP1
000030d1: PUSH1 0x01
000030d3: PUSH1 0x01
000030d5: PUSH1 0x40
000030d7: SHL
000030d8: SUB
000030d9: DUP3
000030da: GT
000030db: PUSH2 0x045e
000030de: JUMPI
000030df: ADD
000030e0: DUP2
000030e1: PUSH1 0x1f
000030e3: DUP3
000030e4: ADD
000030e5: SLT
000030e6: ISZERO
000030e7: PUSH2 0x045e
000030ea: JUMPI
000030eb: DUP1
000030ec: MLOAD
000030ed: PUSH2 0x30f5
000030f0: DUP2
000030f1: PUSH2 0x2e15
000030f4: JUMP
000030f5: JUMPDEST
000030f6: SWAP3
000030f7: PUSH2 0x3103
000030fa: PUSH1 0x40
000030fc: MLOAD
000030fd: SWAP5
000030fe: DUP6
000030ff: PUSH2 0x150d
00003102: JUMP
00003103: JUMPDEST
00003104: DUP2
00003105: DUP5
00003106: MSTORE
00003107: PUSH1 0x20
00003109: DUP3
0000310a: DUP5
0000310b: ADD
0000310c: ADD
0000310d: GT
0000310e: PUSH2 0x045e
00003111: JUMPI
00003112: PUSH2 0x04b9
00003115: SWAP2
00003116: PUSH1 0x20
00003118: DUP1
00003119: DUP6
0000311a: ADD
0000311b: SWAP2
0000311c: ADD
0000311d: PUSH2 0x0462
00003120: JUMP
00003121: JUMPDEST
00003122: PUSH1 0x40
00003124: MLOAD
00003125: SWAP1
00003126: PUSH2 0x312e
00003129: DUP3
0000312a: PUSH2 0x14bc
0000312d: JUMP
0000312e: JUMPDEST
0000312f: DUP2
00003130: PUSH0
00003131: DUP2
00003132: MSTORE
00003133: PUSH0
00003134: PUSH1 0x20
00003136: DUP3
00003137: ADD
00003138: MSTORE
00003139: PUSH1 0x40
0000313b: PUSH2 0x3142
0000313e: PUSH2 0x2d0a
00003141: JUMP
00003142: JUMPDEST
00003143: SWAP2
00003144: ADD
00003145: MSTORE
00003146: JUMP
00003147: JUMPDEST
00003148: PUSH2 0x3176
0000314b: SWAP1
0000314c: PUSH2 0x11a1
0000314f: PUSH32 0x000000000000000000000000000000000000000000000000000000e8d4a51000
00003170: DUP1
00003171: SWAP3
00003172: PUSH2 0x3a35
00003175: JUMP
00003176: JUMPDEST
00003177: SWAP2
00003178: DUP3
00003179: SWAP2
0000317a: DUP1
0000317b: DUP5
0000317c: LT
0000317d: PUSH2 0x3183
00003180: JUMPI
00003181: POP
00003182: JUMP
00003183: JUMPDEST
00003184: DUP4
00003185: PUSH1 0x44
00003187: SWAP2
00003188: PUSH1 0x40
0000318a: MLOAD
0000318b: SWAP2
0000318c: PUSH4 0x71c4efed
00003191: PUSH1 0xe0
00003193: SHL
00003194: DUP4
00003195: MSTORE
00003196: PUSH1 0x04
00003198: DUP4
00003199: ADD
0000319a: MSTORE
0000319b: PUSH1 0x24
0000319d: DUP3
0000319e: ADD
0000319f: MSTORE
000031a0: REVERT
000031a1: JUMPDEST
000031a2: PUSH4 0xffffffff
000031a7: AND
000031a8: DUP1
000031a9: PUSH0
000031aa: MSTORE
000031ab: PUSH1 0x01
000031ad: PUSH1 0x20
000031af: MSTORE
000031b0: PUSH1 0x40
000031b2: PUSH0
000031b3: KECCAK256
000031b4: SLOAD
000031b5: SWAP1
000031b6: DUP2
000031b7: ISZERO
000031b8: PUSH2 0x31bf
000031bb: JUMPI
000031bc: POP
000031bd: SWAP1
000031be: JUMP
000031bf: JUMPDEST
000031c0: PUSH1 0x24
000031c2: SWAP1
000031c3: PUSH1 0x40
000031c5: MLOAD
000031c6: SWAP1
000031c7: PUSH4 0xf6ff4fb7
000031cc: PUSH1 0xe0
000031ce: SHL
000031cf: DUP3
000031d0: MSTORE
000031d1: PUSH1 0x04
000031d3: DUP3
000031d4: ADD
000031d5: MSTORE
000031d6: REVERT
000031d7: JUMPDEST
000031d8: CALLDATALOAD
000031d9: PUSH2 0x04b9
000031dc: DUP2
000031dd: PUSH2 0x3038
000031e0: JUMP
000031e1: JUMPDEST
000031e2: PUSH2 0x04b9
000031e5: SWAP4
000031e6: SWAP3
000031e7: PUSH1 0x80
000031e9: SWAP3
000031ea: PUSH1 0x01
000031ec: DUP1
000031ed: PUSH1 0xa0
000031ef: SHL
000031f0: SUB
000031f1: AND
000031f2: DUP3
000031f3: MSTORE
000031f4: PUSH1 0x20
000031f6: DUP3
000031f7: ADD
000031f8: MSTORE
000031f9: PUSH0
000031fa: PUSH1 0x40
000031fc: DUP3
000031fd: ADD
000031fe: MSTORE
000031ff: DUP2
00003200: PUSH1 0x60
00003202: DUP3
00003203: ADD
00003204: MSTORE
00003205: ADD
00003206: SWAP1
00003207: PUSH2 0x0483
0000320a: JUMP
0000320b: JUMPDEST
0000320c: SWAP2
0000320d: PUSH1 0x01
0000320f: PUSH1 0x01
00003211: PUSH1 0xa0
00003213: SHL
00003214: SUB
00003215: DUP1
00003216: DUP5
00003217: AND
00003218: SWAP3
00003219: SWAP1
0000321a: DUP4
0000321b: ISZERO
0000321c: PUSH2 0x330a
0000321f: JUMPI
00003220: DUP2
00003221: AND
00003222: SWAP4
00003223: DUP5
00003224: ISZERO
00003225: PUSH2 0x32f2
00003228: JUMPI
00003229: PUSH1 0x01
0000322b: PUSH1 0x01
0000322d: PUSH1 0xa0
0000322f: SHL
00003230: SUB
00003231: DUP2
00003232: AND
00003233: PUSH0
00003234: SWAP1
00003235: DUP2
00003236: MSTORE
00003237: PUSH1 0x05
00003239: PUSH1 0x20
0000323b: MSTORE
0000323c: PUSH1 0x40
0000323e: SWAP1
0000323f: KECCAK256
00003240: SLOAD
00003241: DUP4
00003242: DUP2
00003243: LT
00003244: PUSH2 0x32c3
00003247: JUMPI
00003248: PUSH2 0x32be
0000324b: SWAP3
0000324c: DUP5
0000324d: SWAP3
0000324e: PUSH2 0x328e
00003251: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00003272: SWAP7
00003273: PUSH2 0x32a8
00003276: SWAP5
00003277: SUB
00003278: SWAP2
00003279: PUSH1 0x01
0000327b: DUP1
0000327c: PUSH1 0xa0
0000327e: SHL
0000327f: SUB
00003280: AND
00003281: PUSH0
00003282: MSTORE
00003283: PUSH1 0x05
00003285: PUSH1 0x20
00003287: MSTORE
00003288: PUSH1 0x40
0000328a: PUSH0
0000328b: KECCAK256
0000328c: SWAP1
0000328d: JUMP
0000328e: JUMPDEST
0000328f: SSTORE
00003290: PUSH1 0x01
00003292: PUSH1 0x01
00003294: PUSH1 0xa0
00003296: SHL
00003297: SUB
00003298: AND
00003299: PUSH0
0000329a: SWAP1
0000329b: DUP2
0000329c: MSTORE
0000329d: PUSH1 0x05
0000329f: PUSH1 0x20
000032a1: MSTORE
000032a2: PUSH1 0x40
000032a4: SWAP1
000032a5: KECCAK256
000032a6: SWAP1
000032a7: JUMP
000032a8: JUMPDEST
000032a9: DUP1
000032aa: SLOAD
000032ab: DUP3
000032ac: ADD
000032ad: SWAP1
000032ae: SSTORE
000032af: PUSH1 0x40
000032b1: MLOAD
000032b2: SWAP1
000032b3: DUP2
000032b4: MSTORE
000032b5: SWAP1
000032b6: DUP2
000032b7: SWAP1
000032b8: PUSH1 0x20
000032ba: DUP3
000032bb: ADD
000032bc: SWAP1
000032bd: JUMP
000032be: JUMPDEST
000032bf: SUB
000032c0: SWAP1
000032c1: LOG3
000032c2: JUMP
000032c3: JUMPDEST
000032c4: PUSH1 0x40
000032c6: MLOAD
000032c7: PUSH4 0x391434e3
000032cc: PUSH1 0xe2
000032ce: SHL
000032cf: DUP2
000032d0: MSTORE
000032d1: PUSH1 0x01
000032d3: PUSH1 0x01
000032d5: PUSH1 0xa0
000032d7: SHL
000032d8: SUB
000032d9: SWAP3
000032da: SWAP1
000032db: SWAP3
000032dc: AND
000032dd: PUSH1 0x04
000032df: DUP4
000032e0: ADD
000032e1: MSTORE
000032e2: PUSH1 0x24
000032e4: DUP3
000032e5: ADD
000032e6: MSTORE
000032e7: PUSH1 0x44
000032e9: DUP2
000032ea: ADD
000032eb: DUP4
000032ec: SWAP1
000032ed: MSTORE
000032ee: PUSH1 0x64
000032f0: SWAP1
000032f1: REVERT
000032f2: JUMPDEST
000032f3: PUSH1 0x40
000032f5: MLOAD
000032f6: PUSH4 0xec442f05
000032fb: PUSH1 0xe0
000032fd: SHL
000032fe: DUP2
000032ff: MSTORE
00003300: PUSH0
00003301: PUSH1 0x04
00003303: DUP3
00003304: ADD
00003305: MSTORE
00003306: PUSH1 0x24
00003308: SWAP1
00003309: REVERT
0000330a: JUMPDEST
0000330b: PUSH1 0x40
0000330d: MLOAD
0000330e: PUSH4 0x4b637e8f
00003313: PUSH1 0xe1
00003315: SHL
00003316: DUP2
00003317: MSTORE
00003318: PUSH0
00003319: PUSH1 0x04
0000331b: DUP3
0000331c: ADD
0000331d: MSTORE
0000331e: PUSH1 0x24
00003320: SWAP1
00003321: REVERT
00003322: JUMPDEST
00003323: PUSH0
00003324: SLOAD
00003325: PUSH1 0x01
00003327: PUSH1 0x01
00003329: PUSH1 0xa0
0000332b: SHL
0000332c: SUB
0000332d: AND
0000332e: CALLER
0000332f: SUB
00003330: PUSH2 0x3335
00003333: JUMPI
00003334: JUMP
00003335: JUMPDEST
00003336: PUSH1 0x40
00003338: MLOAD
00003339: PUSH4 0x118cdaa7
0000333e: PUSH1 0xe0
00003340: SHL
00003341: DUP2
00003342: MSTORE
00003343: CALLER
00003344: PUSH1 0x04
00003346: DUP3
00003347: ADD
00003348: MSTORE
00003349: PUSH1 0x24
0000334b: SWAP1
0000334c: REVERT
0000334d: JUMPDEST
0000334e: PUSH1 0x02
00003350: PUSH1 0x0a
00003352: SLOAD
00003353: EQ
00003354: PUSH2 0x335e
00003357: JUMPI
00003358: PUSH1 0x02
0000335a: PUSH1 0x0a
0000335c: SSTORE
0000335d: JUMP
0000335e: JUMPDEST
0000335f: PUSH1 0x40
00003361: MLOAD
00003362: PUSH4 0x3ee5aeb5
00003367: PUSH1 0xe0
00003369: SHL
0000336a: DUP2
0000336b: MSTORE
0000336c: PUSH1 0x04
0000336e: SWAP1
0000336f: REVERT
00003370: JUMPDEST
00003371: PUSH1 0x40
00003373: MLOAD
00003374: PUSH4 0xa9059cbb
00003379: PUSH1 0xe0
0000337b: SHL
0000337c: PUSH1 0x20
0000337e: DUP3
0000337f: ADD
00003380: MSTORE
00003381: PUSH1 0x01
00003383: PUSH1 0x01
00003385: PUSH1 0xa0
00003387: SHL
00003388: SUB
00003389: SWAP1
0000338a: SWAP3
0000338b: AND
0000338c: PUSH1 0x24
0000338e: DUP4
0000338f: ADD
00003390: MSTORE
00003391: PUSH1 0x44
00003393: DUP1
00003394: DUP4
00003395: ADD
00003396: SWAP4
00003397: SWAP1
00003398: SWAP4
00003399: MSTORE
0000339a: SWAP2
0000339b: DUP2
0000339c: MSTORE
0000339d: PUSH1 0x80
0000339f: DUP2
000033a0: ADD
000033a1: SWAP2
000033a2: PUSH1 0x01
000033a4: PUSH1 0x01
000033a6: PUSH1 0x40
000033a8: SHL
000033a9: SUB
000033aa: DUP4
000033ab: GT
000033ac: DUP3
000033ad: DUP5
000033ae: LT
000033af: OR
000033b0: PUSH2 0x14b7
000033b3: JUMPI
000033b4: PUSH2 0x06ec
000033b7: SWAP3
000033b8: PUSH1 0x40
000033ba: MSTORE
000033bb: PUSH2 0x3b55
000033be: JUMP
000033bf: JUMPDEST
000033c0: PUSH1 0x40
000033c2: MLOAD
000033c3: PUSH4 0x23b872dd
000033c8: PUSH1 0xe0
000033ca: SHL
000033cb: PUSH1 0x20
000033cd: DUP3
000033ce: ADD
000033cf: MSTORE
000033d0: PUSH1 0x01
000033d2: PUSH1 0x01
000033d4: PUSH1 0xa0
000033d6: SHL
000033d7: SUB
000033d8: SWAP3
000033d9: DUP4
000033da: AND
000033db: PUSH1 0x24
000033dd: DUP3
000033de: ADD
000033df: MSTORE
000033e0: SWAP3
000033e1: SWAP1
000033e2: SWAP2
000033e3: AND
000033e4: PUSH1 0x44
000033e6: DUP4
000033e7: ADD
000033e8: MSTORE
000033e9: PUSH1 0x64
000033eb: DUP1
000033ec: DUP4
000033ed: ADD
000033ee: SWAP4
000033ef: SWAP1
000033f0: SWAP4
000033f1: MSTORE
000033f2: SWAP2
000033f3: DUP2
000033f4: MSTORE
000033f5: PUSH2 0x06ec
000033f8: SWAP2
000033f9: PUSH2 0x3401
000033fc: DUP3
000033fd: PUSH2 0x14f2
00003400: JUMP
00003401: JUMPDEST
00003402: PUSH2 0x3b55
00003405: JUMP
00003406: JUMPDEST
00003407: SWAP2
00003408: SWAP1
00003409: PUSH1 0x01
0000340b: PUSH1 0x01
0000340d: PUSH1 0xa0
0000340f: SHL
00003410: SUB
00003411: DUP4
00003412: AND
00003413: SWAP1
00003414: DUP2
00003415: ISZERO
00003416: PUSH2 0x330a
00003419: JUMPI
0000341a: PUSH1 0x01
0000341c: PUSH1 0x01
0000341e: PUSH1 0xa0
00003420: SHL
00003421: SUB
00003422: DUP5
00003423: AND
00003424: PUSH0
00003425: SWAP1
00003426: DUP2
00003427: MSTORE
00003428: PUSH1 0x05
0000342a: PUSH1 0x20
0000342c: MSTORE
0000342d: PUSH1 0x40
0000342f: SWAP1
00003430: KECCAK256
00003431: SLOAD
00003432: SWAP4
00003433: DUP2
00003434: DUP6
00003435: LT
00003436: PUSH2 0x348f
00003439: JUMPI
0000343a: DUP2
0000343b: PUSH1 0x20
0000343d: SWAP2
0000343e: PUSH2 0x347d
00003441: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00003462: SWAP5
00003463: PUSH0
00003464: SWAP8
00003465: SWAP9
00003466: SUB
00003467: SWAP2
00003468: PUSH1 0x01
0000346a: DUP1
0000346b: PUSH1 0xa0
0000346d: SHL
0000346e: SUB
0000346f: AND
00003470: PUSH0
00003471: MSTORE
00003472: PUSH1 0x05
00003474: PUSH1 0x20
00003476: MSTORE
00003477: PUSH1 0x40
00003479: PUSH0
0000347a: KECCAK256
0000347b: SWAP1
0000347c: JUMP
0000347d: JUMPDEST
0000347e: SSTORE
0000347f: DUP1
00003480: PUSH1 0x07
00003482: SLOAD
00003483: SUB
00003484: PUSH1 0x07
00003486: SSTORE
00003487: PUSH1 0x40
00003489: MLOAD
0000348a: SWAP1
0000348b: DUP2
0000348c: MSTORE
0000348d: LOG3
0000348e: JUMP
0000348f: JUMPDEST
00003490: PUSH1 0x40
00003492: MLOAD
00003493: PUSH4 0x391434e3
00003498: PUSH1 0xe2
0000349a: SHL
0000349b: DUP2
0000349c: MSTORE
0000349d: PUSH1 0x01
0000349f: PUSH1 0x01
000034a1: PUSH1 0xa0
000034a3: SHL
000034a4: SUB
000034a5: SWAP2
000034a6: SWAP1
000034a7: SWAP2
000034a8: AND
000034a9: PUSH1 0x04
000034ab: DUP3
000034ac: ADD
000034ad: MSTORE
000034ae: PUSH1 0x24
000034b0: DUP2
000034b1: ADD
000034b2: DUP6
000034b3: SWAP1
000034b4: MSTORE
000034b5: PUSH1 0x44
000034b7: DUP2
000034b8: ADD
000034b9: SWAP2
000034ba: SWAP1
000034bb: SWAP2
000034bc: MSTORE
000034bd: PUSH1 0x64
000034bf: SWAP1
000034c0: REVERT
000034c1: JUMPDEST
000034c2: PUSH1 0x01
000034c4: PUSH1 0x01
000034c6: PUSH1 0xa0
000034c8: SHL
000034c9: SUB
000034ca: DUP2
000034cb: AND
000034cc: SWAP2
000034cd: SWAP1
000034ce: DUP3
000034cf: ISZERO
000034d0: PUSH2 0x32f2
000034d3: JUMPI
000034d4: PUSH1 0x07
000034d6: SLOAD
000034d7: SWAP1
000034d8: DUP3
000034d9: DUP3
000034da: ADD
000034db: DUP1
000034dc: SWAP3
000034dd: GT
000034de: PUSH2 0x2088
000034e1: JUMPI
000034e2: PUSH0
000034e3: SWAP3
000034e4: PUSH2 0x3524
000034e7: PUSH1 0x20
000034e9: SWAP3
000034ea: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
0000350b: SWAP5
0000350c: PUSH1 0x07
0000350e: SSTORE
0000350f: PUSH1 0x01
00003511: DUP1
00003512: PUSH1 0xa0
00003514: SHL
00003515: SUB
00003516: AND
00003517: PUSH0
00003518: MSTORE
00003519: PUSH1 0x05
0000351b: PUSH1 0x20
0000351d: MSTORE
0000351e: PUSH1 0x40
00003520: PUSH0
00003521: KECCAK256
00003522: SWAP1
00003523: JUMP
00003524: JUMPDEST
00003525: DUP2
00003526: DUP2
00003527: SLOAD
00003528: ADD
00003529: SWAP1
0000352a: SSTORE
0000352b: PUSH1 0x40
0000352d: MLOAD
0000352e: SWAP1
0000352f: DUP2
00003530: MSTORE
00003531: LOG3
00003532: JUMP
00003533: JUMPDEST
00003534: SWAP1
00003535: DUP2
00003536: PUSH1 0x20
00003538: SWAP2
00003539: SUB
0000353a: SLT
0000353b: PUSH2 0x045e
0000353e: JUMPI
0000353f: MLOAD
00003540: PUSH2 0x04b9
00003543: DUP2
00003544: PUSH2 0x110e
00003547: JUMP
00003548: JUMPDEST
00003549: SWAP1
0000354a: SWAP2
0000354b: PUSH2 0x355f
0000354e: PUSH2 0x04b9
00003551: SWAP4
00003552: PUSH1 0x40
00003554: DUP5
00003555: MSTORE
00003556: PUSH1 0x40
00003558: DUP5
00003559: ADD
0000355a: SWAP1
0000355b: PUSH2 0x0483
0000355e: JUMP
0000355f: JUMPDEST
00003560: SWAP2
00003561: PUSH1 0x20
00003563: DUP2
00003564: DUP5
00003565: SUB
00003566: SWAP2
00003567: ADD
00003568: MSTORE
00003569: PUSH2 0x0483
0000356c: JUMP
0000356d: JUMPDEST
0000356e: SWAP1
0000356f: SWAP2
00003570: PUSH2 0x35d1
00003573: PUSH2 0x35af
00003576: PUSH2 0x35a3
00003579: PUSH2 0x35f7
0000357c: SWAP6
0000357d: PUSH32 0x000000000000000000000000000000000000000000000000000000e8d4a51000
0000359e: SWAP1
0000359f: PUSH2 0x3a35
000035a2: JUMP
000035a3: JUMPDEST
000035a4: PUSH1 0x01
000035a6: PUSH1 0x01
000035a8: PUSH1 0x40
000035aa: SHL
000035ab: SUB
000035ac: AND
000035ad: SWAP1
000035ae: JUMP
000035af: JUMPDEST
000035b0: PUSH2 0x35c6
000035b3: PUSH2 0x35bf
000035b6: PUSH1 0xa0
000035b8: DUP7
000035b9: ADD
000035ba: DUP7
000035bb: PUSH2 0x2ffc
000035be: JUMP
000035bf: JUMPDEST
000035c0: CALLDATASIZE
000035c1: SWAP2
000035c2: PUSH2 0x2e5f
000035c5: JUMP
000035c6: JUMPDEST
000035c7: SWAP1
000035c8: PUSH1 0x20
000035ca: DUP6
000035cb: ADD
000035cc: CALLDATALOAD
000035cd: PUSH2 0x3baf
000035d0: JUMP
000035d1: JUMPDEST
000035d2: SWAP4
000035d3: SWAP1
000035d4: SWAP3
000035d5: DUP4
000035d6: SWAP5
000035d7: PUSH0
000035d8: EQ
000035d9: PUSH2 0x3673
000035dc: JUMPI
000035dd: PUSH1 0x02
000035df: SWAP1
000035e0: JUMPDEST
000035e1: PUSH2 0x246c
000035e4: PUSH2 0x35ec
000035e7: DUP3
000035e8: PUSH2 0x2d8a
000035eb: JUMP
000035ec: JUMPDEST
000035ed: SWAP2
000035ee: PUSH1 0x80
000035f0: DUP2
000035f1: ADD
000035f2: SWAP1
000035f3: PUSH2 0x2ffc
000035f6: JUMP
000035f7: JUMPDEST
000035f8: PUSH1 0x04
000035fa: SLOAD
000035fb: SWAP1
000035fc: SWAP3
000035fd: PUSH1 0x01
000035ff: PUSH1 0x01
00003601: PUSH1 0xa0
00003603: SHL
00003604: SUB
00003605: SWAP1
00003606: SWAP2
00003607: AND
00003608: SWAP1
00003609: DUP4
0000360a: DUP3
0000360b: PUSH2 0x3613
0000360e: JUMPI
0000360f: POP
00003610: POP
00003611: POP
00003612: JUMP
00003613: JUMPDEST
00003614: PUSH1 0x40
00003616: MLOAD
00003617: PUSH4 0x043a78eb
0000361c: PUSH1 0xe0
0000361e: SHL
0000361f: DUP2
00003620: MSTORE
00003621: SWAP3
00003622: PUSH1 0x20
00003624: SWAP3
00003625: DUP5
00003626: SWAP3
00003627: DUP4
00003628: SWAP2
00003629: DUP3
0000362a: SWAP2
0000362b: PUSH2 0x3637
0000362e: SWAP2
0000362f: PUSH1 0x04
00003631: DUP5
00003632: ADD
00003633: PUSH2 0x3548
00003636: JUMP
00003637: JUMPDEST
00003638: SUB
00003639: SWAP2
0000363a: GAS
0000363b: STATICCALL
0000363c: DUP1
0000363d: ISZERO
0000363e: PUSH2 0x084f
00003641: JUMPI
00003642: PUSH2 0x3648
00003645: JUMPI
00003646: POP
00003647: JUMP
00003648: JUMPDEST
00003649: PUSH2 0x3669
0000364c: SWAP1
0000364d: PUSH1 0x20
0000364f: RETURNDATASIZE
00003650: PUSH1 0x20
00003652: GT
00003653: PUSH2 0x366c
00003656: JUMPI
00003657: JUMPDEST
00003658: PUSH2 0x3661
0000365b: DUP2
0000365c: DUP4
0000365d: PUSH2 0x150d
00003660: JUMP
00003661: JUMPDEST
00003662: DUP2
00003663: ADD
00003664: SWAP1
00003665: PUSH2 0x3533
00003668: JUMP
00003669: JUMPDEST
0000366a: POP
0000366b: JUMP
0000366c: JUMPDEST
0000366d: POP
0000366e: RETURNDATASIZE
0000366f: PUSH2 0x3657
00003672: JUMP
00003673: JUMPDEST
00003674: PUSH1 0x01
00003676: SWAP1
00003677: PUSH2 0x35e0
0000367a: JUMP
0000367b: JUMPDEST
0000367c: SWAP2
0000367d: SWAP1
0000367e: DUP3
0000367f: PUSH1 0x40
00003681: SWAP2
00003682: SUB
00003683: SLT
00003684: PUSH2 0x045e
00003687: JUMPI
00003688: PUSH1 0x40
0000368a: MLOAD
0000368b: PUSH2 0x3693
0000368e: DUP2
0000368f: PUSH2 0x14d7
00003692: JUMP
00003693: JUMPDEST
00003694: PUSH1 0x20
00003696: DUP1
00003697: DUP3
00003698: SWAP5
00003699: DUP1
0000369a: MLOAD
0000369b: DUP5
0000369c: MSTORE
0000369d: ADD
0000369e: MLOAD
0000369f: SWAP2
000036a0: ADD
000036a1: MSTORE
000036a2: JUMP
000036a3: JUMPDEST
000036a4: SWAP1
000036a5: PUSH1 0x40
000036a7: DUP3
000036a8: DUP3
000036a9: SUB
000036aa: SLT
000036ab: PUSH2 0x045e
000036ae: JUMPI
000036af: PUSH2 0x04b9
000036b2: SWAP2
000036b3: PUSH2 0x367b
000036b6: JUMP
000036b7: JUMPDEST
000036b8: SWAP1
000036b9: PUSH1 0x20
000036bb: SWAP1
000036bc: SWAP4
000036bd: SWAP3
000036be: SWAP4
000036bf: PUSH1 0x40
000036c1: DUP4
000036c2: MSTORE
000036c3: PUSH4 0xffffffff
000036c8: DUP2
000036c9: MLOAD
000036ca: AND
000036cb: PUSH1 0x40
000036cd: DUP5
000036ce: ADD
000036cf: MSTORE
000036d0: DUP2
000036d1: DUP2
000036d2: ADD
000036d3: MLOAD
000036d4: PUSH1 0x60
000036d6: DUP5
000036d7: ADD
000036d8: MSTORE
000036d9: PUSH1 0x80
000036db: PUSH2 0x370b
000036de: PUSH2 0x36f5
000036e1: PUSH1 0x40
000036e3: DUP5
000036e4: ADD
000036e5: MLOAD
000036e6: PUSH1 0xa0
000036e8: DUP5
000036e9: DUP9
000036ea: ADD
000036eb: MSTORE
000036ec: PUSH1 0xe0
000036ee: DUP8
000036ef: ADD
000036f0: SWAP1
000036f1: PUSH2 0x0483
000036f4: JUMP
000036f5: JUMPDEST
000036f6: PUSH1 0x60
000036f8: DUP5
000036f9: ADD
000036fa: MLOAD
000036fb: DUP7
000036fc: DUP3
000036fd: SUB
000036fe: PUSH1 0x3f
00003700: NOT
00003701: ADD
00003702: PUSH1 0xa0
00003704: DUP9
00003705: ADD
00003706: MSTORE
00003707: PUSH2 0x0483
0000370a: JUMP
0000370b: JUMPDEST
0000370c: SWAP2
0000370d: ADD
0000370e: MLOAD
0000370f: ISZERO
00003710: ISZERO
00003711: PUSH1 0xc0
00003713: DUP5
00003714: ADD
00003715: MSTORE
00003716: PUSH1 0x01
00003718: PUSH1 0x01
0000371a: PUSH1 0xa0
0000371c: SHL
0000371d: SUB
0000371e: SWAP1
0000371f: SWAP5
00003720: AND
00003721: SWAP2
00003722: ADD
00003723: MSTORE
00003724: JUMP
00003725: JUMPDEST
00003726: DUP1
00003727: MLOAD
00003728: DUP3
00003729: LT
0000372a: ISZERO
0000372b: PUSH2 0x2ff7
0000372e: JUMPI
0000372f: PUSH1 0x20
00003731: SWAP2
00003732: PUSH1 0x05
00003734: SHL
00003735: ADD
00003736: ADD
00003737: SWAP1
00003738: JUMP
00003739: JUMPDEST
0000373a: PUSH1 0x1f
0000373c: DUP3
0000373d: GT
0000373e: PUSH2 0x3746
00003741: JUMPI
00003742: POP
00003743: POP
00003744: POP
00003745: JUMP
00003746: JUMPDEST
00003747: PUSH0
00003748: MSTORE
00003749: PUSH1 0x20
0000374b: PUSH0
0000374c: KECCAK256
0000374d: SWAP1
0000374e: PUSH1 0x20
00003750: PUSH1 0x1f
00003752: DUP5
00003753: ADD
00003754: PUSH1 0x05
00003756: SHR
00003757: DUP4
00003758: ADD
00003759: SWAP4
0000375a: LT
0000375b: PUSH2 0x377e
0000375e: JUMPI
0000375f: JUMPDEST
00003760: PUSH1 0x1f
00003762: ADD
00003763: PUSH1 0x05
00003765: SHR
00003766: ADD
00003767: SWAP1
00003768: JUMPDEST
00003769: DUP2
0000376a: DUP2
0000376b: LT
0000376c: PUSH2 0x3773
0000376f: JUMPI
00003770: POP
00003771: POP
00003772: JUMP
00003773: JUMPDEST
00003774: PUSH0
00003775: DUP2
00003776: SSTORE
00003777: PUSH1 0x01
00003779: ADD
0000377a: PUSH2 0x3768
0000377d: JUMP
0000377e: JUMPDEST
0000377f: SWAP1
00003780: SWAP2
00003781: POP
00003782: DUP2
00003783: SWAP1
00003784: PUSH2 0x375f
00003787: JUMP
00003788: JUMPDEST
00003789: SWAP2
0000378a: SWAP1
0000378b: SWAP2
0000378c: DUP3
0000378d: MLOAD
0000378e: PUSH1 0x01
00003790: PUSH1 0x01
00003792: PUSH1 0x40
00003794: SHL
00003795: SUB
00003796: DUP2
00003797: GT
00003798: PUSH2 0x14b7
0000379b: JUMPI
0000379c: PUSH2 0x37af
0000379f: DUP2
000037a0: PUSH2 0x37a9
000037a3: DUP5
000037a4: SLOAD
000037a5: PUSH2 0x13c7
000037a8: JUMP
000037a9: JUMPDEST
000037aa: DUP5
000037ab: PUSH2 0x3739
000037ae: JUMP
000037af: JUMPDEST
000037b0: PUSH1 0x20
000037b2: DUP1
000037b3: PUSH1 0x1f
000037b5: DUP4
000037b6: GT
000037b7: PUSH1 0x01
000037b9: EQ
000037ba: PUSH2 0x37f0
000037bd: JUMPI
000037be: POP
000037bf: DUP2
000037c0: SWAP1
000037c1: PUSH2 0x37e1
000037c4: SWAP4
000037c5: SWAP5
000037c6: SWAP6
000037c7: PUSH0
000037c8: SWAP3
000037c9: PUSH2 0x37e5
000037cc: JUMPI
000037cd: JUMPDEST
000037ce: POP
000037cf: POP
000037d0: DUP2
000037d1: PUSH1 0x01
000037d3: SHL
000037d4: SWAP2
000037d5: PUSH0
000037d6: NOT
000037d7: SWAP1
000037d8: PUSH1 0x03
000037da: SHL
000037db: SHR
000037dc: NOT
000037dd: AND
000037de: OR
000037df: SWAP1
000037e0: JUMP
000037e1: JUMPDEST
000037e2: SWAP1
000037e3: SSTORE
000037e4: JUMP
000037e5: JUMPDEST
000037e6: ADD
000037e7: MLOAD
000037e8: SWAP1
000037e9: POP
000037ea: PUSH0
000037eb: DUP1
000037ec: PUSH2 0x37cd
000037ef: JUMP
000037f0: JUMPDEST
000037f1: SWAP1
000037f2: PUSH1 0x1f
000037f4: NOT
000037f5: DUP4
000037f6: AND
000037f7: SWAP6
000037f8: PUSH2 0x3804
000037fb: DUP6
000037fc: PUSH0
000037fd: MSTORE
000037fe: PUSH1 0x20
00003800: PUSH0
00003801: KECCAK256
00003802: SWAP1
00003803: JUMP
00003804: JUMPDEST
00003805: SWAP3
00003806: PUSH0
00003807: SWAP1
00003808: JUMPDEST
00003809: DUP9
0000380a: DUP3
0000380b: LT
0000380c: PUSH2 0x383f
0000380f: JUMPI
00003810: POP
00003811: POP
00003812: DUP4
00003813: PUSH1 0x01
00003815: SWAP6
00003816: SWAP7
00003817: SWAP8
00003818: LT
00003819: PUSH2 0x3827
0000381c: JUMPI
0000381d: JUMPDEST
0000381e: POP
0000381f: POP
00003820: POP
00003821: DUP2
00003822: SHL
00003823: ADD
00003824: SWAP1
00003825: SSTORE
00003826: JUMP
00003827: JUMPDEST
00003828: ADD
00003829: MLOAD
0000382a: PUSH0
0000382b: NOT
0000382c: PUSH1 0xf8
0000382e: DUP5
0000382f: PUSH1 0x03
00003831: SHL
00003832: AND
00003833: SHR
00003834: NOT
00003835: AND
00003836: SWAP1
00003837: SSTORE
00003838: PUSH0
00003839: DUP1
0000383a: DUP1
0000383b: PUSH2 0x381d
0000383e: JUMP
0000383f: JUMPDEST
00003840: DUP1
00003841: PUSH1 0x01
00003843: DUP6
00003844: SWAP7
00003845: DUP3
00003846: SWAP5
00003847: SWAP7
00003848: DUP7
00003849: ADD
0000384a: MLOAD
0000384b: DUP2
0000384c: SSTORE
0000384d: ADD
0000384e: SWAP6
0000384f: ADD
00003850: SWAP4
00003851: ADD
00003852: SWAP1
00003853: PUSH2 0x3808
00003856: JUMP
00003857: JUMPDEST
00003858: PUSH1 0x20
0000385a: DUP1
0000385b: DUP3
0000385c: ADD
0000385d: SWAP1
0000385e: DUP1
0000385f: DUP4
00003860: MSTORE
00003861: DUP4
00003862: MLOAD
00003863: DUP1
00003864: SWAP3
00003865: MSTORE
00003866: PUSH1 0x40
00003868: SWAP3
00003869: PUSH1 0x40
0000386b: DUP2
0000386c: ADD
0000386d: DUP3
0000386e: PUSH1 0x40
00003870: DUP6
00003871: PUSH1 0x05
00003873: SHL
00003874: DUP5
00003875: ADD
00003876: ADD
00003877: SWAP7
00003878: ADD
00003879: SWAP5
0000387a: PUSH0
0000387b: SWAP3
0000387c: JUMPDEST
0000387d: DUP6
0000387e: DUP5
0000387f: LT
00003880: PUSH2 0x388d
00003883: JUMPI
00003884: POP
00003885: POP
00003886: POP
00003887: POP
00003888: POP
00003889: POP
0000388a: POP
0000388b: SWAP1
0000388c: JUMP
0000388d: JUMPDEST
0000388e: SWAP1
0000388f: SWAP2
00003890: SWAP3
00003891: SWAP4
00003892: SWAP5
00003893: SWAP6
00003894: SWAP7
00003895: DUP6
00003896: DUP1
00003897: PUSH2 0x38d0
0000389a: PUSH1 0x01
0000389c: SWAP4
0000389d: PUSH1 0x3f
0000389f: NOT
000038a0: DUP7
000038a1: DUP3
000038a2: SUB
000038a3: ADD
000038a4: DUP9
000038a5: MSTORE
000038a6: DUP12
000038a7: MLOAD
000038a8: DUP8
000038a9: PUSH1 0x60
000038ab: SWAP2
000038ac: PUSH4 0xffffffff
000038b1: DUP2
000038b2: MLOAD
000038b3: AND
000038b4: DUP5
000038b5: MSTORE
000038b6: PUSH2 0xffff
000038b9: DUP7
000038ba: DUP3
000038bb: ADD
000038bc: MLOAD
000038bd: AND
000038be: DUP7
000038bf: DUP6
000038c0: ADD
000038c1: MSTORE
000038c2: ADD
000038c3: MLOAD
000038c4: SWAP2
000038c5: DUP2
000038c6: DUP10
000038c7: DUP3
000038c8: ADD
000038c9: MSTORE
000038ca: ADD
000038cb: SWAP1
000038cc: PUSH2 0x0483
000038cf: JUMP
000038d0: JUMPDEST
000038d1: SWAP10
000038d2: ADD
000038d3: SWAP5
000038d4: ADD
000038d5: SWAP5
000038d6: ADD
000038d7: SWAP3
000038d8: SWAP6
000038d9: SWAP5
000038da: SWAP4
000038db: SWAP2
000038dc: SWAP1
000038dd: PUSH2 0x387c
000038e0: JUMP
000038e1: JUMPDEST
000038e2: PUSH0
000038e3: JUMPDEST
000038e4: DUP2
000038e5: MLOAD
000038e6: DUP2
000038e7: LT
000038e8: ISZERO
000038e9: PUSH2 0x3966
000038ec: JUMPI
000038ed: PUSH1 0x01
000038ef: SWAP1
000038f0: PUSH2 0x3960
000038f3: PUSH1 0x40
000038f5: PUSH2 0x390a
000038f8: DUP2
000038f9: PUSH2 0x3902
000038fc: DUP6
000038fd: DUP9
000038fe: PUSH2 0x3725
00003901: JUMP
00003902: JUMPDEST
00003903: MLOAD
00003904: ADD
00003905: MLOAD
00003906: PUSH2 0x399d
00003909: JUMP
0000390a: JUMPDEST
0000390b: PUSH2 0x395b
0000390e: DUP2
0000390f: PUSH2 0x3918
00003912: DUP6
00003913: DUP9
00003914: PUSH2 0x3725
00003917: JUMP
00003918: JUMPDEST
00003919: MLOAD
0000391a: ADD
0000391b: MLOAD
0000391c: SWAP2
0000391d: PUSH4 0xffffffff
00003922: PUSH2 0x392b
00003925: DUP7
00003926: DUP10
00003927: PUSH2 0x3725
0000392a: JUMP
0000392b: JUMPDEST
0000392c: MLOAD
0000392d: MLOAD
0000392e: AND
0000392f: PUSH0
00003930: MSTORE
00003931: PUSH2 0xffff
00003934: PUSH1 0x20
00003936: SWAP2
00003937: PUSH1 0x03
00003939: DUP4
0000393a: MSTORE
0000393b: PUSH0
0000393c: KECCAK256
0000393d: SWAP2
0000393e: PUSH2 0x3947
00003941: DUP8
00003942: DUP11
00003943: PUSH2 0x3725
00003946: JUMP
00003947: JUMPDEST
00003948: MLOAD
00003949: ADD
0000394a: MLOAD
0000394b: AND
0000394c: PUSH2 0xffff
0000394f: AND
00003950: PUSH0
00003951: MSTORE
00003952: PUSH1 0x20
00003954: MSTORE
00003955: PUSH1 0x40
00003957: PUSH0
00003958: KECCAK256
00003959: SWAP1
0000395a: JUMP
0000395b: JUMPDEST
0000395c: PUSH2 0x3788
0000395f: JUMP
00003960: JUMPDEST
00003961: ADD
00003962: PUSH2 0x38e3
00003965: JUMP
00003966: JUMPDEST
00003967: POP
00003968: PUSH2 0x3998
0000396b: PUSH32 0xbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b674
0000398c: SWAP2
0000398d: PUSH1 0x40
0000398f: MLOAD
00003990: SWAP2
00003991: DUP3
00003992: SWAP2
00003993: DUP3
00003994: PUSH2 0x3857
00003997: JUMP
00003998: JUMPDEST
00003999: SUB
0000399a: SWAP1
0000399b: LOG1
0000399c: JUMP
0000399d: JUMPDEST
0000399e: PUSH1 0x03
000039a0: PUSH2 0xffff
000039a3: PUSH1 0x02
000039a5: DUP4
000039a6: ADD
000039a7: MLOAD
000039a8: AND
000039a9: SUB
000039aa: PUSH2 0x39b0
000039ad: JUMPI
000039ae: POP
000039af: JUMP
000039b0: JUMPDEST
000039b1: PUSH1 0x40
000039b3: MLOAD
000039b4: PUSH4 0x9a6d49cd
000039b9: PUSH1 0xe0
000039bb: SHL
000039bc: DUP2
000039bd: MSTORE
000039be: PUSH1 0x20
000039c0: PUSH1 0x04
000039c2: DUP3
000039c3: ADD
000039c4: MSTORE
000039c5: SWAP1
000039c6: DUP2
000039c7: SWAP1
000039c8: PUSH2 0x0b32
000039cb: SWAP1
000039cc: PUSH1 0x24
000039ce: DUP4
000039cf: ADD
000039d0: SWAP1
000039d1: PUSH2 0x0483
000039d4: JUMP
000039d5: JUMPDEST
000039d6: PUSH1 0x40
000039d8: SWAP1
000039d9: PUSH1 0x23
000039db: NOT
000039dc: ADD
000039dd: SLT
000039de: PUSH2 0x045e
000039e1: JUMPI
000039e2: PUSH1 0x40
000039e4: MLOAD
000039e5: SWAP1
000039e6: PUSH2 0x39ee
000039e9: DUP3
000039ea: PUSH2 0x14d7
000039ed: JUMP
000039ee: JUMPDEST
000039ef: PUSH1 0x24
000039f1: CALLDATALOAD
000039f2: DUP3
000039f3: MSTORE
000039f4: PUSH1 0x44
000039f6: CALLDATALOAD
000039f7: PUSH1 0x20
000039f9: DUP4
000039fa: ADD
000039fb: MSTORE
000039fc: JUMP
000039fd: JUMPDEST
000039fe: SWAP1
000039ff: PUSH1 0x01
00003a01: PUSH1 0x01
00003a03: PUSH1 0xa0
00003a05: SHL
00003a06: SUB
00003a07: DUP1
00003a08: DUP4
00003a09: AND
00003a0a: ISZERO
00003a0b: PUSH2 0x065e
00003a0e: JUMPI
00003a0f: DUP2
00003a10: AND
00003a11: ISZERO
00003a12: PUSH2 0x0646
00003a15: JUMPI
00003a16: PUSH2 0x05f9
00003a19: PUSH2 0x3a32
00003a1c: SWAP3
00003a1d: PUSH1 0x01
00003a1f: DUP1
00003a20: PUSH1 0xa0
00003a22: SHL
00003a23: SUB
00003a24: AND
00003a25: PUSH0
00003a26: MSTORE
00003a27: PUSH1 0x06
00003a29: PUSH1 0x20
00003a2b: MSTORE
00003a2c: PUSH1 0x40
00003a2e: PUSH0
00003a2f: KECCAK256
00003a30: SWAP1
00003a31: JUMP
00003a32: JUMPDEST
00003a33: SSTORE
00003a34: JUMP
00003a35: JUMPDEST
00003a36: DUP2
00003a37: ISZERO
00003a38: PUSH2 0x3a3f
00003a3b: JUMPI
00003a3c: DIV
00003a3d: SWAP1
00003a3e: JUMP
00003a3f: JUMPDEST
00003a40: PUSH4 0x4e487b71
00003a45: PUSH1 0xe0
00003a47: SHL
00003a48: PUSH0
00003a49: MSTORE
00003a4a: PUSH1 0x12
00003a4c: PUSH1 0x04
00003a4e: MSTORE
00003a4f: PUSH1 0x24
00003a51: PUSH0
00003a52: REVERT
00003a53: JUMPDEST
00003a54: DUP2
00003a55: DUP2
00003a56: MUL
00003a57: SWAP3
00003a58: SWAP2
00003a59: DUP2
00003a5a: ISZERO
00003a5b: SWAP2
00003a5c: DUP5
00003a5d: DIV
00003a5e: EQ
00003a5f: OR
00003a60: ISZERO
00003a61: PUSH2 0x2088
00003a64: JUMPI
00003a65: JUMP
00003a66: JUMPDEST
00003a67: SWAP1
00003a68: PUSH1 0x20
00003a6a: GT
00003a6b: PUSH2 0x045e
00003a6e: JUMPI
00003a6f: CALLDATALOAD
00003a70: SWAP1
00003a71: JUMP
00003a72: JUMPDEST
00003a73: SWAP1
00003a74: PUSH1 0x28
00003a76: GT
00003a77: PUSH2 0x045e
00003a7a: JUMPI
00003a7b: PUSH1 0x20
00003a7d: ADD
00003a7e: CALLDATALOAD
00003a7f: PUSH1 0xc0
00003a81: SHR
00003a82: SWAP1
00003a83: JUMP
00003a84: JUMPDEST
00003a85: PUSH2 0x04b9
00003a88: SWAP1
00003a89: PUSH1 0x01
00003a8b: PUSH1 0x01
00003a8d: PUSH1 0x40
00003a8f: SHL
00003a90: SUB
00003a91: PUSH32 0x000000000000000000000000000000000000000000000000000000e8d4a51000
00003ab2: SWAP2
00003ab3: AND
00003ab4: PUSH2 0x3a53
00003ab7: JUMP
00003ab8: JUMPDEST
00003ab9: DUP2
00003aba: PUSH1 0x01
00003abc: PUSH1 0x01
00003abe: PUSH1 0xa0
00003ac0: SHL
00003ac1: SUB
00003ac2: DUP3
00003ac3: AND
00003ac4: ISZERO
00003ac5: PUSH2 0x3ad2
00003ac8: JUMPI
00003ac9: JUMPDEST
00003aca: PUSH2 0x04b9
00003acd: SWAP2
00003ace: PUSH2 0x34c1
00003ad1: JUMP
00003ad2: JUMPDEST
00003ad3: PUSH2 0xdead
00003ad6: SWAP2
00003ad7: POP
00003ad8: PUSH2 0x3ac9
00003adb: JUMP
00003adc: JUMPDEST
00003add: SWAP1
00003ade: DUP1
00003adf: PUSH1 0x28
00003ae1: GT
00003ae2: PUSH2 0x045e
00003ae5: JUMPI
00003ae6: PUSH2 0x04b9
00003ae9: SWAP2
00003aea: CALLDATASIZE
00003aeb: SWAP2
00003aec: PUSH1 0x27
00003aee: NOT
00003aef: ADD
00003af0: SWAP1
00003af1: PUSH1 0x28
00003af3: ADD
00003af4: PUSH2 0x2e5f
00003af7: JUMP
00003af8: JUMPDEST
00003af9: PUSH1 0x4c
00003afb: SWAP2
00003afc: SWAP4
00003afd: PUSH2 0x04b9
00003b00: SWAP4
00003b01: PUSH1 0x40
00003b03: MLOAD
00003b04: SWAP6
00003b05: DUP7
00003b06: SWAP4
00003b07: PUSH1 0x01
00003b09: PUSH1 0x01
00003b0b: PUSH1 0x40
00003b0d: SHL
00003b0e: SUB
00003b0f: PUSH1 0xc0
00003b11: SHL
00003b12: SWAP1
00003b13: PUSH1 0xc0
00003b15: SHL
00003b16: AND
00003b17: PUSH1 0x20
00003b19: DUP6
00003b1a: ADD
00003b1b: MSTORE
00003b1c: PUSH4 0xffffffff
00003b21: PUSH1 0xe0
00003b23: SHL
00003b24: SWAP1
00003b25: PUSH1 0xe0
00003b27: SHL
00003b28: AND
00003b29: PUSH1 0x28
00003b2b: DUP5
00003b2c: ADD
00003b2d: MSTORE
00003b2e: PUSH1 0x2c
00003b30: DUP4
00003b31: ADD
00003b32: MSTORE
00003b33: PUSH2 0x3b45
00003b36: DUP2
00003b37: MLOAD
00003b38: DUP1
00003b39: SWAP3
00003b3a: PUSH1 0x20
00003b3c: DUP7
00003b3d: DUP7
00003b3e: ADD
00003b3f: SWAP2
00003b40: ADD
00003b41: PUSH2 0x0462
00003b44: JUMP
00003b45: JUMPDEST
00003b46: DUP2
00003b47: ADD
00003b48: SUB
00003b49: PUSH1 0x2c
00003b4b: DUP2
00003b4c: ADD
00003b4d: DUP5
00003b4e: MSTORE
00003b4f: ADD
00003b50: DUP3
00003b51: PUSH2 0x150d
00003b54: JUMP
00003b55: JUMPDEST
00003b56: SWAP1
00003b57: PUSH0
00003b58: PUSH1 0x20
00003b5a: SWAP2
00003b5b: DUP3
00003b5c: DUP2
00003b5d: MLOAD
00003b5e: SWAP2
00003b5f: ADD
00003b60: DUP3
00003b61: DUP6
00003b62: GAS
00003b63: CALL
00003b64: ISZERO
00003b65: PUSH2 0x2d37
00003b68: JUMPI
00003b69: PUSH0
00003b6a: MLOAD
00003b6b: RETURNDATASIZE
00003b6c: PUSH2 0x3ba6
00003b6f: JUMPI
00003b70: POP
00003b71: PUSH1 0x01
00003b73: PUSH1 0x01
00003b75: PUSH1 0xa0
00003b77: SHL
00003b78: SUB
00003b79: DUP2
00003b7a: AND
00003b7b: EXTCODESIZE
00003b7c: ISZERO
00003b7d: JUMPDEST
00003b7e: PUSH2 0x3b84
00003b81: JUMPI
00003b82: POP
00003b83: JUMP
00003b84: JUMPDEST
00003b85: PUSH1 0x40
00003b87: MLOAD
00003b88: PUSH4 0x5274afe7
00003b8d: PUSH1 0xe0
00003b8f: SHL
00003b90: DUP2
00003b91: MSTORE
00003b92: PUSH1 0x01
00003b94: PUSH1 0x01
00003b96: PUSH1 0xa0
00003b98: SHL
00003b99: SUB
00003b9a: SWAP1
00003b9b: SWAP2
00003b9c: AND
00003b9d: PUSH1 0x04
00003b9f: DUP3
00003ba0: ADD
00003ba1: MSTORE
00003ba2: PUSH1 0x24
00003ba4: SWAP1
00003ba5: REVERT
00003ba6: JUMPDEST
00003ba7: PUSH1 0x01
00003ba9: EQ
00003baa: ISZERO
00003bab: PUSH2 0x3b7d
00003bae: JUMP
00003baf: JUMPDEST
00003bb0: DUP3
00003bb1: MLOAD
00003bb2: ISZERO
00003bb3: DUP1
00003bb4: ISZERO
00003bb5: SWAP4
00003bb6: SWAP1
00003bb7: PUSH2 0x3c0d
00003bba: JUMPI
00003bbb: PUSH2 0x3c0a
00003bbe: SWAP2
00003bbf: PUSH1 0x68
00003bc1: SWAP2
00003bc2: PUSH1 0x40
00003bc4: MLOAD
00003bc5: SWAP5
00003bc6: DUP6
00003bc7: SWAP3
00003bc8: PUSH1 0x20
00003bca: DUP5
00003bcb: ADD
00003bcc: MSTORE
00003bcd: PUSH1 0x01
00003bcf: PUSH1 0x01
00003bd1: PUSH1 0x40
00003bd3: SHL
00003bd4: SUB
00003bd5: PUSH1 0xc0
00003bd7: SHL
00003bd8: SWAP1
00003bd9: PUSH1 0xc0
00003bdb: SHL
00003bdc: AND
00003bdd: PUSH1 0x40
00003bdf: DUP4
00003be0: ADD
00003be1: MSTORE
00003be2: CALLER
00003be3: PUSH1 0x48
00003be5: DUP4
00003be6: ADD
00003be7: MSTORE
00003be8: PUSH2 0x3bfa
00003beb: DUP2
00003bec: MLOAD
00003bed: DUP1
00003bee: SWAP3
00003bef: PUSH1 0x20
00003bf1: DUP7
00003bf2: DUP7
00003bf3: ADD
00003bf4: SWAP2
00003bf5: ADD
00003bf6: PUSH2 0x0462
00003bf9: JUMP
00003bfa: JUMPDEST
00003bfb: DUP2
00003bfc: ADD
00003bfd: SUB
00003bfe: PUSH1 0x48
00003c00: DUP2
00003c01: ADD
00003c02: DUP5
00003c03: MSTORE
00003c04: ADD
00003c05: DUP3
00003c06: PUSH2 0x150d
00003c09: JUMP
00003c0a: JUMPDEST
00003c0b: SWAP2
00003c0c: JUMP
00003c0d: JUMPDEST
00003c0e: POP
00003c0f: SWAP1
00003c10: PUSH1 0x40
00003c12: MLOAD
00003c13: SWAP2
00003c14: PUSH1 0x20
00003c16: DUP4
00003c17: ADD
00003c18: MSTORE
00003c19: PUSH1 0x01
00003c1b: PUSH1 0x01
00003c1d: PUSH1 0x40
00003c1f: SHL
00003c20: SUB
00003c21: PUSH1 0xc0
00003c23: SHL
00003c24: SWAP1
00003c25: PUSH1 0xc0
00003c27: SHL
00003c28: AND
00003c29: PUSH1 0x40
00003c2b: DUP3
00003c2c: ADD
00003c2d: MSTORE
00003c2e: PUSH1 0x28
00003c30: DUP2
00003c31: MSTORE
00003c32: PUSH2 0x3c0a
00003c35: DUP2
00003c36: PUSH2 0x14bc
00003c39: JUMP
00003c3a: JUMPDEST
00003c3b: SWAP1
00003c3c: PUSH1 0x80
00003c3e: DUP3
00003c3f: DUP3
00003c40: SUB
00003c41: SLT
00003c42: PUSH2 0x045e
00003c45: JUMPI
00003c46: PUSH2 0x3c74
00003c49: SWAP1
00003c4a: PUSH1 0x40
00003c4c: DUP1
00003c4d: MLOAD
00003c4e: SWAP4
00003c4f: PUSH2 0x3c57
00003c52: DUP6
00003c53: PUSH2 0x14bc
00003c56: JUMP
00003c57: JUMPDEST
00003c58: DUP1
00003c59: MLOAD
00003c5a: DUP6
00003c5b: MSTORE
00003c5c: PUSH1 0x20
00003c5e: DUP2
00003c5f: ADD
00003c60: MLOAD
00003c61: PUSH2 0x3c69
00003c64: DUP2
00003c65: PUSH2 0x3038
00003c68: JUMP
00003c69: JUMPDEST
00003c6a: PUSH1 0x20
00003c6c: DUP7
00003c6d: ADD
00003c6e: MSTORE
00003c6f: ADD
00003c70: PUSH2 0x367b
00003c73: JUMP
00003c74: JUMPDEST
00003c75: PUSH1 0x40
00003c77: DUP3
00003c78: ADD
00003c79: MSTORE
00003c7a: SWAP1
00003c7b: JUMP
00003c7c: JUMPDEST
00003c7d: PUSH2 0x3cd9
00003c80: PUSH1 0x80
00003c82: SWAP5
00003c83: SWAP3
00003c84: PUSH2 0x3cf5
00003c87: SWAP7
00003c88: SWAP5
00003c89: PUSH2 0x3c90
00003c8c: PUSH2 0x3121
00003c8f: JUMP
00003c90: JUMPDEST
00003c91: POP
00003c92: PUSH1 0x20
00003c94: PUSH2 0x3c9d
00003c97: DUP7
00003c98: MLOAD
00003c99: PUSH2 0x3d6c
00003c9c: JUMP
00003c9d: JUMPDEST
00003c9e: SWAP6
00003c9f: ADD
00003ca0: SWAP2
00003ca1: DUP3
00003ca2: MLOAD
00003ca3: DUP1
00003ca4: PUSH2 0x3d5d
00003ca7: JUMPI
00003ca8: JUMPDEST
00003ca9: POP
00003caa: PUSH2 0x3cb2
00003cad: DUP6
00003cae: PUSH2 0x31a1
00003cb1: JUMP
00003cb2: JUMPDEST
00003cb3: SWAP3
00003cb4: MLOAD
00003cb5: ISZERO
00003cb6: ISZERO
00003cb7: SWAP3
00003cb8: PUSH2 0x3cc2
00003cbb: PUSH2 0x11e9
00003cbe: PUSH2 0x2cfd
00003cc1: JUMP
00003cc2: JUMPDEST
00003cc3: PUSH1 0x20
00003cc5: DUP7
00003cc6: ADD
00003cc7: MSTORE
00003cc8: PUSH1 0x40
00003cca: DUP6
00003ccb: ADD
00003ccc: MSTORE
00003ccd: PUSH1 0x60
00003ccf: DUP5
00003cd0: ADD
00003cd1: MSTORE
00003cd2: ISZERO
00003cd3: ISZERO
00003cd4: DUP6
00003cd5: DUP4
00003cd6: ADD
00003cd7: MSTORE
00003cd8: JUMP
00003cd9: JUMPDEST
00003cda: PUSH1 0x40
00003cdc: MLOAD
00003cdd: DUP1
00003cde: SWAP6
00003cdf: DUP2
00003ce0: SWAP5
00003ce1: DUP3
00003ce2: SWAP4
00003ce3: PUSH4 0x02637a45
00003ce8: PUSH1 0xe4
00003cea: SHL
00003ceb: DUP5
00003cec: MSTORE
00003ced: PUSH1 0x04
00003cef: DUP5
00003cf0: ADD
00003cf1: PUSH2 0x36b7
00003cf4: JUMP
00003cf5: JUMPDEST
00003cf6: SUB
00003cf7: SWAP2
00003cf8: PUSH32 0x0000000000000000000000001a44076050125825900e736c501f859c50fe728c
00003d19: PUSH1 0x01
00003d1b: PUSH1 0x01
00003d1d: PUSH1 0xa0
00003d1f: SHL
00003d20: SUB
00003d21: AND
00003d22: GAS
00003d23: CALL
00003d24: SWAP1
00003d25: DUP2
00003d26: ISZERO
00003d27: PUSH2 0x084f
00003d2a: JUMPI
00003d2b: PUSH0
00003d2c: SWAP2
00003d2d: PUSH2 0x3d34
00003d30: JUMPI
00003d31: POP
00003d32: SWAP1
00003d33: JUMP
00003d34: JUMPDEST
00003d35: PUSH2 0x04b9
00003d38: SWAP2
00003d39: POP
00003d3a: PUSH1 0x80
00003d3c: RETURNDATASIZE
00003d3d: PUSH1 0x80
00003d3f: GT
00003d40: PUSH2 0x3d56
00003d43: JUMPI
00003d44: JUMPDEST
00003d45: PUSH2 0x3d4e
00003d48: DUP2
00003d49: DUP4
00003d4a: PUSH2 0x150d
00003d4d: JUMP
00003d4e: JUMPDEST
00003d4f: DUP2
00003d50: ADD
00003d51: SWAP1
00003d52: PUSH2 0x3c3a
00003d55: JUMP
00003d56: JUMPDEST
00003d57: POP
00003d58: RETURNDATASIZE
00003d59: PUSH2 0x3d44
00003d5c: JUMP
00003d5d: JUMPDEST
00003d5e: PUSH2 0x3d66
00003d61: SWAP1
00003d62: PUSH2 0x3d8e
00003d65: JUMP
00003d66: JUMPDEST
00003d67: PUSH0
00003d68: PUSH2 0x3ca8
00003d6b: JUMP
00003d6c: JUMPDEST
00003d6d: DUP1
00003d6e: CALLVALUE
00003d6f: SUB
00003d70: PUSH2 0x3d76
00003d73: JUMPI
00003d74: SWAP1
00003d75: JUMP
00003d76: JUMPDEST
00003d77: PUSH1 0x40
00003d79: MLOAD
00003d7a: PUSH4 0x04fb8209
00003d7f: PUSH1 0xe5
00003d81: SHL
00003d82: DUP2
00003d83: MSTORE
00003d84: CALLVALUE
00003d85: PUSH1 0x04
00003d87: DUP3
00003d88: ADD
00003d89: MSTORE
00003d8a: PUSH1 0x24
00003d8c: SWAP1
00003d8d: REVERT
00003d8e: JUMPDEST
00003d8f: PUSH1 0x40
00003d91: MLOAD
00003d92: PUSH4 0x393f8765
00003d97: PUSH1 0xe2
00003d99: SHL
00003d9a: DUP2
00003d9b: MSTORE
00003d9c: PUSH1 0x01
00003d9e: PUSH1 0x01
00003da0: PUSH1 0xa0
00003da2: SHL
00003da3: SUB
00003da4: PUSH32 0x0000000000000000000000001a44076050125825900e736c501f859c50fe728c
00003dc5: DUP2
00003dc6: AND
00003dc7: SWAP3
00003dc8: SWAP2
00003dc9: PUSH1 0x20
00003dcb: DUP2
00003dcc: PUSH1 0x04
00003dce: DUP2
00003dcf: DUP8
00003dd0: GAS
00003dd1: STATICCALL
00003dd2: SWAP1
00003dd3: DUP2
00003dd4: ISZERO
00003dd5: PUSH2 0x084f
00003dd8: JUMPI
00003dd9: PUSH0
00003dda: SWAP2
00003ddb: PUSH2 0x3e05
00003dde: JUMPI
00003ddf: JUMPDEST
00003de0: POP
00003de1: AND
00003de2: SWAP2
00003de3: DUP3
00003de4: ISZERO
00003de5: PUSH2 0x3df3
00003de8: JUMPI
00003de9: PUSH2 0x06ec
00003dec: SWAP3
00003ded: CALLER
00003dee: SWAP1
00003def: PUSH2 0x33bf
00003df2: JUMP
00003df3: JUMPDEST
00003df4: PUSH1 0x40
00003df6: MLOAD
00003df7: PUSH4 0x29b99a95
00003dfc: PUSH1 0xe1
00003dfe: SHL
00003dff: DUP2
00003e00: MSTORE
00003e01: PUSH1 0x04
00003e03: SWAP1
00003e04: REVERT
00003e05: JUMPDEST
00003e06: PUSH2 0x3e1e
00003e09: SWAP2
00003e0a: POP
00003e0b: PUSH1 0x20
00003e0d: RETURNDATASIZE
00003e0e: PUSH1 0x20
00003e10: GT
00003e11: PUSH2 0x087a
00003e14: JUMPI
00003e15: PUSH2 0x086c
00003e18: DUP2
00003e19: DUP4
00003e1a: PUSH2 0x150d
00003e1d: JUMP
00003e1e: JUMPDEST
00003e1f: PUSH0
00003e20: PUSH2 0x3ddf
00003e23: JUMP
00003e24: INVALID
00003e25: UNKNOWN(0xEF)
00003e26: UNKNOWN(0xED)
00003e27: PUSH14 0x3500546b29533b128a29e3a94d70
00003e36: PUSH25 0x8727f0507505ac12eaf2e578fd9ca2646970667358221220c3
00003e50: UNKNOWN(0xC8)
00003e51: CALLVALUE
00003e52: UNKNOWN(0xCD)
00003e53: UNKNOWN(0xFB)
00003e54: UNKNOWN(0xE3)
00003e55: UNKNOWN(0xEF)
00003e56: UNKNOWN(0x0D)
00003e57: SELFDESTRUCT
00003e58: BLOBBASEFEE
00003e59: UNKNOWN(0xE5)
00003e5a: PUSH21 0x58f8e66d78ade6f619a4752d89446692b51334fc64
00003e70: PUSH20

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other cast SELFDESTRUCT present 85 no
view
evidence_json
{
    "notes": "selfdestruct can remove contract code and send funds; review reachability",
    "selfdestruct_count": 1
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x79ac8428e991c3edebbf76c6ceb58750d4014efff827fa9130c593a54cbb094a
call_targets: 0xf70f54cefdcd3c8f011865685ff49fb80a386a34
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x79ac8428e991c3edebbf76c6ceb58750d4014efff827fa9130c593a54cbb094a",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xf70f54cefdcd3c8f011865685ff49fb80a386a34"
    ],
    "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": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0d35b415",
            "selector": "0x0d35b415",
            "calldata_variants": [
                "0x0d35b415",
                "0x0d35b4150000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0f604a93",
            "selector": "0x0f604a93",
            "calldata_variants": [
                "0x0f604a93",
                "0x0f604a930000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x111ecdad",
            "selector": "0x111ecdad",
            "calldata_variants": [
                "0x111ecdad",
                "0x111ecdad0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x13137d65",
            "selector": "0x13137d65",
            "calldata_variants": [
                "0x13137d65",
                "0x13137d650000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x134d4f25",
            "selector": "0x134d4f25",
            "calldata_variants": [
                "0x134d4f25",
                "0x134d4f250000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x156a0d0f",
            "selector": "0x156a0d0f",
            "calldata_variants": [
                "0x156a0d0f",
                "0x156a0d0f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2749,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4104,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6224,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 12,
    "guards_detected": [],
    "untrusted_call_count": 12
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x79ac8428e991c3edebbf76c6ceb58750d4014efff827fa9130c593a54cbb094a
call_targets: 0xf70f54cefdcd3c8f011865685ff49fb80a386a34
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x79ac8428e991c3edebbf76c6ceb58750d4014efff827fa9130c593a54cbb094a",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xf70f54cefdcd3c8f011865685ff49fb80a386a34"
    ],
    "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": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0d35b415",
            "selector": "0x0d35b415",
            "calldata_variants": [
                "0x0d35b415",
                "0x0d35b4150000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0f604a93",
            "selector": "0x0f604a93",
            "calldata_variants": [
                "0x0f604a93",
                "0x0f604a930000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x111ecdad",
            "selector": "0x111ecdad",
            "calldata_variants": [
                "0x111ecdad",
                "0x111ecdad0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x13137d65",
            "selector": "0x13137d65",
            "calldata_variants": [
                "0x13137d65",
                "0x13137d650000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x134d4f25",
            "selector": "0x134d4f25",
            "calldata_variants": [
                "0x134d4f25",
                "0x134d4f250000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x156a0d0f",
            "selector": "0x156a0d0f",
            "calldata_variants": [
                "0x156a0d0f",
                "0x156a0d0f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2749,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4104,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6224,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 12,
    "guards_detected": []
}
high other detector SELFDESTRUCT reachable 65 no no
view
trace_id: 0xe290700a4631ef5ac83256388b598a5b01297387ad6aa6ed4fca337b43080860
validation_json
{
    "sink": "SELFDESTRUCT",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0xe290700a4631ef5ac83256388b598a5b01297387ad6aa6ed4fca337b43080860",
    "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": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0d35b415",
            "selector": "0x0d35b415",
            "calldata_variants": [
                "0x0d35b415",
                "0x0d35b4150000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0f604a93",
            "selector": "0x0f604a93",
            "calldata_variants": [
                "0x0f604a93",
                "0x0f604a930000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x111ecdad",
            "selector": "0x111ecdad",
            "calldata_variants": [
                "0x111ecdad",
                "0x111ecdad0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x13137d65",
            "selector": "0x13137d65",
            "calldata_variants": [
                "0x13137d65",
                "0x13137d650000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x134d4f25",
            "selector": "0x134d4f25",
            "calldata_variants": [
                "0x134d4f25",
                "0x134d4f250000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x156a0d0f",
            "selector": "0x156a0d0f",
            "calldata_variants": [
                "0x156a0d0f",
                "0x156a0d0f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [],
    "selfdestruct_count": 1
}
medium other codex Vault withdrawals burn the wrapper’s own balance instead of the keeper/vault balance 75 no
view
evidence_json
{
    "evidence": "`depositToVault` mints to the keeper, but `initiateWithdrawalFromVault` burns from `address(this)` instead of the keeper/vault balance.",
    "locations": [
        "contracts/src/StableWrapper.sol:208",
        "contracts/src/StableWrapper.sol:214",
        "contracts/src/StableWrapper.sol:275",
        "contracts/src/StableWrapper.sol:281"
    ],
    "recommendation": "Burn from the keeper/vault balance (`_burn(keeper, amount)` or `_burn(from, amount)` with appropriate checks), or explicitly transfer tokens from the keeper into the wrapper before burning and enforce that in code. Align the mint/burn flow with the intended vault lifecycle.",
    "exploit_scenario": "In the vault flow, deposits mint wrapper tokens to `keeper`, but `initiateWithdrawalFromVault` burns from `address(this)`. If the wrapper has zero token balance (typical), the call reverts and vault withdrawals cannot be initiated, effectively locking users. If the wrapper does hold tokens (e.g., someone transfers wrapper tokens to the contract), a malicious keeper can burn those unrelated tokens to create withdrawal receipts without reducing the keeper\u2019s balance, breaking accounting and enabling withdrawals funded by other holders\u2019 tokens."
}
low other codex Deposits mint based on the requested amount, not actual assets received 65 no
view
evidence_json
{
    "evidence": "Both `deposit` and `depositToVault` mint `amount` before calling `safeTransferFrom` and never reconcile with actual tokens received.",
    "locations": [
        "contracts/src/StableWrapper.sol:177",
        "contracts/src/StableWrapper.sol:181",
        "contracts/src/StableWrapper.sol:208",
        "contracts/src/StableWrapper.sol:214",
        "contracts/src/StableWrapper.sol:220"
    ],
    "recommendation": "Measure the actual received amount via balance delta and mint based on that value, or restrict `asset` to non-fee tokens and document the assumption clearly.",
    "exploit_scenario": "If `asset` is fee-on-transfer or deflationary, the wrapper mints `amount` tokens but receives fewer underlying assets. This under-collateralizes the wrapper, allowing depositors to withdraw more than the contract holds, forcing owner top-ups or locking withdrawals."
}
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": 18
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 9
}