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

Analysis Run

019c0ea9-c986-7300-a119-1cc3848d4c55

failed
Chain ID
1
Address
Block Number
Created
Fri, Jan 30, 2026 11:28 AM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
42235 artifact.fetch complete 1 / 3 2 months ago
42236 proxy.resolve complete 1 / 3 2 months ago
42237 tool.cast_disasm complete 1 / 3 2 months ago
42238 analysis.bundle complete 1 / 3 2 months ago
42239 capability.graph complete 1 / 3 2 months ago
42240 detector.run complete 1 / 3 2 months ago
42241 validation.fork complete 1 / 3 2 months ago
42482 report.consolidate complete 1 / 6 2 months ago
42483 tool.slither failed 2 / 2 2 months ago

Artifact

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

Slither

tool.slither
Status
failed slither failed (exit 1): 'forge clean' running (wd: /tmp/slither-vcd167jp) 'forge config --json' running 'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-vcd167jp) 'forge' returned non-zero exit code 1 Error: Encountered invalid solc version in lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol: No solc version exists that matches the version requirement: ^0.8.20 Traceback (most recent call last): File "/var/www/tripwire/.venv/bin/slither", line 10, in <module> sys.exit(main()) ~~~~^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 776, in main main_impl(all_detector_classes=detectors, all_printer_classes=printers) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 882, in main_impl ) = process_all(filename, args, detector_classes, printer_classes) ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 96, in process_all compilations = compile_all(target, **vars(args)) File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 722, in compile_all compilations.append(CryticCompile(target, **kwargs)) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 211, in __init__ self._compile(**kwargs) ~~~~~~~~~~~~~^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 633, in _compile self._platform.compile(self, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/foundry.py", line 102, in compile hardhat_like_parsing( ~~~~~~~~~~~~~~~~~~~~^ crytic_compile, str(self._target), build_directory, str(self._project_root) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/hardhat.py", line 52, in hardhat_like_parsing raise InvalidCompilation(txt) crytic_compile.platform.exceptions.InvalidCompilation: Compilation failed. Can you run build command? /tmp/slither-vcd167jp/out/build-info is not a directory.
Attempts
2 / 2
Findings
0
Solc
View stderr
Traceback (most recent call last):
  File "/var/www/tripwire/worker/worker.py", line 198, in main
    payload = dispatch_job(job_type, job_id, job_meta, run_data, config, laravel_client)
  File "/var/www/tripwire/worker/worker.py", line 114, in dispatch_job
    return slither_run.run(job_id, job_meta, run_data, config, log, laravel_client)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/worker/jobs/slither_run.py", line 1084, in run
    stdout_text, stderr_text, result_json = _run_slither(
                                            ~~~~~~~~~~~~^
        workspace,
        ^^^^^^^^^^
    ...<4 lines>...
        target_path=target_path,
        ^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/var/www/tripwire/worker/jobs/slither_run.py", line 958, in _run_slither
    raise RuntimeError(f"slither failed (exit {result.returncode}): {stderr_text or stdout_text}")
RuntimeError: slither failed (exit 1): 'forge clean' running (wd: /tmp/slither-vcd167jp)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-vcd167jp)
'forge' returned non-zero exit code 1
Error: Encountered invalid solc version in lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol: No solc version exists that matches the version requirement: ^0.8.20
Traceback (most recent call last):
  File "/var/www/tripwire/.venv/bin/slither", line 10, in <module>
    sys.exit(main())
             ~~~~^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 776, in main
    main_impl(all_detector_classes=detectors, all_printer_classes=printers)
    ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 882, in main_impl
    ) = process_all(filename, args, detector_classes, printer_classes)
        ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 96, in process_all
    compilations = compile_all(target, **vars(args))
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 722, in compile_all
    compilations.append(CryticCompile(target, **kwargs))
                        ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 211, in __init__
    self._compile(**kwargs)
    ~~~~~~~~~~~~~^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 633, in _compile
    self._platform.compile(self, **kwargs)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/foundry.py", line 102, in compile
    hardhat_like_parsing(
    ~~~~~~~~~~~~~~~~~~~~^
        crytic_compile, str(self._target), build_directory, str(self._project_root)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/hardhat.py", line 52, in hardhat_like_parsing
    raise InvalidCompilation(txt)
crytic_compile.platform.exceptions.InvalidCompilation: Compilation failed. Can you run build command?
/tmp/slither-vcd167jp/out/build-info is not a directory.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
1
No findings?
no
Summary
Unprotected initializer allows any first caller to configure L2 bridge/governor on a proxy deployment, which can be used to take over the bridge if initialization is not atomic.
View stdout
{"no_findings":false,"summary":"Unprotected initializer allows any first caller to configure L2 bridge/governor on a proxy deployment, which can be used to take over the bridge if initialization is not atomic.","findings":[{"severity":"high","category":"upgradeability","title":"Initializer callable by anyone enables hostile bridge configuration","exploit_scenario":"If the proxy is deployed without immediately calling initialize in the same transaction, an attacker can front‑run and call initialize first. They choose their own _governor, _l2TokenBeacon, and L2 bridge bytecode hashes, resulting in an L2 bridge they control. With control of the L2 bridge, they can craft L2->L1 withdrawal messages that pass inclusion proofs and drain ERC20 balances held by the L1 bridge.","recommendation":"Restrict initialize to a trusted deployer/admin (e.g., onlyOwner/onlyProxyAdmin) or ensure the proxy is deployed with atomic initialization data. Consider using OpenZeppelin’s initializer pattern with an admin check or deploying via a factory that immediately initializes.","evidence":"initialize is external and only gated by reentrancyGuardInitializer; there is no access control on who can call it.","locations":["contracts/zksync/l1-contracts/bridge/L1ERC20Bridge.sol:82"]}]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-3ajag4d7
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019c0f9d-9dfc-7e30-bbfb-e44a443e1b59
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.

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

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

Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-3ajag4d7 succeeded in 6ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.

================================================================================
FILE: contracts/zksync/l1-contracts/bridge/L1ERC20Bridge.sol
================================================================================
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";

import {IL1BridgeLegacy} from "./interfaces/IL1BridgeLegacy.sol";
import {IL1Bridge} from "./interfaces/IL1Bridge.sol";
import {IL2Bridge} from "./interfaces/IL2Bridge.sol";
import {IL2ERC20Bridge} from "./interfaces/IL2ERC20Bridge.sol";

import {BridgeInitializationHelper} from "./libraries/BridgeInitializationHelper.sol";
exec
/bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-3ajag4d7 succeeded in 13ms:
5:FILE: contracts/zksync/l1-contracts/bridge/L1ERC20Bridge.sol
436:FILE: contracts/zksync/l1-contracts/bridge/interfaces/IL1Bridge.sol
511:FILE: contracts/zksync/l1-contracts/bridge/interfaces/IL1BridgeLegacy.sol
531:FILE: contracts/zksync/l1-contracts/bridge/interfaces/IL2Bridge.sol
565:FILE: contracts/zksync/l1-contracts/bridge/interfaces/IL2ERC20Bridge.sol
577:FILE: contracts/zksync/l1-contracts/bridge/libraries/BridgeInitializationHelper.sol
640:FILE: contracts/zksync/l1-contracts/common/L2ContractAddresses.sol
674:FILE: contracts/zksync/l1-contracts/common/ReentrancyGuard.sol
768:FILE: contracts/zksync/l1-contracts/common/interfaces/IL2ContractDeployer.sol
804:FILE: contracts/zksync/l1-contracts/common/libraries/L2ContractHelper.sol
885:FILE: contracts/zksync/l1-contracts/common/libraries/UnsafeBytes.sol
963:FILE: contracts/zksync/l1-contracts/vendor/AddressAliasHelper.sol
1010:FILE: contracts/zksync/l1-contracts/zksync/Storage.sol
1080:FILE: contracts/zksync/l1-contracts/zksync/interfaces/IMailbox.sol
exec
/bin/bash -lc "sed -n '1,220p' AUDIT_BUNDLE.txt" in /tmp/codex-3ajag4d7 succeeded in 6ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.

================================================================================
FILE: contracts/zksync/l1-contracts/bridge/L1ERC20Bridge.sol
================================================================================
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";

import {IL1BridgeLegacy} from "./interfaces/IL1BridgeLegacy.sol";
import {IL1Bridge} from "./interfaces/IL1Bridge.sol";
import {IL2Bridge} from "./interfaces/IL2Bridge.sol";
import {IL2ERC20Bridge} from "./interfaces/IL2ERC20Bridge.sol";

import {BridgeInitializationHelper} from "./libraries/BridgeInitializationHelper.sol";
exec
/bin/bash -lc "sed -n '220,520p' AUDIT_BUNDLE.txt" in /tmp/codex-3ajag4d7 succeeded in 6ms:
    /// @param _amount The total amount of tokens to be bridged
    /// @param _l2TxGasLimit The L2 gas limit to be used in the corresponding L2 transaction
    /// @param _l2TxGasPerPubdataByte The gasPerPubdataByteLimit to be used in the corresponding L2 transaction
    /// @param _refundRecipient The address on L2 that will receive the refund for the transaction.
    /// @dev If the L2 deposit finalization transaction fails, the `_refundRecipient` will receive the `_l2Value`.
    /// Please note, the contract may change the refund recipient's address to eliminate sending funds to addresses
    /// out of control.
    /// - If `_refundRecipient` is a contract on L1, the refund will be sent to the aliased `_refundRecipient`.
    /// - If `_refundRecipient` is set to `address(0)` and the sender has NO deployed bytecode on L1, the refund will
    /// be sent to the `msg.sender` address.
    /// - If `_refundRecipient` is set to `address(0)` and the sender has deployed bytecode on L1, the refund will be
    /// sent to the aliased `msg.sender` address.
    /// @dev The address aliasing of L1 contracts as refund recipient on L2 is necessary to guarantee that the funds
    /// are controllable through the Mailbox, since the Mailbox applies address aliasing to the from address for the
    /// L2 tx if the L1 msg.sender is a contract. Without address aliasing for L1 contracts as refund recipients they
    /// would not be able to make proper L2 tx requests through the Mailbox to use or withdraw the funds from L2, and
    /// the funds would be lost.
    /// @return l2TxHash The L2 transaction hash of depositToMerge finalization
    function depositToMerge(
        address _l2Receiver,
exec
/bin/bash -lc "sed -n '520,900p' AUDIT_BUNDLE.txt" in /tmp/codex-3ajag4d7 succeeded in 6ms:
interface IL1BridgeLegacy {
    function deposit(
        address _l2Receiver,
        address _l1Token,
        uint256 _amount,
        uint256 _l2TxGasLimit,
        uint256 _l2TxGasPerPubdataByte
    ) external payable returns (bytes32 txHash);
}

================================================================================
FILE: contracts/zksync/l1-contracts/bridge/interfaces/IL2Bridge.sol
================================================================================
// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

/// @author Matter Labs
interface IL2Bridge {
    function finalizeDeposit(
exec
/bin/bash -lc "sed -n '900,1258p' AUDIT_BUNDLE.txt" in /tmp/codex-3ajag4d7 succeeded in 6ms:
 *
 * 2) Read variables are not cleaned up - https://docs.soliditylang.org/en/v0.8.16/internals/variable_cleanup.html.
 * Using data in inline assembly can lead to unexpected behavior!
 */
library UnsafeBytes {
    function readUint32(bytes memory _bytes, uint256 _start) internal pure returns (uint32 result, uint256 offset) {
        assembly {
            offset := add(_start, 4)
            result := mload(add(_bytes, offset))
        }
    }

    function readAddress(bytes memory _bytes, uint256 _start) internal pure returns (address result, uint256 offset) {
        assembly {
            offset := add(_start, 20)
            result := mload(add(_bytes, offset))
        }
    }

    function readUint256(bytes memory _bytes, uint256 _start) internal pure returns (uint256 result, uint256 offset) {
exec
/bin/bash -lc "nl -ba contracts/zksync/l1-contracts/bridge/L1ERC20Bridge.sol | sed -n '40,140p'" in /tmp/codex-3ajag4d7 succeeded in 7ms:
    40	    /// @dev Used for saving the number of deposited funds, to claim them in case the deposit transaction will fail
    41	    mapping(address account => mapping(address l1Token => mapping(bytes32 depositL2TxHash => uint256 amount)))
    42	        internal depositAmount;
    43	
    44	    /// @dev The address of deployed L2 bridge counterpart
    45	    address public l2Bridge;
    46	
    47	    /// @dev The address that acts as a beacon for L2 tokens
    48	    address public l2TokenBeacon;
    49	
    50	    /// @dev The bytecode hash of the L2 token contract
    51	    bytes32 public l2TokenProxyBytecodeHash;
    52	
    53	    mapping(address => uint256) private __DEPRECATED_lastWithdrawalLimitReset;
    54	
    55	    /// @dev A mapping L1 token address => the accumulated withdrawn amount during the withdrawal limit window
    56	    mapping(address => uint256) private __DEPRECATED_withdrawnAmountInWindow;
    57	
    58	    /// @dev The accumulated deposited amount per user.
    59	    /// @dev A mapping L1 token address => user address => the total deposited amount by the user
codex
{"no_findings":false,"summary":"Unprotected initializer allows any first caller to configure L2 bridge/governor on a proxy deployment, which can be used to take over the bridge if initialization is not atomic.","findings":[{"severity":"high","category":"upgradeability","title":"Initializer callable by anyone enables hostile bridge configuration","exploit_scenario":"If the proxy is deployed without immediately calling initialize in the same transaction, an attacker can front‑run and call initialize first. They choose their own _governor, _l2TokenBeacon, and L2 bridge bytecode hashes, resulting in an L2 bridge they control. With control of the L2 bridge, they can craft L2->L1 withdrawal messages that pass inclusion proofs and drain ERC20 balances held by the L1 bridge.","recommendation":"Restrict initialize to a trusted deployer/admin (e.g., onlyOwner/onlyProxyAdmin) or ensure the proxy is deployed with atomic initialization data. Consider using OpenZeppelin’s initializer pattern with an admin check or deploying via a factory that immediately initializes.","evidence":"initialize is external and only gated by reentrancyGuardInitializer; there is no access control on who can call it.","locations":["contracts/zksync/l1-contracts/bridge/L1ERC20Bridge.sol:82"]}]}
tokens used
39,216
Metadata
{
    "codex": {
        "ran_at": "2026-01-30T15:57:41.327368+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 19,
        "import_count": 23,
        "first_party_contracts_count": 14
    },
    "summary": "Unprotected initializer allows any first caller to configure L2 bridge/governor on a proxy deployment, which can be used to take over the bridge if initialization is not atomic.",
    "raw_final": {
        "summary": "Unprotected initializer allows any first caller to configure L2 bridge/governor on a proxy deployment, which can be used to take over the bridge if initialization is not atomic.",
        "findings": [
            {
                "title": "Initializer callable by anyone enables hostile bridge configuration",
                "category": "upgradeability",
                "evidence": "initialize is external and only gated by reentrancyGuardInitializer; there is no access control on who can call it.",
                "severity": "high",
                "locations": [
                    "contracts/zksync/l1-contracts/bridge/L1ERC20Bridge.sol:82"
                ],
                "recommendation": "Restrict initialize to a trusted deployer/admin (e.g., onlyOwner/onlyProxyAdmin) or ensure the proxy is deployed with atomic initialization data. Consider using OpenZeppelin\u2019s initializer pattern with an admin check or deploying via a factory that immediately initializes.",
                "exploit_scenario": "If the proxy is deployed without immediately calling initialize in the same transaction, an attacker can front\u2011run and call initialize first. They choose their own _governor, _l2TokenBeacon, and L2 bridge bytecode hashes, resulting in an L2 bridge they control. With control of the L2 bridge, they can craft L2->L1 withdrawal messages that pass inclusion proofs and drain ERC20 balances held by the L1 bridge."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
14
EXT*/BALANCE
1
Total opcodes
4996
Flags
call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: ISZERO
0000000a: PUSH2 0x0012
0000000d: JUMPI
0000000e: PUSH1 0x00
00000010: DUP1
00000011: REVERT
00000012: JUMPDEST
00000013: PUSH1 0x00
00000015: CALLDATALOAD
00000016: PUSH1 0xe0
00000018: SHR
00000019: DUP1
0000001a: PUSH4 0x11a2ccc1
0000001f: EQ
00000020: PUSH2 0x00c7
00000023: JUMPI
00000024: DUP1
00000025: PUSH4 0x14490720
0000002a: EQ
0000002b: PUSH2 0x00c2
0000002e: JUMPI
0000002f: DUP1
00000030: PUSH4 0x19fa7f62
00000035: EQ
00000036: PUSH2 0x00bd
00000039: JUMPI
0000003a: DUP1
0000003b: PUSH4 0x4bed8212
00000040: EQ
00000041: PUSH2 0x00b8
00000044: JUMPI
00000045: DUP1
00000046: PUSH4 0x66550c4e
0000004b: EQ
0000004c: PUSH2 0x00b3
0000004f: JUMPI
00000050: DUP1
00000051: PUSH4 0x6dde7209
00000056: EQ
00000057: PUSH2 0x00ae
0000005a: JUMPI
0000005b: DUP1
0000005c: PUSH4 0x823f1d96
00000061: EQ
00000062: PUSH2 0x00a9
00000065: JUMPI
00000066: DUP1
00000067: PUSH4 0x933999fb
0000006c: EQ
0000006d: PUSH2 0x00a4
00000070: JUMPI
00000071: DUP1
00000072: PUSH4 0xae1f6aaf
00000077: EQ
00000078: PUSH2 0x009f
0000007b: JUMPI
0000007c: DUP1
0000007d: PUSH4 0xe8b99b1b
00000082: EQ
00000083: PUSH2 0x009a
00000086: JUMPI
00000087: PUSH4 0xf5f15168
0000008c: EQ
0000008d: PUSH2 0x0095
00000090: JUMPI
00000091: PUSH1 0x00
00000093: DUP1
00000094: REVERT
00000095: JUMPDEST
00000096: PUSH2 0x0b70
00000099: JUMP
0000009a: JUMPDEST
0000009b: PUSH2 0x0ac5
0000009e: JUMP
0000009f: JUMPDEST
000000a0: PUSH2 0x0a9c
000000a3: JUMP
000000a4: JUMPDEST
000000a5: PUSH2 0x08d4
000000a8: JUMP
000000a9: JUMPDEST
000000aa: PUSH2 0x08b6
000000ad: JUMP
000000ae: JUMPDEST
000000af: PUSH2 0x088d
000000b2: JUMP
000000b3: JUMPDEST
000000b4: PUSH2 0x06a6
000000b7: JUMP
000000b8: JUMPDEST
000000b9: PUSH2 0x061d
000000bc: JUMP
000000bd: JUMPDEST
000000be: PUSH2 0x0442
000000c1: JUMP
000000c2: JUMPDEST
000000c3: PUSH2 0x01e8
000000c6: JUMP
000000c7: JUMPDEST
000000c8: PUSH2 0x0112
000000cb: JUMP
000000cc: JUMPDEST
000000cd: PUSH1 0x44
000000cf: CALLDATALOAD
000000d0: SWAP1
000000d1: PUSH2 0xffff
000000d4: DUP3
000000d5: AND
000000d6: DUP3
000000d7: SUB
000000d8: PUSH2 0x00dd
000000db: JUMPI
000000dc: JUMP
000000dd: JUMPDEST
000000de: PUSH1 0x00
000000e0: DUP1
000000e1: REVERT
000000e2: JUMPDEST
000000e3: SWAP2
000000e4: DUP2
000000e5: PUSH1 0x1f
000000e7: DUP5
000000e8: ADD
000000e9: SLT
000000ea: ISZERO
000000eb: PUSH2 0x00dd
000000ee: JUMPI
000000ef: DUP3
000000f0: CALLDATALOAD
000000f1: SWAP2
000000f2: PUSH1 0x01
000000f4: PUSH1 0x01
000000f6: PUSH1 0x40
000000f8: SHL
000000f9: SUB
000000fa: DUP4
000000fb: GT
000000fc: PUSH2 0x00dd
000000ff: JUMPI
00000100: PUSH1 0x20
00000102: DUP1
00000103: DUP6
00000104: ADD
00000105: SWAP5
00000106: DUP5
00000107: PUSH1 0x05
00000109: SHL
0000010a: ADD
0000010b: ADD
0000010c: GT
0000010d: PUSH2 0x00dd
00000110: JUMPI
00000111: JUMP
00000112: JUMPDEST
00000113: CALLVALUE
00000114: PUSH2 0x00dd
00000117: JUMPI
00000118: PUSH1 0xa0
0000011a: CALLDATASIZE
0000011b: PUSH1 0x03
0000011d: NOT
0000011e: ADD
0000011f: SLT
00000120: PUSH2 0x00dd
00000123: JUMPI
00000124: PUSH2 0x012b
00000127: PUSH2 0x00cc
0000012a: JUMP
0000012b: JUMPDEST
0000012c: PUSH1 0x01
0000012e: PUSH1 0x01
00000130: PUSH1 0x40
00000132: SHL
00000133: SUB
00000134: PUSH1 0x64
00000136: CALLDATALOAD
00000137: DUP2
00000138: DUP2
00000139: GT
0000013a: PUSH2 0x00dd
0000013d: JUMPI
0000013e: CALLDATASIZE
0000013f: PUSH1 0x23
00000141: DUP3
00000142: ADD
00000143: SLT
00000144: ISZERO
00000145: PUSH2 0x00dd
00000148: JUMPI
00000149: DUP1
0000014a: PUSH1 0x04
0000014c: ADD
0000014d: CALLDATALOAD
0000014e: DUP3
0000014f: DUP2
00000150: GT
00000151: PUSH2 0x00dd
00000154: JUMPI
00000155: CALLDATASIZE
00000156: PUSH1 0x24
00000158: DUP3
00000159: DUP5
0000015a: ADD
0000015b: ADD
0000015c: GT
0000015d: PUSH2 0x00dd
00000160: JUMPI
00000161: PUSH1 0x84
00000163: CALLDATALOAD
00000164: SWAP3
00000165: DUP4
00000166: GT
00000167: PUSH2 0x00dd
0000016a: JUMPI
0000016b: PUSH2 0x018e
0000016e: SWAP4
0000016f: PUSH2 0x017e
00000172: PUSH1 0x24
00000174: SWAP5
00000175: CALLDATASIZE
00000176: SWAP1
00000177: PUSH1 0x04
00000179: ADD
0000017a: PUSH2 0x00e2
0000017d: JUMP
0000017e: JUMPDEST
0000017f: SWAP5
00000180: SWAP1
00000181: SWAP4
00000182: ADD
00000183: SWAP1
00000184: PUSH1 0x24
00000186: CALLDATALOAD
00000187: PUSH1 0x04
00000189: CALLDATALOAD
0000018a: PUSH2 0x189d
0000018d: JUMP
0000018e: JUMPDEST
0000018f: STOP
00000190: JUMPDEST
00000191: PUSH1 0x44
00000193: CALLDATALOAD
00000194: SWAP1
00000195: PUSH1 0x01
00000197: PUSH1 0x01
00000199: PUSH1 0xa0
0000019b: SHL
0000019c: SUB
0000019d: DUP3
0000019e: AND
0000019f: DUP3
000001a0: SUB
000001a1: PUSH2 0x00dd
000001a4: JUMPI
000001a5: JUMP
000001a6: JUMPDEST
000001a7: PUSH1 0x64
000001a9: CALLDATALOAD
000001aa: SWAP1
000001ab: PUSH1 0x01
000001ad: PUSH1 0x01
000001af: PUSH1 0xa0
000001b1: SHL
000001b2: SUB
000001b3: DUP3
000001b4: AND
000001b5: DUP3
000001b6: SUB
000001b7: PUSH2 0x00dd
000001ba: JUMPI
000001bb: JUMP
000001bc: JUMPDEST
000001bd: PUSH1 0x04
000001bf: CALLDATALOAD
000001c0: SWAP1
000001c1: PUSH1 0x01
000001c3: PUSH1 0x01
000001c5: PUSH1 0xa0
000001c7: SHL
000001c8: SUB
000001c9: DUP3
000001ca: AND
000001cb: DUP3
000001cc: SUB
000001cd: PUSH2 0x00dd
000001d0: JUMPI
000001d1: JUMP
000001d2: JUMPDEST
000001d3: PUSH1 0x24
000001d5: CALLDATALOAD
000001d6: SWAP1
000001d7: PUSH1 0x01
000001d9: PUSH1 0x01
000001db: PUSH1 0xa0
000001dd: SHL
000001de: SUB
000001df: DUP3
000001e0: AND
000001e1: DUP3
000001e2: SUB
000001e3: PUSH2 0x00dd
000001e6: JUMPI
000001e7: JUMP
000001e8: JUMPDEST
000001e9: PUSH1 0xc0
000001eb: CALLDATASIZE
000001ec: PUSH1 0x03
000001ee: NOT
000001ef: ADD
000001f0: SLT
000001f1: PUSH2 0x00dd
000001f4: JUMPI
000001f5: PUSH1 0x01
000001f7: PUSH1 0x01
000001f9: PUSH1 0x40
000001fb: SHL
000001fc: SUB
000001fd: PUSH1 0x04
000001ff: CALLDATALOAD
00000200: DUP2
00000201: DUP2
00000202: GT
00000203: PUSH2 0x00dd
00000206: JUMPI
00000207: PUSH2 0x0214
0000020a: SWAP1
0000020b: CALLDATASIZE
0000020c: SWAP1
0000020d: PUSH1 0x04
0000020f: ADD
00000210: PUSH2 0x00e2
00000213: JUMP
00000214: JUMPDEST
00000215: SWAP2
00000216: PUSH1 0x24
00000218: CALLDATALOAD
00000219: SWAP1
0000021a: DUP2
0000021b: GT
0000021c: PUSH2 0x00dd
0000021f: JUMPI
00000220: PUSH2 0x022d
00000223: SWAP1
00000224: CALLDATASIZE
00000225: SWAP1
00000226: PUSH1 0x04
00000228: ADD
00000229: PUSH2 0x00e2
0000022c: JUMP
0000022d: JUMPDEST
0000022e: SWAP2
0000022f: SWAP1
00000230: PUSH2 0x0237
00000233: PUSH2 0x0190
00000236: JUMP
00000237: JUMPDEST
00000238: SWAP4
00000239: PUSH2 0x0240
0000023c: PUSH2 0x01a6
0000023f: JUMP
00000240: JUMPDEST
00000241: SWAP2
00000242: PUSH1 0x84
00000244: CALLDATALOAD
00000245: SWAP5
00000246: PUSH1 0xa4
00000248: CALLDATALOAD
00000249: SWAP2
0000024a: PUSH1 0x00
0000024c: DUP1
0000024d: MLOAD
0000024e: PUSH1 0x20
00000250: PUSH2 0x1dad
00000253: DUP4
00000254: CODECOPY
00000255: DUP2
00000256: MLOAD
00000257: SWAP2
00000258: MSTORE
00000259: PUSH1 0x01
0000025b: DUP2
0000025c: SLOAD
0000025d: SWAP2
0000025e: SSTORE
0000025f: PUSH2 0x0418
00000262: JUMPI
00000263: PUSH2 0x0382
00000266: DUP8
00000267: DUP6
00000268: PUSH2 0x0345
0000026b: DUP9
0000026c: SWAP5
0000026d: PUSH2 0x02f8
00000270: PUSH2 0x03e8
00000273: SWAP8
00000274: PUSH2 0x033d
00000277: PUSH2 0x018e
0000027a: SWAP16
0000027b: SWAP12
0000027c: PUSH2 0x03f6
0000027f: SWAP16
00000280: DUP16
00000281: SWAP14
00000282: DUP3
00000283: DUP16
00000284: DUP16
00000285: PUSH2 0x032b
00000288: SWAP4
00000289: DUP16
0000028a: PUSH2 0x02d4
0000028d: PUSH2 0x0326
00000290: SWAP4
00000291: PUSH2 0x0337
00000294: SWAP9
00000295: PUSH2 0x02b8
00000298: PUSH2 0x02db
0000029b: SWAP5
0000029c: PUSH1 0x01
0000029e: DUP1
0000029f: PUSH1 0xa0
000002a1: SHL
000002a2: SUB
000002a3: SWAP1
000002a4: PUSH2 0x02b0
000002a7: DUP3
000002a8: DUP10
000002a9: AND
000002aa: ISZERO
000002ab: ISZERO
000002ac: PUSH2 0x0c38
000002af: JUMP
000002b0: JUMPDEST
000002b1: AND
000002b2: ISZERO
000002b3: ISZERO
000002b4: PUSH2 0x0c69
000002b7: JUMP
000002b8: JUMPDEST
000002b9: PUSH2 0x02c4
000002bc: PUSH1 0x03
000002be: DUP10
000002bf: EQ
000002c0: PUSH2 0x0c9a
000002c3: JUMP
000002c4: JUMPDEST
000002c5: PUSH2 0x02cf
000002c8: DUP14
000002c9: DUP10
000002ca: EQ
000002cb: PUSH2 0x0ccb
000002ce: JUMP
000002cf: JUMPDEST
000002d0: PUSH2 0x0d12
000002d3: JUMP
000002d4: JUMPDEST
000002d5: CALLVALUE
000002d6: EQ
000002d7: PUSH2 0x0d24
000002da: JUMP
000002db: JUMPDEST
000002dc: PUSH2 0x0304
000002df: PUSH2 0x02ff
000002e2: DUP13
000002e3: PUSH2 0x02f8
000002e6: DUP13
000002e7: PUSH2 0x02f0
000002ea: DUP10
000002eb: DUP10
000002ec: PUSH2 0x0d6c
000002ef: JUMP
000002f0: JUMPDEST
000002f1: SWAP4
000002f2: SWAP1
000002f3: POP
000002f4: PUSH2 0x0e2b
000002f7: JUMP
000002f8: JUMPDEST
000002f9: CALLDATALOAD
000002fa: SWAP1
000002fb: PUSH2 0x1cae
000002fe: JUMP
000002ff: JUMPDEST
00000300: PUSH1 0x04
00000302: SSTORE
00000303: JUMP
00000304: JUMPDEST
00000305: PUSH1 0x01
00000307: DUP1
00000308: PUSH1 0xa0
0000030a: SHL
0000030b: SUB
0000030c: AND
0000030d: PUSH12 0xffffffffffffffffffffffff
0000031a: PUSH1 0xa0
0000031c: SHL
0000031d: PUSH1 0x03
0000031f: SLOAD
00000320: AND
00000321: OR
00000322: PUSH1 0x03
00000324: SSTORE
00000325: JUMP
00000326: JUMPDEST
00000327: PUSH2 0x0db1
0000032a: JUMP
0000032b: JUMPDEST
0000032c: SWAP1
0000032d: POP
0000032e: PUSH2 0x02f8
00000331: DUP6
00000332: DUP9
00000333: PUSH2 0x0e3a
00000336: JUMP
00000337: JUMPDEST
00000338: SWAP13
00000339: PUSH2 0x0deb
0000033c: JUMP
0000033d: JUMPDEST
0000033e: SWAP4
0000033f: SWAP1
00000340: POP
00000341: PUSH2 0x0e43
00000344: JUMP
00000345: JUMPDEST
00000346: SWAP7
00000347: PUSH2 0x037b
0000034a: PUSH32 0x0000000000000000000000005fd9f73286b7e8683bab45019c94553b93e015cf
0000036b: SWAP11
0000036c: PUSH2 0x0373
0000036f: PUSH2 0x0f34
00000372: JUMP
00000373: JUMPDEST
00000374: SWAP4
00000375: CALLDATASIZE
00000376: SWAP2
00000377: PUSH2 0x0f7e
0000037a: JUMP
0000037b: JUMPDEST
0000037c: SWAP3
0000037d: DUP11
0000037e: PUSH2 0x1bcb
00000381: JUMP
00000382: JUMPDEST
00000383: PUSH1 0x04
00000385: SLOAD
00000386: PUSH1 0x40
00000388: MLOAD
00000389: PUSH4 0x69359f37
0000038e: PUSH1 0xe1
00000390: SHL
00000391: PUSH1 0x20
00000393: DUP3
00000394: ADD
00000395: MSTORE
00000396: ADDRESS
00000397: PUSH1 0x24
00000399: DUP3
0000039a: ADD
0000039b: MSTORE
0000039c: PUSH1 0x44
0000039e: DUP2
0000039f: ADD
000003a0: SWAP2
000003a1: SWAP1
000003a2: SWAP2
000003a3: MSTORE
000003a4: PUSH1 0x01
000003a6: PUSH1 0x01
000003a8: PUSH1 0xa0
000003aa: SHL
000003ab: SUB
000003ac: SWAP3
000003ad: SWAP1
000003ae: SWAP3
000003af: AND
000003b0: PUSH1 0x64
000003b2: DUP1
000003b3: DUP5
000003b4: ADD
000003b5: SWAP2
000003b6: SWAP1
000003b7: SWAP2
000003b8: MSTORE
000003b9: DUP3
000003ba: MSTORE
000003bb: PUSH1 0x1f
000003bd: NOT
000003be: SWAP2
000003bf: PUSH2 0x03dc
000003c2: SWAP1
000003c3: PUSH2 0x03cd
000003c6: PUSH1 0x84
000003c8: DUP3
000003c9: PUSH2 0x0ed9
000003cc: JUMP
000003cd: JUMPDEST
000003ce: PUSH1 0x40
000003d0: MLOAD
000003d1: SWAP8
000003d2: DUP9
000003d3: SWAP4
000003d4: PUSH1 0x20
000003d6: DUP6
000003d7: ADD
000003d8: PUSH2 0x1040
000003db: JUMP
000003dc: JUMPDEST
000003dd: SUB
000003de: SWAP1
000003df: DUP2
000003e0: ADD
000003e1: DUP6
000003e2: MSTORE
000003e3: DUP5
000003e4: PUSH2 0x0ed9
000003e7: JUMP
000003e8: JUMPDEST
000003e9: PUSH2 0x03f0
000003ec: PUSH2 0x106c
000003ef: JUMP
000003f0: JUMPDEST
000003f1: SWAP4
000003f2: PUSH2 0x1bcb
000003f5: JUMP
000003f6: JUMPDEST
000003f7: PUSH1 0x01
000003f9: DUP1
000003fa: PUSH1 0xa0
000003fc: SHL
000003fd: SUB
000003fe: AND
000003ff: PUSH12 0xffffffffffffffffffffffff
0000040c: PUSH1 0xa0
0000040e: SHL
0000040f: PUSH1 0x02
00000411: SLOAD
00000412: AND
00000413: OR
00000414: PUSH1 0x02
00000416: SSTORE
00000417: JUMP
00000418: JUMPDEST
00000419: PUSH1 0x40
0000041b: MLOAD
0000041c: PUSH3 0x461bcd
00000420: PUSH1 0xe5
00000422: SHL
00000423: DUP2
00000424: MSTORE
00000425: PUSH1 0x20
00000427: PUSH1 0x04
00000429: DUP3
0000042a: ADD
0000042b: MSTORE
0000042c: PUSH1 0x02
0000042e: PUSH1 0x24
00000430: DUP3
00000431: ADD
00000432: MSTORE
00000433: PUSH2 0x18a1
00000436: PUSH1 0xf1
00000438: SHL
00000439: PUSH1 0x44
0000043b: DUP3
0000043c: ADD
0000043d: MSTORE
0000043e: PUSH1 0x64
00000440: SWAP1
00000441: REVERT
00000442: JUMPDEST
00000443: CALLVALUE
00000444: PUSH2 0x00dd
00000447: JUMPI
00000448: PUSH1 0xe0
0000044a: CALLDATASIZE
0000044b: PUSH1 0x03
0000044d: NOT
0000044e: ADD
0000044f: SLT
00000450: PUSH2 0x00dd
00000453: JUMPI
00000454: PUSH2 0x045b
00000457: PUSH2 0x01bc
0000045a: JUMP
0000045b: JUMPDEST
0000045c: PUSH2 0x0463
0000045f: PUSH2 0x01d2
00000462: JUMP
00000463: JUMPDEST
00000464: SWAP1
00000465: PUSH1 0xa4
00000467: CALLDATALOAD
00000468: SWAP1
00000469: PUSH1 0x44
0000046b: CALLDATALOAD
0000046c: PUSH2 0xffff
0000046f: DUP4
00000470: AND
00000471: DUP4
00000472: SUB
00000473: PUSH2 0x00dd
00000476: JUMPI
00000477: PUSH1 0xc4
00000479: CALLDATALOAD
0000047a: PUSH1 0x01
0000047c: PUSH1 0x01
0000047e: PUSH1 0x40
00000480: SHL
00000481: SUB
00000482: DUP2
00000483: GT
00000484: PUSH2 0x00dd
00000487: JUMPI
00000488: PUSH2 0x0495
0000048b: SWAP1
0000048c: CALLDATASIZE
0000048d: SWAP1
0000048e: PUSH1 0x04
00000490: ADD
00000491: PUSH2 0x00e2
00000494: JUMP
00000495: JUMPDEST
00000496: SWAP4
00000497: PUSH2 0x04da
0000049a: PUSH1 0x00
0000049c: DUP1
0000049d: MLOAD
0000049e: PUSH1 0x20
000004a0: PUSH2 0x1dad
000004a3: DUP4
000004a4: CODECOPY
000004a5: DUP2
000004a6: MLOAD
000004a7: SWAP2
000004a8: MSTORE
000004a9: SWAP6
000004aa: PUSH2 0x04b6
000004ad: PUSH1 0x01
000004af: DUP9
000004b0: SLOAD
000004b1: EQ
000004b2: PUSH2 0x107f
000004b5: JUMP
000004b6: JUMPDEST
000004b7: PUSH1 0x02
000004b9: DUP8
000004ba: SSTORE
000004bb: PUSH1 0x40
000004bd: MLOAD
000004be: PUSH4 0x042901c7
000004c3: PUSH1 0xe0
000004c5: SHL
000004c6: DUP2
000004c7: MSTORE
000004c8: SWAP4
000004c9: DUP5
000004ca: SWAP4
000004cb: PUSH1 0x84
000004cd: CALLDATALOAD
000004ce: PUSH1 0x64
000004d0: CALLDATALOAD
000004d1: DUP9
000004d2: PUSH1 0x04
000004d4: DUP9
000004d5: ADD
000004d6: PUSH2 0x17c0
000004d9: JUMP
000004da: JUMPDEST
000004db: PUSH1 0x01
000004dd: PUSH1 0x01
000004df: PUSH1 0xa0
000004e1: SHL
000004e2: SUB
000004e3: SWAP2
000004e4: PUSH1 0x20
000004e6: SWAP2
000004e7: DUP5
000004e8: SWAP2
000004e9: SWAP1
000004ea: SUB
000004eb: DUP2
000004ec: PUSH32 0x0000000000000000000000005fd9f73286b7e8683bab45019c94553b93e015cf
0000050d: DUP6
0000050e: AND
0000050f: GAS
00000510: STATICCALL
00000511: DUP1
00000512: ISZERO
00000513: PUSH2 0x0618
00000516: JUMPI
00000517: PUSH1 0x01
00000519: SWAP7
0000051a: PUSH2 0x054e
0000051d: DUP4
0000051e: SWAP3
0000051f: PUSH32 0xbe066dc591f4a444f75176d387c3e6c775e5706d9ea9a91d11eb49030c66cf60
00000540: SWAP6
00000541: PUSH1 0x00
00000543: SWAP2
00000544: PUSH2 0x05ea
00000547: JUMPI
00000548: JUMPDEST
00000549: POP
0000054a: PUSH2 0x17fa
0000054d: JUMP
0000054e: JUMPDEST
0000054f: PUSH1 0x00
00000551: PUSH2 0x05cd
00000554: PUSH2 0x059d
00000557: DUP8
00000558: PUSH2 0x058e
0000055b: DUP6
0000055c: PUSH2 0x0577
0000055f: DUP13
00000560: PUSH1 0x01
00000562: DUP1
00000563: PUSH1 0xa0
00000565: SHL
00000566: SUB
00000567: AND
00000568: PUSH1 0x00
0000056a: MSTORE
0000056b: PUSH1 0x01
0000056d: PUSH1 0x20
0000056f: MSTORE
00000570: PUSH1 0x40
00000572: PUSH1 0x00
00000574: KECCAK256
00000575: SWAP1
00000576: JUMP
00000577: JUMPDEST
00000578: SWAP1
00000579: PUSH1 0x01
0000057b: DUP1
0000057c: PUSH1 0xa0
0000057e: SHL
0000057f: SUB
00000580: AND
00000581: PUSH1 0x00
00000583: MSTORE
00000584: PUSH1 0x20
00000586: MSTORE
00000587: PUSH1 0x40
00000589: PUSH1 0x00
0000058b: KECCAK256
0000058c: SWAP1
0000058d: JUMP
0000058e: JUMPDEST
0000058f: SWAP1
00000590: PUSH1 0x00
00000592: MSTORE
00000593: PUSH1 0x20
00000595: MSTORE
00000596: PUSH1 0x40
00000598: PUSH1 0x00
0000059a: KECCAK256
0000059b: SWAP1
0000059c: JUMP
0000059d: JUMPDEST
0000059e: SLOAD
0000059f: SWAP7
000005a0: PUSH2 0x05aa
000005a3: DUP9
000005a4: ISZERO
000005a5: ISZERO
000005a6: PUSH2 0x182b
000005a9: JUMP
000005aa: JUMPDEST
000005ab: PUSH1 0x01
000005ad: PUSH1 0x01
000005af: PUSH1 0xa0
000005b1: SHL
000005b2: SUB
000005b3: DUP10
000005b4: AND
000005b5: PUSH1 0x00
000005b7: SWAP1
000005b8: DUP2
000005b9: MSTORE
000005ba: PUSH1 0x01
000005bc: PUSH1 0x20
000005be: MSTORE
000005bf: PUSH1 0x40
000005c1: SWAP1
000005c2: KECCAK256
000005c3: PUSH2 0x058e
000005c6: SWAP1
000005c7: DUP6
000005c8: SWAP1
000005c9: PUSH2 0x0577
000005cc: JUMP
000005cd: JUMPDEST
000005ce: SSTORE
000005cf: AND
000005d0: SWAP4
000005d1: PUSH2 0x05db
000005d4: DUP5
000005d5: DUP3
000005d6: DUP8
000005d7: PUSH2 0x185c
000005da: JUMP
000005db: JUMPDEST
000005dc: PUSH1 0x40
000005de: MLOAD
000005df: SWAP4
000005e0: DUP5
000005e1: MSTORE
000005e2: AND
000005e3: SWAP2
000005e4: PUSH1 0x20
000005e6: SWAP1
000005e7: LOG3
000005e8: SSTORE
000005e9: STOP
000005ea: JUMPDEST
000005eb: PUSH2 0x060b
000005ee: SWAP2
000005ef: POP
000005f0: PUSH1 0x20
000005f2: RETURNDATASIZE
000005f3: DUP2
000005f4: GT
000005f5: PUSH2 0x0611
000005f8: JUMPI
000005f9: JUMPDEST
000005fa: PUSH2 0x0603
000005fd: DUP2
000005fe: DUP4
000005ff: PUSH2 0x0ed9
00000602: JUMP
00000603: JUMPDEST
00000604: DUP2
00000605: ADD
00000606: SWAP1
00000607: PUSH2 0x13a9
0000060a: JUMP
0000060b: JUMPDEST
0000060c: CODESIZE
0000060d: PUSH2 0x0548
00000610: JUMP
00000611: JUMPDEST
00000612: POP
00000613: RETURNDATASIZE
00000614: PUSH2 0x05f9
00000617: JUMP
00000618: JUMPDEST
00000619: PUSH2 0x1278
0000061c: JUMP
0000061d: JUMPDEST
0000061e: CALLVALUE
0000061f: PUSH2 0x00dd
00000622: JUMPI
00000623: PUSH1 0x40
00000625: CALLDATASIZE
00000626: PUSH1 0x03
00000628: NOT
00000629: ADD
0000062a: SLT
0000062b: PUSH2 0x00dd
0000062e: JUMPI
0000062f: PUSH1 0x04
00000631: CALLDATALOAD
00000632: PUSH1 0x00
00000634: MSTORE
00000635: PUSH1 0x00
00000637: PUSH1 0x20
00000639: MSTORE
0000063a: PUSH1 0x40
0000063c: PUSH1 0x00
0000063e: KECCAK256
0000063f: PUSH1 0x24
00000641: CALLDATALOAD
00000642: PUSH1 0x00
00000644: MSTORE
00000645: PUSH1 0x20
00000647: MSTORE
00000648: PUSH1 0x20
0000064a: PUSH1 0xff
0000064c: PUSH1 0x40
0000064e: PUSH1 0x00
00000650: KECCAK256
00000651: SLOAD
00000652: AND
00000653: PUSH1 0x40
00000655: MLOAD
00000656: SWAP1
00000657: ISZERO
00000658: ISZERO
00000659: DUP2
0000065a: MSTORE
0000065b: RETURN
0000065c: JUMPDEST
0000065d: PUSH1 0xc0
0000065f: SWAP1
00000660: PUSH1 0x03
00000662: NOT
00000663: ADD
00000664: SLT
00000665: PUSH2 0x00dd
00000668: JUMPI
00000669: PUSH1 0x01
0000066b: PUSH1 0x01
0000066d: PUSH1 0xa0
0000066f: SHL
00000670: SUB
00000671: SWAP1
00000672: PUSH1 0x04
00000674: CALLDATALOAD
00000675: DUP3
00000676: DUP2
00000677: AND
00000678: DUP2
00000679: SUB
0000067a: PUSH2 0x00dd
0000067d: JUMPI
0000067e: SWAP2
0000067f: PUSH1 0x24
00000681: CALLDATALOAD
00000682: DUP2
00000683: DUP2
00000684: AND
00000685: DUP2
00000686: SUB
00000687: PUSH2 0x00dd
0000068a: JUMPI
0000068b: SWAP2
0000068c: PUSH1 0x44
0000068e: CALLDATALOAD
0000068f: SWAP2
00000690: PUSH1 0x64
00000692: CALLDATALOAD
00000693: SWAP2
00000694: PUSH1 0x84
00000696: CALLDATALOAD
00000697: SWAP2
00000698: PUSH1 0xa4
0000069a: CALLDATALOAD
0000069b: SWAP1
0000069c: DUP2
0000069d: AND
0000069e: DUP2
0000069f: SUB
000006a0: PUSH2 0x00dd
000006a3: JUMPI
000006a4: SWAP1
000006a5: JUMP
000006a6: JUMPDEST
000006a7: PUSH2 0x06af
000006aa: CALLDATASIZE
000006ab: PUSH2 0x065c
000006ae: JUMP
000006af: JUMPDEST
000006b0: SWAP2
000006b1: SWAP5
000006b2: SWAP3
000006b3: SWAP1
000006b4: SWAP4
000006b5: PUSH1 0x20
000006b7: PUSH1 0x00
000006b9: DUP1
000006ba: MLOAD
000006bb: PUSH1 0x20
000006bd: PUSH2 0x1dad
000006c0: DUP4
000006c1: CODECOPY
000006c2: DUP2
000006c3: MLOAD
000006c4: SWAP2
000006c5: MSTORE
000006c6: SWAP4
000006c7: PUSH2 0x06d3
000006ca: PUSH1 0x01
000006cc: DUP7
000006cd: SLOAD
000006ce: EQ
000006cf: PUSH2 0x107f
000006d2: JUMP
000006d3: JUMPDEST
000006d4: PUSH1 0x02
000006d6: DUP6
000006d7: SSTORE
000006d8: PUSH2 0x06e2
000006db: DUP5
000006dc: ISZERO
000006dd: ISZERO
000006de: PUSH2 0x10b0
000006e1: JUMP
000006e2: JUMPDEST
000006e3: PUSH1 0x01
000006e5: PUSH1 0x01
000006e7: PUSH1 0xa0
000006e9: SHL
000006ea: SUB
000006eb: SWAP7
000006ec: PUSH2 0x0703
000006ef: PUSH2 0x06fb
000006f2: DUP7
000006f3: DUP7
000006f4: DUP12
000006f5: AND
000006f6: CALLER
000006f7: PUSH2 0x1291
000006fa: JUMP
000006fb: JUMPDEST
000006fc: SWAP6
000006fd: DUP7
000006fe: EQ
000006ff: PUSH2 0x10e1
00000702: JUMP
00000703: JUMPDEST
00000704: PUSH2 0x070f
00000707: DUP6
00000708: DUP6
00000709: DUP10
0000070a: CALLER
0000070b: PUSH2 0x15ae
0000070e: JUMP
0000070f: JUMPDEST
00000710: SWAP2
00000711: DUP9
00000712: DUP2
00000713: AND
00000714: ISZERO
00000715: PUSH2 0x0863
00000718: JUMPI
00000719: JUMPDEST
0000071a: PUSH1 0x02
0000071c: SLOAD
0000071d: PUSH2 0x0750
00000720: SWAP2
00000721: SWAP1
00000722: PUSH1 0x01
00000724: PUSH1 0x01
00000726: PUSH1 0xa0
00000728: SHL
00000729: SUB
0000072a: AND
0000072b: JUMPDEST
0000072c: SWAP3
0000072d: PUSH2 0x0734
00000730: PUSH2 0x106c
00000733: JUMP
00000734: JUMPDEST
00000735: SWAP1
00000736: PUSH1 0x40
00000738: MLOAD
00000739: SWAP13
0000073a: DUP14
0000073b: SWAP7
0000073c: DUP8
0000073d: SWAP7
0000073e: PUSH4 0xeb672419
00000743: PUSH1 0xe0
00000745: SHL
00000746: DUP9
00000747: MSTORE
00000748: PUSH1 0x04
0000074a: DUP9
0000074b: ADD
0000074c: PUSH2 0x1121
0000074f: JUMP
00000750: JUMPDEST
00000751: SUB
00000752: DUP2
00000753: CALLVALUE
00000754: DUP10
00000755: PUSH32 0x0000000000000000000000005fd9f73286b7e8683bab45019c94553b93e015cf
00000776: AND
00000777: GAS
00000778: CALL
00000779: SWAP4
0000077a: DUP5
0000077b: ISZERO
0000077c: PUSH2 0x0618
0000077f: JUMPI
00000780: PUSH1 0x20
00000782: SWAP7
00000783: PUSH1 0x00
00000785: SWAP6
00000786: PUSH2 0x0811
00000789: JUMPI
0000078a: JUMPDEST
0000078b: POP
0000078c: SWAP4
0000078d: PUSH32 0x46825fb1efbc2ac58f7529d18b84230c9818ca01aa51e874715a59f68c7fd6c5
000007ae: DUP2
000007af: SWAP7
000007b0: PUSH1 0x01
000007b2: SWAP7
000007b3: DUP6
000007b4: PUSH2 0x07d7
000007b7: DUP6
000007b8: PUSH2 0x058e
000007bb: DUP9
000007bc: PUSH2 0x0577
000007bf: CALLER
000007c0: PUSH1 0x01
000007c2: DUP1
000007c3: PUSH1 0xa0
000007c5: SHL
000007c6: SUB
000007c7: AND
000007c8: PUSH1 0x00
000007ca: MSTORE
000007cb: PUSH1 0x01
000007cd: PUSH1 0x20
000007cf: MSTORE
000007d0: PUSH1 0x40
000007d2: PUSH1 0x00
000007d4: KECCAK256
000007d5: SWAP1
000007d6: JUMP
000007d7: JUMPDEST
000007d8: SSTORE
000007d9: PUSH2 0x0805
000007dc: PUSH1 0x40
000007de: MLOAD
000007df: SWAP3
000007e0: DUP4
000007e1: SWAP3
000007e2: AND
000007e3: SWAP7
000007e4: CALLER
000007e5: SWAP7
000007e6: DUP4
000007e7: PUSH1 0x40
000007e9: SWAP1
000007ea: PUSH1 0x01
000007ec: SWAP3
000007ed: SWAP5
000007ee: SWAP4
000007ef: PUSH1 0x60
000007f1: DUP3
000007f2: ADD
000007f3: SWAP6
000007f4: DUP5
000007f5: DUP1
000007f6: PUSH1 0xa0
000007f8: SHL
000007f9: SUB
000007fa: AND
000007fb: DUP3
000007fc: MSTORE
000007fd: PUSH1 0x20
000007ff: DUP3
00000800: ADD
00000801: MSTORE
00000802: ADD
00000803: MSTORE
00000804: JUMP
00000805: JUMPDEST
00000806: SUB
00000807: SWAP1
00000808: LOG4
00000809: SSTORE
0000080a: PUSH1 0x40
0000080c: MLOAD
0000080d: SWAP1
0000080e: DUP2
0000080f: MSTORE
00000810: RETURN
00000811: JUMPDEST
00000812: PUSH1 0x01
00000814: SWAP6
00000815: POP
00000816: PUSH2 0x0855
00000819: PUSH32 0x46825fb1efbc2ac58f7529d18b84230c9818ca01aa51e874715a59f68c7fd6c5
0000083a: SWAP2
0000083b: DUP10
0000083c: RETURNDATASIZE
0000083d: DUP2
0000083e: GT
0000083f: PUSH2 0x085c
00000842: JUMPI
00000843: JUMPDEST
00000844: PUSH2 0x084d
00000847: DUP2
00000848: DUP4
00000849: PUSH2 0x0ed9
0000084c: JUMP
0000084d: JUMPDEST
0000084e: DUP2
0000084f: ADD
00000850: SWAP1
00000851: PUSH2 0x1112
00000854: JUMP
00000855: JUMPDEST
00000856: SWAP6
00000857: POP
00000858: PUSH2 0x078a
0000085b: JUMP
0000085c: JUMPDEST
0000085d: POP
0000085e: RETURNDATASIZE
0000085f: PUSH2 0x0843
00000862: JUMP
00000863: JUMPDEST
00000864: POP
00000865: CALLER
00000866: ORIGIN
00000867: EQ
00000868: PUSH2 0x0884
0000086b: JUMPI
0000086c: PUSH2 0x0750
0000086f: DUP9
00000870: PUSH2 0x1111
00000873: PUSH2 0x1111
00000876: PUSH1 0x90
00000878: SHL
00000879: ADD
0000087a: CALLER
0000087b: ADD
0000087c: AND
0000087d: JUMPDEST
0000087e: SWAP1
0000087f: POP
00000880: PUSH2 0x0719
00000883: JUMP
00000884: JUMPDEST
00000885: PUSH2 0x0750
00000888: CALLER
00000889: PUSH2 0x087d
0000088c: JUMP
0000088d: JUMPDEST
0000088e: CALLVALUE
0000088f: PUSH2 0x00dd
00000892: JUMPI
00000893: PUSH1 0x00
00000895: CALLDATASIZE
00000896: PUSH1 0x03
00000898: NOT
00000899: ADD
0000089a: SLT
0000089b: PUSH2 0x00dd
0000089e: JUMPI
0000089f: PUSH1 0x03
000008a1: SLOAD
000008a2: PUSH1 0x40
000008a4: MLOAD
000008a5: PUSH1 0x01
000008a7: PUSH1 0x01
000008a9: PUSH1 0xa0
000008ab: SHL
000008ac: SUB
000008ad: SWAP1
000008ae: SWAP2
000008af: AND
000008b0: DUP2
000008b1: MSTORE
000008b2: PUSH1 0x20
000008b4: SWAP1
000008b5: RETURN
000008b6: JUMPDEST
000008b7: CALLVALUE
000008b8: PUSH2 0x00dd
000008bb: JUMPI
000008bc: PUSH1 0x00
000008be: CALLDATASIZE
000008bf: PUSH1 0x03
000008c1: NOT
000008c2: ADD
000008c3: SLT
000008c4: PUSH2 0x00dd
000008c7: JUMPI
000008c8: PUSH1 0x20
000008ca: PUSH1 0x04
000008cc: SLOAD
000008cd: PUSH1 0x40
000008cf: MLOAD
000008d0: SWAP1
000008d1: DUP2
000008d2: MSTORE
000008d3: RETURN
000008d4: JUMPDEST
000008d5: PUSH1 0xa0
000008d7: CALLDATASIZE
000008d8: PUSH1 0x03
000008da: NOT
000008db: ADD
000008dc: SLT
000008dd: PUSH2 0x00dd
000008e0: JUMPI
000008e1: PUSH2 0x08e8
000008e4: PUSH2 0x01bc
000008e7: JUMP
000008e8: JUMPDEST
000008e9: PUSH2 0x08f0
000008ec: PUSH2 0x01d2
000008ef: JUMP
000008f0: JUMPDEST
000008f1: SWAP1
000008f2: PUSH1 0x44
000008f4: CALLDATALOAD
000008f5: SWAP1
000008f6: PUSH1 0x00
000008f8: DUP1
000008f9: MLOAD
000008fa: PUSH1 0x20
000008fc: PUSH2 0x1dad
000008ff: DUP4
00000900: CODECOPY
00000901: DUP2
00000902: MLOAD
00000903: SWAP2
00000904: MSTORE
00000905: PUSH2 0x0911
00000908: PUSH1 0x01
0000090a: DUP3
0000090b: SLOAD
0000090c: EQ
0000090d: PUSH2 0x107f
00000910: JUMP
00000911: JUMPDEST
00000912: PUSH1 0x02
00000914: DUP2
00000915: SSTORE
00000916: PUSH2 0x0920
00000919: DUP4
0000091a: ISZERO
0000091b: ISZERO
0000091c: PUSH2 0x10b0
0000091f: JUMP
00000920: JUMPDEST
00000921: PUSH1 0x01
00000923: PUSH1 0x01
00000925: PUSH1 0xa0
00000927: SHL
00000928: SUB
00000929: SWAP3
0000092a: PUSH2 0x0941
0000092d: PUSH2 0x0939
00000930: DUP3
00000931: DUP8
00000932: DUP8
00000933: AND
00000934: CALLER
00000935: PUSH2 0x1291
00000938: JUMP
00000939: JUMPDEST
0000093a: SWAP2
0000093b: DUP3
0000093c: EQ
0000093d: PUSH2 0x10e1
00000940: JUMP
00000941: JUMPDEST
00000942: PUSH2 0x094d
00000945: DUP2
00000946: DUP7
00000947: DUP6
00000948: CALLER
00000949: PUSH2 0x1697
0000094c: JUMP
0000094d: JUMPDEST
0000094e: SWAP5
0000094f: CALLER
00000950: ORIGIN
00000951: EQ
00000952: PUSH2 0x0a93
00000955: JUMPI
00000956: PUSH1 0x20
00000958: DUP6
00000959: PUSH2 0x1111
0000095c: PUSH2 0x1111
0000095f: PUSH1 0x90
00000961: SHL
00000962: ADD
00000963: CALLER
00000964: ADD
00000965: AND
00000966: SWAP7
00000967: JUMPDEST
00000968: PUSH1 0x02
0000096a: SLOAD
0000096b: PUSH1 0x01
0000096d: PUSH1 0x01
0000096f: PUSH1 0xa0
00000971: SHL
00000972: SUB
00000973: AND
00000974: PUSH2 0x09a2
00000977: PUSH2 0x097e
0000097a: PUSH2 0x106c
0000097d: JUMP
0000097e: JUMPDEST
0000097f: SWAP10
00000980: PUSH1 0x40
00000982: MLOAD
00000983: SWAP11
00000984: DUP12
00000985: SWAP5
00000986: DUP6
00000987: SWAP5
00000988: PUSH4 0xeb672419
0000098d: PUSH1 0xe0
0000098f: SHL
00000990: DUP7
00000991: MSTORE
00000992: PUSH1 0x84
00000994: CALLDATALOAD
00000995: SWAP2
00000996: PUSH1 0x64
00000998: CALLDATALOAD
00000999: SWAP2
0000099a: PUSH1 0x04
0000099c: DUP9
0000099d: ADD
0000099e: PUSH2 0x1121
000009a1: JUMP
000009a2: JUMPDEST
000009a3: SUB
000009a4: DUP2
000009a5: CALLVALUE
000009a6: DUP10
000009a7: PUSH32 0x0000000000000000000000005fd9f73286b7e8683bab45019c94553b93e015cf
000009c8: AND
000009c9: GAS
000009ca: CALL
000009cb: SWAP4
000009cc: DUP5
000009cd: ISZERO
000009ce: PUSH2 0x0618
000009d1: JUMPI
000009d2: PUSH1 0x20
000009d4: SWAP7
000009d5: PUSH1 0x00
000009d7: SWAP6
000009d8: PUSH2 0x0a51
000009db: JUMPI
000009dc: JUMPDEST
000009dd: POP
000009de: SWAP4
000009df: PUSH32 0xdd341179f4edc78148d894d0213a96d212af2cbaf223d19ef6d483bdd47ab81d
00000a00: DUP2
00000a01: SWAP7
00000a02: PUSH1 0x01
00000a04: SWAP7
00000a05: DUP6
00000a06: PUSH2 0x0a29
00000a09: DUP6
00000a0a: PUSH2 0x058e
00000a0d: DUP9
00000a0e: PUSH2 0x0577
00000a11: CALLER
00000a12: PUSH1 0x01
00000a14: DUP1
00000a15: PUSH1 0xa0
00000a17: SHL
00000a18: SUB
00000a19: AND
00000a1a: PUSH1 0x00
00000a1c: MSTORE
00000a1d: PUSH1 0x01
00000a1f: PUSH1 0x20
00000a21: MSTORE
00000a22: PUSH1 0x40
00000a24: PUSH1 0x00
00000a26: KECCAK256
00000a27: SWAP1
00000a28: JUMP
00000a29: JUMPDEST
00000a2a: SSTORE
00000a2b: PUSH1 0x40
00000a2d: DUP1
00000a2e: MLOAD
00000a2f: PUSH1 0x01
00000a31: PUSH1 0x01
00000a33: PUSH1 0xa0
00000a35: SHL
00000a36: SUB
00000a37: SWAP1
00000a38: SWAP7
00000a39: AND
00000a3a: DUP7
00000a3b: MSTORE
00000a3c: PUSH1 0x20
00000a3e: DUP7
00000a3f: ADD
00000a40: SWAP7
00000a41: SWAP1
00000a42: SWAP7
00000a43: MSTORE
00000a44: AND
00000a45: SWAP4
00000a46: CALLER
00000a47: SWAP4
00000a48: SWAP1
00000a49: DUP2
00000a4a: SWAP1
00000a4b: DUP2
00000a4c: ADD
00000a4d: PUSH2 0x0805
00000a50: JUMP
00000a51: JUMPDEST
00000a52: PUSH1 0x01
00000a54: SWAP6
00000a55: POP
00000a56: PUSH2 0x0a8c
00000a59: PUSH32 0xdd341179f4edc78148d894d0213a96d212af2cbaf223d19ef6d483bdd47ab81d
00000a7a: SWAP2
00000a7b: DUP10
00000a7c: RETURNDATASIZE
00000a7d: DUP2
00000a7e: GT
00000a7f: PUSH2 0x085c
00000a82: JUMPI
00000a83: PUSH2 0x084d
00000a86: DUP2
00000a87: DUP4
00000a88: PUSH2 0x0ed9
00000a8b: JUMP
00000a8c: JUMPDEST
00000a8d: SWAP6
00000a8e: POP
00000a8f: PUSH2 0x09dc
00000a92: JUMP
00000a93: JUMPDEST
00000a94: PUSH1 0x20
00000a96: CALLER
00000a97: SWAP7
00000a98: PUSH2 0x0967
00000a9b: JUMP
00000a9c: JUMPDEST
00000a9d: CALLVALUE
00000a9e: PUSH2 0x00dd
00000aa1: JUMPI
00000aa2: PUSH1 0x00
00000aa4: CALLDATASIZE
00000aa5: PUSH1 0x03
00000aa7: NOT
00000aa8: ADD
00000aa9: SLT
00000aaa: PUSH2 0x00dd
00000aad: JUMPI
00000aae: PUSH1 0x02
00000ab0: SLOAD
00000ab1: PUSH1 0x40
00000ab3: MLOAD
00000ab4: PUSH1 0x01
00000ab6: PUSH1 0x01
00000ab8: PUSH1 0xa0
00000aba: SHL
00000abb: SUB
00000abc: SWAP1
00000abd: SWAP2
00000abe: AND
00000abf: DUP2
00000ac0: MSTORE
00000ac1: PUSH1 0x20
00000ac3: SWAP1
00000ac4: RETURN
00000ac5: JUMPDEST
00000ac6: PUSH2 0x0ace
00000ac9: CALLDATASIZE
00000aca: PUSH2 0x065c
00000acd: JUMP
00000ace: JUMPDEST
00000acf: SWAP2
00000ad0: SWAP5
00000ad1: SWAP3
00000ad2: SWAP1
00000ad3: SWAP4
00000ad4: PUSH1 0x20
00000ad6: PUSH1 0x00
00000ad8: DUP1
00000ad9: MLOAD
00000ada: PUSH1 0x20
00000adc: PUSH2 0x1dad
00000adf: DUP4
00000ae0: CODECOPY
00000ae1: DUP2
00000ae2: MLOAD
00000ae3: SWAP2
00000ae4: MSTORE
00000ae5: SWAP4
00000ae6: PUSH2 0x0af2
00000ae9: PUSH1 0x01
00000aeb: DUP7
00000aec: SLOAD
00000aed: EQ
00000aee: PUSH2 0x107f
00000af1: JUMP
00000af2: JUMPDEST
00000af3: PUSH1 0x02
00000af5: DUP6
00000af6: SSTORE
00000af7: PUSH2 0x0b01
00000afa: DUP5
00000afb: ISZERO
00000afc: ISZERO
00000afd: PUSH2 0x10b0
00000b00: JUMP
00000b01: JUMPDEST
00000b02: PUSH1 0x01
00000b04: PUSH1 0x01
00000b06: PUSH1 0xa0
00000b08: SHL
00000b09: SUB
00000b0a: SWAP7
00000b0b: PUSH2 0x0b1a
00000b0e: PUSH2 0x06fb
00000b11: DUP7
00000b12: DUP7
00000b13: DUP12
00000b14: AND
00000b15: CALLER
00000b16: PUSH2 0x1291
00000b19: JUMP
00000b1a: JUMPDEST
00000b1b: PUSH2 0x0b26
00000b1e: DUP6
00000b1f: DUP6
00000b20: DUP10
00000b21: CALLER
00000b22: PUSH2 0x1697
00000b25: JUMP
00000b26: JUMPDEST
00000b27: SWAP2
00000b28: DUP9
00000b29: DUP2
00000b2a: AND
00000b2b: ISZERO
00000b2c: PUSH2 0x0b46
00000b2f: JUMPI
00000b30: JUMPDEST
00000b31: PUSH1 0x02
00000b33: SLOAD
00000b34: PUSH2 0x09a2
00000b37: SWAP2
00000b38: SWAP1
00000b39: PUSH1 0x01
00000b3b: PUSH1 0x01
00000b3d: PUSH1 0xa0
00000b3f: SHL
00000b40: SUB
00000b41: AND
00000b42: PUSH2 0x072b
00000b45: JUMP
00000b46: JUMPDEST
00000b47: POP
00000b48: CALLER
00000b49: ORIGIN
00000b4a: EQ
00000b4b: PUSH2 0x0b67
00000b4e: JUMPI
00000b4f: PUSH2 0x09a2
00000b52: DUP9
00000b53: PUSH2 0x1111
00000b56: PUSH2 0x1111
00000b59: PUSH1 0x90
00000b5b: SHL
00000b5c: ADD
00000b5d: CALLER
00000b5e: ADD
00000b5f: AND
00000b60: JUMPDEST
00000b61: SWAP1
00000b62: POP
00000b63: PUSH2 0x0b30
00000b66: JUMP
00000b67: JUMPDEST
00000b68: PUSH2 0x09a2
00000b6b: CALLER
00000b6c: PUSH2 0x0b60
00000b6f: JUMP
00000b70: JUMPDEST
00000b71: CALLVALUE
00000b72: PUSH2 0x00dd
00000b75: JUMPI
00000b76: PUSH1 0x20
00000b78: CALLDATASIZE
00000b79: PUSH1 0x03
00000b7b: NOT
00000b7c: ADD
00000b7d: SLT
00000b7e: PUSH2 0x00dd
00000b81: JUMPI
00000b82: PUSH2 0x0c34
00000b85: PUSH2 0x0b8c
00000b88: PUSH2 0x01bc
00000b8b: JUMP
00000b8c: JUMPDEST
00000b8d: PUSH1 0x01
00000b8f: DUP1
00000b90: PUSH1 0xa0
00000b92: SHL
00000b93: SUB
00000b94: DUP1
00000b95: PUSH1 0x03
00000b97: SLOAD
00000b98: AND
00000b99: SWAP2
00000b9a: PUSH1 0x40
00000b9c: SWAP3
00000b9d: DUP4
00000b9e: MLOAD
00000b9f: PUSH1 0x20
00000ba1: DUP2
00000ba2: ADD
00000ba3: SWAP2
00000ba4: DUP3
00000ba5: MSTORE
00000ba6: DUP5
00000ba7: DUP1
00000ba8: DUP3
00000ba9: ADD
00000baa: MSTORE
00000bab: PUSH1 0x00
00000bad: PUSH1 0x60
00000baf: DUP3
00000bb0: ADD
00000bb1: MSTORE
00000bb2: PUSH1 0x60
00000bb4: DUP2
00000bb5: MSTORE
00000bb6: PUSH2 0x0bbe
00000bb9: DUP2
00000bba: PUSH2 0x0e68
00000bbd: JUMP
00000bbe: JUMPDEST
00000bbf: MLOAD
00000bc0: SWAP1
00000bc1: KECCAK256
00000bc2: SWAP1
00000bc3: DUP3
00000bc4: PUSH1 0x02
00000bc6: SLOAD
00000bc7: AND
00000bc8: SWAP2
00000bc9: PUSH1 0x04
00000bcb: SLOAD
00000bcc: DUP5
00000bcd: DUP7
00000bce: MLOAD
00000bcf: SWAP4
00000bd0: PUSH1 0x20
00000bd2: DUP6
00000bd3: ADD
00000bd4: SWAP6
00000bd5: PUSH32 0x2020dba91b30cc0006188af794c2fb30dd8520db7e2c088b7fc7c103c00ca494
00000bf6: DUP8
00000bf7: MSTORE
00000bf8: DUP9
00000bf9: DUP7
00000bfa: ADD
00000bfb: MSTORE
00000bfc: AND
00000bfd: PUSH1 0x60
00000bff: DUP5
00000c00: ADD
00000c01: MSTORE
00000c02: PUSH1 0x80
00000c04: DUP4
00000c05: ADD
00000c06: MSTORE
00000c07: PUSH1 0xa0
00000c09: DUP3
00000c0a: ADD
00000c0b: MSTORE
00000c0c: PUSH1 0xa0
00000c0e: DUP2
00000c0f: MSTORE
00000c10: PUSH2 0x0c18
00000c13: DUP2
00000c14: PUSH2 0x0e88
00000c17: JUMP
00000c18: JUMPDEST
00000c19: MLOAD
00000c1a: SWAP1
00000c1b: KECCAK256
00000c1c: SWAP2
00000c1d: MLOAD
00000c1e: SWAP2
00000c1f: AND
00000c20: PUSH1 0x01
00000c22: PUSH1 0x01
00000c24: PUSH1 0xa0
00000c26: SHL
00000c27: SUB
00000c28: AND
00000c29: DUP2
00000c2a: MSTORE
00000c2b: SWAP1
00000c2c: DUP2
00000c2d: SWAP1
00000c2e: PUSH1 0x20
00000c30: DUP3
00000c31: ADD
00000c32: SWAP1
00000c33: JUMP
00000c34: JUMPDEST
00000c35: SUB
00000c36: SWAP1
00000c37: RETURN
00000c38: JUMPDEST
00000c39: ISZERO
00000c3a: PUSH2 0x0c3f
00000c3d: JUMPI
00000c3e: JUMP
00000c3f: JUMPDEST
00000c40: PUSH1 0x40
00000c42: MLOAD
00000c43: PUSH3 0x461bcd
00000c47: PUSH1 0xe5
00000c49: SHL
00000c4a: DUP2
00000c4b: MSTORE
00000c4c: PUSH1 0x20
00000c4e: PUSH1 0x04
00000c50: DUP3
00000c51: ADD
00000c52: MSTORE
00000c53: PUSH1 0x02
00000c55: PUSH1 0x24
00000c57: DUP3
00000c58: ADD
00000c59: MSTORE
00000c5a: PUSH2 0x3733
00000c5d: PUSH1 0xf1
00000c5f: SHL
00000c60: PUSH1 0x44
00000c62: DUP3
00000c63: ADD
00000c64: MSTORE
00000c65: PUSH1 0x64
00000c67: SWAP1
00000c68: REVERT
00000c69: JUMPDEST
00000c6a: ISZERO
00000c6b: PUSH2 0x0c70
00000c6e: JUMPI
00000c6f: JUMP
00000c70: JUMPDEST
00000c71: PUSH1 0x40
00000c73: MLOAD
00000c74: PUSH3 0x461bcd
00000c78: PUSH1 0xe5
00000c7a: SHL
00000c7b: DUP2
00000c7c: MSTORE
00000c7d: PUSH1 0x20
00000c7f: PUSH1 0x04
00000c81: DUP3
00000c82: ADD
00000c83: MSTORE
00000c84: PUSH1 0x02
00000c86: PUSH1 0x24
00000c88: DUP3
00000c89: ADD
00000c8a: MSTORE
00000c8b: PUSH2 0x0dcd
00000c8e: PUSH1 0xf3
00000c90: SHL
00000c91: PUSH1 0x44
00000c93: DUP3
00000c94: ADD
00000c95: MSTORE
00000c96: PUSH1 0x64
00000c98: SWAP1
00000c99: REVERT
00000c9a: JUMPDEST
00000c9b: ISZERO
00000c9c: PUSH2 0x0ca1
00000c9f: JUMPI
00000ca0: JUMP
00000ca1: JUMPDEST
00000ca2: PUSH1 0x40
00000ca4: MLOAD
00000ca5: PUSH3 0x461bcd
00000ca9: PUSH1 0xe5
00000cab: SHL
00000cac: DUP2
00000cad: MSTORE
00000cae: PUSH1 0x20
00000cb0: PUSH1 0x04
00000cb2: DUP3
00000cb3: ADD
00000cb4: MSTORE
00000cb5: PUSH1 0x02
00000cb7: PUSH1 0x24
00000cb9: DUP3
00000cba: ADD
00000cbb: MSTORE
00000cbc: PUSH2 0x6d6b
00000cbf: PUSH1 0xf0
00000cc1: SHL
00000cc2: PUSH1 0x44
00000cc4: DUP3
00000cc5: ADD
00000cc6: MSTORE
00000cc7: PUSH1 0x64
00000cc9: SWAP1
00000cca: REVERT
00000ccb: JUMPDEST
00000ccc: ISZERO
00000ccd: PUSH2 0x0cd2
00000cd0: JUMPI
00000cd1: JUMP
00000cd2: JUMPDEST
00000cd3: PUSH1 0x40
00000cd5: MLOAD
00000cd6: PUSH3 0x461bcd
00000cda: PUSH1 0xe5
00000cdc: SHL
00000cdd: DUP2
00000cde: MSTORE
00000cdf: PUSH1 0x20
00000ce1: PUSH1 0x04
00000ce3: DUP3
00000ce4: ADD
00000ce5: MSTORE
00000ce6: PUSH1 0x02
00000ce8: PUSH1 0x24
00000cea: DUP3
00000ceb: ADD
00000cec: MSTORE
00000ced: PUSH2 0x6d67
00000cf0: PUSH1 0xf0
00000cf2: SHL
00000cf3: PUSH1 0x44
00000cf5: DUP3
00000cf6: ADD
00000cf7: MSTORE
00000cf8: PUSH1 0x64
00000cfa: SWAP1
00000cfb: REVERT
00000cfc: JUMPDEST
00000cfd: PUSH4 0x4e487b71
00000d02: PUSH1 0xe0
00000d04: SHL
00000d05: PUSH1 0x00
00000d07: MSTORE
00000d08: PUSH1 0x11
00000d0a: PUSH1 0x04
00000d0c: MSTORE
00000d0d: PUSH1 0x24
00000d0f: PUSH1 0x00
00000d11: REVERT
00000d12: JUMPDEST
00000d13: SWAP2
00000d14: SWAP1
00000d15: DUP3
00000d16: ADD
00000d17: DUP1
00000d18: SWAP3
00000d19: GT
00000d1a: PUSH2 0x0d1f
00000d1d: JUMPI
00000d1e: JUMP
00000d1f: JUMPDEST
00000d20: PUSH2 0x0cfc
00000d23: JUMP
00000d24: JUMPDEST
00000d25: ISZERO
00000d26: PUSH2 0x0d2b
00000d29: JUMPI
00000d2a: JUMP
00000d2b: JUMPDEST
00000d2c: PUSH1 0x40
00000d2e: MLOAD
00000d2f: PUSH3 0x461bcd
00000d33: PUSH1 0xe5
00000d35: SHL
00000d36: DUP2
00000d37: MSTORE
00000d38: PUSH1 0x20
00000d3a: PUSH1 0x04
00000d3c: DUP3
00000d3d: ADD
00000d3e: MSTORE
00000d3f: PUSH1 0x03
00000d41: PUSH1 0x24
00000d43: DUP3
00000d44: ADD
00000d45: MSTORE
00000d46: PUSH3 0x666565
00000d4a: PUSH1 0xe8
00000d4c: SHL
00000d4d: PUSH1 0x44
00000d4f: DUP3
00000d50: ADD
00000d51: MSTORE
00000d52: PUSH1 0x64
00000d54: SWAP1
00000d55: REVERT
00000d56: JUMPDEST
00000d57: PUSH4 0x4e487b71
00000d5c: PUSH1 0xe0
00000d5e: SHL
00000d5f: PUSH1 0x00
00000d61: MSTORE
00000d62: PUSH1 0x32
00000d64: PUSH1 0x04
00000d66: MSTORE
00000d67: PUSH1 0x24
00000d69: PUSH1 0x00
00000d6b: REVERT
00000d6c: JUMPDEST
00000d6d: SWAP1
00000d6e: PUSH1 0x02
00000d70: LT
00000d71: ISZERO
00000d72: PUSH2 0x0dac
00000d75: JUMPI
00000d76: PUSH1 0x40
00000d78: DUP2
00000d79: ADD
00000d7a: CALLDATALOAD
00000d7b: SWAP1
00000d7c: PUSH1 0x1e
00000d7e: NOT
00000d7f: DUP2
00000d80: CALLDATASIZE
00000d81: SUB
00000d82: ADD
00000d83: DUP3
00000d84: SLT
00000d85: ISZERO
00000d86: PUSH2 0x00dd
00000d89: JUMPI
00000d8a: ADD
00000d8b: SWAP1
00000d8c: DUP2
00000d8d: CALLDATALOAD
00000d8e: SWAP2
00000d8f: PUSH1 0x01
00000d91: PUSH1 0x01
00000d93: PUSH1 0x40
00000d95: SHL
00000d96: SUB
00000d97: DUP4
00000d98: GT
00000d99: PUSH2 0x00dd
00000d9c: JUMPI
00000d9d: PUSH1 0x20
00000d9f: ADD
00000da0: DUP3
00000da1: CALLDATASIZE
00000da2: SUB
00000da3: DUP2
00000da4: SGT
00000da5: PUSH2 0x00dd
00000da8: JUMPI
00000da9: SWAP2
00000daa: SWAP1
00000dab: JUMP
00000dac: JUMPDEST
00000dad: PUSH2 0x0d56
00000db0: JUMP
00000db1: JUMPDEST
00000db2: SWAP1
00000db3: ISZERO
00000db4: PUSH2 0x0dac
00000db7: JUMPI
00000db8: DUP1
00000db9: CALLDATALOAD
00000dba: SWAP1
00000dbb: PUSH1 0x1e
00000dbd: NOT
00000dbe: DUP2
00000dbf: CALLDATASIZE
00000dc0: SUB
00000dc1: ADD
00000dc2: DUP3
00000dc3: SLT
00000dc4: ISZERO
00000dc5: PUSH2 0x00dd
00000dc8: JUMPI
00000dc9: ADD
00000dca: SWAP1
00000dcb: DUP2
00000dcc: CALLDATALOAD
00000dcd: SWAP2
00000dce: PUSH1 0x01
00000dd0: PUSH1 0x01
00000dd2: PUSH1 0x40
00000dd4: SHL
00000dd5: SUB
00000dd6: DUP4
00000dd7: GT
00000dd8: PUSH2 0x00dd
00000ddb: JUMPI
00000ddc: PUSH1 0x20
00000dde: ADD
00000ddf: DUP3
00000de0: CALLDATASIZE
00000de1: SUB
00000de2: DUP2
00000de3: SGT
00000de4: PUSH2 0x00dd
00000de7: JUMPI
00000de8: SWAP2
00000de9: SWAP1
00000dea: JUMP
00000deb: JUMPDEST
00000dec: SWAP1
00000ded: PUSH1 0x01
00000def: LT
00000df0: ISZERO
00000df1: PUSH2 0x0dac
00000df4: JUMPI
00000df5: PUSH1 0x20
00000df7: DUP2
00000df8: ADD
00000df9: CALLDATALOAD
00000dfa: SWAP1
00000dfb: PUSH1 0x1e
00000dfd: NOT
00000dfe: DUP2
00000dff: CALLDATASIZE
00000e00: SUB
00000e01: ADD
00000e02: DUP3
00000e03: SLT
00000e04: ISZERO
00000e05: PUSH2 0x00dd
00000e08: JUMPI
00000e09: ADD
00000e0a: SWAP1
00000e0b: DUP2
00000e0c: CALLDATALOAD
00000e0d: SWAP2
00000e0e: PUSH1 0x01
00000e10: PUSH1 0x01
00000e12: PUSH1 0x40
00000e14: SHL
00000e15: SUB
00000e16: DUP4
00000e17: GT
00000e18: PUSH2 0x00dd
00000e1b: JUMPI
00000e1c: PUSH1 0x20
00000e1e: ADD
00000e1f: DUP3
00000e20: CALLDATASIZE
00000e21: SUB
00000e22: DUP2
00000e23: SGT
00000e24: PUSH2 0x00dd
00000e27: JUMPI
00000e28: SWAP2
00000e29: SWAP1
00000e2a: JUMP
00000e2b: JUMPDEST
00000e2c: SWAP1
00000e2d: PUSH1 0x02
00000e2f: LT
00000e30: ISZERO
00000e31: PUSH2 0x0dac
00000e34: JUMPI
00000e35: PUSH1 0x40
00000e37: ADD
00000e38: SWAP1
00000e39: JUMP
00000e3a: JUMPDEST
00000e3b: SWAP1
00000e3c: ISZERO
00000e3d: PUSH2 0x0dac
00000e40: JUMPI
00000e41: SWAP1
00000e42: JUMP
00000e43: JUMPDEST
00000e44: SWAP1
00000e45: PUSH1 0x01
00000e47: LT
00000e48: ISZERO
00000e49: PUSH2 0x0dac
00000e4c: JUMPI
00000e4d: PUSH1 0x20
00000e4f: ADD
00000e50: SWAP1
00000e51: JUMP
00000e52: JUMPDEST
00000e53: PUSH4 0x4e487b71
00000e58: PUSH1 0xe0
00000e5a: SHL
00000e5b: PUSH1 0x00
00000e5d: MSTORE
00000e5e: PUSH1 0x41
00000e60: PUSH1 0x04
00000e62: MSTORE
00000e63: PUSH1 0x24
00000e65: PUSH1 0x00
00000e67: REVERT
00000e68: JUMPDEST
00000e69: PUSH1 0x80
00000e6b: DUP2
00000e6c: ADD
00000e6d: SWAP1
00000e6e: DUP2
00000e6f: LT
00000e70: PUSH1 0x01
00000e72: PUSH1 0x01
00000e74: PUSH1 0x40
00000e76: SHL
00000e77: SUB
00000e78: DUP3
00000e79: GT
00000e7a: OR
00000e7b: PUSH2 0x0e83
00000e7e: JUMPI
00000e7f: PUSH1 0x40
00000e81: MSTORE
00000e82: JUMP
00000e83: JUMPDEST
00000e84: PUSH2 0x0e52
00000e87: JUMP
00000e88: JUMPDEST
00000e89: PUSH1 0xc0
00000e8b: DUP2
00000e8c: ADD
00000e8d: SWAP1
00000e8e: DUP2
00000e8f: LT
00000e90: PUSH1 0x01
00000e92: PUSH1 0x01
00000e94: PUSH1 0x40
00000e96: SHL
00000e97: SUB
00000e98: DUP3
00000e99: GT
00000e9a: OR
00000e9b: PUSH2 0x0e83
00000e9e: JUMPI
00000e9f: PUSH1 0x40
00000ea1: MSTORE
00000ea2: JUMP
00000ea3: JUMPDEST
00000ea4: PUSH1 0x20
00000ea6: DUP2
00000ea7: ADD
00000ea8: SWAP1
00000ea9: DUP2
00000eaa: LT
00000eab: PUSH1 0x01
00000ead: PUSH1 0x01
00000eaf: PUSH1 0x40
00000eb1: SHL
00000eb2: SUB
00000eb3: DUP3
00000eb4: GT
00000eb5: OR
00000eb6: PUSH2 0x0e83
00000eb9: JUMPI
00000eba: PUSH1 0x40
00000ebc: MSTORE
00000ebd: JUMP
00000ebe: JUMPDEST
00000ebf: PUSH1 0x40
00000ec1: DUP2
00000ec2: ADD
00000ec3: SWAP1
00000ec4: DUP2
00000ec5: LT
00000ec6: PUSH1 0x01
00000ec8: PUSH1 0x01
00000eca: PUSH1 0x40
00000ecc: SHL
00000ecd: SUB
00000ece: DUP3
00000ecf: GT
00000ed0: OR
00000ed1: PUSH2 0x0e83
00000ed4: JUMPI
00000ed5: PUSH1 0x40
00000ed7: MSTORE
00000ed8: JUMP
00000ed9: JUMPDEST
00000eda: SWAP1
00000edb: PUSH1 0x1f
00000edd: DUP1
00000ede: NOT
00000edf: SWAP2
00000ee0: ADD
00000ee1: AND
00000ee2: DUP2
00000ee3: ADD
00000ee4: SWAP1
00000ee5: DUP2
00000ee6: LT
00000ee7: PUSH1 0x01
00000ee9: PUSH1 0x01
00000eeb: PUSH1 0x40
00000eed: SHL
00000eee: SUB
00000eef: DUP3
00000ef0: GT
00000ef1: OR
00000ef2: PUSH2 0x0e83
00000ef5: JUMPI
00000ef6: PUSH1 0x40
00000ef8: MSTORE
00000ef9: JUMP
00000efa: JUMPDEST
00000efb: PUSH1 0x40
00000efd: MLOAD
00000efe: SWAP1
00000eff: PUSH1 0x60
00000f01: DUP3
00000f02: ADD
00000f03: DUP3
00000f04: DUP2
00000f05: LT
00000f06: PUSH1 0x01
00000f08: PUSH1 0x01
00000f0a: PUSH1 0x40
00000f0c: SHL
00000f0d: SUB
00000f0e: DUP3
00000f0f: GT
00000f10: OR
00000f11: PUSH2 0x0e83
00000f14: JUMPI
00000f15: PUSH1 0x40
00000f17: MSTORE
00000f18: JUMP
00000f19: JUMPDEST
00000f1a: PUSH1 0x01
00000f1c: PUSH1 0x01
00000f1e: PUSH1 0x40
00000f20: SHL
00000f21: SUB
00000f22: DUP2
00000f23: GT
00000f24: PUSH2 0x0e83
00000f27: JUMPI
00000f28: PUSH1 0x1f
00000f2a: ADD
00000f2b: PUSH1 0x1f
00000f2d: NOT
00000f2e: AND
00000f2f: PUSH1 0x20
00000f31: ADD
00000f32: SWAP1
00000f33: JUMP
00000f34: JUMPDEST
00000f35: PUSH1 0x40
00000f37: MLOAD
00000f38: SWAP1
00000f39: PUSH2 0x0f41
00000f3c: DUP3
00000f3d: PUSH2 0x0ea3
00000f40: JUMP
00000f41: JUMPDEST
00000f42: PUSH1 0x00
00000f44: DUP3
00000f45: MSTORE
00000f46: JUMP
00000f47: JUMPDEST
00000f48: SWAP3
00000f49: SWAP2
00000f4a: SWAP3
00000f4b: PUSH2 0x0f53
00000f4e: DUP3
00000f4f: PUSH2 0x0f19
00000f52: JUMP
00000f53: JUMPDEST
00000f54: SWAP2
00000f55: PUSH2 0x0f61
00000f58: PUSH1 0x40
00000f5a: MLOAD
00000f5b: SWAP4
00000f5c: DUP5
00000f5d: PUSH2 0x0ed9
00000f60: JUMP
00000f61: JUMPDEST
00000f62: DUP3
00000f63: SWAP5
00000f64: DUP2
00000f65: DUP5
00000f66: MSTORE
00000f67: DUP2
00000f68: DUP4
00000f69: ADD
00000f6a: GT
00000f6b: PUSH2 0x00dd
00000f6e: JUMPI
00000f6f: DUP3
00000f70: DUP2
00000f71: PUSH1 0x20
00000f73: SWAP4
00000f74: DUP5
00000f75: PUSH1 0x00
00000f77: SWAP7
00000f78: ADD
00000f79: CALLDATACOPY
00000f7a: ADD
00000f7b: ADD
00000f7c: MSTORE
00000f7d: JUMP
00000f7e: JUMPDEST
00000f7f: SWAP3
00000f80: SWAP2
00000f81: SWAP1
00000f82: SWAP3
00000f83: PUSH1 0x01
00000f85: PUSH1 0x01
00000f87: PUSH1 0x40
00000f89: SHL
00000f8a: SUB
00000f8b: SWAP2
00000f8c: DUP3
00000f8d: DUP6
00000f8e: GT
00000f8f: PUSH2 0x0e83
00000f92: JUMPI
00000f93: DUP5
00000f94: PUSH1 0x05
00000f96: SHL
00000f97: PUSH1 0x40
00000f99: MLOAD
00000f9a: SWAP4
00000f9b: PUSH1 0x20
00000f9d: DUP1
00000f9e: SWAP6
00000f9f: PUSH2 0x0faa
00000fa2: DUP3
00000fa3: DUP6
00000fa4: ADD
00000fa5: DUP3
00000fa6: PUSH2 0x0ed9
00000fa9: JUMP
00000faa: JUMPDEST
00000fab: DUP1
00000fac: SWAP9
00000fad: DUP2
00000fae: MSTORE
00000faf: ADD
00000fb0: SWAP2
00000fb1: DUP5
00000fb2: ADD
00000fb3: SWAP4
00000fb4: DUP4
00000fb5: DUP6
00000fb6: GT
00000fb7: PUSH2 0x00dd
00000fba: JUMPI
00000fbb: DUP1
00000fbc: SWAP3
00000fbd: JUMPDEST
00000fbe: DUP6
00000fbf: DUP5
00000fc0: LT
00000fc1: PUSH2 0x0fcd
00000fc4: JUMPI
00000fc5: POP
00000fc6: POP
00000fc7: POP
00000fc8: POP
00000fc9: POP
00000fca: POP
00000fcb: POP
00000fcc: JUMP
00000fcd: JUMPDEST
00000fce: DUP4
00000fcf: CALLDATALOAD
00000fd0: DUP4
00000fd1: DUP2
00000fd2: GT
00000fd3: PUSH2 0x00dd
00000fd6: JUMPI
00000fd7: DUP3
00000fd8: ADD
00000fd9: DUP6
00000fda: PUSH1 0x1f
00000fdc: DUP3
00000fdd: ADD
00000fde: SLT
00000fdf: ISZERO
00000fe0: PUSH2 0x00dd
00000fe3: JUMPI
00000fe4: DUP8
00000fe5: SWAP2
00000fe6: PUSH2 0x0ff5
00000fe9: DUP8
00000fea: DUP4
00000feb: DUP6
00000fec: DUP1
00000fed: SWAP6
00000fee: CALLDATALOAD
00000fef: SWAP2
00000ff0: ADD
00000ff1: PUSH2 0x0f47
00000ff4: JUMP
00000ff5: JUMPDEST
00000ff6: DUP2
00000ff7: MSTORE
00000ff8: ADD
00000ff9: SWAP4
00000ffa: ADD
00000ffb: SWAP3
00000ffc: PUSH2 0x0fbd
00000fff: JUMP
00001000: JUMPDEST
00001001: SWAP2
00001002: SWAP1
00001003: DUP3
00001004: MLOAD
00001005: SWAP3
00001006: DUP4
00001007: DUP3
00001008: MSTORE
00001009: PUSH1 0x00
0000100b: JUMPDEST
0000100c: DUP5
0000100d: DUP2
0000100e: LT
0000100f: PUSH2 0x102c
00001012: JUMPI
00001013: POP
00001014: POP
00001015: DUP3
00001016: PUSH1 0x00
00001018: PUSH1 0x20
0000101a: DUP1
0000101b: SWAP5
0000101c: SWAP6
0000101d: DUP5
0000101e: ADD
0000101f: ADD
00001020: MSTORE
00001021: PUSH1 0x1f
00001023: DUP1
00001024: NOT
00001025: SWAP2
00001026: ADD
00001027: AND
00001028: ADD
00001029: ADD
0000102a: SWAP1
0000102b: JUMP
0000102c: JUMPDEST
0000102d: PUSH1 0x20
0000102f: DUP2
00001030: DUP4
00001031: ADD
00001032: DUP2
00001033: ADD
00001034: MLOAD
00001035: DUP5
00001036: DUP4
00001037: ADD
00001038: DUP3
00001039: ADD
0000103a: MSTORE
0000103b: ADD
0000103c: PUSH2 0x100b
0000103f: JUMP
00001040: JUMPDEST
00001041: PUSH1 0x01
00001043: PUSH1 0x01
00001045: PUSH1 0xa0
00001047: SHL
00001048: SUB
00001049: SWAP2
0000104a: DUP3
0000104b: AND
0000104c: DUP2
0000104d: MSTORE
0000104e: SWAP2
0000104f: AND
00001050: PUSH1 0x20
00001052: DUP3
00001053: ADD
00001054: MSTORE
00001055: PUSH1 0x60
00001057: PUSH1 0x40
00001059: DUP3
0000105a: ADD
0000105b: DUP2
0000105c: SWAP1
0000105d: MSTORE
0000105e: PUSH2 0x1069
00001061: SWAP3
00001062: SWAP2
00001063: ADD
00001064: SWAP1
00001065: PUSH2 0x1000
00001068: JUMP
00001069: JUMPDEST
0000106a: SWAP1
0000106b: JUMP
0000106c: JUMPDEST
0000106d: PUSH1 0x40
0000106f: MLOAD
00001070: PUSH2 0x1078
00001073: DUP2
00001074: PUSH2 0x0ea3
00001077: JUMP
00001078: JUMPDEST
00001079: PUSH1 0x00
0000107b: DUP2
0000107c: MSTORE
0000107d: SWAP1
0000107e: JUMP
0000107f: JUMPDEST
00001080: ISZERO
00001081: PUSH2 0x1086
00001084: JUMPI
00001085: JUMP
00001086: JUMPDEST
00001087: PUSH1 0x40
00001089: MLOAD
0000108a: PUSH3 0x461bcd
0000108e: PUSH1 0xe5
00001090: SHL
00001091: DUP2
00001092: MSTORE
00001093: PUSH1 0x20
00001095: PUSH1 0x04
00001097: DUP3
00001098: ADD
00001099: MSTORE
0000109a: PUSH1 0x02
0000109c: PUSH1 0x24
0000109e: DUP3
0000109f: ADD
000010a0: MSTORE
000010a1: PUSH2 0x7231
000010a4: PUSH1 0xf0
000010a6: SHL
000010a7: PUSH1 0x44
000010a9: DUP3
000010aa: ADD
000010ab: MSTORE
000010ac: PUSH1 0x64
000010ae: SWAP1
000010af: REVERT
000010b0: JUMPDEST
000010b1: ISZERO
000010b2: PUSH2 0x10b7
000010b5: JUMPI
000010b6: JUMP
000010b7: JUMPDEST
000010b8: PUSH1 0x40
000010ba: MLOAD
000010bb: PUSH3 0x461bcd
000010bf: PUSH1 0xe5
000010c1: SHL
000010c2: DUP2
000010c3: MSTORE
000010c4: PUSH1 0x20
000010c6: PUSH1 0x04
000010c8: DUP3
000010c9: ADD
000010ca: MSTORE
000010cb: PUSH1 0x02
000010cd: PUSH1 0x24
000010cf: DUP3
000010d0: ADD
000010d1: MSTORE
000010d2: PUSH2 0x0c95
000010d5: PUSH1 0xf2
000010d7: SHL
000010d8: PUSH1 0x44
000010da: DUP3
000010db: ADD
000010dc: MSTORE
000010dd: PUSH1 0x64
000010df: SWAP1
000010e0: REVERT
000010e1: JUMPDEST
000010e2: ISZERO
000010e3: PUSH2 0x10e8
000010e6: JUMPI
000010e7: JUMP
000010e8: JUMPDEST
000010e9: PUSH1 0x40
000010eb: MLOAD
000010ec: PUSH3 0x461bcd
000010f0: PUSH1 0xe5
000010f2: SHL
000010f3: DUP2
000010f4: MSTORE
000010f5: PUSH1 0x20
000010f7: PUSH1 0x04
000010f9: DUP3
000010fa: ADD
000010fb: MSTORE
000010fc: PUSH1 0x02
000010fe: PUSH1 0x24
00001100: DUP3
00001101: ADD
00001102: MSTORE
00001103: PUSH2 0x0c55
00001106: PUSH1 0xf2
00001108: SHL
00001109: PUSH1 0x44
0000110b: DUP3
0000110c: ADD
0000110d: MSTORE
0000110e: PUSH1 0x64
00001110: SWAP1
00001111: REVERT
00001112: JUMPDEST
00001113: SWAP1
00001114: DUP2
00001115: PUSH1 0x20
00001117: SWAP2
00001118: SUB
00001119: SLT
0000111a: PUSH2 0x00dd
0000111d: JUMPI
0000111e: MLOAD
0000111f: SWAP1
00001120: JUMP
00001121: JUMPDEST
00001122: SWAP7
00001123: SWAP6
00001124: SWAP5
00001125: SWAP4
00001126: SWAP1
00001127: PUSH1 0x01
00001129: DUP1
0000112a: PUSH1 0xa0
0000112c: SHL
0000112d: SUB
0000112e: AND
0000112f: DUP8
00001130: MSTORE
00001131: PUSH2 0x114d
00001134: PUSH1 0x20
00001136: SWAP3
00001137: PUSH1 0x00
00001139: DUP5
0000113a: DUP11
0000113b: ADD
0000113c: MSTORE
0000113d: PUSH1 0xe0
0000113f: PUSH1 0x40
00001141: DUP11
00001142: ADD
00001143: MSTORE
00001144: PUSH1 0xe0
00001146: DUP10
00001147: ADD
00001148: SWAP1
00001149: PUSH2 0x1000
0000114c: JUMP
0000114d: JUMPDEST
0000114e: SWAP3
0000114f: PUSH1 0x60
00001151: DUP9
00001152: ADD
00001153: MSTORE
00001154: PUSH1 0x80
00001156: DUP8
00001157: ADD
00001158: MSTORE
00001159: DUP6
0000115a: DUP3
0000115b: SUB
0000115c: PUSH1 0xa0
0000115e: DUP8
0000115f: ADD
00001160: MSTORE
00001161: DUP3
00001162: MLOAD
00001163: SWAP1
00001164: DUP2
00001165: DUP4
00001166: MSTORE
00001167: DUP1
00001168: DUP4
00001169: ADD
0000116a: SWAP3
0000116b: DUP2
0000116c: DUP1
0000116d: DUP5
0000116e: PUSH1 0x05
00001170: SHL
00001171: DUP4
00001172: ADD
00001173: ADD
00001174: SWAP6
00001175: ADD
00001176: SWAP4
00001177: PUSH1 0x00
00001179: SWAP2
0000117a: JUMPDEST
0000117b: DUP5
0000117c: DUP4
0000117d: LT
0000117e: PUSH2 0x119f
00001181: JUMPI
00001182: POP
00001183: POP
00001184: POP
00001185: POP
00001186: POP
00001187: POP
00001188: SWAP1
00001189: PUSH1 0xc0
0000118b: PUSH2 0x119d
0000118e: SWAP3
0000118f: SWAP5
00001190: ADD
00001191: SWAP1
00001192: PUSH1 0x01
00001194: DUP1
00001195: PUSH1 0xa0
00001197: SHL
00001198: SUB
00001199: AND
0000119a: SWAP1
0000119b: MSTORE
0000119c: JUMP
0000119d: JUMPDEST
0000119e: JUMP
0000119f: JUMPDEST
000011a0: SWAP1
000011a1: SWAP2
000011a2: SWAP3
000011a3: SWAP4
000011a4: SWAP5
000011a5: SWAP6
000011a6: DUP5
000011a7: DUP1
000011a8: PUSH2 0x11bd
000011ab: PUSH1 0x01
000011ad: SWAP4
000011ae: PUSH1 0x1f
000011b0: NOT
000011b1: DUP7
000011b2: DUP3
000011b3: SUB
000011b4: ADD
000011b5: DUP8
000011b6: MSTORE
000011b7: DUP11
000011b8: MLOAD
000011b9: PUSH2 0x1000
000011bc: JUMP
000011bd: JUMPDEST
000011be: SWAP9
000011bf: ADD
000011c0: SWAP4
000011c1: ADD
000011c2: SWAP4
000011c3: ADD
000011c4: SWAP2
000011c5: SWAP5
000011c6: SWAP4
000011c7: SWAP3
000011c8: SWAP1
000011c9: PUSH2 0x117a
000011cc: JUMP
000011cd: JUMPDEST
000011ce: SWAP4
000011cf: SWAP3
000011d0: SWAP2
000011d1: SWAP1
000011d2: PUSH2 0x8006
000011d5: DUP6
000011d6: MSTORE
000011d7: PUSH2 0x11f3
000011da: PUSH1 0x20
000011dc: SWAP2
000011dd: PUSH1 0x00
000011df: DUP4
000011e0: DUP9
000011e1: ADD
000011e2: MSTORE
000011e3: PUSH1 0xe0
000011e5: PUSH1 0x40
000011e7: DUP9
000011e8: ADD
000011e9: MSTORE
000011ea: PUSH1 0xe0
000011ec: DUP8
000011ed: ADD
000011ee: SWAP1
000011ef: PUSH2 0x1000
000011f2: JUMP
000011f3: JUMPDEST
000011f4: SWAP1
000011f5: PUSH3 0x989680
000011f9: PUSH1 0x60
000011fb: DUP8
000011fc: ADD
000011fd: MSTORE
000011fe: PUSH2 0x0320
00001201: PUSH1 0x80
00001203: DUP8
00001204: ADD
00001205: MSTORE
00001206: DUP6
00001207: DUP3
00001208: SUB
00001209: PUSH1 0xa0
0000120b: DUP8
0000120c: ADD
0000120d: MSTORE
0000120e: DUP3
0000120f: MLOAD
00001210: SWAP1
00001211: DUP2
00001212: DUP4
00001213: MSTORE
00001214: DUP1
00001215: DUP4
00001216: ADD
00001217: SWAP3
00001218: DUP2
00001219: DUP1
0000121a: DUP5
0000121b: PUSH1 0x05
0000121d: SHL
0000121e: DUP4
0000121f: ADD
00001220: ADD
00001221: SWAP6
00001222: ADD
00001223: SWAP4
00001224: PUSH1 0x00
00001226: SWAP2
00001227: JUMPDEST
00001228: DUP5
00001229: DUP4
0000122a: LT
0000122b: PUSH2 0x124a
0000122e: JUMPI
0000122f: POP
00001230: POP
00001231: POP
00001232: POP
00001233: POP
00001234: POP
00001235: SWAP1
00001236: PUSH1 0xc0
00001238: PUSH2 0x119d
0000123b: SWAP3
0000123c: SWAP5
0000123d: ADD
0000123e: SWAP1
0000123f: PUSH1 0x01
00001241: DUP1
00001242: PUSH1 0xa0
00001244: SHL
00001245: SUB
00001246: AND
00001247: SWAP1
00001248: MSTORE
00001249: JUMP
0000124a: JUMPDEST
0000124b: SWAP1
0000124c: SWAP2
0000124d: SWAP3
0000124e: SWAP4
0000124f: SWAP5
00001250: SWAP6
00001251: DUP5
00001252: DUP1
00001253: PUSH2 0x1268
00001256: PUSH1 0x01
00001258: SWAP4
00001259: PUSH1 0x1f
0000125b: NOT
0000125c: DUP7
0000125d: DUP3
0000125e: SUB
0000125f: ADD
00001260: DUP8
00001261: MSTORE
00001262: DUP11
00001263: MLOAD
00001264: PUSH2 0x1000
00001267: JUMP
00001268: JUMPDEST
00001269: SWAP9
0000126a: ADD
0000126b: SWAP4
0000126c: ADD
0000126d: SWAP4
0000126e: ADD
0000126f: SWAP2
00001270: SWAP5
00001271: SWAP4
00001272: SWAP3
00001273: SWAP1
00001274: PUSH2 0x1227
00001277: JUMP
00001278: JUMPDEST
00001279: PUSH1 0x40
0000127b: MLOAD
0000127c: RETURNDATASIZE
0000127d: PUSH1 0x00
0000127f: DUP3
00001280: RETURNDATACOPY
00001281: RETURNDATASIZE
00001282: SWAP1
00001283: REVERT
00001284: JUMPDEST
00001285: SWAP2
00001286: SWAP1
00001287: DUP3
00001288: SUB
00001289: SWAP2
0000128a: DUP3
0000128b: GT
0000128c: PUSH2 0x0d1f
0000128f: JUMPI
00001290: JUMP
00001291: JUMPDEST
00001292: PUSH1 0x40
00001294: MLOAD
00001295: PUSH4 0x70a08231
0000129a: PUSH1 0xe0
0000129c: SHL
0000129d: DUP1
0000129e: DUP3
0000129f: MSTORE
000012a0: ADDRESS
000012a1: PUSH1 0x04
000012a3: DUP4
000012a4: ADD
000012a5: MSTORE
000012a6: PUSH1 0x20
000012a8: SWAP5
000012a9: SWAP3
000012aa: SWAP4
000012ab: PUSH1 0x01
000012ad: PUSH1 0x01
000012af: PUSH1 0xa0
000012b1: SHL
000012b2: SUB
000012b3: DUP2
000012b4: AND
000012b5: SWAP4
000012b6: SWAP1
000012b7: DUP7
000012b8: DUP5
000012b9: PUSH1 0x24
000012bb: DUP2
000012bc: DUP9
000012bd: GAS
000012be: STATICCALL
000012bf: SWAP6
000012c0: DUP7
000012c1: ISZERO
000012c2: PUSH2 0x0618
000012c5: JUMPI
000012c6: DUP8
000012c7: SWAP5
000012c8: PUSH1 0x00
000012ca: SWAP8
000012cb: PUSH2 0x132a
000012ce: JUMPI
000012cf: JUMPDEST
000012d0: POP
000012d1: SWAP1
000012d2: PUSH2 0x12dd
000012d5: SWAP3
000012d6: SWAP2
000012d7: ADDRESS
000012d8: SWAP2
000012d9: PUSH2 0x1351
000012dc: JUMP
000012dd: JUMPDEST
000012de: PUSH1 0x40
000012e0: MLOAD
000012e1: SWAP1
000012e2: DUP2
000012e3: MSTORE
000012e4: ADDRESS
000012e5: PUSH1 0x04
000012e7: DUP3
000012e8: ADD
000012e9: MSTORE
000012ea: SWAP2
000012eb: DUP3
000012ec: SWAP1
000012ed: PUSH1 0x24
000012ef: SWAP1
000012f0: DUP3
000012f1: SWAP1
000012f2: GAS
000012f3: STATICCALL
000012f4: SWAP1
000012f5: DUP2
000012f6: ISZERO
000012f7: PUSH2 0x0618
000012fa: JUMPI
000012fb: PUSH2 0x1069
000012fe: SWAP4
000012ff: PUSH1 0x00
00001301: SWAP3
00001302: PUSH2 0x130d
00001305: JUMPI
00001306: JUMPDEST
00001307: POP
00001308: POP
00001309: PUSH2 0x1284
0000130c: JUMP
0000130d: JUMPDEST
0000130e: PUSH2 0x1323
00001311: SWAP3
00001312: POP
00001313: DUP1
00001314: RETURNDATASIZE
00001315: LT
00001316: PUSH2 0x085c
00001319: JUMPI
0000131a: PUSH2 0x084d
0000131d: DUP2
0000131e: DUP4
0000131f: PUSH2 0x0ed9
00001322: JUMP
00001323: JUMPDEST
00001324: CODESIZE
00001325: DUP1
00001326: PUSH2 0x1306
00001329: JUMP
0000132a: JUMPDEST
0000132b: PUSH2 0x12dd
0000132e: SWAP4
0000132f: SWAP3
00001330: SWAP2
00001331: SWAP8
00001332: POP
00001333: PUSH2 0x1348
00001336: SWAP1
00001337: DUP7
00001338: RETURNDATASIZE
00001339: DUP9
0000133a: GT
0000133b: PUSH2 0x085c
0000133e: JUMPI
0000133f: PUSH2 0x084d
00001342: DUP2
00001343: DUP4
00001344: PUSH2 0x0ed9
00001347: JUMP
00001348: JUMPDEST
00001349: SWAP7
0000134a: SWAP1
0000134b: SWAP2
0000134c: SWAP3
0000134d: PUSH2 0x12cf
00001350: JUMP
00001351: JUMPDEST
00001352: PUSH1 0x40
00001354: MLOAD
00001355: PUSH4 0x23b872dd
0000135a: PUSH1 0xe0
0000135c: SHL
0000135d: PUSH1 0x20
0000135f: DUP3
00001360: ADD
00001361: MSTORE
00001362: PUSH1 0x01
00001364: PUSH1 0x01
00001366: PUSH1 0xa0
00001368: SHL
00001369: SUB
0000136a: SWAP3
0000136b: DUP4
0000136c: AND
0000136d: PUSH1 0x24
0000136f: DUP3
00001370: ADD
00001371: MSTORE
00001372: SWAP3
00001373: SWAP1
00001374: SWAP2
00001375: AND
00001376: PUSH1 0x44
00001378: DUP4
00001379: ADD
0000137a: MSTORE
0000137b: PUSH1 0x64
0000137d: DUP1
0000137e: DUP4
0000137f: ADD
00001380: SWAP4
00001381: SWAP1
00001382: SWAP4
00001383: MSTORE
00001384: SWAP2
00001385: DUP2
00001386: MSTORE
00001387: PUSH1 0xa0
00001389: DUP2
0000138a: ADD
0000138b: SWAP2
0000138c: DUP2
0000138d: DUP4
0000138e: LT
0000138f: PUSH1 0x01
00001391: PUSH1 0x01
00001393: PUSH1 0x40
00001395: SHL
00001396: SUB
00001397: DUP5
00001398: GT
00001399: OR
0000139a: PUSH2 0x0e83
0000139d: JUMPI
0000139e: PUSH2 0x119d
000013a1: SWAP3
000013a2: PUSH1 0x40
000013a4: MSTORE
000013a5: PUSH2 0x13c1
000013a8: JUMP
000013a9: JUMPDEST
000013aa: SWAP1
000013ab: DUP2
000013ac: PUSH1 0x20
000013ae: SWAP2
000013af: SUB
000013b0: SLT
000013b1: PUSH2 0x00dd
000013b4: JUMPI
000013b5: MLOAD
000013b6: DUP1
000013b7: ISZERO
000013b8: ISZERO
000013b9: DUP2
000013ba: SUB
000013bb: PUSH2 0x00dd
000013be: JUMPI
000013bf: SWAP1
000013c0: JUMP
000013c1: JUMPDEST
000013c2: PUSH1 0x40
000013c4: MLOAD
000013c5: PUSH2 0x141f
000013c8: SWAP2
000013c9: PUSH1 0x01
000013cb: PUSH1 0x01
000013cd: PUSH1 0xa0
000013cf: SHL
000013d0: SUB
000013d1: AND
000013d2: PUSH2 0x13da
000013d5: DUP3
000013d6: PUSH2 0x0ebe
000013d9: JUMP
000013da: JUMPDEST
000013db: PUSH1 0x00
000013dd: DUP1
000013de: PUSH1 0x20
000013e0: SWAP6
000013e1: DUP7
000013e2: DUP6
000013e3: MSTORE
000013e4: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00001405: DUP8
00001406: DUP7
00001407: ADD
00001408: MSTORE
00001409: DUP7
0000140a: DUP2
0000140b: MLOAD
0000140c: SWAP2
0000140d: ADD
0000140e: DUP3
0000140f: DUP6
00001410: GAS
00001411: CALL
00001412: PUSH2 0x1419
00001415: PUSH2 0x14a7
00001418: JUMP
00001419: JUMPDEST
0000141a: SWAP2
0000141b: PUSH2 0x14d7
0000141e: JUMP
0000141f: JUMPDEST
00001420: DUP1
00001421: MLOAD
00001422: SWAP1
00001423: DUP3
00001424: DUP3
00001425: ISZERO
00001426: SWAP3
00001427: DUP4
00001428: ISZERO
00001429: PUSH2 0x148f
0000142c: JUMPI
0000142d: JUMPDEST
0000142e: POP
0000142f: POP
00001430: POP
00001431: ISZERO
00001432: PUSH2 0x1438
00001435: JUMPI
00001436: POP
00001437: JUMP
00001438: JUMPDEST
00001439: PUSH1 0x84
0000143b: SWAP1
0000143c: PUSH1 0x40
0000143e: MLOAD
0000143f: SWAP1
00001440: PUSH3 0x461bcd
00001444: PUSH1 0xe5
00001446: SHL
00001447: DUP3
00001448: MSTORE
00001449: PUSH1 0x04
0000144b: DUP3
0000144c: ADD
0000144d: MSTORE
0000144e: PUSH1 0x2a
00001450: PUSH1 0x24
00001452: DUP3
00001453: ADD
00001454: MSTORE
00001455: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
00001476: PUSH1 0x44
00001478: DUP3
00001479: ADD
0000147a: MSTORE
0000147b: PUSH10 0x1bdd081cdd58d8d95959
00001486: PUSH1 0xb2
00001488: SHL
00001489: PUSH1 0x64
0000148b: DUP3
0000148c: ADD
0000148d: MSTORE
0000148e: REVERT
0000148f: JUMPDEST
00001490: PUSH2 0x149f
00001493: SWAP4
00001494: POP
00001495: DUP3
00001496: ADD
00001497: DUP2
00001498: ADD
00001499: SWAP2
0000149a: ADD
0000149b: PUSH2 0x13a9
0000149e: JUMP
0000149f: JUMPDEST
000014a0: CODESIZE
000014a1: DUP3
000014a2: DUP2
000014a3: PUSH2 0x142d
000014a6: JUMP
000014a7: JUMPDEST
000014a8: RETURNDATASIZE
000014a9: ISZERO
000014aa: PUSH2 0x14d2
000014ad: JUMPI
000014ae: RETURNDATASIZE
000014af: SWAP1
000014b0: PUSH2 0x14b8
000014b3: DUP3
000014b4: PUSH2 0x0f19
000014b7: JUMP
000014b8: JUMPDEST
000014b9: SWAP2
000014ba: PUSH2 0x14c6
000014bd: PUSH1 0x40
000014bf: MLOAD
000014c0: SWAP4
000014c1: DUP5
000014c2: PUSH2 0x0ed9
000014c5: JUMP
000014c6: JUMPDEST
000014c7: DUP3
000014c8: MSTORE
000014c9: RETURNDATASIZE
000014ca: PUSH1 0x00
000014cc: PUSH1 0x20
000014ce: DUP5
000014cf: ADD
000014d0: RETURNDATACOPY
000014d1: JUMP
000014d2: JUMPDEST
000014d3: PUSH1 0x60
000014d5: SWAP1
000014d6: JUMP
000014d7: JUMPDEST
000014d8: SWAP2
000014d9: SWAP3
000014da: SWAP1
000014db: ISZERO
000014dc: PUSH2 0x1539
000014df: JUMPI
000014e0: POP
000014e1: DUP2
000014e2: MLOAD
000014e3: ISZERO
000014e4: PUSH2 0x14eb
000014e7: JUMPI
000014e8: POP
000014e9: SWAP1
000014ea: JUMP
000014eb: JUMPDEST
000014ec: EXTCODESIZE
000014ed: ISZERO
000014ee: PUSH2 0x14f4
000014f1: JUMPI
000014f2: SWAP1
000014f3: JUMP
000014f4: JUMPDEST
000014f5: PUSH1 0x40
000014f7: MLOAD
000014f8: PUSH3 0x461bcd
000014fc: PUSH1 0xe5
000014fe: SHL
000014ff: DUP2
00001500: MSTORE
00001501: PUSH1 0x20
00001503: PUSH1 0x04
00001505: DUP3
00001506: ADD
00001507: MSTORE
00001508: PUSH1 0x1d
0000150a: PUSH1 0x24
0000150c: DUP3
0000150d: ADD
0000150e: MSTORE
0000150f: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
00001530: PUSH1 0x44
00001532: DUP3
00001533: ADD
00001534: MSTORE
00001535: PUSH1 0x64
00001537: SWAP1
00001538: REVERT
00001539: JUMPDEST
0000153a: DUP3
0000153b: MLOAD
0000153c: SWAP1
0000153d: SWAP2
0000153e: POP
0000153f: ISZERO
00001540: PUSH2 0x154c
00001543: JUMPI
00001544: POP
00001545: DUP1
00001546: MLOAD
00001547: SWAP1
00001548: PUSH1 0x20
0000154a: ADD
0000154b: REVERT
0000154c: JUMPDEST
0000154d: PUSH1 0x40
0000154f: MLOAD
00001550: PUSH3 0x461bcd
00001554: PUSH1 0xe5
00001556: SHL
00001557: DUP2
00001558: MSTORE
00001559: PUSH1 0x20
0000155b: PUSH1 0x04
0000155d: DUP3
0000155e: ADD
0000155f: MSTORE
00001560: SWAP1
00001561: DUP2
00001562: SWAP1
00001563: PUSH2 0x1570
00001566: SWAP1
00001567: PUSH1 0x24
00001569: DUP4
0000156a: ADD
0000156b: SWAP1
0000156c: PUSH2 0x1000
0000156f: JUMP
00001570: JUMPDEST
00001571: SUB
00001572: SWAP1
00001573: REVERT
00001574: JUMPDEST
00001575: PUSH1 0x01
00001577: PUSH1 0x01
00001579: PUSH1 0xa0
0000157b: SHL
0000157c: SUB
0000157d: SWAP2
0000157e: DUP3
0000157f: AND
00001580: DUP2
00001581: MSTORE
00001582: SWAP2
00001583: DUP2
00001584: AND
00001585: PUSH1 0x20
00001587: DUP4
00001588: ADD
00001589: MSTORE
0000158a: SWAP1
0000158b: SWAP2
0000158c: AND
0000158d: PUSH1 0x40
0000158f: DUP3
00001590: ADD
00001591: MSTORE
00001592: PUSH1 0x60
00001594: DUP2
00001595: ADD
00001596: SWAP2
00001597: SWAP1
00001598: SWAP2
00001599: MSTORE
0000159a: PUSH1 0xa0
0000159c: PUSH1 0x80
0000159e: DUP3
0000159f: ADD
000015a0: DUP2
000015a1: SWAP1
000015a2: MSTORE
000015a3: PUSH2 0x1069
000015a6: SWAP3
000015a7: SWAP2
000015a8: ADD
000015a9: SWAP1
000015aa: PUSH2 0x1000
000015ad: JUMP
000015ae: JUMPDEST
000015af: PUSH2 0x168b
000015b2: PUSH2 0x1069
000015b5: SWAP4
000015b6: SWAP3
000015b7: SWAP5
000015b8: PUSH1 0x40
000015ba: MLOAD
000015bb: SWAP1
000015bc: PUSH1 0x20
000015be: DUP3
000015bf: ADD
000015c0: SWAP2
000015c1: PUSH4 0x06fdde03
000015c6: PUSH1 0xe0
000015c8: SHL
000015c9: DUP4
000015ca: MSTORE
000015cb: PUSH1 0x04
000015cd: DUP2
000015ce: MSTORE
000015cf: PUSH2 0x15d7
000015d2: DUP2
000015d3: PUSH2 0x0ebe
000015d6: JUMP
000015d7: JUMPDEST
000015d8: PUSH1 0x00
000015da: DUP1
000015db: SWAP4
000015dc: DUP2
000015dd: SWAP3
000015de: MLOAD
000015df: SWAP1
000015e0: DUP9
000015e1: GAS
000015e2: STATICCALL
000015e3: POP
000015e4: PUSH2 0x15eb
000015e7: PUSH2 0x14a7
000015ea: JUMP
000015eb: JUMPDEST
000015ec: DUP3
000015ed: DUP1
000015ee: PUSH1 0x40
000015f0: MLOAD
000015f1: PUSH1 0x20
000015f3: DUP2
000015f4: ADD
000015f5: SWAP1
000015f6: PUSH4 0x95d89b41
000015fb: PUSH1 0xe0
000015fd: SHL
000015fe: DUP3
000015ff: MSTORE
00001600: PUSH1 0x04
00001602: DUP2
00001603: MSTORE
00001604: PUSH2 0x160c
00001607: DUP2
00001608: PUSH2 0x0ebe
0000160b: JUMP
0000160c: JUMPDEST
0000160d: MLOAD
0000160e: SWAP1
0000160f: DUP10
00001610: GAS
00001611: STATICCALL
00001612: POP
00001613: PUSH2 0x161a
00001616: PUSH2 0x14a7
00001619: JUMP
0000161a: JUMPDEST
0000161b: SWAP3
0000161c: DUP1
0000161d: PUSH1 0x40
0000161f: MLOAD
00001620: PUSH1 0x20
00001622: DUP2
00001623: ADD
00001624: SWAP1
00001625: PUSH4 0x313ce567
0000162a: PUSH1 0xe0
0000162c: SHL
0000162d: DUP3
0000162e: MSTORE
0000162f: PUSH1 0x04
00001631: DUP2
00001632: MSTORE
00001633: PUSH2 0x163b
00001636: DUP2
00001637: PUSH2 0x0ebe
0000163a: JUMP
0000163b: JUMPDEST
0000163c: MLOAD
0000163d: SWAP1
0000163e: DUP10
0000163f: GAS
00001640: STATICCALL
00001641: POP
00001642: PUSH2 0x165b
00001645: PUSH2 0x164c
00001648: PUSH2 0x14a7
0000164b: JUMP
0000164c: JUMPDEST
0000164d: PUSH1 0x40
0000164f: MLOAD
00001650: SWAP5
00001651: DUP6
00001652: SWAP4
00001653: PUSH1 0x20
00001655: DUP6
00001656: ADD
00001657: PUSH2 0x1765
0000165a: JUMP
0000165b: JUMPDEST
0000165c: SUB
0000165d: SWAP5
0000165e: PUSH2 0x166f
00001661: PUSH1 0x1f
00001663: NOT
00001664: SWAP7
00001665: DUP8
00001666: DUP2
00001667: ADD
00001668: DUP6
00001669: MSTORE
0000166a: DUP5
0000166b: PUSH2 0x0ed9
0000166e: JUMP
0000166f: JUMPDEST
00001670: PUSH1 0x40
00001672: MLOAD
00001673: PUSH4 0x67bf0625
00001678: PUSH1 0xe0
0000167a: SHL
0000167b: PUSH1 0x20
0000167d: DUP3
0000167e: ADD
0000167f: MSTORE
00001680: SWAP8
00001681: DUP9
00001682: SWAP6
00001683: PUSH1 0x24
00001685: DUP8
00001686: ADD
00001687: PUSH2 0x1574
0000168a: JUMP
0000168b: JUMPDEST
0000168c: SUB
0000168d: SWAP1
0000168e: DUP2
0000168f: ADD
00001690: DUP4
00001691: MSTORE
00001692: DUP3
00001693: PUSH2 0x0ed9
00001696: JUMP
00001697: JUMPDEST
00001698: PUSH2 0x168b
0000169b: PUSH2 0x1069
0000169e: SWAP4
0000169f: SWAP3
000016a0: SWAP5
000016a1: PUSH1 0x40
000016a3: MLOAD
000016a4: SWAP1
000016a5: PUSH1 0x20
000016a7: DUP3
000016a8: ADD
000016a9: SWAP2
000016aa: PUSH4 0x06fdde03
000016af: PUSH1 0xe0
000016b1: SHL
000016b2: DUP4
000016b3: MSTORE
000016b4: PUSH1 0x04
000016b6: DUP2
000016b7: MSTORE
000016b8: PUSH2 0x16c0
000016bb: DUP2
000016bc: PUSH2 0x0ebe
000016bf: JUMP
000016c0: JUMPDEST
000016c1: PUSH1 0x00
000016c3: DUP1
000016c4: SWAP4
000016c5: DUP2
000016c6: SWAP3
000016c7: MLOAD
000016c8: SWAP1
000016c9: DUP9
000016ca: GAS
000016cb: STATICCALL
000016cc: POP
000016cd: PUSH2 0x16d4
000016d0: PUSH2 0x14a7
000016d3: JUMP
000016d4: JUMPDEST
000016d5: DUP3
000016d6: DUP1
000016d7: PUSH1 0x40
000016d9: MLOAD
000016da: PUSH1 0x20
000016dc: DUP2
000016dd: ADD
000016de: SWAP1
000016df: PUSH4 0x95d89b41
000016e4: PUSH1 0xe0
000016e6: SHL
000016e7: DUP3
000016e8: MSTORE
000016e9: PUSH1 0x04
000016eb: DUP2
000016ec: MSTORE
000016ed: PUSH2 0x16f5
000016f0: DUP2
000016f1: PUSH2 0x0ebe
000016f4: JUMP
000016f5: JUMPDEST
000016f6: MLOAD
000016f7: SWAP1
000016f8: DUP10
000016f9: GAS
000016fa: STATICCALL
000016fb: POP
000016fc: PUSH2 0x1703
000016ff: PUSH2 0x14a7
00001702: JUMP
00001703: JUMPDEST
00001704: SWAP3
00001705: DUP1
00001706: PUSH1 0x40
00001708: MLOAD
00001709: PUSH1 0x20
0000170b: DUP2
0000170c: ADD
0000170d: SWAP1
0000170e: PUSH4 0x313ce567
00001713: PUSH1 0xe0
00001715: SHL
00001716: DUP3
00001717: MSTORE
00001718: PUSH1 0x04
0000171a: DUP2
0000171b: MSTORE
0000171c: PUSH2 0x1724
0000171f: DUP2
00001720: PUSH2 0x0ebe
00001723: JUMP
00001724: JUMPDEST
00001725: MLOAD
00001726: SWAP1
00001727: DUP10
00001728: GAS
00001729: STATICCALL
0000172a: POP
0000172b: PUSH2 0x1735
0000172e: PUSH2 0x164c
00001731: PUSH2 0x14a7
00001734: JUMP
00001735: JUMPDEST
00001736: SUB
00001737: SWAP5
00001738: PUSH2 0x1749
0000173b: PUSH1 0x1f
0000173d: NOT
0000173e: SWAP7
0000173f: DUP8
00001740: DUP2
00001741: ADD
00001742: DUP6
00001743: MSTORE
00001744: DUP5
00001745: PUSH2 0x0ed9
00001748: JUMP
00001749: JUMPDEST
0000174a: PUSH1 0x40
0000174c: MLOAD
0000174d: PUSH4 0x33f9ebdf
00001752: PUSH1 0xe2
00001754: SHL
00001755: PUSH1 0x20
00001757: DUP3
00001758: ADD
00001759: MSTORE
0000175a: SWAP8
0000175b: DUP9
0000175c: SWAP6
0000175d: PUSH1 0x24
0000175f: DUP8
00001760: ADD
00001761: PUSH2 0x1574
00001764: JUMP
00001765: JUMPDEST
00001766: SWAP2
00001767: PUSH2 0x178e
0000176a: SWAP1
0000176b: PUSH2 0x1780
0000176e: PUSH2 0x1069
00001771: SWAP6
00001772: SWAP4
00001773: PUSH1 0x60
00001775: DUP7
00001776: MSTORE
00001777: PUSH1 0x60
00001779: DUP7
0000177a: ADD
0000177b: SWAP1
0000177c: PUSH2 0x1000
0000177f: JUMP
00001780: JUMPDEST
00001781: SWAP1
00001782: DUP5
00001783: DUP3
00001784: SUB
00001785: PUSH1 0x20
00001787: DUP7
00001788: ADD
00001789: MSTORE
0000178a: PUSH2 0x1000
0000178d: JUMP
0000178e: JUMPDEST
0000178f: SWAP2
00001790: PUSH1 0x40
00001792: DUP2
00001793: DUP5
00001794: SUB
00001795: SWAP2
00001796: ADD
00001797: MSTORE
00001798: PUSH2 0x1000
0000179b: JUMP
0000179c: JUMPDEST
0000179d: DUP2
0000179e: DUP4
0000179f: MSTORE
000017a0: SWAP1
000017a1: SWAP2
000017a2: PUSH1 0x01
000017a4: PUSH1 0x01
000017a6: PUSH1 0xfb
000017a8: SHL
000017a9: SUB
000017aa: DUP4
000017ab: GT
000017ac: PUSH2 0x00dd
000017af: JUMPI
000017b0: PUSH1 0x20
000017b2: SWAP3
000017b3: PUSH1 0x05
000017b5: SHL
000017b6: DUP1
000017b7: SWAP3
000017b8: DUP5
000017b9: DUP4
000017ba: ADD
000017bb: CALLDATACOPY
000017bc: ADD
000017bd: ADD
000017be: SWAP1
000017bf: JUMP
000017c0: JUMPDEST
000017c1: SWAP7
000017c2: SWAP6
000017c3: SWAP1
000017c4: PUSH1 0xa0
000017c6: SWAP5
000017c7: PUSH2 0x17f5
000017ca: SWAP5
000017cb: PUSH1 0x00
000017cd: SWAP8
000017ce: SWAP5
000017cf: PUSH2 0xffff
000017d2: SWAP4
000017d3: DUP12
000017d4: MSTORE
000017d5: PUSH1 0x20
000017d7: DUP12
000017d8: ADD
000017d9: MSTORE
000017da: PUSH1 0x40
000017dc: DUP11
000017dd: ADD
000017de: MSTORE
000017df: AND
000017e0: PUSH1 0x60
000017e2: DUP9
000017e3: ADD
000017e4: MSTORE
000017e5: PUSH1 0xc0
000017e7: PUSH1 0x80
000017e9: DUP9
000017ea: ADD
000017eb: MSTORE
000017ec: PUSH1 0xc0
000017ee: DUP8
000017ef: ADD
000017f0: SWAP2
000017f1: PUSH2 0x179c
000017f4: JUMP
000017f5: JUMPDEST
000017f6: SWAP4
000017f7: ADD
000017f8: MSTORE
000017f9: JUMP
000017fa: JUMPDEST
000017fb: ISZERO
000017fc: PUSH2 0x1801
000017ff: JUMPI
00001800: JUMP
00001801: JUMPDEST
00001802: PUSH1 0x40
00001804: MLOAD
00001805: PUSH3 0x461bcd
00001809: PUSH1 0xe5
0000180b: SHL
0000180c: DUP2
0000180d: MSTORE
0000180e: PUSH1 0x20
00001810: PUSH1 0x04
00001812: DUP3
00001813: ADD
00001814: MSTORE
00001815: PUSH1 0x02
00001817: PUSH1 0x24
00001819: DUP3
0000181a: ADD
0000181b: MSTORE
0000181c: PUSH2 0x3cb7
0000181f: PUSH1 0xf1
00001821: SHL
00001822: PUSH1 0x44
00001824: DUP3
00001825: ADD
00001826: MSTORE
00001827: PUSH1 0x64
00001829: SWAP1
0000182a: REVERT
0000182b: JUMPDEST
0000182c: ISZERO
0000182d: PUSH2 0x1832
00001830: JUMPI
00001831: JUMP
00001832: JUMPDEST
00001833: PUSH1 0x40
00001835: MLOAD
00001836: PUSH3 0x461bcd
0000183a: PUSH1 0xe5
0000183c: SHL
0000183d: DUP2
0000183e: MSTORE
0000183f: PUSH1 0x20
00001841: PUSH1 0x04
00001843: DUP3
00001844: ADD
00001845: MSTORE
00001846: PUSH1 0x02
00001848: PUSH1 0x24
0000184a: DUP3
0000184b: ADD
0000184c: MSTORE
0000184d: PUSH2 0x7931
00001850: PUSH1 0xf0
00001852: SHL
00001853: PUSH1 0x44
00001855: DUP3
00001856: ADD
00001857: MSTORE
00001858: PUSH1 0x64
0000185a: SWAP1
0000185b: REVERT
0000185c: JUMPDEST
0000185d: PUSH1 0x40
0000185f: MLOAD
00001860: PUSH4 0xa9059cbb
00001865: PUSH1 0xe0
00001867: SHL
00001868: PUSH1 0x20
0000186a: DUP3
0000186b: ADD
0000186c: MSTORE
0000186d: PUSH1 0x01
0000186f: PUSH1 0x01
00001871: PUSH1 0xa0
00001873: SHL
00001874: SUB
00001875: SWAP3
00001876: SWAP1
00001877: SWAP3
00001878: AND
00001879: PUSH1 0x24
0000187b: DUP4
0000187c: ADD
0000187d: MSTORE
0000187e: PUSH1 0x44
00001880: DUP1
00001881: DUP4
00001882: ADD
00001883: SWAP4
00001884: SWAP1
00001885: SWAP4
00001886: MSTORE
00001887: SWAP2
00001888: DUP2
00001889: MSTORE
0000188a: PUSH2 0x119d
0000188d: SWAP2
0000188e: PUSH2 0x1898
00001891: PUSH1 0x64
00001893: DUP4
00001894: PUSH2 0x0ed9
00001897: JUMP
00001898: JUMPDEST
00001899: PUSH2 0x13c1
0000189c: JUMP
0000189d: JUMPDEST
0000189e: PUSH2 0x1945
000018a1: PUSH2 0x193a
000018a4: PUSH2 0x1965
000018a7: SWAP7
000018a8: SWAP8
000018a9: SWAP9
000018aa: SWAP4
000018ab: SWAP5
000018ac: SWAP6
000018ad: PUSH1 0x00
000018af: DUP1
000018b0: MLOAD
000018b1: PUSH1 0x20
000018b3: PUSH2 0x1dad
000018b6: DUP4
000018b7: CODECOPY
000018b8: DUP2
000018b9: MLOAD
000018ba: SWAP2
000018bb: MSTORE
000018bc: SWAP9
000018bd: PUSH2 0x18c9
000018c0: PUSH1 0x01
000018c2: DUP12
000018c3: SLOAD
000018c4: EQ
000018c5: PUSH2 0x107f
000018c8: JUMP
000018c9: JUMPDEST
000018ca: PUSH1 0x02
000018cc: DUP11
000018cd: SSTORE
000018ce: PUSH2 0x18fe
000018d1: PUSH2 0x18f9
000018d4: PUSH2 0x18f5
000018d7: PUSH2 0x18ee
000018da: DUP11
000018db: PUSH2 0x058e
000018de: DUP11
000018df: PUSH1 0x00
000018e1: MSTORE
000018e2: PUSH1 0x00
000018e4: PUSH1 0x20
000018e6: MSTORE
000018e7: PUSH1 0x40
000018e9: PUSH1 0x00
000018eb: KECCAK256
000018ec: SWAP1
000018ed: JUMP
000018ee: JUMPDEST
000018ef: SLOAD
000018f0: PUSH1 0xff
000018f2: AND
000018f3: SWAP1
000018f4: JUMP
000018f5: JUMPDEST
000018f6: ISZERO
000018f7: SWAP1
000018f8: JUMP
000018f9: JUMPDEST
000018fa: PUSH2 0x1a3c
000018fd: JUMP
000018fe: JUMPDEST
000018ff: PUSH1 0x02
00001901: SLOAD
00001902: PUSH2 0x1933
00001905: SWAP1
00001906: PUSH1 0x01
00001908: PUSH1 0x01
0000190a: PUSH1 0xa0
0000190c: SHL
0000190d: SUB
0000190e: AND
0000190f: PUSH2 0x1923
00001912: PUSH2 0x1919
00001915: PUSH2 0x0efa
00001918: JUMP
00001919: JUMPDEST
0000191a: PUSH2 0xffff
0000191d: SWAP1
0000191e: SWAP12
0000191f: AND
00001920: DUP12
00001921: MSTORE
00001922: JUMP
00001923: JUMPDEST
00001924: PUSH1 0x01
00001926: PUSH1 0x01
00001928: PUSH1 0xa0
0000192a: SHL
0000192b: SUB
0000192c: AND
0000192d: PUSH1 0x20
0000192f: DUP11
00001930: ADD
00001931: MSTORE
00001932: JUMP
00001933: JUMPDEST
00001934: CALLDATASIZE
00001935: SWAP2
00001936: PUSH2 0x0f47
00001939: JUMP
0000193a: JUMPDEST
0000193b: DUP1
0000193c: PUSH1 0x40
0000193e: DUP8
0000193f: ADD
00001940: MSTORE
00001941: PUSH2 0x1af7
00001944: JUMP
00001945: JUMPDEST
00001946: SWAP6
00001947: SWAP2
00001948: SWAP7
00001949: SWAP1
0000194a: SWAP4
0000194b: PUSH1 0x40
0000194d: MLOAD
0000194e: SWAP10
0000194f: DUP11
00001950: SWAP4
00001951: PUSH4 0xe4948f43
00001956: PUSH1 0xe0
00001958: SHL
00001959: DUP6
0000195a: MSTORE
0000195b: DUP8
0000195c: DUP7
0000195d: PUSH1 0x04
0000195f: DUP8
00001960: ADD
00001961: PUSH2 0x1a6d
00001964: JUMP
00001965: JUMPDEST
00001966: PUSH1 0x01
00001968: PUSH1 0x01
0000196a: PUSH1 0xa0
0000196c: SHL
0000196d: SUB
0000196e: SWAP4
0000196f: SWAP2
00001970: PUSH1 0x20
00001972: SWAP2
00001973: DUP11
00001974: SWAP2
00001975: SWAP1
00001976: SUB
00001977: DUP2
00001978: PUSH32 0x0000000000000000000000005fd9f73286b7e8683bab45019c94553b93e015cf
00001999: DUP8
0000199a: AND
0000199b: GAS
0000199c: STATICCALL
0000199d: SWAP2
0000199e: DUP3
0000199f: ISZERO
000019a0: PUSH2 0x0618
000019a3: JUMPI
000019a4: PUSH2 0x19f5
000019a7: PUSH32 0xac1b18083978656d557d6e91c88203585cfda1031bdb14538327121ef140d383
000019c8: SWAP6
000019c9: PUSH2 0x058e
000019cc: PUSH2 0x1a02
000019cf: SWAP4
000019d0: PUSH2 0x19e5
000019d3: DUP9
000019d4: SWAP8
000019d5: PUSH1 0x01
000019d7: SWAP15
000019d8: PUSH1 0x00
000019da: SWAP2
000019db: PUSH2 0x1a1e
000019de: JUMPI
000019df: JUMPDEST
000019e0: POP
000019e1: PUSH2 0x1ac6
000019e4: JUMP
000019e5: JUMPDEST
000019e6: PUSH1 0x00
000019e8: MSTORE
000019e9: PUSH1 0x00
000019eb: PUSH1 0x20
000019ed: MSTORE
000019ee: PUSH1 0x40
000019f0: PUSH1 0x00
000019f2: KECCAK256
000019f3: SWAP1
000019f4: JUMP
000019f5: JUMPDEST
000019f6: DUP1
000019f7: SLOAD
000019f8: PUSH1 0xff
000019fa: NOT
000019fb: AND
000019fc: PUSH1 0x01
000019fe: OR
000019ff: SWAP1
00001a00: SSTORE
00001a01: JUMP
00001a02: JUMPDEST
00001a03: AND
00001a04: SWAP4
00001a05: PUSH2 0x1a0f
00001a08: DUP5
00001a09: DUP3
00001a0a: DUP8
00001a0b: PUSH2 0x185c
00001a0e: JUMP
00001a0f: JUMPDEST
00001a10: PUSH1 0x40
00001a12: MLOAD
00001a13: SWAP4
00001a14: DUP5
00001a15: MSTORE
00001a16: AND
00001a17: SWAP2
00001a18: PUSH1 0x20
00001a1a: SWAP1
00001a1b: LOG3
00001a1c: SSTORE
00001a1d: JUMP
00001a1e: JUMPDEST
00001a1f: PUSH2 0x1a36
00001a22: SWAP2
00001a23: POP
00001a24: PUSH1 0x20
00001a26: RETURNDATASIZE
00001a27: DUP2
00001a28: GT
00001a29: PUSH2 0x0611
00001a2c: JUMPI
00001a2d: PUSH2 0x0603
00001a30: DUP2
00001a31: DUP4
00001a32: PUSH2 0x0ed9
00001a35: JUMP
00001a36: JUMPDEST
00001a37: CODESIZE
00001a38: PUSH2 0x19df
00001a3b: JUMP
00001a3c: JUMPDEST
00001a3d: ISZERO
00001a3e: PUSH2 0x1a43
00001a41: JUMPI
00001a42: JUMP
00001a43: JUMPDEST
00001a44: PUSH1 0x40
00001a46: MLOAD
00001a47: PUSH3 0x461bcd
00001a4b: PUSH1 0xe5
00001a4d: SHL
00001a4e: DUP2
00001a4f: MSTORE
00001a50: PUSH1 0x20
00001a52: PUSH1 0x04
00001a54: DUP3
00001a55: ADD
00001a56: MSTORE
00001a57: PUSH1 0x02
00001a59: PUSH1 0x24
00001a5b: DUP3
00001a5c: ADD
00001a5d: MSTORE
00001a5e: PUSH2 0x7077
00001a61: PUSH1 0xf0
00001a63: SHL
00001a64: PUSH1 0x44
00001a66: DUP3
00001a67: ADD
00001a68: MSTORE
00001a69: PUSH1 0x64
00001a6b: SWAP1
00001a6c: REVERT
00001a6d: JUMPDEST
00001a6e: SWAP4
00001a6f: SWAP2
00001a70: PUSH2 0x1069
00001a73: SWAP6
00001a74: SWAP4
00001a75: PUSH1 0x40
00001a77: SWAP2
00001a78: PUSH2 0x1ab8
00001a7b: SWAP4
00001a7c: DUP8
00001a7d: MSTORE
00001a7e: PUSH1 0x20
00001a80: DUP8
00001a81: ADD
00001a82: MSTORE
00001a83: PUSH1 0x80
00001a85: DUP3
00001a86: DUP8
00001a87: ADD
00001a88: MSTORE
00001a89: PUSH2 0xffff
00001a8c: DUP2
00001a8d: MLOAD
00001a8e: AND
00001a8f: PUSH1 0x80
00001a91: DUP8
00001a92: ADD
00001a93: MSTORE
00001a94: PUSH1 0x01
00001a96: DUP1
00001a97: PUSH1 0xa0
00001a99: SHL
00001a9a: SUB
00001a9b: PUSH1 0x20
00001a9d: DUP3
00001a9e: ADD
00001a9f: MLOAD
00001aa0: AND
00001aa1: PUSH1 0xa0
00001aa3: DUP8
00001aa4: ADD
00001aa5: MSTORE
00001aa6: ADD
00001aa7: MLOAD
00001aa8: PUSH1 0x60
00001aaa: PUSH1 0xc0
00001aac: DUP7
00001aad: ADD
00001aae: MSTORE
00001aaf: PUSH1 0xe0
00001ab1: DUP6
00001ab2: ADD
00001ab3: SWAP1
00001ab4: PUSH2 0x1000
00001ab7: JUMP
00001ab8: JUMPDEST
00001ab9: SWAP3
00001aba: PUSH1 0x60
00001abc: DUP2
00001abd: DUP6
00001abe: SUB
00001abf: SWAP2
00001ac0: ADD
00001ac1: MSTORE
00001ac2: PUSH2 0x179c
00001ac5: JUMP
00001ac6: JUMPDEST
00001ac7: ISZERO
00001ac8: PUSH2 0x1acd
00001acb: JUMPI
00001acc: JUMP
00001acd: JUMPDEST
00001ace: PUSH1 0x40
00001ad0: MLOAD
00001ad1: PUSH3 0x461bcd
00001ad5: PUSH1 0xe5
00001ad7: SHL
00001ad8: DUP2
00001ad9: MSTORE
00001ada: PUSH1 0x20
00001adc: PUSH1 0x04
00001ade: DUP3
00001adf: ADD
00001ae0: MSTORE
00001ae1: PUSH1 0x02
00001ae3: PUSH1 0x24
00001ae5: DUP3
00001ae6: ADD
00001ae7: MSTORE
00001ae8: PUSH2 0x6e71
00001aeb: PUSH1 0xf0
00001aed: SHL
00001aee: PUSH1 0x44
00001af0: DUP3
00001af1: ADD
00001af2: MSTORE
00001af3: PUSH1 0x64
00001af5: SWAP1
00001af6: REVERT
00001af7: JUMPDEST
00001af8: PUSH1 0x4c
00001afa: DUP2
00001afb: MLOAD
00001afc: SUB
00001afd: PUSH2 0x1b83
00001b00: JUMPI
00001b01: PUSH1 0x04
00001b03: DUP2
00001b04: ADD
00001b05: MLOAD
00001b06: PUSH4 0xee5d333f
00001b0b: PUSH1 0xe0
00001b0d: SHL
00001b0e: PUSH1 0xe0
00001b10: SWAP2
00001b11: SWAP1
00001b12: SWAP2
00001b13: SHL
00001b14: PUSH1 0x01
00001b16: PUSH1 0x01
00001b18: PUSH1 0xe0
00001b1a: SHL
00001b1b: SUB
00001b1c: NOT
00001b1d: AND
00001b1e: ADD
00001b1f: PUSH2 0x1b59
00001b22: JUMPI
00001b23: PUSH2 0x1b45
00001b26: SWAP2
00001b27: PUSH2 0x1b55
00001b2a: PUSH2 0x1b36
00001b2d: DUP4
00001b2e: PUSH1 0x18
00001b30: DUP1
00001b31: SWAP2
00001b32: ADD
00001b33: MLOAD
00001b34: SWAP2
00001b35: JUMP
00001b36: JUMPDEST
00001b37: PUSH1 0x14
00001b39: DUP2
00001b3a: DUP7
00001b3b: ADD
00001b3c: DUP2
00001b3d: ADD
00001b3e: MLOAD
00001b3f: SWAP3
00001b40: SWAP7
00001b41: SWAP2
00001b42: ADD
00001b43: SWAP1
00001b44: JUMP
00001b45: JUMPDEST
00001b46: SWAP1
00001b47: SWAP4
00001b48: SWAP1
00001b49: PUSH1 0x20
00001b4b: SWAP1
00001b4c: DUP2
00001b4d: DUP2
00001b4e: ADD
00001b4f: SWAP3
00001b50: ADD
00001b51: ADD
00001b52: MLOAD
00001b53: SWAP2
00001b54: JUMP
00001b55: JUMPDEST
00001b56: POP
00001b57: SWAP1
00001b58: JUMP
00001b59: JUMPDEST
00001b5a: PUSH1 0x40
00001b5c: MLOAD
00001b5d: PUSH3 0x461bcd
00001b61: PUSH1 0xe5
00001b63: SHL
00001b64: DUP2
00001b65: MSTORE
00001b66: PUSH1 0x20
00001b68: PUSH1 0x04
00001b6a: DUP3
00001b6b: ADD
00001b6c: MSTORE
00001b6d: PUSH1 0x02
00001b6f: PUSH1 0x24
00001b71: DUP3
00001b72: ADD
00001b73: MSTORE
00001b74: PUSH2 0x1b9d
00001b77: PUSH1 0xf2
00001b79: SHL
00001b7a: PUSH1 0x44
00001b7c: DUP3
00001b7d: ADD
00001b7e: MSTORE
00001b7f: PUSH1 0x64
00001b81: SWAP1
00001b82: REVERT
00001b83: JUMPDEST
00001b84: PUSH1 0x40
00001b86: MLOAD
00001b87: PUSH3 0x461bcd
00001b8b: PUSH1 0xe5
00001b8d: SHL
00001b8e: DUP2
00001b8f: MSTORE
00001b90: PUSH1 0x20
00001b92: PUSH1 0x04
00001b94: DUP3
00001b95: ADD
00001b96: MSTORE
00001b97: PUSH1 0x02
00001b99: PUSH1 0x24
00001b9b: DUP3
00001b9c: ADD
00001b9d: MSTORE
00001b9e: PUSH2 0x6b6b
00001ba1: PUSH1 0xf0
00001ba3: SHL
00001ba4: PUSH1 0x44
00001ba6: DUP3
00001ba7: ADD
00001ba8: MSTORE
00001ba9: PUSH1 0x64
00001bab: SWAP1
00001bac: REVERT
00001bad: JUMPDEST
00001bae: PUSH1 0x60
00001bb0: SWAP1
00001bb1: PUSH2 0x1069
00001bb4: SWAP4
00001bb5: SWAP3
00001bb6: PUSH1 0x00
00001bb8: DUP3
00001bb9: MSTORE
00001bba: PUSH1 0x20
00001bbc: DUP3
00001bbd: ADD
00001bbe: MSTORE
00001bbf: DUP2
00001bc0: PUSH1 0x40
00001bc2: DUP3
00001bc3: ADD
00001bc4: MSTORE
00001bc5: ADD
00001bc6: SWAP1
00001bc7: PUSH2 0x1000
00001bca: JUMP
00001bcb: JUMPDEST
00001bcc: SWAP3
00001bcd: SWAP1
00001bce: PUSH2 0x1c22
00001bd1: SWAP5
00001bd2: PUSH1 0x20
00001bd4: SWAP2
00001bd5: PUSH1 0x40
00001bd7: MLOAD
00001bd8: SWAP2
00001bd9: PUSH4 0x3cda3351
00001bde: PUSH1 0xe0
00001be0: SHL
00001be1: DUP5
00001be2: DUP5
00001be3: ADD
00001be4: MSTORE
00001be5: PUSH2 0x1c04
00001be8: DUP4
00001be9: PUSH2 0x1bf6
00001bec: DUP8
00001bed: DUP10
00001bee: PUSH1 0x24
00001bf0: DUP5
00001bf1: ADD
00001bf2: PUSH2 0x1bad
00001bf5: JUMP
00001bf6: JUMPDEST
00001bf7: SUB
00001bf8: PUSH1 0x1f
00001bfa: NOT
00001bfb: DUP2
00001bfc: ADD
00001bfd: DUP6
00001bfe: MSTORE
00001bff: DUP5
00001c00: PUSH2 0x0ed9
00001c03: JUMP
00001c04: JUMPDEST
00001c05: PUSH1 0x40
00001c07: MLOAD
00001c08: DUP1
00001c09: SWAP9
00001c0a: DUP2
00001c0b: SWAP5
00001c0c: DUP3
00001c0d: SWAP4
00001c0e: PUSH4 0xeb672419
00001c13: PUSH1 0xe0
00001c15: SHL
00001c16: DUP5
00001c17: MSTORE
00001c18: CALLER
00001c19: SWAP2
00001c1a: PUSH1 0x04
00001c1c: DUP6
00001c1d: ADD
00001c1e: PUSH2 0x11cd
00001c21: JUMP
00001c22: JUMPDEST
00001c23: PUSH1 0x01
00001c25: PUSH1 0x01
00001c27: PUSH1 0xa0
00001c29: SHL
00001c2a: SUB
00001c2b: SWAP9
00001c2c: SWAP2
00001c2d: SWAP1
00001c2e: SUB
00001c2f: SWAP3
00001c30: SWAP1
00001c31: DUP9
00001c32: AND
00001c33: GAS
00001c34: CALL
00001c35: SWAP4
00001c36: DUP5
00001c37: ISZERO
00001c38: PUSH2 0x0618
00001c3b: JUMPI
00001c3c: PUSH2 0x1069
00001c3f: SWAP5
00001c40: PUSH2 0x1c5f
00001c43: JUMPI
00001c44: JUMPDEST
00001c45: POP
00001c46: PUSH1 0x20
00001c48: DUP2
00001c49: MLOAD
00001c4a: SWAP2
00001c4b: ADD
00001c4c: KECCAK256
00001c4d: SWAP2
00001c4e: PUSH2 0x1111
00001c51: PUSH2 0x1111
00001c54: PUSH1 0x90
00001c56: SHL
00001c57: ADD
00001c58: ADDRESS
00001c59: ADD
00001c5a: AND
00001c5b: PUSH2 0x1d4b
00001c5e: JUMP
00001c5f: JUMPDEST
00001c60: PUSH2 0x1c76
00001c63: SWAP1
00001c64: PUSH1 0x20
00001c66: RETURNDATASIZE
00001c67: DUP2
00001c68: GT
00001c69: PUSH2 0x085c
00001c6c: JUMPI
00001c6d: PUSH2 0x084d
00001c70: DUP2
00001c71: DUP4
00001c72: PUSH2 0x0ed9
00001c75: JUMP
00001c76: JUMPDEST
00001c77: POP
00001c78: CODESIZE
00001c79: PUSH2 0x1c44
00001c7c: JUMP
00001c7d: JUMPDEST
00001c7e: ISZERO
00001c7f: PUSH2 0x1c84
00001c82: JUMPI
00001c83: JUMP
00001c84: JUMPDEST
00001c85: PUSH1 0x40
00001c87: MLOAD
00001c88: PUSH3 0x461bcd
00001c8c: PUSH1 0xe5
00001c8e: SHL
00001c8f: DUP2
00001c90: MSTORE
00001c91: PUSH1 0x20
00001c93: PUSH1 0x04
00001c95: DUP3
00001c96: ADD
00001c97: MSTORE
00001c98: PUSH1 0x02
00001c9a: PUSH1 0x24
00001c9c: DUP3
00001c9d: ADD
00001c9e: MSTORE
00001c9f: PUSH2 0x7073
00001ca2: PUSH1 0xf0
00001ca4: SHL
00001ca5: PUSH1 0x44
00001ca7: DUP3
00001ca8: ADD
00001ca9: MSTORE
00001caa: PUSH1 0x64
00001cac: SWAP1
00001cad: REVERT
00001cae: JUMPDEST
00001caf: SWAP1
00001cb0: PUSH1 0x1f
00001cb2: DUP3
00001cb3: AND
00001cb4: PUSH2 0x1d21
00001cb7: JUMPI
00001cb8: DUP2
00001cb9: PUSH1 0x05
00001cbb: SHR
00001cbc: PUSH3 0x010000
00001cc0: DUP2
00001cc1: LT
00001cc2: ISZERO
00001cc3: PUSH2 0x1cf7
00001cc6: JUMPI
00001cc7: PUSH1 0x01
00001cc9: DUP1
00001cca: PUSH2 0x1cd4
00001ccd: SWAP3
00001cce: AND
00001ccf: EQ
00001cd0: PUSH2 0x1c7d
00001cd3: JUMP
00001cd4: JUMPDEST
00001cd5: PUSH1 0x01
00001cd7: PUSH1 0x01
00001cd9: PUSH1 0xe0
00001cdb: SHL
00001cdc: SUB
00001cdd: AND
00001cde: PUSH1 0xdb
00001ce0: SWAP2
00001ce1: SWAP1
00001ce2: SWAP2
00001ce3: SHL
00001ce4: PUSH1 0x01
00001ce6: PUSH1 0x01
00001ce8: PUSH1 0xe0
00001cea: SHL
00001ceb: SUB
00001cec: NOT
00001ced: AND
00001cee: OR
00001cef: PUSH1 0x01
00001cf1: PUSH1 0xf8
00001cf3: SHL
00001cf4: OR
00001cf5: SWAP1
00001cf6: JUMP
00001cf7: JUMPDEST
00001cf8: PUSH1 0x40
00001cfa: MLOAD
00001cfb: PUSH3 0x461bcd
00001cff: PUSH1 0xe5
00001d01: SHL
00001d02: DUP2
00001d03: MSTORE
00001d04: PUSH1 0x20
00001d06: PUSH1 0x04
00001d08: DUP3
00001d09: ADD
00001d0a: MSTORE
00001d0b: PUSH1 0x02
00001d0d: PUSH1 0x24
00001d0f: DUP3
00001d10: ADD
00001d11: MSTORE
00001d12: PUSH2 0x0707
00001d15: PUSH1 0xf4
00001d17: SHL
00001d18: PUSH1 0x44
00001d1a: DUP3
00001d1b: ADD
00001d1c: MSTORE
00001d1d: PUSH1 0x64
00001d1f: SWAP1
00001d20: REVERT
00001d21: JUMPDEST
00001d22: PUSH1 0x40
00001d24: MLOAD
00001d25: PUSH3 0x461bcd
00001d29: PUSH1 0xe5
00001d2b: SHL
00001d2c: DUP2
00001d2d: MSTORE
00001d2e: PUSH1 0x20
00001d30: PUSH1 0x04
00001d32: DUP3
00001d33: ADD
00001d34: MSTORE
00001d35: PUSH1 0x02
00001d37: PUSH1 0x24
00001d39: DUP3
00001d3a: ADD
00001d3b: MSTORE
00001d3c: PUSH2 0x7071
00001d3f: PUSH1 0xf0
00001d41: SHL
00001d42: PUSH1 0x44
00001d44: DUP3
00001d45: ADD
00001d46: MSTORE
00001d47: PUSH1 0x64
00001d49: SWAP1
00001d4a: REVERT
00001d4b: JUMPDEST
00001d4c: SWAP2
00001d4d: PUSH1 0x40
00001d4f: MLOAD
00001d50: SWAP1
00001d51: PUSH1 0x20
00001d53: DUP3
00001d54: ADD
00001d55: SWAP3
00001d56: PUSH32 0x2020dba91b30cc0006188af794c2fb30dd8520db7e2c088b7fc7c103c00ca494
00001d77: DUP5
00001d78: MSTORE
00001d79: PUSH1 0x01
00001d7b: DUP1
00001d7c: PUSH1 0xa0
00001d7e: SHL
00001d7f: SUB
00001d80: DUP1
00001d81: SWAP6
00001d82: AND
00001d83: PUSH1 0x40
00001d85: DUP5
00001d86: ADD
00001d87: MSTORE
00001d88: PUSH1 0x00
00001d8a: PUSH1 0x60
00001d8c: DUP5
00001d8d: ADD
00001d8e: MSTORE
00001d8f: PUSH1 0x80
00001d91: DUP4
00001d92: ADD
00001d93: MSTORE
00001d94: PUSH1 0xa0
00001d96: DUP3
00001d97: ADD
00001d98: MSTORE
00001d99: PUSH1 0xa0
00001d9b: DUP2
00001d9c: MSTORE
00001d9d: PUSH2 0x1da5
00001da0: DUP2
00001da1: PUSH2 0x0e88
00001da4: JUMP
00001da5: JUMPDEST
00001da6: MLOAD
00001da7: SWAP1
00001da8: KECCAK256
00001da9: AND
00001daa: SWAP1
00001dab: JUMP
00001dac: INVALID
00001dad: DUP15
00001dae: SWAP5
00001daf: INVALID
00001db0: UNKNOWN(0xD4)
00001db1: TIMESTAMP
00001db2: CODECOPY
00001db3: UNKNOWN(0xEB)
00001db4: UNKNOWN(0x23)
00001db5: EQ
00001db6: UNKNOWN(0xAB)
00001db7: PUSH27 0x406345e6c5a8f0ccedf3b600de3d004e672c33abf4a26469706673
00001dd3: PC
00001dd4: UNKNOWN(0x22)
00001dd5: SLT
00001dd6: KECCAK256
00001dd7: UNKNOWN(0x2F)
00001dd8: CHAINID
00001dd9: UNKNOWN(0x2C)
00001dda: UNKNOWN(0xA6)
00001ddb: UNKNOWN(0xBB)
00001ddc: PUSH14 0x2916d94ed94802fd9edb4d039c72
00001deb: UNKNOWN(0xD4)
00001dec: CLZ
00001ded: DUP7
00001dee: PUSH28

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": "0x11a2ccc1",
            "selector": "0x11a2ccc1",
            "calldata_variants": [
                "0x11a2ccc1",
                "0x11a2ccc10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x14490720",
            "selector": "0x14490720",
            "calldata_variants": [
                "0x14490720",
                "0x144907200000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x19fa7f62",
            "selector": "0x19fa7f62",
            "calldata_variants": [
                "0x19fa7f62",
                "0x19fa7f620000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4bed8212",
            "selector": "0x4bed8212",
            "calldata_variants": [
                "0x4bed8212",
                "0x4bed82120000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x66550c4e",
            "selector": "0x66550c4e",
            "calldata_variants": [
                "0x66550c4e",
                "0x66550c4e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6dde7209",
            "selector": "0x6dde7209",
            "calldata_variants": [
                "0x6dde7209",
                "0x6dde72090000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x823f1d96",
            "selector": "0x823f1d96",
            "calldata_variants": [
                "0x823f1d96",
                "0x823f1d960000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x933999fb",
            "selector": "0x933999fb",
            "calldata_variants": [
                "0x933999fb",
                "0x933999fb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 2151,
            "type": "tx_origin_used"
        },
        {
            "pc": 2385,
            "type": "tx_origin_used"
        },
        {
            "pc": 2890,
            "type": "tx_origin_used"
        },
        {
            "pc": 2150,
            "type": "tx_origin_used"
        },
        {
            "pc": 2384,
            "type": "tx_origin_used"
        },
        {
            "pc": 2889,
            "type": "tx_origin_used"
        }
    ]
}
high upgradeability codex Initializer callable by anyone enables hostile bridge configuration 85 no
view
evidence_json
{
    "evidence": "initialize is external and only gated by reentrancyGuardInitializer; there is no access control on who can call it.",
    "locations": [
        "contracts/zksync/l1-contracts/bridge/L1ERC20Bridge.sol:82"
    ],
    "recommendation": "Restrict initialize to a trusted deployer/admin (e.g., onlyOwner/onlyProxyAdmin) or ensure the proxy is deployed with atomic initialization data. Consider using OpenZeppelin\u2019s initializer pattern with an admin check or deploying via a factory that immediately initializes.",
    "exploit_scenario": "If the proxy is deployed without immediately calling initialize in the same transaction, an attacker can front\u2011run and call initialize first. They choose their own _governor, _l2TokenBeacon, and L2 bridge bytecode hashes, resulting in an L2 bridge they control. With control of the L2 bridge, they can craft L2->L1 withdrawal messages that pass inclusion proofs and drain ERC20 balances held by the L1 bridge."
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x36e268c6ffd6bc086eb84252875241521d71bb5a9b9cadb92e2b428885ec5829
call_targets: 0x3203e813930bd710043c1d899fe38dd359307352
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x36e268c6ffd6bc086eb84252875241521d71bb5a9b9cadb92e2b428885ec5829",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x3203e813930bd710043c1d899fe38dd359307352"
    ],
    "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": "0x11a2ccc1",
            "selector": "0x11a2ccc1",
            "calldata_variants": [
                "0x11a2ccc1",
                "0x11a2ccc10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x14490720",
            "selector": "0x14490720",
            "calldata_variants": [
                "0x14490720",
                "0x144907200000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x19fa7f62",
            "selector": "0x19fa7f62",
            "calldata_variants": [
                "0x19fa7f62",
                "0x19fa7f620000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4bed8212",
            "selector": "0x4bed8212",
            "calldata_variants": [
                "0x4bed8212",
                "0x4bed82120000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x66550c4e",
            "selector": "0x66550c4e",
            "calldata_variants": [
                "0x66550c4e",
                "0x66550c4e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6dde7209",
            "selector": "0x6dde7209",
            "calldata_variants": [
                "0x6dde7209",
                "0x6dde72090000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x823f1d96",
            "selector": "0x823f1d96",
            "calldata_variants": [
                "0x823f1d96",
                "0x823f1d960000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x933999fb",
            "selector": "0x933999fb",
            "calldata_variants": [
                "0x933999fb",
                "0x933999fb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1912,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2506,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5137,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 4,
    "guards_detected": [
        {
            "pc": 2151,
            "type": "tx_origin_used"
        },
        {
            "pc": 2385,
            "type": "tx_origin_used"
        },
        {
            "pc": 2890,
            "type": "tx_origin_used"
        },
        {
            "pc": 2150,
            "type": "tx_origin_used"
        },
        {
            "pc": 2384,
            "type": "tx_origin_used"
        },
        {
            "pc": 2889,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 4
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x36e268c6ffd6bc086eb84252875241521d71bb5a9b9cadb92e2b428885ec5829
call_targets: 0x3203e813930bd710043c1d899fe38dd359307352
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x36e268c6ffd6bc086eb84252875241521d71bb5a9b9cadb92e2b428885ec5829",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x3203e813930bd710043c1d899fe38dd359307352"
    ],
    "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": "0x11a2ccc1",
            "selector": "0x11a2ccc1",
            "calldata_variants": [
                "0x11a2ccc1",
                "0x11a2ccc10000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x14490720",
            "selector": "0x14490720",
            "calldata_variants": [
                "0x14490720",
                "0x144907200000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x19fa7f62",
            "selector": "0x19fa7f62",
            "calldata_variants": [
                "0x19fa7f62",
                "0x19fa7f620000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x4bed8212",
            "selector": "0x4bed8212",
            "calldata_variants": [
                "0x4bed8212",
                "0x4bed82120000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x66550c4e",
            "selector": "0x66550c4e",
            "calldata_variants": [
                "0x66550c4e",
                "0x66550c4e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x6dde7209",
            "selector": "0x6dde7209",
            "calldata_variants": [
                "0x6dde7209",
                "0x6dde72090000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x823f1d96",
            "selector": "0x823f1d96",
            "calldata_variants": [
                "0x823f1d96",
                "0x823f1d960000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x933999fb",
            "selector": "0x933999fb",
            "calldata_variants": [
                "0x933999fb",
                "0x933999fb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1912,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 2506,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5137,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 4,
    "guards_detected": [
        {
            "pc": 2151,
            "type": "tx_origin_used"
        },
        {
            "pc": 2385,
            "type": "tx_origin_used"
        },
        {
            "pc": 2890,
            "type": "tx_origin_used"
        },
        {
            "pc": 2150,
            "type": "tx_origin_used"
        },
        {
            "pc": 2384,
            "type": "tx_origin_used"
        },
        {
            "pc": 2889,
            "type": "tx_origin_used"
        }
    ]
}
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": 14
}