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

Analysis Run

13091b3c-277e-49b6-b3a2-b9a7c1dd7535

failed
Chain ID
1
Address
Block Number
Created
Sat, Dec 27, 2025 8:12 PM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Not yet
Best current signal
Authorization based on tx.origin
crit 0 high 0 proxy context implementation known
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
30187 report.consolidate complete 1 / 1 3 months ago
93721 artifact.fetch failed 1 / 3 2 weeks ago
93722 tool.cast_disasm complete 1 / 3 2 weeks ago
93723 analysis.bundle complete 1 / 3 2 weeks ago
93724 capability.graph complete 1 / 3 2 weeks ago
93725 detector.run complete 1 / 3 2 weeks ago
93726 validation.fork complete 1 / 3 2 weeks ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
No exploitable vulnerabilities found in reviewed first-party contracts.
View stderr
[codex:1278555] OpenAI Codex v0.77.0 (research preview)
[codex:1278555] --------
[codex:1278555] workdir: /tmp/codex-multi-tm69_vsg
[codex:1278555] model: gpt-5.2-codex
[codex:1278555] provider: openai
[codex:1278555] approval: never
[codex:1278555] sandbox: read-only
[codex:1278555] reasoning effort: xhigh
[codex:1278555] reasoning summaries: auto
[codex:1278555] session id: 019b616d-c3c4-7291-974d-e0c1c1b2664c
[codex:1278555] --------
[codex:1278555] user
[codex:1278555] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1278555] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1278555] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1278555] 
[codex:1278555] Scope rules:
[codex:1278555] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1278555] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1278555] 
[codex:1278555] Output MUST be valid JSON matching the provided schema.
[codex:1278555] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1278555] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1278555] 
[codex:1278555] Output constraints (IMPORTANT):
[codex:1278555] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1278555] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1278555] mcp startup: no servers
[codex:1278555] 
[codex:1278555] thinking
[codex:1278555] **Preparing to audit instructions and files**
[codex:1278555] exec
[codex:1278555] /bin/bash -lc ls in /tmp/codex-multi-tm69_vsg succeeded in 5ms:
[codex:1278555] AUDIT_BUNDLE.txt
[codex:1278555] codex-output-schema.json
[codex:1278555] contracts
[codex:1278555] exec
[codex:1278555] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-tm69_vsg succeeded in 5ms:
[codex:1278555] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1278555] 
[codex:1278555] ================================================================================
[codex:1278555] FILE: contracts/interfaces/L1/IResourceMetering.sol
[codex:1278555] ================================================================================
[codex:1278555] // SPDX-License-Identifier: MIT
[codex:1278555] pragma solidity ^0.8.0;
[codex:1278555] 
[codex:1278555] interface IResourceMetering {
[codex:1278555]     struct ResourceParams {
[codex:1278555]         uint128 prevBaseFee;
[codex:1278555]         uint64 prevBoughtGas;
[codex:1278555]         uint64 prevBlockNum;
[codex:1278555]     }
[codex:1278555] 
[codex:1278555]     struct ResourceConfig {
[codex:1278555]         uint32 maxResourceLimit;
[codex:1278555]         uint8 elasticityMultiplier;
[codex:1278555]         uint8 baseFeeMaxChangeDenominator;
[codex:1278555]         uint32 minimumBaseFee;
[codex:1278555] 
[codex:1278555] thinking
[codex:1278555] **Preparing to fully read AUDIT_BUNDLE.txt**
[codex:1278555] exec
[codex:1278555] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-tm69_vsg succeeded in 5ms:
[codex:1278555] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1278555] 
[codex:1278555] ================================================================================
[codex:1278555] FILE: contracts/interfaces/L1/IResourceMetering.sol
[codex:1278555] ================================================================================
[codex:1278555] // SPDX-License-Identifier: MIT
[codex:1278555] pragma solidity ^0.8.0;
[codex:1278555] 
[codex:1278555] interface IResourceMetering {
[codex:1278555]     struct ResourceParams {
[codex:1278555]         uint128 prevBaseFee;
[codex:1278555]         uint64 prevBoughtGas;
[codex:1278555]         uint64 prevBlockNum;
[codex:1278555]     }
[codex:1278555] 
[codex:1278555]     struct ResourceConfig {
[codex:1278555]         uint32 maxResourceLimit;
[codex:1278555]         uint8 elasticityMultiplier;
[codex:1278555]         uint8 baseFeeMaxChangeDenominator;
[codex:1278555]         uint32 minimumBaseFee;
[codex:1278555] 
[codex:1278555] thinking
[codex:1278555] **Continuing audit file analysis**
[codex:1278555] exec
[codex:1278555] /bin/bash -lc "sed -n '200,400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-tm69_vsg succeeded in 5ms:
[codex:1278555]     function RELAY_GAS_CHECK_BUFFER() external view returns (uint64);
[codex:1278555]     function RELAY_RESERVED_GAS() external view returns (uint64);
[codex:1278555]     function TX_BASE_GAS() external view returns (uint64);
[codex:1278555]     function FLOOR_CALLDATA_OVERHEAD() external view returns (uint64);
[codex:1278555]     function ENCODING_OVERHEAD() external view returns (uint64);
[codex:1278555]     function baseGas(bytes memory _message, uint32 _minGasLimit) external pure returns (uint64);
[codex:1278555]     function failedMessages(bytes32) external view returns (bool);
[codex:1278555]     function messageNonce() external view returns (uint256);
[codex:1278555]     function otherMessenger() external view returns (ICrossDomainMessenger);
[codex:1278555]     function paused() external view returns (bool);
[codex:1278555]     function relayMessage(
[codex:1278555]         uint256 _nonce,
[codex:1278555]         address _sender,
[codex:1278555]         address _target,
[codex:1278555]         uint256 _value,
[codex:1278555]         uint256 _minGasLimit,
[codex:1278555]         bytes memory _message
[codex:1278555]     )
[codex:1278555]         external
[codex:1278555]         payable;
[codex:1278555] 
[codex:1278555] thinking
[codex:1278555] **Preparing to locate first-party contracts**
[codex:1278555] exec
[codex:1278555] /bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-multi-tm69_vsg succeeded in 6ms:
[codex:1278555] 4:FILE: contracts/interfaces/L1/IResourceMetering.sol
[codex:1278555] 35:FILE: contracts/interfaces/L1/ISuperchainConfig.sol
[codex:1278555] 63:FILE: contracts/interfaces/L1/ISystemConfig.sol
[codex:1278555] 160:FILE: contracts/interfaces/legacy/ILegacyMintableERC20.sol
[codex:1278555] 181:FILE: contracts/interfaces/universal/ICrossDomainMessenger.sol
[codex:1278555] 228:FILE: contracts/interfaces/universal/IOptimismMintableERC20.sol
[codex:1278555] 250:FILE: contracts/interfaces/universal/ISemver.sol
[codex:1278555] 267:FILE: contracts/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol
[codex:1278555] 409:FILE: contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol
[codex:1278555] 495:FILE: contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol
[codex:1278555] 559:FILE: contracts/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol
[codex:1278555] 679:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/Address.sol
[codex:1278555] 905:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol
[codex:1278555] 1032:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol
[codex:1278555] 1061:FILE: contracts/src/L1/L1StandardBridge.sol
[codex:1278555] 1407:FILE: contracts/src/libraries/Constants.sol
[codex:1278555] 1465:FILE: contracts/src/libraries/EOA.sol
[codex:1278555] 1494:FILE: contracts/src/libraries/Predeploys.sol
[codex:1278555] 1679:FILE: contracts/src/libraries/SafeCall.sol
[codex:1278555] 1851:FILE: contracts/src/universal/StandardBridge.sol
[codex:1278555] 
[codex:1278555] thinking
[codex:1278555] **Inspecting key contract files**
[codex:1278555] exec
[codex:1278555] /bin/bash -lc "sed -n '1030,1200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-tm69_vsg succeeded in 6ms:
[codex:1278555] 
[codex:1278555] ================================================================================
[codex:1278555] FILE: contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol
[codex:1278555] ================================================================================
[codex:1278555] // SPDX-License-Identifier: MIT
[codex:1278555] // OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)
[codex:1278555] 
[codex:1278555] pragma solidity ^0.8.0;
[codex:1278555] 
[codex:1278555] /**
[codex:1278555]  * @dev Interface of the ERC165 standard, as defined in the
[codex:1278555]  * https://eips.ethereum.org/EIPS/eip-165[EIP].
[codex:1278555]  *
[codex:1278555]  * Implementers can declare support of contract interfaces, which can then be
[codex:1278555]  * queried by others ({ERC165Checker}).
[codex:1278555]  *
[codex:1278555]  * For an implementation, see {ERC165}.
[codex:1278555]  */
[codex:1278555] interface IERC165 {
[codex:1278555]     /**
[codex:1278555] 
[codex:1278555] thinking
[codex:1278555] **Continuing exploration**
[codex:1278555] exec
[codex:1278555] /bin/bash -lc "sed -n '1200,1407p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-tm69_vsg succeeded in 5ms:
[codex:1278555]     ///         Note that if ETH is sent to a contract on L2 and the call fails, then that ETH will
[codex:1278555]     ///         be locked in the L2StandardBridge. ETH may be recoverable if the call can be
[codex:1278555]     ///         successfully replayed by increasing the amount of gas supplied to the call. If the
[codex:1278555]     ///         call will fail for any amount of gas, then the ETH will be locked permanently.
[codex:1278555]     /// @param _to          Address of the recipient on L2.
[codex:1278555]     /// @param _minGasLimit Minimum gas limit for the deposit message on L2.
[codex:1278555]     /// @param _extraData   Optional data to forward to L2.
[codex:1278555]     ///                     Data supplied here will not be used to execute any code on L2 and is
[codex:1278555]     ///                     only emitted as extra data for the convenience of off-chain tooling.
[codex:1278555]     function depositETHTo(address _to, uint32 _minGasLimit, bytes calldata _extraData) external payable {
[codex:1278555]         _initiateETHDeposit(msg.sender, _to, _minGasLimit, _extraData);
[codex:1278555]     }
[codex:1278555] 
[codex:1278555]     /// @custom:legacy
[codex:1278555]     /// @notice Deposits some amount of ERC20 tokens into the sender's account on L2.
[codex:1278555]     /// @param _l1Token     Address of the L1 token being deposited.
[codex:1278555]     /// @param _l2Token     Address of the corresponding token on L2.
[codex:1278555]     /// @param _amount      Amount of the ERC20 to deposit.
[codex:1278555]     /// @param _minGasLimit Minimum gas limit for the deposit message on L2.
[codex:1278555]     /// @param _extraData   Optional data to forward to L2.
[codex:1278555] 
[codex:1278555] thinking
[codex:1278555] **Continuing to review libraries**
[codex:1278555] exec
[codex:1278555] /bin/bash -lc "sed -n '1407,1545p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-tm69_vsg succeeded in 6ms:
[codex:1278555] FILE: contracts/src/libraries/Constants.sol
[codex:1278555] ================================================================================
[codex:1278555] // SPDX-License-Identifier: MIT
[codex:1278555] pragma solidity ^0.8.0;
[codex:1278555] 
[codex:1278555] // Interfaces
[codex:1278555] import { IResourceMetering } from "interfaces/L1/IResourceMetering.sol";
[codex:1278555] 
[codex:1278555] /// @title Constants
[codex:1278555] /// @notice Constants is a library for storing constants. Simple! Don't put everything in here, just
[codex:1278555] ///         the stuff used in multiple contracts. Constants that only apply to a single contract
[codex:1278555] ///         should be defined in that contract instead.
[codex:1278555] library Constants {
[codex:1278555]     /// @notice Special address to be used as the tx origin for gas estimation calls in the
[codex:1278555]     ///         OptimismPortal and CrossDomainMessenger calls. You only need to use this address if
[codex:1278555]     ///         the minimum gas limit specified by the user is not actually enough to execute the
[codex:1278555]     ///         given message and you're attempting to estimate the actual necessary gas limit. We
[codex:1278555]     ///         use address(1) because it's the ecrecover precompile and therefore guaranteed to
[codex:1278555]     ///         never have any code on any EVM chain.
[codex:1278555]     address internal constant ESTIMATION_ADDRESS = address(1);
[codex:1278555] 
[codex:1278555] thinking
[codex:1278555] **Continuing analysis**
[codex:1278555] exec
[codex:1278555] /bin/bash -lc "sed -n '1545,1710p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-tm69_vsg succeeded in 6ms:
[codex:1278555]     /// @notice Address of the L2ERC721Bridge predeploy.
[codex:1278555]     address internal constant L2_ERC721_BRIDGE = 0x4200000000000000000000000000000000000014;
[codex:1278555] 
[codex:1278555]     /// @notice Address of the L1Block predeploy.
[codex:1278555]     address internal constant L1_BLOCK_ATTRIBUTES = 0x4200000000000000000000000000000000000015;
[codex:1278555] 
[codex:1278555]     /// @notice Address of the L2ToL1MessagePasser predeploy.
[codex:1278555]     address internal constant L2_TO_L1_MESSAGE_PASSER = 0x4200000000000000000000000000000000000016;
[codex:1278555] 
[codex:1278555]     /// @notice Address of the OptimismMintableERC721Factory predeploy.
[codex:1278555]     address internal constant OPTIMISM_MINTABLE_ERC721_FACTORY = 0x4200000000000000000000000000000000000017;
[codex:1278555] 
[codex:1278555]     /// @notice Address of the ProxyAdmin predeploy.
[codex:1278555]     address internal constant PROXY_ADMIN = 0x4200000000000000000000000000000000000018;
[codex:1278555] 
[codex:1278555]     /// @notice Address of the BaseFeeVault predeploy.
[codex:1278555]     address internal constant BASE_FEE_VAULT = 0x4200000000000000000000000000000000000019;
[codex:1278555] 
[codex:1278555]     /// @notice Address of the L1FeeVault predeploy.
[codex:1278555]     address internal constant L1_FEE_VAULT = 0x420000000000000000000000000000000000001A;
[codex:1278555] 
[codex:1278555] thinking
[codex:1278555] **Continuing exploration of SafeCall and StandardBridge**
[codex:1278555] exec
[codex:1278555] /bin/bash -lc "sed -n '1710,1890p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-tm69_vsg succeeded in 5ms:
[codex:1278555]     function send(address _target, uint256 _value) internal returns (bool success_) {
[codex:1278555]         success_ = send(_target, gasleft(), _value);
[codex:1278555]     }
[codex:1278555] 
[codex:1278555]     /// @notice Perform a low level call without copying any returndata
[codex:1278555]     /// @param _target   Address to call
[codex:1278555]     /// @param _gas      Amount of gas to pass to the call
[codex:1278555]     /// @param _value    Amount of value to pass to the call
[codex:1278555]     /// @param _calldata Calldata to pass to the call
[codex:1278555]     function call(
[codex:1278555]         address _target,
[codex:1278555]         uint256 _gas,
[codex:1278555]         uint256 _value,
[codex:1278555]         bytes memory _calldata
[codex:1278555]     )
[codex:1278555]         internal
[codex:1278555]         returns (bool success_)
[codex:1278555]     {
[codex:1278555]         assembly {
[codex:1278555]             success_ :=
[codex:1278555] 
[codex:1278555] thinking
[codex:1278555] **Continuing exploration**
[codex:1278555] exec
[codex:1278555] /bin/bash -lc "sed -n '1890,2100p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-tm69_vsg succeeded in 6ms:
[codex:1278555]     /// @notice Spacer for backwards compatibility.
[codex:1278555]     address private spacer_1_0_20;
[codex:1278555] 
[codex:1278555]     /// @notice Mapping that stores deposits for a given pair of local and remote tokens.
[codex:1278555]     mapping(address => mapping(address => uint256)) public deposits;
[codex:1278555] 
[codex:1278555]     /// @notice Messenger contract on this domain.
[codex:1278555]     /// @custom:network-specific
[codex:1278555]     ICrossDomainMessenger public messenger;
[codex:1278555] 
[codex:1278555]     /// @notice Corresponding bridge on the other domain.
[codex:1278555]     /// @custom:network-specific
[codex:1278555]     StandardBridge public otherBridge;
[codex:1278555] 
[codex:1278555]     /// @notice Reserve extra slots (to a total of 50) in the storage layout for future upgrades.
[codex:1278555]     ///         A gap size of 45 was chosen here, so that the first slot used in a child contract
[codex:1278555]     ///         would be a multiple of 50.
[codex:1278555]     uint256[45] private __gap;
[codex:1278555] 
[codex:1278555]     /// @notice Emitted when an ETH bridge is initiated to the other chain.
[codex:1278555] 
[codex:1278555] thinking
[codex:1278555] **Continuing review of finalized content**
[codex:1278555] exec
[codex:1278555] /bin/bash -lc "sed -n '2100,2354p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-tm69_vsg succeeded in 5ms:
[codex:1278555]     ///                   to identify the transaction.
[codex:1278555]     function finalizeBridgeETH(
[codex:1278555]         address _from,
[codex:1278555]         address _to,
[codex:1278555]         uint256 _amount,
[codex:1278555]         bytes calldata _extraData
[codex:1278555]     )
[codex:1278555]         public
[codex:1278555]         payable
[codex:1278555]         onlyOtherBridge
[codex:1278555]     {
[codex:1278555]         require(paused() == false, "StandardBridge: paused");
[codex:1278555]         require(isCustomGasToken() == false, "StandardBridge: cannot bridge ETH with custom gas token");
[codex:1278555]         require(msg.value == _amount, "StandardBridge: amount sent does not match amount required");
[codex:1278555]         require(_to != address(this), "StandardBridge: cannot send to self");
[codex:1278555]         require(_to != address(messenger), "StandardBridge: cannot send to messenger");
[codex:1278555] 
[codex:1278555]         // Emit the correct events. By default this will be _amount, but child
[codex:1278555]         // contracts may override this function in order to emit legacy events as well.
[codex:1278555]         _emitETHBridgeFinalized(_from, _to, _amount, _extraData);
[codex:1278555] 
[codex:1278555] 
[codex:1278555] 
[codex:1278555] thinking
[codex:1278555] **Analyzing StandardBridge for vulnerabilities**
[codex:1278555] thinking
[codex:1278555] **Evaluating finalizeBridgeETH and upgradeable initialization risks**
[codex:1278555] 
[codex:1278555] I’m examining the finalizeBridgeETH call’s handling of ETH transfers and potential replay or revert issues, alongside upgradeable contract initialization risks where improper proxy setup might allow malicious initialization and control over bridge addresses. I’m also considering token transfer and deposit accounting edge cases related to mintable and non-mintable token logic, plus reentrancy and external call patterns to check for exploitable loopholes.
[codex:1278555] thinking
[codex:1278555] **Identifying uninitialized proxy exploitation risk**
[codex:1278555] 
[codex:1278555] I’m exploring how an attacker controlling the messenger and otherBridge addresses via uninitialized proxy setup could exploit finalizeBridgeERC20 to drain escrowed tokens, highlighting the classic risk of improperly initialized upgradeable contracts allowing takeover and unauthorized withdrawals.
[codex:1278555] exec
[codex:1278555] /bin/bash -lc 'rg -n "delegatecall" AUDIT_BUNDLE.txt' in /tmp/codex-multi-tm69_vsg succeeded in 7ms:
[codex:1278555] 871:        (bool success, bytes memory returndata) = target.delegatecall(data);
[codex:1278555] 
[codex:1278555] thinking
[codex:1278555] **Reviewing bridge contract security and call patterns**
[codex:1278555] exec
[codex:1278555] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-tm69_vsg succeeded in 7ms:
[codex:1278555] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:1278555] 
[codex:1278555] thinking
[codex:1278555] **Preparing JSON report for vulnerabilities**
[codex:1278555] codex
[codex:1278555] {"no_findings":true,"summary":"No exploitable vulnerabilities found in reviewed first-party contracts.","findings":[]}
[codex:1278555] tokens used
[codex:1278555] 45,764
[codex:1278555] {"no_findings":true,"summary":"No exploitable vulnerabilities found in reviewed first-party contracts.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-27T20:12:55.532886+00:00",
        "returncode": 0
    },
    "summary": "No exploitable vulnerabilities found in reviewed first-party contracts.",
    "raw_final": {
        "summary": "No exploitable vulnerabilities found in reviewed first-party contracts.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
13
EXT*/BALANCE
8
Total opcodes
5310
Flags
heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0184
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x7f46ddb2
00000019: GT
0000001a: PUSH2 0x00d6
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0x9a2ac6d5
00000024: GT
00000025: PUSH2 0x007f
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xc0c53b8b
0000002f: GT
00000030: PUSH2 0x0059
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xc0c53b8b
0000003a: EQ
0000003b: PUSH2 0x052e
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xc89701a2
00000045: EQ
00000046: PUSH2 0x054e
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xe11013dd
00000050: EQ
00000051: PUSH2 0x057b
00000054: JUMPI
00000055: PUSH1 0x00
00000057: DUP1
00000058: REVERT
00000059: JUMPDEST
0000005a: DUP1
0000005b: PUSH4 0x9a2ac6d5
00000060: EQ
00000061: PUSH2 0x04e8
00000064: JUMPI
00000065: DUP1
00000066: PUSH4 0xa9f9e675
0000006b: EQ
0000006c: PUSH2 0x04fb
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0xb1a1a882
00000076: EQ
00000077: PUSH2 0x051b
0000007a: JUMPI
0000007b: PUSH1 0x00
0000007d: DUP1
0000007e: REVERT
0000007f: JUMPDEST
00000080: DUP1
00000081: PUSH4 0x8f601f66
00000086: GT
00000087: PUSH2 0x00b0
0000008a: JUMPI
0000008b: DUP1
0000008c: PUSH4 0x8f601f66
00000091: EQ
00000092: PUSH2 0x0477
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0x91c49bf8
0000009c: EQ
0000009d: PUSH2 0x040c
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0x927ede2d
000000a7: EQ
000000a8: PUSH2 0x04bd
000000ab: JUMPI
000000ac: PUSH1 0x00
000000ae: DUP1
000000af: REVERT
000000b0: JUMPDEST
000000b1: DUP1
000000b2: PUSH4 0x7f46ddb2
000000b7: EQ
000000b8: PUSH2 0x040c
000000bb: JUMPI
000000bc: DUP1
000000bd: PUSH4 0x838b2520
000000c2: EQ
000000c3: PUSH2 0x0437
000000c6: JUMPI
000000c7: DUP1
000000c8: PUSH4 0x87087623
000000cd: EQ
000000ce: PUSH2 0x0457
000000d1: JUMPI
000000d2: PUSH1 0x00
000000d4: DUP1
000000d5: REVERT
000000d6: JUMPDEST
000000d7: DUP1
000000d8: PUSH4 0x35e80ab3
000000dd: GT
000000de: PUSH2 0x0138
000000e1: JUMPI
000000e2: DUP1
000000e3: PUSH4 0x54fd4d50
000000e8: GT
000000e9: PUSH2 0x0112
000000ec: JUMPI
000000ed: DUP1
000000ee: PUSH4 0x54fd4d50
000000f3: EQ
000000f4: PUSH2 0x0371
000000f7: JUMPI
000000f8: DUP1
000000f9: PUSH4 0x58a997f6
000000fe: EQ
000000ff: PUSH2 0x03c7
00000102: JUMPI
00000103: DUP1
00000104: PUSH4 0x5c975abb
00000109: EQ
0000010a: PUSH2 0x03e7
0000010d: JUMPI
0000010e: PUSH1 0x00
00000110: DUP1
00000111: REVERT
00000112: JUMPDEST
00000113: DUP1
00000114: PUSH4 0x35e80ab3
00000119: EQ
0000011a: PUSH2 0x02f7
0000011d: JUMPI
0000011e: DUP1
0000011f: PUSH4 0x3cb747bf
00000124: EQ
00000125: PUSH2 0x0324
00000128: JUMPI
00000129: DUP1
0000012a: PUSH4 0x540abf73
0000012f: EQ
00000130: PUSH2 0x0351
00000133: JUMPI
00000134: PUSH1 0x00
00000136: DUP1
00000137: REVERT
00000138: JUMPDEST
00000139: DUP1
0000013a: PUSH4 0x1532ec34
0000013f: GT
00000140: PUSH2 0x0169
00000143: JUMPI
00000144: DUP1
00000145: PUSH4 0x1532ec34
0000014a: EQ
0000014b: PUSH2 0x027a
0000014e: JUMPI
0000014f: DUP1
00000150: PUSH4 0x1635f5fd
00000155: EQ
00000156: PUSH2 0x028d
00000159: JUMPI
0000015a: DUP1
0000015b: PUSH4 0x33d7e2bd
00000160: EQ
00000161: PUSH2 0x02a0
00000164: JUMPI
00000165: PUSH1 0x00
00000167: DUP1
00000168: REVERT
00000169: JUMPDEST
0000016a: DUP1
0000016b: PUSH4 0x0166a07a
00000170: EQ
00000171: PUSH2 0x0247
00000174: JUMPI
00000175: DUP1
00000176: PUSH4 0x09fc8843
0000017b: EQ
0000017c: PUSH2 0x0267
0000017f: JUMPI
00000180: PUSH1 0x00
00000182: DUP1
00000183: REVERT
00000184: JUMPDEST
00000185: CALLDATASIZE
00000186: PUSH2 0x0242
00000189: JUMPI
0000018a: PUSH2 0x0191
0000018d: PUSH2 0x058e
00000190: JUMP
00000191: JUMPDEST
00000192: PUSH2 0x0222
00000195: JUMPI
00000196: PUSH1 0x40
00000198: MLOAD
00000199: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000001ba: DUP2
000001bb: MSTORE
000001bc: PUSH1 0x20
000001be: PUSH1 0x04
000001c0: DUP3
000001c1: ADD
000001c2: MSTORE
000001c3: PUSH1 0x37
000001c5: PUSH1 0x24
000001c7: DUP3
000001c8: ADD
000001c9: MSTORE
000001ca: PUSH32 0x5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c
000001eb: PUSH1 0x44
000001ed: DUP3
000001ee: ADD
000001ef: MSTORE
000001f0: PUSH32 0x792062652063616c6c65642066726f6d20616e20454f41000000000000000000
00000211: PUSH1 0x64
00000213: DUP3
00000214: ADD
00000215: MSTORE
00000216: PUSH1 0x84
00000218: ADD
00000219: JUMPDEST
0000021a: PUSH1 0x40
0000021c: MLOAD
0000021d: DUP1
0000021e: SWAP2
0000021f: SUB
00000220: SWAP1
00000221: REVERT
00000222: JUMPDEST
00000223: PUSH2 0x0240
00000226: CALLER
00000227: CALLER
00000228: PUSH3 0x030d40
0000022c: PUSH1 0x40
0000022e: MLOAD
0000022f: DUP1
00000230: PUSH1 0x20
00000232: ADD
00000233: PUSH1 0x40
00000235: MSTORE
00000236: DUP1
00000237: PUSH1 0x00
00000239: DUP2
0000023a: MSTORE
0000023b: POP
0000023c: PUSH2 0x05cb
0000023f: JUMP
00000240: JUMPDEST
00000241: STOP
00000242: JUMPDEST
00000243: PUSH1 0x00
00000245: DUP1
00000246: REVERT
00000247: JUMPDEST
00000248: CALLVALUE
00000249: DUP1
0000024a: ISZERO
0000024b: PUSH2 0x0253
0000024e: JUMPI
0000024f: PUSH1 0x00
00000251: DUP1
00000252: REVERT
00000253: JUMPDEST
00000254: POP
00000255: PUSH2 0x0240
00000258: PUSH2 0x0262
0000025b: CALLDATASIZE
0000025c: PUSH1 0x04
0000025e: PUSH2 0x29cb
00000261: JUMP
00000262: JUMPDEST
00000263: PUSH2 0x05de
00000266: JUMP
00000267: JUMPDEST
00000268: PUSH2 0x0240
0000026b: PUSH2 0x0275
0000026e: CALLDATASIZE
0000026f: PUSH1 0x04
00000271: PUSH2 0x2a7c
00000274: JUMP
00000275: JUMPDEST
00000276: PUSH2 0x09f8
00000279: JUMP
0000027a: JUMPDEST
0000027b: PUSH2 0x0240
0000027e: PUSH2 0x0288
00000281: CALLDATASIZE
00000282: PUSH1 0x04
00000284: PUSH2 0x2acf
00000287: JUMP
00000288: JUMPDEST
00000289: PUSH2 0x0ad4
0000028c: JUMP
0000028d: JUMPDEST
0000028e: PUSH2 0x0240
00000291: PUSH2 0x029b
00000294: CALLDATASIZE
00000295: PUSH1 0x04
00000297: PUSH2 0x2acf
0000029a: JUMP
0000029b: JUMPDEST
0000029c: PUSH2 0x0ae8
0000029f: JUMP
000002a0: JUMPDEST
000002a1: CALLVALUE
000002a2: DUP1
000002a3: ISZERO
000002a4: PUSH2 0x02ac
000002a7: JUMPI
000002a8: PUSH1 0x00
000002aa: DUP1
000002ab: REVERT
000002ac: JUMPDEST
000002ad: POP
000002ae: PUSH1 0x33
000002b0: SLOAD
000002b1: PUSH2 0x02cd
000002b4: SWAP1
000002b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002ca: AND
000002cb: DUP2
000002cc: JUMP
000002cd: JUMPDEST
000002ce: PUSH1 0x40
000002d0: MLOAD
000002d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000002e6: SWAP1
000002e7: SWAP2
000002e8: AND
000002e9: DUP2
000002ea: MSTORE
000002eb: PUSH1 0x20
000002ed: ADD
000002ee: JUMPDEST
000002ef: PUSH1 0x40
000002f1: MLOAD
000002f2: DUP1
000002f3: SWAP2
000002f4: SUB
000002f5: SWAP1
000002f6: RETURN
000002f7: JUMPDEST
000002f8: CALLVALUE
000002f9: DUP1
000002fa: ISZERO
000002fb: PUSH2 0x0303
000002fe: JUMPI
000002ff: PUSH1 0x00
00000301: DUP1
00000302: REVERT
00000303: JUMPDEST
00000304: POP
00000305: PUSH1 0x32
00000307: SLOAD
00000308: PUSH2 0x02cd
0000030b: SWAP1
0000030c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000321: AND
00000322: DUP2
00000323: JUMP
00000324: JUMPDEST
00000325: CALLVALUE
00000326: DUP1
00000327: ISZERO
00000328: PUSH2 0x0330
0000032b: JUMPI
0000032c: PUSH1 0x00
0000032e: DUP1
0000032f: REVERT
00000330: JUMPDEST
00000331: POP
00000332: PUSH1 0x03
00000334: SLOAD
00000335: PUSH2 0x02cd
00000338: SWAP1
00000339: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000034e: AND
0000034f: DUP2
00000350: JUMP
00000351: JUMPDEST
00000352: CALLVALUE
00000353: DUP1
00000354: ISZERO
00000355: PUSH2 0x035d
00000358: JUMPI
00000359: PUSH1 0x00
0000035b: DUP1
0000035c: REVERT
0000035d: JUMPDEST
0000035e: POP
0000035f: PUSH2 0x0240
00000362: PUSH2 0x036c
00000365: CALLDATASIZE
00000366: PUSH1 0x04
00000368: PUSH2 0x2b42
0000036b: JUMP
0000036c: JUMPDEST
0000036d: PUSH2 0x1046
00000370: JUMP
00000371: JUMPDEST
00000372: CALLVALUE
00000373: DUP1
00000374: ISZERO
00000375: PUSH2 0x037d
00000378: JUMPI
00000379: PUSH1 0x00
0000037b: DUP1
0000037c: REVERT
0000037d: JUMPDEST
0000037e: POP
0000037f: PUSH2 0x03ba
00000382: PUSH1 0x40
00000384: MLOAD
00000385: DUP1
00000386: PUSH1 0x40
00000388: ADD
00000389: PUSH1 0x40
0000038b: MSTORE
0000038c: DUP1
0000038d: PUSH1 0x05
0000038f: DUP2
00000390: MSTORE
00000391: PUSH1 0x20
00000393: ADD
00000394: PUSH32 0x322e332e30000000000000000000000000000000000000000000000000000000
000003b5: DUP2
000003b6: MSTORE
000003b7: POP
000003b8: DUP2
000003b9: JUMP
000003ba: JUMPDEST
000003bb: PUSH1 0x40
000003bd: MLOAD
000003be: PUSH2 0x02ee
000003c1: SWAP2
000003c2: SWAP1
000003c3: PUSH2 0x2c2f
000003c6: JUMP
000003c7: JUMPDEST
000003c8: CALLVALUE
000003c9: DUP1
000003ca: ISZERO
000003cb: PUSH2 0x03d3
000003ce: JUMPI
000003cf: PUSH1 0x00
000003d1: DUP1
000003d2: REVERT
000003d3: JUMPDEST
000003d4: POP
000003d5: PUSH2 0x0240
000003d8: PUSH2 0x03e2
000003db: CALLDATASIZE
000003dc: PUSH1 0x04
000003de: PUSH2 0x2c42
000003e1: JUMP
000003e2: JUMPDEST
000003e3: PUSH2 0x108b
000003e6: JUMP
000003e7: JUMPDEST
000003e8: CALLVALUE
000003e9: DUP1
000003ea: ISZERO
000003eb: PUSH2 0x03f3
000003ee: JUMPI
000003ef: PUSH1 0x00
000003f1: DUP1
000003f2: REVERT
000003f3: JUMPDEST
000003f4: POP
000003f5: PUSH2 0x03fc
000003f8: PUSH2 0x1164
000003fb: JUMP
000003fc: JUMPDEST
000003fd: PUSH1 0x40
000003ff: MLOAD
00000400: SWAP1
00000401: ISZERO
00000402: ISZERO
00000403: DUP2
00000404: MSTORE
00000405: PUSH1 0x20
00000407: ADD
00000408: PUSH2 0x02ee
0000040b: JUMP
0000040c: JUMPDEST
0000040d: CALLVALUE
0000040e: DUP1
0000040f: ISZERO
00000410: PUSH2 0x0418
00000413: JUMPI
00000414: PUSH1 0x00
00000416: DUP1
00000417: REVERT
00000418: JUMPDEST
00000419: POP
0000041a: PUSH1 0x04
0000041c: SLOAD
0000041d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000432: AND
00000433: PUSH2 0x02cd
00000436: JUMP
00000437: JUMPDEST
00000438: CALLVALUE
00000439: DUP1
0000043a: ISZERO
0000043b: PUSH2 0x0443
0000043e: JUMPI
0000043f: PUSH1 0x00
00000441: DUP1
00000442: REVERT
00000443: JUMPDEST
00000444: POP
00000445: PUSH2 0x0240
00000448: PUSH2 0x0452
0000044b: CALLDATASIZE
0000044c: PUSH1 0x04
0000044e: PUSH2 0x2b42
00000451: JUMP
00000452: JUMPDEST
00000453: PUSH2 0x11fd
00000456: JUMP
00000457: JUMPDEST
00000458: CALLVALUE
00000459: DUP1
0000045a: ISZERO
0000045b: PUSH2 0x0463
0000045e: JUMPI
0000045f: PUSH1 0x00
00000461: DUP1
00000462: REVERT
00000463: JUMPDEST
00000464: POP
00000465: PUSH2 0x0240
00000468: PUSH2 0x0472
0000046b: CALLDATASIZE
0000046c: PUSH1 0x04
0000046e: PUSH2 0x2c42
00000471: JUMP
00000472: JUMPDEST
00000473: PUSH2 0x1242
00000476: JUMP
00000477: JUMPDEST
00000478: CALLVALUE
00000479: DUP1
0000047a: ISZERO
0000047b: PUSH2 0x0483
0000047e: JUMPI
0000047f: PUSH1 0x00
00000481: DUP1
00000482: REVERT
00000483: JUMPDEST
00000484: POP
00000485: PUSH2 0x04af
00000488: PUSH2 0x0492
0000048b: CALLDATASIZE
0000048c: PUSH1 0x04
0000048e: PUSH2 0x2cc5
00000491: JUMP
00000492: JUMPDEST
00000493: PUSH1 0x02
00000495: PUSH1 0x20
00000497: SWAP1
00000498: DUP2
00000499: MSTORE
0000049a: PUSH1 0x00
0000049c: SWAP3
0000049d: DUP4
0000049e: MSTORE
0000049f: PUSH1 0x40
000004a1: DUP1
000004a2: DUP5
000004a3: KECCAK256
000004a4: SWAP1
000004a5: SWAP2
000004a6: MSTORE
000004a7: SWAP1
000004a8: DUP3
000004a9: MSTORE
000004aa: SWAP1
000004ab: KECCAK256
000004ac: SLOAD
000004ad: DUP2
000004ae: JUMP
000004af: JUMPDEST
000004b0: PUSH1 0x40
000004b2: MLOAD
000004b3: SWAP1
000004b4: DUP2
000004b5: MSTORE
000004b6: PUSH1 0x20
000004b8: ADD
000004b9: PUSH2 0x02ee
000004bc: JUMP
000004bd: JUMPDEST
000004be: CALLVALUE
000004bf: DUP1
000004c0: ISZERO
000004c1: PUSH2 0x04c9
000004c4: JUMPI
000004c5: PUSH1 0x00
000004c7: DUP1
000004c8: REVERT
000004c9: JUMPDEST
000004ca: POP
000004cb: PUSH1 0x03
000004cd: SLOAD
000004ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004e3: AND
000004e4: PUSH2 0x02cd
000004e7: JUMP
000004e8: JUMPDEST
000004e9: PUSH2 0x0240
000004ec: PUSH2 0x04f6
000004ef: CALLDATASIZE
000004f0: PUSH1 0x04
000004f2: PUSH2 0x2cfe
000004f5: JUMP
000004f6: JUMPDEST
000004f7: PUSH2 0x131b
000004fa: JUMP
000004fb: JUMPDEST
000004fc: CALLVALUE
000004fd: DUP1
000004fe: ISZERO
000004ff: PUSH2 0x0507
00000502: JUMPI
00000503: PUSH1 0x00
00000505: DUP1
00000506: REVERT
00000507: JUMPDEST
00000508: POP
00000509: PUSH2 0x0240
0000050c: PUSH2 0x0516
0000050f: CALLDATASIZE
00000510: PUSH1 0x04
00000512: PUSH2 0x29cb
00000515: JUMP
00000516: JUMPDEST
00000517: PUSH2 0x135d
0000051a: JUMP
0000051b: JUMPDEST
0000051c: PUSH2 0x0240
0000051f: PUSH2 0x0529
00000522: CALLDATASIZE
00000523: PUSH1 0x04
00000525: PUSH2 0x2a7c
00000528: JUMP
00000529: JUMPDEST
0000052a: PUSH2 0x136c
0000052d: JUMP
0000052e: JUMPDEST
0000052f: CALLVALUE
00000530: DUP1
00000531: ISZERO
00000532: PUSH2 0x053a
00000535: JUMPI
00000536: PUSH1 0x00
00000538: DUP1
00000539: REVERT
0000053a: JUMPDEST
0000053b: POP
0000053c: PUSH2 0x0240
0000053f: PUSH2 0x0549
00000542: CALLDATASIZE
00000543: PUSH1 0x04
00000545: PUSH2 0x2d61
00000548: JUMP
00000549: JUMPDEST
0000054a: PUSH2 0x1442
0000054d: JUMP
0000054e: JUMPDEST
0000054f: CALLVALUE
00000550: DUP1
00000551: ISZERO
00000552: PUSH2 0x055a
00000555: JUMPI
00000556: PUSH1 0x00
00000558: DUP1
00000559: REVERT
0000055a: JUMPDEST
0000055b: POP
0000055c: PUSH1 0x04
0000055e: SLOAD
0000055f: PUSH2 0x02cd
00000562: SWAP1
00000563: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000578: AND
00000579: DUP2
0000057a: JUMP
0000057b: JUMPDEST
0000057c: PUSH2 0x0240
0000057f: PUSH2 0x0589
00000582: CALLDATASIZE
00000583: PUSH1 0x04
00000585: PUSH2 0x2cfe
00000588: JUMP
00000589: JUMPDEST
0000058a: PUSH2 0x1641
0000058d: JUMP
0000058e: JUMPDEST
0000058f: PUSH1 0x00
00000591: ORIGIN
00000592: CALLER
00000593: SUB
00000594: PUSH2 0x059d
00000597: JUMPI
00000598: POP
00000599: PUSH1 0x01
0000059b: SWAP1
0000059c: JUMP
0000059d: JUMPDEST
0000059e: CALLER
0000059f: EXTCODESIZE
000005a0: PUSH1 0x17
000005a2: SUB
000005a3: PUSH2 0x05c5
000005a6: JUMPI
000005a7: PUSH1 0x40
000005a9: MLOAD
000005aa: PUSH1 0x20
000005ac: DUP2
000005ad: ADD
000005ae: PUSH1 0x40
000005b0: MSTORE
000005b1: PUSH1 0x20
000005b3: PUSH1 0x00
000005b5: DUP3
000005b6: CALLER
000005b7: EXTCODECOPY
000005b8: MLOAD
000005b9: PUSH1 0xe8
000005bb: SHR
000005bc: PUSH3 0xef0100
000005c0: EQ
000005c1: SWAP1
000005c2: POP
000005c3: SWAP1
000005c4: JUMP
000005c5: JUMPDEST
000005c6: POP
000005c7: PUSH1 0x00
000005c9: SWAP1
000005ca: JUMP
000005cb: JUMPDEST
000005cc: PUSH2 0x05d8
000005cf: DUP5
000005d0: DUP5
000005d1: CALLVALUE
000005d2: DUP6
000005d3: DUP6
000005d4: PUSH2 0x1684
000005d7: JUMP
000005d8: JUMPDEST
000005d9: POP
000005da: POP
000005db: POP
000005dc: POP
000005dd: JUMP
000005de: JUMPDEST
000005df: PUSH1 0x03
000005e1: SLOAD
000005e2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005f7: AND
000005f8: CALLER
000005f9: EQ
000005fa: DUP1
000005fb: ISZERO
000005fc: PUSH2 0x06b1
000005ff: JUMPI
00000600: POP
00000601: PUSH1 0x04
00000603: DUP1
00000604: SLOAD
00000605: PUSH1 0x03
00000607: SLOAD
00000608: PUSH1 0x40
0000060a: DUP1
0000060b: MLOAD
0000060c: PUSH32 0x6e296e4500000000000000000000000000000000000000000000000000000000
0000062d: DUP2
0000062e: MSTORE
0000062f: SWAP1
00000630: MLOAD
00000631: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000646: SWAP4
00000647: DUP5
00000648: AND
00000649: SWAP5
0000064a: SWAP4
0000064b: SWAP1
0000064c: SWAP3
0000064d: AND
0000064e: SWAP3
0000064f: PUSH4 0x6e296e45
00000654: SWAP3
00000655: DUP3
00000656: DUP3
00000657: ADD
00000658: SWAP3
00000659: PUSH1 0x20
0000065b: SWAP3
0000065c: SWAP1
0000065d: DUP3
0000065e: SWAP1
0000065f: SUB
00000660: ADD
00000661: DUP2
00000662: DUP7
00000663: GAS
00000664: STATICCALL
00000665: ISZERO
00000666: DUP1
00000667: ISZERO
00000668: PUSH2 0x0675
0000066b: JUMPI
0000066c: RETURNDATASIZE
0000066d: PUSH1 0x00
0000066f: DUP1
00000670: RETURNDATACOPY
00000671: RETURNDATASIZE
00000672: PUSH1 0x00
00000674: REVERT
00000675: JUMPDEST
00000676: POP
00000677: POP
00000678: POP
00000679: POP
0000067a: PUSH1 0x40
0000067c: MLOAD
0000067d: RETURNDATASIZE
0000067e: PUSH1 0x1f
00000680: NOT
00000681: PUSH1 0x1f
00000683: DUP3
00000684: ADD
00000685: AND
00000686: DUP3
00000687: ADD
00000688: DUP1
00000689: PUSH1 0x40
0000068b: MSTORE
0000068c: POP
0000068d: DUP2
0000068e: ADD
0000068f: SWAP1
00000690: PUSH2 0x0699
00000693: SWAP2
00000694: SWAP1
00000695: PUSH2 0x2dac
00000698: JUMP
00000699: JUMPDEST
0000069a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006af: AND
000006b0: EQ
000006b1: JUMPDEST
000006b2: PUSH2 0x0763
000006b5: JUMPI
000006b6: PUSH1 0x40
000006b8: MLOAD
000006b9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000006da: DUP2
000006db: MSTORE
000006dc: PUSH1 0x20
000006de: PUSH1 0x04
000006e0: DUP3
000006e1: ADD
000006e2: MSTORE
000006e3: PUSH1 0x41
000006e5: PUSH1 0x24
000006e7: DUP3
000006e8: ADD
000006e9: MSTORE
000006ea: PUSH32 0x5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c
0000070b: PUSH1 0x44
0000070d: DUP3
0000070e: ADD
0000070f: MSTORE
00000710: PUSH32 0x792062652063616c6c65642066726f6d20746865206f74686572206272696467
00000731: PUSH1 0x64
00000733: DUP3
00000734: ADD
00000735: MSTORE
00000736: PUSH32 0x6500000000000000000000000000000000000000000000000000000000000000
00000757: PUSH1 0x84
00000759: DUP3
0000075a: ADD
0000075b: MSTORE
0000075c: PUSH1 0xa4
0000075e: ADD
0000075f: PUSH2 0x0219
00000762: JUMP
00000763: JUMPDEST
00000764: PUSH2 0x076b
00000767: PUSH2 0x1164
0000076a: JUMP
0000076b: JUMPDEST
0000076c: ISZERO
0000076d: PUSH2 0x07d2
00000770: JUMPI
00000771: PUSH1 0x40
00000773: MLOAD
00000774: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000795: DUP2
00000796: MSTORE
00000797: PUSH1 0x20
00000799: PUSH1 0x04
0000079b: DUP3
0000079c: ADD
0000079d: MSTORE
0000079e: PUSH1 0x16
000007a0: PUSH1 0x24
000007a2: DUP3
000007a3: ADD
000007a4: MSTORE
000007a5: PUSH32 0x5374616e646172644272696467653a2070617573656400000000000000000000
000007c6: PUSH1 0x44
000007c8: DUP3
000007c9: ADD
000007ca: MSTORE
000007cb: PUSH1 0x64
000007cd: ADD
000007ce: PUSH2 0x0219
000007d1: JUMP
000007d2: JUMPDEST
000007d3: PUSH2 0x07db
000007d6: DUP8
000007d7: PUSH2 0x18e3
000007da: JUMP
000007db: JUMPDEST
000007dc: ISZERO
000007dd: PUSH2 0x0929
000007e0: JUMPI
000007e1: PUSH2 0x07ea
000007e4: DUP8
000007e5: DUP8
000007e6: PUSH2 0x1945
000007e9: JUMP
000007ea: JUMPDEST
000007eb: PUSH2 0x089c
000007ee: JUMPI
000007ef: PUSH1 0x40
000007f1: MLOAD
000007f2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000813: DUP2
00000814: MSTORE
00000815: PUSH1 0x20
00000817: PUSH1 0x04
00000819: DUP3
0000081a: ADD
0000081b: MSTORE
0000081c: PUSH1 0x4a
0000081e: PUSH1 0x24
00000820: DUP3
00000821: ADD
00000822: MSTORE
00000823: PUSH32 0x5374616e646172644272696467653a2077726f6e672072656d6f746520746f6b
00000844: PUSH1 0x44
00000846: DUP3
00000847: ADD
00000848: MSTORE
00000849: PUSH32 0x656e20666f72204f7074696d69736d204d696e7461626c65204552433230206c
0000086a: PUSH1 0x64
0000086c: DUP3
0000086d: ADD
0000086e: MSTORE
0000086f: PUSH32 0x6f63616c20746f6b656e00000000000000000000000000000000000000000000
00000890: PUSH1 0x84
00000892: DUP3
00000893: ADD
00000894: MSTORE
00000895: PUSH1 0xa4
00000897: ADD
00000898: PUSH2 0x0219
0000089b: JUMP
0000089c: JUMPDEST
0000089d: PUSH1 0x40
0000089f: MLOAD
000008a0: PUSH32 0x40c10f1900000000000000000000000000000000000000000000000000000000
000008c1: DUP2
000008c2: MSTORE
000008c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008d8: DUP6
000008d9: DUP2
000008da: AND
000008db: PUSH1 0x04
000008dd: DUP4
000008de: ADD
000008df: MSTORE
000008e0: PUSH1 0x24
000008e2: DUP3
000008e3: ADD
000008e4: DUP6
000008e5: SWAP1
000008e6: MSTORE
000008e7: DUP9
000008e8: AND
000008e9: SWAP1
000008ea: PUSH4 0x40c10f19
000008ef: SWAP1
000008f0: PUSH1 0x44
000008f2: ADD
000008f3: PUSH1 0x00
000008f5: PUSH1 0x40
000008f7: MLOAD
000008f8: DUP1
000008f9: DUP4
000008fa: SUB
000008fb: DUP2
000008fc: PUSH1 0x00
000008fe: DUP8
000008ff: DUP1
00000900: EXTCODESIZE
00000901: ISZERO
00000902: DUP1
00000903: ISZERO
00000904: PUSH2 0x090c
00000907: JUMPI
00000908: PUSH1 0x00
0000090a: DUP1
0000090b: REVERT
0000090c: JUMPDEST
0000090d: POP
0000090e: GAS
0000090f: CALL
00000910: ISZERO
00000911: DUP1
00000912: ISZERO
00000913: PUSH2 0x0920
00000916: JUMPI
00000917: RETURNDATASIZE
00000918: PUSH1 0x00
0000091a: DUP1
0000091b: RETURNDATACOPY
0000091c: RETURNDATASIZE
0000091d: PUSH1 0x00
0000091f: REVERT
00000920: JUMPDEST
00000921: POP
00000922: POP
00000923: POP
00000924: POP
00000925: PUSH2 0x09ab
00000928: JUMP
00000929: JUMPDEST
0000092a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000093f: DUP1
00000940: DUP9
00000941: AND
00000942: PUSH1 0x00
00000944: SWAP1
00000945: DUP2
00000946: MSTORE
00000947: PUSH1 0x02
00000949: PUSH1 0x20
0000094b: SWAP1
0000094c: DUP2
0000094d: MSTORE
0000094e: PUSH1 0x40
00000950: DUP1
00000951: DUP4
00000952: KECCAK256
00000953: SWAP4
00000954: DUP11
00000955: AND
00000956: DUP4
00000957: MSTORE
00000958: SWAP3
00000959: SWAP1
0000095a: MSTORE
0000095b: KECCAK256
0000095c: SLOAD
0000095d: PUSH2 0x0967
00000960: SWAP1
00000961: DUP5
00000962: SWAP1
00000963: PUSH2 0x2df8
00000966: JUMP
00000967: JUMPDEST
00000968: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000097d: DUP1
0000097e: DUP10
0000097f: AND
00000980: PUSH1 0x00
00000982: DUP2
00000983: DUP2
00000984: MSTORE
00000985: PUSH1 0x02
00000987: PUSH1 0x20
00000989: SWAP1
0000098a: DUP2
0000098b: MSTORE
0000098c: PUSH1 0x40
0000098e: DUP1
0000098f: DUP4
00000990: KECCAK256
00000991: SWAP5
00000992: DUP13
00000993: AND
00000994: DUP4
00000995: MSTORE
00000996: SWAP4
00000997: SWAP1
00000998: MSTORE
00000999: SWAP2
0000099a: SWAP1
0000099b: SWAP2
0000099c: KECCAK256
0000099d: SWAP2
0000099e: SWAP1
0000099f: SWAP2
000009a0: SSTORE
000009a1: PUSH2 0x09ab
000009a4: SWAP1
000009a5: DUP6
000009a6: DUP6
000009a7: PUSH2 0x1a65
000009aa: JUMP
000009ab: JUMPDEST
000009ac: PUSH2 0x09ef
000009af: DUP8
000009b0: DUP8
000009b1: DUP8
000009b2: DUP8
000009b3: DUP8
000009b4: DUP8
000009b5: DUP8
000009b6: DUP1
000009b7: DUP1
000009b8: PUSH1 0x1f
000009ba: ADD
000009bb: PUSH1 0x20
000009bd: DUP1
000009be: SWAP2
000009bf: DIV
000009c0: MUL
000009c1: PUSH1 0x20
000009c3: ADD
000009c4: PUSH1 0x40
000009c6: MLOAD
000009c7: SWAP1
000009c8: DUP2
000009c9: ADD
000009ca: PUSH1 0x40
000009cc: MSTORE
000009cd: DUP1
000009ce: SWAP4
000009cf: SWAP3
000009d0: SWAP2
000009d1: SWAP1
000009d2: DUP2
000009d3: DUP2
000009d4: MSTORE
000009d5: PUSH1 0x20
000009d7: ADD
000009d8: DUP4
000009d9: DUP4
000009da: DUP1
000009db: DUP3
000009dc: DUP5
000009dd: CALLDATACOPY
000009de: PUSH1 0x00
000009e0: SWAP3
000009e1: ADD
000009e2: SWAP2
000009e3: SWAP1
000009e4: SWAP2
000009e5: MSTORE
000009e6: POP
000009e7: PUSH2 0x1b39
000009ea: SWAP3
000009eb: POP
000009ec: POP
000009ed: POP
000009ee: JUMP
000009ef: JUMPDEST
000009f0: POP
000009f1: POP
000009f2: POP
000009f3: POP
000009f4: POP
000009f5: POP
000009f6: POP
000009f7: JUMP
000009f8: JUMPDEST
000009f9: PUSH2 0x0a00
000009fc: PUSH2 0x058e
000009ff: JUMP
00000a00: JUMPDEST
00000a01: PUSH2 0x0a8c
00000a04: JUMPI
00000a05: PUSH1 0x40
00000a07: MLOAD
00000a08: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000a29: DUP2
00000a2a: MSTORE
00000a2b: PUSH1 0x20
00000a2d: PUSH1 0x04
00000a2f: DUP3
00000a30: ADD
00000a31: MSTORE
00000a32: PUSH1 0x37
00000a34: PUSH1 0x24
00000a36: DUP3
00000a37: ADD
00000a38: MSTORE
00000a39: PUSH32 0x5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c
00000a5a: PUSH1 0x44
00000a5c: DUP3
00000a5d: ADD
00000a5e: MSTORE
00000a5f: PUSH32 0x792062652063616c6c65642066726f6d20616e20454f41000000000000000000
00000a80: PUSH1 0x64
00000a82: DUP3
00000a83: ADD
00000a84: MSTORE
00000a85: PUSH1 0x84
00000a87: ADD
00000a88: PUSH2 0x0219
00000a8b: JUMP
00000a8c: JUMPDEST
00000a8d: PUSH2 0x0acf
00000a90: CALLER
00000a91: CALLER
00000a92: CALLVALUE
00000a93: DUP7
00000a94: DUP7
00000a95: DUP7
00000a96: DUP1
00000a97: DUP1
00000a98: PUSH1 0x1f
00000a9a: ADD
00000a9b: PUSH1 0x20
00000a9d: DUP1
00000a9e: SWAP2
00000a9f: DIV
00000aa0: MUL
00000aa1: PUSH1 0x20
00000aa3: ADD
00000aa4: PUSH1 0x40
00000aa6: MLOAD
00000aa7: SWAP1
00000aa8: DUP2
00000aa9: ADD
00000aaa: PUSH1 0x40
00000aac: MSTORE
00000aad: DUP1
00000aae: SWAP4
00000aaf: SWAP3
00000ab0: SWAP2
00000ab1: SWAP1
00000ab2: DUP2
00000ab3: DUP2
00000ab4: MSTORE
00000ab5: PUSH1 0x20
00000ab7: ADD
00000ab8: DUP4
00000ab9: DUP4
00000aba: DUP1
00000abb: DUP3
00000abc: DUP5
00000abd: CALLDATACOPY
00000abe: PUSH1 0x00
00000ac0: SWAP3
00000ac1: ADD
00000ac2: SWAP2
00000ac3: SWAP1
00000ac4: SWAP2
00000ac5: MSTORE
00000ac6: POP
00000ac7: PUSH2 0x1684
00000aca: SWAP3
00000acb: POP
00000acc: POP
00000acd: POP
00000ace: JUMP
00000acf: JUMPDEST
00000ad0: POP
00000ad1: POP
00000ad2: POP
00000ad3: JUMP
00000ad4: JUMPDEST
00000ad5: PUSH2 0x0ae1
00000ad8: DUP6
00000ad9: DUP6
00000ada: DUP6
00000adb: DUP6
00000adc: DUP6
00000add: PUSH2 0x0ae8
00000ae0: JUMP
00000ae1: JUMPDEST
00000ae2: POP
00000ae3: POP
00000ae4: POP
00000ae5: POP
00000ae6: POP
00000ae7: JUMP
00000ae8: JUMPDEST
00000ae9: PUSH1 0x03
00000aeb: SLOAD
00000aec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b01: AND
00000b02: CALLER
00000b03: EQ
00000b04: DUP1
00000b05: ISZERO
00000b06: PUSH2 0x0bbb
00000b09: JUMPI
00000b0a: POP
00000b0b: PUSH1 0x04
00000b0d: DUP1
00000b0e: SLOAD
00000b0f: PUSH1 0x03
00000b11: SLOAD
00000b12: PUSH1 0x40
00000b14: DUP1
00000b15: MLOAD
00000b16: PUSH32 0x6e296e4500000000000000000000000000000000000000000000000000000000
00000b37: DUP2
00000b38: MSTORE
00000b39: SWAP1
00000b3a: MLOAD
00000b3b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b50: SWAP4
00000b51: DUP5
00000b52: AND
00000b53: SWAP5
00000b54: SWAP4
00000b55: SWAP1
00000b56: SWAP3
00000b57: AND
00000b58: SWAP3
00000b59: PUSH4 0x6e296e45
00000b5e: SWAP3
00000b5f: DUP3
00000b60: DUP3
00000b61: ADD
00000b62: SWAP3
00000b63: PUSH1 0x20
00000b65: SWAP3
00000b66: SWAP1
00000b67: DUP3
00000b68: SWAP1
00000b69: SUB
00000b6a: ADD
00000b6b: DUP2
00000b6c: DUP7
00000b6d: GAS
00000b6e: STATICCALL
00000b6f: ISZERO
00000b70: DUP1
00000b71: ISZERO
00000b72: PUSH2 0x0b7f
00000b75: JUMPI
00000b76: RETURNDATASIZE
00000b77: PUSH1 0x00
00000b79: DUP1
00000b7a: RETURNDATACOPY
00000b7b: RETURNDATASIZE
00000b7c: PUSH1 0x00
00000b7e: REVERT
00000b7f: JUMPDEST
00000b80: POP
00000b81: POP
00000b82: POP
00000b83: POP
00000b84: PUSH1 0x40
00000b86: MLOAD
00000b87: RETURNDATASIZE
00000b88: PUSH1 0x1f
00000b8a: NOT
00000b8b: PUSH1 0x1f
00000b8d: DUP3
00000b8e: ADD
00000b8f: AND
00000b90: DUP3
00000b91: ADD
00000b92: DUP1
00000b93: PUSH1 0x40
00000b95: MSTORE
00000b96: POP
00000b97: DUP2
00000b98: ADD
00000b99: SWAP1
00000b9a: PUSH2 0x0ba3
00000b9d: SWAP2
00000b9e: SWAP1
00000b9f: PUSH2 0x2dac
00000ba2: JUMP
00000ba3: JUMPDEST
00000ba4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bb9: AND
00000bba: EQ
00000bbb: JUMPDEST
00000bbc: PUSH2 0x0c6d
00000bbf: JUMPI
00000bc0: PUSH1 0x40
00000bc2: MLOAD
00000bc3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000be4: DUP2
00000be5: MSTORE
00000be6: PUSH1 0x20
00000be8: PUSH1 0x04
00000bea: DUP3
00000beb: ADD
00000bec: MSTORE
00000bed: PUSH1 0x41
00000bef: PUSH1 0x24
00000bf1: DUP3
00000bf2: ADD
00000bf3: MSTORE
00000bf4: PUSH32 0x5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c
00000c15: PUSH1 0x44
00000c17: DUP3
00000c18: ADD
00000c19: MSTORE
00000c1a: PUSH32 0x792062652063616c6c65642066726f6d20746865206f74686572206272696467
00000c3b: PUSH1 0x64
00000c3d: DUP3
00000c3e: ADD
00000c3f: MSTORE
00000c40: PUSH32 0x6500000000000000000000000000000000000000000000000000000000000000
00000c61: PUSH1 0x84
00000c63: DUP3
00000c64: ADD
00000c65: MSTORE
00000c66: PUSH1 0xa4
00000c68: ADD
00000c69: PUSH2 0x0219
00000c6c: JUMP
00000c6d: JUMPDEST
00000c6e: PUSH2 0x0c75
00000c71: PUSH2 0x1164
00000c74: JUMP
00000c75: JUMPDEST
00000c76: ISZERO
00000c77: PUSH2 0x0cdc
00000c7a: JUMPI
00000c7b: PUSH1 0x40
00000c7d: MLOAD
00000c7e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000c9f: DUP2
00000ca0: MSTORE
00000ca1: PUSH1 0x20
00000ca3: PUSH1 0x04
00000ca5: DUP3
00000ca6: ADD
00000ca7: MSTORE
00000ca8: PUSH1 0x16
00000caa: PUSH1 0x24
00000cac: DUP3
00000cad: ADD
00000cae: MSTORE
00000caf: PUSH32 0x5374616e646172644272696467653a2070617573656400000000000000000000
00000cd0: PUSH1 0x44
00000cd2: DUP3
00000cd3: ADD
00000cd4: MSTORE
00000cd5: PUSH1 0x64
00000cd7: ADD
00000cd8: PUSH2 0x0219
00000cdb: JUMP
00000cdc: JUMPDEST
00000cdd: PUSH2 0x0ce4
00000ce0: PUSH2 0x1bc7
00000ce3: JUMP
00000ce4: JUMPDEST
00000ce5: ISZERO
00000ce6: PUSH2 0x0d71
00000ce9: JUMPI
00000cea: PUSH1 0x40
00000cec: MLOAD
00000ced: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000d0e: DUP2
00000d0f: MSTORE
00000d10: PUSH1 0x20
00000d12: PUSH1 0x04
00000d14: DUP3
00000d15: ADD
00000d16: MSTORE
00000d17: PUSH1 0x37
00000d19: PUSH1 0x24
00000d1b: DUP3
00000d1c: ADD
00000d1d: MSTORE
00000d1e: PUSH32 0x5374616e646172644272696467653a2063616e6e6f7420627269646765204554
00000d3f: PUSH1 0x44
00000d41: DUP3
00000d42: ADD
00000d43: MSTORE
00000d44: PUSH32 0x48207769746820637573746f6d2067617320746f6b656e000000000000000000
00000d65: PUSH1 0x64
00000d67: DUP3
00000d68: ADD
00000d69: MSTORE
00000d6a: PUSH1 0x84
00000d6c: ADD
00000d6d: PUSH2 0x0219
00000d70: JUMP
00000d71: JUMPDEST
00000d72: DUP3
00000d73: CALLVALUE
00000d74: EQ
00000d75: PUSH2 0x0e00
00000d78: JUMPI
00000d79: PUSH1 0x40
00000d7b: MLOAD
00000d7c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000d9d: DUP2
00000d9e: MSTORE
00000d9f: PUSH1 0x20
00000da1: PUSH1 0x04
00000da3: DUP3
00000da4: ADD
00000da5: MSTORE
00000da6: PUSH1 0x3a
00000da8: PUSH1 0x24
00000daa: DUP3
00000dab: ADD
00000dac: MSTORE
00000dad: PUSH32 0x5374616e646172644272696467653a20616d6f756e742073656e7420646f6573
00000dce: PUSH1 0x44
00000dd0: DUP3
00000dd1: ADD
00000dd2: MSTORE
00000dd3: PUSH32 0x206e6f74206d6174636820616d6f756e74207265717569726564000000000000
00000df4: PUSH1 0x64
00000df6: DUP3
00000df7: ADD
00000df8: MSTORE
00000df9: PUSH1 0x84
00000dfb: ADD
00000dfc: PUSH2 0x0219
00000dff: JUMP
00000e00: JUMPDEST
00000e01: ADDRESS
00000e02: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e17: DUP6
00000e18: AND
00000e19: SUB
00000e1a: PUSH2 0x0ea5
00000e1d: JUMPI
00000e1e: PUSH1 0x40
00000e20: MLOAD
00000e21: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000e42: DUP2
00000e43: MSTORE
00000e44: PUSH1 0x20
00000e46: PUSH1 0x04
00000e48: DUP3
00000e49: ADD
00000e4a: MSTORE
00000e4b: PUSH1 0x23
00000e4d: PUSH1 0x24
00000e4f: DUP3
00000e50: ADD
00000e51: MSTORE
00000e52: PUSH32 0x5374616e646172644272696467653a2063616e6e6f742073656e6420746f2073
00000e73: PUSH1 0x44
00000e75: DUP3
00000e76: ADD
00000e77: MSTORE
00000e78: PUSH32 0x656c660000000000000000000000000000000000000000000000000000000000
00000e99: PUSH1 0x64
00000e9b: DUP3
00000e9c: ADD
00000e9d: MSTORE
00000e9e: PUSH1 0x84
00000ea0: ADD
00000ea1: PUSH2 0x0219
00000ea4: JUMP
00000ea5: JUMPDEST
00000ea6: PUSH1 0x03
00000ea8: SLOAD
00000ea9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ebe: SWAP1
00000ebf: DUP2
00000ec0: AND
00000ec1: SWAP1
00000ec2: DUP6
00000ec3: AND
00000ec4: SUB
00000ec5: PUSH2 0x0f50
00000ec8: JUMPI
00000ec9: PUSH1 0x40
00000ecb: MLOAD
00000ecc: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000eed: DUP2
00000eee: MSTORE
00000eef: PUSH1 0x20
00000ef1: PUSH1 0x04
00000ef3: DUP3
00000ef4: ADD
00000ef5: MSTORE
00000ef6: PUSH1 0x28
00000ef8: PUSH1 0x24
00000efa: DUP3
00000efb: ADD
00000efc: MSTORE
00000efd: PUSH32 0x5374616e646172644272696467653a2063616e6e6f742073656e6420746f206d
00000f1e: PUSH1 0x44
00000f20: DUP3
00000f21: ADD
00000f22: MSTORE
00000f23: PUSH32 0x657373656e676572000000000000000000000000000000000000000000000000
00000f44: PUSH1 0x64
00000f46: DUP3
00000f47: ADD
00000f48: MSTORE
00000f49: PUSH1 0x84
00000f4b: ADD
00000f4c: PUSH2 0x0219
00000f4f: JUMP
00000f50: JUMPDEST
00000f51: PUSH2 0x0f92
00000f54: DUP6
00000f55: DUP6
00000f56: DUP6
00000f57: DUP6
00000f58: DUP6
00000f59: DUP1
00000f5a: DUP1
00000f5b: PUSH1 0x1f
00000f5d: ADD
00000f5e: PUSH1 0x20
00000f60: DUP1
00000f61: SWAP2
00000f62: DIV
00000f63: MUL
00000f64: PUSH1 0x20
00000f66: ADD
00000f67: PUSH1 0x40
00000f69: MLOAD
00000f6a: SWAP1
00000f6b: DUP2
00000f6c: ADD
00000f6d: PUSH1 0x40
00000f6f: MSTORE
00000f70: DUP1
00000f71: SWAP4
00000f72: SWAP3
00000f73: SWAP2
00000f74: SWAP1
00000f75: DUP2
00000f76: DUP2
00000f77: MSTORE
00000f78: PUSH1 0x20
00000f7a: ADD
00000f7b: DUP4
00000f7c: DUP4
00000f7d: DUP1
00000f7e: DUP3
00000f7f: DUP5
00000f80: CALLDATACOPY
00000f81: PUSH1 0x00
00000f83: SWAP3
00000f84: ADD
00000f85: SWAP2
00000f86: SWAP1
00000f87: SWAP2
00000f88: MSTORE
00000f89: POP
00000f8a: PUSH2 0x1c06
00000f8d: SWAP3
00000f8e: POP
00000f8f: POP
00000f90: POP
00000f91: JUMP
00000f92: JUMPDEST
00000f93: PUSH1 0x00
00000f95: PUSH2 0x0faf
00000f98: DUP6
00000f99: GAS
00000f9a: DUP7
00000f9b: PUSH1 0x40
00000f9d: MLOAD
00000f9e: DUP1
00000f9f: PUSH1 0x20
00000fa1: ADD
00000fa2: PUSH1 0x40
00000fa4: MSTORE
00000fa5: DUP1
00000fa6: PUSH1 0x00
00000fa8: DUP2
00000fa9: MSTORE
00000faa: POP
00000fab: PUSH2 0x1c79
00000fae: JUMP
00000faf: JUMPDEST
00000fb0: SWAP1
00000fb1: POP
00000fb2: DUP1
00000fb3: PUSH2 0x103e
00000fb6: JUMPI
00000fb7: PUSH1 0x40
00000fb9: MLOAD
00000fba: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000fdb: DUP2
00000fdc: MSTORE
00000fdd: PUSH1 0x20
00000fdf: PUSH1 0x04
00000fe1: DUP3
00000fe2: ADD
00000fe3: MSTORE
00000fe4: PUSH1 0x23
00000fe6: PUSH1 0x24
00000fe8: DUP3
00000fe9: ADD
00000fea: MSTORE
00000feb: PUSH32 0x5374616e646172644272696467653a20455448207472616e7366657220666169
0000100c: PUSH1 0x44
0000100e: DUP3
0000100f: ADD
00001010: MSTORE
00001011: PUSH32 0x6c65640000000000000000000000000000000000000000000000000000000000
00001032: PUSH1 0x64
00001034: DUP3
00001035: ADD
00001036: MSTORE
00001037: PUSH1 0x84
00001039: ADD
0000103a: PUSH2 0x0219
0000103d: JUMP
0000103e: JUMPDEST
0000103f: POP
00001040: POP
00001041: POP
00001042: POP
00001043: POP
00001044: POP
00001045: JUMP
00001046: JUMPDEST
00001047: PUSH2 0x09ef
0000104a: DUP8
0000104b: DUP8
0000104c: CALLER
0000104d: DUP9
0000104e: DUP9
0000104f: DUP9
00001050: DUP9
00001051: DUP9
00001052: DUP1
00001053: DUP1
00001054: PUSH1 0x1f
00001056: ADD
00001057: PUSH1 0x20
00001059: DUP1
0000105a: SWAP2
0000105b: DIV
0000105c: MUL
0000105d: PUSH1 0x20
0000105f: ADD
00001060: PUSH1 0x40
00001062: MLOAD
00001063: SWAP1
00001064: DUP2
00001065: ADD
00001066: PUSH1 0x40
00001068: MSTORE
00001069: DUP1
0000106a: SWAP4
0000106b: SWAP3
0000106c: SWAP2
0000106d: SWAP1
0000106e: DUP2
0000106f: DUP2
00001070: MSTORE
00001071: PUSH1 0x20
00001073: ADD
00001074: DUP4
00001075: DUP4
00001076: DUP1
00001077: DUP3
00001078: DUP5
00001079: CALLDATACOPY
0000107a: PUSH1 0x00
0000107c: SWAP3
0000107d: ADD
0000107e: SWAP2
0000107f: SWAP1
00001080: SWAP2
00001081: MSTORE
00001082: POP
00001083: PUSH2 0x1c91
00001086: SWAP3
00001087: POP
00001088: POP
00001089: POP
0000108a: JUMP
0000108b: JUMPDEST
0000108c: PUSH2 0x1093
0000108f: PUSH2 0x058e
00001092: JUMP
00001093: JUMPDEST
00001094: PUSH2 0x111f
00001097: JUMPI
00001098: PUSH1 0x40
0000109a: MLOAD
0000109b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000010bc: DUP2
000010bd: MSTORE
000010be: PUSH1 0x20
000010c0: PUSH1 0x04
000010c2: DUP3
000010c3: ADD
000010c4: MSTORE
000010c5: PUSH1 0x37
000010c7: PUSH1 0x24
000010c9: DUP3
000010ca: ADD
000010cb: MSTORE
000010cc: PUSH32 0x5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c
000010ed: PUSH1 0x44
000010ef: DUP3
000010f0: ADD
000010f1: MSTORE
000010f2: PUSH32 0x792062652063616c6c65642066726f6d20616e20454f41000000000000000000
00001113: PUSH1 0x64
00001115: DUP3
00001116: ADD
00001117: MSTORE
00001118: PUSH1 0x84
0000111a: ADD
0000111b: PUSH2 0x0219
0000111e: JUMP
0000111f: JUMPDEST
00001120: PUSH2 0x103e
00001123: DUP7
00001124: DUP7
00001125: CALLER
00001126: CALLER
00001127: DUP9
00001128: DUP9
00001129: DUP9
0000112a: DUP9
0000112b: DUP1
0000112c: DUP1
0000112d: PUSH1 0x1f
0000112f: ADD
00001130: PUSH1 0x20
00001132: DUP1
00001133: SWAP2
00001134: DIV
00001135: MUL
00001136: PUSH1 0x20
00001138: ADD
00001139: PUSH1 0x40
0000113b: MLOAD
0000113c: SWAP1
0000113d: DUP2
0000113e: ADD
0000113f: PUSH1 0x40
00001141: MSTORE
00001142: DUP1
00001143: SWAP4
00001144: SWAP3
00001145: SWAP2
00001146: SWAP1
00001147: DUP2
00001148: DUP2
00001149: MSTORE
0000114a: PUSH1 0x20
0000114c: ADD
0000114d: DUP4
0000114e: DUP4
0000114f: DUP1
00001150: DUP3
00001151: DUP5
00001152: CALLDATACOPY
00001153: PUSH1 0x00
00001155: SWAP3
00001156: ADD
00001157: SWAP2
00001158: SWAP1
00001159: SWAP2
0000115a: MSTORE
0000115b: POP
0000115c: PUSH2 0x204a
0000115f: SWAP3
00001160: POP
00001161: POP
00001162: POP
00001163: JUMP
00001164: JUMPDEST
00001165: PUSH1 0x32
00001167: SLOAD
00001168: PUSH1 0x40
0000116a: DUP1
0000116b: MLOAD
0000116c: PUSH32 0x5c975abb00000000000000000000000000000000000000000000000000000000
0000118d: DUP2
0000118e: MSTORE
0000118f: SWAP1
00001190: MLOAD
00001191: PUSH1 0x00
00001193: SWAP3
00001194: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011a9: AND
000011aa: SWAP2
000011ab: PUSH4 0x5c975abb
000011b0: SWAP2
000011b1: PUSH1 0x04
000011b3: DUP1
000011b4: DUP4
000011b5: ADD
000011b6: SWAP3
000011b7: PUSH1 0x20
000011b9: SWAP3
000011ba: SWAP2
000011bb: SWAP1
000011bc: DUP3
000011bd: SWAP1
000011be: SUB
000011bf: ADD
000011c0: DUP2
000011c1: DUP7
000011c2: GAS
000011c3: STATICCALL
000011c4: ISZERO
000011c5: DUP1
000011c6: ISZERO
000011c7: PUSH2 0x11d4
000011ca: JUMPI
000011cb: RETURNDATASIZE
000011cc: PUSH1 0x00
000011ce: DUP1
000011cf: RETURNDATACOPY
000011d0: RETURNDATASIZE
000011d1: PUSH1 0x00
000011d3: REVERT
000011d4: JUMPDEST
000011d5: POP
000011d6: POP
000011d7: POP
000011d8: POP
000011d9: PUSH1 0x40
000011db: MLOAD
000011dc: RETURNDATASIZE
000011dd: PUSH1 0x1f
000011df: NOT
000011e0: PUSH1 0x1f
000011e2: DUP3
000011e3: ADD
000011e4: AND
000011e5: DUP3
000011e6: ADD
000011e7: DUP1
000011e8: PUSH1 0x40
000011ea: MSTORE
000011eb: POP
000011ec: DUP2
000011ed: ADD
000011ee: SWAP1
000011ef: PUSH2 0x11f8
000011f2: SWAP2
000011f3: SWAP1
000011f4: PUSH2 0x2e0f
000011f7: JUMP
000011f8: JUMPDEST
000011f9: SWAP1
000011fa: POP
000011fb: SWAP1
000011fc: JUMP
000011fd: JUMPDEST
000011fe: PUSH2 0x09ef
00001201: DUP8
00001202: DUP8
00001203: CALLER
00001204: DUP9
00001205: DUP9
00001206: DUP9
00001207: DUP9
00001208: DUP9
00001209: DUP1
0000120a: DUP1
0000120b: PUSH1 0x1f
0000120d: ADD
0000120e: PUSH1 0x20
00001210: DUP1
00001211: SWAP2
00001212: DIV
00001213: MUL
00001214: PUSH1 0x20
00001216: ADD
00001217: PUSH1 0x40
00001219: MLOAD
0000121a: SWAP1
0000121b: DUP2
0000121c: ADD
0000121d: PUSH1 0x40
0000121f: MSTORE
00001220: DUP1
00001221: SWAP4
00001222: SWAP3
00001223: SWAP2
00001224: SWAP1
00001225: DUP2
00001226: DUP2
00001227: MSTORE
00001228: PUSH1 0x20
0000122a: ADD
0000122b: DUP4
0000122c: DUP4
0000122d: DUP1
0000122e: DUP3
0000122f: DUP5
00001230: CALLDATACOPY
00001231: PUSH1 0x00
00001233: SWAP3
00001234: ADD
00001235: SWAP2
00001236: SWAP1
00001237: SWAP2
00001238: MSTORE
00001239: POP
0000123a: PUSH2 0x204a
0000123d: SWAP3
0000123e: POP
0000123f: POP
00001240: POP
00001241: JUMP
00001242: JUMPDEST
00001243: PUSH2 0x124a
00001246: PUSH2 0x058e
00001249: JUMP
0000124a: JUMPDEST
0000124b: PUSH2 0x12d6
0000124e: JUMPI
0000124f: PUSH1 0x40
00001251: MLOAD
00001252: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001273: DUP2
00001274: MSTORE
00001275: PUSH1 0x20
00001277: PUSH1 0x04
00001279: DUP3
0000127a: ADD
0000127b: MSTORE
0000127c: PUSH1 0x37
0000127e: PUSH1 0x24
00001280: DUP3
00001281: ADD
00001282: MSTORE
00001283: PUSH32 0x5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c
000012a4: PUSH1 0x44
000012a6: DUP3
000012a7: ADD
000012a8: MSTORE
000012a9: PUSH32 0x792062652063616c6c65642066726f6d20616e20454f41000000000000000000
000012ca: PUSH1 0x64
000012cc: DUP3
000012cd: ADD
000012ce: MSTORE
000012cf: PUSH1 0x84
000012d1: ADD
000012d2: PUSH2 0x0219
000012d5: JUMP
000012d6: JUMPDEST
000012d7: PUSH2 0x103e
000012da: DUP7
000012db: DUP7
000012dc: CALLER
000012dd: CALLER
000012de: DUP9
000012df: DUP9
000012e0: DUP9
000012e1: DUP9
000012e2: DUP1
000012e3: DUP1
000012e4: PUSH1 0x1f
000012e6: ADD
000012e7: PUSH1 0x20
000012e9: DUP1
000012ea: SWAP2
000012eb: DIV
000012ec: MUL
000012ed: PUSH1 0x20
000012ef: ADD
000012f0: PUSH1 0x40
000012f2: MLOAD
000012f3: SWAP1
000012f4: DUP2
000012f5: ADD
000012f6: PUSH1 0x40
000012f8: MSTORE
000012f9: DUP1
000012fa: SWAP4
000012fb: SWAP3
000012fc: SWAP2
000012fd: SWAP1
000012fe: DUP2
000012ff: DUP2
00001300: MSTORE
00001301: PUSH1 0x20
00001303: ADD
00001304: DUP4
00001305: DUP4
00001306: DUP1
00001307: DUP3
00001308: DUP5
00001309: CALLDATACOPY
0000130a: PUSH1 0x00
0000130c: SWAP3
0000130d: ADD
0000130e: SWAP2
0000130f: SWAP1
00001310: SWAP2
00001311: MSTORE
00001312: POP
00001313: PUSH2 0x1c91
00001316: SWAP3
00001317: POP
00001318: POP
00001319: POP
0000131a: JUMP
0000131b: JUMPDEST
0000131c: PUSH2 0x05d8
0000131f: CALLER
00001320: DUP6
00001321: DUP6
00001322: DUP6
00001323: DUP6
00001324: DUP1
00001325: DUP1
00001326: PUSH1 0x1f
00001328: ADD
00001329: PUSH1 0x20
0000132b: DUP1
0000132c: SWAP2
0000132d: DIV
0000132e: MUL
0000132f: PUSH1 0x20
00001331: ADD
00001332: PUSH1 0x40
00001334: MLOAD
00001335: SWAP1
00001336: DUP2
00001337: ADD
00001338: PUSH1 0x40
0000133a: MSTORE
0000133b: DUP1
0000133c: SWAP4
0000133d: SWAP3
0000133e: SWAP2
0000133f: SWAP1
00001340: DUP2
00001341: DUP2
00001342: MSTORE
00001343: PUSH1 0x20
00001345: ADD
00001346: DUP4
00001347: DUP4
00001348: DUP1
00001349: DUP3
0000134a: DUP5
0000134b: CALLDATACOPY
0000134c: PUSH1 0x00
0000134e: SWAP3
0000134f: ADD
00001350: SWAP2
00001351: SWAP1
00001352: SWAP2
00001353: MSTORE
00001354: POP
00001355: PUSH2 0x05cb
00001358: SWAP3
00001359: POP
0000135a: POP
0000135b: POP
0000135c: JUMP
0000135d: JUMPDEST
0000135e: PUSH2 0x09ef
00001361: DUP8
00001362: DUP8
00001363: DUP8
00001364: DUP8
00001365: DUP8
00001366: DUP8
00001367: DUP8
00001368: PUSH2 0x05de
0000136b: JUMP
0000136c: JUMPDEST
0000136d: PUSH2 0x1374
00001370: PUSH2 0x058e
00001373: JUMP
00001374: JUMPDEST
00001375: PUSH2 0x1400
00001378: JUMPI
00001379: PUSH1 0x40
0000137b: MLOAD
0000137c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000139d: DUP2
0000139e: MSTORE
0000139f: PUSH1 0x20
000013a1: PUSH1 0x04
000013a3: DUP3
000013a4: ADD
000013a5: MSTORE
000013a6: PUSH1 0x37
000013a8: PUSH1 0x24
000013aa: DUP3
000013ab: ADD
000013ac: MSTORE
000013ad: PUSH32 0x5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c
000013ce: PUSH1 0x44
000013d0: DUP3
000013d1: ADD
000013d2: MSTORE
000013d3: PUSH32 0x792062652063616c6c65642066726f6d20616e20454f41000000000000000000
000013f4: PUSH1 0x64
000013f6: DUP3
000013f7: ADD
000013f8: MSTORE
000013f9: PUSH1 0x84
000013fb: ADD
000013fc: PUSH2 0x0219
000013ff: JUMP
00001400: JUMPDEST
00001401: PUSH2 0x0acf
00001404: CALLER
00001405: CALLER
00001406: DUP6
00001407: DUP6
00001408: DUP6
00001409: DUP1
0000140a: DUP1
0000140b: PUSH1 0x1f
0000140d: ADD
0000140e: PUSH1 0x20
00001410: DUP1
00001411: SWAP2
00001412: DIV
00001413: MUL
00001414: PUSH1 0x20
00001416: ADD
00001417: PUSH1 0x40
00001419: MLOAD
0000141a: SWAP1
0000141b: DUP2
0000141c: ADD
0000141d: PUSH1 0x40
0000141f: MSTORE
00001420: DUP1
00001421: SWAP4
00001422: SWAP3
00001423: SWAP2
00001424: SWAP1
00001425: DUP2
00001426: DUP2
00001427: MSTORE
00001428: PUSH1 0x20
0000142a: ADD
0000142b: DUP4
0000142c: DUP4
0000142d: DUP1
0000142e: DUP3
0000142f: DUP5
00001430: CALLDATACOPY
00001431: PUSH1 0x00
00001433: SWAP3
00001434: ADD
00001435: SWAP2
00001436: SWAP1
00001437: SWAP2
00001438: MSTORE
00001439: POP
0000143a: PUSH2 0x05cb
0000143d: SWAP3
0000143e: POP
0000143f: POP
00001440: POP
00001441: JUMP
00001442: JUMPDEST
00001443: PUSH1 0x00
00001445: SLOAD
00001446: PUSH2 0x0100
00001449: SWAP1
0000144a: DIV
0000144b: PUSH1 0xff
0000144d: AND
0000144e: ISZERO
0000144f: DUP1
00001450: DUP1
00001451: ISZERO
00001452: PUSH2 0x1462
00001455: JUMPI
00001456: POP
00001457: PUSH1 0x00
00001459: SLOAD
0000145a: PUSH1 0x01
0000145c: PUSH1 0xff
0000145e: SWAP1
0000145f: SWAP2
00001460: AND
00001461: LT
00001462: JUMPDEST
00001463: DUP1
00001464: PUSH2 0x147c
00001467: JUMPI
00001468: POP
00001469: ADDRESS
0000146a: EXTCODESIZE
0000146b: ISZERO
0000146c: DUP1
0000146d: ISZERO
0000146e: PUSH2 0x147c
00001471: JUMPI
00001472: POP
00001473: PUSH1 0x00
00001475: SLOAD
00001476: PUSH1 0xff
00001478: AND
00001479: PUSH1 0x01
0000147b: EQ
0000147c: JUMPDEST
0000147d: PUSH2 0x1508
00001480: JUMPI
00001481: PUSH1 0x40
00001483: MLOAD
00001484: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000014a5: DUP2
000014a6: MSTORE
000014a7: PUSH1 0x20
000014a9: PUSH1 0x04
000014ab: DUP3
000014ac: ADD
000014ad: MSTORE
000014ae: PUSH1 0x2e
000014b0: PUSH1 0x24
000014b2: DUP3
000014b3: ADD
000014b4: MSTORE
000014b5: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561
000014d6: PUSH1 0x44
000014d8: DUP3
000014d9: ADD
000014da: MSTORE
000014db: PUSH32 0x647920696e697469616c697a6564000000000000000000000000000000000000
000014fc: PUSH1 0x64
000014fe: DUP3
000014ff: ADD
00001500: MSTORE
00001501: PUSH1 0x84
00001503: ADD
00001504: PUSH2 0x0219
00001507: JUMP
00001508: JUMPDEST
00001509: PUSH1 0x00
0000150b: DUP1
0000150c: SLOAD
0000150d: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
0000152e: AND
0000152f: PUSH1 0x01
00001531: OR
00001532: SWAP1
00001533: SSTORE
00001534: DUP1
00001535: ISZERO
00001536: PUSH2 0x1566
00001539: JUMPI
0000153a: PUSH1 0x00
0000153c: DUP1
0000153d: SLOAD
0000153e: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff
0000155f: AND
00001560: PUSH2 0x0100
00001563: OR
00001564: SWAP1
00001565: SSTORE
00001566: JUMPDEST
00001567: PUSH1 0x32
00001569: DUP1
0000156a: SLOAD
0000156b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001580: DUP1
00001581: DUP7
00001582: AND
00001583: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
000015a4: SWAP3
000015a5: DUP4
000015a6: AND
000015a7: OR
000015a8: SWAP1
000015a9: SWAP3
000015aa: SSTORE
000015ab: PUSH1 0x33
000015ad: DUP1
000015ae: SLOAD
000015af: SWAP3
000015b0: DUP6
000015b1: AND
000015b2: SWAP3
000015b3: SWAP1
000015b4: SWAP2
000015b5: AND
000015b6: SWAP2
000015b7: SWAP1
000015b8: SWAP2
000015b9: OR
000015ba: SWAP1
000015bb: SSTORE
000015bc: PUSH2 0x15d9
000015bf: DUP5
000015c0: PUSH20 0x4200000000000000000000000000000000000010
000015d5: PUSH2 0x2059
000015d8: JUMP
000015d9: JUMPDEST
000015da: DUP1
000015db: ISZERO
000015dc: PUSH2 0x05d8
000015df: JUMPI
000015e0: PUSH1 0x00
000015e2: DUP1
000015e3: SLOAD
000015e4: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff
00001605: AND
00001606: SWAP1
00001607: SSTORE
00001608: PUSH1 0x40
0000160a: MLOAD
0000160b: PUSH1 0x01
0000160d: DUP2
0000160e: MSTORE
0000160f: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498
00001630: SWAP1
00001631: PUSH1 0x20
00001633: ADD
00001634: PUSH1 0x40
00001636: MLOAD
00001637: DUP1
00001638: SWAP2
00001639: SUB
0000163a: SWAP1
0000163b: LOG1
0000163c: POP
0000163d: POP
0000163e: POP
0000163f: POP
00001640: JUMP
00001641: JUMPDEST
00001642: PUSH2 0x05d8
00001645: CALLER
00001646: DUP6
00001647: CALLVALUE
00001648: DUP7
00001649: DUP7
0000164a: DUP7
0000164b: DUP1
0000164c: DUP1
0000164d: PUSH1 0x1f
0000164f: ADD
00001650: PUSH1 0x20
00001652: DUP1
00001653: SWAP2
00001654: DIV
00001655: MUL
00001656: PUSH1 0x20
00001658: ADD
00001659: PUSH1 0x40
0000165b: MLOAD
0000165c: SWAP1
0000165d: DUP2
0000165e: ADD
0000165f: PUSH1 0x40
00001661: MSTORE
00001662: DUP1
00001663: SWAP4
00001664: SWAP3
00001665: SWAP2
00001666: SWAP1
00001667: DUP2
00001668: DUP2
00001669: MSTORE
0000166a: PUSH1 0x20
0000166c: ADD
0000166d: DUP4
0000166e: DUP4
0000166f: DUP1
00001670: DUP3
00001671: DUP5
00001672: CALLDATACOPY
00001673: PUSH1 0x00
00001675: SWAP3
00001676: ADD
00001677: SWAP2
00001678: SWAP1
00001679: SWAP2
0000167a: MSTORE
0000167b: POP
0000167c: PUSH2 0x1684
0000167f: SWAP3
00001680: POP
00001681: POP
00001682: POP
00001683: JUMP
00001684: JUMPDEST
00001685: PUSH2 0x168c
00001688: PUSH2 0x1bc7
0000168b: JUMP
0000168c: JUMPDEST
0000168d: ISZERO
0000168e: PUSH2 0x1719
00001691: JUMPI
00001692: PUSH1 0x40
00001694: MLOAD
00001695: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000016b6: DUP2
000016b7: MSTORE
000016b8: PUSH1 0x20
000016ba: PUSH1 0x04
000016bc: DUP3
000016bd: ADD
000016be: MSTORE
000016bf: PUSH1 0x37
000016c1: PUSH1 0x24
000016c3: DUP3
000016c4: ADD
000016c5: MSTORE
000016c6: PUSH32 0x5374616e646172644272696467653a2063616e6e6f7420627269646765204554
000016e7: PUSH1 0x44
000016e9: DUP3
000016ea: ADD
000016eb: MSTORE
000016ec: PUSH32 0x48207769746820637573746f6d2067617320746f6b656e000000000000000000
0000170d: PUSH1 0x64
0000170f: DUP3
00001710: ADD
00001711: MSTORE
00001712: PUSH1 0x84
00001714: ADD
00001715: PUSH2 0x0219
00001718: JUMP
00001719: JUMPDEST
0000171a: DUP3
0000171b: CALLVALUE
0000171c: EQ
0000171d: PUSH2 0x17a8
00001720: JUMPI
00001721: PUSH1 0x40
00001723: MLOAD
00001724: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001745: DUP2
00001746: MSTORE
00001747: PUSH1 0x20
00001749: PUSH1 0x04
0000174b: DUP3
0000174c: ADD
0000174d: MSTORE
0000174e: PUSH1 0x3e
00001750: PUSH1 0x24
00001752: DUP3
00001753: ADD
00001754: MSTORE
00001755: PUSH32 0x5374616e646172644272696467653a206272696467696e6720455448206d7573
00001776: PUSH1 0x44
00001778: DUP3
00001779: ADD
0000177a: MSTORE
0000177b: PUSH32 0x7420696e636c7564652073756666696369656e74204554482076616c75650000
0000179c: PUSH1 0x64
0000179e: DUP3
0000179f: ADD
000017a0: MSTORE
000017a1: PUSH1 0x84
000017a3: ADD
000017a4: PUSH2 0x0219
000017a7: JUMP
000017a8: JUMPDEST
000017a9: PUSH2 0x17b4
000017ac: DUP6
000017ad: DUP6
000017ae: DUP6
000017af: DUP5
000017b0: PUSH2 0x2143
000017b3: JUMP
000017b4: JUMPDEST
000017b5: PUSH1 0x03
000017b7: SLOAD
000017b8: PUSH1 0x04
000017ba: SLOAD
000017bb: PUSH1 0x40
000017bd: MLOAD
000017be: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017d3: SWAP3
000017d4: DUP4
000017d5: AND
000017d6: SWAP3
000017d7: PUSH4 0x3dbb202b
000017dc: SWAP3
000017dd: DUP8
000017de: SWAP3
000017df: SWAP2
000017e0: AND
000017e1: SWAP1
000017e2: PUSH32 0x1635f5fd00000000000000000000000000000000000000000000000000000000
00001803: SWAP1
00001804: PUSH2 0x1817
00001807: SWAP1
00001808: DUP12
00001809: SWAP1
0000180a: DUP12
0000180b: SWAP1
0000180c: DUP7
0000180d: SWAP1
0000180e: DUP11
0000180f: SWAP1
00001810: PUSH1 0x24
00001812: ADD
00001813: PUSH2 0x2e31
00001816: JUMP
00001817: JUMPDEST
00001818: PUSH1 0x40
0000181a: DUP1
0000181b: MLOAD
0000181c: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
0000183d: DUP2
0000183e: DUP5
0000183f: SUB
00001840: ADD
00001841: DUP2
00001842: MSTORE
00001843: SWAP2
00001844: DUP2
00001845: MSTORE
00001846: PUSH1 0x20
00001848: DUP3
00001849: ADD
0000184a: DUP1
0000184b: MLOAD
0000184c: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001869: AND
0000186a: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
0000188b: SWAP5
0000188c: DUP6
0000188d: AND
0000188e: OR
0000188f: SWAP1
00001890: MSTORE
00001891: MLOAD
00001892: PUSH1 0xe0
00001894: DUP7
00001895: SWAP1
00001896: SHL
00001897: SWAP1
00001898: SWAP3
00001899: AND
0000189a: DUP3
0000189b: MSTORE
0000189c: PUSH2 0x18aa
0000189f: SWAP3
000018a0: SWAP2
000018a1: DUP9
000018a2: SWAP1
000018a3: PUSH1 0x04
000018a5: ADD
000018a6: PUSH2 0x2e7a
000018a9: JUMP
000018aa: JUMPDEST
000018ab: PUSH1 0x00
000018ad: PUSH1 0x40
000018af: MLOAD
000018b0: DUP1
000018b1: DUP4
000018b2: SUB
000018b3: DUP2
000018b4: DUP6
000018b5: DUP9
000018b6: DUP1
000018b7: EXTCODESIZE
000018b8: ISZERO
000018b9: DUP1
000018ba: ISZERO
000018bb: PUSH2 0x18c3
000018be: JUMPI
000018bf: PUSH1 0x00
000018c1: DUP1
000018c2: REVERT
000018c3: JUMPDEST
000018c4: POP
000018c5: GAS
000018c6: CALL
000018c7: ISZERO
000018c8: DUP1
000018c9: ISZERO
000018ca: PUSH2 0x18d7
000018cd: JUMPI
000018ce: RETURNDATASIZE
000018cf: PUSH1 0x00
000018d1: DUP1
000018d2: RETURNDATACOPY
000018d3: RETURNDATASIZE
000018d4: PUSH1 0x00
000018d6: REVERT
000018d7: JUMPDEST
000018d8: POP
000018d9: POP
000018da: POP
000018db: POP
000018dc: POP
000018dd: POP
000018de: POP
000018df: POP
000018e0: POP
000018e1: POP
000018e2: JUMP
000018e3: JUMPDEST
000018e4: PUSH1 0x00
000018e6: PUSH2 0x190f
000018e9: DUP3
000018ea: PUSH32 0x1d1d8b6300000000000000000000000000000000000000000000000000000000
0000190b: PUSH2 0x21b6
0000190e: JUMP
0000190f: JUMPDEST
00001910: DUP1
00001911: PUSH2 0x193f
00001914: JUMPI
00001915: POP
00001916: PUSH2 0x193f
00001919: DUP3
0000191a: PUSH32 0xec4fc8e300000000000000000000000000000000000000000000000000000000
0000193b: PUSH2 0x21b6
0000193e: JUMP
0000193f: JUMPDEST
00001940: SWAP3
00001941: SWAP2
00001942: POP
00001943: POP
00001944: JUMP
00001945: JUMPDEST
00001946: PUSH1 0x00
00001948: PUSH2 0x1971
0000194b: DUP4
0000194c: PUSH32 0x1d1d8b6300000000000000000000000000000000000000000000000000000000
0000196d: PUSH2 0x21b6
00001970: JUMP
00001971: JUMPDEST
00001972: ISZERO
00001973: PUSH2 0x1a1a
00001976: JUMPI
00001977: DUP3
00001978: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000198d: AND
0000198e: PUSH4 0xc01e1bd6
00001993: PUSH1 0x40
00001995: MLOAD
00001996: DUP2
00001997: PUSH4 0xffffffff
0000199c: AND
0000199d: PUSH1 0xe0
0000199f: SHL
000019a0: DUP2
000019a1: MSTORE
000019a2: PUSH1 0x04
000019a4: ADD
000019a5: PUSH1 0x20
000019a7: PUSH1 0x40
000019a9: MLOAD
000019aa: DUP1
000019ab: DUP4
000019ac: SUB
000019ad: DUP2
000019ae: DUP7
000019af: GAS
000019b0: STATICCALL
000019b1: ISZERO
000019b2: DUP1
000019b3: ISZERO
000019b4: PUSH2 0x19c1
000019b7: JUMPI
000019b8: RETURNDATASIZE
000019b9: PUSH1 0x00
000019bb: DUP1
000019bc: RETURNDATACOPY
000019bd: RETURNDATASIZE
000019be: PUSH1 0x00
000019c0: REVERT
000019c1: JUMPDEST
000019c2: POP
000019c3: POP
000019c4: POP
000019c5: POP
000019c6: PUSH1 0x40
000019c8: MLOAD
000019c9: RETURNDATASIZE
000019ca: PUSH1 0x1f
000019cc: NOT
000019cd: PUSH1 0x1f
000019cf: DUP3
000019d0: ADD
000019d1: AND
000019d2: DUP3
000019d3: ADD
000019d4: DUP1
000019d5: PUSH1 0x40
000019d7: MSTORE
000019d8: POP
000019d9: DUP2
000019da: ADD
000019db: SWAP1
000019dc: PUSH2 0x19e5
000019df: SWAP2
000019e0: SWAP1
000019e1: PUSH2 0x2dac
000019e4: JUMP
000019e5: JUMPDEST
000019e6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019fb: AND
000019fc: DUP3
000019fd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a12: AND
00001a13: EQ
00001a14: SWAP1
00001a15: POP
00001a16: PUSH2 0x193f
00001a19: JUMP
00001a1a: JUMPDEST
00001a1b: DUP3
00001a1c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a31: AND
00001a32: PUSH4 0xd6c0b2c4
00001a37: PUSH1 0x40
00001a39: MLOAD
00001a3a: DUP2
00001a3b: PUSH4 0xffffffff
00001a40: AND
00001a41: PUSH1 0xe0
00001a43: SHL
00001a44: DUP2
00001a45: MSTORE
00001a46: PUSH1 0x04
00001a48: ADD
00001a49: PUSH1 0x20
00001a4b: PUSH1 0x40
00001a4d: MLOAD
00001a4e: DUP1
00001a4f: DUP4
00001a50: SUB
00001a51: DUP2
00001a52: DUP7
00001a53: GAS
00001a54: STATICCALL
00001a55: ISZERO
00001a56: DUP1
00001a57: ISZERO
00001a58: PUSH2 0x19c1
00001a5b: JUMPI
00001a5c: RETURNDATASIZE
00001a5d: PUSH1 0x00
00001a5f: DUP1
00001a60: RETURNDATACOPY
00001a61: RETURNDATASIZE
00001a62: PUSH1 0x00
00001a64: REVERT
00001a65: JUMPDEST
00001a66: PUSH1 0x40
00001a68: MLOAD
00001a69: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a7e: DUP4
00001a7f: AND
00001a80: PUSH1 0x24
00001a82: DUP3
00001a83: ADD
00001a84: MSTORE
00001a85: PUSH1 0x44
00001a87: DUP2
00001a88: ADD
00001a89: DUP3
00001a8a: SWAP1
00001a8b: MSTORE
00001a8c: PUSH2 0x0acf
00001a8f: SWAP1
00001a90: DUP5
00001a91: SWAP1
00001a92: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
00001ab3: SWAP1
00001ab4: PUSH1 0x64
00001ab6: ADD
00001ab7: JUMPDEST
00001ab8: PUSH1 0x40
00001aba: DUP1
00001abb: MLOAD
00001abc: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00001add: DUP2
00001ade: DUP5
00001adf: SUB
00001ae0: ADD
00001ae1: DUP2
00001ae2: MSTORE
00001ae3: SWAP2
00001ae4: SWAP1
00001ae5: MSTORE
00001ae6: PUSH1 0x20
00001ae8: DUP2
00001ae9: ADD
00001aea: DUP1
00001aeb: MLOAD
00001aec: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001b09: AND
00001b0a: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00001b2b: SWAP1
00001b2c: SWAP4
00001b2d: AND
00001b2e: SWAP3
00001b2f: SWAP1
00001b30: SWAP3
00001b31: OR
00001b32: SWAP1
00001b33: SWAP2
00001b34: MSTORE
00001b35: PUSH2 0x21d9
00001b38: JUMP
00001b39: JUMPDEST
00001b3a: DUP4
00001b3b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b50: AND
00001b51: DUP6
00001b52: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b67: AND
00001b68: DUP8
00001b69: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b7e: AND
00001b7f: PUSH32 0x3ceee06c1e37648fcbb6ed52e17b3e1f275a1f8c7b22a84b2b84732431e046b3
00001ba0: DUP7
00001ba1: DUP7
00001ba2: DUP7
00001ba3: PUSH1 0x40
00001ba5: MLOAD
00001ba6: PUSH2 0x1bb1
00001ba9: SWAP4
00001baa: SWAP3
00001bab: SWAP2
00001bac: SWAP1
00001bad: PUSH2 0x2ebf
00001bb0: JUMP
00001bb1: JUMPDEST
00001bb2: PUSH1 0x40
00001bb4: MLOAD
00001bb5: DUP1
00001bb6: SWAP2
00001bb7: SUB
00001bb8: SWAP1
00001bb9: LOG4
00001bba: PUSH2 0x103e
00001bbd: DUP7
00001bbe: DUP7
00001bbf: DUP7
00001bc0: DUP7
00001bc1: DUP7
00001bc2: DUP7
00001bc3: PUSH2 0x22e5
00001bc6: JUMP
00001bc7: JUMPDEST
00001bc8: PUSH1 0x00
00001bca: DUP1
00001bcb: PUSH2 0x1bd2
00001bce: PUSH2 0x236d
00001bd1: JUMP
00001bd2: JUMPDEST
00001bd3: POP
00001bd4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001be9: AND
00001bea: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00001bff: EQ
00001c00: ISZERO
00001c01: SWAP3
00001c02: SWAP2
00001c03: POP
00001c04: POP
00001c05: JUMP
00001c06: JUMPDEST
00001c07: DUP3
00001c08: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c1d: AND
00001c1e: DUP5
00001c1f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c34: AND
00001c35: PUSH32 0x2ac69ee804d9a7a0984249f508dfab7cb2534b465b6ce1580f99a38ba9c5e631
00001c56: DUP5
00001c57: DUP5
00001c58: PUSH1 0x40
00001c5a: MLOAD
00001c5b: PUSH2 0x1c65
00001c5e: SWAP3
00001c5f: SWAP2
00001c60: SWAP1
00001c61: PUSH2 0x2efd
00001c64: JUMP
00001c65: JUMPDEST
00001c66: PUSH1 0x40
00001c68: MLOAD
00001c69: DUP1
00001c6a: SWAP2
00001c6b: SUB
00001c6c: SWAP1
00001c6d: LOG3
00001c6e: PUSH2 0x05d8
00001c71: DUP5
00001c72: DUP5
00001c73: DUP5
00001c74: DUP5
00001c75: PUSH2 0x240a
00001c78: JUMP
00001c79: JUMPDEST
00001c7a: PUSH1 0x00
00001c7c: DUP1
00001c7d: PUSH1 0x00
00001c7f: DUP4
00001c80: MLOAD
00001c81: PUSH1 0x20
00001c83: DUP6
00001c84: ADD
00001c85: DUP7
00001c86: DUP10
00001c87: DUP10
00001c88: CALL
00001c89: SWAP6
00001c8a: SWAP5
00001c8b: POP
00001c8c: POP
00001c8d: POP
00001c8e: POP
00001c8f: POP
00001c90: JUMP
00001c91: JUMPDEST
00001c92: CALLVALUE
00001c93: ISZERO
00001c94: PUSH2 0x1d1f
00001c97: JUMPI
00001c98: PUSH1 0x40
00001c9a: MLOAD
00001c9b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001cbc: DUP2
00001cbd: MSTORE
00001cbe: PUSH1 0x20
00001cc0: PUSH1 0x04
00001cc2: DUP3
00001cc3: ADD
00001cc4: MSTORE
00001cc5: PUSH1 0x21
00001cc7: PUSH1 0x24
00001cc9: DUP3
00001cca: ADD
00001ccb: MSTORE
00001ccc: PUSH32 0x5374616e646172644272696467653a2063616e6e6f742073656e642076616c75
00001ced: PUSH1 0x44
00001cef: DUP3
00001cf0: ADD
00001cf1: MSTORE
00001cf2: PUSH32 0x6500000000000000000000000000000000000000000000000000000000000000
00001d13: PUSH1 0x64
00001d15: DUP3
00001d16: ADD
00001d17: MSTORE
00001d18: PUSH1 0x84
00001d1a: ADD
00001d1b: PUSH2 0x0219
00001d1e: JUMP
00001d1f: JUMPDEST
00001d20: PUSH2 0x1d28
00001d23: DUP8
00001d24: PUSH2 0x18e3
00001d27: JUMP
00001d28: JUMPDEST
00001d29: ISZERO
00001d2a: PUSH2 0x1e76
00001d2d: JUMPI
00001d2e: PUSH2 0x1d37
00001d31: DUP8
00001d32: DUP8
00001d33: PUSH2 0x1945
00001d36: JUMP
00001d37: JUMPDEST
00001d38: PUSH2 0x1de9
00001d3b: JUMPI
00001d3c: PUSH1 0x40
00001d3e: MLOAD
00001d3f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001d60: DUP2
00001d61: MSTORE
00001d62: PUSH1 0x20
00001d64: PUSH1 0x04
00001d66: DUP3
00001d67: ADD
00001d68: MSTORE
00001d69: PUSH1 0x4a
00001d6b: PUSH1 0x24
00001d6d: DUP3
00001d6e: ADD
00001d6f: MSTORE
00001d70: PUSH32 0x5374616e646172644272696467653a2077726f6e672072656d6f746520746f6b
00001d91: PUSH1 0x44
00001d93: DUP3
00001d94: ADD
00001d95: MSTORE
00001d96: PUSH32 0x656e20666f72204f7074696d69736d204d696e7461626c65204552433230206c
00001db7: PUSH1 0x64
00001db9: DUP3
00001dba: ADD
00001dbb: MSTORE
00001dbc: PUSH32 0x6f63616c20746f6b656e00000000000000000000000000000000000000000000
00001ddd: PUSH1 0x84
00001ddf: DUP3
00001de0: ADD
00001de1: MSTORE
00001de2: PUSH1 0xa4
00001de4: ADD
00001de5: PUSH2 0x0219
00001de8: JUMP
00001de9: JUMPDEST
00001dea: PUSH1 0x40
00001dec: MLOAD
00001ded: PUSH32 0x9dc29fac00000000000000000000000000000000000000000000000000000000
00001e0e: DUP2
00001e0f: MSTORE
00001e10: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e25: DUP7
00001e26: DUP2
00001e27: AND
00001e28: PUSH1 0x04
00001e2a: DUP4
00001e2b: ADD
00001e2c: MSTORE
00001e2d: PUSH1 0x24
00001e2f: DUP3
00001e30: ADD
00001e31: DUP6
00001e32: SWAP1
00001e33: MSTORE
00001e34: DUP9
00001e35: AND
00001e36: SWAP1
00001e37: PUSH4 0x9dc29fac
00001e3c: SWAP1
00001e3d: PUSH1 0x44
00001e3f: ADD
00001e40: PUSH1 0x00
00001e42: PUSH1 0x40
00001e44: MLOAD
00001e45: DUP1
00001e46: DUP4
00001e47: SUB
00001e48: DUP2
00001e49: PUSH1 0x00
00001e4b: DUP8
00001e4c: DUP1
00001e4d: EXTCODESIZE
00001e4e: ISZERO
00001e4f: DUP1
00001e50: ISZERO
00001e51: PUSH2 0x1e59
00001e54: JUMPI
00001e55: PUSH1 0x00
00001e57: DUP1
00001e58: REVERT
00001e59: JUMPDEST
00001e5a: POP
00001e5b: GAS
00001e5c: CALL
00001e5d: ISZERO
00001e5e: DUP1
00001e5f: ISZERO
00001e60: PUSH2 0x1e6d
00001e63: JUMPI
00001e64: RETURNDATASIZE
00001e65: PUSH1 0x00
00001e67: DUP1
00001e68: RETURNDATACOPY
00001e69: RETURNDATASIZE
00001e6a: PUSH1 0x00
00001e6c: REVERT
00001e6d: JUMPDEST
00001e6e: POP
00001e6f: POP
00001e70: POP
00001e71: POP
00001e72: PUSH2 0x1f0a
00001e75: JUMP
00001e76: JUMPDEST
00001e77: PUSH2 0x1e98
00001e7a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e8f: DUP9
00001e90: AND
00001e91: DUP7
00001e92: ADDRESS
00001e93: DUP7
00001e94: PUSH2 0x2477
00001e97: JUMP
00001e98: JUMPDEST
00001e99: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001eae: DUP1
00001eaf: DUP9
00001eb0: AND
00001eb1: PUSH1 0x00
00001eb3: SWAP1
00001eb4: DUP2
00001eb5: MSTORE
00001eb6: PUSH1 0x02
00001eb8: PUSH1 0x20
00001eba: SWAP1
00001ebb: DUP2
00001ebc: MSTORE
00001ebd: PUSH1 0x40
00001ebf: DUP1
00001ec0: DUP4
00001ec1: KECCAK256
00001ec2: SWAP4
00001ec3: DUP11
00001ec4: AND
00001ec5: DUP4
00001ec6: MSTORE
00001ec7: SWAP3
00001ec8: SWAP1
00001ec9: MSTORE
00001eca: KECCAK256
00001ecb: SLOAD
00001ecc: PUSH2 0x1ed6
00001ecf: SWAP1
00001ed0: DUP5
00001ed1: SWAP1
00001ed2: PUSH2 0x2f16
00001ed5: JUMP
00001ed6: JUMPDEST
00001ed7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001eec: DUP1
00001eed: DUP10
00001eee: AND
00001eef: PUSH1 0x00
00001ef1: SWAP1
00001ef2: DUP2
00001ef3: MSTORE
00001ef4: PUSH1 0x02
00001ef6: PUSH1 0x20
00001ef8: SWAP1
00001ef9: DUP2
00001efa: MSTORE
00001efb: PUSH1 0x40
00001efd: DUP1
00001efe: DUP4
00001eff: KECCAK256
00001f00: SWAP4
00001f01: DUP12
00001f02: AND
00001f03: DUP4
00001f04: MSTORE
00001f05: SWAP3
00001f06: SWAP1
00001f07: MSTORE
00001f08: KECCAK256
00001f09: SSTORE
00001f0a: JUMPDEST
00001f0b: PUSH2 0x1f18
00001f0e: DUP8
00001f0f: DUP8
00001f10: DUP8
00001f11: DUP8
00001f12: DUP8
00001f13: DUP7
00001f14: PUSH2 0x24d5
00001f17: JUMP
00001f18: JUMPDEST
00001f19: PUSH1 0x03
00001f1b: SLOAD
00001f1c: PUSH1 0x04
00001f1e: SLOAD
00001f1f: PUSH1 0x40
00001f21: MLOAD
00001f22: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f37: SWAP3
00001f38: DUP4
00001f39: AND
00001f3a: SWAP3
00001f3b: PUSH4 0x3dbb202b
00001f40: SWAP3
00001f41: AND
00001f42: SWAP1
00001f43: PUSH32 0x0166a07a00000000000000000000000000000000000000000000000000000000
00001f64: SWAP1
00001f65: PUSH2 0x1f7c
00001f68: SWAP1
00001f69: DUP12
00001f6a: SWAP1
00001f6b: DUP14
00001f6c: SWAP1
00001f6d: DUP13
00001f6e: SWAP1
00001f6f: DUP13
00001f70: SWAP1
00001f71: DUP13
00001f72: SWAP1
00001f73: DUP12
00001f74: SWAP1
00001f75: PUSH1 0x24
00001f77: ADD
00001f78: PUSH2 0x2f2e
00001f7b: JUMP
00001f7c: JUMPDEST
00001f7d: PUSH1 0x40
00001f7f: DUP1
00001f80: MLOAD
00001f81: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00001fa2: DUP2
00001fa3: DUP5
00001fa4: SUB
00001fa5: ADD
00001fa6: DUP2
00001fa7: MSTORE
00001fa8: SWAP2
00001fa9: DUP2
00001faa: MSTORE
00001fab: PUSH1 0x20
00001fad: DUP3
00001fae: ADD
00001faf: DUP1
00001fb0: MLOAD
00001fb1: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00001fce: AND
00001fcf: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00001ff0: SWAP5
00001ff1: DUP6
00001ff2: AND
00001ff3: OR
00001ff4: SWAP1
00001ff5: MSTORE
00001ff6: MLOAD
00001ff7: PUSH1 0xe0
00001ff9: DUP6
00001ffa: SWAP1
00001ffb: SHL
00001ffc: SWAP1
00001ffd: SWAP3
00001ffe: AND
00001fff: DUP3
00002000: MSTORE
00002001: PUSH2 0x200f
00002004: SWAP3
00002005: SWAP2
00002006: DUP8
00002007: SWAP1
00002008: PUSH1 0x04
0000200a: ADD
0000200b: PUSH2 0x2e7a
0000200e: JUMP
0000200f: JUMPDEST
00002010: PUSH1 0x00
00002012: PUSH1 0x40
00002014: MLOAD
00002015: DUP1
00002016: DUP4
00002017: SUB
00002018: DUP2
00002019: PUSH1 0x00
0000201b: DUP8
0000201c: DUP1
0000201d: EXTCODESIZE
0000201e: ISZERO
0000201f: DUP1
00002020: ISZERO
00002021: PUSH2 0x2029
00002024: JUMPI
00002025: PUSH1 0x00
00002027: DUP1
00002028: REVERT
00002029: JUMPDEST
0000202a: POP
0000202b: GAS
0000202c: CALL
0000202d: ISZERO
0000202e: DUP1
0000202f: ISZERO
00002030: PUSH2 0x203d
00002033: JUMPI
00002034: RETURNDATASIZE
00002035: PUSH1 0x00
00002037: DUP1
00002038: RETURNDATACOPY
00002039: RETURNDATASIZE
0000203a: PUSH1 0x00
0000203c: REVERT
0000203d: JUMPDEST
0000203e: POP
0000203f: POP
00002040: POP
00002041: POP
00002042: POP
00002043: POP
00002044: POP
00002045: POP
00002046: POP
00002047: POP
00002048: POP
00002049: JUMP
0000204a: JUMPDEST
0000204b: PUSH2 0x09ef
0000204e: DUP8
0000204f: DUP8
00002050: DUP8
00002051: DUP8
00002052: DUP8
00002053: DUP8
00002054: DUP8
00002055: PUSH2 0x1c91
00002058: JUMP
00002059: JUMPDEST
0000205a: PUSH1 0x00
0000205c: SLOAD
0000205d: PUSH2 0x0100
00002060: SWAP1
00002061: DIV
00002062: PUSH1 0xff
00002064: AND
00002065: PUSH2 0x20f0
00002068: JUMPI
00002069: PUSH1 0x40
0000206b: MLOAD
0000206c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000208d: DUP2
0000208e: MSTORE
0000208f: PUSH1 0x20
00002091: PUSH1 0x04
00002093: DUP3
00002094: ADD
00002095: MSTORE
00002096: PUSH1 0x2b
00002098: PUSH1 0x24
0000209a: DUP3
0000209b: ADD
0000209c: MSTORE
0000209d: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069
000020be: PUSH1 0x44
000020c0: DUP3
000020c1: ADD
000020c2: MSTORE
000020c3: PUSH32 0x6e697469616c697a696e67000000000000000000000000000000000000000000
000020e4: PUSH1 0x64
000020e6: DUP3
000020e7: ADD
000020e8: MSTORE
000020e9: PUSH1 0x84
000020eb: ADD
000020ec: PUSH2 0x0219
000020ef: JUMP
000020f0: JUMPDEST
000020f1: PUSH1 0x03
000020f3: DUP1
000020f4: SLOAD
000020f5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000210a: SWAP4
0000210b: DUP5
0000210c: AND
0000210d: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
0000212e: SWAP2
0000212f: DUP3
00002130: AND
00002131: OR
00002132: SWAP1
00002133: SWAP2
00002134: SSTORE
00002135: PUSH1 0x04
00002137: DUP1
00002138: SLOAD
00002139: SWAP3
0000213a: SWAP1
0000213b: SWAP4
0000213c: AND
0000213d: SWAP2
0000213e: AND
0000213f: OR
00002140: SWAP1
00002141: SSTORE
00002142: JUMP
00002143: JUMPDEST
00002144: DUP3
00002145: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000215a: AND
0000215b: DUP5
0000215c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002171: AND
00002172: PUSH32 0x35d79ab81f2b2017e19afb5c5571778877782d7a8786f5907f93b0f4702f4f23
00002193: DUP5
00002194: DUP5
00002195: PUSH1 0x40
00002197: MLOAD
00002198: PUSH2 0x21a2
0000219b: SWAP3
0000219c: SWAP2
0000219d: SWAP1
0000219e: PUSH2 0x2efd
000021a1: JUMP
000021a2: JUMPDEST
000021a3: PUSH1 0x40
000021a5: MLOAD
000021a6: DUP1
000021a7: SWAP2
000021a8: SUB
000021a9: SWAP1
000021aa: LOG3
000021ab: PUSH2 0x05d8
000021ae: DUP5
000021af: DUP5
000021b0: DUP5
000021b1: DUP5
000021b2: PUSH2 0x2563
000021b5: JUMP
000021b6: JUMPDEST
000021b7: PUSH1 0x00
000021b9: PUSH2 0x21c1
000021bc: DUP4
000021bd: PUSH2 0x25c2
000021c0: JUMP
000021c1: JUMPDEST
000021c2: DUP1
000021c3: ISZERO
000021c4: PUSH2 0x21d2
000021c7: JUMPI
000021c8: POP
000021c9: PUSH2 0x21d2
000021cc: DUP4
000021cd: DUP4
000021ce: PUSH2 0x2626
000021d1: JUMP
000021d2: JUMPDEST
000021d3: SWAP4
000021d4: SWAP3
000021d5: POP
000021d6: POP
000021d7: POP
000021d8: JUMP
000021d9: JUMPDEST
000021da: PUSH1 0x00
000021dc: PUSH2 0x223b
000021df: DUP3
000021e0: PUSH1 0x40
000021e2: MLOAD
000021e3: DUP1
000021e4: PUSH1 0x40
000021e6: ADD
000021e7: PUSH1 0x40
000021e9: MSTORE
000021ea: DUP1
000021eb: PUSH1 0x20
000021ed: DUP2
000021ee: MSTORE
000021ef: PUSH1 0x20
000021f1: ADD
000021f2: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00002213: DUP2
00002214: MSTORE
00002215: POP
00002216: DUP6
00002217: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000222c: AND
0000222d: PUSH2 0x26f5
00002230: SWAP1
00002231: SWAP3
00002232: SWAP2
00002233: SWAP1
00002234: PUSH4 0xffffffff
00002239: AND
0000223a: JUMP
0000223b: JUMPDEST
0000223c: DUP1
0000223d: MLOAD
0000223e: SWAP1
0000223f: SWAP2
00002240: POP
00002241: ISZERO
00002242: PUSH2 0x0acf
00002245: JUMPI
00002246: DUP1
00002247: DUP1
00002248: PUSH1 0x20
0000224a: ADD
0000224b: SWAP1
0000224c: MLOAD
0000224d: DUP2
0000224e: ADD
0000224f: SWAP1
00002250: PUSH2 0x2259
00002253: SWAP2
00002254: SWAP1
00002255: PUSH2 0x2e0f
00002258: JUMP
00002259: JUMPDEST
0000225a: PUSH2 0x0acf
0000225d: JUMPI
0000225e: PUSH1 0x40
00002260: MLOAD
00002261: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002282: DUP2
00002283: MSTORE
00002284: PUSH1 0x20
00002286: PUSH1 0x04
00002288: DUP3
00002289: ADD
0000228a: MSTORE
0000228b: PUSH1 0x2a
0000228d: PUSH1 0x24
0000228f: DUP3
00002290: ADD
00002291: MSTORE
00002292: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
000022b3: PUSH1 0x44
000022b5: DUP3
000022b6: ADD
000022b7: MSTORE
000022b8: PUSH32 0x6f74207375636365656400000000000000000000000000000000000000000000
000022d9: PUSH1 0x64
000022db: DUP3
000022dc: ADD
000022dd: MSTORE
000022de: PUSH1 0x84
000022e0: ADD
000022e1: PUSH2 0x0219
000022e4: JUMP
000022e5: JUMPDEST
000022e6: DUP4
000022e7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022fc: AND
000022fd: DUP6
000022fe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002313: AND
00002314: DUP8
00002315: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000232a: AND
0000232b: PUSH32 0xd59c65b35445225835c83f50b6ede06a7be047d22e357073e250d9af537518cd
0000234c: DUP7
0000234d: DUP7
0000234e: DUP7
0000234f: PUSH1 0x40
00002351: MLOAD
00002352: PUSH2 0x235d
00002355: SWAP4
00002356: SWAP3
00002357: SWAP2
00002358: SWAP1
00002359: PUSH2 0x2ebf
0000235c: JUMP
0000235d: JUMPDEST
0000235e: PUSH1 0x40
00002360: MLOAD
00002361: DUP1
00002362: SWAP2
00002363: SUB
00002364: SWAP1
00002365: LOG4
00002366: POP
00002367: POP
00002368: POP
00002369: POP
0000236a: POP
0000236b: POP
0000236c: JUMP
0000236d: JUMPDEST
0000236e: PUSH1 0x33
00002370: SLOAD
00002371: PUSH1 0x40
00002373: DUP1
00002374: MLOAD
00002375: PUSH32 0x4397dfef00000000000000000000000000000000000000000000000000000000
00002396: DUP2
00002397: MSTORE
00002398: DUP2
00002399: MLOAD
0000239a: PUSH1 0x00
0000239c: SWAP4
0000239d: DUP5
0000239e: SWAP4
0000239f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000023b4: SWAP1
000023b5: SWAP2
000023b6: AND
000023b7: SWAP3
000023b8: PUSH4 0x4397dfef
000023bd: SWAP3
000023be: PUSH1 0x04
000023c0: DUP1
000023c1: DUP4
000023c2: ADD
000023c3: SWAP4
000023c4: SWAP3
000023c5: DUP3
000023c6: SWAP1
000023c7: SUB
000023c8: ADD
000023c9: DUP2
000023ca: DUP7
000023cb: GAS
000023cc: STATICCALL
000023cd: ISZERO
000023ce: DUP1
000023cf: ISZERO
000023d0: PUSH2 0x23dd
000023d3: JUMPI
000023d4: RETURNDATASIZE
000023d5: PUSH1 0x00
000023d7: DUP1
000023d8: RETURNDATACOPY
000023d9: RETURNDATASIZE
000023da: PUSH1 0x00
000023dc: REVERT
000023dd: JUMPDEST
000023de: POP
000023df: POP
000023e0: POP
000023e1: POP
000023e2: PUSH1 0x40
000023e4: MLOAD
000023e5: RETURNDATASIZE
000023e6: PUSH1 0x1f
000023e8: NOT
000023e9: PUSH1 0x1f
000023eb: DUP3
000023ec: ADD
000023ed: AND
000023ee: DUP3
000023ef: ADD
000023f0: DUP1
000023f1: PUSH1 0x40
000023f3: MSTORE
000023f4: POP
000023f5: DUP2
000023f6: ADD
000023f7: SWAP1
000023f8: PUSH2 0x2401
000023fb: SWAP2
000023fc: SWAP1
000023fd: PUSH2 0x2f89
00002400: JUMP
00002401: JUMPDEST
00002402: SWAP1
00002403: SWAP4
00002404: SWAP1
00002405: SWAP3
00002406: POP
00002407: SWAP1
00002408: POP
00002409: JUMP
0000240a: JUMPDEST
0000240b: DUP3
0000240c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002421: AND
00002422: DUP5
00002423: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002438: AND
00002439: PUSH32 0x31b2166ff604fc5672ea5df08a78081d2bc6d746cadce880747f3643d819e83d
0000245a: DUP5
0000245b: DUP5
0000245c: PUSH1 0x40
0000245e: MLOAD
0000245f: PUSH2 0x2469
00002462: SWAP3
00002463: SWAP2
00002464: SWAP1
00002465: PUSH2 0x2efd
00002468: JUMP
00002469: JUMPDEST
0000246a: PUSH1 0x40
0000246c: MLOAD
0000246d: DUP1
0000246e: SWAP2
0000246f: SUB
00002470: SWAP1
00002471: LOG3
00002472: POP
00002473: POP
00002474: POP
00002475: POP
00002476: JUMP
00002477: JUMPDEST
00002478: PUSH1 0x40
0000247a: MLOAD
0000247b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002490: DUP1
00002491: DUP6
00002492: AND
00002493: PUSH1 0x24
00002495: DUP4
00002496: ADD
00002497: MSTORE
00002498: DUP4
00002499: AND
0000249a: PUSH1 0x44
0000249c: DUP3
0000249d: ADD
0000249e: MSTORE
0000249f: PUSH1 0x64
000024a1: DUP2
000024a2: ADD
000024a3: DUP3
000024a4: SWAP1
000024a5: MSTORE
000024a6: PUSH2 0x05d8
000024a9: SWAP1
000024aa: DUP6
000024ab: SWAP1
000024ac: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000
000024cd: SWAP1
000024ce: PUSH1 0x84
000024d0: ADD
000024d1: PUSH2 0x1ab7
000024d4: JUMP
000024d5: JUMPDEST
000024d6: DUP4
000024d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000024ec: AND
000024ed: DUP6
000024ee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002503: AND
00002504: DUP8
00002505: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000251a: AND
0000251b: PUSH32 0x718594027abd4eaed59f95162563e0cc6d0e8d5b86b1c7be8b1b0ac3343d0396
0000253c: DUP7
0000253d: DUP7
0000253e: DUP7
0000253f: PUSH1 0x40
00002541: MLOAD
00002542: PUSH2 0x254d
00002545: SWAP4
00002546: SWAP3
00002547: SWAP2
00002548: SWAP1
00002549: PUSH2 0x2ebf
0000254c: JUMP
0000254d: JUMPDEST
0000254e: PUSH1 0x40
00002550: MLOAD
00002551: DUP1
00002552: SWAP2
00002553: SUB
00002554: SWAP1
00002555: LOG4
00002556: PUSH2 0x103e
00002559: DUP7
0000255a: DUP7
0000255b: DUP7
0000255c: DUP7
0000255d: DUP7
0000255e: DUP7
0000255f: PUSH2 0x270c
00002562: JUMP
00002563: JUMPDEST
00002564: DUP3
00002565: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000257a: AND
0000257b: DUP5
0000257c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002591: AND
00002592: PUSH32 0x2849b43074093a05396b6f2a937dee8565b15a48a7b3d4bffb732a5017380af5
000025b3: DUP5
000025b4: DUP5
000025b5: PUSH1 0x40
000025b7: MLOAD
000025b8: PUSH2 0x2469
000025bb: SWAP3
000025bc: SWAP2
000025bd: SWAP1
000025be: PUSH2 0x2efd
000025c1: JUMP
000025c2: JUMPDEST
000025c3: PUSH1 0x00
000025c5: PUSH2 0x25ee
000025c8: DUP3
000025c9: PUSH32 0x01ffc9a700000000000000000000000000000000000000000000000000000000
000025ea: PUSH2 0x2626
000025ed: JUMP
000025ee: JUMPDEST
000025ef: DUP1
000025f0: ISZERO
000025f1: PUSH2 0x193f
000025f4: JUMPI
000025f5: POP
000025f6: PUSH2 0x261f
000025f9: DUP3
000025fa: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
0000261b: PUSH2 0x2626
0000261e: JUMP
0000261f: JUMPDEST
00002620: ISZERO
00002621: SWAP3
00002622: SWAP2
00002623: POP
00002624: POP
00002625: JUMP
00002626: JUMPDEST
00002627: PUSH1 0x40
00002629: DUP1
0000262a: MLOAD
0000262b: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
0000264c: DUP4
0000264d: AND
0000264e: PUSH1 0x24
00002650: DUP1
00002651: DUP4
00002652: ADD
00002653: SWAP2
00002654: SWAP1
00002655: SWAP2
00002656: MSTORE
00002657: DUP3
00002658: MLOAD
00002659: DUP1
0000265a: DUP4
0000265b: SUB
0000265c: SWAP1
0000265d: SWAP2
0000265e: ADD
0000265f: DUP2
00002660: MSTORE
00002661: PUSH1 0x44
00002663: SWAP1
00002664: SWAP2
00002665: ADD
00002666: SWAP1
00002667: SWAP2
00002668: MSTORE
00002669: PUSH1 0x20
0000266b: DUP1
0000266c: DUP3
0000266d: ADD
0000266e: DUP1
0000266f: MLOAD
00002670: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000268d: AND
0000268e: PUSH32 0x01ffc9a700000000000000000000000000000000000000000000000000000000
000026af: OR
000026b0: DUP2
000026b1: MSTORE
000026b2: DUP3
000026b3: MLOAD
000026b4: PUSH1 0x00
000026b6: SWAP4
000026b7: SWAP3
000026b8: DUP5
000026b9: SWAP3
000026ba: DUP4
000026bb: SWAP3
000026bc: DUP4
000026bd: SWAP3
000026be: SWAP2
000026bf: DUP4
000026c0: SWAP2
000026c1: SWAP1
000026c2: DUP11
000026c3: PUSH2 0x7530
000026c6: STATICCALL
000026c7: SWAP3
000026c8: POP
000026c9: RETURNDATASIZE
000026ca: SWAP2
000026cb: POP
000026cc: PUSH1 0x00
000026ce: MLOAD
000026cf: SWAP1
000026d0: POP
000026d1: DUP3
000026d2: DUP1
000026d3: ISZERO
000026d4: PUSH2 0x26de
000026d7: JUMPI
000026d8: POP
000026d9: PUSH1 0x20
000026db: DUP3
000026dc: LT
000026dd: ISZERO
000026de: JUMPDEST
000026df: DUP1
000026e0: ISZERO
000026e1: PUSH2 0x26ea
000026e4: JUMPI
000026e5: POP
000026e6: PUSH1 0x00
000026e8: DUP2
000026e9: GT
000026ea: JUMPDEST
000026eb: SWAP8
000026ec: SWAP7
000026ed: POP
000026ee: POP
000026ef: POP
000026f0: POP
000026f1: POP
000026f2: POP
000026f3: POP
000026f4: JUMP
000026f5: JUMPDEST
000026f6: PUSH1 0x60
000026f8: PUSH2 0x2704
000026fb: DUP5
000026fc: DUP5
000026fd: PUSH1 0x00
000026ff: DUP6
00002700: PUSH2 0x2784
00002703: JUMP
00002704: JUMPDEST
00002705: SWAP5
00002706: SWAP4
00002707: POP
00002708: POP
00002709: POP
0000270a: POP
0000270b: JUMP
0000270c: JUMPDEST
0000270d: DUP4
0000270e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002723: AND
00002724: DUP6
00002725: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000273a: AND
0000273b: DUP8
0000273c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002751: AND
00002752: PUSH32 0x7ff126db8024424bbfd9826e8ab82ff59136289ea440b04b39a0df1b03b9cabf
00002773: DUP7
00002774: DUP7
00002775: DUP7
00002776: PUSH1 0x40
00002778: MLOAD
00002779: PUSH2 0x235d
0000277c: SWAP4
0000277d: SWAP3
0000277e: SWAP2
0000277f: SWAP1
00002780: PUSH2 0x2ebf
00002783: JUMP
00002784: JUMPDEST
00002785: PUSH1 0x60
00002787: DUP3
00002788: SELFBALANCE
00002789: LT
0000278a: ISZERO
0000278b: PUSH2 0x2816
0000278e: JUMPI
0000278f: PUSH1 0x40
00002791: MLOAD
00002792: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000027b3: DUP2
000027b4: MSTORE
000027b5: PUSH1 0x20
000027b7: PUSH1 0x04
000027b9: DUP3
000027ba: ADD
000027bb: MSTORE
000027bc: PUSH1 0x26
000027be: PUSH1 0x24
000027c0: DUP3
000027c1: ADD
000027c2: MSTORE
000027c3: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f
000027e4: PUSH1 0x44
000027e6: DUP3
000027e7: ADD
000027e8: MSTORE
000027e9: PUSH32 0x722063616c6c0000000000000000000000000000000000000000000000000000
0000280a: PUSH1 0x64
0000280c: DUP3
0000280d: ADD
0000280e: MSTORE
0000280f: PUSH1 0x84
00002811: ADD
00002812: PUSH2 0x0219
00002815: JUMP
00002816: JUMPDEST
00002817: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000282c: DUP6
0000282d: AND
0000282e: EXTCODESIZE
0000282f: PUSH2 0x2894
00002832: JUMPI
00002833: PUSH1 0x40
00002835: MLOAD
00002836: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002857: DUP2
00002858: MSTORE
00002859: PUSH1 0x20
0000285b: PUSH1 0x04
0000285d: DUP3
0000285e: ADD
0000285f: MSTORE
00002860: PUSH1 0x1d
00002862: PUSH1 0x24
00002864: DUP3
00002865: ADD
00002866: MSTORE
00002867: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
00002888: PUSH1 0x44
0000288a: DUP3
0000288b: ADD
0000288c: MSTORE
0000288d: PUSH1 0x64
0000288f: ADD
00002890: PUSH2 0x0219
00002893: JUMP
00002894: JUMPDEST
00002895: PUSH1 0x00
00002897: DUP1
00002898: DUP7
00002899: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000028ae: AND
000028af: DUP6
000028b0: DUP8
000028b1: PUSH1 0x40
000028b3: MLOAD
000028b4: PUSH2 0x28bd
000028b7: SWAP2
000028b8: SWAP1
000028b9: PUSH2 0x2fbe
000028bc: JUMP
000028bd: JUMPDEST
000028be: PUSH1 0x00
000028c0: PUSH1 0x40
000028c2: MLOAD
000028c3: DUP1
000028c4: DUP4
000028c5: SUB
000028c6: DUP2
000028c7: DUP6
000028c8: DUP8
000028c9: GAS
000028ca: CALL
000028cb: SWAP3
000028cc: POP
000028cd: POP
000028ce: POP
000028cf: RETURNDATASIZE
000028d0: DUP1
000028d1: PUSH1 0x00
000028d3: DUP2
000028d4: EQ
000028d5: PUSH2 0x28fa
000028d8: JUMPI
000028d9: PUSH1 0x40
000028db: MLOAD
000028dc: SWAP2
000028dd: POP
000028de: PUSH1 0x1f
000028e0: NOT
000028e1: PUSH1 0x3f
000028e3: RETURNDATASIZE
000028e4: ADD
000028e5: AND
000028e6: DUP3
000028e7: ADD
000028e8: PUSH1 0x40
000028ea: MSTORE
000028eb: RETURNDATASIZE
000028ec: DUP3
000028ed: MSTORE
000028ee: RETURNDATASIZE
000028ef: PUSH1 0x00
000028f1: PUSH1 0x20
000028f3: DUP5
000028f4: ADD
000028f5: RETURNDATACOPY
000028f6: PUSH2 0x28ff
000028f9: JUMP
000028fa: JUMPDEST
000028fb: PUSH1 0x60
000028fd: SWAP2
000028fe: POP
000028ff: JUMPDEST
00002900: POP
00002901: SWAP2
00002902: POP
00002903: SWAP2
00002904: POP
00002905: PUSH2 0x26ea
00002908: DUP3
00002909: DUP3
0000290a: DUP7
0000290b: PUSH1 0x60
0000290d: DUP4
0000290e: ISZERO
0000290f: PUSH2 0x2919
00002912: JUMPI
00002913: POP
00002914: DUP2
00002915: PUSH2 0x21d2
00002918: JUMP
00002919: JUMPDEST
0000291a: DUP3
0000291b: MLOAD
0000291c: ISZERO
0000291d: PUSH2 0x2929
00002920: JUMPI
00002921: DUP3
00002922: MLOAD
00002923: DUP1
00002924: DUP5
00002925: PUSH1 0x20
00002927: ADD
00002928: REVERT
00002929: JUMPDEST
0000292a: DUP2
0000292b: PUSH1 0x40
0000292d: MLOAD
0000292e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000294f: DUP2
00002950: MSTORE
00002951: PUSH1 0x04
00002953: ADD
00002954: PUSH2 0x0219
00002957: SWAP2
00002958: SWAP1
00002959: PUSH2 0x2c2f
0000295c: JUMP
0000295d: JUMPDEST
0000295e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002973: DUP2
00002974: AND
00002975: DUP2
00002976: EQ
00002977: PUSH2 0x297f
0000297a: JUMPI
0000297b: PUSH1 0x00
0000297d: DUP1
0000297e: REVERT
0000297f: JUMPDEST
00002980: POP
00002981: JUMP
00002982: JUMPDEST
00002983: PUSH1 0x00
00002985: DUP1
00002986: DUP4
00002987: PUSH1 0x1f
00002989: DUP5
0000298a: ADD
0000298b: SLT
0000298c: PUSH2 0x2994
0000298f: JUMPI
00002990: PUSH1 0x00
00002992: DUP1
00002993: REVERT
00002994: JUMPDEST
00002995: POP
00002996: DUP2
00002997: CALLDATALOAD
00002998: PUSH8 0xffffffffffffffff
000029a1: DUP2
000029a2: GT
000029a3: ISZERO
000029a4: PUSH2 0x29ac
000029a7: JUMPI
000029a8: PUSH1 0x00
000029aa: DUP1
000029ab: REVERT
000029ac: JUMPDEST
000029ad: PUSH1 0x20
000029af: DUP4
000029b0: ADD
000029b1: SWAP2
000029b2: POP
000029b3: DUP4
000029b4: PUSH1 0x20
000029b6: DUP3
000029b7: DUP6
000029b8: ADD
000029b9: ADD
000029ba: GT
000029bb: ISZERO
000029bc: PUSH2 0x29c4
000029bf: JUMPI
000029c0: PUSH1 0x00
000029c2: DUP1
000029c3: REVERT
000029c4: JUMPDEST
000029c5: SWAP3
000029c6: POP
000029c7: SWAP3
000029c8: SWAP1
000029c9: POP
000029ca: JUMP
000029cb: JUMPDEST
000029cc: PUSH1 0x00
000029ce: DUP1
000029cf: PUSH1 0x00
000029d1: DUP1
000029d2: PUSH1 0x00
000029d4: DUP1
000029d5: PUSH1 0x00
000029d7: PUSH1 0xc0
000029d9: DUP9
000029da: DUP11
000029db: SUB
000029dc: SLT
000029dd: ISZERO
000029de: PUSH2 0x29e6
000029e1: JUMPI
000029e2: PUSH1 0x00
000029e4: DUP1
000029e5: REVERT
000029e6: JUMPDEST
000029e7: DUP8
000029e8: CALLDATALOAD
000029e9: PUSH2 0x29f1
000029ec: DUP2
000029ed: PUSH2 0x295d
000029f0: JUMP
000029f1: JUMPDEST
000029f2: SWAP7
000029f3: POP
000029f4: PUSH1 0x20
000029f6: DUP9
000029f7: ADD
000029f8: CALLDATALOAD
000029f9: PUSH2 0x2a01
000029fc: DUP2
000029fd: PUSH2 0x295d
00002a00: JUMP
00002a01: JUMPDEST
00002a02: SWAP6
00002a03: POP
00002a04: PUSH1 0x40
00002a06: DUP9
00002a07: ADD
00002a08: CALLDATALOAD
00002a09: PUSH2 0x2a11
00002a0c: DUP2
00002a0d: PUSH2 0x295d
00002a10: JUMP
00002a11: JUMPDEST
00002a12: SWAP5
00002a13: POP
00002a14: PUSH1 0x60
00002a16: DUP9
00002a17: ADD
00002a18: CALLDATALOAD
00002a19: PUSH2 0x2a21
00002a1c: DUP2
00002a1d: PUSH2 0x295d
00002a20: JUMP
00002a21: JUMPDEST
00002a22: SWAP4
00002a23: POP
00002a24: PUSH1 0x80
00002a26: DUP9
00002a27: ADD
00002a28: CALLDATALOAD
00002a29: SWAP3
00002a2a: POP
00002a2b: PUSH1 0xa0
00002a2d: DUP9
00002a2e: ADD
00002a2f: CALLDATALOAD
00002a30: PUSH8 0xffffffffffffffff
00002a39: DUP2
00002a3a: GT
00002a3b: ISZERO
00002a3c: PUSH2 0x2a44
00002a3f: JUMPI
00002a40: PUSH1 0x00
00002a42: DUP1
00002a43: REVERT
00002a44: JUMPDEST
00002a45: PUSH2 0x2a50
00002a48: DUP11
00002a49: DUP3
00002a4a: DUP12
00002a4b: ADD
00002a4c: PUSH2 0x2982
00002a4f: JUMP
00002a50: JUMPDEST
00002a51: SWAP9
00002a52: SWAP12
00002a53: SWAP8
00002a54: SWAP11
00002a55: POP
00002a56: SWAP6
00002a57: SWAP9
00002a58: POP
00002a59: SWAP4
00002a5a: SWAP7
00002a5b: SWAP3
00002a5c: SWAP6
00002a5d: SWAP3
00002a5e: SWAP4
00002a5f: POP
00002a60: POP
00002a61: POP
00002a62: JUMP
00002a63: JUMPDEST
00002a64: DUP1
00002a65: CALLDATALOAD
00002a66: PUSH4 0xffffffff
00002a6b: DUP2
00002a6c: AND
00002a6d: DUP2
00002a6e: EQ
00002a6f: PUSH2 0x2a77
00002a72: JUMPI
00002a73: PUSH1 0x00
00002a75: DUP1
00002a76: REVERT
00002a77: JUMPDEST
00002a78: SWAP2
00002a79: SWAP1
00002a7a: POP
00002a7b: JUMP
00002a7c: JUMPDEST
00002a7d: PUSH1 0x00
00002a7f: DUP1
00002a80: PUSH1 0x00
00002a82: PUSH1 0x40
00002a84: DUP5
00002a85: DUP7
00002a86: SUB
00002a87: SLT
00002a88: ISZERO
00002a89: PUSH2 0x2a91
00002a8c: JUMPI
00002a8d: PUSH1 0x00
00002a8f: DUP1
00002a90: REVERT
00002a91: JUMPDEST
00002a92: PUSH2 0x2a9a
00002a95: DUP5
00002a96: PUSH2 0x2a63
00002a99: JUMP
00002a9a: JUMPDEST
00002a9b: SWAP3
00002a9c: POP
00002a9d: PUSH1 0x20
00002a9f: DUP5
00002aa0: ADD
00002aa1: CALLDATALOAD
00002aa2: PUSH8 0xffffffffffffffff
00002aab: DUP2
00002aac: GT
00002aad: ISZERO
00002aae: PUSH2 0x2ab6
00002ab1: JUMPI
00002ab2: PUSH1 0x00
00002ab4: DUP1
00002ab5: REVERT
00002ab6: JUMPDEST
00002ab7: PUSH2 0x2ac2
00002aba: DUP7
00002abb: DUP3
00002abc: DUP8
00002abd: ADD
00002abe: PUSH2 0x2982
00002ac1: JUMP
00002ac2: JUMPDEST
00002ac3: SWAP5
00002ac4: SWAP8
00002ac5: SWAP1
00002ac6: SWAP7
00002ac7: POP
00002ac8: SWAP4
00002ac9: SWAP5
00002aca: POP
00002acb: POP
00002acc: POP
00002acd: POP
00002ace: JUMP
00002acf: JUMPDEST
00002ad0: PUSH1 0x00
00002ad2: DUP1
00002ad3: PUSH1 0x00
00002ad5: DUP1
00002ad6: PUSH1 0x00
00002ad8: PUSH1 0x80
00002ada: DUP7
00002adb: DUP9
00002adc: SUB
00002add: SLT
00002ade: ISZERO
00002adf: PUSH2 0x2ae7
00002ae2: JUMPI
00002ae3: PUSH1 0x00
00002ae5: DUP1
00002ae6: REVERT
00002ae7: JUMPDEST
00002ae8: DUP6
00002ae9: CALLDATALOAD
00002aea: PUSH2 0x2af2
00002aed: DUP2
00002aee: PUSH2 0x295d
00002af1: JUMP
00002af2: JUMPDEST
00002af3: SWAP5
00002af4: POP
00002af5: PUSH1 0x20
00002af7: DUP7
00002af8: ADD
00002af9: CALLDATALOAD
00002afa: PUSH2 0x2b02
00002afd: DUP2
00002afe: PUSH2 0x295d
00002b01: JUMP
00002b02: JUMPDEST
00002b03: SWAP4
00002b04: POP
00002b05: PUSH1 0x40
00002b07: DUP7
00002b08: ADD
00002b09: CALLDATALOAD
00002b0a: SWAP3
00002b0b: POP
00002b0c: PUSH1 0x60
00002b0e: DUP7
00002b0f: ADD
00002b10: CALLDATALOAD
00002b11: PUSH8 0xffffffffffffffff
00002b1a: DUP2
00002b1b: GT
00002b1c: ISZERO
00002b1d: PUSH2 0x2b25
00002b20: JUMPI
00002b21: PUSH1 0x00
00002b23: DUP1
00002b24: REVERT
00002b25: JUMPDEST
00002b26: PUSH2 0x2b31
00002b29: DUP9
00002b2a: DUP3
00002b2b: DUP10
00002b2c: ADD
00002b2d: PUSH2 0x2982
00002b30: JUMP
00002b31: JUMPDEST
00002b32: SWAP7
00002b33: SWAP10
00002b34: SWAP6
00002b35: SWAP9
00002b36: POP
00002b37: SWAP4
00002b38: SWAP7
00002b39: POP
00002b3a: SWAP3
00002b3b: SWAP5
00002b3c: SWAP4
00002b3d: SWAP3
00002b3e: POP
00002b3f: POP
00002b40: POP
00002b41: JUMP
00002b42: JUMPDEST
00002b43: PUSH1 0x00
00002b45: DUP1
00002b46: PUSH1 0x00
00002b48: DUP1
00002b49: PUSH1 0x00
00002b4b: DUP1
00002b4c: PUSH1 0x00
00002b4e: PUSH1 0xc0
00002b50: DUP9
00002b51: DUP11
00002b52: SUB
00002b53: SLT
00002b54: ISZERO
00002b55: PUSH2 0x2b5d
00002b58: JUMPI
00002b59: PUSH1 0x00
00002b5b: DUP1
00002b5c: REVERT
00002b5d: JUMPDEST
00002b5e: DUP8
00002b5f: CALLDATALOAD
00002b60: PUSH2 0x2b68
00002b63: DUP2
00002b64: PUSH2 0x295d
00002b67: JUMP
00002b68: JUMPDEST
00002b69: SWAP7
00002b6a: POP
00002b6b: PUSH1 0x20
00002b6d: DUP9
00002b6e: ADD
00002b6f: CALLDATALOAD
00002b70: PUSH2 0x2b78
00002b73: DUP2
00002b74: PUSH2 0x295d
00002b77: JUMP
00002b78: JUMPDEST
00002b79: SWAP6
00002b7a: POP
00002b7b: PUSH1 0x40
00002b7d: DUP9
00002b7e: ADD
00002b7f: CALLDATALOAD
00002b80: PUSH2 0x2b88
00002b83: DUP2
00002b84: PUSH2 0x295d
00002b87: JUMP
00002b88: JUMPDEST
00002b89: SWAP5
00002b8a: POP
00002b8b: PUSH1 0x60
00002b8d: DUP9
00002b8e: ADD
00002b8f: CALLDATALOAD
00002b90: SWAP4
00002b91: POP
00002b92: PUSH2 0x2b9d
00002b95: PUSH1 0x80
00002b97: DUP10
00002b98: ADD
00002b99: PUSH2 0x2a63
00002b9c: JUMP
00002b9d: JUMPDEST
00002b9e: SWAP3
00002b9f: POP
00002ba0: PUSH1 0xa0
00002ba2: DUP9
00002ba3: ADD
00002ba4: CALLDATALOAD
00002ba5: PUSH8 0xffffffffffffffff
00002bae: DUP2
00002baf: GT
00002bb0: ISZERO
00002bb1: PUSH2 0x2a44
00002bb4: JUMPI
00002bb5: PUSH1 0x00
00002bb7: DUP1
00002bb8: REVERT
00002bb9: JUMPDEST
00002bba: PUSH1 0x00
00002bbc: JUMPDEST
00002bbd: DUP4
00002bbe: DUP2
00002bbf: LT
00002bc0: ISZERO
00002bc1: PUSH2 0x2bd4
00002bc4: JUMPI
00002bc5: DUP2
00002bc6: DUP2
00002bc7: ADD
00002bc8: MLOAD
00002bc9: DUP4
00002bca: DUP3
00002bcb: ADD
00002bcc: MSTORE
00002bcd: PUSH1 0x20
00002bcf: ADD
00002bd0: PUSH2 0x2bbc
00002bd3: JUMP
00002bd4: JUMPDEST
00002bd5: DUP4
00002bd6: DUP2
00002bd7: GT
00002bd8: ISZERO
00002bd9: PUSH2 0x05d8
00002bdc: JUMPI
00002bdd: POP
00002bde: POP
00002bdf: PUSH1 0x00
00002be1: SWAP2
00002be2: ADD
00002be3: MSTORE
00002be4: JUMP
00002be5: JUMPDEST
00002be6: PUSH1 0x00
00002be8: DUP2
00002be9: MLOAD
00002bea: DUP1
00002beb: DUP5
00002bec: MSTORE
00002bed: PUSH2 0x2bfd
00002bf0: DUP2
00002bf1: PUSH1 0x20
00002bf3: DUP7
00002bf4: ADD
00002bf5: PUSH1 0x20
00002bf7: DUP7
00002bf8: ADD
00002bf9: PUSH2 0x2bb9
00002bfc: JUMP
00002bfd: JUMPDEST
00002bfe: PUSH1 0x1f
00002c00: ADD
00002c01: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00002c22: AND
00002c23: SWAP3
00002c24: SWAP1
00002c25: SWAP3
00002c26: ADD
00002c27: PUSH1 0x20
00002c29: ADD
00002c2a: SWAP3
00002c2b: SWAP2
00002c2c: POP
00002c2d: POP
00002c2e: JUMP
00002c2f: JUMPDEST
00002c30: PUSH1 0x20
00002c32: DUP2
00002c33: MSTORE
00002c34: PUSH1 0x00
00002c36: PUSH2 0x21d2
00002c39: PUSH1 0x20
00002c3b: DUP4
00002c3c: ADD
00002c3d: DUP5
00002c3e: PUSH2 0x2be5
00002c41: JUMP
00002c42: JUMPDEST
00002c43: PUSH1 0x00
00002c45: DUP1
00002c46: PUSH1 0x00
00002c48: DUP1
00002c49: PUSH1 0x00
00002c4b: DUP1
00002c4c: PUSH1 0xa0
00002c4e: DUP8
00002c4f: DUP10
00002c50: SUB
00002c51: SLT
00002c52: ISZERO
00002c53: PUSH2 0x2c5b
00002c56: JUMPI
00002c57: PUSH1 0x00
00002c59: DUP1
00002c5a: REVERT
00002c5b: JUMPDEST
00002c5c: DUP7
00002c5d: CALLDATALOAD
00002c5e: PUSH2 0x2c66
00002c61: DUP2
00002c62: PUSH2 0x295d
00002c65: JUMP
00002c66: JUMPDEST
00002c67: SWAP6
00002c68: POP
00002c69: PUSH1 0x20
00002c6b: DUP8
00002c6c: ADD
00002c6d: CALLDATALOAD
00002c6e: PUSH2 0x2c76
00002c71: DUP2
00002c72: PUSH2 0x295d
00002c75: JUMP
00002c76: JUMPDEST
00002c77: SWAP5
00002c78: POP
00002c79: PUSH1 0x40
00002c7b: DUP8
00002c7c: ADD
00002c7d: CALLDATALOAD
00002c7e: SWAP4
00002c7f: POP
00002c80: PUSH2 0x2c8b
00002c83: PUSH1 0x60
00002c85: DUP9
00002c86: ADD
00002c87: PUSH2 0x2a63
00002c8a: JUMP
00002c8b: JUMPDEST
00002c8c: SWAP3
00002c8d: POP
00002c8e: PUSH1 0x80
00002c90: DUP8
00002c91: ADD
00002c92: CALLDATALOAD
00002c93: PUSH8 0xffffffffffffffff
00002c9c: DUP2
00002c9d: GT
00002c9e: ISZERO
00002c9f: PUSH2 0x2ca7
00002ca2: JUMPI
00002ca3: PUSH1 0x00
00002ca5: DUP1
00002ca6: REVERT
00002ca7: JUMPDEST
00002ca8: PUSH2 0x2cb3
00002cab: DUP10
00002cac: DUP3
00002cad: DUP11
00002cae: ADD
00002caf: PUSH2 0x2982
00002cb2: JUMP
00002cb3: JUMPDEST
00002cb4: SWAP8
00002cb5: SWAP11
00002cb6: SWAP7
00002cb7: SWAP10
00002cb8: POP
00002cb9: SWAP5
00002cba: SWAP8
00002cbb: POP
00002cbc: SWAP3
00002cbd: SWAP6
00002cbe: SWAP4
00002cbf: SWAP5
00002cc0: SWAP3
00002cc1: POP
00002cc2: POP
00002cc3: POP
00002cc4: JUMP
00002cc5: JUMPDEST
00002cc6: PUSH1 0x00
00002cc8: DUP1
00002cc9: PUSH1 0x40
00002ccb: DUP4
00002ccc: DUP6
00002ccd: SUB
00002cce: SLT
00002ccf: ISZERO
00002cd0: PUSH2 0x2cd8
00002cd3: JUMPI
00002cd4: PUSH1 0x00
00002cd6: DUP1
00002cd7: REVERT
00002cd8: JUMPDEST
00002cd9: DUP3
00002cda: CALLDATALOAD
00002cdb: PUSH2 0x2ce3
00002cde: DUP2
00002cdf: PUSH2 0x295d
00002ce2: JUMP
00002ce3: JUMPDEST
00002ce4: SWAP2
00002ce5: POP
00002ce6: PUSH1 0x20
00002ce8: DUP4
00002ce9: ADD
00002cea: CALLDATALOAD
00002ceb: PUSH2 0x2cf3
00002cee: DUP2
00002cef: PUSH2 0x295d
00002cf2: JUMP
00002cf3: JUMPDEST
00002cf4: DUP1
00002cf5: SWAP2
00002cf6: POP
00002cf7: POP
00002cf8: SWAP3
00002cf9: POP
00002cfa: SWAP3
00002cfb: SWAP1
00002cfc: POP
00002cfd: JUMP
00002cfe: JUMPDEST
00002cff: PUSH1 0x00
00002d01: DUP1
00002d02: PUSH1 0x00
00002d04: DUP1
00002d05: PUSH1 0x60
00002d07: DUP6
00002d08: DUP8
00002d09: SUB
00002d0a: SLT
00002d0b: ISZERO
00002d0c: PUSH2 0x2d14
00002d0f: JUMPI
00002d10: PUSH1 0x00
00002d12: DUP1
00002d13: REVERT
00002d14: JUMPDEST
00002d15: DUP5
00002d16: CALLDATALOAD
00002d17: PUSH2 0x2d1f
00002d1a: DUP2
00002d1b: PUSH2 0x295d
00002d1e: JUMP
00002d1f: JUMPDEST
00002d20: SWAP4
00002d21: POP
00002d22: PUSH2 0x2d2d
00002d25: PUSH1 0x20
00002d27: DUP7
00002d28: ADD
00002d29: PUSH2 0x2a63
00002d2c: JUMP
00002d2d: JUMPDEST
00002d2e: SWAP3
00002d2f: POP
00002d30: PUSH1 0x40
00002d32: DUP6
00002d33: ADD
00002d34: CALLDATALOAD
00002d35: PUSH8 0xffffffffffffffff
00002d3e: DUP2
00002d3f: GT
00002d40: ISZERO
00002d41: PUSH2 0x2d49
00002d44: JUMPI
00002d45: PUSH1 0x00
00002d47: DUP1
00002d48: REVERT
00002d49: JUMPDEST
00002d4a: PUSH2 0x2d55
00002d4d: DUP8
00002d4e: DUP3
00002d4f: DUP9
00002d50: ADD
00002d51: PUSH2 0x2982
00002d54: JUMP
00002d55: JUMPDEST
00002d56: SWAP6
00002d57: SWAP9
00002d58: SWAP5
00002d59: SWAP8
00002d5a: POP
00002d5b: SWAP6
00002d5c: POP
00002d5d: POP
00002d5e: POP
00002d5f: POP
00002d60: JUMP
00002d61: JUMPDEST
00002d62: PUSH1 0x00
00002d64: DUP1
00002d65: PUSH1 0x00
00002d67: PUSH1 0x60
00002d69: DUP5
00002d6a: DUP7
00002d6b: SUB
00002d6c: SLT
00002d6d: ISZERO
00002d6e: PUSH2 0x2d76
00002d71: JUMPI
00002d72: PUSH1 0x00
00002d74: DUP1
00002d75: REVERT
00002d76: JUMPDEST
00002d77: DUP4
00002d78: CALLDATALOAD
00002d79: PUSH2 0x2d81
00002d7c: DUP2
00002d7d: PUSH2 0x295d
00002d80: JUMP
00002d81: JUMPDEST
00002d82: SWAP3
00002d83: POP
00002d84: PUSH1 0x20
00002d86: DUP5
00002d87: ADD
00002d88: CALLDATALOAD
00002d89: PUSH2 0x2d91
00002d8c: DUP2
00002d8d: PUSH2 0x295d
00002d90: JUMP
00002d91: JUMPDEST
00002d92: SWAP2
00002d93: POP
00002d94: PUSH1 0x40
00002d96: DUP5
00002d97: ADD
00002d98: CALLDATALOAD
00002d99: PUSH2 0x2da1
00002d9c: DUP2
00002d9d: PUSH2 0x295d
00002da0: JUMP
00002da1: JUMPDEST
00002da2: DUP1
00002da3: SWAP2
00002da4: POP
00002da5: POP
00002da6: SWAP3
00002da7: POP
00002da8: SWAP3
00002da9: POP
00002daa: SWAP3
00002dab: JUMP
00002dac: JUMPDEST
00002dad: PUSH1 0x00
00002daf: PUSH1 0x20
00002db1: DUP3
00002db2: DUP5
00002db3: SUB
00002db4: SLT
00002db5: ISZERO
00002db6: PUSH2 0x2dbe
00002db9: JUMPI
00002dba: PUSH1 0x00
00002dbc: DUP1
00002dbd: REVERT
00002dbe: JUMPDEST
00002dbf: DUP2
00002dc0: MLOAD
00002dc1: PUSH2 0x21d2
00002dc4: DUP2
00002dc5: PUSH2 0x295d
00002dc8: JUMP
00002dc9: JUMPDEST
00002dca: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00002deb: PUSH1 0x00
00002ded: MSTORE
00002dee: PUSH1 0x11
00002df0: PUSH1 0x04
00002df2: MSTORE
00002df3: PUSH1 0x24
00002df5: PUSH1 0x00
00002df7: REVERT
00002df8: JUMPDEST
00002df9: PUSH1 0x00
00002dfb: DUP3
00002dfc: DUP3
00002dfd: LT
00002dfe: ISZERO
00002dff: PUSH2 0x2e0a
00002e02: JUMPI
00002e03: PUSH2 0x2e0a
00002e06: PUSH2 0x2dc9
00002e09: JUMP
00002e0a: JUMPDEST
00002e0b: POP
00002e0c: SUB
00002e0d: SWAP1
00002e0e: JUMP
00002e0f: JUMPDEST
00002e10: PUSH1 0x00
00002e12: PUSH1 0x20
00002e14: DUP3
00002e15: DUP5
00002e16: SUB
00002e17: SLT
00002e18: ISZERO
00002e19: PUSH2 0x2e21
00002e1c: JUMPI
00002e1d: PUSH1 0x00
00002e1f: DUP1
00002e20: REVERT
00002e21: JUMPDEST
00002e22: DUP2
00002e23: MLOAD
00002e24: DUP1
00002e25: ISZERO
00002e26: ISZERO
00002e27: DUP2
00002e28: EQ
00002e29: PUSH2 0x21d2
00002e2c: JUMPI
00002e2d: PUSH1 0x00
00002e2f: DUP1
00002e30: REVERT
00002e31: JUMPDEST
00002e32: PUSH1 0x00
00002e34: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e49: DUP1
00002e4a: DUP8
00002e4b: AND
00002e4c: DUP4
00002e4d: MSTORE
00002e4e: DUP1
00002e4f: DUP7
00002e50: AND
00002e51: PUSH1 0x20
00002e53: DUP5
00002e54: ADD
00002e55: MSTORE
00002e56: POP
00002e57: DUP4
00002e58: PUSH1 0x40
00002e5a: DUP4
00002e5b: ADD
00002e5c: MSTORE
00002e5d: PUSH1 0x80
00002e5f: PUSH1 0x60
00002e61: DUP4
00002e62: ADD
00002e63: MSTORE
00002e64: PUSH2 0x2e70
00002e67: PUSH1 0x80
00002e69: DUP4
00002e6a: ADD
00002e6b: DUP5
00002e6c: PUSH2 0x2be5
00002e6f: JUMP
00002e70: JUMPDEST
00002e71: SWAP7
00002e72: SWAP6
00002e73: POP
00002e74: POP
00002e75: POP
00002e76: POP
00002e77: POP
00002e78: POP
00002e79: JUMP
00002e7a: JUMPDEST
00002e7b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e90: DUP5
00002e91: AND
00002e92: DUP2
00002e93: MSTORE
00002e94: PUSH1 0x60
00002e96: PUSH1 0x20
00002e98: DUP3
00002e99: ADD
00002e9a: MSTORE
00002e9b: PUSH1 0x00
00002e9d: PUSH2 0x2ea9
00002ea0: PUSH1 0x60
00002ea2: DUP4
00002ea3: ADD
00002ea4: DUP6
00002ea5: PUSH2 0x2be5
00002ea8: JUMP
00002ea9: JUMPDEST
00002eaa: SWAP1
00002eab: POP
00002eac: PUSH4 0xffffffff
00002eb1: DUP4
00002eb2: AND
00002eb3: PUSH1 0x40
00002eb5: DUP4
00002eb6: ADD
00002eb7: MSTORE
00002eb8: SWAP5
00002eb9: SWAP4
00002eba: POP
00002ebb: POP
00002ebc: POP
00002ebd: POP
00002ebe: JUMP
00002ebf: JUMPDEST
00002ec0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ed5: DUP5
00002ed6: AND
00002ed7: DUP2
00002ed8: MSTORE
00002ed9: DUP3
00002eda: PUSH1 0x20
00002edc: DUP3
00002edd: ADD
00002ede: MSTORE
00002edf: PUSH1 0x60
00002ee1: PUSH1 0x40
00002ee3: DUP3
00002ee4: ADD
00002ee5: MSTORE
00002ee6: PUSH1 0x00
00002ee8: PUSH2 0x2ef4
00002eeb: PUSH1 0x60
00002eed: DUP4
00002eee: ADD
00002eef: DUP5
00002ef0: PUSH2 0x2be5
00002ef3: JUMP
00002ef4: JUMPDEST
00002ef5: SWAP6
00002ef6: SWAP5
00002ef7: POP
00002ef8: POP
00002ef9: POP
00002efa: POP
00002efb: POP
00002efc: JUMP
00002efd: JUMPDEST
00002efe: DUP3
00002eff: DUP2
00002f00: MSTORE
00002f01: PUSH1 0x40
00002f03: PUSH1 0x20
00002f05: DUP3
00002f06: ADD
00002f07: MSTORE
00002f08: PUSH1 0x00
00002f0a: PUSH2 0x2704
00002f0d: PUSH1 0x40
00002f0f: DUP4
00002f10: ADD
00002f11: DUP5
00002f12: PUSH2 0x2be5
00002f15: JUMP
00002f16: JUMPDEST
00002f17: PUSH1 0x00
00002f19: DUP3
00002f1a: NOT
00002f1b: DUP3
00002f1c: GT
00002f1d: ISZERO
00002f1e: PUSH2 0x2f29
00002f21: JUMPI
00002f22: PUSH2 0x2f29
00002f25: PUSH2 0x2dc9
00002f28: JUMP
00002f29: JUMPDEST
00002f2a: POP
00002f2b: ADD
00002f2c: SWAP1
00002f2d: JUMP
00002f2e: JUMPDEST
00002f2f: PUSH1 0x00
00002f31: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f46: DUP1
00002f47: DUP10
00002f48: AND
00002f49: DUP4
00002f4a: MSTORE
00002f4b: DUP1
00002f4c: DUP9
00002f4d: AND
00002f4e: PUSH1 0x20
00002f50: DUP5
00002f51: ADD
00002f52: MSTORE
00002f53: DUP1
00002f54: DUP8
00002f55: AND
00002f56: PUSH1 0x40
00002f58: DUP5
00002f59: ADD
00002f5a: MSTORE
00002f5b: DUP1
00002f5c: DUP7
00002f5d: AND
00002f5e: PUSH1 0x60
00002f60: DUP5
00002f61: ADD
00002f62: MSTORE
00002f63: POP
00002f64: DUP4
00002f65: PUSH1 0x80
00002f67: DUP4
00002f68: ADD
00002f69: MSTORE
00002f6a: PUSH1 0xc0
00002f6c: PUSH1 0xa0
00002f6e: DUP4
00002f6f: ADD
00002f70: MSTORE
00002f71: PUSH2 0x2f7d
00002f74: PUSH1 0xc0
00002f76: DUP4
00002f77: ADD
00002f78: DUP5
00002f79: PUSH2 0x2be5
00002f7c: JUMP
00002f7d: JUMPDEST
00002f7e: SWAP9
00002f7f: SWAP8
00002f80: POP
00002f81: POP
00002f82: POP
00002f83: POP
00002f84: POP
00002f85: POP
00002f86: POP
00002f87: POP
00002f88: JUMP
00002f89: JUMPDEST
00002f8a: PUSH1 0x00
00002f8c: DUP1
00002f8d: PUSH1 0x40
00002f8f: DUP4
00002f90: DUP6
00002f91: SUB
00002f92: SLT
00002f93: ISZERO
00002f94: PUSH2 0x2f9c
00002f97: JUMPI
00002f98: PUSH1 0x00
00002f9a: DUP1
00002f9b: REVERT
00002f9c: JUMPDEST
00002f9d: DUP3
00002f9e: MLOAD
00002f9f: PUSH2 0x2fa7
00002fa2: DUP2
00002fa3: PUSH2 0x295d
00002fa6: JUMP
00002fa7: JUMPDEST
00002fa8: PUSH1 0x20
00002faa: DUP5
00002fab: ADD
00002fac: MLOAD
00002fad: SWAP1
00002fae: SWAP3
00002faf: POP
00002fb0: PUSH1 0xff
00002fb2: DUP2
00002fb3: AND
00002fb4: DUP2
00002fb5: EQ
00002fb6: PUSH2 0x2cf3
00002fb9: JUMPI
00002fba: PUSH1 0x00
00002fbc: DUP1
00002fbd: REVERT
00002fbe: JUMPDEST
00002fbf: PUSH1 0x00
00002fc1: DUP3
00002fc2: MLOAD
00002fc3: PUSH2 0x2fd0
00002fc6: DUP2
00002fc7: DUP5
00002fc8: PUSH1 0x20
00002fca: DUP8
00002fcb: ADD
00002fcc: PUSH2 0x2bb9
00002fcf: JUMP
00002fd0: JUMPDEST
00002fd1: SWAP2
00002fd2: SWAP1
00002fd3: SWAP2
00002fd4: ADD
00002fd5: SWAP3
00002fd6: SWAP2
00002fd7: POP
00002fd8: POP
00002fd9: JUMP
00002fda: INVALID
00002fdb: LOG1
00002fdc: PUSH5 0x736f6c6343
00002fe2: STOP
00002fe3: ADDMOD
00002fe4: UNKNOWN(0x0F)
00002fe5: STOP
00002fe6: EXP

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xc0c53b8b",
            "selector": "0xc0c53b8b",
            "calldata_variants": [
                "0xc0c53b8b",
                "0xc0c53b8b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc89701a2",
            "selector": "0xc89701a2",
            "calldata_variants": [
                "0xc89701a2",
                "0xc89701a20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe11013dd",
            "selector": "0xe11013dd",
            "calldata_variants": [
                "0xe11013dd",
                "0xe11013dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9a2ac6d5",
            "selector": "0x9a2ac6d5",
            "calldata_variants": [
                "0x9a2ac6d5",
                "0x9a2ac6d50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa9f9e675",
            "selector": "0xa9f9e675",
            "calldata_variants": [
                "0xa9f9e675",
                "0xa9f9e6750000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb1a1a882",
            "selector": "0xb1a1a882",
            "calldata_variants": [
                "0xb1a1a882",
                "0xb1a1a8820000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8f601f66",
            "selector": "0x8f601f66",
            "calldata_variants": [
                "0x8f601f66",
                "0x8f601f660000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x91c49bf8",
            "selector": "0x91c49bf8",
            "calldata_variants": [
                "0x91c49bf8",
                "0x91c49bf80000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 1425,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x77597320ba051dd454b672eaa9190031d1a1560fbf5d44cd53346d4185704024
call_targets: 0x28841965b26d41304905a836da5c0921da7dbb84
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x77597320ba051dd454b672eaa9190031d1a1560fbf5d44cd53346d4185704024",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x28841965b26d41304905a836da5c0921da7dbb84"
    ],
    "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": "0xc0c53b8b",
            "selector": "0xc0c53b8b",
            "calldata_variants": [
                "0xc0c53b8b",
                "0xc0c53b8b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc89701a2",
            "selector": "0xc89701a2",
            "calldata_variants": [
                "0xc89701a2",
                "0xc89701a20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe11013dd",
            "selector": "0xe11013dd",
            "calldata_variants": [
                "0xe11013dd",
                "0xe11013dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9a2ac6d5",
            "selector": "0x9a2ac6d5",
            "calldata_variants": [
                "0x9a2ac6d5",
                "0x9a2ac6d50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa9f9e675",
            "selector": "0xa9f9e675",
            "calldata_variants": [
                "0xa9f9e675",
                "0xa9f9e6750000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb1a1a882",
            "selector": "0xb1a1a882",
            "calldata_variants": [
                "0xb1a1a882",
                "0xb1a1a8820000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8f601f66",
            "selector": "0x8f601f66",
            "calldata_variants": [
                "0x8f601f66",
                "0x8f601f660000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x91c49bf8",
            "selector": "0x91c49bf8",
            "calldata_variants": [
                "0x91c49bf8",
                "0x91c49bf80000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2319,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6342,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7304,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 6,
    "guards_detected": [
        {
            "pc": 1425,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 6
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x77597320ba051dd454b672eaa9190031d1a1560fbf5d44cd53346d4185704024
call_targets: 0x28841965b26d41304905a836da5c0921da7dbb84
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x77597320ba051dd454b672eaa9190031d1a1560fbf5d44cd53346d4185704024",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x28841965b26d41304905a836da5c0921da7dbb84"
    ],
    "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": "0xc0c53b8b",
            "selector": "0xc0c53b8b",
            "calldata_variants": [
                "0xc0c53b8b",
                "0xc0c53b8b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc89701a2",
            "selector": "0xc89701a2",
            "calldata_variants": [
                "0xc89701a2",
                "0xc89701a20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe11013dd",
            "selector": "0xe11013dd",
            "calldata_variants": [
                "0xe11013dd",
                "0xe11013dd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9a2ac6d5",
            "selector": "0x9a2ac6d5",
            "calldata_variants": [
                "0x9a2ac6d5",
                "0x9a2ac6d50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa9f9e675",
            "selector": "0xa9f9e675",
            "calldata_variants": [
                "0xa9f9e675",
                "0xa9f9e6750000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb1a1a882",
            "selector": "0xb1a1a882",
            "calldata_variants": [
                "0xb1a1a882",
                "0xb1a1a8820000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x8f601f66",
            "selector": "0x8f601f66",
            "calldata_variants": [
                "0x8f601f66",
                "0x8f601f660000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x91c49bf8",
            "selector": "0x91c49bf8",
            "calldata_variants": [
                "0x91c49bf8",
                "0x91c49bf80000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2319,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6342,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7304,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 6,
    "guards_detected": [
        {
            "pc": 1425,
            "type": "tx_origin_used"
        }
    ]
}
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": 8
}
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": 13
}