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

Analysis Run

5f9f3d70-2f71-4fbf-9167-25d1cc270325

failed
Chain ID
1
Address
Block Number
Created
Thu, Jan 1, 2026 4:11 PM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Not yet
Best current signal
Untrusted CALL target/value reachable
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
31074 report.consolidate complete 1 / 1 3 months ago
76258 artifact.fetch failed 1 / 3 1 week ago
76259 tool.cast_disasm complete 1 / 3 1 week ago
76260 analysis.bundle complete 1 / 3 1 week ago
76261 capability.graph complete 1 / 3 1 week ago
76262 detector.run complete 1 / 3 1 week ago
76263 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
No concrete, exploitable profit paths identified in the provided sources.
View stderr
[codex:1247874] OpenAI Codex v0.77.0 (research preview)
[codex:1247874] --------
[codex:1247874] workdir: /tmp/codex-multi-vlnclolj
[codex:1247874] model: gpt-5.2-codex
[codex:1247874] provider: openai
[codex:1247874] approval: never
[codex:1247874] sandbox: read-only
[codex:1247874] reasoning effort: xhigh
[codex:1247874] reasoning summaries: auto
[codex:1247874] session id: 019b7a4c-f250-75b0-99f1-bb80da6118ea
[codex:1247874] --------
[codex:1247874] user
[codex:1247874] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:1247874] 
[codex:1247874] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:1247874] 
[codex:1247874] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1247874] - Gas inefficiency, code quality, naming, or best practices
[codex:1247874] - Theoretical vulnerabilities without a clear extraction path
[codex:1247874] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:1247874] - Front-running unless it enables theft beyond MEV
[codex:1247874] - DoS, griefing, or issues that don't result in attacker profit
[codex:1247874] - Missing events, view function issues, or informational findings
[codex:1247874] 
[codex:1247874] HIGH-VALUE PATTERNS TO HUNT:
[codex:1247874] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:1247874] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:1247874] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:1247874] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:1247874] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:1247874] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:1247874] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:1247874] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:1247874] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:1247874] 
[codex:1247874] For each finding, you MUST provide:
[codex:1247874] 1. Exact file and line numbers of vulnerable code
[codex:1247874] 2. Step-by-step exploit transaction sequence
[codex:1247874] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:1247874] 
[codex:1247874] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:1247874] 
[codex:1247874] Output MUST be valid JSON matching the provided schema.
[codex:1247874] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1247874] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1247874] mcp startup: no servers
[codex:1247874] 
[codex:1247874] thinking
[codex:1247874] **Preparing to audit AUDIT_BUNDLE.txt**
[codex:1247874] exec
[codex:1247874] /bin/bash -lc ls in /tmp/codex-multi-vlnclolj succeeded in 5ms:
[codex:1247874] AUDIT_BUNDLE.txt
[codex:1247874] codex-output-schema.json
[codex:1247874] contracts
[codex:1247874] exec
[codex:1247874] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-vlnclolj succeeded in 6ms:
[codex:1247874] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1247874] 
[codex:1247874] ================================================================================
[codex:1247874] FILE: contracts/src/ERC6909.sol
[codex:1247874] ================================================================================
[codex:1247874] // SPDX-License-Identifier: MIT
[codex:1247874] pragma solidity ^0.8.0;
[codex:1247874] 
[codex:1247874] import {IERC6909Claims} from "./interfaces/external/IERC6909Claims.sol";
[codex:1247874] 
[codex:1247874] /// @notice Minimalist and gas efficient standard ERC6909 implementation.
[codex:1247874] /// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC6909.sol)
[codex:1247874] /// @dev Copied from the commit at 4b47a19038b798b4a33d9749d25e570443520647
[codex:1247874] /// @dev This contract has been modified from the implementation at the above link.
[codex:1247874] abstract contract ERC6909 is IERC6909Claims {
[codex:1247874]     /*//////////////////////////////////////////////////////////////
[codex:1247874]                              ERC6909 STORAGE
[codex:1247874]     //////////////////////////////////////////////////////////////*/
[codex:1247874] 
[codex:1247874]     mapping(address owner => mapping(address operator => bool isOperator)) public isOperator;
[codex:1247874] 
[codex:1247874] thinking
[codex:1247874] **Investigating PoolManager for exploits**
[codex:1247874] exec
[codex:1247874] /bin/bash -lc 'rg -n "function (settle|take|collect|withdraw|mint|burn|swap|donate|initialize|unlock)" -S contracts/src/PoolManager.sol' in /tmp/codex-multi-vlnclolj succeeded in 8ms:
[codex:1247874] 103:    function unlock(bytes calldata data) external override returns (bytes memory result) {
[codex:1247874] 116:    function initialize(PoolKey memory key, uint160 sqrtPriceX96) external noDelegateCall returns (int24 tick) {
[codex:1247874] 185:    function swap(PoolKey memory key, IPoolManager.SwapParams memory params, bytes calldata hookData)
[codex:1247874] 254:    function donate(PoolKey memory key, uint256 amount0, uint256 amount1, bytes calldata hookData)
[codex:1247874] 289:    function take(Currency currency, address to, uint256 amount) external onlyWhenUnlocked {
[codex:1247874] 298:    function settle() external payable onlyWhenUnlocked returns (uint256) {
[codex:1247874] 303:    function settleFor(address recipient) external payable onlyWhenUnlocked returns (uint256) {
[codex:1247874] 320:    function mint(address to, uint256 id, uint256 amount) external onlyWhenUnlocked {
[codex:1247874] 330:    function burn(address from, uint256 id, uint256 amount) external onlyWhenUnlocked {
[codex:1247874] 
[codex:1247874] thinking
[codex:1247874] **Inspecting PoolManager functions**
[codex:1247874] exec
[codex:1247874] /bin/bash -lc "sed -n '150,380p' contracts/src/PoolManager.sol" in /tmp/codex-multi-vlnclolj succeeded in 5ms:
[codex:1247874]         {
[codex:1247874]             Pool.State storage pool = _getPool(id);
[codex:1247874]             pool.checkPoolInitialized();
[codex:1247874] 
[codex:1247874]             key.hooks.beforeModifyLiquidity(key, params, hookData);
[codex:1247874] 
[codex:1247874]             BalanceDelta principalDelta;
[codex:1247874]             (principalDelta, feesAccrued) = pool.modifyLiquidity(
[codex:1247874]                 Pool.ModifyLiquidityParams({
[codex:1247874]                     owner: msg.sender,
[codex:1247874]                     tickLower: params.tickLower,
[codex:1247874]                     tickUpper: params.tickUpper,
[codex:1247874]                     liquidityDelta: params.liquidityDelta.toInt128(),
[codex:1247874]                     tickSpacing: key.tickSpacing,
[codex:1247874]                     salt: params.salt
[codex:1247874]                 })
[codex:1247874]             );
[codex:1247874] 
[codex:1247874]             // fee delta and principal delta are both accrued to the caller
[codex:1247874]             callerDelta = principalDelta + feesAccrued;
[codex:1247874] 
[codex:1247874] thinking
[codex:1247874] **Continuing process**
[codex:1247874] exec
[codex:1247874] /bin/bash -lc "sed -n '380,520p' contracts/src/PoolManager.sol" in /tmp/codex-multi-vlnclolj succeeded in 5ms:
[codex:1247874]         _accountDelta(key.currency0, delta.amount0(), target);
[codex:1247874]         _accountDelta(key.currency1, delta.amount1(), target);
[codex:1247874]     }
[codex:1247874] 
[codex:1247874]     /// @notice Implementation of the _getPool function defined in ProtocolFees
[codex:1247874]     function _getPool(PoolId id) internal view override returns (Pool.State storage) {
[codex:1247874]         return _pools[id];
[codex:1247874]     }
[codex:1247874] 
[codex:1247874]     /// @notice Implementation of the _isUnlocked function defined in ProtocolFees
[codex:1247874]     function _isUnlocked() internal view override returns (bool) {
[codex:1247874]         return Lock.isUnlocked();
[codex:1247874]     }
[codex:1247874] }
[codex:1247874] 
[codex:1247874] thinking
[codex:1247874] **Analyzing Uniswap v4 core contracts**
[codex:1247874] exec
[codex:1247874] /bin/bash -lc 'rg -n "applyDelta|NonzeroDeltaCount|CurrencyDelta|CurrencyReserves" -S contracts/src' in /tmp/codex-multi-vlnclolj succeeded in 12ms:
[codex:1247874] contracts/src/PoolManager.sol:22:import {CurrencyDelta} from "./libraries/CurrencyDelta.sol";
[codex:1247874] contracts/src/PoolManager.sol:23:import {NonzeroDeltaCount} from "./libraries/NonzeroDeltaCount.sol";
[codex:1247874] contracts/src/PoolManager.sol:24:import {CurrencyReserves} from "./libraries/CurrencyReserves.sol";
[codex:1247874] contracts/src/PoolManager.sol:83:    using CurrencyDelta for Currency;
[codex:1247874] contracts/src/PoolManager.sol:85:    using CurrencyReserves for Currency;
[codex:1247874] contracts/src/PoolManager.sol:111:        if (NonzeroDeltaCount.read() != 0) CurrencyNotSettled.selector.revertWith();
[codex:1247874] contracts/src/PoolManager.sol:281:            CurrencyReserves.resetCurrency();
[codex:1247874] contracts/src/PoolManager.sol:284:            CurrencyReserves.syncCurrencyAndReserves(currency, balance);
[codex:1247874] contracts/src/PoolManager.sol:348:        Currency currency = CurrencyReserves.getSyncedCurrency();
[codex:1247874] contracts/src/PoolManager.sol:356:            uint256 reservesBefore = CurrencyReserves.getSyncedReserves();
[codex:1247874] contracts/src/PoolManager.sol:359:            CurrencyReserves.resetCurrency();
[codex:1247874] contracts/src/PoolManager.sol:369:        (int256 previous, int256 next) = currency.applyDelta(target, delta);
[codex:1247874] contracts/src/PoolManager.sol:372:            NonzeroDeltaCount.decrement();
[codex:1247874] contracts/src/PoolManager.sol:374:            NonzeroDeltaCount.increment();
[codex:1247874] contracts/src/ProtocolFees.sol:5:import {CurrencyReserves} from "./libraries/CurrencyReserves.sol";
[codex:1247874] contracts/src/ProtocolFees.sol:49:        if (!currency.isAddressZero() && CurrencyReserves.getSyncedCurrency() == currency) {
[codex:1247874] contracts/src/libraries/CurrencyDelta.sol:8:library CurrencyDelta {
[codex:1247874] contracts/src/libraries/CurrencyDelta.sol:28:    function applyDelta(Currency currency, address target, int128 delta)
[codex:1247874] contracts/src/libraries/NonzeroDeltaCount.sol:7:library NonzeroDeltaCount {
[codex:1247874] contracts/src/libraries/NonzeroDeltaCount.sol:8:    // The slot holding the number of nonzero deltas. bytes32(uint256(keccak256("NonzeroDeltaCount")) - 1)
[codex:1247874] exec
[codex:1247874] /bin/bash -lc "sed -n '1,200p' contracts/src/libraries/CurrencyDelta.sol" in /tmp/codex-multi-vlnclolj succeeded in 8ms:
[codex:1247874] // SPDX-License-Identifier: BUSL-1.1
[codex:1247874] pragma solidity ^0.8.24;
[codex:1247874] 
[codex:1247874] import {Currency} from "../types/Currency.sol";
[codex:1247874] 
[codex:1247874] /// @title a library to store callers' currency deltas in transient storage
[codex:1247874] /// @dev this library implements the equivalent of a mapping, as transient storage can only be accessed in assembly
[codex:1247874] library CurrencyDelta {
[codex:1247874]     /// @notice calculates which storage slot a delta should be stored in for a given account and currency
[codex:1247874]     function _computeSlot(address target, Currency currency) internal pure returns (bytes32 hashSlot) {
[codex:1247874]         assembly ("memory-safe") {
[codex:1247874]             mstore(0, and(target, 0xffffffffffffffffffffffffffffffffffffffff))
[codex:1247874]             mstore(32, and(currency, 0xffffffffffffffffffffffffffffffffffffffff))
[codex:1247874]             hashSlot := keccak256(0, 64)
[codex:1247874]         }
[codex:1247874]     }
[codex:1247874] 
[codex:1247874]     function getDelta(Currency currency, address target) internal view returns (int256 delta) {
[codex:1247874]         bytes32 hashSlot = _computeSlot(target, currency);
[codex:1247874]         assembly ("memory-safe") {
[codex:1247874] exec
[codex:1247874] /bin/bash -lc "sed -n '1,200p' contracts/src/libraries/NonzeroDeltaCount.sol" in /tmp/codex-multi-vlnclolj succeeded in 5ms:
[codex:1247874] // SPDX-License-Identifier: BUSL-1.1
[codex:1247874] pragma solidity ^0.8.24;
[codex:1247874] 
[codex:1247874] /// @notice This is a temporary library that allows us to use transient storage (tstore/tload)
[codex:1247874] /// for the nonzero delta count.
[codex:1247874] /// TODO: This library can be deleted when we have the transient keyword support in solidity.
[codex:1247874] library NonzeroDeltaCount {
[codex:1247874]     // The slot holding the number of nonzero deltas. bytes32(uint256(keccak256("NonzeroDeltaCount")) - 1)
[codex:1247874]     bytes32 internal constant NONZERO_DELTA_COUNT_SLOT =
[codex:1247874]         0x7d4b3164c6e45b97e7d87b7125a44c5828d005af88f9d751cfd78729c5d99a0b;
[codex:1247874] 
[codex:1247874]     function read() internal view returns (uint256 count) {
[codex:1247874]         assembly ("memory-safe") {
[codex:1247874]             count := tload(NONZERO_DELTA_COUNT_SLOT)
[codex:1247874]         }
[codex:1247874]     }
[codex:1247874] 
[codex:1247874]     function increment() internal {
[codex:1247874]         assembly ("memory-safe") {
[codex:1247874]             let count := tload(NONZERO_DELTA_COUNT_SLOT)
[codex:1247874] exec
[codex:1247874] /bin/bash -lc "sed -n '1,200p' contracts/src/libraries/CurrencyReserves.sol" in /tmp/codex-multi-vlnclolj succeeded in 5ms:
[codex:1247874] // SPDX-License-Identifier: BUSL-1.1
[codex:1247874] pragma solidity ^0.8.24;
[codex:1247874] 
[codex:1247874] import {Currency} from "../types/Currency.sol";
[codex:1247874] import {CustomRevert} from "./CustomRevert.sol";
[codex:1247874] 
[codex:1247874] library CurrencyReserves {
[codex:1247874]     using CustomRevert for bytes4;
[codex:1247874] 
[codex:1247874]     /// bytes32(uint256(keccak256("ReservesOf")) - 1)
[codex:1247874]     bytes32 constant RESERVES_OF_SLOT = 0x1e0745a7db1623981f0b2a5d4232364c00787266eb75ad546f190e6cebe9bd95;
[codex:1247874]     /// bytes32(uint256(keccak256("Currency")) - 1)
[codex:1247874]     bytes32 constant CURRENCY_SLOT = 0x27e098c505d44ec3574004bca052aabf76bd35004c182099d8c575fb238593b9;
[codex:1247874] 
[codex:1247874]     function getSyncedCurrency() internal view returns (Currency currency) {
[codex:1247874]         assembly ("memory-safe") {
[codex:1247874]             currency := tload(CURRENCY_SLOT)
[codex:1247874]         }
[codex:1247874]     }
[codex:1247874] 
[codex:1247874] 
[codex:1247874] thinking
[codex:1247874] **Noticing ProtocolFees mention**
[codex:1247874] exec
[codex:1247874] /bin/bash -lc "sed -n '1,200p' contracts/src/ProtocolFees.sol" in /tmp/codex-multi-vlnclolj succeeded in 5ms:
[codex:1247874] // SPDX-License-Identifier: MIT
[codex:1247874] pragma solidity ^0.8.0;
[codex:1247874] 
[codex:1247874] import {Currency} from "./types/Currency.sol";
[codex:1247874] import {CurrencyReserves} from "./libraries/CurrencyReserves.sol";
[codex:1247874] import {IProtocolFees} from "./interfaces/IProtocolFees.sol";
[codex:1247874] import {PoolKey} from "./types/PoolKey.sol";
[codex:1247874] import {ProtocolFeeLibrary} from "./libraries/ProtocolFeeLibrary.sol";
[codex:1247874] import {Owned} from "solmate/src/auth/Owned.sol";
[codex:1247874] import {PoolId} from "./types/PoolId.sol";
[codex:1247874] import {Pool} from "./libraries/Pool.sol";
[codex:1247874] import {CustomRevert} from "./libraries/CustomRevert.sol";
[codex:1247874] 
[codex:1247874] /// @notice Contract handling the setting and accrual of protocol fees
[codex:1247874] abstract contract ProtocolFees is IProtocolFees, Owned {
[codex:1247874]     using ProtocolFeeLibrary for uint24;
[codex:1247874]     using Pool for Pool.State;
[codex:1247874]     using CustomRevert for bytes4;
[codex:1247874] 
[codex:1247874]     /// @inheritdoc IProtocolFees
[codex:1247874] 
[codex:1247874] thinking
[codex:1247874] **Investigating Pool library origin**
[codex:1247874] exec
[codex:1247874] /bin/bash -lc 'rg -n "library Pool" -S contracts/src' in /tmp/codex-multi-vlnclolj succeeded in 9ms:
[codex:1247874] contracts/src/types/PoolId.sol:9:library PoolIdLibrary {
[codex:1247874] contracts/src/libraries/Pool.sol:20:library Pool {
[codex:1247874] exec
[codex:1247874] /bin/bash -lc "sed -n '1,240p' contracts/src/libraries/Pool.sol" in /tmp/codex-multi-vlnclolj succeeded in 8ms:
[codex:1247874] // SPDX-License-Identifier: BUSL-1.1
[codex:1247874] pragma solidity ^0.8.0;
[codex:1247874] 
[codex:1247874] import {SafeCast} from "./SafeCast.sol";
[codex:1247874] import {TickBitmap} from "./TickBitmap.sol";
[codex:1247874] import {Position} from "./Position.sol";
[codex:1247874] import {UnsafeMath} from "./UnsafeMath.sol";
[codex:1247874] import {FixedPoint128} from "./FixedPoint128.sol";
[codex:1247874] import {TickMath} from "./TickMath.sol";
[codex:1247874] import {SqrtPriceMath} from "./SqrtPriceMath.sol";
[codex:1247874] import {SwapMath} from "./SwapMath.sol";
[codex:1247874] import {BalanceDelta, toBalanceDelta, BalanceDeltaLibrary} from "../types/BalanceDelta.sol";
[codex:1247874] import {Slot0} from "../types/Slot0.sol";
[codex:1247874] import {ProtocolFeeLibrary} from "./ProtocolFeeLibrary.sol";
[codex:1247874] import {LiquidityMath} from "./LiquidityMath.sol";
[codex:1247874] import {LPFeeLibrary} from "./LPFeeLibrary.sol";
[codex:1247874] import {CustomRevert} from "./CustomRevert.sol";
[codex:1247874] 
[codex:1247874] /// @notice a library with all actions that can be performed on a pool
[codex:1247874] library Pool {
[codex:1247874] 
[codex:1247874] thinking
[codex:1247874] **Analyzing potential reentrancy and delta overflow risks**
[codex:1247874] 
[codex:1247874] I'm tracing how the PoolManager handles deltas during unlock and settle, checking whether reentrancy or integer overflow could let an attacker drain funds or bypass settlement. There’s complexity around how deltas track owed balances, and I’m verifying if signs and locks correctly prevent exploits through functions like take, especially during ERC20 transfers that might permit reentrant calls. I'll also review the sign conventions and delta calculations in swap and other core functions to understand if there’s any loophole.
[codex:1247874] exec
[codex:1247874] /bin/bash -lc "rg -n \"function swap\\(|SwapParams|SwapState|SwapResult\" -S contracts/src/libraries/Pool.sol" in /tmp/codex-multi-vlnclolj succeeded in 8ms:
[codex:1247874] 241:    struct SwapResult {
[codex:1247874] 269:    struct SwapParams {
[codex:1247874] 279:    function swap(State storage self, SwapParams memory params)
[codex:1247874] 281:        returns (BalanceDelta swapDelta, uint256 amountToProtocol, uint24 swapFee, SwapResult memory result)
[codex:1247874] exec
[codex:1247874] /bin/bash -lc "sed -n '240,420p' contracts/src/libraries/Pool.sol" in /tmp/codex-multi-vlnclolj succeeded in 6ms:
[codex:1247874]     // Tracks the state of a pool throughout a swap, and returns these values at the end of the swap
[codex:1247874]     struct SwapResult {
[codex:1247874]         // the current sqrt(price)
[codex:1247874]         uint160 sqrtPriceX96;
[codex:1247874]         // the tick associated with the current price
[codex:1247874]         int24 tick;
[codex:1247874]         // the current liquidity in range
[codex:1247874]         uint128 liquidity;
[codex:1247874]     }
[codex:1247874] 
[codex:1247874]     struct StepComputations {
[codex:1247874]         // the price at the beginning of the step
[codex:1247874]         uint160 sqrtPriceStartX96;
[codex:1247874]         // the next tick to swap to from the current tick in the swap direction
[codex:1247874]         int24 tickNext;
[codex:1247874]         // whether tickNext is initialized or not
[codex:1247874]         bool initialized;
[codex:1247874]         // sqrt(price) for the next tick (1/0)
[codex:1247874]         uint160 sqrtPriceNextX96;
[codex:1247874]         // how much is being swapped in in this step
[codex:1247874] exec
[codex:1247874] /bin/bash -lc "sed -n '420,680p' contracts/src/libraries/Pool.sol" in /tmp/codex-multi-vlnclolj succeeded in 5ms:
[codex:1247874]                         Pool.crossTick(self, step.tickNext, feeGrowthGlobal0X128, feeGrowthGlobal1X128);
[codex:1247874]                     // if we're moving leftward, we interpret liquidityNet as the opposite sign
[codex:1247874]                     // safe because liquidityNet cannot be type(int128).min
[codex:1247874]                     unchecked {
[codex:1247874]                         if (zeroForOne) liquidityNet = -liquidityNet;
[codex:1247874]                     }
[codex:1247874] 
[codex:1247874]                     result.liquidity = LiquidityMath.addDelta(result.liquidity, liquidityNet);
[codex:1247874]                 }
[codex:1247874] 
[codex:1247874]                 unchecked {
[codex:1247874]                     result.tick = zeroForOne ? step.tickNext - 1 : step.tickNext;
[codex:1247874]                 }
[codex:1247874]             } else if (result.sqrtPriceX96 != step.sqrtPriceStartX96) {
[codex:1247874]                 // recompute unless we're on a lower tick boundary (i.e. already transitioned ticks), and haven't moved
[codex:1247874]                 result.tick = TickMath.getTickAtSqrtPrice(result.sqrtPriceX96);
[codex:1247874]             }
[codex:1247874]         }
[codex:1247874] 
[codex:1247874]         self.slot0 = slot0Start.setTick(result.tick).setSqrtPriceX96(result.sqrtPriceX96);
[codex:1247874] 
[codex:1247874] 
[codex:1247874] thinking
[codex:1247874] **Analyzing potential reentrancy and delta accounting vulnerabilities**
[codex:1247874] thinking
[codex:1247874] **Examining token transfer checks and ERC6909 integration**
[codex:1247874] 
[codex:1247874] I’m exploring how token transfers handle success detection, confirming proper return data checks prevent false positives. I’m also curious about ERC6909 token usage in claims, so I’ll check their role in settle and take to see if that introduces any risk.
[codex:1247874] exec
[codex:1247874] /bin/bash -lc 'rg -n "ERC6909|Claims" -S contracts/src' in /tmp/codex-multi-vlnclolj succeeded in 9ms:
[codex:1247874] contracts/src/PoolManager.sol:17:import {ERC6909Claims} from "./ERC6909Claims.sol";
[codex:1247874] contracts/src/PoolManager.sol:79:contract PoolManager is IPoolManager, ProtocolFees, NoDelegateCall, ERC6909Claims, Extsload, Exttload {
[codex:1247874] contracts/src/interfaces/IPoolManager.sol:7:import {IERC6909Claims} from "./external/IERC6909Claims.sol";
[codex:1247874] contracts/src/interfaces/IPoolManager.sol:15:interface IPoolManager is IProtocolFees, IERC6909Claims, IExtsload, IExttload {
[codex:1247874] contracts/src/interfaces/IPoolManager.sol:214:    /// @notice Called by the user to move value into ERC6909 balance
[codex:1247874] contracts/src/interfaces/IPoolManager.sol:216:    /// @param id The currency address to mint to ERC6909s, as a uint256
[codex:1247874] contracts/src/interfaces/IPoolManager.sol:222:    /// @notice Called by the user to move value from ERC6909 balance
[codex:1247874] contracts/src/interfaces/IPoolManager.sol:224:    /// @param id The currency address to burn from ERC6909s, as a uint256
[codex:1247874] contracts/src/interfaces/external/IERC6909Claims.sol:4:/// @notice Interface for claims over a contract balance, wrapped as a ERC6909
[codex:1247874] contracts/src/interfaces/external/IERC6909Claims.sol:5:interface IERC6909Claims {
[codex:1247874] contracts/src/ERC6909Claims.sol:4:import {ERC6909} from "./ERC6909.sol";
[codex:1247874] contracts/src/ERC6909Claims.sol:6:/// @notice ERC6909Claims inherits ERC6909 and implements an internal burnFrom function
[codex:1247874] contracts/src/ERC6909Claims.sol:7:abstract contract ERC6909Claims is ERC6909 {
[codex:1247874] contracts/src/ERC6909.sol:4:import {IERC6909Claims} from "./interfaces/external/IERC6909Claims.sol";
[codex:1247874] contracts/src/ERC6909.sol:6:/// @notice Minimalist and gas efficient standard ERC6909 implementation.
[codex:1247874] contracts/src/ERC6909.sol:7:/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/tokens/ERC6909.sol)
[codex:1247874] contracts/src/ERC6909.sol:10:abstract contract ERC6909 is IERC6909Claims {
[codex:1247874] contracts/src/ERC6909.sol:12:                             ERC6909 STORAGE
[codex:1247874] contracts/src/ERC6909.sol:22:                              ERC6909 LOGIC
[codex:1247874] contracts/src/ERC6909.sol:72:            || interfaceId == 0x0f632fb3; // ERC165 Interface ID for ERC6909
[codex:1247874] 
[codex:1247874] thinking
[codex:1247874] **Inspecting IPoolManager interface**
[codex:1247874] exec
[codex:1247874] /bin/bash -lc "sed -n '1,260p' contracts/src/interfaces/IPoolManager.sol" in /tmp/codex-multi-vlnclolj succeeded in 5ms:
[codex:1247874] // SPDX-License-Identifier: MIT
[codex:1247874] pragma solidity ^0.8.24;
[codex:1247874] 
[codex:1247874] import {Currency} from "../types/Currency.sol";
[codex:1247874] import {PoolKey} from "../types/PoolKey.sol";
[codex:1247874] import {IHooks} from "./IHooks.sol";
[codex:1247874] import {IERC6909Claims} from "./external/IERC6909Claims.sol";
[codex:1247874] import {IProtocolFees} from "./IProtocolFees.sol";
[codex:1247874] import {BalanceDelta} from "../types/BalanceDelta.sol";
[codex:1247874] import {PoolId} from "../types/PoolId.sol";
[codex:1247874] import {IExtsload} from "./IExtsload.sol";
[codex:1247874] import {IExttload} from "./IExttload.sol";
[codex:1247874] 
[codex:1247874] /// @notice Interface for the PoolManager
[codex:1247874] interface IPoolManager is IProtocolFees, IERC6909Claims, IExtsload, IExttload {
[codex:1247874]     /// @notice Thrown when a currency is not netted out after the contract is unlocked
[codex:1247874]     error CurrencyNotSettled();
[codex:1247874] 
[codex:1247874]     /// @notice Thrown when trying to interact with a non-initialized pool
[codex:1247874]     error PoolNotInitialized();
[codex:1247874] 
[codex:1247874] thinking
[codex:1247874] **Analyzing delta application and storage risks**
[codex:1247874] exec
[codex:1247874] /bin/bash -lc 'rg -n "applyDelta|getDelta" -S contracts/src' in /tmp/codex-multi-vlnclolj succeeded in 9ms:
[codex:1247874] contracts/src/libraries/CurrencyDelta.sol:18:    function getDelta(Currency currency, address target) internal view returns (int256 delta) {
[codex:1247874] contracts/src/libraries/CurrencyDelta.sol:28:    function applyDelta(Currency currency, address target, int128 delta)
[codex:1247874] contracts/src/PoolManager.sol:309:        int256 current = currency.getDelta(msg.sender);
[codex:1247874] contracts/src/PoolManager.sol:369:        (int256 previous, int256 next) = currency.applyDelta(target, delta);
[codex:1247874] 
[codex:1247874] 
[codex:1247874] thinking
[codex:1247874] **Analyzing pool accounting and reentrancy risks**
[codex:1247874] thinking
[codex:1247874] **Investigating reentrancy in initialization and fee updates**
[codex:1247874] 
[codex:1247874] I'm exploring how hooks interact during initialize and unlock, noting that initialize can reenter via hooks since it's unlocked, but key actions require unlock. I'm also checking if dynamic fee updates by hooks pose risks and if misbehaving callbacks in unlock can cause issues, while considering if any arithmetic bugs in liquidity or position math might enable exploits.
[codex:1247874] exec
[codex:1247874] /bin/bash -lc "sed -n '1,200p' contracts/src/libraries/Position.sol" in /tmp/codex-multi-vlnclolj succeeded in 6ms:
[codex:1247874] // SPDX-License-Identifier: BUSL-1.1
[codex:1247874] pragma solidity ^0.8.0;
[codex:1247874] 
[codex:1247874] import {FullMath} from "./FullMath.sol";
[codex:1247874] import {FixedPoint128} from "./FixedPoint128.sol";
[codex:1247874] import {LiquidityMath} from "./LiquidityMath.sol";
[codex:1247874] import {CustomRevert} from "./CustomRevert.sol";
[codex:1247874] 
[codex:1247874] /// @title Position
[codex:1247874] /// @notice Positions represent an owner address' liquidity between a lower and upper tick boundary
[codex:1247874] /// @dev Positions store additional state for tracking fees owed to the position
[codex:1247874] library Position {
[codex:1247874]     using CustomRevert for bytes4;
[codex:1247874] 
[codex:1247874]     /// @notice Cannot update a position with no liquidity
[codex:1247874]     error CannotUpdateEmptyPosition();
[codex:1247874] 
[codex:1247874]     // info stored for each user's position
[codex:1247874]     struct State {
[codex:1247874]         // the amount of liquidity owned by this position
[codex:1247874] 
[codex:1247874] thinking
[codex:1247874] **Analyzing memory packing in calculatePositionKey**
[codex:1247874] exec
[codex:1247874] /bin/bash -lc "sed -n '1,160p' contracts/src/libraries/Lock.sol" in /tmp/codex-multi-vlnclolj succeeded in 5ms:
[codex:1247874] // SPDX-License-Identifier: BUSL-1.1
[codex:1247874] pragma solidity ^0.8.24;
[codex:1247874] 
[codex:1247874] /// @notice This is a temporary library that allows us to use transient storage (tstore/tload)
[codex:1247874] /// TODO: This library can be deleted when we have the transient keyword support in solidity.
[codex:1247874] library Lock {
[codex:1247874]     // The slot holding the unlocked state, transiently. bytes32(uint256(keccak256("Unlocked")) - 1)
[codex:1247874]     bytes32 internal constant IS_UNLOCKED_SLOT = 0xc090fc4683624cfc3884e9d8de5eca132f2d0ec062aff75d43c0465d5ceeab23;
[codex:1247874] 
[codex:1247874]     function unlock() internal {
[codex:1247874]         assembly ("memory-safe") {
[codex:1247874]             // unlock
[codex:1247874]             tstore(IS_UNLOCKED_SLOT, true)
[codex:1247874]         }
[codex:1247874]     }
[codex:1247874] 
[codex:1247874]     function lock() internal {
[codex:1247874]         assembly ("memory-safe") {
[codex:1247874]             tstore(IS_UNLOCKED_SLOT, false)
[codex:1247874]         }
[codex:1247874] 
[codex:1247874] thinking
[codex:1247874] **Analyzing transient storage and fee vulnerabilities**
[codex:1247874] 
[codex:1247874] I'm carefully reviewing the implications of using transient storage for lock state and probing for subtle vulnerabilities in fee calculations, rounding, reentrancy risks, and delta management, especially around transfers, donations, and potential integer casting issues. I'm verifying if these edge cases can be exploited for profit or cause unexpected behavior.
[codex:1247874] exec
[codex:1247874] /bin/bash -lc "sed -n '1,200p' contracts/src/libraries/SafeCast.sol" in /tmp/codex-multi-vlnclolj succeeded in 6ms:
[codex:1247874] // SPDX-License-Identifier: MIT
[codex:1247874] pragma solidity ^0.8.0;
[codex:1247874] 
[codex:1247874] import {CustomRevert} from "./CustomRevert.sol";
[codex:1247874] 
[codex:1247874] /// @title Safe casting methods
[codex:1247874] /// @notice Contains methods for safely casting between types
[codex:1247874] library SafeCast {
[codex:1247874]     using CustomRevert for bytes4;
[codex:1247874] 
[codex:1247874]     error SafeCastOverflow();
[codex:1247874] 
[codex:1247874]     /// @notice Cast a uint256 to a uint160, revert on overflow
[codex:1247874]     /// @param x The uint256 to be downcasted
[codex:1247874]     /// @return y The downcasted integer, now type uint160
[codex:1247874]     function toUint160(uint256 x) internal pure returns (uint160 y) {
[codex:1247874]         y = uint160(x);
[codex:1247874]         if (y != x) SafeCastOverflow.selector.revertWith();
[codex:1247874]     }
[codex:1247874] 
[codex:1247874] 
[codex:1247874] 
[codex:1247874] thinking
[codex:1247874] **Analyzing potential vulnerabilities in pool hooks and settle logic**
[codex:1247874] 
[codex:1247874] I'm examining unusual interactions with the `sync` and `settle` functions, especially how malicious hooks might manipulate synced currency or force deltas to extract value. The biggest question is whether hooks can create unjustified positive deltas to credit themselves tokens without providing value, which seems possible but might be an intentional feature tied to pool configuration and trust assumptions rather than a strict exploit.
[codex:1247874] thinking
[codex:1247874] **Investigating hook permission encoding and address manipulation**
[codex:1247874] exec
[codex:1247874] /bin/bash -lc "sed -n '1,260p' contracts/src/libraries/Hooks.sol" in /tmp/codex-multi-vlnclolj succeeded in 9ms:
[codex:1247874] // SPDX-License-Identifier: MIT
[codex:1247874] pragma solidity ^0.8.0;
[codex:1247874] 
[codex:1247874] import {PoolKey} from "../types/PoolKey.sol";
[codex:1247874] import {IHooks} from "../interfaces/IHooks.sol";
[codex:1247874] import {SafeCast} from "./SafeCast.sol";
[codex:1247874] import {LPFeeLibrary} from "./LPFeeLibrary.sol";
[codex:1247874] import {BalanceDelta, toBalanceDelta, BalanceDeltaLibrary} from "../types/BalanceDelta.sol";
[codex:1247874] import {BeforeSwapDelta, BeforeSwapDeltaLibrary} from "../types/BeforeSwapDelta.sol";
[codex:1247874] import {IPoolManager} from "../interfaces/IPoolManager.sol";
[codex:1247874] import {ParseBytes} from "./ParseBytes.sol";
[codex:1247874] import {CustomRevert} from "./CustomRevert.sol";
[codex:1247874] 
[codex:1247874] /// @notice V4 decides whether to invoke specific hooks by inspecting the least significant bits
[codex:1247874] /// of the address that the hooks contract is deployed to.
[codex:1247874] /// For example, a hooks contract deployed to address: 0x0000000000000000000000000000000000002400
[codex:1247874] /// has the lowest bits '10 0100 0000 0000' which would cause the 'before initialize' and 'after add liquidity' hooks to be used.
[codex:1247874] library Hooks {
[codex:1247874]     using LPFeeLibrary for uint24;
[codex:1247874]     using Hooks for IHooks;
[codex:1247874] 
[codex:1247874] thinking
[codex:1247874] **Continuing hook delta logic**
[codex:1247874] exec
[codex:1247874] /bin/bash -lc "sed -n '260,520p' contracts/src/libraries/Hooks.sol" in /tmp/codex-multi-vlnclolj succeeded in 5ms:
[codex:1247874]             // dynamic fee pools that want to override the cache fee, return a valid fee with the override flag. If override flag
[codex:1247874]             // is set but an invalid fee is returned, the transaction will revert. Otherwise the current LP fee will be used
[codex:1247874]             if (key.fee.isDynamicFee()) lpFeeOverride = result.parseFee();
[codex:1247874] 
[codex:1247874]             // skip this logic for the case where the hook return is 0
[codex:1247874]             if (self.hasPermission(BEFORE_SWAP_RETURNS_DELTA_FLAG)) {
[codex:1247874]                 hookReturn = BeforeSwapDelta.wrap(result.parseReturnDelta());
[codex:1247874] 
[codex:1247874]                 // any return in unspecified is passed to the afterSwap hook for handling
[codex:1247874]                 int128 hookDeltaSpecified = hookReturn.getSpecifiedDelta();
[codex:1247874] 
[codex:1247874]                 // Update the swap amount according to the hook's return, and check that the swap type doesn't change (exact input/output)
[codex:1247874]                 if (hookDeltaSpecified != 0) {
[codex:1247874]                     bool exactInput = amountToSwap < 0;
[codex:1247874]                     amountToSwap += hookDeltaSpecified;
[codex:1247874]                     if (exactInput ? amountToSwap > 0 : amountToSwap < 0) {
[codex:1247874]                         HookDeltaExceedsSwapAmount.selector.revertWith();
[codex:1247874]                     }
[codex:1247874]                 }
[codex:1247874]             }
[codex:1247874] 
[codex:1247874] 
[codex:1247874] thinking
[codex:1247874] **Analyzing hook delta and swap behavior**
[codex:1247874] thinking
[codex:1247874] **Evaluating delegatecall impact on lock and storage**
[codex:1247874] 
[codex:1247874] I'm checking how delegatecall interacts with PoolManager's noDelegateCall and onlyWhenUnlocked protections, focusing on whether delegatecall can bypass locks or manipulate transient storage to profit. The logic shows delegatecall affects the caller's context, not PoolManager's funds or storage, so no direct exploit arises. I'll prepare the final JSON response confirming no findings.
[codex:1247874] codex
[codex:1247874] {"no_findings":true,"summary":"No concrete, exploitable profit paths identified in the provided sources.","findings":[]}
[codex:1247874] tokens used
[codex:1247874] 59,517
[codex:1247874] {"no_findings":true,"summary":"No concrete, exploitable profit paths identified in the provided sources.","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-01T16:11:50.615566+00:00",
        "returncode": 0
    },
    "summary": "No concrete, exploitable profit paths identified in the provided sources.",
    "raw_final": {
        "summary": "No concrete, exploitable profit paths identified in the provided sources.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
5
EXT*/BALANCE
0
Total opcodes
10418
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0xa0
00000002: DUP1
00000003: PUSH1 0x40
00000005: MSTORE
00000006: PUSH1 0x04
00000008: CALLDATASIZE
00000009: LT
0000000a: ISZERO
0000000b: PUSH2 0x0012
0000000e: JUMPI
0000000f: PUSH0
00000010: DUP1
00000011: REVERT
00000012: JUMPDEST
00000013: PUSH0
00000014: CALLDATALOAD
00000015: PUSH1 0xe0
00000017: SHR
00000018: SWAP1
00000019: DUP2
0000001a: PUSH3 0xfdd58e
0000001e: EQ
0000001f: PUSH2 0x2cd5
00000022: JUMPI
00000023: POP
00000024: DUP1
00000025: PUSH4 0x01ffc9a7
0000002a: EQ
0000002b: PUSH2 0x2c16
0000002e: JUMPI
0000002f: DUP1
00000030: PUSH4 0x095bcdb6
00000035: EQ
00000036: PUSH2 0x2b6c
00000039: JUMPI
0000003a: DUP1
0000003b: PUSH4 0x0b0d9c09
00000040: EQ
00000041: PUSH2 0x2ae0
00000044: JUMPI
00000045: DUP1
00000046: PUSH4 0x11da60b4
0000004b: EQ
0000004c: PUSH2 0x2a85
0000004f: JUMPI
00000050: DUP1
00000051: PUSH4 0x156e29f6
00000056: EQ
00000057: PUSH2 0x29d5
0000005a: JUMPI
0000005b: DUP1
0000005c: PUSH4 0x1e2eaeaf
00000061: EQ
00000062: PUSH2 0x299b
00000065: JUMPI
00000066: DUP1
00000067: PUSH4 0x234266d7
0000006c: EQ
0000006d: PUSH2 0x26fc
00000070: JUMPI
00000071: DUP1
00000072: PUSH4 0x2d771389
00000077: EQ
00000078: PUSH2 0x2651
0000007b: JUMPI
0000007c: DUP1
0000007d: PUSH4 0x35fd631a
00000082: EQ
00000083: PUSH2 0x25dd
00000086: JUMPI
00000087: DUP1
00000088: PUSH4 0x3dd45adb
0000008d: EQ
0000008e: PUSH2 0x2579
00000091: JUMPI
00000092: DUP1
00000093: PUSH4 0x426a8493
00000098: EQ
00000099: PUSH2 0x24f5
0000009c: JUMPI
0000009d: DUP1
0000009e: PUSH4 0x48c89491
000000a3: EQ
000000a4: PUSH2 0x226a
000000a7: JUMPI
000000a8: DUP1
000000a9: PUSH4 0x52759651
000000ae: EQ
000000af: PUSH2 0x2152
000000b2: JUMPI
000000b3: DUP1
000000b4: PUSH4 0x558a7297
000000b9: EQ
000000ba: PUSH2 0x207b
000000bd: JUMPI
000000be: DUP1
000000bf: PUSH4 0x598af9e7
000000c4: EQ
000000c5: PUSH2 0x1fe3
000000c8: JUMPI
000000c9: DUP1
000000ca: PUSH4 0x5a6bcfda
000000cf: EQ
000000d0: PUSH2 0x144f
000000d3: JUMPI
000000d4: DUP1
000000d5: PUSH4 0x6276cbbe
000000da: EQ
000000db: PUSH2 0x0f96
000000de: JUMPI
000000df: DUP1
000000e0: PUSH4 0x7e87ce7d
000000e5: EQ
000000e6: PUSH2 0x0e59
000000e9: JUMPI
000000ea: DUP1
000000eb: PUSH4 0x80f0b44c
000000f0: EQ
000000f1: PUSH2 0x0d87
000000f4: JUMPI
000000f5: DUP1
000000f6: PUSH4 0x8161b874
000000fb: EQ
000000fc: PUSH2 0x0c31
000000ff: JUMPI
00000100: DUP1
00000101: PUSH4 0x8da5cb5b
00000106: EQ
00000107: PUSH2 0x0be1
0000010a: JUMPI
0000010b: DUP1
0000010c: PUSH4 0x97e8cd4e
00000111: EQ
00000112: PUSH2 0x0b7e
00000115: JUMPI
00000116: DUP1
00000117: PUSH4 0x9bf6645f
0000011c: EQ
0000011d: PUSH2 0x0b31
00000120: JUMPI
00000121: DUP1
00000122: PUSH4 0xa5841194
00000127: EQ
00000128: PUSH2 0x0a66
0000012b: JUMPI
0000012c: DUP1
0000012d: PUSH4 0xb6363cf2
00000132: EQ
00000133: PUSH2 0x09d5
00000136: JUMPI
00000137: DUP1
00000138: PUSH4 0xdbd035ff
0000013d: EQ
0000013e: PUSH2 0x097f
00000141: JUMPI
00000142: DUP1
00000143: PUSH4 0xf02de3b2
00000148: EQ
00000149: PUSH2 0x092e
0000014c: JUMPI
0000014d: DUP1
0000014e: PUSH4 0xf135baaa
00000153: EQ
00000154: PUSH2 0x08f4
00000157: JUMPI
00000158: DUP1
00000159: PUSH4 0xf2fde38b
0000015e: EQ
0000015f: PUSH2 0x0848
00000162: JUMPI
00000163: DUP1
00000164: PUSH4 0xf3cd914c
00000169: EQ
0000016a: PUSH2 0x04ff
0000016d: JUMPI
0000016e: DUP1
0000016f: PUSH4 0xf5298aca
00000174: EQ
00000175: PUSH2 0x0334
00000178: JUMPI
00000179: PUSH4 0xfe99049a
0000017e: EQ
0000017f: PUSH2 0x0186
00000182: JUMPI
00000183: PUSH0
00000184: DUP1
00000185: REVERT
00000186: JUMPDEST
00000187: CALLVALUE
00000188: PUSH2 0x0330
0000018b: JUMPI
0000018c: PUSH1 0x80
0000018e: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000001af: CALLDATASIZE
000001b0: ADD
000001b1: SLT
000001b2: PUSH2 0x0330
000001b5: JUMPI
000001b6: PUSH2 0x01bd
000001b9: PUSH2 0x2d3f
000001bc: JUMP
000001bd: JUMPDEST
000001be: PUSH2 0x01c5
000001c1: PUSH2 0x2d62
000001c4: JUMP
000001c5: JUMPDEST
000001c6: SWAP1
000001c7: PUSH1 0x44
000001c9: CALLDATALOAD
000001ca: SWAP2
000001cb: PUSH32 0x1b3d7edb2e9c0b0e7c525b20aaaef0f5940d2ed71663c7d39266ecafac728859
000001ec: PUSH2 0x0279
000001ef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000204: DUP1
00000205: PUSH1 0x64
00000207: CALLDATALOAD
00000208: SWAP6
00000209: AND
0000020a: SWAP4
0000020b: DUP5
0000020c: CALLER
0000020d: EQ
0000020e: ISZERO
0000020f: DUP1
00000210: PUSH2 0x030d
00000213: JUMPI
00000214: JUMPDEST
00000215: PUSH2 0x0287
00000218: JUMPI
00000219: JUMPDEST
0000021a: DUP5
0000021b: PUSH0
0000021c: MSTORE
0000021d: PUSH1 0x04
0000021f: PUSH1 0x20
00000221: MSTORE
00000222: PUSH1 0x40
00000224: PUSH0
00000225: KECCAK256
00000226: DUP8
00000227: PUSH0
00000228: MSTORE
00000229: PUSH1 0x20
0000022b: MSTORE
0000022c: PUSH1 0x40
0000022e: PUSH0
0000022f: KECCAK256
00000230: PUSH2 0x023a
00000233: DUP8
00000234: DUP3
00000235: SLOAD
00000236: PUSH2 0x2fed
00000239: JUMP
0000023a: JUMPDEST
0000023b: SWAP1
0000023c: SSTORE
0000023d: AND
0000023e: SWAP4
0000023f: DUP5
00000240: PUSH0
00000241: MSTORE
00000242: PUSH1 0x04
00000244: PUSH1 0x20
00000246: MSTORE
00000247: PUSH1 0x40
00000249: PUSH0
0000024a: KECCAK256
0000024b: DUP7
0000024c: PUSH0
0000024d: MSTORE
0000024e: PUSH1 0x20
00000250: MSTORE
00000251: PUSH1 0x40
00000253: PUSH0
00000254: KECCAK256
00000255: PUSH2 0x025f
00000258: DUP3
00000259: DUP3
0000025a: SLOAD
0000025b: PUSH2 0x2ffa
0000025e: JUMP
0000025f: JUMPDEST
00000260: SWAP1
00000261: SSTORE
00000262: PUSH1 0x40
00000264: DUP1
00000265: MLOAD
00000266: CALLER
00000267: DUP2
00000268: MSTORE
00000269: PUSH1 0x20
0000026b: DUP2
0000026c: ADD
0000026d: SWAP3
0000026e: SWAP1
0000026f: SWAP3
00000270: MSTORE
00000271: SWAP1
00000272: SWAP2
00000273: DUP3
00000274: SWAP2
00000275: DUP3
00000276: ADD
00000277: SWAP1
00000278: JUMP
00000279: JUMPDEST
0000027a: SUB
0000027b: SWAP1
0000027c: LOG4
0000027d: PUSH1 0x20
0000027f: PUSH1 0x40
00000281: MLOAD
00000282: PUSH1 0x01
00000284: DUP2
00000285: MSTORE
00000286: RETURN
00000287: JUMPDEST
00000288: DUP5
00000289: PUSH0
0000028a: MSTORE
0000028b: PUSH1 0x05
0000028d: PUSH1 0x20
0000028f: MSTORE
00000290: PUSH1 0x40
00000292: PUSH0
00000293: KECCAK256
00000294: DUP3
00000295: CALLER
00000296: AND
00000297: PUSH0
00000298: MSTORE
00000299: PUSH1 0x20
0000029b: MSTORE
0000029c: PUSH1 0x40
0000029e: PUSH0
0000029f: KECCAK256
000002a0: DUP8
000002a1: PUSH0
000002a2: MSTORE
000002a3: PUSH1 0x20
000002a5: MSTORE
000002a6: PUSH1 0x40
000002a8: PUSH0
000002a9: KECCAK256
000002aa: SLOAD
000002ab: DUP7
000002ac: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000002cd: DUP3
000002ce: SUB
000002cf: PUSH2 0x02da
000002d2: JUMPI
000002d3: JUMPDEST
000002d4: POP
000002d5: POP
000002d6: PUSH2 0x0219
000002d9: JUMP
000002da: JUMPDEST
000002db: PUSH2 0x02e3
000002de: SWAP2
000002df: PUSH2 0x2fed
000002e2: JUMP
000002e3: JUMPDEST
000002e4: DUP6
000002e5: PUSH0
000002e6: MSTORE
000002e7: PUSH1 0x05
000002e9: PUSH1 0x20
000002eb: MSTORE
000002ec: PUSH1 0x40
000002ee: PUSH0
000002ef: KECCAK256
000002f0: DUP4
000002f1: CALLER
000002f2: AND
000002f3: PUSH0
000002f4: MSTORE
000002f5: PUSH1 0x20
000002f7: MSTORE
000002f8: PUSH1 0x40
000002fa: PUSH0
000002fb: KECCAK256
000002fc: DUP9
000002fd: PUSH0
000002fe: MSTORE
000002ff: PUSH1 0x20
00000301: MSTORE
00000302: PUSH1 0x40
00000304: PUSH0
00000305: KECCAK256
00000306: SSTORE
00000307: PUSH0
00000308: DUP7
00000309: PUSH2 0x02d3
0000030c: JUMP
0000030d: JUMPDEST
0000030e: POP
0000030f: DUP5
00000310: PUSH0
00000311: MSTORE
00000312: PUSH1 0x03
00000314: PUSH1 0x20
00000316: MSTORE
00000317: PUSH1 0x40
00000319: PUSH0
0000031a: KECCAK256
0000031b: DUP3
0000031c: CALLER
0000031d: AND
0000031e: PUSH0
0000031f: MSTORE
00000320: PUSH1 0x20
00000322: MSTORE
00000323: PUSH1 0xff
00000325: PUSH1 0x40
00000327: PUSH0
00000328: KECCAK256
00000329: SLOAD
0000032a: AND
0000032b: ISZERO
0000032c: PUSH2 0x0214
0000032f: JUMP
00000330: JUMPDEST
00000331: PUSH0
00000332: DUP1
00000333: REVERT
00000334: JUMPDEST
00000335: CALLVALUE
00000336: PUSH2 0x0330
00000339: JUMPI
0000033a: PUSH2 0x0342
0000033d: CALLDATASIZE
0000033e: PUSH2 0x2d85
00000341: JUMP
00000342: JUMPDEST
00000343: PUSH32 0xc090fc4683624cfc3884e9d8de5eca132f2d0ec062aff75d43c0465d5ceeab23
00000364: TLOAD
00000365: ISZERO
00000366: PUSH2 0x04d7
00000369: JUMPI
0000036a: PUSH32 0x1b3d7edb2e9c0b0e7c525b20aaaef0f5940d2ed71663c7d39266ecafac728859
0000038b: PUSH2 0x03ed
0000038e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003a3: DUP1
000003a4: PUSH0
000003a5: SWAP6
000003a6: AND
000003a7: SWAP6
000003a8: PUSH2 0x03bb
000003ab: PUSH2 0x03b3
000003ae: DUP7
000003af: PUSH2 0x30aa
000003b2: JUMP
000003b3: JUMPDEST
000003b4: CALLER
000003b5: SWAP1
000003b6: DUP10
000003b7: PUSH2 0x30f0
000003ba: JUMP
000003bb: JUMPDEST
000003bc: AND
000003bd: SWAP3
000003be: CALLER
000003bf: DUP5
000003c0: EQ
000003c1: ISZERO
000003c2: DUP1
000003c3: PUSH2 0x04a0
000003c6: JUMPI
000003c7: JUMPDEST
000003c8: PUSH2 0x03f2
000003cb: JUMPI
000003cc: JUMPDEST
000003cd: DUP4
000003ce: DUP6
000003cf: MSTORE
000003d0: PUSH1 0x04
000003d2: PUSH1 0x20
000003d4: MSTORE
000003d5: PUSH1 0x40
000003d7: DUP6
000003d8: KECCAK256
000003d9: DUP7
000003da: DUP7
000003db: MSTORE
000003dc: PUSH1 0x20
000003de: MSTORE
000003df: PUSH1 0x40
000003e1: DUP6
000003e2: KECCAK256
000003e3: PUSH2 0x025f
000003e6: DUP3
000003e7: DUP3
000003e8: SLOAD
000003e9: PUSH2 0x2fed
000003ec: JUMP
000003ed: JUMPDEST
000003ee: SUB
000003ef: SWAP1
000003f0: LOG4
000003f1: STOP
000003f2: JUMPDEST
000003f3: DUP4
000003f4: DUP6
000003f5: MSTORE
000003f6: PUSH1 0x05
000003f8: PUSH1 0x20
000003fa: MSTORE
000003fb: PUSH1 0x40
000003fd: DUP6
000003fe: KECCAK256
000003ff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000414: CALLER
00000415: AND
00000416: DUP7
00000417: MSTORE
00000418: PUSH1 0x20
0000041a: MSTORE
0000041b: PUSH1 0x40
0000041d: DUP6
0000041e: KECCAK256
0000041f: DUP7
00000420: DUP7
00000421: MSTORE
00000422: PUSH1 0x20
00000424: MSTORE
00000425: PUSH1 0x40
00000427: DUP6
00000428: KECCAK256
00000429: SLOAD
0000042a: DUP2
0000042b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000044c: DUP3
0000044d: SUB
0000044e: PUSH2 0x0459
00000451: JUMPI
00000452: JUMPDEST
00000453: POP
00000454: POP
00000455: PUSH2 0x03cc
00000458: JUMP
00000459: JUMPDEST
0000045a: PUSH2 0x0462
0000045d: SWAP2
0000045e: PUSH2 0x2fed
00000461: JUMP
00000462: JUMPDEST
00000463: DUP5
00000464: DUP7
00000465: MSTORE
00000466: PUSH1 0x05
00000468: PUSH1 0x20
0000046a: MSTORE
0000046b: PUSH1 0x40
0000046d: DUP7
0000046e: KECCAK256
0000046f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000484: CALLER
00000485: AND
00000486: DUP8
00000487: MSTORE
00000488: PUSH1 0x20
0000048a: MSTORE
0000048b: PUSH1 0x40
0000048d: DUP7
0000048e: KECCAK256
0000048f: DUP8
00000490: DUP8
00000491: MSTORE
00000492: PUSH1 0x20
00000494: MSTORE
00000495: PUSH1 0x40
00000497: DUP7
00000498: KECCAK256
00000499: SSTORE
0000049a: DUP7
0000049b: DUP2
0000049c: PUSH2 0x0452
0000049f: JUMP
000004a0: JUMPDEST
000004a1: POP
000004a2: DUP4
000004a3: DUP6
000004a4: MSTORE
000004a5: PUSH1 0x03
000004a7: PUSH1 0x20
000004a9: MSTORE
000004aa: PUSH1 0x40
000004ac: DUP6
000004ad: KECCAK256
000004ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004c3: CALLER
000004c4: AND
000004c5: DUP7
000004c6: MSTORE
000004c7: PUSH1 0x20
000004c9: MSTORE
000004ca: PUSH1 0xff
000004cc: PUSH1 0x40
000004ce: DUP7
000004cf: KECCAK256
000004d0: SLOAD
000004d1: AND
000004d2: ISZERO
000004d3: PUSH2 0x03c7
000004d6: JUMP
000004d7: JUMPDEST
000004d8: PUSH32 0x54e3ca0d00000000000000000000000000000000000000000000000000000000
000004f9: PUSH0
000004fa: MSTORE
000004fb: PUSH1 0x04
000004fd: PUSH0
000004fe: REVERT
000004ff: JUMPDEST
00000500: CALLVALUE
00000501: PUSH2 0x0330
00000504: JUMPI
00000505: PUSH2 0x0120
00000508: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000529: CALLDATASIZE
0000052a: ADD
0000052b: SLT
0000052c: PUSH2 0x0330
0000052f: JUMPI
00000530: PUSH2 0x0538
00000533: CALLDATASIZE
00000534: PUSH2 0x2e81
00000537: JUMP
00000538: JUMPDEST
00000539: PUSH1 0x60
0000053b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5c
0000055c: CALLDATASIZE
0000055d: ADD
0000055e: SLT
0000055f: PUSH2 0x0330
00000562: JUMPI
00000563: PUSH1 0x40
00000565: MLOAD
00000566: SWAP1
00000567: PUSH2 0x056f
0000056a: DUP3
0000056b: PUSH2 0x2df6
0000056e: JUMP
0000056f: JUMPDEST
00000570: PUSH1 0xa4
00000572: CALLDATALOAD
00000573: DUP1
00000574: ISZERO
00000575: ISZERO
00000576: DUP2
00000577: SUB
00000578: PUSH2 0x0330
0000057b: JUMPI
0000057c: DUP3
0000057d: MSTORE
0000057e: PUSH1 0x20
00000580: DUP3
00000581: ADD
00000582: SWAP1
00000583: PUSH1 0xc4
00000585: CALLDATALOAD
00000586: DUP3
00000587: MSTORE
00000588: PUSH1 0xe4
0000058a: CALLDATALOAD
0000058b: SWAP1
0000058c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005a1: DUP3
000005a2: AND
000005a3: DUP3
000005a4: SUB
000005a5: PUSH2 0x0330
000005a8: JUMPI
000005a9: PUSH1 0x40
000005ab: DUP5
000005ac: ADD
000005ad: SWAP2
000005ae: DUP3
000005af: MSTORE
000005b0: PUSH2 0x0104
000005b3: CALLDATALOAD
000005b4: PUSH8 0xffffffffffffffff
000005bd: DUP2
000005be: GT
000005bf: PUSH2 0x0330
000005c2: JUMPI
000005c3: PUSH2 0x05d0
000005c6: SWAP1
000005c7: CALLDATASIZE
000005c8: SWAP1
000005c9: PUSH1 0x04
000005cb: ADD
000005cc: PUSH2 0x2f4d
000005cf: JUMP
000005d0: JUMPDEST
000005d1: SWAP3
000005d2: SWAP1
000005d3: SWAP4
000005d4: PUSH32 0xc090fc4683624cfc3884e9d8de5eca132f2d0ec062aff75d43c0465d5ceeab23
000005f5: TLOAD
000005f6: ISZERO
000005f7: PUSH2 0x04d7
000005fa: JUMPI
000005fb: PUSH2 0x0602
000005fe: PUSH2 0x350f
00000601: JUMP
00000602: JUMPDEST
00000603: MLOAD
00000604: ISZERO
00000605: PUSH2 0x0820
00000608: JUMPI
00000609: PUSH1 0xa0
0000060b: DUP3
0000060c: KECCAK256
0000060d: SWAP3
0000060e: DUP4
0000060f: PUSH0
00000610: MSTORE
00000611: PUSH1 0x06
00000613: PUSH1 0x20
00000615: MSTORE
00000616: PUSH1 0x40
00000618: PUSH0
00000619: KECCAK256
0000061a: SWAP1
0000061b: PUSH2 0x0623
0000061e: DUP3
0000061f: PUSH2 0x3576
00000622: JUMP
00000623: JUMPDEST
00000624: PUSH1 0x80
00000626: DUP5
00000627: ADD
00000628: SWAP6
00000629: DUP5
0000062a: DUP3
0000062b: DUP3
0000062c: DUP11
0000062d: DUP11
0000062e: MLOAD
0000062f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000644: AND
00000645: SWAP4
00000646: PUSH2 0x064e
00000649: SWAP5
0000064a: PUSH2 0x3b44
0000064d: JUMP
0000064e: JUMPDEST
0000064f: SWAP1
00000650: SWAP5
00000651: SWAP2
00000652: SWAP6
00000653: PUSH1 0x60
00000655: DUP9
00000656: ADD
00000657: MLOAD
00000658: PUSH1 0x02
0000065a: SIGNEXTEND
0000065b: SWAP1
0000065c: DUP12
0000065d: MLOAD
0000065e: ISZERO
0000065f: ISZERO
00000660: SWAP1
00000661: MLOAD
00000662: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000677: AND
00000678: SWAP2
00000679: PUSH1 0x40
0000067b: MLOAD
0000067c: SWAP9
0000067d: PUSH2 0x0685
00000680: DUP11
00000681: PUSH2 0x2e12
00000684: JUMP
00000685: JUMPDEST
00000686: DUP10
00000687: MSTORE
00000688: PUSH1 0x20
0000068a: DUP10
0000068b: ADD
0000068c: MSTORE
0000068d: PUSH1 0x40
0000068f: DUP9
00000690: ADD
00000691: MSTORE
00000692: PUSH1 0x60
00000694: DUP8
00000695: ADD
00000696: MSTORE
00000697: PUSH3 0xffffff
0000069b: AND
0000069c: PUSH1 0x80
0000069e: DUP7
0000069f: ADD
000006a0: MSTORE
000006a1: DUP9
000006a2: MLOAD
000006a3: ISZERO
000006a4: ISZERO
000006a5: PUSH0
000006a6: EQ
000006a7: SWAP9
000006a8: PUSH3 0xffffff
000006ac: PUSH2 0x07a2
000006af: SWAP9
000006b0: PUSH2 0x06db
000006b3: PUSH2 0x078f
000006b6: SWAP9
000006b7: PUSH1 0x20
000006b9: SWAP14
000006ba: PUSH2 0x0800
000006bd: JUMPI
000006be: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006d3: DUP12
000006d4: MLOAD
000006d5: AND
000006d6: SWAP6
000006d7: PUSH2 0x4959
000006da: JUMP
000006db: JUMPDEST
000006dc: SWAP5
000006dd: SWAP3
000006de: SWAP7
000006df: DUP3
000006e0: SWAP2
000006e1: SWAP3
000006e2: PUSH2 0x07d3
000006e5: JUMPI
000006e6: JUMPDEST
000006e7: POP
000006e8: POP
000006e9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006fe: DUP5
000006ff: MLOAD
00000700: AND
00000701: SWAP4
00000702: DUP15
00000703: PUSH16 0xffffffffffffffffffffffffffffffff
00000714: PUSH1 0x40
00000716: DUP4
00000717: ADD
00000718: MLOAD
00000719: AND
0000071a: SWAP2
0000071b: ADD
0000071c: MLOAD
0000071d: PUSH1 0x02
0000071f: SIGNEXTEND
00000720: SWAP1
00000721: PUSH1 0x40
00000723: MLOAD
00000724: SWAP6
00000725: DUP9
00000726: PUSH1 0x80
00000728: SAR
00000729: PUSH1 0x0f
0000072b: SIGNEXTEND
0000072c: DUP8
0000072d: MSTORE
0000072e: DUP9
0000072f: PUSH1 0x0f
00000731: SIGNEXTEND
00000732: PUSH1 0x20
00000734: DUP9
00000735: ADD
00000736: MSTORE
00000737: PUSH1 0x40
00000739: DUP8
0000073a: ADD
0000073b: MSTORE
0000073c: PUSH1 0x60
0000073e: DUP7
0000073f: ADD
00000740: MSTORE
00000741: PUSH1 0x80
00000743: DUP6
00000744: ADD
00000745: MSTORE
00000746: AND
00000747: PUSH1 0xa0
00000749: DUP4
0000074a: ADD
0000074b: MSTORE
0000074c: PUSH32 0x40e9cecb9f5f1f1c5b9c97dec2917b7ee92e57ba5563708daca94dd84ad7112f
0000076d: PUSH1 0xc0
0000076f: CALLER
00000770: SWAP4
00000771: LOG3
00000772: DUP7
00000773: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000788: DUP11
00000789: MLOAD
0000078a: AND
0000078b: PUSH2 0x3d81
0000078e: JUMP
0000078f: JUMPDEST
00000790: DUP1
00000791: SWAP5
00000792: SWAP2
00000793: SWAP5
00000794: PUSH2 0x07aa
00000797: JUMPI
00000798: JUMPDEST
00000799: POP
0000079a: POP
0000079b: DUP3
0000079c: CALLER
0000079d: SWAP2
0000079e: PUSH2 0x3652
000007a1: JUMP
000007a2: JUMPDEST
000007a3: PUSH1 0x40
000007a5: MLOAD
000007a6: SWAP1
000007a7: DUP2
000007a8: MSTORE
000007a9: RETURN
000007aa: JUMPDEST
000007ab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007c0: PUSH2 0x07cc
000007c3: SWAP3
000007c4: MLOAD
000007c5: AND
000007c6: SWAP1
000007c7: DUP4
000007c8: PUSH2 0x3652
000007cb: JUMP
000007cc: JUMPDEST
000007cd: DUP5
000007ce: DUP1
000007cf: PUSH2 0x0798
000007d2: JUMP
000007d3: JUMPDEST
000007d4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007e9: AND
000007ea: PUSH0
000007eb: MSTORE
000007ec: PUSH1 0x01
000007ee: DUP16
000007ef: MSTORE
000007f0: PUSH1 0x40
000007f2: PUSH0
000007f3: KECCAK256
000007f4: SWAP1
000007f5: DUP2
000007f6: SLOAD
000007f7: ADD
000007f8: SWAP1
000007f9: SSTORE
000007fa: DUP15
000007fb: DUP1
000007fc: PUSH2 0x06e6
000007ff: JUMP
00000800: JUMPDEST
00000801: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000816: DUP15
00000817: DUP13
00000818: ADD
00000819: MLOAD
0000081a: AND
0000081b: SWAP6
0000081c: PUSH2 0x4959
0000081f: JUMP
00000820: JUMPDEST
00000821: PUSH32 0xbe8b850700000000000000000000000000000000000000000000000000000000
00000842: PUSH0
00000843: MSTORE
00000844: PUSH1 0x04
00000846: PUSH0
00000847: REVERT
00000848: JUMPDEST
00000849: CALLVALUE
0000084a: PUSH2 0x0330
0000084d: JUMPI
0000084e: PUSH1 0x20
00000850: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000871: CALLDATASIZE
00000872: ADD
00000873: SLT
00000874: PUSH2 0x0330
00000877: JUMPI
00000878: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00000899: PUSH2 0x08a0
0000089c: PUSH2 0x2d3f
0000089f: JUMP
000008a0: JUMPDEST
000008a1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008b6: PUSH0
000008b7: SLOAD
000008b8: SWAP2
000008b9: PUSH2 0x08c5
000008bc: DUP3
000008bd: DUP5
000008be: AND
000008bf: CALLER
000008c0: EQ
000008c1: PUSH2 0x3007
000008c4: JUMP
000008c5: JUMPDEST
000008c6: AND
000008c7: SWAP2
000008c8: DUP3
000008c9: SWAP2
000008ca: AND
000008cb: OR
000008cc: PUSH0
000008cd: SSTORE
000008ce: CALLER
000008cf: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
000008f0: PUSH0
000008f1: DUP1
000008f2: LOG3
000008f3: STOP
000008f4: JUMPDEST
000008f5: CALLVALUE
000008f6: PUSH2 0x0330
000008f9: JUMPI
000008fa: PUSH1 0x20
000008fc: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
0000091d: CALLDATASIZE
0000091e: ADD
0000091f: SLT
00000920: PUSH2 0x0330
00000923: JUMPI
00000924: PUSH1 0x04
00000926: CALLDATALOAD
00000927: TLOAD
00000928: PUSH0
00000929: MSTORE
0000092a: PUSH1 0x20
0000092c: PUSH0
0000092d: RETURN
0000092e: JUMPDEST
0000092f: CALLVALUE
00000930: PUSH2 0x0330
00000933: JUMPI
00000934: PUSH0
00000935: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000956: CALLDATASIZE
00000957: ADD
00000958: SLT
00000959: PUSH2 0x0330
0000095c: JUMPI
0000095d: PUSH1 0x20
0000095f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000974: PUSH1 0x02
00000976: SLOAD
00000977: AND
00000978: PUSH1 0x40
0000097a: MLOAD
0000097b: SWAP1
0000097c: DUP2
0000097d: MSTORE
0000097e: RETURN
0000097f: JUMPDEST
00000980: CALLVALUE
00000981: PUSH2 0x0330
00000984: JUMPI
00000985: PUSH2 0x098d
00000988: CALLDATASIZE
00000989: PUSH2 0x2f7b
0000098c: JUMP
0000098d: JUMPDEST
0000098e: PUSH1 0x40
00000990: MLOAD
00000991: SWAP2
00000992: PUSH1 0x40
00000994: DUP4
00000995: PUSH1 0x20
00000997: DUP2
00000998: MSTORE
00000999: DUP4
0000099a: PUSH1 0x20
0000099c: DUP3
0000099d: ADD
0000099e: MSTORE
0000099f: ADD
000009a0: SWAP2
000009a1: PUSH1 0x05
000009a3: SHL
000009a4: DUP4
000009a5: ADD
000009a6: SWAP2
000009a7: PUSH1 0x20
000009a9: DUP1
000009aa: PUSH1 0x40
000009ac: DUP6
000009ad: ADD
000009ae: SWAP4
000009af: SWAP3
000009b0: JUMPDEST
000009b1: DUP4
000009b2: CALLDATALOAD
000009b3: SLOAD
000009b4: DUP2
000009b5: MSTORE
000009b6: ADD
000009b7: SWAP2
000009b8: ADD
000009b9: SWAP1
000009ba: DUP5
000009bb: DUP4
000009bc: DUP3
000009bd: LT
000009be: ISZERO
000009bf: PUSH2 0x09cc
000009c2: JUMPI
000009c3: POP
000009c4: PUSH1 0x20
000009c6: DUP1
000009c7: SWAP2
000009c8: PUSH2 0x09b0
000009cb: JUMP
000009cc: JUMPDEST
000009cd: PUSH1 0x40
000009cf: DUP2
000009d0: DUP7
000009d1: SUB
000009d2: ADD
000009d3: SWAP1
000009d4: RETURN
000009d5: JUMPDEST
000009d6: CALLVALUE
000009d7: PUSH2 0x0330
000009da: JUMPI
000009db: PUSH1 0x40
000009dd: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000009fe: CALLDATASIZE
000009ff: ADD
00000a00: SLT
00000a01: PUSH2 0x0330
00000a04: JUMPI
00000a05: PUSH2 0x0a0c
00000a08: PUSH2 0x2d3f
00000a0b: JUMP
00000a0c: JUMPDEST
00000a0d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a22: PUSH2 0x0a29
00000a25: PUSH2 0x2d62
00000a28: JUMP
00000a29: JUMPDEST
00000a2a: SWAP2
00000a2b: AND
00000a2c: PUSH0
00000a2d: MSTORE
00000a2e: PUSH1 0x03
00000a30: PUSH1 0x20
00000a32: MSTORE
00000a33: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a48: PUSH1 0x40
00000a4a: PUSH0
00000a4b: KECCAK256
00000a4c: SWAP2
00000a4d: AND
00000a4e: PUSH0
00000a4f: MSTORE
00000a50: PUSH1 0x20
00000a52: MSTORE
00000a53: PUSH1 0x20
00000a55: PUSH1 0xff
00000a57: PUSH1 0x40
00000a59: PUSH0
00000a5a: KECCAK256
00000a5b: SLOAD
00000a5c: AND
00000a5d: PUSH1 0x40
00000a5f: MLOAD
00000a60: SWAP1
00000a61: ISZERO
00000a62: ISZERO
00000a63: DUP2
00000a64: MSTORE
00000a65: RETURN
00000a66: JUMPDEST
00000a67: CALLVALUE
00000a68: PUSH2 0x0330
00000a6b: JUMPI
00000a6c: PUSH1 0x20
00000a6e: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000a8f: CALLDATASIZE
00000a90: ADD
00000a91: SLT
00000a92: PUSH2 0x0330
00000a95: JUMPI
00000a96: PUSH2 0x0a9d
00000a99: PUSH2 0x2d3f
00000a9c: JUMP
00000a9d: JUMPDEST
00000a9e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ab3: DUP2
00000ab4: AND
00000ab5: SWAP1
00000ab6: DUP2
00000ab7: PUSH2 0x0ae1
00000aba: JUMPI
00000abb: POP
00000abc: POP
00000abd: PUSH0
00000abe: PUSH32 0x27e098c505d44ec3574004bca052aabf76bd35004c182099d8c575fb238593b9
00000adf: TSTORE
00000ae0: STOP
00000ae1: JUMPDEST
00000ae2: PUSH2 0x0aea
00000ae5: SWAP1
00000ae6: PUSH2 0x3a92
00000ae9: JUMP
00000aea: JUMPDEST
00000aeb: SWAP1
00000aec: PUSH32 0x27e098c505d44ec3574004bca052aabf76bd35004c182099d8c575fb238593b9
00000b0d: TSTORE
00000b0e: PUSH32 0x1e0745a7db1623981f0b2a5d4232364c00787266eb75ad546f190e6cebe9bd95
00000b2f: TSTORE
00000b30: STOP
00000b31: JUMPDEST
00000b32: CALLVALUE
00000b33: PUSH2 0x0330
00000b36: JUMPI
00000b37: PUSH2 0x0b3f
00000b3a: CALLDATASIZE
00000b3b: PUSH2 0x2f7b
00000b3e: JUMP
00000b3f: JUMPDEST
00000b40: PUSH1 0x40
00000b42: MLOAD
00000b43: SWAP2
00000b44: PUSH1 0x40
00000b46: DUP4
00000b47: PUSH1 0x20
00000b49: DUP2
00000b4a: MSTORE
00000b4b: DUP4
00000b4c: PUSH1 0x20
00000b4e: DUP3
00000b4f: ADD
00000b50: MSTORE
00000b51: ADD
00000b52: SWAP2
00000b53: PUSH1 0x05
00000b55: SHL
00000b56: DUP4
00000b57: ADD
00000b58: SWAP2
00000b59: PUSH1 0x20
00000b5b: DUP1
00000b5c: PUSH1 0x40
00000b5e: DUP6
00000b5f: ADD
00000b60: SWAP4
00000b61: SWAP3
00000b62: JUMPDEST
00000b63: DUP4
00000b64: CALLDATALOAD
00000b65: TLOAD
00000b66: DUP2
00000b67: MSTORE
00000b68: ADD
00000b69: SWAP2
00000b6a: ADD
00000b6b: SWAP1
00000b6c: DUP5
00000b6d: DUP4
00000b6e: DUP3
00000b6f: LT
00000b70: ISZERO
00000b71: PUSH2 0x09cc
00000b74: JUMPI
00000b75: POP
00000b76: PUSH1 0x20
00000b78: DUP1
00000b79: SWAP2
00000b7a: PUSH2 0x0b62
00000b7d: JUMP
00000b7e: JUMPDEST
00000b7f: CALLVALUE
00000b80: PUSH2 0x0330
00000b83: JUMPI
00000b84: PUSH1 0x20
00000b86: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000ba7: CALLDATASIZE
00000ba8: ADD
00000ba9: SLT
00000baa: PUSH2 0x0330
00000bad: JUMPI
00000bae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bc3: PUSH2 0x0bca
00000bc6: PUSH2 0x2d3f
00000bc9: JUMP
00000bca: JUMPDEST
00000bcb: AND
00000bcc: PUSH0
00000bcd: MSTORE
00000bce: PUSH1 0x01
00000bd0: PUSH1 0x20
00000bd2: MSTORE
00000bd3: PUSH1 0x20
00000bd5: PUSH1 0x40
00000bd7: PUSH0
00000bd8: KECCAK256
00000bd9: SLOAD
00000bda: PUSH1 0x40
00000bdc: MLOAD
00000bdd: SWAP1
00000bde: DUP2
00000bdf: MSTORE
00000be0: RETURN
00000be1: JUMPDEST
00000be2: CALLVALUE
00000be3: PUSH2 0x0330
00000be6: JUMPI
00000be7: PUSH0
00000be8: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000c09: CALLDATASIZE
00000c0a: ADD
00000c0b: SLT
00000c0c: PUSH2 0x0330
00000c0f: JUMPI
00000c10: PUSH1 0x20
00000c12: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c27: PUSH0
00000c28: SLOAD
00000c29: AND
00000c2a: PUSH1 0x40
00000c2c: MLOAD
00000c2d: SWAP1
00000c2e: DUP2
00000c2f: MSTORE
00000c30: RETURN
00000c31: JUMPDEST
00000c32: CALLVALUE
00000c33: PUSH2 0x0330
00000c36: JUMPI
00000c37: PUSH1 0x60
00000c39: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000c5a: CALLDATASIZE
00000c5b: ADD
00000c5c: SLT
00000c5d: PUSH2 0x0330
00000c60: JUMPI
00000c61: PUSH2 0x0c68
00000c64: PUSH2 0x2d3f
00000c67: JUMP
00000c68: JUMPDEST
00000c69: PUSH2 0x0c70
00000c6c: PUSH2 0x2d62
00000c6f: JUMP
00000c70: JUMPDEST
00000c71: PUSH1 0x44
00000c73: CALLDATALOAD
00000c74: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c89: PUSH1 0x02
00000c8b: SLOAD
00000c8c: AND
00000c8d: CALLER
00000c8e: SUB
00000c8f: PUSH2 0x0d5f
00000c92: JUMPI
00000c93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ca8: DUP3
00000ca9: AND
00000caa: DUP1
00000cab: ISZERO
00000cac: ISZERO
00000cad: DUP1
00000cae: PUSH2 0x0d1f
00000cb1: JUMPI
00000cb2: JUMPDEST
00000cb3: PUSH2 0x0cf7
00000cb6: JUMPI
00000cb7: PUSH1 0x20
00000cb9: SWAP4
00000cba: PUSH2 0x07a2
00000cbd: SWAP3
00000cbe: DUP1
00000cbf: PUSH2 0x0cef
00000cc2: JUMPI
00000cc3: POP
00000cc4: DUP2
00000cc5: PUSH0
00000cc6: MSTORE
00000cc7: PUSH1 0x01
00000cc9: DUP6
00000cca: MSTORE
00000ccb: PUSH1 0x40
00000ccd: PUSH0
00000cce: KECCAK256
00000ccf: SLOAD
00000cd0: SWAP4
00000cd1: DUP5
00000cd2: SWAP3
00000cd3: JUMPDEST
00000cd4: PUSH0
00000cd5: MSTORE
00000cd6: PUSH1 0x01
00000cd8: DUP7
00000cd9: MSTORE
00000cda: PUSH1 0x40
00000cdc: PUSH0
00000cdd: KECCAK256
00000cde: PUSH2 0x0ce8
00000ce1: DUP5
00000ce2: DUP3
00000ce3: SLOAD
00000ce4: PUSH2 0x2fed
00000ce7: JUMP
00000ce8: JUMPDEST
00000ce9: SWAP1
00000cea: SSTORE
00000ceb: PUSH2 0x31f8
00000cee: JUMP
00000cef: JUMPDEST
00000cf0: SWAP4
00000cf1: DUP5
00000cf2: SWAP3
00000cf3: PUSH2 0x0cd3
00000cf6: JUMP
00000cf7: JUMPDEST
00000cf8: PUSH32 0xc79e594800000000000000000000000000000000000000000000000000000000
00000d19: PUSH0
00000d1a: MSTORE
00000d1b: PUSH1 0x04
00000d1d: PUSH0
00000d1e: REVERT
00000d1f: JUMPDEST
00000d20: POP
00000d21: DUP1
00000d22: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d37: PUSH32 0x27e098c505d44ec3574004bca052aabf76bd35004c182099d8c575fb238593b9
00000d58: TLOAD
00000d59: AND
00000d5a: EQ
00000d5b: PUSH2 0x0cb2
00000d5e: JUMP
00000d5f: JUMPDEST
00000d60: PUSH32 0x48f5c3ed00000000000000000000000000000000000000000000000000000000
00000d81: PUSH0
00000d82: MSTORE
00000d83: PUSH1 0x04
00000d85: PUSH0
00000d86: REVERT
00000d87: JUMPDEST
00000d88: CALLVALUE
00000d89: PUSH2 0x0330
00000d8c: JUMPI
00000d8d: PUSH1 0x40
00000d8f: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000db0: CALLDATASIZE
00000db1: ADD
00000db2: SLT
00000db3: PUSH2 0x0330
00000db6: JUMPI
00000db7: PUSH2 0x0dbe
00000dba: PUSH2 0x2d3f
00000dbd: JUMP
00000dbe: JUMPDEST
00000dbf: PUSH32 0xc090fc4683624cfc3884e9d8de5eca132f2d0ec062aff75d43c0465d5ceeab23
00000de0: TLOAD
00000de1: ISZERO
00000de2: PUSH2 0x04d7
00000de5: JUMPI
00000de6: CALLER
00000de7: PUSH0
00000de8: SWAP1
00000de9: DUP2
00000dea: MSTORE
00000deb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e00: DUP3
00000e01: AND
00000e02: PUSH1 0x20
00000e04: MSTORE
00000e05: PUSH1 0x40
00000e07: SWAP1
00000e08: KECCAK256
00000e09: TLOAD
00000e0a: PUSH2 0x0e14
00000e0d: PUSH1 0x24
00000e0f: CALLDATALOAD
00000e10: PUSH2 0x30aa
00000e13: JUMP
00000e14: JUMPDEST
00000e15: SWAP1
00000e16: DUP2
00000e17: PUSH1 0x0f
00000e19: SIGNEXTEND
00000e1a: SUB
00000e1b: PUSH2 0x0e31
00000e1e: JUMPI
00000e1f: PUSH2 0x0e2f
00000e22: SWAP2
00000e23: CALLER
00000e24: SWAP2
00000e25: PUSH0
00000e26: SUB
00000e27: PUSH1 0x0f
00000e29: SIGNEXTEND
00000e2a: SWAP1
00000e2b: PUSH2 0x30f0
00000e2e: JUMP
00000e2f: JUMPDEST
00000e30: STOP
00000e31: JUMPDEST
00000e32: PUSH32 0xbda73abf00000000000000000000000000000000000000000000000000000000
00000e53: PUSH0
00000e54: MSTORE
00000e55: PUSH1 0x04
00000e57: PUSH0
00000e58: REVERT
00000e59: JUMPDEST
00000e5a: CALLVALUE
00000e5b: PUSH2 0x0330
00000e5e: JUMPI
00000e5f: PUSH1 0xc0
00000e61: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000e82: CALLDATASIZE
00000e83: ADD
00000e84: SLT
00000e85: PUSH2 0x0330
00000e88: JUMPI
00000e89: PUSH2 0x0e91
00000e8c: CALLDATASIZE
00000e8d: PUSH2 0x2e81
00000e90: JUMP
00000e91: JUMPDEST
00000e92: PUSH2 0x0e99
00000e95: PUSH2 0x2e6f
00000e98: JUMP
00000e99: JUMPDEST
00000e9a: SWAP1
00000e9b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000eb0: PUSH1 0x02
00000eb2: SLOAD
00000eb3: AND
00000eb4: CALLER
00000eb5: SUB
00000eb6: PUSH2 0x0d5f
00000eb9: JUMPI
00000eba: PUSH3 0x3e9000
00000ebe: PUSH3 0xfff000
00000ec2: DUP4
00000ec3: AND
00000ec4: LT
00000ec5: PUSH2 0x03e9
00000ec8: PUSH2 0x0fff
00000ecb: DUP5
00000ecc: AND
00000ecd: LT
00000ece: AND
00000ecf: ISZERO
00000ed0: PUSH2 0x0f65
00000ed3: JUMPI
00000ed4: PUSH1 0x20
00000ed6: PUSH1 0xa0
00000ed8: PUSH32 0xe9c42593e71f84403b84352cd168d693e2c9fcd1fdbcc3feb21d92b43e6696f9
00000ef9: SWAP3
00000efa: KECCAK256
00000efb: SWAP3
00000efc: DUP4
00000efd: PUSH0
00000efe: MSTORE
00000eff: PUSH1 0x06
00000f01: DUP3
00000f02: MSTORE
00000f03: PUSH1 0x40
00000f05: PUSH0
00000f06: KECCAK256
00000f07: PUSH2 0x0f0f
00000f0a: DUP2
00000f0b: PUSH2 0x3576
00000f0e: JUMP
00000f0f: JUMPDEST
00000f10: DUP1
00000f11: SLOAD
00000f12: PUSH26 0xffffff0000000000000000000000000000000000000000000000
00000f2d: DUP4
00000f2e: PUSH1 0xb8
00000f30: SHL
00000f31: AND
00000f32: SWAP1
00000f33: PUSH32 0xffffffffffff000000ffffffffffffffffffffffffffffffffffffffffffffff
00000f54: AND
00000f55: OR
00000f56: SWAP1
00000f57: SSTORE
00000f58: PUSH3 0xffffff
00000f5c: PUSH1 0x40
00000f5e: MLOAD
00000f5f: SWAP2
00000f60: AND
00000f61: DUP2
00000f62: MSTORE
00000f63: LOG2
00000f64: STOP
00000f65: JUMPDEST
00000f66: PUSH3 0xffffff
00000f6a: DUP3
00000f6b: PUSH32 0xa7abe2f700000000000000000000000000000000000000000000000000000000
00000f8c: PUSH0
00000f8d: MSTORE
00000f8e: AND
00000f8f: PUSH1 0x04
00000f91: MSTORE
00000f92: PUSH1 0x24
00000f94: PUSH0
00000f95: REVERT
00000f96: JUMPDEST
00000f97: CALLVALUE
00000f98: PUSH2 0x0330
00000f9b: JUMPI
00000f9c: PUSH1 0xc0
00000f9e: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00000fbf: CALLDATASIZE
00000fc0: ADD
00000fc1: SLT
00000fc2: PUSH2 0x0330
00000fc5: JUMPI
00000fc6: PUSH2 0x0fce
00000fc9: CALLDATASIZE
00000fca: PUSH2 0x2e81
00000fcd: JUMP
00000fce: JUMPDEST
00000fcf: PUSH1 0xa4
00000fd1: CALLDATALOAD
00000fd2: SWAP1
00000fd3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000fe8: DUP3
00000fe9: AND
00000fea: DUP1
00000feb: DUP4
00000fec: SUB
00000fed: PUSH2 0x0330
00000ff0: JUMPI
00000ff1: PUSH2 0x0ff8
00000ff4: PUSH2 0x350f
00000ff7: JUMP
00000ff8: JUMPDEST
00000ff9: PUSH1 0x60
00000ffb: DUP3
00000ffc: ADD
00000ffd: SWAP2
00000ffe: DUP3
00000fff: MLOAD
00001000: PUSH1 0x02
00001002: SIGNEXTEND
00001003: PUSH2 0x7fff
00001006: DUP2
00001007: SGT
00001008: PUSH2 0x1424
0000100b: JUMPI
0000100c: POP
0000100d: DUP3
0000100e: MLOAD
0000100f: PUSH1 0x02
00001011: SIGNEXTEND
00001012: PUSH1 0x01
00001014: DUP2
00001015: SLT
00001016: PUSH2 0x13f9
00001019: JUMPI
0000101a: POP
0000101b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001030: DUP2
00001031: MLOAD
00001032: AND
00001033: PUSH1 0x20
00001035: DUP3
00001036: ADD
00001037: SWAP1
00001038: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000104d: DUP3
0000104e: MLOAD
0000104f: AND
00001050: DUP1
00001051: DUP3
00001052: LT
00001053: ISZERO
00001054: PUSH2 0x13c2
00001057: JUMPI
00001058: POP
00001059: POP
0000105a: PUSH1 0x80
0000105c: DUP3
0000105d: ADD
0000105e: SWAP1
0000105f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001074: DUP3
00001075: MLOAD
00001076: AND
00001077: SWAP1
00001078: PUSH1 0x40
0000107a: DUP5
0000107b: ADD
0000107c: SWAP2
0000107d: PUSH2 0x108c
00001080: PUSH3 0xffffff
00001084: DUP5
00001085: MLOAD
00001086: AND
00001087: DUP3
00001088: PUSH2 0x39b7
0000108b: JUMP
0000108c: JUMPDEST
0000108d: ISZERO
0000108e: PUSH2 0x1397
00001091: JUMPI
00001092: POP
00001093: PUSH2 0x10a1
00001096: PUSH3 0xffffff
0000109a: DUP4
0000109b: MLOAD
0000109c: AND
0000109d: PUSH2 0x3a75
000010a0: JUMP
000010a1: JUMPDEST
000010a2: SWAP7
000010a3: DUP4
000010a4: MLOAD
000010a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010ba: DUP2
000010bb: AND
000010bc: SWAP1
000010bd: DUP2
000010be: CALLER
000010bf: SUB
000010c0: PUSH2 0x12e0
000010c3: JUMPI
000010c4: JUMPDEST
000010c5: POP
000010c6: POP
000010c7: PUSH1 0xa0
000010c9: DUP6
000010ca: KECCAK256
000010cb: SWAP1
000010cc: DUP2
000010cd: PUSH0
000010ce: MSTORE
000010cf: PUSH1 0x06
000010d1: PUSH1 0x20
000010d3: MSTORE
000010d4: PUSH1 0x40
000010d6: PUSH0
000010d7: KECCAK256
000010d8: SWAP1
000010d9: DUP2
000010da: SLOAD
000010db: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010f0: AND
000010f1: PUSH2 0x12b8
000010f4: JUMPI
000010f5: PUSH1 0x20
000010f7: SWAP10
000010f8: PUSH32 0xdd466e674ea557f56295e2d0218a125ea4b4f0f6f3307b95f85e6110838d6438
00001119: SWAP3
0000111a: PUSH29 0xffffff0000000000000000000000000000000000000000000000000000
00001138: PUSH2 0x1142
0000113b: PUSH1 0xa0
0000113d: SWAP5
0000113e: PUSH2 0x45fc
00001141: JUMP
00001142: JUMPDEST
00001143: SWAP3
00001144: PUSH1 0xd0
00001146: SHL
00001147: AND
00001148: DUP11
00001149: PUSH23 0xffffff0000000000000000000000000000000000000000
00001161: DUP5
00001162: DUP7
00001163: SHL
00001164: AND
00001165: OR
00001166: OR
00001167: SWAP1
00001168: SSTORE
00001169: PUSH3 0xffffff
0000116d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001182: DUP1
00001183: DUP11
00001184: MLOAD
00001185: AND
00001186: SWAP7
00001187: MLOAD
00001188: AND
00001189: SWAP7
0000118a: MLOAD
0000118b: AND
0000118c: SWAP10
0000118d: MLOAD
0000118e: PUSH1 0x02
00001190: SIGNEXTEND
00001191: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011a6: DUP9
000011a7: MLOAD
000011a8: AND
000011a9: SWAP1
000011aa: PUSH1 0x40
000011ac: MLOAD
000011ad: SWAP12
000011ae: DUP13
000011af: MSTORE
000011b0: DUP13
000011b1: DUP13
000011b2: ADD
000011b3: MSTORE
000011b4: PUSH1 0x40
000011b6: DUP12
000011b7: ADD
000011b8: MSTORE
000011b9: DUP9
000011ba: PUSH1 0x60
000011bc: DUP12
000011bd: ADD
000011be: MSTORE
000011bf: PUSH1 0x02
000011c1: SIGNEXTEND
000011c2: SWAP9
000011c3: DUP10
000011c4: PUSH1 0x80
000011c6: DUP3
000011c7: ADD
000011c8: MSTORE
000011c9: LOG4
000011ca: MLOAD
000011cb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011e0: DUP2
000011e1: AND
000011e2: SWAP1
000011e3: DUP2
000011e4: CALLER
000011e5: SUB
000011e6: PUSH2 0x11f4
000011e9: JUMPI
000011ea: JUMPDEST
000011eb: DUP6
000011ec: DUP6
000011ed: PUSH1 0x40
000011ef: MLOAD
000011f0: SWAP1
000011f1: DUP2
000011f2: MSTORE
000011f3: RETURN
000011f4: JUMPDEST
000011f5: PUSH2 0x1000
000011f8: AND
000011f9: PUSH2 0x1203
000011fc: JUMPI
000011fd: JUMPDEST
000011fe: DUP1
000011ff: PUSH2 0x11ea
00001202: JUMP
00001203: JUMPDEST
00001204: PUSH2 0x12af
00001207: SWAP3
00001208: PUSH2 0x128d
0000120b: PUSH1 0x40
0000120d: MLOAD
0000120e: SWAP4
0000120f: PUSH32 0x6fe7e6eb00000000000000000000000000000000000000000000000000000000
00001230: DUP9
00001231: DUP7
00001232: ADD
00001233: MSTORE
00001234: CALLER
00001235: PUSH1 0x24
00001237: DUP7
00001238: ADD
00001239: MSTORE
0000123a: PUSH1 0x44
0000123c: DUP6
0000123d: ADD
0000123e: SWAP1
0000123f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001254: PUSH1 0x80
00001256: DUP1
00001257: SWAP3
00001258: DUP3
00001259: DUP2
0000125a: MLOAD
0000125b: AND
0000125c: DUP6
0000125d: MSTORE
0000125e: DUP3
0000125f: PUSH1 0x20
00001261: DUP3
00001262: ADD
00001263: MLOAD
00001264: AND
00001265: PUSH1 0x20
00001267: DUP7
00001268: ADD
00001269: MSTORE
0000126a: PUSH3 0xffffff
0000126e: PUSH1 0x40
00001270: DUP3
00001271: ADD
00001272: MLOAD
00001273: AND
00001274: PUSH1 0x40
00001276: DUP7
00001277: ADD
00001278: MSTORE
00001279: PUSH1 0x60
0000127b: DUP2
0000127c: ADD
0000127d: MLOAD
0000127e: PUSH1 0x02
00001280: SIGNEXTEND
00001281: PUSH1 0x60
00001283: DUP7
00001284: ADD
00001285: MSTORE
00001286: ADD
00001287: MLOAD
00001288: AND
00001289: SWAP2
0000128a: ADD
0000128b: MSTORE
0000128c: JUMP
0000128d: JUMPDEST
0000128e: PUSH1 0xe4
00001290: DUP4
00001291: ADD
00001292: MSTORE
00001293: DUP4
00001294: PUSH2 0x0104
00001297: DUP4
00001298: ADD
00001299: MSTORE
0000129a: PUSH2 0x0104
0000129d: DUP3
0000129e: MSTORE
0000129f: PUSH2 0x12aa
000012a2: PUSH2 0x0124
000012a5: DUP4
000012a6: PUSH2 0x2e2e
000012a9: JUMP
000012aa: JUMPDEST
000012ab: PUSH2 0x3f25
000012ae: JUMP
000012af: JUMPDEST
000012b0: POP
000012b1: DUP3
000012b2: DUP1
000012b3: DUP1
000012b4: PUSH2 0x11fd
000012b7: JUMP
000012b8: JUMPDEST
000012b9: PUSH32 0x7983c05100000000000000000000000000000000000000000000000000000000
000012da: PUSH0
000012db: MSTORE
000012dc: PUSH1 0x04
000012de: PUSH0
000012df: REVERT
000012e0: JUMPDEST
000012e1: PUSH2 0x2000
000012e4: AND
000012e5: PUSH2 0x12ef
000012e8: JUMPI
000012e9: JUMPDEST
000012ea: DUP1
000012eb: PUSH2 0x10c4
000012ee: JUMP
000012ef: JUMPDEST
000012f0: PUSH2 0x1390
000012f3: SWAP1
000012f4: PUSH1 0x40
000012f6: MLOAD
000012f7: SWAP1
000012f8: PUSH32 0xdc98354e00000000000000000000000000000000000000000000000000000000
00001319: PUSH1 0x20
0000131b: DUP4
0000131c: ADD
0000131d: MSTORE
0000131e: CALLER
0000131f: PUSH1 0x24
00001321: DUP4
00001322: ADD
00001323: MSTORE
00001324: PUSH2 0x137a
00001327: PUSH1 0x44
00001329: DUP4
0000132a: ADD
0000132b: DUP10
0000132c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001341: PUSH1 0x80
00001343: DUP1
00001344: SWAP3
00001345: DUP3
00001346: DUP2
00001347: MLOAD
00001348: AND
00001349: DUP6
0000134a: MSTORE
0000134b: DUP3
0000134c: PUSH1 0x20
0000134e: DUP3
0000134f: ADD
00001350: MLOAD
00001351: AND
00001352: PUSH1 0x20
00001354: DUP7
00001355: ADD
00001356: MSTORE
00001357: PUSH3 0xffffff
0000135b: PUSH1 0x40
0000135d: DUP3
0000135e: ADD
0000135f: MLOAD
00001360: AND
00001361: PUSH1 0x40
00001363: DUP7
00001364: ADD
00001365: MSTORE
00001366: PUSH1 0x60
00001368: DUP2
00001369: ADD
0000136a: MLOAD
0000136b: PUSH1 0x02
0000136d: SIGNEXTEND
0000136e: PUSH1 0x60
00001370: DUP7
00001371: ADD
00001372: MSTORE
00001373: ADD
00001374: MLOAD
00001375: AND
00001376: SWAP2
00001377: ADD
00001378: MSTORE
00001379: JUMP
0000137a: JUMPDEST
0000137b: DUP9
0000137c: PUSH1 0xe4
0000137e: DUP4
0000137f: ADD
00001380: MSTORE
00001381: PUSH1 0xe4
00001383: DUP3
00001384: MSTORE
00001385: PUSH2 0x12aa
00001388: PUSH2 0x0104
0000138b: DUP4
0000138c: PUSH2 0x2e2e
0000138f: JUMP
00001390: JUMPDEST
00001391: POP
00001392: DUP9
00001393: PUSH2 0x12e9
00001396: JUMP
00001397: JUMPDEST
00001398: PUSH32 0xe65af6a000000000000000000000000000000000000000000000000000000000
000013b9: PUSH0
000013ba: MSTORE
000013bb: PUSH1 0x04
000013bd: MSTORE
000013be: PUSH1 0x24
000013c0: PUSH0
000013c1: REVERT
000013c2: JUMPDEST
000013c3: PUSH1 0x44
000013c5: SWAP3
000013c6: POP
000013c7: PUSH1 0x40
000013c9: MLOAD
000013ca: SWAP2
000013cb: PUSH32 0x6e6c983000000000000000000000000000000000000000000000000000000000
000013ec: DUP4
000013ed: MSTORE
000013ee: PUSH1 0x04
000013f0: DUP4
000013f1: ADD
000013f2: MSTORE
000013f3: PUSH1 0x24
000013f5: DUP3
000013f6: ADD
000013f7: MSTORE
000013f8: REVERT
000013f9: JUMPDEST
000013fa: PUSH32 0xe9e9058800000000000000000000000000000000000000000000000000000000
0000141b: PUSH0
0000141c: MSTORE
0000141d: PUSH1 0x04
0000141f: MSTORE
00001420: PUSH1 0x24
00001422: PUSH0
00001423: REVERT
00001424: JUMPDEST
00001425: PUSH32 0xb70024f800000000000000000000000000000000000000000000000000000000
00001446: PUSH0
00001447: MSTORE
00001448: PUSH1 0x04
0000144a: MSTORE
0000144b: PUSH1 0x24
0000144d: PUSH0
0000144e: REVERT
0000144f: JUMPDEST
00001450: CALLVALUE
00001451: PUSH2 0x0330
00001454: JUMPI
00001455: PUSH2 0x0140
00001458: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00001479: CALLDATASIZE
0000147a: ADD
0000147b: SLT
0000147c: PUSH2 0x0330
0000147f: JUMPI
00001480: PUSH2 0x1488
00001483: CALLDATASIZE
00001484: PUSH2 0x2e81
00001487: JUMP
00001488: JUMPDEST
00001489: PUSH1 0x80
0000148b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5c
000014ac: CALLDATASIZE
000014ad: ADD
000014ae: SLT
000014af: PUSH2 0x0330
000014b2: JUMPI
000014b3: PUSH1 0x40
000014b5: MLOAD
000014b6: SWAP1
000014b7: PUSH2 0x14bf
000014ba: DUP3
000014bb: PUSH2 0x2dda
000014be: JUMP
000014bf: JUMPDEST
000014c0: PUSH1 0xa4
000014c2: CALLDATALOAD
000014c3: DUP1
000014c4: PUSH1 0x02
000014c6: SIGNEXTEND
000014c7: DUP2
000014c8: SUB
000014c9: PUSH2 0x0330
000014cc: JUMPI
000014cd: DUP3
000014ce: MSTORE
000014cf: PUSH1 0xc4
000014d1: CALLDATALOAD
000014d2: DUP1
000014d3: PUSH1 0x02
000014d5: SIGNEXTEND
000014d6: DUP2
000014d7: SUB
000014d8: PUSH2 0x0330
000014db: JUMPI
000014dc: PUSH1 0x20
000014de: DUP4
000014df: ADD
000014e0: MSTORE
000014e1: PUSH1 0xe4
000014e3: CALLDATALOAD
000014e4: PUSH1 0x40
000014e6: DUP4
000014e7: ADD
000014e8: MSTORE
000014e9: PUSH2 0x0104
000014ec: CALLDATALOAD
000014ed: PUSH1 0x60
000014ef: DUP4
000014f0: ADD
000014f1: MSTORE
000014f2: PUSH2 0x0124
000014f5: CALLDATALOAD
000014f6: PUSH8 0xffffffffffffffff
000014ff: DUP2
00001500: GT
00001501: PUSH2 0x0330
00001504: JUMPI
00001505: PUSH2 0x1512
00001508: SWAP1
00001509: CALLDATASIZE
0000150a: SWAP1
0000150b: PUSH1 0x04
0000150d: ADD
0000150e: PUSH2 0x2f4d
00001511: JUMP
00001512: JUMPDEST
00001513: SWAP1
00001514: SWAP3
00001515: PUSH32 0xc090fc4683624cfc3884e9d8de5eca132f2d0ec062aff75d43c0465d5ceeab23
00001536: TLOAD
00001537: ISZERO
00001538: PUSH2 0x04d7
0000153b: JUMPI
0000153c: PUSH2 0x1543
0000153f: PUSH2 0x350f
00001542: JUMP
00001543: JUMPDEST
00001544: PUSH1 0xa0
00001546: DUP4
00001547: KECCAK256
00001548: SWAP4
00001549: DUP5
0000154a: PUSH0
0000154b: MSTORE
0000154c: PUSH1 0x06
0000154e: PUSH1 0x20
00001550: MSTORE
00001551: PUSH1 0x40
00001553: PUSH0
00001554: KECCAK256
00001555: PUSH1 0x80
00001557: MSTORE
00001558: PUSH2 0x1562
0000155b: PUSH1 0x80
0000155d: MLOAD
0000155e: PUSH2 0x3576
00001561: JUMP
00001562: JUMPDEST
00001563: PUSH1 0x80
00001565: DUP5
00001566: ADD
00001567: MLOAD
00001568: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000157d: DUP2
0000157e: AND
0000157f: SWAP1
00001580: DUP2
00001581: CALLER
00001582: SUB
00001583: PUSH2 0x1ede
00001586: JUMPI
00001587: JUMPDEST
00001588: POP
00001589: POP
0000158a: DUP2
0000158b: MLOAD
0000158c: PUSH1 0x02
0000158e: SIGNEXTEND
0000158f: SWAP3
00001590: PUSH1 0x20
00001592: DUP4
00001593: ADD
00001594: MLOAD
00001595: PUSH1 0x02
00001597: SIGNEXTEND
00001598: SWAP2
00001599: PUSH2 0x15a5
0000159c: PUSH1 0x40
0000159e: DUP6
0000159f: ADD
000015a0: MLOAD
000015a1: PUSH2 0x3785
000015a4: JUMP
000015a5: JUMPDEST
000015a6: SWAP4
000015a7: PUSH1 0x60
000015a9: DUP8
000015aa: ADD
000015ab: MLOAD
000015ac: PUSH1 0x02
000015ae: SIGNEXTEND
000015af: SWAP8
000015b0: PUSH1 0x60
000015b2: DUP3
000015b3: ADD
000015b4: MLOAD
000015b5: PUSH1 0x40
000015b7: MLOAD
000015b8: SWAP10
000015b9: PUSH1 0xc0
000015bb: DUP12
000015bc: ADD
000015bd: DUP12
000015be: DUP2
000015bf: LT
000015c0: PUSH8 0xffffffffffffffff
000015c9: DUP3
000015ca: GT
000015cb: OR
000015cc: PUSH2 0x1eb1
000015cf: JUMPI
000015d0: PUSH1 0x40
000015d2: MSTORE
000015d3: CALLER
000015d4: DUP12
000015d5: MSTORE
000015d6: DUP9
000015d7: PUSH1 0x20
000015d9: DUP13
000015da: ADD
000015db: MSTORE
000015dc: DUP7
000015dd: PUSH1 0x40
000015df: DUP13
000015e0: ADD
000015e1: MSTORE
000015e2: DUP8
000015e3: PUSH1 0x0f
000015e5: SIGNEXTEND
000015e6: PUSH1 0x60
000015e8: DUP13
000015e9: ADD
000015ea: MSTORE
000015eb: PUSH1 0x80
000015ed: DUP12
000015ee: ADD
000015ef: MSTORE
000015f0: PUSH1 0xa0
000015f2: DUP11
000015f3: ADD
000015f4: MSTORE
000015f5: PUSH0
000015f6: SWAP2
000015f7: DUP6
000015f8: DUP9
000015f9: SLT
000015fa: ISZERO
000015fb: PUSH2 0x1e7a
000015fe: JUMPI
000015ff: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27618
00001620: DUP9
00001621: SLT
00001622: PUSH2 0x1e4e
00001625: JUMPI
00001626: PUSH3 0x0d89e8
0000162a: DUP7
0000162b: SGT
0000162c: PUSH2 0x1e22
0000162f: JUMPI
00001630: PUSH1 0x40
00001632: MLOAD
00001633: SWAP3
00001634: PUSH2 0x163c
00001637: DUP5
00001638: PUSH2 0x2dda
0000163b: JUMP
0000163c: JUMPDEST
0000163d: PUSH0
0000163e: DUP5
0000163f: MSTORE
00001640: PUSH0
00001641: PUSH1 0x20
00001643: DUP6
00001644: ADD
00001645: MSTORE
00001646: PUSH0
00001647: PUSH1 0x40
00001649: DUP6
0000164a: ADD
0000164b: MSTORE
0000164c: PUSH0
0000164d: PUSH1 0x60
0000164f: DUP6
00001650: ADD
00001651: MSTORE
00001652: DUP8
00001653: PUSH1 0x0f
00001655: SIGNEXTEND
00001656: PUSH2 0x1b25
00001659: JUMPI
0000165a: JUMPDEST
0000165b: PUSH1 0x04
0000165d: PUSH1 0x80
0000165f: MLOAD
00001660: ADD
00001661: SWAP8
00001662: DUP10
00001663: PUSH1 0x02
00001665: SIGNEXTEND
00001666: PUSH0
00001667: MSTORE
00001668: DUP9
00001669: PUSH1 0x20
0000166b: MSTORE
0000166c: PUSH1 0x40
0000166e: PUSH0
0000166f: KECCAK256
00001670: SWAP9
00001671: DUP9
00001672: PUSH1 0x02
00001674: SIGNEXTEND
00001675: PUSH0
00001676: MSTORE
00001677: PUSH1 0x20
00001679: MSTORE
0000167a: PUSH1 0x40
0000167c: PUSH0
0000167d: KECCAK256
0000167e: PUSH1 0x80
00001680: MLOAD
00001681: SLOAD
00001682: PUSH1 0xa0
00001684: SHR
00001685: PUSH1 0x02
00001687: SIGNEXTEND
00001688: DUP12
00001689: DUP2
0000168a: SLT
0000168b: PUSH0
0000168c: EQ
0000168d: PUSH2 0x1acf
00001690: JUMPI
00001691: POP
00001692: PUSH1 0x02
00001694: DUP1
00001695: PUSH1 0x01
00001697: DUP13
00001698: ADD
00001699: SLOAD
0000169a: PUSH1 0x01
0000169c: DUP5
0000169d: ADD
0000169e: SLOAD
0000169f: SWAP1
000016a0: SUB
000016a1: SWAP12
000016a2: ADD
000016a3: SLOAD
000016a4: SWAP2
000016a5: ADD
000016a6: SLOAD
000016a7: SWAP1
000016a8: SUB
000016a9: SWAP12
000016aa: JUMPDEST
000016ab: PUSH1 0xa0
000016ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016c2: DUP3
000016c3: MLOAD
000016c4: AND
000016c5: SWAP2
000016c6: ADD
000016c7: MLOAD
000016c8: SWAP1
000016c9: PUSH1 0x40
000016cb: MLOAD
000016cc: SWAP2
000016cd: PUSH1 0x26
000016cf: DUP4
000016d0: ADD
000016d1: MSTORE
000016d2: DUP10
000016d3: PUSH1 0x06
000016d5: DUP4
000016d6: ADD
000016d7: MSTORE
000016d8: DUP12
000016d9: PUSH1 0x03
000016db: DUP4
000016dc: ADD
000016dd: MSTORE
000016de: DUP2
000016df: MSTORE
000016e0: PUSH0
000016e1: PUSH1 0x3a
000016e3: PUSH1 0x0c
000016e5: DUP4
000016e6: ADD
000016e7: KECCAK256
000016e8: SWAP2
000016e9: DUP2
000016ea: PUSH1 0x40
000016ec: DUP3
000016ed: ADD
000016ee: MSTORE
000016ef: DUP2
000016f0: PUSH1 0x20
000016f2: DUP3
000016f3: ADD
000016f4: MSTORE
000016f5: MSTORE
000016f6: PUSH0
000016f7: MSTORE
000016f8: PUSH1 0x06
000016fa: PUSH1 0x80
000016fc: MLOAD
000016fd: ADD
000016fe: PUSH1 0x20
00001700: MSTORE
00001701: PUSH1 0x40
00001703: PUSH0
00001704: KECCAK256
00001705: SWAP8
00001706: PUSH16 0xffffffffffffffffffffffffffffffff
00001717: DUP10
00001718: SLOAD
00001719: AND
0000171a: SWAP10
0000171b: DUP3
0000171c: PUSH1 0x0f
0000171e: SIGNEXTEND
0000171f: ISZERO
00001720: PUSH0
00001721: EQ
00001722: PUSH2 0x1a72
00001725: JUMPI
00001726: DUP11
00001727: ISZERO
00001728: PUSH2 0x1a4a
0000172b: JUMPI
0000172c: PUSH2 0x176f
0000172f: PUSH2 0x1769
00001732: PUSH1 0x40
00001734: SWAP16
00001735: SWAP12
00001736: PUSH2 0x184e
00001739: SWAP13
0000173a: PUSH2 0x1860
0000173d: SWAP15
0000173e: JUMPDEST
0000173f: PUSH1 0x01
00001741: DUP4
00001742: ADD
00001743: SWAP6
00001744: PUSH2 0x1761
00001747: PUSH1 0x02
00001749: PUSH2 0x1755
0000174c: DUP5
0000174d: DUP11
0000174e: SLOAD
0000174f: DUP6
00001750: SUB
00001751: PUSH2 0x5703
00001754: JUMP
00001755: JUMPDEST
00001756: SWAP6
00001757: ADD
00001758: SWAP3
00001759: DUP4
0000175a: SLOAD
0000175b: DUP6
0000175c: SUB
0000175d: PUSH2 0x5703
00001760: JUMP
00001761: JUMPDEST
00001762: SWAP7
00001763: SSTORE
00001764: SSTORE
00001765: PUSH2 0x30aa
00001768: JUMP
00001769: JUMPDEST
0000176a: SWAP2
0000176b: PUSH2 0x30aa
0000176e: JUMP
0000176f: JUMPDEST
00001770: PUSH16 0xffffffffffffffffffffffffffffffff
00001781: AND
00001782: SWAP1
00001783: PUSH1 0x80
00001785: SHL
00001786: OR
00001787: SWAP11
00001788: DUP12
00001789: SWAP7
0000178a: PUSH0
0000178b: DUP5
0000178c: PUSH1 0x0f
0000178e: SIGNEXTEND
0000178f: SLT
00001790: PUSH2 0x19dc
00001793: JUMPI
00001794: JUMPDEST
00001795: POP
00001796: DUP3
00001797: PUSH1 0x0f
00001799: SIGNEXTEND
0000179a: PUSH2 0x1898
0000179d: JUMPI
0000179e: JUMPDEST
0000179f: POP
000017a0: POP
000017a1: POP
000017a2: PUSH2 0x17c4
000017a5: PUSH2 0x17b5
000017a8: DUP6
000017a9: PUSH1 0x80
000017ab: SAR
000017ac: DUP4
000017ad: PUSH1 0x80
000017af: SAR
000017b0: ADD
000017b1: PUSH2 0x3785
000017b4: JUMP
000017b5: JUMPDEST
000017b6: SWAP2
000017b7: DUP6
000017b8: PUSH1 0x0f
000017ba: SIGNEXTEND
000017bb: SWAP1
000017bc: PUSH1 0x0f
000017be: SIGNEXTEND
000017bf: ADD
000017c0: PUSH2 0x3785
000017c3: JUMP
000017c4: JUMPDEST
000017c5: PUSH16 0xffffffffffffffffffffffffffffffff
000017d6: AND
000017d7: SWAP1
000017d8: PUSH1 0x80
000017da: SHL
000017db: OR
000017dc: SWAP2
000017dd: DUP2
000017de: MLOAD
000017df: PUSH1 0x02
000017e1: SIGNEXTEND
000017e2: SWAP1
000017e3: PUSH1 0x20
000017e5: DUP4
000017e6: ADD
000017e7: MLOAD
000017e8: PUSH1 0x02
000017ea: SIGNEXTEND
000017eb: DUP13
000017ec: DUP5
000017ed: ADD
000017ee: MLOAD
000017ef: PUSH1 0x60
000017f1: DUP6
000017f2: ADD
000017f3: MLOAD
000017f4: SWAP2
000017f5: DUP15
000017f6: MLOAD
000017f7: SWAP5
000017f8: DUP6
000017f9: MSTORE
000017fa: PUSH1 0x20
000017fc: DUP6
000017fd: ADD
000017fe: MSTORE
000017ff: DUP14
00001800: DUP5
00001801: ADD
00001802: MSTORE
00001803: PUSH1 0x60
00001805: DUP4
00001806: ADD
00001807: MSTORE
00001808: PUSH32 0xf208f4912782fd25c7f114ca3723a2d5dd6f3bcc3ac8db5af63baa85f711d5ec
00001829: PUSH1 0x80
0000182b: CALLER
0000182c: SWAP4
0000182d: LOG3
0000182e: DUP9
0000182f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001844: PUSH1 0x80
00001846: DUP3
00001847: ADD
00001848: MLOAD
00001849: AND
0000184a: PUSH2 0x385b
0000184d: JUMP
0000184e: JUMPDEST
0000184f: DUP1
00001850: SWAP5
00001851: SWAP2
00001852: SWAP5
00001853: PUSH2 0x186c
00001856: JUMPI
00001857: JUMPDEST
00001858: POP
00001859: DUP4
0000185a: CALLER
0000185b: SWAP2
0000185c: PUSH2 0x3652
0000185f: JUMP
00001860: JUMPDEST
00001861: DUP3
00001862: MLOAD
00001863: SWAP2
00001864: DUP3
00001865: MSTORE
00001866: PUSH1 0x20
00001868: DUP3
00001869: ADD
0000186a: MSTORE
0000186b: RETURN
0000186c: JUMPDEST
0000186d: PUSH2 0x1892
00001870: SWAP1
00001871: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001886: PUSH1 0x80
00001888: DUP5
00001889: ADD
0000188a: MLOAD
0000188b: AND
0000188c: SWAP1
0000188d: DUP4
0000188e: PUSH2 0x3652
00001891: JUMP
00001892: JUMPDEST
00001893: DUP6
00001894: PUSH2 0x1857
00001897: JUMP
00001898: JUMPDEST
00001899: PUSH1 0x80
0000189b: MLOAD
0000189c: SLOAD
0000189d: SWAP3
0000189e: SWAP4
0000189f: POP
000018a0: SWAP1
000018a1: SWAP2
000018a2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018b7: DUP2
000018b8: AND
000018b9: SWAP1
000018ba: PUSH1 0xa0
000018bc: SHR
000018bd: PUSH1 0x02
000018bf: SIGNEXTEND
000018c0: DUP3
000018c1: DUP2
000018c2: SLT
000018c3: ISZERO
000018c4: PUSH2 0x18fe
000018c7: JUMPI
000018c8: POP
000018c9: POP
000018ca: SWAP1
000018cb: PUSH2 0x18f2
000018ce: SWAP3
000018cf: PUSH2 0x18e7
000018d2: PUSH2 0x18dd
000018d5: PUSH2 0x18ed
000018d8: SWAP5
000018d9: PUSH2 0x4158
000018dc: JUMP
000018dd: JUMPDEST
000018de: SWAP2
000018df: PUSH1 0x0f
000018e1: SIGNEXTEND
000018e2: SWAP3
000018e3: PUSH2 0x4158
000018e6: JUMP
000018e7: JUMPDEST
000018e8: SWAP1
000018e9: PUSH2 0x4527
000018ec: JUMP
000018ed: JUMPDEST
000018ee: PUSH2 0x3785
000018f1: JUMP
000018f2: JUMPDEST
000018f3: PUSH1 0x80
000018f5: SHL
000018f6: JUMPDEST
000018f7: DUP12
000018f8: DUP1
000018f9: DUP1
000018fa: PUSH2 0x179e
000018fd: JUMP
000018fe: JUMPDEST
000018ff: SWAP3
00001900: DUP1
00001901: SWAP2
00001902: SWAP4
00001903: SLT
00001904: PUSH0
00001905: EQ
00001906: PUSH2 0x19a9
00001909: JUMPI
0000190a: PUSH2 0x193d
0000190d: SWAP2
0000190e: PUSH2 0x192a
00001911: PUSH2 0x18ed
00001914: PUSH2 0x18ed
00001917: SWAP4
00001918: PUSH2 0x1924
0000191b: DUP9
0000191c: PUSH1 0x0f
0000191e: SIGNEXTEND
0000191f: SWAP2
00001920: PUSH2 0x4158
00001923: JUMP
00001924: JUMPDEST
00001925: DUP8
00001926: PUSH2 0x4527
00001929: JUMP
0000192a: JUMPDEST
0000192b: SWAP4
0000192c: PUSH2 0x1938
0000192f: DUP7
00001930: PUSH1 0x0f
00001932: SIGNEXTEND
00001933: SWAP3
00001934: PUSH2 0x4158
00001937: JUMP
00001938: JUMPDEST
00001939: PUSH2 0x44ca
0000193c: JUMP
0000193d: JUMPDEST
0000193e: PUSH16 0xffffffffffffffffffffffffffffffff
0000194f: AND
00001950: SWAP1
00001951: PUSH1 0x80
00001953: SHL
00001954: OR
00001955: SWAP1
00001956: PUSH16 0xffffffffffffffffffffffffffffffff
00001967: PUSH2 0x197c
0000196a: PUSH1 0x03
0000196c: PUSH1 0x80
0000196e: MLOAD
0000196f: ADD
00001970: SWAP3
00001971: PUSH1 0x0f
00001973: SIGNEXTEND
00001974: DUP3
00001975: DUP5
00001976: SLOAD
00001977: AND
00001978: PUSH2 0x456e
0000197b: JUMP
0000197c: JUMPDEST
0000197d: AND
0000197e: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000
0000199f: DUP3
000019a0: SLOAD
000019a1: AND
000019a2: OR
000019a3: SWAP1
000019a4: SSTORE
000019a5: PUSH2 0x18f6
000019a8: JUMP
000019a9: JUMPDEST
000019aa: SWAP1
000019ab: PUSH2 0x18ed
000019ae: SWAP3
000019af: POP
000019b0: SWAP3
000019b1: PUSH2 0x19bf
000019b4: PUSH2 0x18dd
000019b7: PUSH2 0x19c5
000019ba: SWAP6
000019bb: PUSH2 0x4158
000019be: JUMP
000019bf: JUMPDEST
000019c0: SWAP1
000019c1: PUSH2 0x44ca
000019c4: JUMP
000019c5: JUMPDEST
000019c6: PUSH16 0xffffffffffffffffffffffffffffffff
000019d7: AND
000019d8: PUSH2 0x18f6
000019db: JUMP
000019dc: JUMPDEST
000019dd: DUP1
000019de: DUP16
000019df: SWAP2
000019e0: MLOAD
000019e1: PUSH2 0x1a1e
000019e4: JUMPI
000019e5: JUMPDEST
000019e6: ADD
000019e7: MLOAD
000019e8: PUSH2 0x19f2
000019eb: JUMPI
000019ec: JUMPDEST
000019ed: DUP15
000019ee: PUSH2 0x1794
000019f1: JUMP
000019f2: JUMPDEST
000019f3: PUSH2 0x1a19
000019f6: DUP3
000019f7: PUSH1 0x80
000019f9: MLOAD
000019fa: PUSH1 0x04
000019fc: SWAP2
000019fd: PUSH1 0x02
000019ff: SIGNEXTEND
00001a00: PUSH0
00001a01: MSTORE
00001a02: ADD
00001a03: PUSH1 0x20
00001a05: MSTORE
00001a06: PUSH0
00001a07: PUSH1 0x02
00001a09: PUSH1 0x40
00001a0b: DUP3
00001a0c: KECCAK256
00001a0d: DUP3
00001a0e: DUP2
00001a0f: SSTORE
00001a10: DUP3
00001a11: PUSH1 0x01
00001a13: DUP3
00001a14: ADD
00001a15: SSTORE
00001a16: ADD
00001a17: SSTORE
00001a18: JUMP
00001a19: JUMPDEST
00001a1a: PUSH2 0x19ec
00001a1d: JUMP
00001a1e: JUMPDEST
00001a1f: PUSH2 0x1a45
00001a22: DUP4
00001a23: PUSH1 0x80
00001a25: MLOAD
00001a26: PUSH1 0x04
00001a28: SWAP2
00001a29: PUSH1 0x02
00001a2b: SIGNEXTEND
00001a2c: PUSH0
00001a2d: MSTORE
00001a2e: ADD
00001a2f: PUSH1 0x20
00001a31: MSTORE
00001a32: PUSH0
00001a33: PUSH1 0x02
00001a35: PUSH1 0x40
00001a37: DUP3
00001a38: KECCAK256
00001a39: DUP3
00001a3a: DUP2
00001a3b: SSTORE
00001a3c: DUP3
00001a3d: PUSH1 0x01
00001a3f: DUP3
00001a40: ADD
00001a41: SSTORE
00001a42: ADD
00001a43: SSTORE
00001a44: JUMP
00001a45: JUMPDEST
00001a46: PUSH2 0x19e5
00001a49: JUMP
00001a4a: JUMPDEST
00001a4b: PUSH32 0xaefeb92400000000000000000000000000000000000000000000000000000000
00001a6c: PUSH0
00001a6d: MSTORE
00001a6e: PUSH1 0x04
00001a70: PUSH0
00001a71: REVERT
00001a72: JUMPDEST
00001a73: PUSH2 0x176f
00001a76: PUSH2 0x1769
00001a79: PUSH1 0x40
00001a7b: SWAP16
00001a7c: SWAP12
00001a7d: PUSH2 0x184e
00001a80: SWAP13
00001a81: PUSH2 0x1860
00001a84: SWAP15
00001a85: PUSH16 0xffffffffffffffffffffffffffffffff
00001a96: PUSH2 0x1aa2
00001a99: DUP10
00001a9a: PUSH1 0x0f
00001a9c: SIGNEXTEND
00001a9d: DUP4
00001a9e: PUSH2 0x456e
00001aa1: JUMP
00001aa2: JUMPDEST
00001aa3: AND
00001aa4: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000
00001ac5: DUP5
00001ac6: SLOAD
00001ac7: AND
00001ac8: OR
00001ac9: DUP4
00001aca: SSTORE
00001acb: PUSH2 0x173e
00001ace: JUMP
00001acf: JUMPDEST
00001ad0: SWAP1
00001ad1: SWAP10
00001ad2: SWAP1
00001ad3: DUP10
00001ad4: SGT
00001ad5: PUSH2 0x1af5
00001ad8: JUMPI
00001ad9: PUSH1 0x02
00001adb: DUP1
00001adc: PUSH1 0x01
00001ade: DUP13
00001adf: ADD
00001ae0: SLOAD
00001ae1: PUSH1 0x01
00001ae3: DUP5
00001ae4: ADD
00001ae5: SLOAD
00001ae6: SWAP1
00001ae7: SUB
00001ae8: SWAP12
00001ae9: ADD
00001aea: SLOAD
00001aeb: SWAP2
00001aec: ADD
00001aed: SLOAD
00001aee: SWAP1
00001aef: SUB
00001af0: SWAP12
00001af1: PUSH2 0x16aa
00001af4: JUMP
00001af5: JUMPDEST
00001af6: SWAP9
00001af7: PUSH1 0x02
00001af9: PUSH1 0x01
00001afb: PUSH1 0x80
00001afd: MLOAD
00001afe: ADD
00001aff: SLOAD
00001b00: PUSH1 0x01
00001b02: DUP13
00001b03: ADD
00001b04: SLOAD
00001b05: SWAP1
00001b06: SUB
00001b07: PUSH1 0x01
00001b09: DUP4
00001b0a: ADD
00001b0b: SLOAD
00001b0c: SWAP1
00001b0d: SUB
00001b0e: SWAP11
00001b0f: DUP2
00001b10: DUP1
00001b11: PUSH1 0x80
00001b13: MLOAD
00001b14: ADD
00001b15: SLOAD
00001b16: SWAP2
00001b17: ADD
00001b18: SLOAD
00001b19: SWAP1
00001b1a: SUB
00001b1b: SWAP2
00001b1c: ADD
00001b1d: SLOAD
00001b1e: SWAP1
00001b1f: SUB
00001b20: SWAP12
00001b21: PUSH2 0x16aa
00001b24: JUMP
00001b25: JUMPDEST
00001b26: PUSH1 0x04
00001b28: PUSH1 0x80
00001b2a: MLOAD
00001b2b: ADD
00001b2c: DUP10
00001b2d: PUSH1 0x02
00001b2f: SIGNEXTEND
00001b30: PUSH0
00001b31: MSTORE
00001b32: DUP1
00001b33: PUSH1 0x20
00001b35: MSTORE
00001b36: DUP10
00001b37: DUP10
00001b38: PUSH1 0x40
00001b3a: PUSH0
00001b3b: KECCAK256
00001b3c: PUSH2 0x1b7e
00001b3f: DUP2
00001b40: SLOAD
00001b41: PUSH16 0xffffffffffffffffffffffffffffffff
00001b52: PUSH2 0x1b61
00001b55: DUP2
00001b56: DUP4
00001b57: AND
00001b58: SWAP6
00001b59: PUSH1 0x0f
00001b5b: SIGNEXTEND
00001b5c: DUP7
00001b5d: PUSH2 0x456e
00001b60: JUMP
00001b61: JUMPDEST
00001b62: AND
00001b63: SWAP4
00001b64: ISZERO
00001b65: SWAP5
00001b66: DUP6
00001b67: DUP6
00001b68: ISZERO
00001b69: EQ
00001b6a: ISZERO
00001b6b: SWAP6
00001b6c: PUSH2 0x1dee
00001b6f: JUMPI
00001b70: JUMPDEST
00001b71: POP
00001b72: DUP14
00001b73: PUSH1 0x0f
00001b75: SIGNEXTEND
00001b76: SWAP1
00001b77: PUSH1 0x80
00001b79: SAR
00001b7a: PUSH2 0x3d3a
00001b7d: JUMP
00001b7e: JUMPDEST
00001b7f: PUSH1 0x80
00001b81: SHL
00001b82: DUP3
00001b83: OR
00001b84: SWAP1
00001b85: SSTORE
00001b86: PUSH1 0x20
00001b88: DUP8
00001b89: ADD
00001b8a: MSTORE
00001b8b: DUP6
00001b8c: MSTORE
00001b8d: DUP8
00001b8e: PUSH1 0x02
00001b90: SIGNEXTEND
00001b91: PUSH0
00001b92: MSTORE
00001b93: PUSH1 0x20
00001b95: MSTORE
00001b96: PUSH1 0x40
00001b98: PUSH0
00001b99: KECCAK256
00001b9a: DUP1
00001b9b: SLOAD
00001b9c: SWAP1
00001b9d: PUSH16 0xffffffffffffffffffffffffffffffff
00001bae: DUP3
00001baf: AND
00001bb0: PUSH2 0x1bbc
00001bb3: DUP12
00001bb4: PUSH1 0x0f
00001bb6: SIGNEXTEND
00001bb7: DUP3
00001bb8: PUSH2 0x456e
00001bbb: JUMP
00001bbc: JUMPDEST
00001bbd: SWAP1
00001bbe: ISZERO
00001bbf: SWAP3
00001bc0: DUP4
00001bc1: PUSH16 0xffffffffffffffffffffffffffffffff
00001bd2: DUP4
00001bd3: AND
00001bd4: ISZERO
00001bd5: EQ
00001bd6: ISZERO
00001bd7: SWAP4
00001bd8: PUSH2 0x1dc1
00001bdb: JUMPI
00001bdc: JUMPDEST
00001bdd: DUP12
00001bde: PUSH1 0x0f
00001be0: SIGNEXTEND
00001be1: SWAP1
00001be2: PUSH1 0x80
00001be4: SAR
00001be5: PUSH1 0x0f
00001be7: SIGNEXTEND
00001be8: SUB
00001be9: SWAP2
00001bea: PUSH16 0x7fffffffffffffffffffffffffffffff
00001bfb: DUP4
00001bfc: SGT
00001bfd: PUSH32 0xffffffffffffffffffffffffffffffff80000000000000000000000000000000
00001c1e: DUP5
00001c1f: SLT
00001c20: OR
00001c21: PUSH2 0x1d94
00001c24: JUMPI
00001c25: DUP3
00001c26: PUSH16 0xffffffffffffffffffffffffffffffff
00001c37: SWAP4
00001c38: POP
00001c39: PUSH1 0x80
00001c3b: SHL
00001c3c: DUP4
00001c3d: DUP4
00001c3e: AND
00001c3f: OR
00001c40: SWAP1
00001c41: SSTORE
00001c42: AND
00001c43: PUSH1 0x60
00001c45: DUP7
00001c46: ADD
00001c47: MSTORE
00001c48: PUSH1 0x40
00001c4a: DUP6
00001c4b: ADD
00001c4c: MSTORE
00001c4d: PUSH0
00001c4e: DUP9
00001c4f: PUSH1 0x0f
00001c51: SIGNEXTEND
00001c52: SLT
00001c53: ISZERO
00001c54: PUSH2 0x1ca1
00001c57: JUMPI
00001c58: JUMPDEST
00001c59: DUP4
00001c5a: MLOAD
00001c5b: PUSH2 0x1c85
00001c5e: JUMPI
00001c5f: JUMPDEST
00001c60: PUSH1 0x40
00001c62: DUP5
00001c63: ADD
00001c64: MLOAD
00001c65: ISZERO
00001c66: PUSH2 0x165a
00001c69: JUMPI
00001c6a: PUSH2 0x1c80
00001c6d: PUSH1 0x80
00001c6f: DUP13
00001c70: ADD
00001c71: MLOAD
00001c72: PUSH1 0x02
00001c74: SIGNEXTEND
00001c75: DUP9
00001c76: PUSH1 0x05
00001c78: PUSH1 0x80
00001c7a: MLOAD
00001c7b: ADD
00001c7c: PUSH2 0x410c
00001c7f: JUMP
00001c80: JUMPDEST
00001c81: PUSH2 0x165a
00001c84: JUMP
00001c85: JUMPDEST
00001c86: PUSH2 0x1c9c
00001c89: PUSH1 0x80
00001c8b: DUP13
00001c8c: ADD
00001c8d: MLOAD
00001c8e: PUSH1 0x02
00001c90: SIGNEXTEND
00001c91: DUP11
00001c92: PUSH1 0x05
00001c94: PUSH1 0x80
00001c96: MLOAD
00001c97: ADD
00001c98: PUSH2 0x410c
00001c9b: JUMP
00001c9c: JUMPDEST
00001c9d: PUSH2 0x1c5f
00001ca0: JUMP
00001ca1: JUMPDEST
00001ca2: PUSH1 0x80
00001ca4: DUP12
00001ca5: ADD
00001ca6: MLOAD
00001ca7: PUSH1 0x02
00001ca9: SIGNEXTEND
00001caa: PUSH16 0xffffffffffffffffffffffffffffffff
00001cbb: PUSH1 0x01
00001cbd: DUP2
00001cbe: PUSH1 0x20
00001cc0: DUP9
00001cc1: ADD
00001cc2: MLOAD
00001cc3: AND
00001cc4: SWAP3
00001cc5: PUSH0
00001cc6: DUP2
00001cc7: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27618
00001ce8: SMOD
00001ce9: SLT
00001cea: DUP2
00001ceb: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27618
00001d0c: SDIV
00001d0d: SUB
00001d0e: SWAP1
00001d0f: PUSH3 0x0d89e8
00001d13: SDIV
00001d14: SUB
00001d15: ADD
00001d16: DUP2
00001d17: DIV
00001d18: AND
00001d19: DUP1
00001d1a: SWAP2
00001d1b: GT
00001d1c: PUSH2 0x1d68
00001d1f: JUMPI
00001d20: PUSH16 0xffffffffffffffffffffffffffffffff
00001d31: PUSH1 0x60
00001d33: DUP7
00001d34: ADD
00001d35: MLOAD
00001d36: AND
00001d37: GT
00001d38: ISZERO
00001d39: PUSH2 0x1c58
00001d3c: JUMPI
00001d3d: DUP7
00001d3e: PUSH32 0xb8e3c38500000000000000000000000000000000000000000000000000000000
00001d5f: PUSH0
00001d60: MSTORE
00001d61: PUSH1 0x04
00001d63: MSTORE
00001d64: PUSH1 0x24
00001d66: PUSH0
00001d67: REVERT
00001d68: JUMPDEST
00001d69: DUP10
00001d6a: PUSH32 0xb8e3c38500000000000000000000000000000000000000000000000000000000
00001d8b: PUSH0
00001d8c: MSTORE
00001d8d: PUSH1 0x04
00001d8f: MSTORE
00001d90: PUSH1 0x24
00001d92: PUSH0
00001d93: REVERT
00001d94: JUMPDEST
00001d95: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00001db6: PUSH0
00001db7: MSTORE
00001db8: PUSH1 0x11
00001dba: PUSH1 0x04
00001dbc: MSTORE
00001dbd: PUSH1 0x24
00001dbf: PUSH0
00001dc0: REVERT
00001dc1: JUMPDEST
00001dc2: PUSH1 0x80
00001dc4: MLOAD
00001dc5: SLOAD
00001dc6: PUSH1 0xa0
00001dc8: SHR
00001dc9: PUSH1 0x02
00001dcb: SIGNEXTEND
00001dcc: DUP12
00001dcd: SGT
00001dce: PUSH2 0x1bdc
00001dd1: JUMPI
00001dd2: PUSH1 0x01
00001dd4: PUSH1 0x80
00001dd6: MLOAD
00001dd7: ADD
00001dd8: SLOAD
00001dd9: PUSH1 0x01
00001ddb: DUP5
00001ddc: ADD
00001ddd: SSTORE
00001dde: PUSH1 0x02
00001de0: PUSH1 0x80
00001de2: MLOAD
00001de3: ADD
00001de4: SLOAD
00001de5: PUSH1 0x02
00001de7: DUP5
00001de8: ADD
00001de9: SSTORE
00001dea: PUSH2 0x1bdc
00001ded: JUMP
00001dee: JUMPDEST
00001def: PUSH1 0x80
00001df1: MLOAD
00001df2: SLOAD
00001df3: PUSH1 0xa0
00001df5: SHR
00001df6: PUSH1 0x02
00001df8: SIGNEXTEND
00001df9: SLT
00001dfa: ISZERO
00001dfb: PUSH2 0x1e05
00001dfe: JUMPI
00001dff: JUMPDEST
00001e00: DUP15
00001e01: PUSH2 0x1b70
00001e04: JUMP
00001e05: JUMPDEST
00001e06: PUSH1 0x01
00001e08: PUSH1 0x80
00001e0a: MLOAD
00001e0b: ADD
00001e0c: SLOAD
00001e0d: PUSH1 0x01
00001e0f: DUP5
00001e10: ADD
00001e11: SSTORE
00001e12: PUSH1 0x02
00001e14: PUSH1 0x80
00001e16: MLOAD
00001e17: ADD
00001e18: SLOAD
00001e19: PUSH1 0x02
00001e1b: DUP5
00001e1c: ADD
00001e1d: SSTORE
00001e1e: PUSH2 0x1dff
00001e21: JUMP
00001e22: JUMPDEST
00001e23: DUP6
00001e24: PUSH32 0x1ad777f800000000000000000000000000000000000000000000000000000000
00001e45: PUSH0
00001e46: MSTORE
00001e47: PUSH1 0x04
00001e49: MSTORE
00001e4a: PUSH1 0x24
00001e4c: PUSH0
00001e4d: REVERT
00001e4e: JUMPDEST
00001e4f: DUP8
00001e50: PUSH32 0xd5e2f7ab00000000000000000000000000000000000000000000000000000000
00001e71: PUSH0
00001e72: MSTORE
00001e73: PUSH1 0x04
00001e75: MSTORE
00001e76: PUSH1 0x24
00001e78: PUSH0
00001e79: REVERT
00001e7a: JUMPDEST
00001e7b: PUSH1 0x44
00001e7d: DUP9
00001e7e: DUP8
00001e7f: PUSH1 0x40
00001e81: MLOAD
00001e82: SWAP2
00001e83: PUSH32 0xc4433ed500000000000000000000000000000000000000000000000000000000
00001ea4: DUP4
00001ea5: MSTORE
00001ea6: PUSH1 0x04
00001ea8: DUP4
00001ea9: ADD
00001eaa: MSTORE
00001eab: PUSH1 0x24
00001ead: DUP3
00001eae: ADD
00001eaf: MSTORE
00001eb0: REVERT
00001eb1: JUMPDEST
00001eb2: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00001ed3: PUSH0
00001ed4: MSTORE
00001ed5: PUSH1 0x41
00001ed7: PUSH1 0x04
00001ed9: MSTORE
00001eda: PUSH1 0x24
00001edc: PUSH0
00001edd: REVERT
00001ede: JUMPDEST
00001edf: PUSH0
00001ee0: PUSH1 0x40
00001ee2: DUP6
00001ee3: ADD
00001ee4: MLOAD
00001ee5: SGT
00001ee6: DUP1
00001ee7: DUP1
00001ee8: SWAP2
00001ee9: PUSH2 0x1fd6
00001eec: JUMPI
00001eed: JUMPDEST
00001eee: ISZERO
00001eef: PUSH2 0x1f6b
00001ef2: JUMPI
00001ef3: POP
00001ef4: POP
00001ef5: PUSH1 0x40
00001ef7: MLOAD
00001ef8: PUSH32 0x259982e500000000000000000000000000000000000000000000000000000000
00001f19: PUSH1 0x20
00001f1b: DUP3
00001f1c: ADD
00001f1d: MSTORE
00001f1e: PUSH2 0x1f62
00001f21: SWAP2
00001f22: PUSH2 0x12aa
00001f25: DUP3
00001f26: PUSH2 0x1f36
00001f29: DUP9
00001f2a: DUP8
00001f2b: DUP10
00001f2c: DUP13
00001f2d: CALLER
00001f2e: PUSH1 0x24
00001f30: DUP8
00001f31: ADD
00001f32: PUSH2 0x36cb
00001f35: JUMP
00001f36: JUMPDEST
00001f37: SUB
00001f38: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00001f59: DUP2
00001f5a: ADD
00001f5b: DUP5
00001f5c: MSTORE
00001f5d: DUP4
00001f5e: PUSH2 0x2e2e
00001f61: JUMP
00001f62: JUMPDEST
00001f63: POP
00001f64: JUMPDEST
00001f65: DUP6
00001f66: DUP1
00001f67: PUSH2 0x1587
00001f6a: JUMP
00001f6b: JUMPDEST
00001f6c: ISZERO
00001f6d: SWAP1
00001f6e: DUP2
00001f6f: PUSH2 0x1fc8
00001f72: JUMPI
00001f73: JUMPDEST
00001f74: POP
00001f75: PUSH2 0x1f7f
00001f78: JUMPI
00001f79: JUMPDEST
00001f7a: POP
00001f7b: PUSH2 0x1f64
00001f7e: JUMP
00001f7f: JUMPDEST
00001f80: PUSH1 0x40
00001f82: MLOAD
00001f83: PUSH32 0x21d0ee7000000000000000000000000000000000000000000000000000000000
00001fa4: PUSH1 0x20
00001fa6: DUP3
00001fa7: ADD
00001fa8: MSTORE
00001fa9: PUSH2 0x1fc1
00001fac: SWAP2
00001fad: PUSH2 0x12aa
00001fb0: DUP3
00001fb1: PUSH2 0x1f36
00001fb4: DUP9
00001fb5: DUP8
00001fb6: DUP10
00001fb7: DUP13
00001fb8: CALLER
00001fb9: PUSH1 0x24
00001fbb: DUP8
00001fbc: ADD
00001fbd: PUSH2 0x36cb
00001fc0: JUMP
00001fc1: JUMPDEST
00001fc2: POP
00001fc3: DUP6
00001fc4: PUSH2 0x1f79
00001fc7: JUMP
00001fc8: JUMPDEST
00001fc9: PUSH2 0x0200
00001fcc: SWAP2
00001fcd: POP
00001fce: AND
00001fcf: ISZERO
00001fd0: ISZERO
00001fd1: DUP8
00001fd2: PUSH2 0x1f73
00001fd5: JUMP
00001fd6: JUMPDEST
00001fd7: POP
00001fd8: PUSH2 0x0800
00001fdb: DUP3
00001fdc: AND
00001fdd: ISZERO
00001fde: ISZERO
00001fdf: PUSH2 0x1eed
00001fe2: JUMP
00001fe3: JUMPDEST
00001fe4: CALLVALUE
00001fe5: PUSH2 0x0330
00001fe8: JUMPI
00001fe9: PUSH1 0x60
00001feb: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
0000200c: CALLDATASIZE
0000200d: ADD
0000200e: SLT
0000200f: PUSH2 0x0330
00002012: JUMPI
00002013: PUSH2 0x201a
00002016: PUSH2 0x2d3f
00002019: JUMP
0000201a: JUMPDEST
0000201b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002030: PUSH2 0x2037
00002033: PUSH2 0x2d62
00002036: JUMP
00002037: JUMPDEST
00002038: SWAP2
00002039: AND
0000203a: PUSH0
0000203b: MSTORE
0000203c: PUSH1 0x05
0000203e: PUSH1 0x20
00002040: MSTORE
00002041: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002056: PUSH1 0x40
00002058: PUSH0
00002059: KECCAK256
0000205a: SWAP2
0000205b: AND
0000205c: PUSH0
0000205d: MSTORE
0000205e: PUSH1 0x20
00002060: MSTORE
00002061: PUSH1 0x40
00002063: PUSH0
00002064: KECCAK256
00002065: PUSH1 0x44
00002067: CALLDATALOAD
00002068: PUSH0
00002069: MSTORE
0000206a: PUSH1 0x20
0000206c: MSTORE
0000206d: PUSH1 0x20
0000206f: PUSH1 0x40
00002071: PUSH0
00002072: KECCAK256
00002073: SLOAD
00002074: PUSH1 0x40
00002076: MLOAD
00002077: SWAP1
00002078: DUP2
00002079: MSTORE
0000207a: RETURN
0000207b: JUMPDEST
0000207c: CALLVALUE
0000207d: PUSH2 0x0330
00002080: JUMPI
00002081: PUSH1 0x40
00002083: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000020a4: CALLDATASIZE
000020a5: ADD
000020a6: SLT
000020a7: PUSH2 0x0330
000020aa: JUMPI
000020ab: PUSH2 0x20b2
000020ae: PUSH2 0x2d3f
000020b1: JUMP
000020b2: JUMPDEST
000020b3: PUSH1 0x24
000020b5: CALLDATALOAD
000020b6: SWAP1
000020b7: DUP2
000020b8: ISZERO
000020b9: ISZERO
000020ba: DUP1
000020bb: SWAP3
000020bc: SUB
000020bd: PUSH2 0x0330
000020c0: JUMPI
000020c1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020d6: SWAP1
000020d7: CALLER
000020d8: PUSH0
000020d9: MSTORE
000020da: PUSH1 0x03
000020dc: PUSH1 0x20
000020de: MSTORE
000020df: PUSH1 0x40
000020e1: PUSH0
000020e2: KECCAK256
000020e3: DUP3
000020e4: DUP3
000020e5: AND
000020e6: PUSH0
000020e7: MSTORE
000020e8: PUSH1 0x20
000020ea: MSTORE
000020eb: PUSH1 0x40
000020ed: PUSH0
000020ee: KECCAK256
000020ef: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00002110: DUP2
00002111: SLOAD
00002112: AND
00002113: PUSH1 0xff
00002115: DUP6
00002116: AND
00002117: OR
00002118: SWAP1
00002119: SSTORE
0000211a: PUSH1 0x40
0000211c: MLOAD
0000211d: SWAP3
0000211e: DUP4
0000211f: MSTORE
00002120: AND
00002121: SWAP1
00002122: PUSH32 0xceb576d9f15e4e200fdb5096d64d5dfd667e16def20c1eefd14256d8e3faa267
00002143: PUSH1 0x20
00002145: CALLER
00002146: SWAP3
00002147: LOG3
00002148: PUSH1 0x20
0000214a: PUSH1 0x40
0000214c: MLOAD
0000214d: PUSH1 0x01
0000214f: DUP2
00002150: MSTORE
00002151: RETURN
00002152: JUMPDEST
00002153: CALLVALUE
00002154: PUSH2 0x0330
00002157: JUMPI
00002158: PUSH1 0xc0
0000215a: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
0000217b: CALLDATASIZE
0000217c: ADD
0000217d: SLT
0000217e: PUSH2 0x0330
00002181: JUMPI
00002182: PUSH2 0x218a
00002185: CALLDATASIZE
00002186: PUSH2 0x2e81
00002189: JUMP
0000218a: JUMPDEST
0000218b: PUSH2 0x2192
0000218e: PUSH2 0x2e6f
00002191: JUMP
00002192: JUMPDEST
00002193: SWAP1
00002194: PUSH3 0x800000
00002198: PUSH3 0xffffff
0000219c: PUSH1 0x40
0000219e: DUP4
0000219f: ADD
000021a0: MLOAD
000021a1: AND
000021a2: EQ
000021a3: DUP1
000021a4: ISZERO
000021a5: SWAP1
000021a6: PUSH2 0x2246
000021a9: JUMPI
000021aa: JUMPDEST
000021ab: PUSH2 0x221e
000021ae: JUMPI
000021af: PUSH1 0xa0
000021b1: SWAP1
000021b2: PUSH2 0x21ba
000021b5: DUP4
000021b6: PUSH2 0x368e
000021b9: JUMP
000021ba: JUMPDEST
000021bb: KECCAK256
000021bc: PUSH0
000021bd: MSTORE
000021be: PUSH1 0x06
000021c0: PUSH1 0x20
000021c2: MSTORE
000021c3: PUSH1 0x40
000021c5: PUSH0
000021c6: KECCAK256
000021c7: SWAP1
000021c8: PUSH2 0x21d0
000021cb: DUP3
000021cc: PUSH2 0x3576
000021cf: JUMP
000021d0: JUMPDEST
000021d1: DUP2
000021d2: SLOAD
000021d3: PUSH32 0xffffff000000ffffffffffffffffffffffffffffffffffffffffffffffffffff
000021f4: AND
000021f5: PUSH1 0xd0
000021f7: SWAP2
000021f8: SWAP1
000021f9: SWAP2
000021fa: SHL
000021fb: PUSH29 0xffffff0000000000000000000000000000000000000000000000000000
00002219: AND
0000221a: OR
0000221b: SWAP1
0000221c: SSTORE
0000221d: STOP
0000221e: JUMPDEST
0000221f: PUSH32 0x30d2164100000000000000000000000000000000000000000000000000000000
00002240: PUSH0
00002241: MSTORE
00002242: PUSH1 0x04
00002244: PUSH0
00002245: REVERT
00002246: JUMPDEST
00002247: POP
00002248: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000225d: PUSH1 0x80
0000225f: DUP3
00002260: ADD
00002261: MLOAD
00002262: AND
00002263: CALLER
00002264: EQ
00002265: ISZERO
00002266: PUSH2 0x21aa
00002269: JUMP
0000226a: JUMPDEST
0000226b: CALLVALUE
0000226c: PUSH2 0x0330
0000226f: JUMPI
00002270: PUSH1 0x20
00002272: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00002293: CALLDATASIZE
00002294: ADD
00002295: SLT
00002296: PUSH2 0x0330
00002299: JUMPI
0000229a: PUSH1 0x04
0000229c: CALLDATALOAD
0000229d: PUSH8 0xffffffffffffffff
000022a6: DUP2
000022a7: GT
000022a8: PUSH2 0x0330
000022ab: JUMPI
000022ac: PUSH2 0x22b9
000022af: SWAP1
000022b0: CALLDATASIZE
000022b1: SWAP1
000022b2: PUSH1 0x04
000022b4: ADD
000022b5: PUSH2 0x2f4d
000022b8: JUMP
000022b9: JUMPDEST
000022ba: PUSH32 0xc090fc4683624cfc3884e9d8de5eca132f2d0ec062aff75d43c0465d5ceeab23
000022db: TLOAD
000022dc: PUSH2 0x24cd
000022df: JUMPI
000022e0: PUSH2 0x2345
000022e3: SWAP2
000022e4: PUSH0
000022e5: SWAP2
000022e6: PUSH1 0x01
000022e8: PUSH32 0xc090fc4683624cfc3884e9d8de5eca132f2d0ec062aff75d43c0465d5ceeab23
00002309: TSTORE
0000230a: PUSH1 0x40
0000230c: MLOAD
0000230d: SWAP4
0000230e: DUP5
0000230f: SWAP3
00002310: DUP4
00002311: SWAP3
00002312: PUSH32 0x91dd734600000000000000000000000000000000000000000000000000000000
00002333: DUP5
00002334: MSTORE
00002335: PUSH1 0x20
00002337: PUSH1 0x04
00002339: DUP6
0000233a: ADD
0000233b: MSTORE
0000233c: PUSH1 0x24
0000233e: DUP5
0000233f: ADD
00002340: SWAP2
00002341: PUSH2 0x306c
00002344: JUMP
00002345: JUMPDEST
00002346: SUB
00002347: DUP2
00002348: DUP4
00002349: CALLER
0000234a: GAS
0000234b: CALL
0000234c: SWAP1
0000234d: DUP2
0000234e: ISZERO
0000234f: PUSH2 0x24c2
00002352: JUMPI
00002353: PUSH0
00002354: SWAP2
00002355: PUSH2 0x241a
00002358: JUMPI
00002359: JUMPDEST
0000235a: POP
0000235b: PUSH32 0x7d4b3164c6e45b97e7d87b7125a44c5828d005af88f9d751cfd78729c5d99a0b
0000237c: TLOAD
0000237d: PUSH2 0x23f2
00002380: JUMPI
00002381: PUSH1 0x40
00002383: PUSH1 0x20
00002385: SWAP2
00002386: PUSH0
00002387: PUSH32 0xc090fc4683624cfc3884e9d8de5eca132f2d0ec062aff75d43c0465d5ceeab23
000023a8: TSTORE
000023a9: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
000023ca: PUSH1 0x1f
000023cc: DUP4
000023cd: MLOAD
000023ce: SWAP5
000023cf: DUP6
000023d0: SWAP4
000023d1: DUP2
000023d2: DUP6
000023d3: MSTORE
000023d4: DUP1
000023d5: MLOAD
000023d6: SWAP2
000023d7: DUP3
000023d8: SWAP2
000023d9: DUP3
000023da: DUP3
000023db: DUP9
000023dc: ADD
000023dd: MSTORE
000023de: ADD
000023df: DUP7
000023e0: DUP7
000023e1: ADD
000023e2: MCOPY
000023e3: PUSH0
000023e4: DUP6
000023e5: DUP3
000023e6: DUP7
000023e7: ADD
000023e8: ADD
000023e9: MSTORE
000023ea: ADD
000023eb: AND
000023ec: DUP2
000023ed: ADD
000023ee: SUB
000023ef: ADD
000023f0: SWAP1
000023f1: RETURN
000023f2: JUMPDEST
000023f3: PUSH32 0x5212cba100000000000000000000000000000000000000000000000000000000
00002414: PUSH0
00002415: MSTORE
00002416: PUSH1 0x04
00002418: PUSH0
00002419: REVERT
0000241a: JUMPDEST
0000241b: SWAP1
0000241c: POP
0000241d: RETURNDATASIZE
0000241e: DUP1
0000241f: PUSH0
00002420: DUP4
00002421: RETURNDATACOPY
00002422: PUSH2 0x242b
00002425: DUP2
00002426: DUP4
00002427: PUSH2 0x2e2e
0000242a: JUMP
0000242b: JUMPDEST
0000242c: DUP2
0000242d: ADD
0000242e: SWAP1
0000242f: PUSH1 0x20
00002431: DUP2
00002432: DUP4
00002433: SUB
00002434: SLT
00002435: PUSH2 0x0330
00002438: JUMPI
00002439: DUP1
0000243a: MLOAD
0000243b: SWAP1
0000243c: PUSH8 0xffffffffffffffff
00002445: DUP3
00002446: GT
00002447: PUSH2 0x0330
0000244a: JUMPI
0000244b: ADD
0000244c: DUP2
0000244d: PUSH1 0x1f
0000244f: DUP3
00002450: ADD
00002451: SLT
00002452: ISZERO
00002453: PUSH2 0x0330
00002456: JUMPI
00002457: DUP1
00002458: MLOAD
00002459: SWAP1
0000245a: PUSH8 0xffffffffffffffff
00002463: DUP3
00002464: GT
00002465: PUSH2 0x1eb1
00002468: JUMPI
00002469: PUSH1 0x40
0000246b: MLOAD
0000246c: SWAP3
0000246d: PUSH2 0x249e
00002470: PUSH1 0x20
00002472: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00002493: PUSH1 0x1f
00002495: DUP7
00002496: ADD
00002497: AND
00002498: ADD
00002499: DUP6
0000249a: PUSH2 0x2e2e
0000249d: JUMP
0000249e: JUMPDEST
0000249f: DUP3
000024a0: DUP5
000024a1: MSTORE
000024a2: PUSH1 0x20
000024a4: DUP4
000024a5: DUP4
000024a6: ADD
000024a7: ADD
000024a8: GT
000024a9: PUSH2 0x0330
000024ac: JUMPI
000024ad: DUP2
000024ae: PUSH0
000024af: SWAP3
000024b0: PUSH1 0x20
000024b2: DUP1
000024b3: SWAP4
000024b4: ADD
000024b5: DUP4
000024b6: DUP7
000024b7: ADD
000024b8: MCOPY
000024b9: DUP4
000024ba: ADD
000024bb: ADD
000024bc: MSTORE
000024bd: DUP2
000024be: PUSH2 0x2359
000024c1: JUMP
000024c2: JUMPDEST
000024c3: PUSH1 0x40
000024c5: MLOAD
000024c6: RETURNDATASIZE
000024c7: PUSH0
000024c8: DUP3
000024c9: RETURNDATACOPY
000024ca: RETURNDATASIZE
000024cb: SWAP1
000024cc: REVERT
000024cd: JUMPDEST
000024ce: PUSH32 0x5090d6c600000000000000000000000000000000000000000000000000000000
000024ef: PUSH0
000024f0: MSTORE
000024f1: PUSH1 0x04
000024f3: PUSH0
000024f4: REVERT
000024f5: JUMPDEST
000024f6: CALLVALUE
000024f7: PUSH2 0x0330
000024fa: JUMPI
000024fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002510: PUSH2 0x2518
00002513: CALLDATASIZE
00002514: PUSH2 0x2d85
00002517: JUMP
00002518: JUMPDEST
00002519: SWAP2
0000251a: SWAP3
0000251b: SWAP1
0000251c: SWAP3
0000251d: CALLER
0000251e: PUSH0
0000251f: MSTORE
00002520: PUSH1 0x05
00002522: PUSH1 0x20
00002524: MSTORE
00002525: PUSH1 0x40
00002527: PUSH0
00002528: KECCAK256
00002529: DUP3
0000252a: DUP3
0000252b: AND
0000252c: PUSH0
0000252d: MSTORE
0000252e: PUSH1 0x20
00002530: MSTORE
00002531: PUSH1 0x40
00002533: PUSH0
00002534: KECCAK256
00002535: DUP5
00002536: PUSH0
00002537: MSTORE
00002538: PUSH1 0x20
0000253a: MSTORE
0000253b: DUP3
0000253c: PUSH1 0x40
0000253e: PUSH0
0000253f: KECCAK256
00002540: SSTORE
00002541: PUSH1 0x40
00002543: MLOAD
00002544: SWAP3
00002545: DUP4
00002546: MSTORE
00002547: AND
00002548: SWAP1
00002549: PUSH32 0xb3fd5071835887567a0671151121894ddccc2842f1d10bedad13e0d17cace9a7
0000256a: PUSH1 0x20
0000256c: CALLER
0000256d: SWAP3
0000256e: LOG4
0000256f: PUSH1 0x20
00002571: PUSH1 0x40
00002573: MLOAD
00002574: PUSH1 0x01
00002576: DUP2
00002577: MSTORE
00002578: RETURN
00002579: JUMPDEST
0000257a: PUSH1 0x20
0000257c: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
0000259d: CALLDATASIZE
0000259e: ADD
0000259f: SLT
000025a0: PUSH2 0x0330
000025a3: JUMPI
000025a4: PUSH2 0x25ab
000025a7: PUSH2 0x2d3f
000025aa: JUMP
000025ab: JUMPDEST
000025ac: PUSH32 0xc090fc4683624cfc3884e9d8de5eca132f2d0ec062aff75d43c0465d5ceeab23
000025cd: TLOAD
000025ce: ISZERO
000025cf: PUSH2 0x04d7
000025d2: JUMPI
000025d3: PUSH2 0x07a2
000025d6: PUSH1 0x20
000025d8: SWAP2
000025d9: PUSH2 0x342d
000025dc: JUMP
000025dd: JUMPDEST
000025de: CALLVALUE
000025df: PUSH2 0x0330
000025e2: JUMPI
000025e3: PUSH1 0x40
000025e5: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00002606: CALLDATASIZE
00002607: ADD
00002608: SLT
00002609: PUSH2 0x0330
0000260c: JUMPI
0000260d: PUSH1 0x24
0000260f: CALLDATALOAD
00002610: PUSH1 0x04
00002612: CALLDATALOAD
00002613: PUSH1 0x40
00002615: MLOAD
00002616: SWAP2
00002617: PUSH1 0x40
00002619: DUP4
0000261a: PUSH1 0x20
0000261c: DUP2
0000261d: MSTORE
0000261e: DUP3
0000261f: PUSH1 0x20
00002621: DUP3
00002622: ADD
00002623: MSTORE
00002624: ADD
00002625: SWAP1
00002626: PUSH1 0x05
00002628: SHL
00002629: DUP4
0000262a: ADD
0000262b: SWAP2
0000262c: PUSH1 0x01
0000262e: PUSH1 0x20
00002630: PUSH1 0x40
00002632: DUP6
00002633: ADD
00002634: SWAP4
00002635: JUMPDEST
00002636: DUP4
00002637: SLOAD
00002638: DUP2
00002639: MSTORE
0000263a: ADD
0000263b: SWAP2
0000263c: ADD
0000263d: SWAP1
0000263e: DUP5
0000263f: DUP4
00002640: DUP3
00002641: LT
00002642: ISZERO
00002643: PUSH2 0x09cc
00002646: JUMPI
00002647: POP
00002648: PUSH1 0x20
0000264a: PUSH1 0x01
0000264c: SWAP2
0000264d: PUSH2 0x2635
00002650: JUMP
00002651: JUMPDEST
00002652: CALLVALUE
00002653: PUSH2 0x0330
00002656: JUMPI
00002657: PUSH1 0x20
00002659: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
0000267a: CALLDATASIZE
0000267b: ADD
0000267c: SLT
0000267d: PUSH2 0x0330
00002680: JUMPI
00002681: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002696: PUSH2 0x269d
00002699: PUSH2 0x2d3f
0000269c: JUMP
0000269d: JUMPDEST
0000269e: PUSH2 0x26ab
000026a1: DUP3
000026a2: PUSH0
000026a3: SLOAD
000026a4: AND
000026a5: CALLER
000026a6: EQ
000026a7: PUSH2 0x3007
000026aa: JUMP
000026ab: JUMPDEST
000026ac: AND
000026ad: DUP1
000026ae: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
000026cf: PUSH1 0x02
000026d1: SLOAD
000026d2: AND
000026d3: OR
000026d4: PUSH1 0x02
000026d6: SSTORE
000026d7: PUSH32 0xb4bd8ef53df690b9943d3318996006dbb82a25f54719d8c8035b516a2a5b8acc
000026f8: PUSH0
000026f9: DUP1
000026fa: LOG2
000026fb: STOP
000026fc: JUMPDEST
000026fd: CALLVALUE
000026fe: PUSH2 0x0330
00002701: JUMPI
00002702: PUSH2 0x0100
00002705: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00002726: CALLDATASIZE
00002727: ADD
00002728: SLT
00002729: PUSH2 0x0330
0000272c: JUMPI
0000272d: PUSH2 0x2735
00002730: CALLDATASIZE
00002731: PUSH2 0x2e81
00002734: JUMP
00002735: JUMPDEST
00002736: PUSH1 0xc4
00002738: CALLDATALOAD
00002739: SWAP1
0000273a: PUSH1 0xa4
0000273c: CALLDATALOAD
0000273d: PUSH1 0xe4
0000273f: CALLDATALOAD
00002740: PUSH8 0xffffffffffffffff
00002749: DUP2
0000274a: GT
0000274b: PUSH2 0x0330
0000274e: JUMPI
0000274f: PUSH2 0x275c
00002752: SWAP1
00002753: CALLDATASIZE
00002754: SWAP1
00002755: PUSH1 0x04
00002757: ADD
00002758: PUSH2 0x2f4d
0000275b: JUMP
0000275c: JUMPDEST
0000275d: SWAP2
0000275e: SWAP1
0000275f: SWAP4
00002760: PUSH32 0xc090fc4683624cfc3884e9d8de5eca132f2d0ec062aff75d43c0465d5ceeab23
00002781: TLOAD
00002782: ISZERO
00002783: PUSH2 0x04d7
00002786: JUMPI
00002787: PUSH2 0x278e
0000278a: PUSH2 0x350f
0000278d: JUMP
0000278e: JUMPDEST
0000278f: PUSH1 0xa0
00002791: DUP5
00002792: KECCAK256
00002793: SWAP5
00002794: DUP6
00002795: PUSH0
00002796: MSTORE
00002797: PUSH1 0x06
00002799: PUSH1 0x20
0000279b: MSTORE
0000279c: PUSH1 0x40
0000279e: PUSH0
0000279f: KECCAK256
000027a0: SWAP5
000027a1: PUSH2 0x27a9
000027a4: DUP7
000027a5: PUSH2 0x3576
000027a8: JUMP
000027a9: JUMPDEST
000027aa: PUSH1 0x80
000027ac: DUP2
000027ad: ADD
000027ae: DUP1
000027af: MLOAD
000027b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027c5: DUP2
000027c6: AND
000027c7: SWAP1
000027c8: DUP2
000027c9: CALLER
000027ca: SUB
000027cb: PUSH2 0x2943
000027ce: JUMPI
000027cf: JUMPDEST
000027d0: POP
000027d1: POP
000027d2: PUSH16 0xffffffffffffffffffffffffffffffff
000027e3: PUSH1 0x03
000027e5: DUP9
000027e6: ADD
000027e7: SLOAD
000027e8: AND
000027e9: SWAP8
000027ea: DUP9
000027eb: ISZERO
000027ec: PUSH2 0x291b
000027ef: JUMPI
000027f0: PUSH1 0x20
000027f2: SWAP9
000027f3: PUSH2 0x27fb
000027f6: DUP8
000027f7: PUSH2 0x30aa
000027fa: JUMP
000027fb: JUMPDEST
000027fc: PUSH0
000027fd: SUB
000027fe: PUSH2 0x2806
00002801: DUP8
00002802: PUSH2 0x30aa
00002805: JUMP
00002806: JUMPDEST
00002807: PUSH0
00002808: SUB
00002809: PUSH16 0xffffffffffffffffffffffffffffffff
0000281a: AND
0000281b: SWAP1
0000281c: PUSH1 0x80
0000281e: SHL
0000281f: OR
00002820: SWAP9
00002821: DUP8
00002822: PUSH2 0x2907
00002825: JUMPI
00002826: JUMPDEST
00002827: DUP7
00002828: PUSH2 0x28f2
0000282b: JUMPI
0000282c: JUMPDEST
0000282d: POP
0000282e: POP
0000282f: PUSH2 0x2839
00002832: CALLER
00002833: DUP10
00002834: DUP6
00002835: PUSH2 0x3652
00002838: JUMP
00002839: JUMPDEST
0000283a: PUSH1 0x40
0000283c: MLOAD
0000283d: SWAP1
0000283e: DUP7
0000283f: DUP3
00002840: MSTORE
00002841: DUP6
00002842: DUP11
00002843: DUP4
00002844: ADD
00002845: MSTORE
00002846: PUSH32 0x29ef05caaff9404b7cb6d1c0e9bbae9eaa7ab2541feba1a9c4248594c08156cb
00002867: PUSH1 0x40
00002869: CALLER
0000286a: SWAP4
0000286b: LOG3
0000286c: MLOAD
0000286d: SWAP3
0000286e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002883: DUP5
00002884: AND
00002885: SWAP4
00002886: DUP5
00002887: CALLER
00002888: SUB
00002889: PUSH2 0x2897
0000288c: JUMPI
0000288d: JUMPDEST
0000288e: DUP9
0000288f: DUP9
00002890: PUSH1 0x40
00002892: MLOAD
00002893: SWAP1
00002894: DUP2
00002895: MSTORE
00002896: RETURN
00002897: JUMPDEST
00002898: PUSH1 0x10
0000289a: AND
0000289b: PUSH2 0x28a5
0000289e: JUMPI
0000289f: JUMPDEST
000028a0: DUP1
000028a1: PUSH2 0x288d
000028a4: JUMP
000028a5: JUMPDEST
000028a6: PUSH2 0x28e6
000028a9: SWAP6
000028aa: PUSH2 0x12aa
000028ad: SWAP4
000028ae: PUSH2 0x1f36
000028b1: SWAP3
000028b2: PUSH1 0x40
000028b4: MLOAD
000028b5: SWAP8
000028b6: DUP9
000028b7: SWAP6
000028b8: PUSH32 0xe1b4af6900000000000000000000000000000000000000000000000000000000
000028d9: DUP14
000028da: DUP9
000028db: ADD
000028dc: MSTORE
000028dd: CALLER
000028de: PUSH1 0x24
000028e0: DUP9
000028e1: ADD
000028e2: PUSH2 0x35bc
000028e5: JUMP
000028e6: JUMPDEST
000028e7: POP
000028e8: DUP3
000028e9: DUP1
000028ea: DUP1
000028eb: DUP1
000028ec: DUP1
000028ed: DUP1
000028ee: PUSH2 0x289f
000028f1: JUMP
000028f2: JUMPDEST
000028f3: PUSH1 0x02
000028f5: ADD
000028f6: SWAP1
000028f7: DUP7
000028f8: PUSH1 0x80
000028fa: SHL
000028fb: DIV
000028fc: DUP2
000028fd: SLOAD
000028fe: ADD
000028ff: SWAP1
00002900: SSTORE
00002901: DUP10
00002902: DUP1
00002903: PUSH2 0x282c
00002906: JUMP
00002907: JUMPDEST
00002908: PUSH1 0x01
0000290a: DUP2
0000290b: ADD
0000290c: DUP3
0000290d: DUP10
0000290e: PUSH1 0x80
00002910: SHL
00002911: DIV
00002912: DUP2
00002913: SLOAD
00002914: ADD
00002915: SWAP1
00002916: SSTORE
00002917: PUSH2 0x2826
0000291a: JUMP
0000291b: JUMPDEST
0000291c: PUSH32 0xa74f97ab00000000000000000000000000000000000000000000000000000000
0000293d: PUSH0
0000293e: MSTORE
0000293f: PUSH1 0x04
00002941: PUSH0
00002942: REVERT
00002943: JUMPDEST
00002944: PUSH1 0x20
00002946: AND
00002947: PUSH2 0x2951
0000294a: JUMPI
0000294b: JUMPDEST
0000294c: DUP1
0000294d: PUSH2 0x27cf
00002950: JUMP
00002951: JUMPDEST
00002952: PUSH1 0x40
00002954: MLOAD
00002955: PUSH32 0xb6a8b0fa00000000000000000000000000000000000000000000000000000000
00002976: PUSH1 0x20
00002978: DUP3
00002979: ADD
0000297a: MSTORE
0000297b: PUSH2 0x2994
0000297e: SWAP2
0000297f: PUSH2 0x12aa
00002982: DUP3
00002983: PUSH2 0x1f36
00002986: DUP12
00002987: DUP10
00002988: DUP12
00002989: DUP14
0000298a: DUP12
0000298b: CALLER
0000298c: PUSH1 0x24
0000298e: DUP9
0000298f: ADD
00002990: PUSH2 0x35bc
00002993: JUMP
00002994: JUMPDEST
00002995: POP
00002996: DUP9
00002997: PUSH2 0x294b
0000299a: JUMP
0000299b: JUMPDEST
0000299c: CALLVALUE
0000299d: PUSH2 0x0330
000029a0: JUMPI
000029a1: PUSH1 0x20
000029a3: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000029c4: CALLDATASIZE
000029c5: ADD
000029c6: SLT
000029c7: PUSH2 0x0330
000029ca: JUMPI
000029cb: PUSH1 0x04
000029cd: CALLDATALOAD
000029ce: SLOAD
000029cf: PUSH0
000029d0: MSTORE
000029d1: PUSH1 0x20
000029d3: PUSH0
000029d4: RETURN
000029d5: JUMPDEST
000029d6: CALLVALUE
000029d7: PUSH2 0x0330
000029da: JUMPI
000029db: PUSH2 0x29e3
000029de: CALLDATASIZE
000029df: PUSH2 0x2d85
000029e2: JUMP
000029e3: JUMPDEST
000029e4: SWAP1
000029e5: PUSH32 0xc090fc4683624cfc3884e9d8de5eca132f2d0ec062aff75d43c0465d5ceeab23
00002a06: TLOAD
00002a07: ISZERO
00002a08: PUSH2 0x04d7
00002a0b: JUMPI
00002a0c: PUSH32 0x1b3d7edb2e9c0b0e7c525b20aaaef0f5940d2ed71663c7d39266ecafac728859
00002a2d: PUSH2 0x03ed
00002a30: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a45: DUP1
00002a46: PUSH0
00002a47: SWAP5
00002a48: AND
00002a49: SWAP6
00002a4a: PUSH2 0x2a62
00002a4d: PUSH2 0x2a55
00002a50: DUP8
00002a51: PUSH2 0x30aa
00002a54: JUMP
00002a55: JUMPDEST
00002a56: DUP7
00002a57: SUB
00002a58: PUSH1 0x0f
00002a5a: SIGNEXTEND
00002a5b: CALLER
00002a5c: SWAP1
00002a5d: DUP10
00002a5e: PUSH2 0x30f0
00002a61: JUMP
00002a62: JUMPDEST
00002a63: AND
00002a64: SWAP4
00002a65: DUP5
00002a66: DUP5
00002a67: MSTORE
00002a68: PUSH1 0x04
00002a6a: PUSH1 0x20
00002a6c: MSTORE
00002a6d: PUSH1 0x40
00002a6f: DUP5
00002a70: KECCAK256
00002a71: DUP7
00002a72: DUP6
00002a73: MSTORE
00002a74: PUSH1 0x20
00002a76: MSTORE
00002a77: PUSH1 0x40
00002a79: DUP5
00002a7a: KECCAK256
00002a7b: PUSH2 0x025f
00002a7e: DUP3
00002a7f: DUP3
00002a80: SLOAD
00002a81: PUSH2 0x2ffa
00002a84: JUMP
00002a85: JUMPDEST
00002a86: PUSH0
00002a87: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00002aa8: CALLDATASIZE
00002aa9: ADD
00002aaa: SLT
00002aab: PUSH2 0x0330
00002aae: JUMPI
00002aaf: PUSH32 0xc090fc4683624cfc3884e9d8de5eca132f2d0ec062aff75d43c0465d5ceeab23
00002ad0: TLOAD
00002ad1: ISZERO
00002ad2: PUSH2 0x04d7
00002ad5: JUMPI
00002ad6: PUSH1 0x20
00002ad8: PUSH2 0x07a2
00002adb: CALLER
00002adc: PUSH2 0x342d
00002adf: JUMP
00002ae0: JUMPDEST
00002ae1: CALLVALUE
00002ae2: PUSH2 0x0330
00002ae5: JUMPI
00002ae6: PUSH1 0x60
00002ae8: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00002b09: CALLDATASIZE
00002b0a: ADD
00002b0b: SLT
00002b0c: PUSH2 0x0330
00002b0f: JUMPI
00002b10: PUSH2 0x2b17
00002b13: PUSH2 0x2d3f
00002b16: JUMP
00002b17: JUMPDEST
00002b18: PUSH2 0x2b1f
00002b1b: PUSH2 0x2d62
00002b1e: JUMP
00002b1f: JUMPDEST
00002b20: PUSH1 0x44
00002b22: CALLDATALOAD
00002b23: SWAP1
00002b24: PUSH32 0xc090fc4683624cfc3884e9d8de5eca132f2d0ec062aff75d43c0465d5ceeab23
00002b45: TLOAD
00002b46: ISZERO
00002b47: PUSH2 0x04d7
00002b4a: JUMPI
00002b4b: PUSH2 0x0e2f
00002b4e: SWAP3
00002b4f: PUSH2 0x2b67
00002b52: PUSH2 0x2b5a
00002b55: DUP5
00002b56: PUSH2 0x30aa
00002b59: JUMP
00002b5a: JUMPDEST
00002b5b: PUSH0
00002b5c: SUB
00002b5d: PUSH1 0x0f
00002b5f: SIGNEXTEND
00002b60: CALLER
00002b61: SWAP1
00002b62: DUP4
00002b63: PUSH2 0x30f0
00002b66: JUMP
00002b67: JUMPDEST
00002b68: PUSH2 0x31f8
00002b6b: JUMP
00002b6c: JUMPDEST
00002b6d: CALLVALUE
00002b6e: PUSH2 0x0330
00002b71: JUMPI
00002b72: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b87: PUSH2 0x2b8f
00002b8a: CALLDATASIZE
00002b8b: PUSH2 0x2d85
00002b8e: JUMP
00002b8f: JUMPDEST
00002b90: SWAP2
00002b91: SWAP3
00002b92: SWAP1
00002b93: SWAP3
00002b94: CALLER
00002b95: PUSH0
00002b96: MSTORE
00002b97: PUSH1 0x04
00002b99: PUSH1 0x20
00002b9b: MSTORE
00002b9c: PUSH1 0x40
00002b9e: PUSH0
00002b9f: KECCAK256
00002ba0: DUP5
00002ba1: PUSH0
00002ba2: MSTORE
00002ba3: PUSH1 0x20
00002ba5: MSTORE
00002ba6: PUSH1 0x40
00002ba8: PUSH0
00002ba9: KECCAK256
00002baa: PUSH2 0x2bb4
00002bad: DUP5
00002bae: DUP3
00002baf: SLOAD
00002bb0: PUSH2 0x2fed
00002bb3: JUMP
00002bb4: JUMPDEST
00002bb5: SWAP1
00002bb6: SSTORE
00002bb7: AND
00002bb8: SWAP1
00002bb9: DUP2
00002bba: PUSH0
00002bbb: MSTORE
00002bbc: PUSH1 0x04
00002bbe: PUSH1 0x20
00002bc0: MSTORE
00002bc1: PUSH1 0x40
00002bc3: PUSH0
00002bc4: KECCAK256
00002bc5: DUP4
00002bc6: PUSH0
00002bc7: MSTORE
00002bc8: PUSH1 0x20
00002bca: MSTORE
00002bcb: PUSH1 0x40
00002bcd: PUSH0
00002bce: KECCAK256
00002bcf: PUSH2 0x2bd9
00002bd2: DUP3
00002bd3: DUP3
00002bd4: SLOAD
00002bd5: PUSH2 0x2ffa
00002bd8: JUMP
00002bd9: JUMPDEST
00002bda: SWAP1
00002bdb: SSTORE
00002bdc: PUSH1 0x40
00002bde: DUP1
00002bdf: MLOAD
00002be0: CALLER
00002be1: DUP1
00002be2: DUP3
00002be3: MSTORE
00002be4: PUSH1 0x20
00002be6: DUP3
00002be7: ADD
00002be8: SWAP4
00002be9: SWAP1
00002bea: SWAP4
00002beb: MSTORE
00002bec: PUSH32 0x1b3d7edb2e9c0b0e7c525b20aaaef0f5940d2ed71663c7d39266ecafac728859
00002c0d: SWAP2
00002c0e: DUP2
00002c0f: SWAP1
00002c10: DUP2
00002c11: ADD
00002c12: PUSH2 0x0279
00002c15: JUMP
00002c16: JUMPDEST
00002c17: CALLVALUE
00002c18: PUSH2 0x0330
00002c1b: JUMPI
00002c1c: PUSH1 0x20
00002c1e: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00002c3f: CALLDATASIZE
00002c40: ADD
00002c41: SLT
00002c42: PUSH2 0x0330
00002c45: JUMPI
00002c46: PUSH1 0x04
00002c48: CALLDATALOAD
00002c49: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00002c6a: DUP2
00002c6b: AND
00002c6c: DUP1
00002c6d: SWAP2
00002c6e: SUB
00002c6f: PUSH2 0x0330
00002c72: JUMPI
00002c73: DUP1
00002c74: PUSH32 0x01ffc9a700000000000000000000000000000000000000000000000000000000
00002c95: PUSH1 0x20
00002c97: SWAP3
00002c98: EQ
00002c99: SWAP1
00002c9a: DUP2
00002c9b: ISZERO
00002c9c: PUSH2 0x2cab
00002c9f: JUMPI
00002ca0: JUMPDEST
00002ca1: POP
00002ca2: PUSH1 0x40
00002ca4: MLOAD
00002ca5: SWAP1
00002ca6: ISZERO
00002ca7: ISZERO
00002ca8: DUP2
00002ca9: MSTORE
00002caa: RETURN
00002cab: JUMPDEST
00002cac: PUSH32 0x0f632fb300000000000000000000000000000000000000000000000000000000
00002ccd: SWAP2
00002cce: POP
00002ccf: EQ
00002cd0: DUP3
00002cd1: PUSH2 0x2ca0
00002cd4: JUMP
00002cd5: JUMPDEST
00002cd6: CALLVALUE
00002cd7: PUSH2 0x0330
00002cda: JUMPI
00002cdb: PUSH1 0x40
00002cdd: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00002cfe: CALLDATASIZE
00002cff: ADD
00002d00: SLT
00002d01: PUSH2 0x0330
00002d04: JUMPI
00002d05: PUSH1 0x20
00002d07: SWAP1
00002d08: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002d1d: PUSH2 0x2d24
00002d20: PUSH2 0x2d3f
00002d23: JUMP
00002d24: JUMPDEST
00002d25: AND
00002d26: PUSH0
00002d27: MSTORE
00002d28: PUSH1 0x04
00002d2a: DUP3
00002d2b: MSTORE
00002d2c: PUSH1 0x40
00002d2e: PUSH0
00002d2f: KECCAK256
00002d30: PUSH1 0x24
00002d32: CALLDATALOAD
00002d33: PUSH0
00002d34: MSTORE
00002d35: DUP3
00002d36: MSTORE
00002d37: PUSH1 0x40
00002d39: PUSH0
00002d3a: KECCAK256
00002d3b: SLOAD
00002d3c: DUP2
00002d3d: MSTORE
00002d3e: RETURN
00002d3f: JUMPDEST
00002d40: PUSH1 0x04
00002d42: CALLDATALOAD
00002d43: SWAP1
00002d44: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002d59: DUP3
00002d5a: AND
00002d5b: DUP3
00002d5c: SUB
00002d5d: PUSH2 0x0330
00002d60: JUMPI
00002d61: JUMP
00002d62: JUMPDEST
00002d63: PUSH1 0x24
00002d65: CALLDATALOAD
00002d66: SWAP1
00002d67: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002d7c: DUP3
00002d7d: AND
00002d7e: DUP3
00002d7f: SUB
00002d80: PUSH2 0x0330
00002d83: JUMPI
00002d84: JUMP
00002d85: JUMPDEST
00002d86: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00002da7: PUSH1 0x60
00002da9: SWAP2
00002daa: ADD
00002dab: SLT
00002dac: PUSH2 0x0330
00002daf: JUMPI
00002db0: PUSH1 0x04
00002db2: CALLDATALOAD
00002db3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002dc8: DUP2
00002dc9: AND
00002dca: DUP2
00002dcb: SUB
00002dcc: PUSH2 0x0330
00002dcf: JUMPI
00002dd0: SWAP1
00002dd1: PUSH1 0x24
00002dd3: CALLDATALOAD
00002dd4: SWAP1
00002dd5: PUSH1 0x44
00002dd7: CALLDATALOAD
00002dd8: SWAP1
00002dd9: JUMP
00002dda: JUMPDEST
00002ddb: PUSH1 0x80
00002ddd: DUP2
00002dde: ADD
00002ddf: SWAP1
00002de0: DUP2
00002de1: LT
00002de2: PUSH8 0xffffffffffffffff
00002deb: DUP3
00002dec: GT
00002ded: OR
00002dee: PUSH2 0x1eb1
00002df1: JUMPI
00002df2: PUSH1 0x40
00002df4: MSTORE
00002df5: JUMP
00002df6: JUMPDEST
00002df7: PUSH1 0x60
00002df9: DUP2
00002dfa: ADD
00002dfb: SWAP1
00002dfc: DUP2
00002dfd: LT
00002dfe: PUSH8 0xffffffffffffffff
00002e07: DUP3
00002e08: GT
00002e09: OR
00002e0a: PUSH2 0x1eb1
00002e0d: JUMPI
00002e0e: PUSH1 0x40
00002e10: MSTORE
00002e11: JUMP
00002e12: JUMPDEST
00002e13: PUSH1 0xa0
00002e15: DUP2
00002e16: ADD
00002e17: SWAP1
00002e18: DUP2
00002e19: LT
00002e1a: PUSH8 0xffffffffffffffff
00002e23: DUP3
00002e24: GT
00002e25: OR
00002e26: PUSH2 0x1eb1
00002e29: JUMPI
00002e2a: PUSH1 0x40
00002e2c: MSTORE
00002e2d: JUMP
00002e2e: JUMPDEST
00002e2f: SWAP1
00002e30: PUSH1 0x1f
00002e32: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00002e53: SWAP2
00002e54: ADD
00002e55: AND
00002e56: DUP2
00002e57: ADD
00002e58: SWAP1
00002e59: DUP2
00002e5a: LT
00002e5b: PUSH8 0xffffffffffffffff
00002e64: DUP3
00002e65: GT
00002e66: OR
00002e67: PUSH2 0x1eb1
00002e6a: JUMPI
00002e6b: PUSH1 0x40
00002e6d: MSTORE
00002e6e: JUMP
00002e6f: JUMPDEST
00002e70: PUSH1 0xa4
00002e72: CALLDATALOAD
00002e73: SWAP1
00002e74: PUSH3 0xffffff
00002e78: DUP3
00002e79: AND
00002e7a: DUP3
00002e7b: SUB
00002e7c: PUSH2 0x0330
00002e7f: JUMPI
00002e80: JUMP
00002e81: JUMPDEST
00002e82: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00002ea3: PUSH1 0xa0
00002ea5: SWAP2
00002ea6: ADD
00002ea7: SLT
00002ea8: PUSH2 0x0330
00002eab: JUMPI
00002eac: PUSH1 0x40
00002eae: MLOAD
00002eaf: SWAP1
00002eb0: PUSH2 0x2eb8
00002eb3: DUP3
00002eb4: PUSH2 0x2e12
00002eb7: JUMP
00002eb8: JUMPDEST
00002eb9: DUP2
00002eba: PUSH1 0x04
00002ebc: CALLDATALOAD
00002ebd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ed2: DUP2
00002ed3: AND
00002ed4: DUP2
00002ed5: SUB
00002ed6: PUSH2 0x0330
00002ed9: JUMPI
00002eda: DUP2
00002edb: MSTORE
00002edc: PUSH1 0x24
00002ede: CALLDATALOAD
00002edf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ef4: DUP2
00002ef5: AND
00002ef6: DUP2
00002ef7: SUB
00002ef8: PUSH2 0x0330
00002efb: JUMPI
00002efc: PUSH1 0x20
00002efe: DUP3
00002eff: ADD
00002f00: MSTORE
00002f01: PUSH1 0x44
00002f03: CALLDATALOAD
00002f04: PUSH3 0xffffff
00002f08: DUP2
00002f09: AND
00002f0a: DUP2
00002f0b: SUB
00002f0c: PUSH2 0x0330
00002f0f: JUMPI
00002f10: PUSH1 0x40
00002f12: DUP3
00002f13: ADD
00002f14: MSTORE
00002f15: PUSH1 0x64
00002f17: CALLDATALOAD
00002f18: DUP1
00002f19: PUSH1 0x02
00002f1b: SIGNEXTEND
00002f1c: DUP2
00002f1d: SUB
00002f1e: PUSH2 0x0330
00002f21: JUMPI
00002f22: PUSH1 0x60
00002f24: DUP3
00002f25: ADD
00002f26: MSTORE
00002f27: PUSH1 0x84
00002f29: CALLDATALOAD
00002f2a: SWAP1
00002f2b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f40: DUP3
00002f41: AND
00002f42: DUP3
00002f43: SUB
00002f44: PUSH2 0x0330
00002f47: JUMPI
00002f48: PUSH1 0x80
00002f4a: ADD
00002f4b: MSTORE
00002f4c: JUMP
00002f4d: JUMPDEST
00002f4e: SWAP2
00002f4f: DUP2
00002f50: PUSH1 0x1f
00002f52: DUP5
00002f53: ADD
00002f54: SLT
00002f55: ISZERO
00002f56: PUSH2 0x0330
00002f59: JUMPI
00002f5a: DUP3
00002f5b: CALLDATALOAD
00002f5c: SWAP2
00002f5d: PUSH8 0xffffffffffffffff
00002f66: DUP4
00002f67: GT
00002f68: PUSH2 0x0330
00002f6b: JUMPI
00002f6c: PUSH1 0x20
00002f6e: DUP4
00002f6f: DUP2
00002f70: DUP7
00002f71: ADD
00002f72: SWAP6
00002f73: ADD
00002f74: ADD
00002f75: GT
00002f76: PUSH2 0x0330
00002f79: JUMPI
00002f7a: JUMP
00002f7b: JUMPDEST
00002f7c: SWAP1
00002f7d: PUSH1 0x20
00002f7f: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
00002fa0: DUP4
00002fa1: ADD
00002fa2: SLT
00002fa3: PUSH2 0x0330
00002fa6: JUMPI
00002fa7: PUSH1 0x04
00002fa9: CALLDATALOAD
00002faa: PUSH8 0xffffffffffffffff
00002fb3: DUP2
00002fb4: GT
00002fb5: PUSH2 0x0330
00002fb8: JUMPI
00002fb9: DUP3
00002fba: PUSH1 0x23
00002fbc: DUP3
00002fbd: ADD
00002fbe: SLT
00002fbf: ISZERO
00002fc0: PUSH2 0x0330
00002fc3: JUMPI
00002fc4: DUP1
00002fc5: PUSH1 0x04
00002fc7: ADD
00002fc8: CALLDATALOAD
00002fc9: SWAP3
00002fca: PUSH8 0xffffffffffffffff
00002fd3: DUP5
00002fd4: GT
00002fd5: PUSH2 0x0330
00002fd8: JUMPI
00002fd9: PUSH1 0x24
00002fdb: DUP5
00002fdc: PUSH1 0x05
00002fde: SHL
00002fdf: DUP4
00002fe0: ADD
00002fe1: ADD
00002fe2: GT
00002fe3: PUSH2 0x0330
00002fe6: JUMPI
00002fe7: PUSH1 0x24
00002fe9: ADD
00002fea: SWAP2
00002feb: SWAP1
00002fec: JUMP
00002fed: JUMPDEST
00002fee: SWAP2
00002fef: SWAP1
00002ff0: DUP3
00002ff1: SUB
00002ff2: SWAP2
00002ff3: DUP3
00002ff4: GT
00002ff5: PUSH2 0x1d94
00002ff8: JUMPI
00002ff9: JUMP
00002ffa: JUMPDEST
00002ffb: SWAP2
00002ffc: SWAP1
00002ffd: DUP3
00002ffe: ADD
00002fff: DUP1
00003000: SWAP3
00003001: GT
00003002: PUSH2 0x1d94
00003005: JUMPI
00003006: JUMP
00003007: JUMPDEST
00003008: ISZERO
00003009: PUSH2 0x300e
0000300c: JUMPI
0000300d: JUMP
0000300e: JUMPDEST
0000300f: PUSH1 0x64
00003011: PUSH1 0x40
00003013: MLOAD
00003014: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003035: DUP2
00003036: MSTORE
00003037: PUSH1 0x20
00003039: PUSH1 0x04
0000303b: DUP3
0000303c: ADD
0000303d: MSTORE
0000303e: PUSH1 0x0c
00003040: PUSH1 0x24
00003042: DUP3
00003043: ADD
00003044: MSTORE
00003045: PUSH32 0x554e415554484f52495a45440000000000000000000000000000000000000000
00003066: PUSH1 0x44
00003068: DUP3
00003069: ADD
0000306a: MSTORE
0000306b: REVERT
0000306c: JUMPDEST
0000306d: PUSH1 0x1f
0000306f: DUP3
00003070: PUSH1 0x20
00003072: SWAP5
00003073: SWAP4
00003074: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00003095: SWAP4
00003096: DUP2
00003097: DUP7
00003098: MSTORE
00003099: DUP7
0000309a: DUP7
0000309b: ADD
0000309c: CALLDATACOPY
0000309d: PUSH0
0000309e: DUP6
0000309f: DUP3
000030a0: DUP7
000030a1: ADD
000030a2: ADD
000030a3: MSTORE
000030a4: ADD
000030a5: AND
000030a6: ADD
000030a7: ADD
000030a8: SWAP1
000030a9: JUMP
000030aa: JUMPDEST
000030ab: PUSH16 0x80000000000000000000000000000000
000030bc: DUP2
000030bd: LT
000030be: ISZERO
000030bf: PUSH2 0x30c8
000030c2: JUMPI
000030c3: PUSH1 0x0f
000030c5: SIGNEXTEND
000030c6: SWAP1
000030c7: JUMP
000030c8: JUMPDEST
000030c9: PUSH32 0x93dafdf100000000000000000000000000000000000000000000000000000000
000030ea: PUSH0
000030eb: MSTORE
000030ec: PUSH1 0x04
000030ee: PUSH0
000030ef: REVERT
000030f0: JUMPDEST
000030f1: SWAP2
000030f2: SWAP1
000030f3: PUSH1 0x0f
000030f5: SIGNEXTEND
000030f6: SWAP2
000030f7: DUP3
000030f8: ISZERO
000030f9: PUSH2 0x31f3
000030fc: JUMPI
000030fd: PUSH2 0x3126
00003100: SWAP2
00003101: SWAP1
00003102: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003117: DUP1
00003118: SWAP3
00003119: AND
0000311a: PUSH0
0000311b: MSTORE
0000311c: AND
0000311d: PUSH1 0x20
0000311f: MSTORE
00003120: PUSH1 0x40
00003122: PUSH0
00003123: KECCAK256
00003124: SWAP1
00003125: JUMP
00003126: JUMPDEST
00003127: PUSH2 0x3132
0000312a: DUP2
0000312b: TLOAD
0000312c: SWAP3
0000312d: DUP4
0000312e: PUSH2 0x3b29
00003131: JUMP
00003132: JUMPDEST
00003133: DUP1
00003134: SWAP2
00003135: TSTORE
00003136: PUSH2 0x31a3
00003139: JUMPI
0000313a: POP
0000313b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000315c: PUSH32 0x7d4b3164c6e45b97e7d87b7125a44c5828d005af88f9d751cfd78729c5d99a0b
0000317d: TLOAD
0000317e: ADD
0000317f: PUSH32 0x7d4b3164c6e45b97e7d87b7125a44c5828d005af88f9d751cfd78729c5d99a0b
000031a0: TSTORE
000031a1: JUMPDEST
000031a2: JUMP
000031a3: JUMPDEST
000031a4: ISZERO
000031a5: PUSH2 0x31aa
000031a8: JUMPI
000031a9: JUMP
000031aa: JUMPDEST
000031ab: PUSH1 0x01
000031ad: PUSH32 0x7d4b3164c6e45b97e7d87b7125a44c5828d005af88f9d751cfd78729c5d99a0b
000031ce: TLOAD
000031cf: ADD
000031d0: PUSH32 0x7d4b3164c6e45b97e7d87b7125a44c5828d005af88f9d751cfd78729c5d99a0b
000031f1: TSTORE
000031f2: JUMP
000031f3: JUMPDEST
000031f4: POP
000031f5: POP
000031f6: POP
000031f7: JUMP
000031f8: JUMPDEST
000031f9: SWAP1
000031fa: SWAP2
000031fb: SWAP1
000031fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003211: DUP2
00003212: AND
00003213: SWAP1
00003214: DUP2
00003215: PUSH2 0x32ea
00003218: JUMPI
00003219: POP
0000321a: POP
0000321b: PUSH0
0000321c: DUP1
0000321d: DUP1
0000321e: DUP1
0000321f: SWAP4
00003220: DUP6
00003221: GAS
00003222: CALL
00003223: ISZERO
00003224: PUSH2 0x322a
00003227: JUMPI
00003228: POP
00003229: JUMP
0000322a: JUMPDEST
0000322b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
0000324c: PUSH1 0x1f
0000324e: RETURNDATASIZE
0000324f: ADD
00003250: AND
00003251: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003266: PUSH1 0x40
00003268: MLOAD
00003269: SWAP3
0000326a: PUSH32 0x90bfb86500000000000000000000000000000000000000000000000000000000
0000328b: DUP5
0000328c: MSTORE
0000328d: AND
0000328e: PUSH1 0x04
00003290: DUP4
00003291: ADD
00003292: MSTORE
00003293: PUSH0
00003294: PUSH1 0x24
00003296: DUP4
00003297: ADD
00003298: MSTORE
00003299: PUSH1 0x80
0000329b: PUSH1 0x44
0000329d: DUP4
0000329e: ADD
0000329f: MSTORE
000032a0: DUP1
000032a1: PUSH1 0xa0
000032a3: ADD
000032a4: PUSH1 0x64
000032a6: DUP4
000032a7: ADD
000032a8: MSTORE
000032a9: RETURNDATASIZE
000032aa: PUSH1 0x84
000032ac: DUP4
000032ad: ADD
000032ae: MSTORE
000032af: RETURNDATASIZE
000032b0: PUSH0
000032b1: PUSH1 0xa4
000032b3: DUP5
000032b4: ADD
000032b5: RETURNDATACOPY
000032b6: PUSH32 0xf4b3b1bc00000000000000000000000000000000000000000000000000000000
000032d7: PUSH1 0xc4
000032d9: DUP3
000032da: DUP5
000032db: ADD
000032dc: PUSH1 0x04
000032de: PUSH1 0xa4
000032e0: DUP3
000032e1: ADD
000032e2: MSTORE
000032e3: ADD
000032e4: MSTORE
000032e5: PUSH1 0xe4
000032e7: ADD
000032e8: SWAP1
000032e9: REVERT
000032ea: JUMPDEST
000032eb: PUSH1 0x20
000032ed: PUSH0
000032ee: PUSH1 0x44
000032f0: DUP2
000032f1: SWAP5
000032f2: SWAP7
000032f3: DUP3
000032f4: PUSH1 0x40
000032f6: SWAP6
000032f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000330c: SWAP9
0000330d: DUP8
0000330e: MLOAD
0000330f: SWAP10
00003310: DUP11
00003311: SWAP5
00003312: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
00003333: DUP7
00003334: MSTORE
00003335: AND
00003336: PUSH1 0x04
00003338: DUP6
00003339: ADD
0000333a: MSTORE
0000333b: PUSH1 0x24
0000333d: DUP5
0000333e: ADD
0000333f: MSTORE
00003340: GAS
00003341: CALL
00003342: RETURNDATASIZE
00003343: ISZERO
00003344: PUSH1 0x1f
00003346: RETURNDATASIZE
00003347: GT
00003348: PUSH1 0x01
0000334a: DUP6
0000334b: MLOAD
0000334c: EQ
0000334d: AND
0000334e: OR
0000334f: AND
00003350: SWAP3
00003351: DUP3
00003352: DUP2
00003353: MSTORE
00003354: DUP3
00003355: PUSH1 0x20
00003357: DUP3
00003358: ADD
00003359: MSTORE
0000335a: ADD
0000335b: MSTORE
0000335c: ISZERO
0000335d: PUSH2 0x3363
00003360: JUMPI
00003361: POP
00003362: JUMP
00003363: JUMPDEST
00003364: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00003385: PUSH1 0x1f
00003387: RETURNDATASIZE
00003388: ADD
00003389: AND
0000338a: PUSH1 0x40
0000338c: MLOAD
0000338d: SWAP2
0000338e: PUSH32 0x90bfb86500000000000000000000000000000000000000000000000000000000
000033af: DUP4
000033b0: MSTORE
000033b1: PUSH1 0x04
000033b3: DUP4
000033b4: ADD
000033b5: MSTORE
000033b6: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
000033d7: PUSH1 0x24
000033d9: DUP4
000033da: ADD
000033db: MSTORE
000033dc: PUSH1 0x80
000033de: PUSH1 0x44
000033e0: DUP4
000033e1: ADD
000033e2: MSTORE
000033e3: DUP1
000033e4: PUSH1 0xa0
000033e6: ADD
000033e7: PUSH1 0x64
000033e9: DUP4
000033ea: ADD
000033eb: MSTORE
000033ec: RETURNDATASIZE
000033ed: PUSH1 0x84
000033ef: DUP4
000033f0: ADD
000033f1: MSTORE
000033f2: RETURNDATASIZE
000033f3: PUSH0
000033f4: PUSH1 0xa4
000033f6: DUP5
000033f7: ADD
000033f8: RETURNDATACOPY
000033f9: PUSH32 0xf27f64e400000000000000000000000000000000000000000000000000000000
0000341a: PUSH1 0xc4
0000341c: DUP3
0000341d: DUP5
0000341e: ADD
0000341f: PUSH1 0x04
00003421: PUSH1 0xa4
00003423: DUP3
00003424: ADD
00003425: MSTORE
00003426: ADD
00003427: MSTORE
00003428: PUSH1 0xe4
0000342a: ADD
0000342b: SWAP1
0000342c: REVERT
0000342d: JUMPDEST
0000342e: PUSH32 0x27e098c505d44ec3574004bca052aabf76bd35004c182099d8c575fb238593b9
0000344f: TLOAD
00003450: SWAP2
00003451: SWAP1
00003452: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003467: DUP4
00003468: AND
00003469: PUSH2 0x3482
0000346c: JUMPI
0000346d: PUSH2 0x31a1
00003470: SWAP1
00003471: CALLVALUE
00003472: SWAP4
00003473: JUMPDEST
00003474: PUSH2 0x347c
00003477: DUP6
00003478: PUSH2 0x30aa
0000347b: JUMP
0000347c: JUMPDEST
0000347d: SWAP1
0000347e: PUSH2 0x30f0
00003481: JUMP
00003482: JUMPDEST
00003483: CALLVALUE
00003484: PUSH2 0x34e7
00003487: JUMPI
00003488: PUSH2 0x31a1
0000348b: SWAP1
0000348c: PUSH2 0x34be
0000348f: PUSH32 0x1e0745a7db1623981f0b2a5d4232364c00787266eb75ad546f190e6cebe9bd95
000034b0: TLOAD
000034b1: PUSH2 0x34b9
000034b4: DUP7
000034b5: PUSH2 0x3a92
000034b8: JUMP
000034b9: JUMPDEST
000034ba: PUSH2 0x2fed
000034bd: JUMP
000034be: JUMPDEST
000034bf: SWAP4
000034c0: PUSH0
000034c1: PUSH32 0x27e098c505d44ec3574004bca052aabf76bd35004c182099d8c575fb238593b9
000034e2: TSTORE
000034e3: PUSH2 0x3473
000034e6: JUMP
000034e7: JUMPDEST
000034e8: PUSH32 0xb0ec849e00000000000000000000000000000000000000000000000000000000
00003509: PUSH0
0000350a: MSTORE
0000350b: PUSH1 0x04
0000350d: PUSH0
0000350e: REVERT
0000350f: JUMPDEST
00003510: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003525: PUSH32 0x000000000000000000000000000000000004444c5dc75cb358380d2e3de08a90
00003546: AND
00003547: ADDRESS
00003548: SUB
00003549: PUSH2 0x354e
0000354c: JUMPI
0000354d: JUMP
0000354e: JUMPDEST
0000354f: PUSH32 0x0d89438e00000000000000000000000000000000000000000000000000000000
00003570: PUSH0
00003571: MSTORE
00003572: PUSH1 0x04
00003574: PUSH0
00003575: REVERT
00003576: JUMPDEST
00003577: SLOAD
00003578: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000358d: AND
0000358e: ISZERO
0000358f: PUSH2 0x3594
00003592: JUMPI
00003593: JUMP
00003594: JUMPDEST
00003595: PUSH32 0x486aa30700000000000000000000000000000000000000000000000000000000
000035b6: PUSH0
000035b7: MSTORE
000035b8: PUSH1 0x04
000035ba: PUSH0
000035bb: REVERT
000035bc: JUMPDEST
000035bd: SWAP2
000035be: SWAP3
000035bf: PUSH2 0x3637
000035c2: PUSH2 0x0120
000035c5: SWAP5
000035c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000035db: PUSH2 0x364f
000035de: SWAP10
000035df: SWAP8
000035e0: SWAP5
000035e1: AND
000035e2: DUP6
000035e3: MSTORE
000035e4: PUSH1 0x20
000035e6: DUP6
000035e7: ADD
000035e8: SWAP1
000035e9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000035fe: PUSH1 0x80
00003600: DUP1
00003601: SWAP3
00003602: DUP3
00003603: DUP2
00003604: MLOAD
00003605: AND
00003606: DUP6
00003607: MSTORE
00003608: DUP3
00003609: PUSH1 0x20
0000360b: DUP3
0000360c: ADD
0000360d: MLOAD
0000360e: AND
0000360f: PUSH1 0x20
00003611: DUP7
00003612: ADD
00003613: MSTORE
00003614: PUSH3 0xffffff
00003618: PUSH1 0x40
0000361a: DUP3
0000361b: ADD
0000361c: MLOAD
0000361d: AND
0000361e: PUSH1 0x40
00003620: DUP7
00003621: ADD
00003622: MSTORE
00003623: PUSH1 0x60
00003625: DUP2
00003626: ADD
00003627: MLOAD
00003628: PUSH1 0x02
0000362a: SIGNEXTEND
0000362b: PUSH1 0x60
0000362d: DUP7
0000362e: ADD
0000362f: MSTORE
00003630: ADD
00003631: MLOAD
00003632: AND
00003633: SWAP2
00003634: ADD
00003635: MSTORE
00003636: JUMP
00003637: JUMPDEST
00003638: PUSH1 0xc0
0000363a: DUP4
0000363b: ADD
0000363c: MSTORE
0000363d: PUSH1 0xe0
0000363f: DUP3
00003640: ADD
00003641: MSTORE
00003642: DUP2
00003643: PUSH2 0x0100
00003646: DUP3
00003647: ADD
00003648: MSTORE
00003649: ADD
0000364a: SWAP2
0000364b: PUSH2 0x306c
0000364e: JUMP
0000364f: JUMPDEST
00003650: SWAP1
00003651: JUMP
00003652: JUMPDEST
00003653: SWAP1
00003654: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003669: PUSH1 0x20
0000366b: PUSH2 0x31a1
0000366e: SWAP5
0000366f: SWAP4
00003670: PUSH2 0x3681
00003673: DUP6
00003674: DUP5
00003675: DUP4
00003676: MLOAD
00003677: AND
00003678: DUP7
00003679: PUSH1 0x80
0000367b: SAR
0000367c: SWAP1
0000367d: PUSH2 0x30f0
00003680: JUMP
00003681: JUMPDEST
00003682: ADD
00003683: MLOAD
00003684: AND
00003685: SWAP1
00003686: PUSH1 0x0f
00003688: SIGNEXTEND
00003689: SWAP1
0000368a: PUSH2 0x30f0
0000368d: JUMP
0000368e: JUMPDEST
0000368f: PUSH3 0xffffff
00003693: AND
00003694: PUSH3 0x0f4240
00003698: DUP2
00003699: GT
0000369a: PUSH2 0x36a0
0000369d: JUMPI
0000369e: POP
0000369f: JUMP
000036a0: JUMPDEST
000036a1: PUSH32 0x1400211300000000000000000000000000000000000000000000000000000000
000036c2: PUSH0
000036c3: MSTORE
000036c4: PUSH1 0x04
000036c6: MSTORE
000036c7: PUSH1 0x24
000036c9: PUSH0
000036ca: REVERT
000036cb: JUMPDEST
000036cc: SWAP1
000036cd: PUSH2 0x364f
000036d0: SWAP6
000036d1: SWAP4
000036d2: PUSH2 0x3748
000036d5: PUSH2 0x0160
000036d8: SWAP5
000036d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000036ee: PUSH2 0x3777
000036f1: SWAP5
000036f2: AND
000036f3: DUP6
000036f4: MSTORE
000036f5: PUSH1 0x20
000036f7: DUP6
000036f8: ADD
000036f9: SWAP1
000036fa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000370f: PUSH1 0x80
00003711: DUP1
00003712: SWAP3
00003713: DUP3
00003714: DUP2
00003715: MLOAD
00003716: AND
00003717: DUP6
00003718: MSTORE
00003719: DUP3
0000371a: PUSH1 0x20
0000371c: DUP3
0000371d: ADD
0000371e: MLOAD
0000371f: AND
00003720: PUSH1 0x20
00003722: DUP7
00003723: ADD
00003724: MSTORE
00003725: PUSH3 0xffffff
00003729: PUSH1 0x40
0000372b: DUP3
0000372c: ADD
0000372d: MLOAD
0000372e: AND
0000372f: PUSH1 0x40
00003731: DUP7
00003732: ADD
00003733: MSTORE
00003734: PUSH1 0x60
00003736: DUP2
00003737: ADD
00003738: MLOAD
00003739: PUSH1 0x02
0000373b: SIGNEXTEND
0000373c: PUSH1 0x60
0000373e: DUP7
0000373f: ADD
00003740: MSTORE
00003741: ADD
00003742: MLOAD
00003743: AND
00003744: SWAP2
00003745: ADD
00003746: MSTORE
00003747: JUMP
00003748: JUMPDEST
00003749: DUP1
0000374a: MLOAD
0000374b: PUSH1 0x02
0000374d: SWAP1
0000374e: DUP2
0000374f: SIGNEXTEND
00003750: PUSH1 0xc0
00003752: DUP6
00003753: ADD
00003754: MSTORE
00003755: PUSH1 0x20
00003757: DUP3
00003758: ADD
00003759: MLOAD
0000375a: SWAP1
0000375b: SIGNEXTEND
0000375c: PUSH1 0xe0
0000375e: DUP5
0000375f: ADD
00003760: MSTORE
00003761: PUSH1 0x40
00003763: DUP2
00003764: ADD
00003765: MLOAD
00003766: PUSH2 0x0100
00003769: DUP5
0000376a: ADD
0000376b: MSTORE
0000376c: PUSH1 0x60
0000376e: ADD
0000376f: MLOAD
00003770: PUSH2 0x0120
00003773: DUP4
00003774: ADD
00003775: MSTORE
00003776: JUMP
00003777: JUMPDEST
00003778: DUP2
00003779: PUSH2 0x0140
0000377c: DUP3
0000377d: ADD
0000377e: MSTORE
0000377f: ADD
00003780: SWAP2
00003781: PUSH2 0x306c
00003784: JUMP
00003785: JUMPDEST
00003786: SWAP1
00003787: DUP2
00003788: PUSH1 0x0f
0000378a: SIGNEXTEND
0000378b: SWAP2
0000378c: DUP3
0000378d: SUB
0000378e: PUSH2 0x30c8
00003791: JUMPI
00003792: JUMP
00003793: JUMPDEST
00003794: SWAP3
00003795: PUSH2 0x3841
00003798: SWAP1
00003799: PUSH2 0x3812
0000379c: PUSH2 0x364f
0000379f: SWAP10
000037a0: SWAP8
000037a1: SWAP5
000037a2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000037b7: PUSH2 0x01a0
000037ba: SWAP9
000037bb: SWAP6
000037bc: AND
000037bd: DUP8
000037be: MSTORE
000037bf: PUSH1 0x20
000037c1: DUP8
000037c2: ADD
000037c3: SWAP1
000037c4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000037d9: PUSH1 0x80
000037db: DUP1
000037dc: SWAP3
000037dd: DUP3
000037de: DUP2
000037df: MLOAD
000037e0: AND
000037e1: DUP6
000037e2: MSTORE
000037e3: DUP3
000037e4: PUSH1 0x20
000037e6: DUP3
000037e7: ADD
000037e8: MLOAD
000037e9: AND
000037ea: PUSH1 0x20
000037ec: DUP7
000037ed: ADD
000037ee: MSTORE
000037ef: PUSH3 0xffffff
000037f3: PUSH1 0x40
000037f5: DUP3
000037f6: ADD
000037f7: MLOAD
000037f8: AND
000037f9: PUSH1 0x40
000037fb: DUP7
000037fc: ADD
000037fd: MSTORE
000037fe: PUSH1 0x60
00003800: DUP2
00003801: ADD
00003802: MLOAD
00003803: PUSH1 0x02
00003805: SIGNEXTEND
00003806: PUSH1 0x60
00003808: DUP7
00003809: ADD
0000380a: MSTORE
0000380b: ADD
0000380c: MLOAD
0000380d: AND
0000380e: SWAP2
0000380f: ADD
00003810: MSTORE
00003811: JUMP
00003812: JUMPDEST
00003813: DUP1
00003814: MLOAD
00003815: PUSH1 0x02
00003817: SWAP1
00003818: DUP2
00003819: SIGNEXTEND
0000381a: PUSH1 0xc0
0000381c: DUP8
0000381d: ADD
0000381e: MSTORE
0000381f: PUSH1 0x20
00003821: DUP3
00003822: ADD
00003823: MLOAD
00003824: SWAP1
00003825: SIGNEXTEND
00003826: PUSH1 0xe0
00003828: DUP7
00003829: ADD
0000382a: MSTORE
0000382b: PUSH1 0x40
0000382d: DUP2
0000382e: ADD
0000382f: MLOAD
00003830: PUSH2 0x0100
00003833: DUP7
00003834: ADD
00003835: MSTORE
00003836: PUSH1 0x60
00003838: ADD
00003839: MLOAD
0000383a: PUSH2 0x0120
0000383d: DUP6
0000383e: ADD
0000383f: MSTORE
00003840: JUMP
00003841: JUMPDEST
00003842: PUSH2 0x0140
00003845: DUP4
00003846: ADD
00003847: MSTORE
00003848: PUSH2 0x0160
0000384b: DUP3
0000384c: ADD
0000384d: MSTORE
0000384e: DUP2
0000384f: PUSH2 0x0180
00003852: DUP3
00003853: ADD
00003854: MSTORE
00003855: ADD
00003856: SWAP2
00003857: PUSH2 0x306c
0000385a: JUMP
0000385b: JUMPDEST
0000385c: SWAP4
0000385d: SWAP6
0000385e: SWAP1
0000385f: SWAP2
00003860: SWAP3
00003861: SWAP7
00003862: SWAP5
00003863: PUSH0
00003864: SWAP7
00003865: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000387a: DUP7
0000387b: AND
0000387c: CALLER
0000387d: EQ
0000387e: PUSH2 0x39ac
00003881: JUMPI
00003882: DUP9
00003883: PUSH0
00003884: PUSH1 0x40
00003886: DUP8
00003887: ADD
00003888: MLOAD
00003889: SGT
0000388a: PUSH0
0000388b: EQ
0000388c: PUSH2 0x393b
0000388f: JUMPI
00003890: PUSH2 0x0400
00003893: DUP8
00003894: AND
00003895: PUSH2 0x38a2
00003898: JUMPI
00003899: JUMPDEST
0000389a: POP
0000389b: POP
0000389c: POP
0000389d: POP
0000389e: POP
0000389f: POP
000038a0: POP
000038a1: JUMP
000038a2: JUMPDEST
000038a3: PUSH2 0x392e
000038a6: SWAP8
000038a7: SWAP10
000038a8: SWAP9
000038a9: POP
000038aa: SWAP3
000038ab: PUSH2 0x3927
000038ae: SWAP7
000038af: SWAP6
000038b0: SWAP5
000038b1: SWAP3
000038b2: PUSH2 0x38ef
000038b5: SWAP3
000038b6: PUSH2 0x391b
000038b9: SWAP6
000038ba: PUSH1 0x40
000038bc: MLOAD
000038bd: SWAP8
000038be: DUP9
000038bf: SWAP7
000038c0: PUSH32 0x9f063efc00000000000000000000000000000000000000000000000000000000
000038e1: PUSH1 0x20
000038e3: DUP10
000038e4: ADD
000038e5: MSTORE
000038e6: CALLER
000038e7: PUSH1 0x24
000038e9: DUP10
000038ea: ADD
000038eb: PUSH2 0x3793
000038ee: JUMP
000038ef: JUMPDEST
000038f0: SUB
000038f1: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00003912: DUP2
00003913: ADD
00003914: DUP4
00003915: MSTORE
00003916: DUP3
00003917: PUSH2 0x2e2e
0000391a: JUMP
0000391b: JUMPDEST
0000391c: PUSH1 0x02
0000391e: DUP3
0000391f: AND
00003920: ISZERO
00003921: ISZERO
00003922: SWAP2
00003923: PUSH2 0x459f
00003926: JUMP
00003927: JUMPDEST
00003928: DUP1
00003929: SWAP3
0000392a: PUSH2 0x45bf
0000392d: JUMP
0000392e: JUMPDEST
0000392f: SWAP2
00003930: PUSH0
00003931: DUP1
00003932: DUP1
00003933: DUP1
00003934: DUP1
00003935: DUP1
00003936: DUP1
00003937: PUSH2 0x3899
0000393a: JUMP
0000393b: JUMPDEST
0000393c: SWAP6
0000393d: SWAP5
0000393e: SWAP4
0000393f: SWAP3
00003940: SWAP2
00003941: SWAP1
00003942: PUSH2 0x0100
00003945: DUP7
00003946: AND
00003947: PUSH2 0x3953
0000394a: JUMPI
0000394b: POP
0000394c: POP
0000394d: POP
0000394e: POP
0000394f: POP
00003950: POP
00003951: POP
00003952: JUMP
00003953: JUMPDEST
00003954: PUSH2 0x392e
00003957: SWAP8
00003958: SWAP10
00003959: POP
0000395a: DUP7
0000395b: SWAP9
0000395c: POP
0000395d: SWAP2
0000395e: PUSH2 0x38ef
00003961: SWAP2
00003962: PUSH2 0x39a0
00003965: SWAP5
00003966: SWAP4
00003967: PUSH2 0x3927
0000396a: SWAP9
0000396b: PUSH1 0x40
0000396d: MLOAD
0000396e: SWAP8
0000396f: DUP9
00003970: SWAP7
00003971: PUSH32 0x6c2bbe7e00000000000000000000000000000000000000000000000000000000
00003992: PUSH1 0x20
00003994: DUP10
00003995: ADD
00003996: MSTORE
00003997: CALLER
00003998: PUSH1 0x24
0000399a: DUP10
0000399b: ADD
0000399c: PUSH2 0x3793
0000399f: JUMP
000039a0: JUMPDEST
000039a1: PUSH1 0x01
000039a3: DUP3
000039a4: AND
000039a5: ISZERO
000039a6: ISZERO
000039a7: SWAP2
000039a8: PUSH2 0x459f
000039ab: JUMP
000039ac: JUMPDEST
000039ad: POP
000039ae: PUSH0
000039af: SWAP7
000039b0: POP
000039b1: POP
000039b2: POP
000039b3: POP
000039b4: POP
000039b5: POP
000039b6: JUMP
000039b7: JUMPDEST
000039b8: PUSH1 0x80
000039ba: DUP2
000039bb: AND
000039bc: ISZERO
000039bd: DUP1
000039be: PUSH2 0x3a69
000039c1: JUMPI
000039c2: JUMPDEST
000039c3: PUSH2 0x3a3f
000039c6: JUMPI
000039c7: PUSH1 0x40
000039c9: DUP2
000039ca: AND
000039cb: ISZERO
000039cc: DUP1
000039cd: PUSH2 0x3a5d
000039d0: JUMPI
000039d1: JUMPDEST
000039d2: PUSH2 0x3a3f
000039d5: JUMPI
000039d6: PUSH2 0x0400
000039d9: DUP2
000039da: AND
000039db: ISZERO
000039dc: DUP1
000039dd: PUSH2 0x3a51
000039e0: JUMPI
000039e1: JUMPDEST
000039e2: PUSH2 0x3a3f
000039e5: JUMPI
000039e6: PUSH2 0x0100
000039e9: DUP2
000039ea: AND
000039eb: ISZERO
000039ec: DUP1
000039ed: PUSH2 0x3a45
000039f0: JUMPI
000039f1: JUMPDEST
000039f2: PUSH2 0x3a3f
000039f5: JUMPI
000039f6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003a0b: DUP2
00003a0c: AND
00003a0d: PUSH2 0x3a1f
00003a10: JUMPI
00003a11: POP
00003a12: PUSH3 0xffffff
00003a16: AND
00003a17: PUSH3 0x800000
00003a1b: EQ
00003a1c: ISZERO
00003a1d: SWAP1
00003a1e: JUMP
00003a1f: JUMPDEST
00003a20: PUSH2 0x3fff
00003a23: AND
00003a24: ISZERO
00003a25: SWAP1
00003a26: DUP2
00003a27: ISZERO
00003a28: SWAP2
00003a29: PUSH2 0x3a30
00003a2c: JUMPI
00003a2d: POP
00003a2e: SWAP1
00003a2f: JUMP
00003a30: JUMPDEST
00003a31: PUSH3 0x800000
00003a35: SWAP2
00003a36: POP
00003a37: PUSH3 0xffffff
00003a3b: AND
00003a3c: EQ
00003a3d: SWAP1
00003a3e: JUMP
00003a3f: JUMPDEST
00003a40: POP
00003a41: POP
00003a42: PUSH0
00003a43: SWAP1
00003a44: JUMP
00003a45: JUMPDEST
00003a46: POP
00003a47: PUSH1 0x01
00003a49: DUP2
00003a4a: AND
00003a4b: ISZERO
00003a4c: ISZERO
00003a4d: PUSH2 0x39f1
00003a50: JUMP
00003a51: JUMPDEST
00003a52: POP
00003a53: PUSH1 0x02
00003a55: DUP2
00003a56: AND
00003a57: ISZERO
00003a58: ISZERO
00003a59: PUSH2 0x39e1
00003a5c: JUMP
00003a5d: JUMPDEST
00003a5e: POP
00003a5f: PUSH1 0x04
00003a61: DUP2
00003a62: AND
00003a63: ISZERO
00003a64: ISZERO
00003a65: PUSH2 0x39d1
00003a68: JUMP
00003a69: JUMPDEST
00003a6a: POP
00003a6b: PUSH1 0x08
00003a6d: DUP2
00003a6e: AND
00003a6f: ISZERO
00003a70: ISZERO
00003a71: PUSH2 0x39c2
00003a74: JUMP
00003a75: JUMPDEST
00003a76: PUSH3 0x800000
00003a7a: PUSH3 0xffffff
00003a7e: DUP3
00003a7f: AND
00003a80: EQ
00003a81: PUSH2 0x3a8d
00003a84: JUMPI
00003a85: PUSH2 0x364f
00003a88: DUP2
00003a89: PUSH2 0x368e
00003a8c: JUMP
00003a8d: JUMPDEST
00003a8e: POP
00003a8f: PUSH0
00003a90: SWAP1
00003a91: JUMP
00003a92: JUMPDEST
00003a93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003aa8: AND
00003aa9: DUP1
00003aaa: PUSH2 0x3ab2
00003aad: JUMPI
00003aae: POP
00003aaf: SELFBALANCE
00003ab0: SWAP1
00003ab1: JUMP
00003ab2: JUMPDEST
00003ab3: PUSH1 0x20
00003ab5: PUSH1 0x24
00003ab7: SWAP2
00003ab8: PUSH1 0x40
00003aba: MLOAD
00003abb: SWAP3
00003abc: DUP4
00003abd: DUP1
00003abe: SWAP3
00003abf: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00003ae0: DUP3
00003ae1: MSTORE
00003ae2: ADDRESS
00003ae3: PUSH1 0x04
00003ae5: DUP4
00003ae6: ADD
00003ae7: MSTORE
00003ae8: GAS
00003ae9: STATICCALL
00003aea: SWAP1
00003aeb: DUP2
00003aec: ISZERO
00003aed: PUSH2 0x24c2
00003af0: JUMPI
00003af1: PUSH0
00003af2: SWAP2
00003af3: PUSH2 0x3afa
00003af6: JUMPI
00003af7: POP
00003af8: SWAP1
00003af9: JUMP
00003afa: JUMPDEST
00003afb: SWAP1
00003afc: POP
00003afd: PUSH1 0x20
00003aff: DUP2
00003b00: RETURNDATASIZE
00003b01: PUSH1 0x20
00003b03: GT
00003b04: PUSH2 0x3b21
00003b07: JUMPI
00003b08: JUMPDEST
00003b09: DUP2
00003b0a: PUSH2 0x3b15
00003b0d: PUSH1 0x20
00003b0f: SWAP4
00003b10: DUP4
00003b11: PUSH2 0x2e2e
00003b14: JUMP
00003b15: JUMPDEST
00003b16: DUP2
00003b17: ADD
00003b18: SUB
00003b19: SLT
00003b1a: PUSH2 0x0330
00003b1d: JUMPI
00003b1e: MLOAD
00003b1f: SWAP1
00003b20: JUMP
00003b21: JUMPDEST
00003b22: RETURNDATASIZE
00003b23: SWAP2
00003b24: POP
00003b25: PUSH2 0x3b08
00003b28: JUMP
00003b29: JUMPDEST
00003b2a: SWAP2
00003b2b: SWAP1
00003b2c: SWAP2
00003b2d: PUSH0
00003b2e: DUP4
00003b2f: DUP3
00003b30: ADD
00003b31: SWAP4
00003b32: DUP5
00003b33: SLT
00003b34: SWAP2
00003b35: SLT
00003b36: SWAP1
00003b37: DUP1
00003b38: ISZERO
00003b39: DUP3
00003b3a: AND
00003b3b: SWAP2
00003b3c: ISZERO
00003b3d: AND
00003b3e: OR
00003b3f: PUSH2 0x1d94
00003b42: JUMPI
00003b43: JUMP
00003b44: JUMPDEST
00003b45: PUSH1 0x20
00003b47: DUP4
00003b48: ADD
00003b49: MLOAD
00003b4a: SWAP6
00003b4b: PUSH0
00003b4c: SWAP6
00003b4d: DUP7
00003b4e: SWAP6
00003b4f: SWAP2
00003b50: SWAP5
00003b51: SWAP2
00003b52: CALLER
00003b53: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003b68: DUP6
00003b69: AND
00003b6a: EQ
00003b6b: PUSH2 0x3d2d
00003b6e: JUMPI
00003b6f: PUSH1 0x80
00003b71: DUP5
00003b72: AND
00003b73: PUSH2 0x3b7e
00003b76: JUMPI
00003b77: JUMPDEST
00003b78: POP
00003b79: POP
00003b7a: POP
00003b7b: POP
00003b7c: POP
00003b7d: JUMP
00003b7e: JUMPDEST
00003b7f: PUSH2 0x3c66
00003b82: SWAP3
00003b83: PUSH2 0x38ef
00003b86: PUSH2 0x3c60
00003b89: SWAP3
00003b8a: PUSH2 0x3c4c
00003b8d: SWAP5
00003b8e: PUSH1 0x40
00003b90: MLOAD
00003b91: SWAP6
00003b92: DUP7
00003b93: SWAP5
00003b94: PUSH32 0x575e24b400000000000000000000000000000000000000000000000000000000
00003bb5: PUSH1 0x20
00003bb7: DUP8
00003bb8: ADD
00003bb9: MSTORE
00003bba: CALLER
00003bbb: PUSH1 0x24
00003bbd: DUP8
00003bbe: ADD
00003bbf: MSTORE
00003bc0: PUSH2 0x3c16
00003bc3: PUSH1 0x44
00003bc5: DUP8
00003bc6: ADD
00003bc7: DUP13
00003bc8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003bdd: PUSH1 0x80
00003bdf: DUP1
00003be0: SWAP3
00003be1: DUP3
00003be2: DUP2
00003be3: MLOAD
00003be4: AND
00003be5: DUP6
00003be6: MSTORE
00003be7: DUP3
00003be8: PUSH1 0x20
00003bea: DUP3
00003beb: ADD
00003bec: MLOAD
00003bed: AND
00003bee: PUSH1 0x20
00003bf0: DUP7
00003bf1: ADD
00003bf2: MSTORE
00003bf3: PUSH3 0xffffff
00003bf7: PUSH1 0x40
00003bf9: DUP3
00003bfa: ADD
00003bfb: MLOAD
00003bfc: AND
00003bfd: PUSH1 0x40
00003bff: DUP7
00003c00: ADD
00003c01: MSTORE
00003c02: PUSH1 0x60
00003c04: DUP2
00003c05: ADD
00003c06: MLOAD
00003c07: PUSH1 0x02
00003c09: SIGNEXTEND
00003c0a: PUSH1 0x60
00003c0c: DUP7
00003c0d: ADD
00003c0e: MSTORE
00003c0f: ADD
00003c10: MLOAD
00003c11: AND
00003c12: SWAP2
00003c13: ADD
00003c14: MSTORE
00003c15: JUMP
00003c16: JUMPDEST
00003c17: DUP1
00003c18: MLOAD
00003c19: ISZERO
00003c1a: ISZERO
00003c1b: PUSH1 0xe4
00003c1d: DUP8
00003c1e: ADD
00003c1f: MSTORE
00003c20: PUSH1 0x20
00003c22: DUP2
00003c23: ADD
00003c24: MLOAD
00003c25: PUSH2 0x0104
00003c28: DUP8
00003c29: ADD
00003c2a: MSTORE
00003c2b: PUSH1 0x40
00003c2d: ADD
00003c2e: MLOAD
00003c2f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003c44: AND
00003c45: PUSH2 0x0124
00003c48: DUP7
00003c49: ADD
00003c4a: MSTORE
00003c4b: JUMP
00003c4c: JUMPDEST
00003c4d: PUSH2 0x0140
00003c50: PUSH2 0x0144
00003c53: DUP6
00003c54: ADD
00003c55: MSTORE
00003c56: PUSH2 0x0164
00003c59: DUP5
00003c5a: ADD
00003c5b: SWAP2
00003c5c: PUSH2 0x306c
00003c5f: JUMP
00003c60: JUMPDEST
00003c61: DUP3
00003c62: PUSH2 0x3f25
00003c65: JUMP
00003c66: JUMPDEST
00003c67: SWAP2
00003c68: PUSH1 0x60
00003c6a: DUP4
00003c6b: MLOAD
00003c6c: SUB
00003c6d: PUSH2 0x3d05
00003c70: JUMPI
00003c71: PUSH1 0x40
00003c73: ADD
00003c74: MLOAD
00003c75: PUSH3 0xffffff
00003c79: AND
00003c7a: PUSH3 0x800000
00003c7e: EQ
00003c7f: PUSH2 0x3cf9
00003c82: JUMPI
00003c83: JUMPDEST
00003c84: PUSH1 0x08
00003c86: AND
00003c87: PUSH2 0x3c94
00003c8a: JUMPI
00003c8b: JUMPDEST
00003c8c: DUP1
00003c8d: DUP1
00003c8e: DUP1
00003c8f: DUP1
00003c90: PUSH2 0x3b77
00003c93: JUMP
00003c94: JUMPDEST
00003c95: PUSH1 0x40
00003c97: ADD
00003c98: MLOAD
00003c99: SWAP3
00003c9a: POP
00003c9b: PUSH1 0x80
00003c9d: DUP4
00003c9e: SWAP1
00003c9f: SAR
00003ca0: PUSH1 0x0f
00003ca2: SIGNEXTEND
00003ca3: DUP1
00003ca4: ISZERO
00003ca5: PUSH2 0x3c8b
00003ca8: JUMPI
00003ca9: PUSH2 0x3cb5
00003cac: SWAP1
00003cad: PUSH0
00003cae: DUP7
00003caf: SLT
00003cb0: SWAP6
00003cb1: PUSH2 0x3b29
00003cb4: JUMP
00003cb5: JUMPDEST
00003cb6: SWAP4
00003cb7: ISZERO
00003cb8: PUSH2 0x3cf1
00003cbb: JUMPI
00003cbc: PUSH0
00003cbd: DUP5
00003cbe: SGT
00003cbf: JUMPDEST
00003cc0: PUSH2 0x3cc9
00003cc3: JUMPI
00003cc4: PUSH0
00003cc5: PUSH2 0x3c8b
00003cc8: JUMP
00003cc9: JUMPDEST
00003cca: PUSH32 0xfa0b71d600000000000000000000000000000000000000000000000000000000
00003ceb: PUSH0
00003cec: MSTORE
00003ced: PUSH1 0x04
00003cef: PUSH0
00003cf0: REVERT
00003cf1: JUMPDEST
00003cf2: PUSH0
00003cf3: DUP5
00003cf4: SLT
00003cf5: PUSH2 0x3cbf
00003cf8: JUMP
00003cf9: JUMPDEST
00003cfa: PUSH1 0x60
00003cfc: DUP3
00003cfd: ADD
00003cfe: MLOAD
00003cff: SWAP4
00003d00: POP
00003d01: PUSH2 0x3c83
00003d04: JUMP
00003d05: JUMPDEST
00003d06: PUSH32 0x1e048e1d00000000000000000000000000000000000000000000000000000000
00003d27: PUSH0
00003d28: MSTORE
00003d29: PUSH1 0x04
00003d2b: PUSH0
00003d2c: REVERT
00003d2d: JUMPDEST
00003d2e: POP
00003d2f: PUSH0
00003d30: SWAP7
00003d31: POP
00003d32: DUP7
00003d33: SWAP6
00003d34: POP
00003d35: POP
00003d36: POP
00003d37: POP
00003d38: POP
00003d39: JUMP
00003d3a: JUMPDEST
00003d3b: SWAP1
00003d3c: PUSH1 0x0f
00003d3e: SIGNEXTEND
00003d3f: SWAP1
00003d40: PUSH1 0x0f
00003d42: SIGNEXTEND
00003d43: ADD
00003d44: SWAP1
00003d45: PUSH32 0xffffffffffffffffffffffffffffffff80000000000000000000000000000000
00003d66: DUP3
00003d67: SLT
00003d68: PUSH16 0x7fffffffffffffffffffffffffffffff
00003d79: DUP4
00003d7a: SGT
00003d7b: OR
00003d7c: PUSH2 0x1d94
00003d7f: JUMPI
00003d80: JUMP
00003d81: JUMPDEST
00003d82: SWAP2
00003d83: SWAP7
00003d84: SWAP6
00003d85: SWAP4
00003d86: SWAP5
00003d87: SWAP3
00003d88: SWAP5
00003d89: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003d9e: DUP4
00003d9f: AND
00003da0: CALLER
00003da1: EQ
00003da2: PUSH2 0x3f18
00003da5: JUMPI
00003da6: DUP5
00003da7: PUSH1 0x80
00003da9: SAR
00003daa: SWAP5
00003dab: PUSH1 0x0f
00003dad: SIGNEXTEND
00003dae: SWAP4
00003daf: DUP9
00003db0: PUSH1 0x40
00003db2: DUP6
00003db3: AND
00003db4: PUSH2 0x3e40
00003db7: JUMPI
00003db8: JUMPDEST
00003db9: POP
00003dba: POP
00003dbb: POP
00003dbc: POP
00003dbd: POP
00003dbe: PUSH0
00003dbf: SWAP5
00003dc0: DUP2
00003dc1: PUSH1 0x0f
00003dc3: SIGNEXTEND
00003dc4: ISZERO
00003dc5: DUP1
00003dc6: ISZERO
00003dc7: SWAP1
00003dc8: PUSH2 0x3e34
00003dcb: JUMPI
00003dcc: JUMPDEST
00003dcd: PUSH2 0x3dd8
00003dd0: JUMPI
00003dd1: JUMPDEST
00003dd2: POP
00003dd3: POP
00003dd4: POP
00003dd5: SWAP2
00003dd6: SWAP1
00003dd7: JUMP
00003dd8: JUMPDEST
00003dd9: PUSH2 0x3e0f
00003ddc: SWAP4
00003ddd: SWAP6
00003dde: POP
00003ddf: PUSH0
00003de0: PUSH1 0x20
00003de2: DUP3
00003de3: ADD
00003de4: MLOAD
00003de5: SLT
00003de6: SWAP1
00003de7: MLOAD
00003de8: ISZERO
00003de9: ISZERO
00003dea: EQ
00003deb: PUSH0
00003dec: EQ
00003ded: PUSH2 0x3e17
00003df0: JUMPI
00003df1: PUSH16 0xffffffffffffffffffffffffffffffff
00003e02: AND
00003e03: SWAP1
00003e04: PUSH1 0x80
00003e06: SHL
00003e07: OR
00003e08: JUMPDEST
00003e09: DUP1
00003e0a: SWAP4
00003e0b: PUSH2 0x45bf
00003e0e: JUMP
00003e0f: JUMPDEST
00003e10: PUSH0
00003e11: DUP1
00003e12: DUP1
00003e13: PUSH2 0x3dd1
00003e16: JUMP
00003e17: JUMPDEST
00003e18: SWAP1
00003e19: PUSH16 0xffffffffffffffffffffffffffffffff
00003e2a: AND
00003e2b: SWAP1
00003e2c: PUSH1 0x80
00003e2e: SHL
00003e2f: OR
00003e30: PUSH2 0x3e08
00003e33: JUMP
00003e34: JUMPDEST
00003e35: POP
00003e36: DUP3
00003e37: PUSH1 0x0f
00003e39: SIGNEXTEND
00003e3a: ISZERO
00003e3b: ISZERO
00003e3c: PUSH2 0x3dcc
00003e3f: JUMP
00003e40: JUMPDEST
00003e41: PUSH2 0x3efc
00003e44: PUSH2 0x3f08
00003e47: SWAP5
00003e48: PUSH2 0x38ef
00003e4b: PUSH2 0x18ed
00003e4e: SWAP6
00003e4f: PUSH2 0x3f0e
00003e52: SWAP10
00003e53: SWAP9
00003e54: SWAP6
00003e55: PUSH2 0x3ee1
00003e58: PUSH2 0x3c16
00003e5b: SWAP7
00003e5c: PUSH1 0x40
00003e5e: MLOAD
00003e5f: SWAP8
00003e60: DUP9
00003e61: SWAP7
00003e62: PUSH32 0xb47b2fb100000000000000000000000000000000000000000000000000000000
00003e83: PUSH1 0x20
00003e85: DUP10
00003e86: ADD
00003e87: MSTORE
00003e88: CALLER
00003e89: PUSH1 0x24
00003e8b: DUP10
00003e8c: ADD
00003e8d: MSTORE
00003e8e: PUSH1 0x44
00003e90: DUP9
00003e91: ADD
00003e92: SWAP1
00003e93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003ea8: PUSH1 0x80
00003eaa: DUP1
00003eab: SWAP3
00003eac: DUP3
00003ead: DUP2
00003eae: MLOAD
00003eaf: AND
00003eb0: DUP6
00003eb1: MSTORE
00003eb2: DUP3
00003eb3: PUSH1 0x20
00003eb5: DUP3
00003eb6: ADD
00003eb7: MLOAD
00003eb8: AND
00003eb9: PUSH1 0x20
00003ebb: DUP7
00003ebc: ADD
00003ebd: MSTORE
00003ebe: PUSH3 0xffffff
00003ec2: PUSH1 0x40
00003ec4: DUP3
00003ec5: ADD
00003ec6: MLOAD
00003ec7: AND
00003ec8: PUSH1 0x40
00003eca: DUP7
00003ecb: ADD
00003ecc: MSTORE
00003ecd: PUSH1 0x60
00003ecf: DUP2
00003ed0: ADD
00003ed1: MLOAD
00003ed2: PUSH1 0x02
00003ed4: SIGNEXTEND
00003ed5: PUSH1 0x60
00003ed7: DUP7
00003ed8: ADD
00003ed9: MSTORE
00003eda: ADD
00003edb: MLOAD
00003edc: AND
00003edd: SWAP2
00003ede: ADD
00003edf: MSTORE
00003ee0: JUMP
00003ee1: JUMPDEST
00003ee2: DUP13
00003ee3: PUSH2 0x0144
00003ee6: DUP6
00003ee7: ADD
00003ee8: MSTORE
00003ee9: PUSH2 0x0160
00003eec: PUSH2 0x0164
00003eef: DUP6
00003ef0: ADD
00003ef1: MSTORE
00003ef2: PUSH2 0x0184
00003ef5: DUP5
00003ef6: ADD
00003ef7: SWAP2
00003ef8: PUSH2 0x306c
00003efb: JUMP
00003efc: JUMPDEST
00003efd: PUSH1 0x04
00003eff: DUP3
00003f00: AND
00003f01: ISZERO
00003f02: ISZERO
00003f03: SWAP2
00003f04: PUSH2 0x459f
00003f07: JUMP
00003f08: JUMPDEST
00003f09: SWAP1
00003f0a: PUSH2 0x3d3a
00003f0d: JUMP
00003f0e: JUMPDEST
00003f0f: PUSH0
00003f10: DUP1
00003f11: DUP1
00003f12: DUP1
00003f13: DUP9
00003f14: PUSH2 0x3db8
00003f17: JUMP
00003f18: JUMPDEST
00003f19: POP
00003f1a: POP
00003f1b: POP
00003f1c: POP
00003f1d: POP
00003f1e: SWAP1
00003f1f: SWAP2
00003f20: POP
00003f21: SWAP1
00003f22: PUSH0
00003f23: SWAP1
00003f24: JUMP
00003f25: JUMPDEST
00003f26: SWAP2
00003f27: SWAP1
00003f28: SWAP2
00003f29: DUP3
00003f2a: MLOAD
00003f2b: SWAP3
00003f2c: PUSH0
00003f2d: DUP1
00003f2e: PUSH1 0x20
00003f30: DUP4
00003f31: ADD
00003f32: SWAP6
00003f33: DUP7
00003f34: DUP3
00003f35: DUP7
00003f36: GAS
00003f37: CALL
00003f38: ISZERO
00003f39: PUSH2 0x3fc3
00003f3c: JUMPI
00003f3d: POP
00003f3e: POP
00003f3f: PUSH1 0x40
00003f41: MLOAD
00003f42: SWAP2
00003f43: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00003f64: PUSH1 0x3f
00003f66: RETURNDATASIZE
00003f67: ADD
00003f68: AND
00003f69: DUP4
00003f6a: ADD
00003f6b: PUSH1 0x40
00003f6d: MSTORE
00003f6e: RETURNDATASIZE
00003f6f: DUP4
00003f70: MSTORE
00003f71: RETURNDATASIZE
00003f72: SWAP1
00003f73: PUSH1 0x20
00003f75: DUP5
00003f76: ADD
00003f77: SWAP2
00003f78: PUSH0
00003f79: DUP4
00003f7a: RETURNDATACOPY
00003f7b: PUSH1 0x20
00003f7d: DUP5
00003f7e: MLOAD
00003f7f: LT
00003f80: SWAP2
00003f81: DUP3
00003f82: ISZERO
00003f83: PUSH2 0x3f8f
00003f86: JUMPI
00003f87: JUMPDEST
00003f88: POP
00003f89: POP
00003f8a: PUSH2 0x3d05
00003f8d: JUMPI
00003f8e: JUMP
00003f8f: JUMPDEST
00003f90: MLOAD
00003f91: SWAP1
00003f92: MLOAD
00003f93: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00003fb4: SWAP2
00003fb5: DUP3
00003fb6: AND
00003fb7: SWAP2
00003fb8: AND
00003fb9: EQ
00003fba: ISZERO
00003fbb: SWAP1
00003fbc: POP
00003fbd: PUSH0
00003fbe: DUP1
00003fbf: PUSH2 0x3f87
00003fc2: JUMP
00003fc3: JUMPDEST
00003fc4: MLOAD
00003fc5: DUP4
00003fc6: MLOAD
00003fc7: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00003fe8: DUP2
00003fe9: AND
00003fea: SWAP2
00003feb: PUSH1 0x04
00003fed: DUP2
00003fee: LT
00003fef: PUSH2 0x40d7
00003ff2: JUMPI
00003ff3: JUMPDEST
00003ff4: POP
00003ff5: POP
00003ff6: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00004017: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00004038: PUSH1 0x1f
0000403a: RETURNDATASIZE
0000403b: ADD
0000403c: AND
0000403d: SWAP2
0000403e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004053: PUSH1 0x40
00004055: MLOAD
00004056: SWAP5
00004057: PUSH32 0x90bfb86500000000000000000000000000000000000000000000000000000000
00004078: DUP7
00004079: MSTORE
0000407a: AND
0000407b: PUSH1 0x04
0000407d: DUP6
0000407e: ADD
0000407f: MSTORE
00004080: AND
00004081: PUSH1 0x24
00004083: DUP4
00004084: ADD
00004085: MSTORE
00004086: PUSH1 0x80
00004088: PUSH1 0x44
0000408a: DUP4
0000408b: ADD
0000408c: MSTORE
0000408d: DUP1
0000408e: PUSH1 0xa0
00004090: ADD
00004091: PUSH1 0x64
00004093: DUP4
00004094: ADD
00004095: MSTORE
00004096: RETURNDATASIZE
00004097: PUSH1 0x84
00004099: DUP4
0000409a: ADD
0000409b: MSTORE
0000409c: RETURNDATASIZE
0000409d: PUSH0
0000409e: PUSH1 0xa4
000040a0: DUP5
000040a1: ADD
000040a2: RETURNDATACOPY
000040a3: PUSH32 0xa9e35b2f00000000000000000000000000000000000000000000000000000000
000040c4: PUSH1 0xc4
000040c6: DUP3
000040c7: DUP5
000040c8: ADD
000040c9: PUSH1 0x04
000040cb: PUSH1 0xa4
000040cd: DUP3
000040ce: ADD
000040cf: MSTORE
000040d0: ADD
000040d1: MSTORE
000040d2: PUSH1 0xe4
000040d4: ADD
000040d5: SWAP1
000040d6: REVERT
000040d7: JUMPDEST
000040d8: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
000040f9: SWAP3
000040fa: POP
000040fb: DUP3
000040fc: SWAP1
000040fd: PUSH1 0x04
000040ff: SUB
00004100: PUSH1 0x03
00004102: SHL
00004103: SHL
00004104: AND
00004105: AND
00004106: DUP3
00004107: DUP1
00004108: PUSH2 0x3ff3
0000410b: JUMP
0000410c: JUMPDEST
0000410d: SWAP2
0000410e: SWAP1
0000410f: PUSH1 0x02
00004111: SIGNEXTEND
00004112: SWAP1
00004113: PUSH1 0x02
00004115: SIGNEXTEND
00004116: SWAP1
00004117: DUP2
00004118: DUP2
00004119: SMOD
0000411a: PUSH2 0x413a
0000411d: JUMPI
0000411e: SDIV
0000411f: SWAP1
00004120: DUP2
00004121: PUSH1 0x08
00004123: SAR
00004124: PUSH0
00004125: MSTORE
00004126: PUSH1 0x20
00004128: MSTORE
00004129: PUSH1 0x01
0000412b: PUSH1 0xff
0000412d: PUSH1 0x40
0000412f: PUSH0
00004130: KECCAK256
00004131: SWAP3
00004132: AND
00004133: SHL
00004134: DUP2
00004135: SLOAD
00004136: XOR
00004137: SWAP1
00004138: SSTORE
00004139: JUMP
0000413a: JUMPDEST
0000413b: PUSH1 0x1c
0000413d: SWAP1
0000413e: PUSH1 0x44
00004140: SWAP3
00004141: PUSH1 0x40
00004143: MLOAD
00004144: SWAP2
00004145: PUSH4 0xd4d8f3e6
0000414a: DUP4
0000414b: MSTORE
0000414c: PUSH1 0x20
0000414e: DUP4
0000414f: ADD
00004150: MSTORE
00004151: PUSH1 0x40
00004153: DUP3
00004154: ADD
00004155: MSTORE
00004156: ADD
00004157: REVERT
00004158: JUMPDEST
00004159: PUSH1 0x02
0000415b: SIGNEXTEND
0000415c: SWAP1
0000415d: DUP2
0000415e: PUSH1 0xff
00004160: SAR
00004161: DUP3
00004162: DUP2
00004163: ADD
00004164: XOR
00004165: PUSH3 0x0d89e8
00004169: DUP2
0000416a: GT
0000416b: PUSH2 0x449e
0000416e: JUMPI
0000416f: PUSH4 0xffffffff
00004174: SWAP2
00004175: SWAP3
00004176: PUSH1 0x01
00004178: DUP3
00004179: AND
0000417a: PUSH17 0x01fffcb933bd6fad37aa2d162d1a594001
0000418c: MUL
0000418d: PUSH17 0x0100000000000000000000000000000000
0000419f: XOR
000041a0: SWAP2
000041a1: PUSH1 0x02
000041a3: DUP2
000041a4: AND
000041a5: PUSH2 0x4482
000041a8: JUMPI
000041a9: JUMPDEST
000041aa: PUSH1 0x04
000041ac: DUP2
000041ad: AND
000041ae: PUSH2 0x4466
000041b1: JUMPI
000041b2: JUMPDEST
000041b3: PUSH1 0x08
000041b5: DUP2
000041b6: AND
000041b7: PUSH2 0x444a
000041ba: JUMPI
000041bb: JUMPDEST
000041bc: PUSH1 0x10
000041be: DUP2
000041bf: AND
000041c0: PUSH2 0x442e
000041c3: JUMPI
000041c4: JUMPDEST
000041c5: PUSH1 0x20
000041c7: DUP2
000041c8: AND
000041c9: PUSH2 0x4412
000041cc: JUMPI
000041cd: JUMPDEST
000041ce: PUSH1 0x40
000041d0: DUP2
000041d1: AND
000041d2: PUSH2 0x43f6
000041d5: JUMPI
000041d6: JUMPDEST
000041d7: PUSH1 0x80
000041d9: DUP2
000041da: AND
000041db: PUSH2 0x43da
000041de: JUMPI
000041df: JUMPDEST
000041e0: PUSH2 0x0100
000041e3: DUP2
000041e4: AND
000041e5: PUSH2 0x43be
000041e8: JUMPI
000041e9: JUMPDEST
000041ea: PUSH2 0x0200
000041ed: DUP2
000041ee: AND
000041ef: PUSH2 0x43a2
000041f2: JUMPI
000041f3: JUMPDEST
000041f4: PUSH2 0x0400
000041f7: DUP2
000041f8: AND
000041f9: PUSH2 0x4386
000041fc: JUMPI
000041fd: JUMPDEST
000041fe: PUSH2 0x0800
00004201: DUP2
00004202: AND
00004203: PUSH2 0x436a
00004206: JUMPI
00004207: JUMPDEST
00004208: PUSH2 0x1000
0000420b: DUP2
0000420c: AND
0000420d: PUSH2 0x434e
00004210: JUMPI
00004211: JUMPDEST
00004212: PUSH2 0x2000
00004215: DUP2
00004216: AND
00004217: PUSH2 0x4332
0000421a: JUMPI
0000421b: JUMPDEST
0000421c: PUSH2 0x4000
0000421f: DUP2
00004220: AND
00004221: PUSH2 0x4316
00004224: JUMPI
00004225: JUMPDEST
00004226: PUSH2 0x8000
00004229: DUP2
0000422a: AND
0000422b: PUSH2 0x42fa
0000422e: JUMPI
0000422f: JUMPDEST
00004230: PUSH3 0x010000
00004234: DUP2
00004235: AND
00004236: PUSH2 0x42de
00004239: JUMPI
0000423a: JUMPDEST
0000423b: PUSH3 0x020000
0000423f: DUP2
00004240: AND
00004241: PUSH2 0x42c3
00004244: JUMPI
00004245: JUMPDEST
00004246: PUSH3 0x040000
0000424a: DUP2
0000424b: AND
0000424c: PUSH2 0x42a8
0000424f: JUMPI
00004250: JUMPDEST
00004251: PUSH3 0x080000
00004255: AND
00004256: PUSH2 0x428f
00004259: JUMPI
0000425a: JUMPDEST
0000425b: PUSH0
0000425c: SLT
0000425d: PUSH2 0x4268
00004260: JUMPI
00004261: JUMPDEST
00004262: ADD
00004263: PUSH1 0x20
00004265: SHR
00004266: SWAP1
00004267: JUMP
00004268: JUMPDEST
00004269: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000428a: DIV
0000428b: PUSH2 0x4261
0000428e: JUMP
0000428f: JUMPDEST
00004290: PUSH12 0x048a170391f7dc42444e8fa2
0000429d: SWAP1
0000429e: SWAP2
0000429f: MUL
000042a0: PUSH1 0x80
000042a2: SHR
000042a3: SWAP1
000042a4: PUSH2 0x425a
000042a7: JUMP
000042a8: JUMPDEST
000042a9: PUSH14 0x2216e584f5fa1ea926041bedfe98
000042b8: SWAP1
000042b9: SWAP3
000042ba: MUL
000042bb: PUSH1 0x80
000042bd: SHR
000042be: SWAP2
000042bf: PUSH2 0x4250
000042c2: JUMP
000042c3: JUMPDEST
000042c4: SWAP2
000042c5: PUSH15 0x5d6af8dedb81196699c329225ee604
000042d5: MUL
000042d6: PUSH1 0x80
000042d8: SHR
000042d9: SWAP2
000042da: PUSH2 0x4245
000042dd: JUMP
000042de: JUMPDEST
000042df: SWAP2
000042e0: PUSH16 0x09aa508b5b7a84e1c677de54f3e99bc9
000042f1: MUL
000042f2: PUSH1 0x80
000042f4: SHR
000042f5: SWAP2
000042f6: PUSH2 0x423a
000042f9: JUMP
000042fa: JUMPDEST
000042fb: SWAP2
000042fc: PUSH16 0x31be135f97d08fd981231505542fcfa6
0000430d: MUL
0000430e: PUSH1 0x80
00004310: SHR
00004311: SWAP2
00004312: PUSH2 0x422f
00004315: JUMP
00004316: JUMPDEST
00004317: SWAP2
00004318: PUSH16 0x70d869a156d2a1b890bb3df62baf32f7
00004329: MUL
0000432a: PUSH1 0x80
0000432c: SHR
0000432d: SWAP2
0000432e: PUSH2 0x4225
00004331: JUMP
00004332: JUMPDEST
00004333: SWAP2
00004334: PUSH16 0xa9f746462d870fdf8a65dc1f90e061e5
00004345: MUL
00004346: PUSH1 0x80
00004348: SHR
00004349: SWAP2
0000434a: PUSH2 0x421b
0000434d: JUMP
0000434e: JUMPDEST
0000434f: SWAP2
00004350: PUSH16 0xd097f3bdfd2022b8845ad8f792aa5825
00004361: MUL
00004362: PUSH1 0x80
00004364: SHR
00004365: SWAP2
00004366: PUSH2 0x4211
00004369: JUMP
0000436a: JUMPDEST
0000436b: SWAP2
0000436c: PUSH16 0xe7159475a2c29b7443b29c7fa6e889d9
0000437d: MUL
0000437e: PUSH1 0x80
00004380: SHR
00004381: SWAP2
00004382: PUSH2 0x4207
00004385: JUMP
00004386: JUMPDEST
00004387: SWAP2
00004388: PUSH16 0xf3392b0822b70005940c7a398e4b70f3
00004399: MUL
0000439a: PUSH1 0x80
0000439c: SHR
0000439d: SWAP2
0000439e: PUSH2 0x41fd
000043a1: JUMP
000043a2: JUMPDEST
000043a3: SWAP2
000043a4: PUSH16 0xf987a7253ac413176f2b074cf7815e54
000043b5: MUL
000043b6: PUSH1 0x80
000043b8: SHR
000043b9: SWAP2
000043ba: PUSH2 0x41f3
000043bd: JUMP
000043be: JUMPDEST
000043bf: SWAP2
000043c0: PUSH16 0xfcbe86c7900a88aedcffc83b479aa3a4
000043d1: MUL
000043d2: PUSH1 0x80
000043d4: SHR
000043d5: SWAP2
000043d6: PUSH2 0x41e9
000043d9: JUMP
000043da: JUMPDEST
000043db: SWAP2
000043dc: PUSH16 0xfe5dee046a99a2a811c461f1969c3053
000043ed: MUL
000043ee: PUSH1 0x80
000043f0: SHR
000043f1: SWAP2
000043f2: PUSH2 0x41df
000043f5: JUMP
000043f6: JUMPDEST
000043f7: SWAP2
000043f8: PUSH16 0xff2ea16466c96a3843ec78b326b52861
00004409: MUL
0000440a: PUSH1 0x80
0000440c: SHR
0000440d: SWAP2
0000440e: PUSH2 0x41d6
00004411: JUMP
00004412: JUMPDEST
00004413: SWAP2
00004414: PUSH16 0xff973b41fa98c081472e6896dfb254c0
00004425: MUL
00004426: PUSH1 0x80
00004428: SHR
00004429: SWAP2
0000442a: PUSH2 0x41cd
0000442d: JUMP
0000442e: JUMPDEST
0000442f: SWAP2
00004430: PUSH16 0xffcb9843d60f6159c9db58835c926644
00004441: MUL
00004442: PUSH1 0x80
00004444: SHR
00004445: SWAP2
00004446: PUSH2 0x41c4
00004449: JUMP
0000444a: JUMPDEST
0000444b: SWAP2
0000444c: PUSH16 0xffe5caca7e10e4e61c3624eaa0941cd0
0000445d: MUL
0000445e: PUSH1 0x80
00004460: SHR
00004461: SWAP2
00004462: PUSH2 0x41bb
00004465: JUMP
00004466: JUMPDEST
00004467: SWAP2
00004468: PUSH16 0xfff2e50f5f656932ef12357cf3c7fdcc
00004479: MUL
0000447a: PUSH1 0x80
0000447c: SHR
0000447d: SWAP2
0000447e: PUSH2 0x41b2
00004481: JUMP
00004482: JUMPDEST
00004483: SWAP2
00004484: PUSH16 0xfff97272373d413259a46990580e213a
00004495: MUL
00004496: PUSH1 0x80
00004498: SHR
00004499: SWAP2
0000449a: PUSH2 0x41a9
0000449d: JUMP
0000449e: JUMPDEST
0000449f: DUP3
000044a0: PUSH32 0x8b86327a00000000000000000000000000000000000000000000000000000000
000044c1: PUSH0
000044c2: MSTORE
000044c3: PUSH1 0x04
000044c5: MSTORE
000044c6: PUSH1 0x24
000044c8: PUSH0
000044c9: REVERT
000044ca: JUMPDEST
000044cb: SWAP1
000044cc: PUSH0
000044cd: DUP4
000044ce: PUSH1 0x0f
000044d0: SIGNEXTEND
000044d1: SLT
000044d2: PUSH0
000044d3: EQ
000044d4: PUSH2 0x44ff
000044d7: JUMPI
000044d8: PUSH2 0x44f5
000044db: SWAP3
000044dc: PUSH0
000044dd: SUB
000044de: PUSH16 0xffffffffffffffffffffffffffffffff
000044ef: AND
000044f0: SWAP2
000044f1: PUSH2 0x5a3d
000044f4: JUMP
000044f5: JUMPDEST
000044f6: PUSH0
000044f7: DUP2
000044f8: SLT
000044f9: PUSH2 0x30c8
000044fc: JUMPI
000044fd: SWAP1
000044fe: JUMP
000044ff: JUMPDEST
00004500: PUSH2 0x451b
00004503: SWAP3
00004504: PUSH16 0xffffffffffffffffffffffffffffffff
00004515: AND
00004516: SWAP2
00004517: PUSH2 0x59e2
0000451a: JUMP
0000451b: JUMPDEST
0000451c: PUSH0
0000451d: DUP2
0000451e: SLT
0000451f: PUSH2 0x30c8
00004522: JUMPI
00004523: PUSH0
00004524: SUB
00004525: SWAP1
00004526: JUMP
00004527: JUMPDEST
00004528: SWAP1
00004529: PUSH0
0000452a: DUP4
0000452b: PUSH1 0x0f
0000452d: SIGNEXTEND
0000452e: SLT
0000452f: PUSH0
00004530: EQ
00004531: PUSH2 0x4552
00004534: JUMPI
00004535: PUSH2 0x44f5
00004538: SWAP3
00004539: PUSH0
0000453a: SUB
0000453b: PUSH16 0xffffffffffffffffffffffffffffffff
0000454c: AND
0000454d: SWAP2
0000454e: PUSH2 0x5b34
00004551: JUMP
00004552: JUMPDEST
00004553: PUSH2 0x451b
00004556: SWAP3
00004557: PUSH16 0xffffffffffffffffffffffffffffffff
00004568: AND
00004569: SWAP2
0000456a: PUSH2 0x5a7d
0000456d: JUMP
0000456e: JUMPDEST
0000456f: SWAP1
00004570: PUSH16 0xffffffffffffffffffffffffffffffff
00004581: SWAP1
00004582: PUSH1 0x0f
00004584: SIGNEXTEND
00004585: SWAP2
00004586: AND
00004587: ADD
00004588: SWAP1
00004589: DUP2
0000458a: PUSH1 0x80
0000458c: SHR
0000458d: PUSH2 0x4592
00004590: JUMPI
00004591: JUMP
00004592: JUMPDEST
00004593: PUSH4 0x93dafdf1
00004598: PUSH0
00004599: MSTORE
0000459a: PUSH1 0x04
0000459c: PUSH1 0x1c
0000459e: REVERT
0000459f: JUMPDEST
000045a0: SWAP1
000045a1: PUSH2 0x45a9
000045a4: SWAP2
000045a5: PUSH2 0x3f25
000045a8: JUMP
000045a9: JUMPDEST
000045aa: SWAP1
000045ab: ISZERO
000045ac: PUSH2 0x3a8d
000045af: JUMPI
000045b0: PUSH1 0x40
000045b2: DUP2
000045b3: MLOAD
000045b4: SUB
000045b5: PUSH2 0x3d05
000045b8: JUMPI
000045b9: PUSH1 0x40
000045bb: ADD
000045bc: MLOAD
000045bd: SWAP1
000045be: JUMP
000045bf: JUMPDEST
000045c0: PUSH2 0x45e2
000045c3: SWAP1
000045c4: PUSH2 0x45d4
000045c7: DUP4
000045c8: PUSH1 0x80
000045ca: SAR
000045cb: DUP3
000045cc: PUSH1 0x80
000045ce: SAR
000045cf: SUB
000045d0: PUSH2 0x3785
000045d3: JUMP
000045d4: JUMPDEST
000045d5: SWAP3
000045d6: PUSH1 0x0f
000045d8: SIGNEXTEND
000045d9: SWAP1
000045da: PUSH1 0x0f
000045dc: SIGNEXTEND
000045dd: SUB
000045de: PUSH2 0x3785
000045e1: JUMP
000045e2: JUMPDEST
000045e3: PUSH16 0xffffffffffffffffffffffffffffffff
000045f4: AND
000045f5: SWAP1
000045f6: PUSH1 0x80
000045f8: SHL
000045f9: OR
000045fa: SWAP1
000045fb: JUMP
000045fc: JUMPDEST
000045fd: PUSH20 0xfffd8963efd1fc6a506488495d951d5163961682
00004612: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004627: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffd895d
00004648: DUP4
00004649: ADD
0000464a: AND
0000464b: GT
0000464c: PUSH2 0x48e0
0000464f: JUMPI
00004650: PUSH24 0xffffffffffffffffffffffffffffffffffffffff00000000
00004669: DUP2
0000466a: PUSH1 0x20
0000466c: SHL
0000466d: AND
0000466e: DUP1
0000466f: PUSH1 0xff
00004671: PUSH2 0x4679
00004674: DUP4
00004675: PUSH2 0x5bdb
00004678: JUMP
00004679: JUMPDEST
0000467a: AND
0000467b: SWAP2
0000467c: PUSH1 0x80
0000467e: DUP4
0000467f: LT
00004680: PUSH2 0x48d4
00004683: JUMPI
00004684: POP
00004685: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81
000046a6: DUP3
000046a7: ADD
000046a8: SHR
000046a9: JUMPDEST
000046aa: DUP1
000046ab: MUL
000046ac: DUP1
000046ad: PUSH1 0x7f
000046af: SHR
000046b0: DUP2
000046b1: PUSH1 0xff
000046b3: SHR
000046b4: SHR
000046b5: DUP1
000046b6: MUL
000046b7: DUP1
000046b8: PUSH1 0x7f
000046ba: SHR
000046bb: DUP2
000046bc: PUSH1 0xff
000046be: SHR
000046bf: SHR
000046c0: DUP1
000046c1: MUL
000046c2: DUP1
000046c3: PUSH1 0x7f
000046c5: SHR
000046c6: DUP2
000046c7: PUSH1 0xff
000046c9: SHR
000046ca: SHR
000046cb: DUP1
000046cc: MUL
000046cd: DUP1
000046ce: PUSH1 0x7f
000046d0: SHR
000046d1: DUP2
000046d2: PUSH1 0xff
000046d4: SHR
000046d5: SHR
000046d6: DUP1
000046d7: MUL
000046d8: DUP1
000046d9: PUSH1 0x7f
000046db: SHR
000046dc: DUP2
000046dd: PUSH1 0xff
000046df: SHR
000046e0: SHR
000046e1: DUP1
000046e2: MUL
000046e3: DUP1
000046e4: PUSH1 0x7f
000046e6: SHR
000046e7: DUP2
000046e8: PUSH1 0xff
000046ea: SHR
000046eb: SHR
000046ec: DUP1
000046ed: MUL
000046ee: SWAP1
000046ef: DUP2
000046f0: PUSH1 0x7f
000046f2: SHR
000046f3: DUP3
000046f4: PUSH1 0xff
000046f6: SHR
000046f7: SHR
000046f8: DUP1
000046f9: MUL
000046fa: SWAP3
000046fb: DUP4
000046fc: PUSH1 0x7f
000046fe: SHR
000046ff: DUP5
00004700: PUSH1 0xff
00004702: SHR
00004703: SHR
00004704: DUP1
00004705: MUL
00004706: SWAP5
00004707: DUP6
00004708: PUSH1 0x7f
0000470a: SHR
0000470b: DUP7
0000470c: PUSH1 0xff
0000470e: SHR
0000470f: SHR
00004710: DUP1
00004711: MUL
00004712: SWAP7
00004713: DUP8
00004714: PUSH1 0x7f
00004716: SHR
00004717: DUP9
00004718: PUSH1 0xff
0000471a: SHR
0000471b: SHR
0000471c: DUP1
0000471d: MUL
0000471e: SWAP9
0000471f: DUP10
00004720: PUSH1 0x7f
00004722: SHR
00004723: DUP11
00004724: PUSH1 0xff
00004726: SHR
00004727: SHR
00004728: DUP1
00004729: MUL
0000472a: SWAP11
0000472b: DUP12
0000472c: PUSH1 0x7f
0000472e: SHR
0000472f: DUP13
00004730: PUSH1 0xff
00004732: SHR
00004733: SHR
00004734: DUP1
00004735: MUL
00004736: SWAP13
00004737: DUP14
00004738: DUP1
00004739: PUSH1 0x7f
0000473b: SHR
0000473c: SWAP1
0000473d: PUSH1 0xff
0000473f: SHR
00004740: SHR
00004741: DUP1
00004742: MUL
00004743: PUSH1 0xcd
00004745: SHR
00004746: PUSH7 0x04000000000000
0000474e: AND
0000474f: SWAP14
00004750: PUSH1 0xcc
00004752: SHR
00004753: PUSH7 0x08000000000000
0000475b: AND
0000475c: SWAP13
0000475d: PUSH1 0xcb
0000475f: SHR
00004760: PUSH7 0x10000000000000
00004768: AND
00004769: SWAP12
0000476a: PUSH1 0xca
0000476c: SHR
0000476d: PUSH7 0x20000000000000
00004775: AND
00004776: SWAP11
00004777: PUSH1 0xc9
00004779: SHR
0000477a: PUSH7 0x40000000000000
00004782: AND
00004783: SWAP10
00004784: PUSH1 0xc8
00004786: SHR
00004787: PUSH7 0x80000000000000
0000478f: AND
00004790: SWAP9
00004791: PUSH1 0xc7
00004793: SHR
00004794: PUSH8 0x0100000000000000
0000479d: AND
0000479e: SWAP8
0000479f: PUSH1 0xc6
000047a1: SHR
000047a2: PUSH8 0x0200000000000000
000047ab: AND
000047ac: SWAP7
000047ad: PUSH1 0xc5
000047af: SHR
000047b0: PUSH8 0x0400000000000000
000047b9: AND
000047ba: SWAP6
000047bb: PUSH1 0xc4
000047bd: SHR
000047be: PUSH8 0x0800000000000000
000047c7: AND
000047c8: SWAP5
000047c9: PUSH1 0xc3
000047cb: SHR
000047cc: PUSH8 0x1000000000000000
000047d5: AND
000047d6: SWAP4
000047d7: PUSH1 0xc2
000047d9: SHR
000047da: PUSH8 0x2000000000000000
000047e3: AND
000047e4: SWAP3
000047e5: PUSH1 0xc1
000047e7: SHR
000047e8: PUSH8 0x4000000000000000
000047f1: AND
000047f2: SWAP2
000047f3: PUSH1 0xc0
000047f5: SHR
000047f6: PUSH8 0x8000000000000000
000047ff: AND
00004800: SWAP1
00004801: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80
00004822: ADD
00004823: PUSH1 0x40
00004825: SHL
00004826: OR
00004827: OR
00004828: OR
00004829: OR
0000482a: OR
0000482b: OR
0000482c: OR
0000482d: OR
0000482e: OR
0000482f: OR
00004830: OR
00004831: OR
00004832: OR
00004833: OR
00004834: PUSH10 0x3627a301d71055774c85
0000483f: MUL
00004840: PUSH32 0xfffffffffffffffffffffffffffffffffd709b7e5480fba5a50fed5e62ffc556
00004861: DUP2
00004862: ADD
00004863: PUSH1 0x80
00004865: SAR
00004866: PUSH1 0x02
00004868: SIGNEXTEND
00004869: SWAP1
0000486a: PUSH16 0xdb2df09e81959a81455e260799a0632f
0000487b: ADD
0000487c: PUSH1 0x80
0000487e: SAR
0000487f: PUSH1 0x02
00004881: SIGNEXTEND
00004882: SWAP2
00004883: DUP3
00004884: DUP3
00004885: EQ
00004886: PUSH0
00004887: EQ
00004888: PUSH2 0x4891
0000488b: JUMPI
0000488c: POP
0000488d: SWAP1
0000488e: POP
0000488f: SWAP1
00004890: JUMP
00004891: JUMPDEST
00004892: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000048a7: AND
000048a8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000048bd: PUSH2 0x48c5
000048c0: DUP5
000048c1: PUSH2 0x4158
000048c4: JUMP
000048c5: JUMPDEST
000048c6: AND
000048c7: GT
000048c8: PUSH2 0x48cf
000048cb: JUMPI
000048cc: POP
000048cd: SWAP1
000048ce: JUMP
000048cf: JUMPDEST
000048d0: SWAP1
000048d1: POP
000048d2: SWAP1
000048d3: JUMP
000048d4: JUMPDEST
000048d5: SWAP1
000048d6: POP
000048d7: DUP2
000048d8: PUSH1 0x7f
000048da: SUB
000048db: SHL
000048dc: PUSH2 0x46a9
000048df: JUMP
000048e0: JUMPDEST
000048e1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000048f6: SWAP1
000048f7: PUSH32 0x6148752400000000000000000000000000000000000000000000000000000000
00004918: PUSH0
00004919: MSTORE
0000491a: AND
0000491b: PUSH1 0x04
0000491d: MSTORE
0000491e: PUSH1 0x24
00004920: PUSH0
00004921: REVERT
00004922: JUMPDEST
00004923: DUP2
00004924: ISZERO
00004925: PUSH2 0x492c
00004928: JUMPI
00004929: DIV
0000492a: SWAP1
0000492b: JUMP
0000492c: JUMPDEST
0000492d: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
0000494e: PUSH0
0000494f: MSTORE
00004950: PUSH1 0x12
00004952: PUSH1 0x04
00004954: MSTORE
00004955: PUSH1 0x24
00004957: PUSH0
00004958: REVERT
00004959: JUMPDEST
0000495a: PUSH1 0x40
0000495c: MLOAD
0000495d: SWAP3
0000495e: SWAP1
0000495f: SWAP2
00004960: PUSH0
00004961: PUSH2 0x4969
00004964: DUP6
00004965: PUSH2 0x2df6
00004968: JUMP
00004969: JUMPDEST
0000496a: PUSH0
0000496b: DUP6
0000496c: MSTORE
0000496d: PUSH1 0x20
0000496f: DUP6
00004970: ADD
00004971: SWAP3
00004972: PUSH0
00004973: DUP5
00004974: MSTORE
00004975: PUSH1 0x40
00004977: DUP7
00004978: ADD
00004979: SWAP6
0000497a: PUSH0
0000497b: DUP8
0000497c: MSTORE
0000497d: DUP1
0000497e: SWAP7
0000497f: DUP7
00004980: SLOAD
00004981: SWAP6
00004982: PUSH1 0x40
00004984: DUP7
00004985: ADD
00004986: MLOAD
00004987: ISZERO
00004988: SWAP6
00004989: DUP7
0000498a: ISZERO
0000498b: PUSH0
0000498c: EQ
0000498d: PUSH2 0x56f5
00004990: JUMPI
00004991: PUSH2 0x0fff
00004994: DUP9
00004995: PUSH1 0xb8
00004997: SHR
00004998: AND
00004999: SWAP5
0000499a: JUMPDEST
0000499b: DUP2
0000499c: MLOAD
0000499d: SWAP3
0000499e: PUSH0
0000499f: SWAP5
000049a0: DUP11
000049a1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000049b6: AND
000049b7: SWAP2
000049b8: DUP3
000049b9: DUP9
000049ba: MSTORE
000049bb: DUP12
000049bc: PUSH1 0xa0
000049be: SHR
000049bf: PUSH1 0x02
000049c1: SIGNEXTEND
000049c2: SWAP1
000049c3: MSTORE
000049c4: PUSH16 0xffffffffffffffffffffffffffffffff
000049d5: PUSH1 0x03
000049d7: DUP14
000049d8: ADD
000049d9: SLOAD
000049da: AND
000049db: SWAP1
000049dc: MSTORE
000049dd: PUSH1 0x80
000049df: DUP4
000049e0: ADD
000049e1: MLOAD
000049e2: PUSH3 0x400000
000049e6: DUP2
000049e7: AND
000049e8: ISZERO
000049e9: ISZERO
000049ea: PUSH0
000049eb: EQ
000049ec: PUSH2 0x56e6
000049ef: JUMPI
000049f0: PUSH3 0xbfffff
000049f4: AND
000049f5: PUSH2 0x49fd
000049f8: DUP2
000049f9: PUSH2 0x368e
000049fc: JUMP
000049fd: JUMPDEST
000049fe: PUSH2 0xffff
00004a01: DUP9
00004a02: AND
00004a03: PUSH2 0x56cb
00004a06: JUMPI
00004a07: JUMPDEST
00004a08: DUP1
00004a09: SWAP7
00004a0a: PUSH3 0x0f4240
00004a0e: PUSH3 0xffffff
00004a12: DUP4
00004a13: AND
00004a14: LT
00004a15: ISZERO
00004a16: PUSH2 0x569a
00004a19: JUMPI
00004a1a: JUMPDEST
00004a1b: DUP5
00004a1c: MLOAD
00004a1d: ISZERO
00004a1e: PUSH2 0x5684
00004a21: JUMPI
00004a22: POP
00004a23: POP
00004a24: DUP9
00004a25: PUSH2 0x5624
00004a28: JUMPI
00004a29: PUSH1 0x60
00004a2b: DUP4
00004a2c: ADD
00004a2d: SWAP1
00004a2e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004a43: DUP3
00004a44: MLOAD
00004a45: AND
00004a46: DUP2
00004a47: DUP2
00004a48: LT
00004a49: ISZERO
00004a4a: PUSH2 0x55ed
00004a4d: JUMPI
00004a4e: POP
00004a4f: POP
00004a50: MLOAD
00004a51: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004a66: AND
00004a67: PUSH5 0x01000276a3
00004a6d: DUP2
00004a6e: GT
00004a6f: ISZERO
00004a70: PUSH2 0x55c2
00004a73: JUMPI
00004a74: POP
00004a75: JUMPDEST
00004a76: PUSH1 0x40
00004a78: MLOAD
00004a79: SWAP9
00004a7a: PUSH2 0x0100
00004a7d: DUP11
00004a7e: ADD
00004a7f: DUP11
00004a80: DUP2
00004a81: LT
00004a82: PUSH8 0xffffffffffffffff
00004a8b: DUP3
00004a8c: GT
00004a8d: OR
00004a8e: PUSH2 0x1eb1
00004a91: JUMPI
00004a92: PUSH1 0x40
00004a94: MSTORE
00004a95: PUSH0
00004a96: DUP11
00004a97: MSTORE
00004a98: PUSH0
00004a99: PUSH1 0x20
00004a9b: DUP12
00004a9c: ADD
00004a9d: MSTORE
00004a9e: PUSH0
00004a9f: PUSH1 0x40
00004aa1: DUP12
00004aa2: ADD
00004aa3: MSTORE
00004aa4: PUSH0
00004aa5: PUSH1 0x60
00004aa7: DUP12
00004aa8: ADD
00004aa9: MSTORE
00004aaa: PUSH0
00004aab: PUSH1 0x80
00004aad: DUP12
00004aae: ADD
00004aaf: MSTORE
00004ab0: PUSH0
00004ab1: PUSH1 0xa0
00004ab3: DUP12
00004ab4: ADD
00004ab5: MSTORE
00004ab6: PUSH0
00004ab7: PUSH1 0xc0
00004ab9: DUP12
00004aba: ADD
00004abb: MSTORE
00004abc: DUP9
00004abd: ISZERO
00004abe: PUSH0
00004abf: EQ
00004ac0: PUSH2 0x55b4
00004ac3: JUMPI
00004ac4: PUSH1 0x01
00004ac6: DUP12
00004ac7: ADD
00004ac8: SLOAD
00004ac9: SWAP5
00004aca: SWAP4
00004acb: SWAP1
00004acc: SWAP5
00004acd: JUMPDEST
00004ace: PUSH1 0xe0
00004ad0: DUP12
00004ad1: ADD
00004ad2: MSTORE
00004ad3: JUMPDEST
00004ad4: DUP1
00004ad5: ISZERO
00004ad6: DUP1
00004ad7: ISZERO
00004ad8: PUSH2 0x557a
00004adb: JUMPI
00004adc: JUMPDEST
00004add: PUSH2 0x5420
00004ae0: JUMPI
00004ae1: DUP9
00004ae2: DUP7
00004ae3: DUP14
00004ae4: DUP13
00004ae5: DUP15
00004ae6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004afb: DUP4
00004afc: MLOAD
00004afd: AND
00004afe: DUP3
00004aff: MSTORE
00004b00: PUSH1 0x20
00004b02: DUP4
00004b03: ADD
00004b04: MLOAD
00004b05: PUSH1 0x02
00004b07: SIGNEXTEND
00004b08: PUSH1 0x20
00004b0a: DUP10
00004b0b: ADD
00004b0c: MLOAD
00004b0d: PUSH1 0x02
00004b0f: SIGNEXTEND
00004b10: SWAP1
00004b11: DUP2
00004b12: PUSH0
00004b13: DUP2
00004b14: DUP4
00004b15: SMOD
00004b16: SLT
00004b17: SWAP2
00004b18: SDIV
00004b19: SUB
00004b1a: DUP7
00004b1b: ISZERO
00004b1c: PUSH0
00004b1d: EQ
00004b1e: PUSH2 0x5275
00004b21: JUMPI
00004b22: PUSH16 0xffffffffffffffffffffffffffffffff
00004b33: SWAP4
00004b34: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27618
00004b55: PUSH1 0x40
00004b57: SWAP5
00004b58: PUSH1 0x01
00004b5a: SWAP5
00004b5b: DUP5
00004b5c: PUSH1 0x05
00004b5e: PUSH1 0xff
00004b60: PUSH1 0x60
00004b62: SWAP8
00004b63: AND
00004b64: SWAP4
00004b65: DUP3
00004b66: PUSH1 0x02
00004b68: SIGNEXTEND
00004b69: PUSH1 0x08
00004b6b: SAR
00004b6c: DUP10
00004b6d: SIGNEXTEND
00004b6e: PUSH0
00004b6f: MSTORE
00004b70: ADD
00004b71: PUSH1 0x20
00004b73: MSTORE
00004b74: DUP8
00004b75: PUSH0
00004b76: KECCAK256
00004b77: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00004b98: DUP5
00004b99: PUSH1 0xff
00004b9b: SUB
00004b9c: SHR
00004b9d: SWAP1
00004b9e: SLOAD
00004b9f: AND
00004ba0: SWAP3
00004ba1: DUP4
00004ba2: ISZERO
00004ba3: ISZERO
00004ba4: SWAP4
00004ba5: DUP5
00004ba6: PUSH0
00004ba7: EQ
00004ba8: PUSH2 0x5263
00004bab: JUMPI
00004bac: SWAP1
00004bad: PUSH2 0x4bb7
00004bb0: PUSH1 0xff
00004bb2: SWAP3
00004bb3: PUSH2 0x5bdb
00004bb6: JUMP
00004bb7: JUMPDEST
00004bb8: SWAP1
00004bb9: SUB
00004bba: AND
00004bbb: PUSH1 0x02
00004bbd: SIGNEXTEND
00004bbe: SWAP1
00004bbf: SUB
00004bc0: PUSH1 0x02
00004bc2: SIGNEXTEND
00004bc3: MUL
00004bc4: PUSH1 0x02
00004bc6: SIGNEXTEND
00004bc7: JUMPDEST
00004bc8: SWAP1
00004bc9: JUMPDEST
00004bca: ISZERO
00004bcb: ISZERO
00004bcc: DUP7
00004bcd: DUP5
00004bce: ADD
00004bcf: MSTORE
00004bd0: PUSH1 0x02
00004bd2: SIGNEXTEND
00004bd3: DUP1
00004bd4: PUSH1 0x20
00004bd6: DUP5
00004bd7: ADD
00004bd8: MSTORE
00004bd9: SGT
00004bda: ISZERO
00004bdb: PUSH2 0x5238
00004bde: JUMPI
00004bdf: JUMPDEST
00004be0: PUSH3 0x0d89e8
00004be4: PUSH1 0x20
00004be6: DUP3
00004be7: ADD
00004be8: MLOAD
00004be9: PUSH1 0x02
00004beb: SIGNEXTEND
00004bec: SLT
00004bed: ISZERO
00004bee: PUSH2 0x522a
00004bf1: JUMPI
00004bf2: JUMPDEST
00004bf3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004c08: PUSH2 0x4c17
00004c0b: PUSH1 0x20
00004c0d: DUP4
00004c0e: ADD
00004c0f: MLOAD
00004c10: PUSH1 0x02
00004c12: SIGNEXTEND
00004c13: PUSH2 0x4158
00004c16: JUMP
00004c17: JUMPDEST
00004c18: AND
00004c19: SWAP2
00004c1a: DUP3
00004c1b: SWAP2
00004c1c: ADD
00004c1d: MSTORE
00004c1e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004c33: DUP6
00004c34: MLOAD
00004c35: AND
00004c36: SWAP7
00004c37: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004c4c: PUSH1 0x60
00004c4e: DUP13
00004c4f: ADD
00004c50: MLOAD
00004c51: AND
00004c52: SWAP3
00004c53: DUP4
00004c54: SWAP2
00004c55: ISZERO
00004c56: AND
00004c57: DUP2
00004c58: DUP4
00004c59: LT
00004c5a: XOR
00004c5b: SWAP2
00004c5c: XOR
00004c5d: MUL
00004c5e: XOR
00004c5f: SWAP3
00004c60: ADD
00004c61: MLOAD
00004c62: AND
00004c63: SWAP3
00004c64: DUP14
00004c65: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004c7a: DUP4
00004c7b: AND
00004c7c: DUP3
00004c7d: LT
00004c7e: ISZERO
00004c7f: SWAP2
00004c80: PUSH0
00004c81: DUP8
00004c82: SLT
00004c83: PUSH0
00004c84: EQ
00004c85: PUSH2 0x507f
00004c88: JUMPI
00004c89: PUSH3 0xffffff
00004c8d: DUP6
00004c8e: AND
00004c8f: PUSH3 0x0f4240
00004c93: SUB
00004c94: PUSH2 0x4c9f
00004c97: DUP2
00004c98: DUP10
00004c99: PUSH0
00004c9a: SUB
00004c9b: PUSH2 0x5785
00004c9e: JUMP
00004c9f: JUMPDEST
00004ca0: SWAP5
00004ca1: DUP5
00004ca2: ISZERO
00004ca3: PUSH2 0x506e
00004ca6: JUMPI
00004ca7: PUSH2 0x4cb1
00004caa: DUP9
00004cab: DUP5
00004cac: DUP4
00004cad: PUSH2 0x5a7d
00004cb0: JUMP
00004cb1: JUMPDEST
00004cb2: SWAP6
00004cb3: JUMPDEST
00004cb4: DUP7
00004cb5: DUP2
00004cb6: LT
00004cb7: PUSH2 0x4fb2
00004cba: JUMPI
00004cbb: POP
00004cbc: SWAP7
00004cbd: PUSH1 0xa0
00004cbf: SWAP4
00004cc0: SWAP3
00004cc1: SWAP2
00004cc2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004cd7: SWAP9
00004cd8: SWAP8
00004cd9: DUP9
00004cda: SWAP2
00004cdb: PUSH3 0x0f4240
00004cdf: PUSH3 0xffffff
00004ce3: DUP4
00004ce4: AND
00004ce5: EQ
00004ce6: PUSH0
00004ce7: EQ
00004ce8: PUSH2 0x4f9e
00004ceb: JUMPI
00004cec: POP
00004ced: POP
00004cee: DUP7
00004cef: JUMPDEST
00004cf0: SWAP6
00004cf1: JUMPDEST
00004cf2: ISZERO
00004cf3: PUSH2 0x4f90
00004cf6: JUMPI
00004cf7: SWAP2
00004cf8: PUSH2 0x4d00
00004cfb: SWAP3
00004cfc: PUSH2 0x5a3d
00004cff: JUMP
00004d00: JUMPDEST
00004d01: SWAP3
00004d02: JUMPDEST
00004d03: PUSH1 0xc0
00004d05: DUP3
00004d06: ADD
00004d07: MSTORE
00004d08: ADD
00004d09: MSTORE
00004d0a: PUSH1 0x80
00004d0c: DUP14
00004d0d: ADD
00004d0e: MSTORE
00004d0f: AND
00004d10: DUP13
00004d11: MSTORE
00004d12: PUSH0
00004d13: DUP4
00004d14: MLOAD
00004d15: SGT
00004d16: PUSH0
00004d17: EQ
00004d18: PUSH2 0x4f60
00004d1b: JUMPI
00004d1c: PUSH1 0xa0
00004d1e: DUP11
00004d1f: ADD
00004d20: MLOAD
00004d21: SWAP1
00004d22: PUSH0
00004d23: DUP3
00004d24: SLT
00004d25: PUSH2 0x30c8
00004d28: JUMPI
00004d29: SUB
00004d2a: SWAP3
00004d2b: PUSH2 0x4d3d
00004d2e: PUSH1 0x80
00004d30: DUP12
00004d31: ADD
00004d32: MLOAD
00004d33: PUSH1 0xc0
00004d35: DUP13
00004d36: ADD
00004d37: MLOAD
00004d38: SWAP1
00004d39: PUSH2 0x2ffa
00004d3c: JUMP
00004d3d: JUMPDEST
00004d3e: PUSH0
00004d3f: DUP2
00004d40: SLT
00004d41: PUSH2 0x30c8
00004d44: JUMPI
00004d45: DUP2
00004d46: SUB
00004d47: SWAP1
00004d48: DUP2
00004d49: SGT
00004d4a: PUSH1 0x01
00004d4c: AND
00004d4d: PUSH2 0x1d94
00004d50: JUMPI
00004d51: SWAP4
00004d52: JUMPDEST
00004d53: PUSH2 0xffff
00004d56: DUP8
00004d57: AND
00004d58: PUSH2 0x4f18
00004d5b: JUMPI
00004d5c: JUMPDEST
00004d5d: PUSH16 0xffffffffffffffffffffffffffffffff
00004d6e: PUSH1 0x40
00004d70: DUP14
00004d71: ADD
00004d72: MLOAD
00004d73: AND
00004d74: DUP1
00004d75: PUSH2 0x4efe
00004d78: JUMPI
00004d79: JUMPDEST
00004d7a: POP
00004d7b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004d90: DUP13
00004d91: MLOAD
00004d92: AND
00004d93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004da8: PUSH1 0x60
00004daa: DUP13
00004dab: ADD
00004dac: MLOAD
00004dad: AND
00004dae: DUP2
00004daf: EQ
00004db0: PUSH0
00004db1: EQ
00004db2: PUSH2 0x4ec2
00004db5: JUMPI
00004db6: POP
00004db7: PUSH1 0x40
00004db9: DUP11
00004dba: ADD
00004dbb: MLOAD
00004dbc: PUSH2 0x4e10
00004dbf: JUMPI
00004dc0: JUMPDEST
00004dc1: DUP9
00004dc2: PUSH2 0x4e03
00004dc5: JUMPI
00004dc6: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00004de7: PUSH1 0x20
00004de9: DUP12
00004dea: ADD
00004deb: MLOAD
00004dec: PUSH1 0x02
00004dee: SIGNEXTEND
00004def: ADD
00004df0: PUSH1 0x02
00004df2: SIGNEXTEND
00004df3: JUMPDEST
00004df4: PUSH1 0x02
00004df6: SIGNEXTEND
00004df7: PUSH1 0x20
00004df9: DUP14
00004dfa: ADD
00004dfb: MSTORE
00004dfc: JUMPDEST
00004dfd: SWAP4
00004dfe: SWAP3
00004dff: PUSH2 0x4ad3
00004e02: JUMP
00004e03: JUMPDEST
00004e04: PUSH1 0x20
00004e06: DUP11
00004e07: ADD
00004e08: MLOAD
00004e09: PUSH1 0x02
00004e0b: SIGNEXTEND
00004e0c: PUSH2 0x4df3
00004e0f: JUMP
00004e10: JUMPDEST
00004e11: DUP9
00004e12: PUSH2 0x4e96
00004e15: JUMPI
00004e16: PUSH16 0xffffffffffffffffffffffffffffffff
00004e27: PUSH2 0x4e7d
00004e2a: DUP14
00004e2b: DUP14
00004e2c: DUP14
00004e2d: PUSH1 0x04
00004e2f: PUSH1 0xe0
00004e31: DUP3
00004e32: ADD
00004e33: MLOAD
00004e34: SWAP3
00004e35: PUSH1 0x20
00004e37: PUSH1 0x02
00004e39: DUP3
00004e3a: ADD
00004e3b: SLOAD
00004e3c: SWAP4
00004e3d: JUMPDEST
00004e3e: ADD
00004e3f: MLOAD
00004e40: PUSH1 0x02
00004e42: SIGNEXTEND
00004e43: PUSH1 0x02
00004e45: SIGNEXTEND
00004e46: PUSH0
00004e47: MSTORE
00004e48: ADD
00004e49: PUSH1 0x20
00004e4b: MSTORE
00004e4c: PUSH1 0x40
00004e4e: PUSH0
00004e4f: KECCAK256
00004e50: SWAP2
00004e51: PUSH1 0x01
00004e53: DUP4
00004e54: ADD
00004e55: SWAP1
00004e56: DUP2
00004e57: SLOAD
00004e58: SWAP1
00004e59: SUB
00004e5a: SWAP1
00004e5b: SSTORE
00004e5c: PUSH1 0x02
00004e5e: DUP3
00004e5f: ADD
00004e60: SWAP1
00004e61: DUP2
00004e62: SLOAD
00004e63: SWAP1
00004e64: SUB
00004e65: SWAP1
00004e66: SSTORE
00004e67: SLOAD
00004e68: PUSH1 0x80
00004e6a: SAR
00004e6b: SWAP1
00004e6c: DUP13
00004e6d: ISZERO
00004e6e: PUSH2 0x4e88
00004e71: JUMPI
00004e72: JUMPDEST
00004e73: PUSH1 0x40
00004e75: ADD
00004e76: MLOAD
00004e77: DUP4
00004e78: AND
00004e79: PUSH2 0x456e
00004e7c: JUMP
00004e7d: JUMPDEST
00004e7e: AND
00004e7f: PUSH1 0x40
00004e81: DUP14
00004e82: ADD
00004e83: MSTORE
00004e84: PUSH2 0x4dc0
00004e87: JUMP
00004e88: JUMPDEST
00004e89: PUSH0
00004e8a: SWAP2
00004e8b: SWAP1
00004e8c: SWAP2
00004e8d: SUB
00004e8e: PUSH1 0x0f
00004e90: SIGNEXTEND
00004e91: SWAP1
00004e92: PUSH2 0x4e72
00004e95: JUMP
00004e96: JUMPDEST
00004e97: PUSH16 0xffffffffffffffffffffffffffffffff
00004ea8: PUSH2 0x4e7d
00004eab: DUP14
00004eac: DUP14
00004ead: DUP14
00004eae: PUSH1 0x04
00004eb0: PUSH1 0x01
00004eb2: DUP4
00004eb3: ADD
00004eb4: SLOAD
00004eb5: SWAP3
00004eb6: PUSH1 0x20
00004eb8: PUSH1 0xe0
00004eba: DUP5
00004ebb: ADD
00004ebc: MLOAD
00004ebd: SWAP4
00004ebe: PUSH2 0x4e3d
00004ec1: JUMP
00004ec2: JUMPDEST
00004ec3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004ed8: DUP12
00004ed9: MLOAD
00004eda: AND
00004edb: DUP2
00004edc: SUB
00004edd: PUSH2 0x4ee7
00004ee0: JUMPI
00004ee1: JUMPDEST
00004ee2: POP
00004ee3: PUSH2 0x4dfc
00004ee6: JUMP
00004ee7: JUMPDEST
00004ee8: PUSH2 0x4ef0
00004eeb: SWAP1
00004eec: PUSH2 0x45fc
00004eef: JUMP
00004ef0: JUMPDEST
00004ef1: PUSH1 0x02
00004ef3: SIGNEXTEND
00004ef4: PUSH1 0x20
00004ef6: DUP14
00004ef7: ADD
00004ef8: MSTORE
00004ef9: PUSH0
00004efa: PUSH2 0x4ee1
00004efd: JUMP
00004efe: JUMPDEST
00004eff: PUSH1 0xc0
00004f01: DUP12
00004f02: ADD
00004f03: MLOAD
00004f04: PUSH1 0x80
00004f06: SHL
00004f07: DIV
00004f08: PUSH1 0xe0
00004f0a: DUP12
00004f0b: ADD
00004f0c: MLOAD
00004f0d: ADD
00004f0e: PUSH1 0xe0
00004f10: DUP12
00004f11: ADD
00004f12: MSTORE
00004f13: PUSH0
00004f14: PUSH2 0x4d79
00004f17: JUMP
00004f18: JUMPDEST
00004f19: SWAP7
00004f1a: PUSH3 0xffffff
00004f1e: DUP7
00004f1f: AND
00004f20: PUSH2 0xffff
00004f23: DUP9
00004f24: AND
00004f25: SUB
00004f26: PUSH2 0x4f43
00004f29: JUMPI
00004f2a: PUSH1 0xc0
00004f2c: DUP11
00004f2d: ADD
00004f2e: MLOAD
00004f2f: SWAP1
00004f30: JUMPDEST
00004f31: DUP2
00004f32: PUSH1 0xc0
00004f34: DUP13
00004f35: ADD
00004f36: MLOAD
00004f37: SUB
00004f38: PUSH1 0xc0
00004f3a: DUP13
00004f3b: ADD
00004f3c: MSTORE
00004f3d: ADD
00004f3e: SWAP7
00004f3f: PUSH2 0x4d5c
00004f42: JUMP
00004f43: JUMPDEST
00004f44: PUSH3 0x0f4240
00004f48: PUSH1 0x80
00004f4a: DUP12
00004f4b: ADD
00004f4c: MLOAD
00004f4d: PUSH2 0xffff
00004f50: DUP10
00004f51: AND
00004f52: SWAP1
00004f53: PUSH1 0xc0
00004f55: DUP14
00004f56: ADD
00004f57: MLOAD
00004f58: ADD
00004f59: MUL
00004f5a: DIV
00004f5b: SWAP1
00004f5c: PUSH2 0x4f30
00004f5f: JUMP
00004f60: JUMPDEST
00004f61: PUSH1 0x80
00004f63: DUP11
00004f64: ADD
00004f65: MLOAD
00004f66: PUSH1 0xc0
00004f68: DUP12
00004f69: ADD
00004f6a: MLOAD
00004f6b: ADD
00004f6c: SWAP1
00004f6d: PUSH0
00004f6e: DUP3
00004f6f: SLT
00004f70: PUSH2 0x30c8
00004f73: JUMPI
00004f74: ADD
00004f75: SWAP3
00004f76: PUSH1 0xa0
00004f78: DUP11
00004f79: ADD
00004f7a: MLOAD
00004f7b: PUSH0
00004f7c: DUP2
00004f7d: SLT
00004f7e: PUSH2 0x30c8
00004f81: JUMPI
00004f82: PUSH2 0x4f8a
00004f85: SWAP2
00004f86: PUSH2 0x3b29
00004f89: JUMP
00004f8a: JUMPDEST
00004f8b: SWAP4
00004f8c: PUSH2 0x4d52
00004f8f: JUMP
00004f90: JUMPDEST
00004f91: PUSH2 0x4f99
00004f94: SWAP3
00004f95: PUSH2 0x5b34
00004f98: JUMP
00004f99: JUMPDEST
00004f9a: PUSH2 0x4d00
00004f9d: JUMP
00004f9e: JUMPDEST
00004f9f: PUSH3 0xffffff
00004fa3: PUSH2 0x4fad
00004fa6: SWAP3
00004fa7: AND
00004fa8: DUP10
00004fa9: PUSH2 0x5c68
00004fac: JUMP
00004fad: JUMPDEST
00004fae: PUSH2 0x4cef
00004fb1: JUMP
00004fb2: JUMPDEST
00004fb3: SWAP7
00004fb4: POP
00004fb5: POP
00004fb6: POP
00004fb7: SWAP3
00004fb8: POP
00004fb9: POP
00004fba: DUP3
00004fbb: SWAP2
00004fbc: DUP5
00004fbd: ISZERO
00004fbe: DUP2
00004fbf: ISZERO
00004fc0: OR
00004fc1: PUSH2 0x5061
00004fc4: JUMPI
00004fc5: DUP15
00004fc6: PUSH1 0xa0
00004fc8: SWAP2
00004fc9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004fde: SWAP7
00004fdf: DUP5
00004fe0: PUSH0
00004fe1: EQ
00004fe2: PUSH2 0x4ffc
00004fe5: JUMPI
00004fe6: PUSH2 0x4ff0
00004fe9: DUP8
00004fea: DUP3
00004feb: DUP5
00004fec: PUSH2 0x5d07
00004fef: JUMP
00004ff0: JUMPDEST
00004ff1: DUP1
00004ff2: SWAP8
00004ff3: DUP11
00004ff4: ADD
00004ff5: PUSH0
00004ff6: SUB
00004ff7: SWAP6
00004ff8: PUSH2 0x4cf1
00004ffb: JUMP
00004ffc: JUMPDEST
00004ffd: DUP8
00004ffe: DUP8
00004fff: GT
00005000: PUSH2 0x503a
00005003: JUMPI
00005004: PUSH2 0x5035
00005007: PUSH2 0x5030
0000500a: PUSH2 0x5028
0000500d: PUSH16 0xffffffffffffffffffffffffffffffff
0000501e: DUP5
0000501f: AND
00005020: DUP11
00005021: PUSH1 0x60
00005023: SHL
00005024: PUSH2 0x4922
00005027: JUMP
00005028: JUMPDEST
00005029: DUP11
0000502a: DUP6
0000502b: AND
0000502c: PUSH2 0x2ffa
0000502f: JUMP
00005030: JUMPDEST
00005031: PUSH2 0x5d9b
00005034: JUMP
00005035: JUMPDEST
00005036: PUSH2 0x4ff0
00005039: JUMP
0000503a: JUMPDEST
0000503b: PUSH2 0x5035
0000503e: PUSH2 0x5030
00005041: PUSH2 0x505c
00005044: PUSH16 0xffffffffffffffffffffffffffffffff
00005055: DUP5
00005056: AND
00005057: DUP11
00005058: PUSH2 0x588a
0000505b: JUMP
0000505c: JUMPDEST
0000505d: PUSH2 0x5028
00005060: JUMP
00005061: JUMPDEST
00005062: PUSH4 0x4f2461b8
00005067: PUSH0
00005068: MSTORE
00005069: PUSH1 0x04
0000506b: PUSH1 0x1c
0000506d: REVERT
0000506e: JUMPDEST
0000506f: PUSH2 0x5079
00005072: DUP9
00005073: DUP3
00005074: DUP6
00005075: PUSH2 0x59e2
00005078: JUMP
00005079: JUMPDEST
0000507a: SWAP6
0000507b: PUSH2 0x4cb3
0000507e: JUMP
0000507f: JUMPDEST
00005080: SWAP2
00005081: SWAP4
00005082: POP
00005083: SWAP2
00005084: SWAP1
00005085: DUP4
00005086: ISZERO
00005087: PUSH2 0x5219
0000508a: JUMPI
0000508b: PUSH2 0x5095
0000508e: DUP6
0000508f: DUP3
00005090: DUP5
00005091: PUSH2 0x5a3d
00005094: JUMP
00005095: JUMPDEST
00005096: SWAP2
00005097: JUMPDEST
00005098: DUP3
00005099: DUP8
0000509a: LT
0000509b: PUSH2 0x50f7
0000509e: JUMPI
0000509f: SWAP1
000050a0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000050b5: SWAP6
000050b6: PUSH1 0xa0
000050b8: SWAP3
000050b9: DUP1
000050ba: SWAP7
000050bb: JUMPDEST
000050bc: ISZERO
000050bd: PUSH2 0x50e8
000050c0: JUMPI
000050c1: SWAP2
000050c2: PUSH2 0x50ca
000050c5: SWAP3
000050c6: PUSH2 0x5a7d
000050c9: JUMP
000050ca: JUMPDEST
000050cb: SWAP3
000050cc: JUMPDEST
000050cd: PUSH2 0x50e3
000050d0: PUSH3 0xffffff
000050d4: DUP14
000050d5: AND
000050d6: PUSH3 0x0f4240
000050da: DUP2
000050db: SWAP1
000050dc: SUB
000050dd: SWAP1
000050de: DUP7
000050df: PUSH2 0x5c68
000050e2: JUMP
000050e3: JUMPDEST
000050e4: PUSH2 0x4d02
000050e7: JUMP
000050e8: JUMPDEST
000050e9: PUSH2 0x50f1
000050ec: SWAP3
000050ed: PUSH2 0x59e2
000050f0: JUMP
000050f1: JUMPDEST
000050f2: SWAP3
000050f3: PUSH2 0x50cc
000050f6: JUMP
000050f7: JUMPDEST
000050f8: POP
000050f9: SWAP2
000050fa: POP
000050fb: POP
000050fc: DUP4
000050fd: DUP4
000050fe: ISZERO
000050ff: DUP3
00005100: ISZERO
00005101: OR
00005102: PUSH2 0x5061
00005105: JUMPI
00005106: DUP14
00005107: DUP4
00005108: ISZERO
00005109: PUSH2 0x51ef
0000510c: JUMPI
0000510d: POP
0000510e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005123: DUP6
00005124: GT
00005125: PUSH2 0x519c
00005128: JUMPI
00005129: DUP5
0000512a: PUSH1 0x60
0000512c: SHL
0000512d: PUSH16 0xffffffffffffffffffffffffffffffff
0000513e: DUP6
0000513f: AND
00005140: DUP1
00005141: DUP3
00005142: MOD
00005143: ISZERO
00005144: ISZERO
00005145: SWAP2
00005146: DIV
00005147: ADD
00005148: JUMPDEST
00005149: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000515e: DUP4
0000515f: AND
00005160: SWAP3
00005161: DUP2
00005162: DUP5
00005163: GT
00005164: ISZERO
00005165: PUSH2 0x518f
00005168: JUMPI
00005169: DUP16
0000516a: SWAP4
0000516b: SWAP6
0000516c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005181: PUSH1 0xa0
00005183: SWAP4
00005184: DUP2
00005185: SWAP9
00005186: SUB
00005187: AND
00005188: JUMPDEST
00005189: DUP1
0000518a: SWAP7
0000518b: PUSH2 0x50bb
0000518e: JUMP
0000518f: JUMPDEST
00005190: PUSH4 0x4323a555
00005195: PUSH0
00005196: MSTORE
00005197: PUSH1 0x04
00005199: PUSH1 0x1c
0000519b: REVERT
0000519c: JUMPDEST
0000519d: PUSH16 0xffffffffffffffffffffffffffffffff
000051ae: DUP5
000051af: AND
000051b0: PUSH2 0x51c7
000051b3: DUP2
000051b4: PUSH13 0x01000000000000000000000000
000051c2: DUP9
000051c3: PUSH2 0x5943
000051c6: JUMP
000051c7: JUMPDEST
000051c8: SWAP1
000051c9: DUP1
000051ca: ISZERO
000051cb: PUSH2 0x492c
000051ce: JUMPI
000051cf: PUSH13 0x01000000000000000000000000
000051dd: DUP8
000051de: MULMOD
000051df: ISZERO
000051e0: PUSH2 0x5148
000051e3: JUMPI
000051e4: PUSH1 0x01
000051e6: ADD
000051e7: DUP1
000051e8: PUSH2 0x5148
000051eb: JUMPI
000051ec: PUSH0
000051ed: DUP1
000051ee: REVERT
000051ef: JUMPDEST
000051f0: SWAP2
000051f1: DUP1
000051f2: DUP6
000051f3: PUSH2 0x5214
000051f6: DUP9
000051f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000520c: SWAP9
0000520d: PUSH1 0xa0
0000520f: SWAP6
00005210: PUSH2 0x5c91
00005213: JUMP
00005214: JUMPDEST
00005215: PUSH2 0x5188
00005218: JUMP
00005219: JUMPDEST
0000521a: PUSH2 0x5224
0000521d: DUP6
0000521e: DUP4
0000521f: DUP4
00005220: PUSH2 0x5b34
00005223: JUMP
00005224: JUMPDEST
00005225: SWAP2
00005226: PUSH2 0x5097
00005229: JUMP
0000522a: JUMPDEST
0000522b: PUSH3 0x0d89e8
0000522f: PUSH1 0x20
00005231: DUP3
00005232: ADD
00005233: MSTORE
00005234: PUSH2 0x4bf2
00005237: JUMP
00005238: JUMPDEST
00005239: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27618
0000525a: PUSH1 0x20
0000525c: DUP3
0000525d: ADD
0000525e: MSTORE
0000525f: PUSH2 0x4bdf
00005262: JUMP
00005263: JUMPDEST
00005264: POP
00005265: PUSH1 0x02
00005267: SIGNEXTEND
00005268: SWAP1
00005269: SUB
0000526a: PUSH1 0x02
0000526c: SIGNEXTEND
0000526d: MUL
0000526e: PUSH1 0x02
00005270: SIGNEXTEND
00005271: PUSH2 0x4bc7
00005274: JUMP
00005275: JUMPDEST
00005276: PUSH1 0x01
00005278: SWAP2
00005279: SWAP5
0000527a: SWAP4
0000527b: SWAP7
0000527c: POP
0000527d: PUSH1 0x05
0000527f: SWAP3
00005280: SWAP6
00005281: POP
00005282: ADD
00005283: SWAP4
00005284: DUP5
00005285: PUSH1 0x02
00005287: SIGNEXTEND
00005288: PUSH1 0x08
0000528a: SAR
0000528b: PUSH1 0x01
0000528d: SIGNEXTEND
0000528e: PUSH0
0000528f: MSTORE
00005290: ADD
00005291: PUSH1 0x20
00005293: MSTORE
00005294: PUSH1 0x40
00005296: PUSH0
00005297: KECCAK256
00005298: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000052b9: PUSH1 0x01
000052bb: PUSH1 0xff
000052bd: DUP7
000052be: AND
000052bf: SHL
000052c0: ADD
000052c1: NOT
000052c2: SWAP1
000052c3: SLOAD
000052c4: AND
000052c5: SWAP1
000052c6: DUP14
000052c7: DUP12
000052c8: DUP4
000052c9: ISZERO
000052ca: SWAP3
000052cb: DUP4
000052cc: ISZERO
000052cd: SWAP8
000052ce: DUP9
000052cf: PUSH0
000052d0: EQ
000052d1: PUSH2 0x53c1
000052d4: JUMPI
000052d5: POP
000052d6: POP
000052d7: POP
000052d8: POP
000052d9: PUSH2 0x0330
000052dc: JUMPI
000052dd: DUP16
000052de: SWAP2
000052df: PUSH1 0x01
000052e1: DUP16
000052e2: DUP16
000052e3: SWAP7
000052e4: SWAP1
000052e5: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27618
00005306: PUSH1 0x60
00005308: SWAP3
00005309: DUP16
0000530a: SWAP9
0000530b: SWAP6
0000530c: PUSH1 0x40
0000530e: SWAP7
0000530f: PUSH1 0xff
00005311: DUP10
00005312: PUSH16 0xffffffffffffffffffffffffffffffff
00005323: SWAP11
00005324: PUSH0
00005325: SUB
00005326: AND
00005327: PUSH2 0x01e0
0000532a: PUSH32 0x8040405543005266443200005020610674053026020000107506200176117077
0000534b: PUSH1 0xfc
0000534d: PUSH32 0xb6db6db6ddddddddd34d34d349249249210842108c6318c639ce739cffffffff
0000536e: DUP5
0000536f: MUL
00005370: PUSH1 0xf8
00005372: SHR
00005373: AND
00005374: SHL
00005375: PUSH1 0xf7
00005377: SHR
00005378: AND
00005379: PUSH31 0x1f0d1e100c1d070f090b19131c1706010e11080a1a141802121b1503160405
00005399: PUSH1 0x1f
0000539b: DUP6
0000539c: DUP6
0000539d: AND
0000539e: SWAP4
0000539f: DUP4
000053a0: SHR
000053a1: PUSH4 0xd76453e0
000053a6: DIV
000053a7: AND
000053a8: BYTE
000053a9: OR
000053aa: SUB
000053ab: AND
000053ac: PUSH1 0x02
000053ae: SIGNEXTEND
000053af: SWAP1
000053b0: PUSH1 0x02
000053b2: SIGNEXTEND
000053b3: ADD
000053b4: PUSH1 0x02
000053b6: SIGNEXTEND
000053b7: MUL
000053b8: PUSH1 0x02
000053ba: SIGNEXTEND
000053bb: JUMPDEST
000053bc: SWAP1
000053bd: PUSH2 0x4bc9
000053c0: JUMP
000053c1: JUMPDEST
000053c2: SWAP1
000053c3: SWAP6
000053c4: PUSH16 0xffffffffffffffffffffffffffffffff
000053d5: SWAP6
000053d6: POP
000053d7: PUSH1 0x40
000053d9: SWAP5
000053da: POP
000053db: PUSH1 0x01
000053dd: SWAP4
000053de: SWAP9
000053df: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27618
00005400: SWAP2
00005401: DUP10
00005402: PUSH1 0xff
00005404: PUSH1 0x60
00005406: SWAP7
00005407: SWAP12
00005408: DUP2
00005409: AND
0000540a: DUP2
0000540b: SUB
0000540c: AND
0000540d: PUSH1 0x02
0000540f: SIGNEXTEND
00005410: SWAP1
00005411: PUSH1 0x02
00005413: SIGNEXTEND
00005414: ADD
00005415: PUSH1 0x02
00005417: SIGNEXTEND
00005418: MUL
00005419: PUSH1 0x02
0000541b: SIGNEXTEND
0000541c: PUSH2 0x53bb
0000541f: JUMP
00005420: JUMPDEST
00005421: SWAP5
00005422: SWAP9
00005423: SWAP2
00005424: SWAP6
00005425: POP
00005426: SWAP10
00005427: SWAP7
00005428: SWAP3
00005429: SWAP9
0000542a: SWAP2
0000542b: SWAP6
0000542c: SWAP9
0000542d: PUSH1 0x20
0000542f: DUP9
00005430: ADD
00005431: MLOAD
00005432: PUSH1 0xa0
00005434: SHL
00005435: PUSH23 0xffffff0000000000000000000000000000000000000000
0000544d: AND
0000544e: PUSH32 0xffffffffffffffffff0000000000000000000000000000000000000000000000
0000546f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005484: DUP11
00005485: MLOAD
00005486: AND
00005487: SWAP3
00005488: AND
00005489: OR
0000548a: OR
0000548b: DUP3
0000548c: SSTORE
0000548d: PUSH16 0xffffffffffffffffffffffffffffffff
0000549e: PUSH1 0x03
000054a0: DUP4
000054a1: ADD
000054a2: SLOAD
000054a3: AND
000054a4: PUSH16 0xffffffffffffffffffffffffffffffff
000054b5: PUSH1 0x40
000054b7: DUP10
000054b8: ADD
000054b9: MLOAD
000054ba: AND
000054bb: DUP1
000054bc: SWAP2
000054bd: SUB
000054be: PUSH2 0x5535
000054c1: JUMPI
000054c2: JUMPDEST
000054c3: POP
000054c4: DUP3
000054c5: ISZERO
000054c6: PUSH2 0x5526
000054c9: JUMPI
000054ca: PUSH1 0xe0
000054cc: PUSH1 0x02
000054ce: SWAP2
000054cf: ADD
000054d0: MLOAD
000054d1: SWAP2
000054d2: ADD
000054d3: SSTORE
000054d4: JUMPDEST
000054d5: DUP3
000054d6: MLOAD
000054d7: SWAP1
000054d8: ISZERO
000054d9: PUSH0
000054da: DUP3
000054db: SLT
000054dc: EQ
000054dd: PUSH2 0x5510
000054e0: JUMPI
000054e1: POP
000054e2: PUSH2 0x54ee
000054e5: PUSH2 0x54f6
000054e8: SWAP3
000054e9: SWAP4
000054ea: PUSH2 0x3785
000054ed: JUMP
000054ee: JUMPDEST
000054ef: SWAP3
000054f0: MLOAD
000054f1: SUB
000054f2: PUSH2 0x3785
000054f5: JUMP
000054f6: JUMPDEST
000054f7: PUSH16 0xffffffffffffffffffffffffffffffff
00005508: AND
00005509: SWAP1
0000550a: PUSH1 0x80
0000550c: SHL
0000550d: OR
0000550e: SWAP4
0000550f: JUMP
00005510: JUMPDEST
00005511: PUSH2 0x54f6
00005514: SWAP3
00005515: POP
00005516: SWAP1
00005517: PUSH2 0x5520
0000551a: SWAP2
0000551b: SUB
0000551c: PUSH2 0x3785
0000551f: JUMP
00005520: JUMPDEST
00005521: SWAP2
00005522: PUSH2 0x3785
00005525: JUMP
00005526: JUMPDEST
00005527: PUSH1 0xe0
00005529: PUSH1 0x01
0000552b: SWAP2
0000552c: ADD
0000552d: MLOAD
0000552e: SWAP2
0000552f: ADD
00005530: SSTORE
00005531: PUSH2 0x54d4
00005534: JUMP
00005535: JUMPDEST
00005536: PUSH16 0xffffffffffffffffffffffffffffffff
00005547: AND
00005548: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000
00005569: PUSH1 0x03
0000556b: DUP5
0000556c: ADD
0000556d: SLOAD
0000556e: AND
0000556f: OR
00005570: PUSH1 0x03
00005572: DUP4
00005573: ADD
00005574: SSTORE
00005575: PUSH0
00005576: PUSH2 0x54c2
00005579: JUMP
0000557a: JUMPDEST
0000557b: POP
0000557c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005591: DUP13
00005592: MLOAD
00005593: AND
00005594: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000055a9: PUSH1 0x60
000055ab: DUP6
000055ac: ADD
000055ad: MLOAD
000055ae: AND
000055af: EQ
000055b0: PUSH2 0x4adc
000055b3: JUMP
000055b4: JUMPDEST
000055b5: PUSH1 0x02
000055b7: DUP12
000055b8: ADD
000055b9: SLOAD
000055ba: SWAP5
000055bb: SWAP4
000055bc: SWAP1
000055bd: SWAP5
000055be: PUSH2 0x4acd
000055c1: JUMP
000055c2: JUMPDEST
000055c3: PUSH32 0x9e4d7cc700000000000000000000000000000000000000000000000000000000
000055e4: PUSH0
000055e5: MSTORE
000055e6: PUSH1 0x04
000055e8: MSTORE
000055e9: PUSH1 0x24
000055eb: PUSH0
000055ec: REVERT
000055ed: JUMPDEST
000055ee: PUSH1 0x44
000055f0: SWAP3
000055f1: POP
000055f2: PUSH1 0x40
000055f4: MLOAD
000055f5: SWAP2
000055f6: PUSH32 0x7c9c6e8f00000000000000000000000000000000000000000000000000000000
00005617: DUP4
00005618: MSTORE
00005619: PUSH1 0x04
0000561b: DUP4
0000561c: ADD
0000561d: MSTORE
0000561e: PUSH1 0x24
00005620: DUP3
00005621: ADD
00005622: MSTORE
00005623: REVERT
00005624: JUMPDEST
00005625: PUSH1 0x60
00005627: DUP4
00005628: ADD
00005629: SWAP1
0000562a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000563f: DUP3
00005640: MLOAD
00005641: AND
00005642: DUP2
00005643: DUP2
00005644: GT
00005645: ISZERO
00005646: PUSH2 0x55ed
00005649: JUMPI
0000564a: POP
0000564b: POP
0000564c: MLOAD
0000564d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005662: AND
00005663: PUSH20 0xfffd8963efd1fc6a506488495d951d5263988d26
00005678: DUP2
00005679: LT
0000567a: ISZERO
0000567b: PUSH2 0x55c2
0000567e: JUMPI
0000567f: POP
00005680: PUSH2 0x4a75
00005683: JUMP
00005684: JUMPDEST
00005685: SWAP11
00005686: POP
00005687: SWAP11
00005688: POP
00005689: POP
0000568a: SWAP10
0000568b: POP
0000568c: POP
0000568d: POP
0000568e: POP
0000568f: POP
00005690: POP
00005691: POP
00005692: POP
00005693: PUSH0
00005694: SWAP3
00005695: PUSH0
00005696: SWAP3
00005697: SWAP2
00005698: SWAP1
00005699: JUMP
0000569a: JUMPDEST
0000569b: PUSH0
0000569c: DUP6
0000569d: MLOAD
0000569e: SGT
0000569f: ISZERO
000056a0: PUSH2 0x4a1a
000056a3: JUMPI
000056a4: PUSH32 0x9620624600000000000000000000000000000000000000000000000000000000
000056c5: PUSH0
000056c6: MSTORE
000056c7: PUSH1 0x04
000056c9: PUSH0
000056ca: REVERT
000056cb: JUMPDEST
000056cc: PUSH3 0xffffff
000056d0: PUSH2 0x0fff
000056d3: DUP10
000056d4: AND
000056d5: SWAP2
000056d6: AND
000056d7: PUSH3 0x0f4240
000056db: DUP2
000056dc: DUP4
000056dd: MUL
000056de: DIV
000056df: SWAP2
000056e0: ADD
000056e1: SUB
000056e2: PUSH2 0x4a07
000056e5: JUMP
000056e6: JUMPDEST
000056e7: POP
000056e8: DUP10
000056e9: PUSH1 0xd0
000056eb: SHR
000056ec: PUSH3 0xffffff
000056f0: AND
000056f1: PUSH2 0x49fd
000056f4: JUMP
000056f5: JUMPDEST
000056f6: PUSH2 0x0fff
000056f9: DUP9
000056fa: PUSH1 0xc4
000056fc: SHR
000056fd: AND
000056fe: SWAP5
000056ff: PUSH2 0x499a
00005702: JUMP
00005703: JUMPDEST
00005704: SWAP1
00005705: DUP1
00005706: DUP3
00005707: MUL
00005708: SWAP2
00005709: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000572a: DUP3
0000572b: DUP3
0000572c: MULMOD
0000572d: SWAP2
0000572e: DUP4
0000572f: DUP1
00005730: DUP5
00005731: LT
00005732: SWAP4
00005733: SUB
00005734: SWAP3
00005735: DUP1
00005736: DUP5
00005737: SUB
00005738: SWAP4
00005739: DUP5
0000573a: PUSH17 0x0100000000000000000000000000000000
0000574c: GT
0000574d: ISZERO
0000574e: PUSH2 0x0330
00005751: JUMPI
00005752: EQ
00005753: PUSH2 0x577c
00005756: JUMPI
00005757: PUSH17 0x0100000000000000000000000000000000
00005769: SWAP2
0000576a: MULMOD
0000576b: SWAP1
0000576c: DUP3
0000576d: DUP3
0000576e: GT
0000576f: SWAP1
00005770: SUB
00005771: PUSH1 0x80
00005773: SHL
00005774: SWAP2
00005775: SUB
00005776: PUSH1 0x80
00005778: SHR
00005779: OR
0000577a: SWAP1
0000577b: JUMP
0000577c: JUMPDEST
0000577d: POP
0000577e: POP
0000577f: POP
00005780: PUSH1 0x80
00005782: SHR
00005783: SWAP1
00005784: JUMP
00005785: JUMPDEST
00005786: DUP2
00005787: DUP2
00005788: MUL
00005789: SWAP1
0000578a: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000057ab: DUP4
000057ac: DUP3
000057ad: MULMOD
000057ae: SWAP1
000057af: DUP3
000057b0: DUP1
000057b1: DUP4
000057b2: LT
000057b3: SWAP3
000057b4: SUB
000057b5: SWAP2
000057b6: DUP1
000057b7: DUP4
000057b8: SUB
000057b9: SWAP3
000057ba: DUP4
000057bb: PUSH3 0x0f4240
000057bf: GT
000057c0: ISZERO
000057c1: PUSH2 0x0330
000057c4: JUMPI
000057c5: EQ
000057c6: PUSH2 0x5804
000057c9: JUMPI
000057ca: PUSH32 0xde8f6cefed634549b62c77574f722e1ac57e23f24d8fd5cb790fb65668c26139
000057eb: SWAP4
000057ec: PUSH3 0x0f4240
000057f0: SWAP2
000057f1: MULMOD
000057f2: SWAP1
000057f3: DUP3
000057f4: DUP3
000057f5: GT
000057f6: SWAP1
000057f7: SUB
000057f8: PUSH1 0xfa
000057fa: SHL
000057fb: SWAP2
000057fc: SUB
000057fd: PUSH1 0x06
000057ff: SHR
00005800: OR
00005801: MUL
00005802: SWAP1
00005803: JUMP
00005804: JUMPDEST
00005805: POP
00005806: POP
00005807: PUSH3 0x0f4240
0000580b: SWAP2
0000580c: POP
0000580d: DIV
0000580e: SWAP1
0000580f: JUMP
00005810: JUMPDEST
00005811: SWAP1
00005812: DUP1
00005813: DUP3
00005814: MUL
00005815: SWAP2
00005816: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00005837: DUP3
00005838: DUP3
00005839: MULMOD
0000583a: SWAP2
0000583b: DUP4
0000583c: DUP1
0000583d: DUP5
0000583e: LT
0000583f: SWAP4
00005840: SUB
00005841: SWAP3
00005842: DUP1
00005843: DUP5
00005844: SUB
00005845: SWAP4
00005846: DUP5
00005847: PUSH13 0x01000000000000000000000000
00005855: GT
00005856: ISZERO
00005857: PUSH2 0x0330
0000585a: JUMPI
0000585b: EQ
0000585c: PUSH2 0x5881
0000585f: JUMPI
00005860: PUSH13 0x01000000000000000000000000
0000586e: SWAP2
0000586f: MULMOD
00005870: SWAP1
00005871: DUP3
00005872: DUP3
00005873: GT
00005874: SWAP1
00005875: SUB
00005876: PUSH1 0xa0
00005878: SHL
00005879: SWAP2
0000587a: SUB
0000587b: PUSH1 0x60
0000587d: SHR
0000587e: OR
0000587f: SWAP1
00005880: JUMP
00005881: JUMPDEST
00005882: POP
00005883: POP
00005884: POP
00005885: PUSH1 0x60
00005887: SHR
00005888: SWAP1
00005889: JUMP
0000588a: JUMPDEST
0000588b: SWAP1
0000588c: DUP2
0000588d: PUSH1 0x60
0000588f: SHL
00005890: SWAP1
00005891: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000058b2: PUSH13 0x01000000000000000000000000
000058c0: DUP5
000058c1: MULMOD
000058c2: SWAP3
000058c3: DUP3
000058c4: DUP1
000058c5: DUP6
000058c6: LT
000058c7: SWAP5
000058c8: SUB
000058c9: SWAP4
000058ca: DUP1
000058cb: DUP6
000058cc: SUB
000058cd: SWAP5
000058ce: DUP6
000058cf: DUP5
000058d0: GT
000058d1: ISZERO
000058d2: PUSH2 0x0330
000058d5: JUMPI
000058d6: EQ
000058d7: PUSH2 0x593c
000058da: JUMPI
000058db: PUSH13 0x01000000000000000000000000
000058e9: DUP3
000058ea: SWAP2
000058eb: MULMOD
000058ec: DUP2
000058ed: DUP1
000058ee: PUSH0
000058ef: SUB
000058f0: AND
000058f1: DUP1
000058f2: SWAP3
000058f3: DIV
000058f4: PUSH1 0x02
000058f6: DUP2
000058f7: PUSH1 0x03
000058f9: MUL
000058fa: XOR
000058fb: DUP1
000058fc: DUP3
000058fd: MUL
000058fe: PUSH1 0x02
00005900: SUB
00005901: MUL
00005902: DUP1
00005903: DUP3
00005904: MUL
00005905: PUSH1 0x02
00005907: SUB
00005908: MUL
00005909: DUP1
0000590a: DUP3
0000590b: MUL
0000590c: PUSH1 0x02
0000590e: SUB
0000590f: MUL
00005910: DUP1
00005911: DUP3
00005912: MUL
00005913: PUSH1 0x02
00005915: SUB
00005916: MUL
00005917: DUP1
00005918: DUP3
00005919: MUL
0000591a: PUSH1 0x02
0000591c: SUB
0000591d: MUL
0000591e: DUP1
0000591f: SWAP2
00005920: MUL
00005921: PUSH1 0x02
00005923: SUB
00005924: MUL
00005925: SWAP4
00005926: PUSH1 0x01
00005928: DUP4
00005929: DUP1
0000592a: PUSH0
0000592b: SUB
0000592c: DIV
0000592d: ADD
0000592e: SWAP1
0000592f: DUP5
00005930: DUP4
00005931: GT
00005932: SWAP1
00005933: SUB
00005934: MUL
00005935: SWAP3
00005936: SUB
00005937: DIV
00005938: OR
00005939: MUL
0000593a: SWAP1
0000593b: JUMP
0000593c: JUMPDEST
0000593d: POP
0000593e: SWAP2
0000593f: POP
00005940: DIV
00005941: SWAP1
00005942: JUMP
00005943: JUMPDEST
00005944: SWAP2
00005945: DUP2
00005946: DUP4
00005947: MUL
00005948: SWAP2
00005949: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000596a: DUP2
0000596b: DUP6
0000596c: MULMOD
0000596d: SWAP4
0000596e: DUP4
0000596f: DUP1
00005970: DUP7
00005971: LT
00005972: SWAP6
00005973: SUB
00005974: SWAP5
00005975: DUP1
00005976: DUP7
00005977: SUB
00005978: SWAP6
00005979: DUP7
0000597a: DUP6
0000597b: GT
0000597c: ISZERO
0000597d: PUSH2 0x0330
00005980: JUMPI
00005981: EQ
00005982: PUSH2 0x59da
00005985: JUMPI
00005986: SWAP1
00005987: DUP3
00005988: SWAP2
00005989: MULMOD
0000598a: DUP2
0000598b: DUP1
0000598c: PUSH0
0000598d: SUB
0000598e: AND
0000598f: DUP1
00005990: SWAP3
00005991: DIV
00005992: PUSH1 0x02
00005994: DUP2
00005995: PUSH1 0x03
00005997: MUL
00005998: XOR
00005999: DUP1
0000599a: DUP3
0000599b: MUL
0000599c: PUSH1 0x02
0000599e: SUB
0000599f: MUL
000059a0: DUP1
000059a1: DUP3
000059a2: MUL
000059a3: PUSH1 0x02
000059a5: SUB
000059a6: MUL
000059a7: DUP1
000059a8: DUP3
000059a9: MUL
000059aa: PUSH1 0x02
000059ac: SUB
000059ad: MUL
000059ae: DUP1
000059af: DUP3
000059b0: MUL
000059b1: PUSH1 0x02
000059b3: SUB
000059b4: MUL
000059b5: DUP1
000059b6: DUP3
000059b7: MUL
000059b8: PUSH1 0x02
000059ba: SUB
000059bb: MUL
000059bc: DUP1
000059bd: SWAP2
000059be: MUL
000059bf: PUSH1 0x02
000059c1: SUB
000059c2: MUL
000059c3: SWAP4
000059c4: PUSH1 0x01
000059c6: DUP4
000059c7: DUP1
000059c8: PUSH0
000059c9: SUB
000059ca: DIV
000059cb: ADD
000059cc: SWAP1
000059cd: DUP5
000059ce: DUP4
000059cf: GT
000059d0: SWAP1
000059d1: SUB
000059d2: MUL
000059d3: SWAP3
000059d4: SUB
000059d5: DIV
000059d6: OR
000059d7: MUL
000059d8: SWAP1
000059d9: JUMP
000059da: JUMPDEST
000059db: POP
000059dc: POP
000059dd: SWAP2
000059de: POP
000059df: DIV
000059e0: SWAP1
000059e1: JUMP
000059e2: JUMPDEST
000059e3: PUSH16 0xffffffffffffffffffffffffffffffff
000059f4: PUSH13 0x01000000000000000000000000
00005a02: SWAP2
00005a03: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005a18: DUP1
00005a19: PUSH1 0x01
00005a1b: SWAP6
00005a1c: AND
00005a1d: SWAP2
00005a1e: AND
00005a1f: SUB
00005a20: DUP1
00005a21: PUSH1 0xff
00005a23: SAR
00005a24: SWAP1
00005a25: DUP2
00005a26: ADD
00005a27: XOR
00005a28: SWAP4
00005a29: AND
00005a2a: SWAP3
00005a2b: PUSH2 0x5a34
00005a2e: DUP2
00005a2f: DUP6
00005a30: PUSH2 0x5810
00005a33: JUMP
00005a34: JUMPDEST
00005a35: SWAP4
00005a36: MULMOD
00005a37: ISZERO
00005a38: ISZERO
00005a39: AND
00005a3a: ADD
00005a3b: SWAP1
00005a3c: JUMP
00005a3d: JUMPDEST
00005a3e: PUSH16 0xffffffffffffffffffffffffffffffff
00005a4f: SWAP1
00005a50: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005a65: DUP1
00005a66: PUSH2 0x364f
00005a69: SWAP6
00005a6a: SWAP5
00005a6b: AND
00005a6c: SWAP2
00005a6d: AND
00005a6e: SUB
00005a6f: DUP1
00005a70: PUSH1 0xff
00005a72: SAR
00005a73: SWAP1
00005a74: DUP2
00005a75: ADD
00005a76: XOR
00005a77: SWAP2
00005a78: AND
00005a79: PUSH2 0x5810
00005a7c: JUMP
00005a7d: JUMPDEST
00005a7e: SWAP1
00005a7f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005a94: DUP2
00005a95: AND
00005a96: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005aab: DUP4
00005aac: AND
00005aad: GT
00005aae: PUSH2 0x5b2e
00005ab1: JUMPI
00005ab2: JUMPDEST
00005ab3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005ac8: DUP3
00005ac9: AND
00005aca: SWAP3
00005acb: DUP4
00005acc: ISZERO
00005acd: PUSH2 0x5b22
00005ad0: JUMPI
00005ad1: PUSH28 0xffffffffffffffffffffffffffffffff000000000000000000000000
00005aee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005b03: PUSH2 0x5b16
00005b06: SWAP5
00005b07: DUP2
00005b08: DUP6
00005b09: AND
00005b0a: SWAP5
00005b0b: SUB
00005b0c: AND
00005b0d: SWAP2
00005b0e: PUSH1 0x60
00005b10: SHL
00005b11: AND
00005b12: PUSH2 0x5c68
00005b15: JUMP
00005b16: JUMPDEST
00005b17: SWAP1
00005b18: DUP1
00005b19: DUP3
00005b1a: MOD
00005b1b: ISZERO
00005b1c: ISZERO
00005b1d: SWAP2
00005b1e: DIV
00005b1f: ADD
00005b20: SWAP1
00005b21: JUMP
00005b22: JUMPDEST
00005b23: PUSH3 0xbfc921
00005b27: PUSH0
00005b28: MSTORE
00005b29: PUSH1 0x04
00005b2b: PUSH1 0x1c
00005b2d: REVERT
00005b2e: JUMPDEST
00005b2f: SWAP1
00005b30: PUSH2 0x5ab2
00005b33: JUMP
00005b34: JUMPDEST
00005b35: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005b4a: DUP3
00005b4b: AND
00005b4c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005b61: DUP3
00005b62: AND
00005b63: GT
00005b64: PUSH2 0x5bd5
00005b67: JUMPI
00005b68: JUMPDEST
00005b69: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005b7e: DUP2
00005b7f: AND
00005b80: SWAP2
00005b81: DUP3
00005b82: ISZERO
00005b83: PUSH2 0x5b22
00005b86: JUMPI
00005b87: PUSH2 0x364f
00005b8a: SWAP4
00005b8b: PUSH28 0xffffffffffffffffffffffffffffffff000000000000000000000000
00005ba8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005bbd: PUSH2 0x5bd0
00005bc0: SWAP5
00005bc1: DUP2
00005bc2: DUP6
00005bc3: AND
00005bc4: SWAP5
00005bc5: SUB
00005bc6: AND
00005bc7: SWAP2
00005bc8: PUSH1 0x60
00005bca: SHL
00005bcb: AND
00005bcc: PUSH2 0x5943
00005bcf: JUMP
00005bd0: JUMPDEST
00005bd1: PUSH2 0x4922
00005bd4: JUMP
00005bd5: JUMPDEST
00005bd6: SWAP1
00005bd7: PUSH2 0x5b68
00005bda: JUMP
00005bdb: JUMPDEST
00005bdc: DUP1
00005bdd: ISZERO
00005bde: PUSH2 0x0330
00005be1: JUMPI
00005be2: PUSH32 0x0706060506020500060203020504000106050205030304010505030400000000
00005c03: PUSH16 0x8421084210842108cc6318c6db6d54be
00005c14: DUP3
00005c15: PUSH16 0xffffffffffffffffffffffffffffffff
00005c26: LT
00005c27: PUSH1 0x07
00005c29: SHL
00005c2a: DUP4
00005c2b: DUP2
00005c2c: SHR
00005c2d: PUSH8 0xffffffffffffffff
00005c36: LT
00005c37: PUSH1 0x06
00005c39: SHL
00005c3a: OR
00005c3b: DUP4
00005c3c: DUP2
00005c3d: SHR
00005c3e: PUSH4 0xffffffff
00005c43: LT
00005c44: PUSH1 0x05
00005c46: SHL
00005c47: OR
00005c48: DUP4
00005c49: DUP2
00005c4a: SHR
00005c4b: PUSH2 0xffff
00005c4e: LT
00005c4f: PUSH1 0x04
00005c51: SHL
00005c52: OR
00005c53: DUP4
00005c54: DUP2
00005c55: SHR
00005c56: PUSH1 0xff
00005c58: LT
00005c59: PUSH1 0x03
00005c5b: SHL
00005c5c: OR
00005c5d: SWAP3
00005c5e: DUP4
00005c5f: SHR
00005c60: SHR
00005c61: PUSH1 0x1f
00005c63: AND
00005c64: BYTE
00005c65: OR
00005c66: SWAP1
00005c67: JUMP
00005c68: JUMPDEST
00005c69: SWAP3
00005c6a: SWAP2
00005c6b: SWAP1
00005c6c: PUSH2 0x5c76
00005c6f: DUP3
00005c70: DUP3
00005c71: DUP7
00005c72: PUSH2 0x5943
00005c75: JUMP
00005c76: JUMPDEST
00005c77: SWAP4
00005c78: DUP3
00005c79: ISZERO
00005c7a: PUSH2 0x492c
00005c7d: JUMPI
00005c7e: MULMOD
00005c7f: PUSH2 0x5c84
00005c82: JUMPI
00005c83: JUMP
00005c84: JUMPDEST
00005c85: SWAP1
00005c86: PUSH1 0x01
00005c88: ADD
00005c89: SWAP1
00005c8a: DUP2
00005c8b: ISZERO
00005c8c: PUSH2 0x0330
00005c8f: JUMPI
00005c90: JUMP
00005c91: JUMPDEST
00005c92: SWAP2
00005c93: SWAP1
00005c94: DUP2
00005c95: ISZERO
00005c96: PUSH2 0x5d02
00005c99: JUMPI
00005c9a: PUSH28 0xffffffffffffffffffffffffffffffff000000000000000000000000
00005cb7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005ccc: SWAP2
00005ccd: PUSH1 0x60
00005ccf: SHL
00005cd0: AND
00005cd1: SWAP3
00005cd2: AND
00005cd3: SWAP2
00005cd4: DUP3
00005cd5: DUP3
00005cd6: MUL
00005cd7: SWAP2
00005cd8: DUP4
00005cd9: DUP4
00005cda: DUP4
00005cdb: GT
00005cdc: SWAP2
00005cdd: DUP5
00005cde: DIV
00005cdf: EQ
00005ce0: AND
00005ce1: ISZERO
00005ce2: PUSH2 0x5cf5
00005ce5: JUMPI
00005ce6: PUSH2 0x364f
00005ce9: SWAP3
00005cea: PUSH2 0x5030
00005ced: SWAP3
00005cee: DUP3
00005cef: SUB
00005cf0: SWAP2
00005cf1: PUSH2 0x5c68
00005cf4: JUMP
00005cf5: JUMPDEST
00005cf6: PUSH4 0xf5c787f1
00005cfb: PUSH0
00005cfc: MSTORE
00005cfd: PUSH1 0x04
00005cff: PUSH1 0x1c
00005d01: REVERT
00005d02: JUMPDEST
00005d03: POP
00005d04: POP
00005d05: SWAP1
00005d06: JUMP
00005d07: JUMPDEST
00005d08: SWAP1
00005d09: SWAP2
00005d0a: DUP1
00005d0b: ISZERO
00005d0c: PUSH2 0x5d95
00005d0f: JUMPI
00005d10: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005d25: PUSH28 0xffffffffffffffffffffffffffffffff000000000000000000000000
00005d42: DUP2
00005d43: SWAP5
00005d44: PUSH1 0x60
00005d46: SHL
00005d47: AND
00005d48: SWAP3
00005d49: AND
00005d4a: DUP1
00005d4b: DUP3
00005d4c: MUL
00005d4d: DUP2
00005d4e: PUSH2 0x5d57
00005d51: DUP5
00005d52: DUP4
00005d53: PUSH2 0x4922
00005d56: JUMP
00005d57: JUMPDEST
00005d58: EQ
00005d59: PUSH2 0x5d7d
00005d5c: JUMPI
00005d5d: JUMPDEST
00005d5e: POP
00005d5f: SWAP1
00005d60: PUSH2 0x5d6c
00005d63: PUSH2 0x5d71
00005d66: SWAP3
00005d67: DUP5
00005d68: PUSH2 0x4922
00005d6b: JUMP
00005d6c: JUMPDEST
00005d6d: PUSH2 0x2ffa
00005d70: JUMP
00005d71: JUMPDEST
00005d72: DUP1
00005d73: DUP3
00005d74: MOD
00005d75: ISZERO
00005d76: ISZERO
00005d77: SWAP2
00005d78: DIV
00005d79: ADD
00005d7a: AND
00005d7b: SWAP1
00005d7c: JUMP
00005d7d: JUMPDEST
00005d7e: DUP4
00005d7f: ADD
00005d80: DUP4
00005d81: DUP2
00005d82: LT
00005d83: PUSH2 0x5d5d
00005d86: JUMPI
00005d87: SWAP2
00005d88: POP
00005d89: PUSH2 0x5d91
00005d8c: SWAP3
00005d8d: PUSH2 0x5c68
00005d90: JUMP
00005d91: JUMPDEST
00005d92: AND
00005d93: SWAP1
00005d94: JUMP
00005d95: JUMPDEST
00005d96: POP
00005d97: SWAP1
00005d98: POP
00005d99: SWAP1
00005d9a: JUMP
00005d9b: JUMPDEST
00005d9c: SWAP1
00005d9d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005db2: DUP3
00005db3: AND
00005db4: SWAP2
00005db5: DUP3
00005db6: SUB
00005db7: PUSH2 0x30c8
00005dba: JUMPI
00005dbb: JUMP
00005dbc: INVALID
00005dbd: LOG1
00005dbe: PUSH5 0x736f6c6343
00005dc4: STOP
00005dc5: ADDMOD
00005dc6: BYTE
00005dc7: STOP
00005dc8: EXP

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x2c2bdf7eb44ebeab3c55bcfd61b236248f3fc2f41dc202b95ee5c73b72a1a04a
call_targets: 0x000000000004444c5dc75cb358380d2e3de08a90
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x2c2bdf7eb44ebeab3c55bcfd61b236248f3fc2f41dc202b95ee5c73b72a1a04a",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x000000000004444c5dc75cb358380d2e3de08a90"
    ],
    "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": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095bcdb6",
            "selector": "0x095bcdb6",
            "calldata_variants": [
                "0x095bcdb6",
                "0x095bcdb60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0b0d9c09",
            "selector": "0x0b0d9c09",
            "calldata_variants": [
                "0x0b0d9c09",
                "0x0b0d9c090000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x11da60b4",
            "selector": "0x11da60b4",
            "calldata_variants": [
                "0x11da60b4",
                "0x11da60b40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x156e29f6",
            "selector": "0x156e29f6",
            "calldata_variants": [
                "0x156e29f6",
                "0x156e29f60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1e2eaeaf",
            "selector": "0x1e2eaeaf",
            "calldata_variants": [
                "0x1e2eaeaf",
                "0x1e2eaeaf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x234266d7",
            "selector": "0x234266d7",
            "calldata_variants": [
                "0x234266d7",
                "0x234266d70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2d771389",
            "selector": "0x2d771389",
            "calldata_variants": [
                "0x2d771389",
                "0x2d7713890000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 9035,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 12834,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 13121,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 4,
    "guards_detected": [
        {
            "pc": 15186,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ],
    "untrusted_call_count": 4
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x2c2bdf7eb44ebeab3c55bcfd61b236248f3fc2f41dc202b95ee5c73b72a1a04a
call_targets: 0x000000000004444c5dc75cb358380d2e3de08a90
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x2c2bdf7eb44ebeab3c55bcfd61b236248f3fc2f41dc202b95ee5c73b72a1a04a",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x000000000004444c5dc75cb358380d2e3de08a90"
    ],
    "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": "0x01ffc9a7",
            "selector": "0x01ffc9a7",
            "calldata_variants": [
                "0x01ffc9a7",
                "0x01ffc9a70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095bcdb6",
            "selector": "0x095bcdb6",
            "calldata_variants": [
                "0x095bcdb6",
                "0x095bcdb60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0b0d9c09",
            "selector": "0x0b0d9c09",
            "calldata_variants": [
                "0x0b0d9c09",
                "0x0b0d9c090000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x11da60b4",
            "selector": "0x11da60b4",
            "calldata_variants": [
                "0x11da60b4",
                "0x11da60b40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x156e29f6",
            "selector": "0x156e29f6",
            "calldata_variants": [
                "0x156e29f6",
                "0x156e29f60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1e2eaeaf",
            "selector": "0x1e2eaeaf",
            "calldata_variants": [
                "0x1e2eaeaf",
                "0x1e2eaeaf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x234266d7",
            "selector": "0x234266d7",
            "calldata_variants": [
                "0x234266d7",
                "0x234266d70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2d771389",
            "selector": "0x2d771389",
            "calldata_variants": [
                "0x2d771389",
                "0x2d7713890000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 9035,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 12834,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 13121,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 4,
    "guards_detected": [
        {
            "pc": 15186,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        }
    ]
}