5f9f3d70-2f71-4fbf-9167-25d1cc270325
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| 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 |
No slither job recorded yet.
[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":[]}
{
"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
}
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
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_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 |
viewtrace_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"
}
]
}
|