d56f910c-3d71-409c-894a-2f145cc856af
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 |
|---|---|---|---|---|
| 31177 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 76876 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 76877 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 76878 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 76879 | capability.graph | complete | 1 / 3 | 1 week ago |
| 76880 | detector.run | complete | 1 / 3 | 1 week ago |
| 76881 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:1090936] OpenAI Codex v0.77.0 (research preview)
[codex:1090936] --------
[codex:1090936] workdir: /tmp/codex-multi-btpuhlj_
[codex:1090936] model: gpt-5.2-codex
[codex:1090936] provider: openai
[codex:1090936] approval: never
[codex:1090936] sandbox: read-only
[codex:1090936] reasoning effort: xhigh
[codex:1090936] reasoning summaries: auto
[codex:1090936] session id: 019b7c5a-5d71-75b0-8cd7-9e14606e32e7
[codex:1090936] --------
[codex:1090936] user
[codex:1090936] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:1090936]
[codex:1090936] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:1090936]
[codex:1090936] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1090936] - Gas inefficiency, code quality, naming, or best practices
[codex:1090936] - Theoretical vulnerabilities without a clear extraction path
[codex:1090936] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:1090936] - Front-running unless it enables theft beyond MEV
[codex:1090936] - DoS, griefing, or issues that don't result in attacker profit
[codex:1090936] - Missing events, view function issues, or informational findings
[codex:1090936]
[codex:1090936] HIGH-VALUE PATTERNS TO HUNT:
[codex:1090936] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:1090936] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:1090936] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:1090936] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:1090936] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:1090936] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:1090936] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:1090936] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:1090936] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:1090936]
[codex:1090936] For each finding, you MUST provide:
[codex:1090936] 1. Exact file and line numbers of vulnerable code
[codex:1090936] 2. Step-by-step exploit transaction sequence
[codex:1090936] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:1090936]
[codex:1090936] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:1090936]
[codex:1090936] Output MUST be valid JSON matching the provided schema.
[codex:1090936] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1090936] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1090936] mcp startup: no servers
[codex:1090936]
[codex:1090936] thinking
[codex:1090936] **Preparing to read instructions**
[codex:1090936] exec
[codex:1090936] /bin/bash -lc ls in /tmp/codex-multi-btpuhlj_ succeeded in 6ms:
[codex:1090936] AUDIT_BUNDLE.txt
[codex:1090936] codex-output-schema.json
[codex:1090936] contracts
[codex:1090936] exec
[codex:1090936] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-btpuhlj_ succeeded in 7ms:
[codex:1090936] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1090936]
[codex:1090936] ================================================================================
[codex:1090936] FILE: contracts/contracts/base/Multicall.sol
[codex:1090936] ================================================================================
[codex:1090936] // SPDX-License-Identifier: GPL-2.0-or-later
[codex:1090936]
[codex:1090936] pragma solidity =0.8.22;
[codex:1090936]
[codex:1090936] import '../interfaces/IMulticall.sol';
[codex:1090936]
[codex:1090936] /**
[codex:1090936] * @title Multicall
[codex:1090936] * @author Uniswap
[codex:1090936] * @notice Adopted from https://github.com/Uniswap/v3-periphery/blob/1d69caf0d6c8cfeae9acd1f34ead30018d6e6400/contracts/base/Multicall.sol
[codex:1090936] * @notice Enables calling multiple methods in a single call to the contract
[codex:1090936] */
[codex:1090936] abstract contract Multicall is IMulticall {
[codex:1090936] /// @inheritdoc IMulticall
[codex:1090936] function multicall(bytes[] calldata data) external override returns (bytes[] memory results) {
[codex:1090936]
[codex:1090936] thinking
[codex:1090936] **Planning full file inspection**
[codex:1090936]
[codex:1090936] I see the file is huge and I need to read it fully before making any conclusions, but the output was truncated. To handle this, I'll read the file in smaller chunks using commands like `sed -n` to cover all lines systematically, ensuring I don't miss any potential vulnerabilities. I want to verify the entire AUDIT_BUNDLE.txt carefully.
[codex:1090936] exec
[codex:1090936] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-btpuhlj_ succeeded in 5ms:
[codex:1090936] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1090936]
[codex:1090936] ================================================================================
[codex:1090936] FILE: contracts/contracts/base/Multicall.sol
[codex:1090936] ================================================================================
[codex:1090936] // SPDX-License-Identifier: GPL-2.0-or-later
[codex:1090936]
[codex:1090936] pragma solidity =0.8.22;
[codex:1090936]
[codex:1090936] import '../interfaces/IMulticall.sol';
[codex:1090936]
[codex:1090936] /**
[codex:1090936] * @title Multicall
[codex:1090936] * @author Uniswap
[codex:1090936] * @notice Adopted from https://github.com/Uniswap/v3-periphery/blob/1d69caf0d6c8cfeae9acd1f34ead30018d6e6400/contracts/base/Multicall.sol
[codex:1090936] * @notice Enables calling multiple methods in a single call to the contract
[codex:1090936] */
[codex:1090936] abstract contract Multicall is IMulticall {
[codex:1090936] /// @inheritdoc IMulticall
[codex:1090936] function multicall(bytes[] calldata data) external override returns (bytes[] memory results) {
[codex:1090936]
[codex:1090936] thinking
[codex:1090936] **Planning file reading in segments**
[codex:1090936] exec
[codex:1090936] /bin/bash -lc "sed -n '200,400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-btpuhlj_ succeeded in 5ms:
[codex:1090936] /**
[codex:1090936] * @notice Total Oracles
[codex:1090936] * @return The total number of oracles registered
[codex:1090936] */
[codex:1090936] function totalOracles() external view returns (uint256);
[codex:1090936]
[codex:1090936] /**
[codex:1090936] * @notice Function for adding oracle to the set
[codex:1090936] * @param oracle The address of the oracle to add
[codex:1090936] */
[codex:1090936] function addOracle(address oracle) external;
[codex:1090936]
[codex:1090936] /**
[codex:1090936] * @notice Function for removing oracle from the set
[codex:1090936] * @param oracle The address of the oracle to remove
[codex:1090936] */
[codex:1090936] function removeOracle(address oracle) external;
[codex:1090936]
[codex:1090936] /**
[codex:1090936] * @notice Function for updating the config IPFS hash
[codex:1090936]
[codex:1090936] thinking
[codex:1090936] **Waiting for more content**
[codex:1090936] exec
[codex:1090936] /bin/bash -lc "sed -n '400,800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-btpuhlj_ succeeded in 6ms:
[codex:1090936] /**
[codex:1090936] * @notice Checks whether the Vault has registered validators
[codex:1090936] * @param vault The address of the Vault
[codex:1090936] * @return `true` if Vault is collateralized, `false` otherwise
[codex:1090936] */
[codex:1090936] function isCollateralized(address vault) external view returns (bool);
[codex:1090936]
[codex:1090936] /**
[codex:1090936] * @notice Update rewards data
[codex:1090936] * @param params The struct containing rewards update parameters
[codex:1090936] */
[codex:1090936] function updateRewards(RewardsUpdateParams calldata params) external;
[codex:1090936]
[codex:1090936] /**
[codex:1090936] * @notice Harvest rewards. Can be called only by Vault.
[codex:1090936] * @param params The struct containing rewards harvesting parameters
[codex:1090936] * @return totalAssetsDelta The total reward/penalty accumulated by the Vault since the last sync
[codex:1090936] * @return unlockedMevDelta The Vault execution reward that can be withdrawn from shared MEV escrow. Only used by shared MEV Vaults.
[codex:1090936] * @return harvested `true` when the rewards were harvested, `false` otherwise
[codex:1090936] */
[codex:1090936]
[codex:1090936] thinking
[codex:1090936] **Continuing analysis**
[codex:1090936] exec
[codex:1090936] /bin/bash -lc "sed -n '800,1200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-btpuhlj_ succeeded in 6ms:
[codex:1090936] /**
[codex:1090936] * @notice Event emitted on claim of the exited assets
[codex:1090936] * @param receiver The address that has received withdrawn assets
[codex:1090936] * @param prevPositionTicket The exit queue ticket received after the `enterExitQueue` call
[codex:1090936] * @param newPositionTicket The new exit queue ticket in case not all the shares were withdrawn. Otherwise 0.
[codex:1090936] * @param withdrawnAssets The total number of assets withdrawn
[codex:1090936] */
[codex:1090936] event ExitedAssetsClaimed(
[codex:1090936] address indexed receiver,
[codex:1090936] uint256 prevPositionTicket,
[codex:1090936] uint256 newPositionTicket,
[codex:1090936] uint256 withdrawnAssets
[codex:1090936] );
[codex:1090936]
[codex:1090936] /**
[codex:1090936] * @notice Locks shares to the exit queue. The shares continue earning rewards until they will be burned by the Vault.
[codex:1090936] * @param shares The number of shares to lock
[codex:1090936] * @param receiver The address that will receive assets upon withdrawal
[codex:1090936] * @return positionTicket The position ticket of the exit queue
[codex:1090936] */
[codex:1090936]
[codex:1090936] thinking
[codex:1090936] **Continuing processing**
[codex:1090936] exec
[codex:1090936] /bin/bash -lc "sed -n '1200,1600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-btpuhlj_ succeeded in 6ms:
[codex:1090936] function isStateUpdateRequired() external view returns (bool);
[codex:1090936]
[codex:1090936] /**
[codex:1090936] * @notice Updates the total amount of assets in the Vault and its exit queue
[codex:1090936] * @param harvestParams The parameters for harvesting Keeper rewards
[codex:1090936] */
[codex:1090936] function updateState(IKeeperRewards.HarvestParams calldata harvestParams) external;
[codex:1090936] }
[codex:1090936]
[codex:1090936] ================================================================================
[codex:1090936] FILE: contracts/contracts/interfaces/IVaultValidators.sol
[codex:1090936] ================================================================================
[codex:1090936] // SPDX-License-Identifier: BUSL-1.1
[codex:1090936]
[codex:1090936] pragma solidity =0.8.22;
[codex:1090936]
[codex:1090936] import {IKeeperValidators} from './IKeeperValidators.sol';
[codex:1090936] import {IVaultAdmin} from './IVaultAdmin.sol';
[codex:1090936] import {IVaultState} from './IVaultState.sol';
[codex:1090936]
[codex:1090936]
[codex:1090936] thinking
[codex:1090936] **Continuing process**
[codex:1090936] exec
[codex:1090936] /bin/bash -lc "sed -n '1600,2000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-btpuhlj_ succeeded in 5ms:
[codex:1090936]
[codex:1090936] // current total tickets for calculating assets per burned share
[codex:1090936] // can be used with _unsafeAccess as checkpointIdx < length
[codex:1090936] Checkpoint memory checkpoint = _unsafeAccess(self.checkpoints, checkpointIdx);
[codex:1090936] uint256 currTotalTickets = checkpoint.totalTickets;
[codex:1090936] uint256 checkpointAssets = checkpoint.exitedAssets;
[codex:1090936] // check whether position ticket is in [prevTotalTickets, currTotalTickets) range
[codex:1090936] if (positionTicket < prevTotalTickets || currTotalTickets <= positionTicket) {
[codex:1090936] revert Errors.InvalidCheckpointIndex();
[codex:1090936] }
[codex:1090936]
[codex:1090936] // calculate amount of available shares that will be updated while iterating over checkpoints
[codex:1090936] uint256 availableShares;
[codex:1090936] unchecked {
[codex:1090936] // cannot underflow as positionTicket < currTotalTickets
[codex:1090936] availableShares = currTotalTickets - positionTicket;
[codex:1090936] }
[codex:1090936]
[codex:1090936] // accumulate assets until the number of required shares is collected
[codex:1090936] uint256 checkpointShares;
[codex:1090936]
[codex:1090936] thinking
[codex:1090936] **Continuing process**
[codex:1090936] exec
[codex:1090936] /bin/bash -lc "sed -n '2000,2400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-btpuhlj_ succeeded in 6ms:
[codex:1090936] }
[codex:1090936]
[codex:1090936] /// @inheritdoc IVaultEnterExit
[codex:1090936] function redeem(
[codex:1090936] uint256 shares,
[codex:1090936] address receiver
[codex:1090936] ) public virtual override returns (uint256 assets) {
[codex:1090936] return _redeem(msg.sender, shares, receiver);
[codex:1090936] }
[codex:1090936]
[codex:1090936] /// @inheritdoc IVaultEnterExit
[codex:1090936] function enterExitQueue(
[codex:1090936] uint256 shares,
[codex:1090936] address receiver
[codex:1090936] ) public virtual override returns (uint256 positionTicket) {
[codex:1090936] return _enterExitQueue(msg.sender, shares, receiver);
[codex:1090936] }
[codex:1090936]
[codex:1090936] /// @inheritdoc IVaultEnterExit
[codex:1090936] function calculateExitedAssets(
[codex:1090936]
[codex:1090936] thinking
[codex:1090936] **Continuing exploration**
[codex:1090936] exec
[codex:1090936] /bin/bash -lc "sed -n '2400,2800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-btpuhlj_ succeeded in 6ms:
[codex:1090936] */
[codex:1090936] function _setFeeRecipient(address _feeRecipient) private {
[codex:1090936] _checkHarvested();
[codex:1090936] if (_feeRecipient == address(0)) revert Errors.InvalidFeeRecipient();
[codex:1090936]
[codex:1090936] // update fee recipient address
[codex:1090936] feeRecipient = _feeRecipient;
[codex:1090936] emit FeeRecipientUpdated(msg.sender, _feeRecipient);
[codex:1090936] }
[codex:1090936]
[codex:1090936] /**
[codex:1090936] * @dev Initializes the VaultFee contract
[codex:1090936] * @param _feeRecipient The address of the fee recipient
[codex:1090936] * @param _feePercent The fee percent that is charged by the Vault
[codex:1090936] */
[codex:1090936] function __VaultFee_init(address _feeRecipient, uint16 _feePercent) internal onlyInitializing {
[codex:1090936] if (_feePercent > _maxFeePercent) revert Errors.InvalidFeePercent();
[codex:1090936]
[codex:1090936] _setFeeRecipient(_feeRecipient);
[codex:1090936] feePercent = _feePercent;
[codex:1090936]
[codex:1090936] thinking
[codex:1090936] **Continuing to review file for duplication**
[codex:1090936] exec
[codex:1090936] /bin/bash -lc "sed -n '2800,3200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-btpuhlj_ succeeded in 6ms:
[codex:1090936] // cannot underflow because the sum of all shares can't exceed the _totalShares
[codex:1090936] _totalShares -= SafeCast.toUint128(shares);
[codex:1090936] }
[codex:1090936] }
[codex:1090936]
[codex:1090936] /**
[codex:1090936] * @dev Internal conversion function (from assets to shares) with support for rounding direction.
[codex:1090936] */
[codex:1090936] function _convertToShares(
[codex:1090936] uint256 assets,
[codex:1090936] Math.Rounding rounding
[codex:1090936] ) internal view returns (uint256 shares) {
[codex:1090936] uint256 totalShares_ = _totalShares;
[codex:1090936] // Will revert if assets > 0, totalShares > 0 and _totalAssets = 0.
[codex:1090936] // That corresponds to a case where any asset would represent an infinite amount of shares.
[codex:1090936] return
[codex:1090936] (assets == 0 || totalShares_ == 0)
[codex:1090936] ? assets
[codex:1090936] : Math.mulDiv(assets, totalShares_, _totalAssets, rounding);
[codex:1090936] }
[codex:1090936]
[codex:1090936]
[codex:1090936]
[codex:1090936] thinking
[codex:1090936] **Analyzing share inflation vulnerability**
[codex:1090936]
[codex:1090936] I'm examining EthFoxVault’s deposit and redeem mechanics, focusing on rounding behaviors that could let tiny deposits mint full shares, enabling share inflation attacks. This appears to allow a user to deposit minimal ETH (like 1 wei), receive an outsized share, and later claim more assets than deposited, effectively extracting value from other shareholders. I’m verifying constraints like withdrawal mechanics and vault collateralization to understand exploit feasibility.
[codex:1090936] thinking
[codex:1090936] **Evaluating exit queue profit scenario**
[codex:1090936]
[codex:1090936] I'm digging into how deposits with rounding up interact with the exit queue, showing that an attacker can deposit tiny amounts to mint full shares, then eventually claim outsized assets after validators exit. The profit is delayed but still real, and repeated minimal deposits could gradually extract value by diluting existing holders while share price shifts toward 1. This clarifies the exploit’s step-by-step feasibility and estimated gain.
[codex:1090936] thinking
[codex:1090936] **Calculating maximum extractable rewards**
[codex:1090936]
[codex:1090936] I'm confirming that repeated minimal deposits can drain nearly all accrued rewards by exploiting share price dilution, allowing extraction up to the total surplus assets. Now I’m preparing to locate vulnerable functions like _deposit and _convertToShares in the source files with exact line numbers to provide precise references.
[codex:1090936] exec
[codex:1090936] /bin/bash -lc "nl -ba contracts/contracts/vaults/modules/VaultEnterExit.sol | sed -n '70,180p'" in /tmp/codex-multi-btpuhlj_ succeeded in 8ms:
[codex:1090936] 70 {
[codex:1090936] 71 uint256 requestedShares = _exitRequests[
[codex:1090936] 72 keccak256(abi.encode(receiver, timestamp, positionTicket))
[codex:1090936] 73 ];
[codex:1090936] 74
[codex:1090936] 75 // calculate exited shares and assets
[codex:1090936] 76 (claimedShares, claimedAssets) = _exitQueue.calculateExitedAssets(
[codex:1090936] 77 exitQueueIndex,
[codex:1090936] 78 positionTicket,
[codex:1090936] 79 requestedShares
[codex:1090936] 80 );
[codex:1090936] 81 leftShares = requestedShares - claimedShares;
[codex:1090936] 82 }
[codex:1090936] 83
[codex:1090936] 84 /// @inheritdoc IVaultEnterExit
[codex:1090936] 85 function claimExitedAssets(
[codex:1090936] 86 uint256 positionTicket,
[codex:1090936] 87 uint256 timestamp,
[codex:1090936] 88 uint256 exitQueueIndex
[codex:1090936] 89 )
[codex:1090936]
[codex:1090936] thinking
[codex:1090936] **Locating _convertToShares lines**
[codex:1090936] exec
[codex:1090936] /bin/bash -lc "nl -ba contracts/contracts/vaults/modules/VaultState.sol | sed -n '120,220p'" in /tmp/codex-multi-btpuhlj_ succeeded in 6ms:
[codex:1090936] 120
[codex:1090936] 121 // update state
[codex:1090936] 122 _totalAssets = SafeCast.toUint128(newTotalAssets);
[codex:1090936] 123
[codex:1090936] 124 // calculate admin fee recipient assets
[codex:1090936] 125 uint256 feeRecipientAssets = Math.mulDiv(profitAssets, feePercent, _maxFeePercent);
[codex:1090936] 126 if (feeRecipientAssets == 0) return;
[codex:1090936] 127
[codex:1090936] 128 // SLOAD to memory
[codex:1090936] 129 uint256 totalShares_ = _totalShares;
[codex:1090936] 130
[codex:1090936] 131 // calculate fee recipient's shares
[codex:1090936] 132 uint256 feeRecipientShares;
[codex:1090936] 133 if (totalShares_ == 0) {
[codex:1090936] 134 feeRecipientShares = feeRecipientAssets;
[codex:1090936] 135 } else {
[codex:1090936] 136 unchecked {
[codex:1090936] 137 feeRecipientShares = Math.mulDiv(
[codex:1090936] 138 feeRecipientAssets,
[codex:1090936] 139 totalShares_,
[codex:1090936]
[codex:1090936] thinking
[codex:1090936] **Continuing conversion function review**
[codex:1090936] exec
[codex:1090936] /bin/bash -lc "nl -ba contracts/contracts/vaults/modules/VaultState.sol | sed -n '220,300p'" in /tmp/codex-multi-btpuhlj_ succeeded in 6ms:
[codex:1090936] 220
[codex:1090936] 221 /**
[codex:1090936] 222 * @dev Internal conversion function (from assets to shares) with support for rounding direction.
[codex:1090936] 223 */
[codex:1090936] 224 function _convertToShares(
[codex:1090936] 225 uint256 assets,
[codex:1090936] 226 Math.Rounding rounding
[codex:1090936] 227 ) internal view returns (uint256 shares) {
[codex:1090936] 228 uint256 totalShares_ = _totalShares;
[codex:1090936] 229 // Will revert if assets > 0, totalShares > 0 and _totalAssets = 0.
[codex:1090936] 230 // That corresponds to a case where any asset would represent an infinite amount of shares.
[codex:1090936] 231 return
[codex:1090936] 232 (assets == 0 || totalShares_ == 0)
[codex:1090936] 233 ? assets
[codex:1090936] 234 : Math.mulDiv(assets, totalShares_, _totalAssets, rounding);
[codex:1090936] 235 }
[codex:1090936] 236
[codex:1090936] 237 /**
[codex:1090936] 238 * @dev Internal function for harvesting Vaults' new assets
[codex:1090936] 239 * @return The total assets delta after harvest
[codex:1090936]
[codex:1090936]
[codex:1090936] thinking
[codex:1090936] **Analyzing deposit rounding vulnerability and exploit steps**
[codex:1090936] thinking
[codex:1090936] ```json
[codex:1090936] {
[codex:1090936] "no_findings": false,
[codex:1090936] "summary": "A high-severity math vulnerability arises from rounding-up during deposits, allowing an attacker to mint full shares for dust deposits and drain accrued vault rewards.",
[codex:1090936] "category": "math",
[codex:1090936] "severity": "high",
[codex:1090936] "title": "Share inflation via rounding-up in deposits enables dust deposit to mint full shares and extract accrued rewards",
[codex:1090936] "locations": [
[codex:1090936] "contracts/contracts/vaults/modules/VaultEnterExit.sol:131-149",
[codex:1090936] "contracts/contracts/vaults/modules/VaultState.sol:224-234"
[codex:1090936] ],
[codex:1090936] "evidence": "The _deposit function in VaultEnterExit.sol (lines 131-149) uses _convertToShares with Math.Rounding.Ceil rounding mode, causing any small deposit to mint at least one share. The _convertToShares method in VaultState.sol (lines 224-234) computes shares minted using Math.mulDiv with a rounding parameter, which when set to Ceil benefits the depositor for tiny deposits relative to share price.",
[codex:1090936] "exploit_scenario": "1) Wait until vault accrues rewards so totalAssets > totalShares. 2) Deposit a minimal amount (e.g., 1 wei); rounding-up mints 1 full share despite deposit being smaller than share price. 3) Enter exit queue or redeem shares depending on vault collateralization. 4) After exit queue processing or redeem, claim assets and receive approximately totalAssets/totalShares ETH for 1 wei deposited. 5) Repeat steps to drain nearly all accrued rewards. Profit potential is roughly totalAssets - totalShares ETH representing accumulated yield.",
[codex:1090936] "recommendation": "Change rounding mode to rounding down or add a check to revert if minted shares equal zero, and enforce a minimum deposit amount to prevent dust deposits from minting disproportionate shares."
[codex:1090936] }
[codex:1090936] ```
[codex:1090936] codex
[codex:1090936] {"no_findings":false,"summary":"Found a rounding-up share-minting path that allows dust deposits to mint full shares and siphon accrued rewards from existing depositors.","findings":[{"severity":"high","category":"math","title":"Rounding-up in deposits lets dust mint full shares and drain accrued rewards","exploit_scenario":"1) Wait until the vault has accrued rewards so that totalAssets > totalShares (share price > 1 wei). 2) Call deposit with msg.value = 1 wei (or any amount < share price). Because shares are minted with Math.Rounding.Ceil, the attacker receives 1 full share. 3) If collateralized, call enterExitQueue(1 share, attacker) and later claimExitedAssets once the exit queue processes; if not collateralized, call redeem(1 share). 4) The attacker receives ~totalAssets/totalShares ETH for a 1 wei deposit. Repeating this lets the attacker drain most/all accumulated rewards (totalAssets - totalShares) from existing holders.","recommendation":"Mint shares with rounding down (Math.Rounding.Floor) and revert when the result is zero, or enforce a minimum deposit >= current share price to prevent dust deposits from minting a full share.","evidence":"Deposit mints shares using Math.Rounding.Ceil, so any positive assets can round up to 1 share when share price > 1: _deposit -> _convertToShares(..., Ceil).","locations":["contracts/contracts/vaults/modules/VaultEnterExit.sol:131","contracts/contracts/vaults/modules/VaultEnterExit.sol:147","contracts/contracts/vaults/modules/VaultState.sol:224","contracts/contracts/vaults/modules/VaultState.sol:231"]}]}
[codex:1090936] tokens used
[codex:1090936] 108,284
[codex:1090936] {"no_findings":false,"summary":"Found a rounding-up share-minting path that allows dust deposits to mint full shares and siphon accrued rewards from existing depositors.","findings":[{"severity":"high","category":"math","title":"Rounding-up in deposits lets dust mint full shares and drain accrued rewards","exploit_scenario":"1) Wait until the vault has accrued rewards so that totalAssets > totalShares (share price > 1 wei). 2) Call deposit with msg.value = 1 wei (or any amount < share price). Because shares are minted with Math.Rounding.Ceil, the attacker receives 1 full share. 3) If collateralized, call enterExitQueue(1 share, attacker) and later claimExitedAssets once the exit queue processes; if not collateralized, call redeem(1 share). 4) The attacker receives ~totalAssets/totalShares ETH for a 1 wei deposit. Repeating this lets the attacker drain most/all accumulated rewards (totalAssets - totalShares) from existing holders.","recommendation":"Mint shares with rounding down (Math.Rounding.Floor) and revert when the result is zero, or enforce a minimum deposit >= current share price to prevent dust deposits from minting a full share.","evidence":"Deposit mints shares using Math.Rounding.Ceil, so any positive assets can round up to 1 share when share price > 1: _deposit -> _convertToShares(..., Ceil).","locations":["contracts/contracts/vaults/modules/VaultEnterExit.sol:131","contracts/contracts/vaults/modules/VaultEnterExit.sol:147","contracts/contracts/vaults/modules/VaultState.sol:224","contracts/contracts/vaults/modules/VaultState.sol:231"]}]}
{
"codex": {
"ran_at": "2026-01-02T01:42:25.981183+00:00",
"returncode": 0
},
"summary": "Found a rounding-up share-minting path that allows dust deposits to mint full shares and siphon accrued rewards from existing depositors.",
"raw_final": {
"summary": "Found a rounding-up share-minting path that allows dust deposits to mint full shares and siphon accrued rewards from existing depositors.",
"findings": [
{
"title": "Rounding-up in deposits lets dust mint full shares and drain accrued rewards",
"category": "math",
"evidence": "Deposit mints shares using Math.Rounding.Ceil, so any positive assets can round up to 1 share when share price > 1: _deposit -> _convertToShares(..., Ceil).",
"severity": "high",
"locations": [
"contracts/contracts/vaults/modules/VaultEnterExit.sol:131",
"contracts/contracts/vaults/modules/VaultEnterExit.sol:147",
"contracts/contracts/vaults/modules/VaultState.sol:224",
"contracts/contracts/vaults/modules/VaultState.sol:231"
],
"recommendation": "Mint shares with rounding down (Math.Rounding.Floor) and revert when the result is zero, or enforce a minimum deposit >= current share price to prevent dust deposits from minting a full share.",
"exploit_scenario": "1) Wait until the vault has accrued rewards so that totalAssets > totalShares (share price > 1 wei). 2) Call deposit with msg.value = 1 wei (or any amount < share price). Because shares are minted with Math.Rounding.Ceil, the attacker receives 1 full share. 3) If collateralized, call enterExitQueue(1 share, attacker) and later claimExitedAssets once the exit queue processes; if not collateralized, call redeem(1 share). 4) The attacker receives ~totalAssets/totalShares ETH for a 1 wei deposit. Repeating this lets the attacker drain most/all accumulated rewards (totalAssets - totalShares) from existing holders."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: ISZERO 0000000a: PUSH2 0x0022 0000000d: JUMPI 0000000e: JUMPDEST 0000000f: CALLDATASIZE 00000010: ISZERO 00000011: PUSH2 0x0018 00000014: JUMPI 00000015: PUSH0 00000016: DUP1 00000017: REVERT 00000018: JUMPDEST 00000019: PUSH2 0x0020 0000001c: PUSH2 0x1eec 0000001f: JUMP 00000020: JUMPDEST 00000021: STOP 00000022: JUMPDEST 00000023: PUSH0 00000024: CALLDATALOAD 00000025: PUSH1 0xe0 00000027: SHR 00000028: DUP1 00000029: PUSH4 0x01e1d114 0000002e: EQ 0000002f: PUSH2 0x02e1 00000032: JUMPI 00000033: DUP1 00000034: PUSH4 0x07a2d13a 00000039: EQ 0000003a: PUSH2 0x02dc 0000003d: JUMPI 0000003e: DUP1 0000003f: PUSH4 0x14c4184b 00000044: EQ 00000045: PUSH2 0x02d7 00000048: JUMPI 00000049: DUP1 0000004a: PUSH4 0x18f72950 0000004f: EQ 00000050: PUSH2 0x02d2 00000053: JUMPI 00000054: DUP1 00000055: PUSH4 0x1a7ff553 0000005a: EQ 0000005b: PUSH2 0x02cd 0000005e: JUMPI 0000005f: DUP1 00000060: PUSH4 0x2cdf7401 00000065: EQ 00000066: PUSH2 0x02c8 00000069: JUMPI 0000006a: DUP1 0000006b: PUSH4 0x3229fa95 00000070: EQ 00000071: PUSH2 0x02c3 00000074: JUMPI 00000075: DUP1 00000076: PUSH4 0x33194c0a 0000007b: EQ 0000007c: PUSH2 0x02be 0000007f: JUMPI 00000080: DUP1 00000081: PUSH4 0x3a98ef39 00000086: EQ 00000087: PUSH2 0x02b9 0000008a: JUMPI 0000008b: DUP1 0000008c: PUSH4 0x439fab91 00000091: EQ 00000092: PUSH2 0x02b4 00000095: JUMPI 00000096: DUP1 00000097: PUSH4 0x46904840 0000009c: EQ 0000009d: PUSH2 0x02af 000000a0: JUMPI 000000a1: DUP1 000000a2: PUSH4 0x4f1ef286 000000a7: EQ 000000a8: PUSH2 0x02aa 000000ab: JUMPI 000000ac: DUP1 000000ad: PUSH4 0x514e2708 000000b2: EQ 000000b3: PUSH2 0x02a5 000000b6: JUMPI 000000b7: DUP1 000000b8: PUSH4 0x52d1902d 000000bd: EQ 000000be: PUSH2 0x02a0 000000c1: JUMPI 000000c2: DUP1 000000c3: PUSH4 0x53156f28 000000c8: EQ 000000c9: PUSH2 0x029b 000000cc: JUMPI 000000cd: DUP1 000000ce: PUSH4 0x54fd4d50 000000d3: EQ 000000d4: PUSH2 0x0296 000000d7: JUMPI 000000d8: DUP1 000000d9: PUSH4 0x5c60da1b 000000de: EQ 000000df: PUSH2 0x0291 000000e2: JUMPI 000000e3: DUP1 000000e4: PUSH4 0x5cfc1a51 000000e9: EQ 000000ea: PUSH2 0x028c 000000ed: JUMPI 000000ee: DUP1 000000ef: PUSH4 0x5dddf3a8 000000f4: EQ 000000f5: PUSH2 0x0287 000000f8: JUMPI 000000f9: DUP1 000000fa: PUSH4 0x60d60e6e 000000ff: EQ 00000100: PUSH2 0x0282 00000103: JUMPI 00000104: DUP1 00000105: PUSH4 0x72b410a8 0000010a: EQ 0000010b: PUSH2 0x027d 0000010e: JUMPI 0000010f: DUP1 00000110: PUSH4 0x76b58b90 00000115: EQ 00000116: PUSH2 0x0278 00000119: JUMPI 0000011a: DUP1 0000011b: PUSH4 0x7bde82f2 00000120: EQ 00000121: PUSH2 0x0273 00000124: JUMPI 00000125: DUP1 00000126: PUSH4 0x7fd6f15c 0000012b: EQ 0000012c: PUSH2 0x026e 0000012f: JUMPI 00000130: DUP1 00000131: PUSH4 0x8697d2c2 00000136: EQ 00000137: PUSH2 0x0269 0000013a: JUMPI 0000013b: DUP1 0000013c: PUSH4 0x8ceab9aa 00000141: EQ 00000142: PUSH2 0x0264 00000145: JUMPI 00000146: DUP1 00000147: PUSH4 0x9b401cde 0000014c: EQ 0000014d: PUSH2 0x025f 00000150: JUMPI 00000151: DUP1 00000152: PUSH4 0xa1bf49aa 00000157: EQ 00000158: PUSH2 0x025a 0000015b: JUMPI 0000015c: DUP1 0000015d: PUSH4 0xa49a1e7d 00000162: EQ 00000163: PUSH2 0x0255 00000166: JUMPI 00000167: DUP1 00000168: PUSH4 0xaaa4e836 0000016d: EQ 0000016e: PUSH2 0x0250 00000171: JUMPI 00000172: DUP1 00000173: PUSH4 0xac9650d8 00000178: EQ 00000179: PUSH2 0x024b 0000017c: JUMPI 0000017d: DUP1 0000017e: PUSH4 0xad3cb1cc 00000183: EQ 00000184: PUSH2 0x0246 00000187: JUMPI 00000188: DUP1 00000189: PUSH4 0xb45a1eb5 0000018e: EQ 0000018f: PUSH2 0x0241 00000192: JUMPI 00000193: DUP1 00000194: PUSH4 0xb5c26bfc 00000199: EQ 0000019a: PUSH2 0x023c 0000019d: JUMPI 0000019e: DUP1 0000019f: PUSH4 0xc6e6f592 000001a4: EQ 000001a5: PUSH2 0x0237 000001a8: JUMPI 000001a9: DUP1 000001aa: PUSH4 0xd0a64ddc 000001af: EQ 000001b0: PUSH2 0x0232 000001b3: JUMPI 000001b4: DUP1 000001b5: PUSH4 0xd83ad00c 000001ba: EQ 000001bb: PUSH2 0x022d 000001be: JUMPI 000001bf: DUP1 000001c0: PUSH4 0xe74b981b 000001c5: EQ 000001c6: PUSH2 0x0228 000001c9: JUMPI 000001ca: DUP1 000001cb: PUSH4 0xef2a2158 000001d0: EQ 000001d1: PUSH2 0x0223 000001d4: JUMPI 000001d5: DUP1 000001d6: PUSH4 0xf04da65b 000001db: EQ 000001dc: PUSH2 0x021e 000001df: JUMPI 000001e0: DUP1 000001e1: PUSH4 0xf45bf3d2 000001e6: EQ 000001e7: PUSH2 0x0219 000001ea: JUMPI 000001eb: DUP1 000001ec: PUSH4 0xf5e9de4d 000001f1: EQ 000001f2: PUSH2 0x0214 000001f5: JUMPI 000001f6: DUP1 000001f7: PUSH4 0xf851a440 000001fc: EQ 000001fd: PUSH2 0x020f 00000200: JUMPI 00000201: PUSH4 0xf9609f08 00000206: SUB 00000207: PUSH2 0x000e 0000020a: JUMPI 0000020b: PUSH2 0x1472 0000020e: JUMP 0000020f: JUMPDEST 00000210: PUSH2 0x144b 00000213: JUMP 00000214: JUMPDEST 00000215: PUSH2 0x12a7 00000218: JUMP 00000219: JUMPDEST 0000021a: PUSH2 0x1266 0000021d: JUMP 0000021e: JUMPDEST 0000021f: PUSH2 0x122b 00000222: JUMP 00000223: JUMPDEST 00000224: PUSH2 0x11a3 00000227: JUMP 00000228: JUMPDEST 00000229: PUSH2 0x1168 0000022c: JUMP 0000022d: JUMPDEST 0000022e: PUSH2 0x1142 00000231: JUMP 00000232: JUMPDEST 00000233: PUSH2 0x1115 00000236: JUMP 00000237: JUMPDEST 00000238: PUSH2 0x10f7 0000023b: JUMP 0000023c: JUMPDEST 0000023d: PUSH2 0x10d2 00000240: JUMP 00000241: JUMPDEST 00000242: PUSH2 0x10a0 00000245: JUMP 00000246: JUMPDEST 00000247: PUSH2 0x1051 0000024a: JUMP 0000024b: JUMPDEST 0000024c: PUSH2 0x0f59 0000024f: JUMP 00000250: JUMPDEST 00000251: PUSH2 0x0e01 00000254: JUMP 00000255: JUMPDEST 00000256: PUSH2 0x0daa 00000259: JUMP 0000025a: JUMPDEST 0000025b: PUSH2 0x0d8d 0000025e: JUMP 0000025f: JUMPDEST 00000260: PUSH2 0x0d70 00000263: JUMP 00000264: JUMPDEST 00000265: PUSH2 0x0d45 00000268: JUMP 00000269: JUMPDEST 0000026a: PUSH2 0x0d20 0000026d: JUMP 0000026e: JUMPDEST 0000026f: PUSH2 0x0cfc 00000272: JUMP 00000273: JUMPDEST 00000274: PUSH2 0x0cd1 00000277: JUMP 00000278: JUMPDEST 00000279: PUSH2 0x0c80 0000027c: JUMP 0000027d: JUMPDEST 0000027e: PUSH2 0x0bf3 00000281: JUMP 00000282: JUMPDEST 00000283: PUSH2 0x0b4a 00000286: JUMP 00000287: JUMPDEST 00000288: PUSH2 0x0b30 0000028b: JUMP 0000028c: JUMPDEST 0000028d: PUSH2 0x0b16 00000290: JUMP 00000291: JUMPDEST 00000292: PUSH2 0x0ae2 00000295: JUMP 00000296: JUMPDEST 00000297: PUSH2 0x0ac7 0000029a: JUMP 0000029b: JUMPDEST 0000029c: PUSH2 0x0aa3 0000029f: JUMP 000002a0: JUMPDEST 000002a1: PUSH2 0x0a3a 000002a4: JUMP 000002a5: JUMPDEST 000002a6: PUSH2 0x09ce 000002a9: JUMP 000002aa: JUMPDEST 000002ab: PUSH2 0x0733 000002ae: JUMP 000002af: JUMPDEST 000002b0: PUSH2 0x0628 000002b3: JUMP 000002b4: JUMPDEST 000002b5: PUSH2 0x050f 000002b8: JUMP 000002b9: JUMPDEST 000002ba: PUSH2 0x04a0 000002bd: JUMP 000002be: JUMPDEST 000002bf: PUSH2 0x0466 000002c2: JUMP 000002c3: JUMPDEST 000002c4: PUSH2 0x043a 000002c7: JUMP 000002c8: JUMPDEST 000002c9: PUSH2 0x0420 000002cc: JUMP 000002cd: JUMPDEST 000002ce: PUSH2 0x03ed 000002d1: JUMP 000002d2: JUMPDEST 000002d3: PUSH2 0x0382 000002d6: JUMP 000002d7: JUMPDEST 000002d8: PUSH2 0x033a 000002db: JUMP 000002dc: JUMPDEST 000002dd: PUSH2 0x0314 000002e0: JUMP 000002e1: JUMPDEST 000002e2: PUSH2 0x02f4 000002e5: JUMP 000002e6: JUMPDEST 000002e7: PUSH0 000002e8: SWAP2 000002e9: SUB 000002ea: SLT 000002eb: PUSH2 0x02f0 000002ee: JUMPI 000002ef: JUMP 000002f0: JUMPDEST 000002f1: PUSH0 000002f2: DUP1 000002f3: REVERT 000002f4: JUMPDEST 000002f5: CALLVALUE 000002f6: PUSH2 0x02f0 000002f9: JUMPI 000002fa: PUSH0 000002fb: CALLDATASIZE 000002fc: PUSH1 0x03 000002fe: NOT 000002ff: ADD 00000300: SLT 00000301: PUSH2 0x02f0 00000304: JUMPI 00000305: PUSH1 0x20 00000307: PUSH1 0x98 00000309: SLOAD 0000030a: PUSH1 0x80 0000030c: SHR 0000030d: PUSH1 0x40 0000030f: MLOAD 00000310: SWAP1 00000311: DUP2 00000312: MSTORE 00000313: RETURN 00000314: JUMPDEST 00000315: CALLVALUE 00000316: PUSH2 0x02f0 00000319: JUMPI 0000031a: PUSH1 0x20 0000031c: CALLDATASIZE 0000031d: PUSH1 0x03 0000031f: NOT 00000320: ADD 00000321: SLT 00000322: PUSH2 0x02f0 00000325: JUMPI 00000326: PUSH1 0x20 00000328: PUSH2 0x0332 0000032b: PUSH1 0x04 0000032d: CALLDATALOAD 0000032e: PUSH2 0x149c 00000331: JUMP 00000332: JUMPDEST 00000333: PUSH1 0x40 00000335: MLOAD 00000336: SWAP1 00000337: DUP2 00000338: MSTORE 00000339: RETURN 0000033a: JUMPDEST 0000033b: CALLVALUE 0000033c: PUSH2 0x02f0 0000033f: JUMPI 00000340: PUSH0 00000341: CALLDATASIZE 00000342: PUSH1 0x03 00000344: NOT 00000345: ADD 00000346: SLT 00000347: PUSH2 0x02f0 0000034a: JUMPI 0000034b: PUSH2 0x019c 0000034e: SLOAD 0000034f: PUSH1 0x40 00000351: MLOAD 00000352: PUSH1 0x01 00000354: PUSH1 0x01 00000356: PUSH1 0xa0 00000358: SHL 00000359: SUB 0000035a: SWAP1 0000035b: SWAP2 0000035c: AND 0000035d: DUP2 0000035e: MSTORE 0000035f: PUSH1 0x20 00000361: SWAP1 00000362: RETURN 00000363: JUMPDEST 00000364: PUSH1 0x01 00000366: PUSH1 0x01 00000368: PUSH1 0xa0 0000036a: SHL 0000036b: SUB 0000036c: DUP2 0000036d: AND 0000036e: SUB 0000036f: PUSH2 0x02f0 00000372: JUMPI 00000373: JUMP 00000374: JUMPDEST 00000375: SWAP1 00000376: DUP2 00000377: PUSH1 0x80 00000379: SWAP2 0000037a: SUB 0000037b: SLT 0000037c: PUSH2 0x02f0 0000037f: JUMPI 00000380: SWAP1 00000381: JUMP 00000382: JUMPDEST 00000383: PUSH1 0x60 00000385: CALLDATASIZE 00000386: PUSH1 0x03 00000388: NOT 00000389: ADD 0000038a: SLT 0000038b: PUSH2 0x02f0 0000038e: JUMPI 0000038f: PUSH1 0x04 00000391: CALLDATALOAD 00000392: PUSH2 0x039a 00000395: DUP2 00000396: PUSH2 0x0363 00000399: JUMP 0000039a: JUMPDEST 0000039b: PUSH1 0x24 0000039d: CALLDATALOAD 0000039e: PUSH2 0x03a6 000003a1: DUP2 000003a2: PUSH2 0x0363 000003a5: JUMP 000003a6: JUMPDEST 000003a7: PUSH1 0x44 000003a9: CALLDATALOAD 000003aa: SWAP1 000003ab: PUSH1 0x01 000003ad: PUSH1 0x01 000003af: PUSH1 0x40 000003b1: SHL 000003b2: SUB 000003b3: DUP3 000003b4: GT 000003b5: PUSH2 0x02f0 000003b8: JUMPI 000003b9: PUSH1 0x20 000003bb: SWAP3 000003bc: PUSH2 0x03d4 000003bf: PUSH2 0x03cf 000003c2: PUSH2 0x0332 000003c5: SWAP5 000003c6: CALLDATASIZE 000003c7: SWAP1 000003c8: PUSH1 0x04 000003ca: ADD 000003cb: PUSH2 0x0374 000003ce: JUMP 000003cf: JUMPDEST 000003d0: PUSH2 0x14c2 000003d3: JUMP 000003d4: JUMPDEST 000003d5: PUSH2 0x03dd 000003d8: CALLER 000003d9: PUSH2 0x30bb 000003dc: JUMP 000003dd: JUMPDEST 000003de: PUSH2 0x03e6 000003e1: DUP2 000003e2: PUSH2 0x30bb 000003e5: JUMP 000003e6: JUMPDEST 000003e7: CALLVALUE 000003e8: SWAP1 000003e9: PUSH2 0x3191 000003ec: JUMP 000003ed: JUMPDEST 000003ee: CALLVALUE 000003ef: PUSH2 0x02f0 000003f2: JUMPI 000003f3: PUSH1 0x20 000003f5: CALLDATASIZE 000003f6: PUSH1 0x03 000003f8: NOT 000003f9: ADD 000003fa: SLT 000003fb: PUSH2 0x02f0 000003fe: JUMPI 000003ff: PUSH1 0x04 00000401: CALLDATALOAD 00000402: PUSH1 0x01 00000404: PUSH1 0x01 00000406: PUSH1 0x40 00000408: SHL 00000409: SUB 0000040a: DUP2 0000040b: GT 0000040c: PUSH2 0x02f0 0000040f: JUMPI 00000410: PUSH2 0x03cf 00000413: PUSH2 0x0020 00000416: SWAP2 00000417: CALLDATASIZE 00000418: SWAP1 00000419: PUSH1 0x04 0000041b: ADD 0000041c: PUSH2 0x0374 0000041f: JUMP 00000420: JUMPDEST 00000421: CALLVALUE 00000422: PUSH2 0x02f0 00000425: JUMPI 00000426: PUSH0 00000427: CALLDATASIZE 00000428: PUSH1 0x03 0000042a: NOT 0000042b: ADD 0000042c: SLT 0000042d: PUSH2 0x02f0 00000430: JUMPI 00000431: PUSH1 0x20 00000433: PUSH2 0x0332 00000436: PUSH2 0x14f3 00000439: JUMP 0000043a: JUMPDEST 0000043b: CALLVALUE 0000043c: PUSH2 0x02f0 0000043f: JUMPI 00000440: PUSH0 00000441: CALLDATASIZE 00000442: PUSH1 0x03 00000444: NOT 00000445: ADD 00000446: SLT 00000447: PUSH2 0x02f0 0000044a: JUMPI 0000044b: PUSH1 0x20 0000044d: PUSH2 0x0454 00000450: PUSH2 0x1522 00000453: JUMP 00000454: JUMPDEST 00000455: PUSH1 0x40 00000457: MLOAD 00000458: PUSH1 0x01 0000045a: PUSH1 0x01 0000045c: PUSH1 0xa0 0000045e: SHL 0000045f: SUB 00000460: SWAP1 00000461: SWAP2 00000462: AND 00000463: DUP2 00000464: MSTORE 00000465: RETURN 00000466: JUMPDEST 00000467: CALLVALUE 00000468: PUSH2 0x02f0 0000046b: JUMPI 0000046c: PUSH0 0000046d: CALLDATASIZE 0000046e: PUSH1 0x03 00000470: NOT 00000471: ADD 00000472: SLT 00000473: PUSH2 0x02f0 00000476: JUMPI 00000477: PUSH1 0x20 00000479: PUSH1 0x40 0000047b: MLOAD 0000047c: PUSH32 0x2250bd18cc1a4ed1c5d180b9b913648e6054cdf2d614f9c25477c4ba18cc7ea0 0000049d: DUP2 0000049e: MSTORE 0000049f: RETURN 000004a0: JUMPDEST 000004a1: CALLVALUE 000004a2: PUSH2 0x02f0 000004a5: JUMPI 000004a6: PUSH0 000004a7: CALLDATASIZE 000004a8: PUSH1 0x03 000004aa: NOT 000004ab: ADD 000004ac: SLT 000004ad: PUSH2 0x02f0 000004b0: JUMPI 000004b1: PUSH1 0x20 000004b3: PUSH1 0x01 000004b5: PUSH1 0x01 000004b7: PUSH1 0x80 000004b9: SHL 000004ba: SUB 000004bb: PUSH1 0x98 000004bd: SLOAD 000004be: AND 000004bf: PUSH1 0x40 000004c1: MLOAD 000004c2: SWAP1 000004c3: DUP2 000004c4: MSTORE 000004c5: RETURN 000004c6: JUMPDEST 000004c7: SWAP1 000004c8: PUSH1 0x20 000004ca: PUSH1 0x03 000004cc: NOT 000004cd: DUP4 000004ce: ADD 000004cf: SLT 000004d0: PUSH2 0x02f0 000004d3: JUMPI 000004d4: PUSH1 0x04 000004d6: CALLDATALOAD 000004d7: PUSH1 0x01 000004d9: PUSH1 0x01 000004db: PUSH1 0x40 000004dd: SHL 000004de: SUB 000004df: SWAP3 000004e0: DUP4 000004e1: DUP3 000004e2: GT 000004e3: PUSH2 0x02f0 000004e6: JUMPI 000004e7: DUP1 000004e8: PUSH1 0x23 000004ea: DUP4 000004eb: ADD 000004ec: SLT 000004ed: ISZERO 000004ee: PUSH2 0x02f0 000004f1: JUMPI 000004f2: DUP2 000004f3: PUSH1 0x04 000004f5: ADD 000004f6: CALLDATALOAD 000004f7: SWAP4 000004f8: DUP5 000004f9: GT 000004fa: PUSH2 0x02f0 000004fd: JUMPI 000004fe: PUSH1 0x24 00000500: DUP5 00000501: DUP4 00000502: ADD 00000503: ADD 00000504: GT 00000505: PUSH2 0x02f0 00000508: JUMPI 00000509: PUSH1 0x24 0000050b: ADD 0000050c: SWAP2 0000050d: SWAP1 0000050e: JUMP 0000050f: JUMPDEST 00000510: PUSH2 0x0518 00000513: CALLDATASIZE 00000514: PUSH2 0x04c6 00000517: JUMP 00000518: JUMPDEST 00000519: SWAP1 0000051a: PUSH0 0000051b: DUP1 0000051c: MLOAD 0000051d: PUSH1 0x20 0000051f: PUSH2 0x39cf 00000522: DUP4 00000523: CODECOPY 00000524: DUP2 00000525: MLOAD 00000526: SWAP2 00000527: MSTORE 00000528: SLOAD 00000529: SWAP2 0000052a: PUSH1 0x01 0000052c: PUSH1 0x01 0000052e: PUSH1 0x40 00000530: SHL 00000531: SUB 00000532: PUSH1 0xff 00000534: DUP5 00000535: PUSH1 0x40 00000537: SHR 00000538: AND 00000539: ISZERO 0000053a: SWAP4 0000053b: AND 0000053c: DUP1 0000053d: ISZERO 0000053e: SWAP1 0000053f: DUP2 00000540: PUSH2 0x0620 00000543: JUMPI 00000544: JUMPDEST 00000545: PUSH1 0x01 00000547: EQ 00000548: SWAP1 00000549: DUP2 0000054a: PUSH2 0x0616 0000054d: JUMPI 0000054e: JUMPDEST 0000054f: ISZERO 00000550: SWAP1 00000551: DUP2 00000552: PUSH2 0x060d 00000555: JUMPI 00000556: JUMPDEST 00000557: POP 00000558: PUSH2 0x05fb 0000055b: JUMPI 0000055c: PUSH0 0000055d: DUP1 0000055e: MLOAD 0000055f: PUSH1 0x20 00000561: PUSH2 0x39cf 00000564: DUP4 00000565: CODECOPY 00000566: DUP2 00000567: MLOAD 00000568: SWAP2 00000569: MSTORE 0000056a: DUP1 0000056b: SLOAD 0000056c: PUSH8 0xffffffffffffffff 00000575: NOT 00000576: AND 00000577: PUSH1 0x01 00000579: OR 0000057a: SWAP1 0000057b: SSTORE 0000057c: PUSH2 0x0589 0000057f: SWAP2 00000580: DUP4 00000581: PUSH2 0x05d7 00000584: JUMPI 00000585: PUSH2 0x15b4 00000588: JUMP 00000589: JUMPDEST 0000058a: PUSH2 0x058f 0000058d: JUMPI 0000058e: STOP 0000058f: JUMPDEST 00000590: PUSH0 00000591: DUP1 00000592: MLOAD 00000593: PUSH1 0x20 00000595: PUSH2 0x39cf 00000598: DUP4 00000599: CODECOPY 0000059a: DUP2 0000059b: MLOAD 0000059c: SWAP2 0000059d: MSTORE 0000059e: DUP1 0000059f: SLOAD 000005a0: PUSH1 0xff 000005a2: PUSH1 0x40 000005a4: SHL 000005a5: NOT 000005a6: AND 000005a7: SWAP1 000005a8: SSTORE 000005a9: PUSH1 0x40 000005ab: MLOAD 000005ac: PUSH1 0x01 000005ae: DUP2 000005af: MSTORE 000005b0: PUSH32 0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2 000005d1: SWAP1 000005d2: PUSH1 0x20 000005d4: SWAP1 000005d5: LOG1 000005d6: STOP 000005d7: JUMPDEST 000005d8: PUSH0 000005d9: DUP1 000005da: MLOAD 000005db: PUSH1 0x20 000005dd: PUSH2 0x39cf 000005e0: DUP4 000005e1: CODECOPY 000005e2: DUP2 000005e3: MLOAD 000005e4: SWAP2 000005e5: MSTORE 000005e6: DUP1 000005e7: SLOAD 000005e8: PUSH1 0xff 000005ea: PUSH1 0x40 000005ec: SHL 000005ed: NOT 000005ee: AND 000005ef: PUSH1 0x01 000005f1: PUSH1 0x40 000005f3: SHL 000005f4: OR 000005f5: SWAP1 000005f6: SSTORE 000005f7: PUSH2 0x15b4 000005fa: JUMP 000005fb: JUMPDEST 000005fc: PUSH1 0x40 000005fe: MLOAD 000005ff: PUSH4 0xf92ee8a9 00000604: PUSH1 0xe0 00000606: SHL 00000607: DUP2 00000608: MSTORE 00000609: PUSH1 0x04 0000060b: SWAP1 0000060c: REVERT 0000060d: JUMPDEST 0000060e: SWAP1 0000060f: POP 00000610: ISZERO 00000611: PUSH0 00000612: PUSH2 0x0556 00000615: JUMP 00000616: JUMPDEST 00000617: ADDRESS 00000618: EXTCODESIZE 00000619: ISZERO 0000061a: SWAP2 0000061b: POP 0000061c: PUSH2 0x054e 0000061f: JUMP 00000620: JUMPDEST 00000621: DUP5 00000622: SWAP2 00000623: POP 00000624: PUSH2 0x0544 00000627: JUMP 00000628: JUMPDEST 00000629: CALLVALUE 0000062a: PUSH2 0x02f0 0000062d: JUMPI 0000062e: PUSH0 0000062f: CALLDATASIZE 00000630: PUSH1 0x03 00000632: NOT 00000633: ADD 00000634: SLT 00000635: PUSH2 0x02f0 00000638: JUMPI 00000639: PUSH1 0x65 0000063b: SLOAD 0000063c: PUSH1 0x40 0000063e: MLOAD 0000063f: PUSH1 0x01 00000641: PUSH1 0x01 00000643: PUSH1 0xa0 00000645: SHL 00000646: SUB 00000647: SWAP1 00000648: SWAP2 00000649: AND 0000064a: DUP2 0000064b: MSTORE 0000064c: PUSH1 0x20 0000064e: SWAP1 0000064f: RETURN 00000650: JUMPDEST 00000651: PUSH4 0x4e487b71 00000656: PUSH1 0xe0 00000658: SHL 00000659: PUSH0 0000065a: MSTORE 0000065b: PUSH1 0x41 0000065d: PUSH1 0x04 0000065f: MSTORE 00000660: PUSH1 0x24 00000662: PUSH0 00000663: REVERT 00000664: JUMPDEST 00000665: PUSH1 0x01 00000667: PUSH1 0x01 00000669: PUSH1 0x40 0000066b: SHL 0000066c: SUB 0000066d: DUP2 0000066e: GT 0000066f: PUSH2 0x0677 00000672: JUMPI 00000673: PUSH1 0x40 00000675: MSTORE 00000676: JUMP 00000677: JUMPDEST 00000678: PUSH2 0x0650 0000067b: JUMP 0000067c: JUMPDEST 0000067d: PUSH1 0xa0 0000067f: DUP2 00000680: ADD 00000681: SWAP1 00000682: DUP2 00000683: LT 00000684: PUSH1 0x01 00000686: PUSH1 0x01 00000688: PUSH1 0x40 0000068a: SHL 0000068b: SUB 0000068c: DUP3 0000068d: GT 0000068e: OR 0000068f: PUSH2 0x0677 00000692: JUMPI 00000693: PUSH1 0x40 00000695: MSTORE 00000696: JUMP 00000697: JUMPDEST 00000698: PUSH1 0x40 0000069a: DUP2 0000069b: ADD 0000069c: SWAP1 0000069d: DUP2 0000069e: LT 0000069f: PUSH1 0x01 000006a1: PUSH1 0x01 000006a3: PUSH1 0x40 000006a5: SHL 000006a6: SUB 000006a7: DUP3 000006a8: GT 000006a9: OR 000006aa: PUSH2 0x0677 000006ad: JUMPI 000006ae: PUSH1 0x40 000006b0: MSTORE 000006b1: JUMP 000006b2: JUMPDEST 000006b3: SWAP1 000006b4: PUSH1 0x1f 000006b6: DUP1 000006b7: NOT 000006b8: SWAP2 000006b9: ADD 000006ba: AND 000006bb: DUP2 000006bc: ADD 000006bd: SWAP1 000006be: DUP2 000006bf: LT 000006c0: PUSH1 0x01 000006c2: PUSH1 0x01 000006c4: PUSH1 0x40 000006c6: SHL 000006c7: SUB 000006c8: DUP3 000006c9: GT 000006ca: OR 000006cb: PUSH2 0x0677 000006ce: JUMPI 000006cf: PUSH1 0x40 000006d1: MSTORE 000006d2: JUMP 000006d3: JUMPDEST 000006d4: PUSH1 0x40 000006d6: MLOAD 000006d7: SWAP1 000006d8: PUSH2 0x06e0 000006db: DUP3 000006dc: PUSH2 0x0697 000006df: JUMP 000006e0: JUMPDEST 000006e1: JUMP 000006e2: JUMPDEST 000006e3: PUSH1 0x01 000006e5: PUSH1 0x01 000006e7: PUSH1 0x40 000006e9: SHL 000006ea: SUB 000006eb: DUP2 000006ec: GT 000006ed: PUSH2 0x0677 000006f0: JUMPI 000006f1: PUSH1 0x1f 000006f3: ADD 000006f4: PUSH1 0x1f 000006f6: NOT 000006f7: AND 000006f8: PUSH1 0x20 000006fa: ADD 000006fb: SWAP1 000006fc: JUMP 000006fd: JUMPDEST 000006fe: SWAP3 000006ff: SWAP2 00000700: SWAP3 00000701: PUSH2 0x0709 00000704: DUP3 00000705: PUSH2 0x06e2 00000708: JUMP 00000709: JUMPDEST 0000070a: SWAP2 0000070b: PUSH2 0x0717 0000070e: PUSH1 0x40 00000710: MLOAD 00000711: SWAP4 00000712: DUP5 00000713: PUSH2 0x06b2 00000716: JUMP 00000717: JUMPDEST 00000718: DUP3 00000719: SWAP5 0000071a: DUP2 0000071b: DUP5 0000071c: MSTORE 0000071d: DUP2 0000071e: DUP4 0000071f: ADD 00000720: GT 00000721: PUSH2 0x02f0 00000724: JUMPI 00000725: DUP3 00000726: DUP2 00000727: PUSH1 0x20 00000729: SWAP4 0000072a: DUP5 0000072b: PUSH0 0000072c: SWAP7 0000072d: ADD 0000072e: CALLDATACOPY 0000072f: ADD 00000730: ADD 00000731: MSTORE 00000732: JUMP 00000733: JUMPDEST 00000734: PUSH1 0x40 00000736: DUP1 00000737: PUSH1 0x03 00000739: NOT 0000073a: CALLDATASIZE 0000073b: ADD 0000073c: SLT 0000073d: PUSH2 0x02f0 00000740: JUMPI 00000741: PUSH1 0x04 00000743: SWAP1 00000744: DUP2 00000745: CALLDATALOAD 00000746: PUSH2 0x074e 00000749: DUP2 0000074a: PUSH2 0x0363 0000074d: JUMP 0000074e: JUMPDEST 0000074f: PUSH1 0x24 00000751: CALLDATALOAD 00000752: PUSH1 0x01 00000754: PUSH1 0x01 00000756: PUSH1 0x40 00000758: SHL 00000759: SUB 0000075a: DUP2 0000075b: GT 0000075c: PUSH2 0x02f0 0000075f: JUMPI 00000760: CALLDATASIZE 00000761: PUSH1 0x23 00000763: DUP3 00000764: ADD 00000765: SLT 00000766: ISZERO 00000767: PUSH2 0x02f0 0000076a: JUMPI 0000076b: PUSH2 0x077d 0000076e: SWAP1 0000076f: CALLDATASIZE 00000770: SWAP1 00000771: PUSH1 0x24 00000773: DUP2 00000774: DUP8 00000775: ADD 00000776: CALLDATALOAD 00000777: SWAP2 00000778: ADD 00000779: PUSH2 0x06fd 0000077c: JUMP 0000077d: JUMPDEST 0000077e: SWAP2 0000077f: PUSH2 0x0786 00000782: PUSH2 0x25f6 00000785: JUMP 00000786: JUMPDEST 00000787: DUP1 00000788: MLOAD 00000789: SWAP3 0000078a: PUSH2 0x07bd 0000078d: DUP5 0000078e: PUSH2 0x07af 00000791: PUSH1 0x20 00000793: SWAP4 00000794: PUSH4 0x439fab91 00000799: PUSH1 0xe0 0000079b: SHL 0000079c: DUP6 0000079d: DUP5 0000079e: ADD 0000079f: MSTORE 000007a0: DUP5 000007a1: PUSH1 0x24 000007a3: DUP5 000007a4: ADD 000007a5: MSTORE 000007a6: PUSH1 0x44 000007a8: DUP4 000007a9: ADD 000007aa: SWAP1 000007ab: PUSH2 0x0ed1 000007ae: JUMP 000007af: JUMPDEST 000007b0: SUB 000007b1: PUSH1 0x1f 000007b3: NOT 000007b4: DUP2 000007b5: ADD 000007b6: DUP7 000007b7: MSTORE 000007b8: DUP6 000007b9: PUSH2 0x06b2 000007bc: JUMP 000007bd: JUMPDEST 000007be: PUSH2 0x07c5 000007c1: PUSH2 0x25f6 000007c4: JUMP 000007c5: JUMPDEST 000007c6: PUSH2 0x07cd 000007c9: PUSH2 0x2a98 000007cc: JUMP 000007cd: JUMPDEST 000007ce: PUSH1 0x01 000007d0: PUSH1 0x01 000007d2: PUSH1 0xa0 000007d4: SHL 000007d5: SUB 000007d6: DUP4 000007d7: DUP2 000007d8: AND 000007d9: DUP1 000007da: ISZERO 000007db: SWAP3 000007dc: SWAP2 000007dd: SWAP1 000007de: DUP8 000007df: SWAP1 000007e0: DUP5 000007e1: ISZERO 000007e2: PUSH2 0x0999 000007e5: JUMPI 000007e6: JUMPDEST 000007e7: DUP5 000007e8: ISZERO 000007e9: PUSH2 0x091b 000007ec: JUMPI 000007ed: JUMPDEST 000007ee: DUP5 000007ef: ISZERO 000007f0: PUSH2 0x08b7 000007f3: JUMPI 000007f4: JUMPDEST 000007f5: POP 000007f6: POP 000007f7: DUP3 000007f8: ISZERO 000007f9: PUSH2 0x081c 000007fc: JUMPI 000007fd: JUMPDEST 000007fe: POP 000007ff: POP 00000800: PUSH2 0x080d 00000803: JUMPI 00000804: PUSH2 0x0020 00000807: DUP4 00000808: DUP4 00000809: PUSH2 0x350e 0000080c: JUMP 0000080d: JUMPDEST 0000080e: MLOAD 0000080f: PUSH4 0x55299b49 00000814: PUSH1 0xe0 00000816: SHL 00000817: DUP2 00000818: MSTORE 00000819: DUP4 0000081a: SWAP1 0000081b: REVERT 0000081c: JUMPDEST 0000081d: DUP4 0000081e: MLOAD 0000081f: PUSH4 0x45da87c5 00000824: PUSH1 0xe0 00000826: SHL 00000827: DUP2 00000828: MSTORE 00000829: PUSH1 0x01 0000082b: PUSH1 0x01 0000082d: PUSH1 0xa0 0000082f: SHL 00000830: SUB 00000831: DUP7 00000832: AND 00000833: DUP9 00000834: DUP3 00000835: ADD 00000836: SWAP1 00000837: DUP2 00000838: MSTORE 00000839: SWAP3 0000083a: SWAP4 0000083b: POP 0000083c: SWAP2 0000083d: DUP4 0000083e: SWAP2 0000083f: DUP4 00000840: SWAP2 00000841: DUP3 00000842: SWAP1 00000843: DUP2 00000844: SWAP1 00000845: PUSH1 0x20 00000847: ADD 00000848: SUB 00000849: SWAP2 0000084a: PUSH32 0x0000000000000000000000003a0008a588772446f6e656133c2d5029cc4fc20e 0000086b: AND 0000086c: GAS 0000086d: STATICCALL 0000086e: SWAP2 0000086f: DUP3 00000870: ISZERO 00000871: PUSH2 0x08b2 00000874: JUMPI 00000875: PUSH0 00000876: SWAP3 00000877: PUSH2 0x0885 0000087a: JUMPI 0000087b: JUMPDEST 0000087c: POP 0000087d: POP 0000087e: ISZERO 0000087f: PUSH0 00000880: DUP1 00000881: PUSH2 0x07fd 00000884: JUMP 00000885: JUMPDEST 00000886: PUSH2 0x08a4 00000889: SWAP3 0000088a: POP 0000088b: DUP1 0000088c: RETURNDATASIZE 0000088d: LT 0000088e: PUSH2 0x08ab 00000891: JUMPI 00000892: JUMPDEST 00000893: PUSH2 0x089c 00000896: DUP2 00000897: DUP4 00000898: PUSH2 0x06b2 0000089b: JUMP 0000089c: JUMPDEST 0000089d: DUP2 0000089e: ADD 0000089f: SWAP1 000008a0: PUSH2 0x16f0 000008a3: JUMP 000008a4: JUMPDEST 000008a5: PUSH0 000008a6: DUP1 000008a7: PUSH2 0x087b 000008aa: JUMP 000008ab: JUMPDEST 000008ac: POP 000008ad: RETURNDATASIZE 000008ae: PUSH2 0x0892 000008b1: JUMP 000008b2: JUMPDEST 000008b3: PUSH2 0x1705 000008b6: JUMP 000008b7: JUMPDEST 000008b8: DUP6 000008b9: MLOAD 000008ba: PUSH4 0x054fd4d5 000008bf: PUSH1 0xe4 000008c1: SHL 000008c2: DUP2 000008c3: MSTORE 000008c4: SWAP3 000008c5: SWAP5 000008c6: POP 000008c7: DUP4 000008c8: SWAP2 000008c9: DUP4 000008ca: SWAP2 000008cb: DUP3 000008cc: SWAP1 000008cd: GAS 000008ce: STATICCALL 000008cf: SWAP1 000008d0: DUP2 000008d1: ISZERO 000008d2: PUSH2 0x08b2 000008d5: JUMPI 000008d6: PUSH1 0x02 000008d8: SWAP2 000008d9: PUSH1 0xff 000008db: SWAP2 000008dc: PUSH0 000008dd: SWAP2 000008de: PUSH2 0x08ee 000008e1: JUMPI 000008e2: JUMPDEST 000008e3: POP 000008e4: AND 000008e5: EQ 000008e6: ISZERO 000008e7: SWAP2 000008e8: DUP7 000008e9: PUSH0 000008ea: PUSH2 0x07f4 000008ed: JUMP 000008ee: JUMPDEST 000008ef: PUSH2 0x090e 000008f2: SWAP2 000008f3: POP 000008f4: DUP5 000008f5: RETURNDATASIZE 000008f6: DUP7 000008f7: GT 000008f8: PUSH2 0x0914 000008fb: JUMPI 000008fc: JUMPDEST 000008fd: PUSH2 0x0906 00000900: DUP2 00000901: DUP4 00000902: PUSH2 0x06b2 00000905: JUMP 00000906: JUMPDEST 00000907: DUP2 00000908: ADD 00000909: SWAP1 0000090a: PUSH2 0x34f5 0000090d: JUMP 0000090e: JUMPDEST 0000090f: PUSH0 00000910: PUSH2 0x08e2 00000913: JUMP 00000914: JUMPDEST 00000915: POP 00000916: RETURNDATASIZE 00000917: PUSH2 0x08fc 0000091a: JUMP 0000091b: JUMPDEST 0000091c: SWAP4 0000091d: POP 0000091e: POP 0000091f: DUP4 00000920: MLOAD 00000921: PUSH4 0x198ca605 00000926: PUSH1 0xe1 00000928: SHL 00000929: DUP2 0000092a: MSTORE 0000092b: DUP3 0000092c: DUP2 0000092d: DUP10 0000092e: DUP2 0000092f: DUP8 00000930: GAS 00000931: STATICCALL 00000932: SWAP1 00000933: DUP2 00000934: ISZERO 00000935: PUSH2 0x08b2 00000938: JUMPI 00000939: DUP9 0000093a: SWAP2 0000093b: PUSH32 0x2250bd18cc1a4ed1c5d180b9b913648e6054cdf2d614f9c25477c4ba18cc7ea0 0000095c: SWAP2 0000095d: PUSH0 0000095e: SWAP2 0000095f: PUSH2 0x096c 00000962: JUMPI 00000963: JUMPDEST 00000964: POP 00000965: EQ 00000966: ISZERO 00000967: SWAP4 00000968: PUSH2 0x07ed 0000096b: JUMP 0000096c: JUMPDEST 0000096d: PUSH2 0x098c 00000970: SWAP2 00000971: POP 00000972: DUP6 00000973: RETURNDATASIZE 00000974: DUP8 00000975: GT 00000976: PUSH2 0x0992 00000979: JUMPI 0000097a: JUMPDEST 0000097b: PUSH2 0x0984 0000097e: DUP2 0000097f: DUP4 00000980: PUSH2 0x06b2 00000983: JUMP 00000984: JUMPDEST 00000985: DUP2 00000986: ADD 00000987: SWAP1 00000988: PUSH2 0x20e9 0000098b: JUMP 0000098c: JUMPDEST 0000098d: PUSH0 0000098e: PUSH2 0x0963 00000991: JUMP 00000992: JUMPDEST 00000993: POP 00000994: RETURNDATASIZE 00000995: PUSH2 0x097a 00000998: JUMP 00000999: JUMPDEST 0000099a: PUSH0 0000099b: DUP1 0000099c: MLOAD 0000099d: PUSH1 0x20 0000099f: PUSH2 0x39af 000009a2: DUP4 000009a3: CODECOPY 000009a4: DUP2 000009a5: MLOAD 000009a6: SWAP2 000009a7: MSTORE 000009a8: SLOAD 000009a9: SWAP1 000009aa: SWAP5 000009ab: POP 000009ac: DUP5 000009ad: SWAP1 000009ae: PUSH2 0x09c7 000009b1: SWAP1 000009b2: PUSH1 0x01 000009b4: PUSH1 0x01 000009b6: PUSH1 0xa0 000009b8: SHL 000009b9: SUB 000009ba: AND 000009bb: JUMPDEST 000009bc: PUSH1 0x01 000009be: PUSH1 0x01 000009c0: PUSH1 0xa0 000009c2: SHL 000009c3: SUB 000009c4: AND 000009c5: SWAP1 000009c6: JUMP 000009c7: JUMPDEST 000009c8: EQ 000009c9: SWAP4 000009ca: PUSH2 0x07e6 000009cd: JUMP 000009ce: JUMPDEST 000009cf: CALLVALUE 000009d0: PUSH2 0x02f0 000009d3: JUMPI 000009d4: PUSH1 0x20 000009d6: CALLDATASIZE 000009d7: PUSH1 0x03 000009d9: NOT 000009da: ADD 000009db: SLT 000009dc: PUSH2 0x02f0 000009df: JUMPI 000009e0: PUSH1 0x04 000009e2: CALLDATALOAD 000009e3: PUSH1 0x01 000009e5: PUSH1 0x01 000009e7: PUSH1 0xa0 000009e9: SHL 000009ea: SUB 000009eb: PUSH2 0x09f2 000009ee: PUSH2 0x16d1 000009f1: JUMP 000009f2: JUMPDEST 000009f3: AND 000009f4: CALLER 000009f5: SUB 000009f6: PUSH2 0x0a28 000009f9: JUMPI 000009fa: DUP1 000009fb: PUSH1 0xd0 000009fd: SSTORE 000009fe: PUSH0 000009ff: PUSH1 0xd1 00000a01: SSTORE 00000a02: CALLER 00000a03: PUSH32 0xbe9758e2d6800505eeb0292a08fe647c52762ccea131177456e7062dd77b4106 00000a24: PUSH0 00000a25: DUP1 00000a26: LOG3 00000a27: STOP 00000a28: JUMPDEST 00000a29: PUSH1 0x40 00000a2b: MLOAD 00000a2c: PUSH4 0x4ca88867 00000a31: PUSH1 0xe0 00000a33: SHL 00000a34: DUP2 00000a35: MSTORE 00000a36: PUSH1 0x04 00000a38: SWAP1 00000a39: REVERT 00000a3a: JUMPDEST 00000a3b: CALLVALUE 00000a3c: PUSH2 0x02f0 00000a3f: JUMPI 00000a40: PUSH0 00000a41: CALLDATASIZE 00000a42: PUSH1 0x03 00000a44: NOT 00000a45: ADD 00000a46: SLT 00000a47: PUSH2 0x02f0 00000a4a: JUMPI 00000a4b: PUSH32 0x000000000000000000000000aeae7d602b537b2065f3da05dcce754fb23a968d 00000a6c: PUSH1 0x01 00000a6e: PUSH1 0x01 00000a70: PUSH1 0xa0 00000a72: SHL 00000a73: SUB 00000a74: AND 00000a75: ADDRESS 00000a76: SUB 00000a77: PUSH2 0x0a91 00000a7a: JUMPI 00000a7b: PUSH1 0x20 00000a7d: PUSH1 0x40 00000a7f: MLOAD 00000a80: PUSH0 00000a81: DUP1 00000a82: MLOAD 00000a83: PUSH1 0x20 00000a85: PUSH2 0x39af 00000a88: DUP4 00000a89: CODECOPY 00000a8a: DUP2 00000a8b: MLOAD 00000a8c: SWAP2 00000a8d: MSTORE 00000a8e: DUP2 00000a8f: MSTORE 00000a90: RETURN 00000a91: JUMPDEST 00000a92: PUSH1 0x40 00000a94: MLOAD 00000a95: PUSH4 0x703e46dd 00000a9a: PUSH1 0xe1 00000a9c: SHL 00000a9d: DUP2 00000a9e: MSTORE 00000a9f: PUSH1 0x04 00000aa1: SWAP1 00000aa2: REVERT 00000aa3: JUMPDEST 00000aa4: PUSH0 00000aa5: CALLDATASIZE 00000aa6: PUSH1 0x03 00000aa8: NOT 00000aa9: ADD 00000aaa: SLT 00000aab: PUSH2 0x02f0 00000aae: JUMPI 00000aaf: PUSH1 0x01 00000ab1: PUSH1 0x01 00000ab3: PUSH1 0xa0 00000ab5: SHL 00000ab6: SUB 00000ab7: PUSH2 0x0abe 00000aba: PUSH2 0x1522 00000abd: JUMP 00000abe: JUMPDEST 00000abf: AND 00000ac0: CALLER 00000ac1: SUB 00000ac2: PUSH2 0x0a28 00000ac5: JUMPI 00000ac6: STOP 00000ac7: JUMPDEST 00000ac8: CALLVALUE 00000ac9: PUSH2 0x02f0 00000acc: JUMPI 00000acd: PUSH0 00000ace: CALLDATASIZE 00000acf: PUSH1 0x03 00000ad1: NOT 00000ad2: ADD 00000ad3: SLT 00000ad4: PUSH2 0x02f0 00000ad7: JUMPI 00000ad8: PUSH1 0x20 00000ada: PUSH1 0x40 00000adc: MLOAD 00000add: PUSH1 0x01 00000adf: DUP2 00000ae0: MSTORE 00000ae1: RETURN 00000ae2: JUMPDEST 00000ae3: CALLVALUE 00000ae4: PUSH2 0x02f0 00000ae7: JUMPI 00000ae8: PUSH0 00000ae9: CALLDATASIZE 00000aea: PUSH1 0x03 00000aec: NOT 00000aed: ADD 00000aee: SLT 00000aef: PUSH2 0x02f0 00000af2: JUMPI 00000af3: PUSH0 00000af4: DUP1 00000af5: MLOAD 00000af6: PUSH1 0x20 00000af8: PUSH2 0x39af 00000afb: DUP4 00000afc: CODECOPY 00000afd: DUP2 00000afe: MLOAD 00000aff: SWAP2 00000b00: MSTORE 00000b01: SLOAD 00000b02: PUSH1 0x40 00000b04: MLOAD 00000b05: PUSH1 0x01 00000b07: PUSH1 0x01 00000b09: PUSH1 0xa0 00000b0b: SHL 00000b0c: SUB 00000b0d: SWAP1 00000b0e: SWAP2 00000b0f: AND 00000b10: DUP2 00000b11: MSTORE 00000b12: PUSH1 0x20 00000b14: SWAP1 00000b15: RETURN 00000b16: JUMPDEST 00000b17: CALLVALUE 00000b18: PUSH2 0x02f0 00000b1b: JUMPI 00000b1c: PUSH0 00000b1d: CALLDATASIZE 00000b1e: PUSH1 0x03 00000b20: NOT 00000b21: ADD 00000b22: SLT 00000b23: PUSH2 0x02f0 00000b26: JUMPI 00000b27: PUSH1 0x20 00000b29: PUSH2 0x0332 00000b2c: PUSH2 0x16c3 00000b2f: JUMP 00000b30: JUMPDEST 00000b31: CALLVALUE 00000b32: PUSH2 0x02f0 00000b35: JUMPI 00000b36: PUSH0 00000b37: CALLDATASIZE 00000b38: PUSH1 0x03 00000b3a: NOT 00000b3b: ADD 00000b3c: SLT 00000b3d: PUSH2 0x02f0 00000b40: JUMPI 00000b41: PUSH1 0x20 00000b43: PUSH2 0x0454 00000b46: PUSH2 0x16d1 00000b49: JUMP 00000b4a: JUMPDEST 00000b4b: CALLVALUE 00000b4c: PUSH2 0x02f0 00000b4f: JUMPI 00000b50: PUSH1 0x20 00000b52: CALLDATASIZE 00000b53: PUSH1 0x03 00000b55: NOT 00000b56: ADD 00000b57: SLT 00000b58: PUSH2 0x02f0 00000b5b: JUMPI 00000b5c: PUSH1 0x9a 00000b5e: DUP1 00000b5f: SLOAD 00000b60: SWAP1 00000b61: DUP2 00000b62: SWAP1 00000b63: PUSH0 00000b64: PUSH1 0x04 00000b66: CALLDATALOAD 00000b67: JUMPDEST 00000b68: DUP5 00000b69: DUP3 00000b6a: LT 00000b6b: PUSH2 0x0b9c 00000b6e: JUMPI 00000b6f: POP 00000b70: POP 00000b71: POP 00000b72: DUP2 00000b73: LT 00000b74: ISZERO 00000b75: PUSH2 0x0b91 00000b78: JUMPI 00000b79: PUSH2 0x0b8d 00000b7c: SWAP1 00000b7d: JUMPDEST 00000b7e: PUSH1 0x40 00000b80: MLOAD 00000b81: SWAP1 00000b82: DUP2 00000b83: MSTORE 00000b84: SWAP1 00000b85: DUP2 00000b86: SWAP1 00000b87: PUSH1 0x20 00000b89: DUP3 00000b8a: ADD 00000b8b: SWAP1 00000b8c: JUMP 00000b8d: JUMPDEST 00000b8e: SUB 00000b8f: SWAP1 00000b90: RETURN 00000b91: JUMPDEST 00000b92: POP 00000b93: PUSH2 0x0b8d 00000b96: PUSH0 00000b97: NOT 00000b98: PUSH2 0x0b7d 00000b9b: JUMP 00000b9c: JUMPDEST 00000b9d: SWAP1 00000b9e: SWAP2 00000b9f: SWAP4 00000ba0: DUP1 00000ba1: DUP4 00000ba2: AND 00000ba3: SWAP1 00000ba4: PUSH1 0x01 00000ba6: DUP2 00000ba7: DUP6 00000ba8: XOR 00000ba9: DUP2 00000baa: SHR 00000bab: DUP4 00000bac: ADD 00000bad: DUP1 00000bae: SWAP4 00000baf: GT 00000bb0: PUSH2 0x0bee 00000bb3: JUMPI 00000bb4: PUSH0 00000bb5: DUP8 00000bb6: SWAP1 00000bb7: MSTORE 00000bb8: PUSH0 00000bb9: DUP1 00000bba: MLOAD 00000bbb: PUSH1 0x20 00000bbd: PUSH2 0x398f 00000bc0: DUP4 00000bc1: CODECOPY 00000bc2: DUP2 00000bc3: MLOAD 00000bc4: SWAP2 00000bc5: MSTORE 00000bc6: DUP4 00000bc7: ADD 00000bc8: SLOAD 00000bc9: PUSH1 0x01 00000bcb: PUSH1 0x01 00000bcd: PUSH1 0xa0 00000bcf: SHL 00000bd0: SUB 00000bd1: AND 00000bd2: DUP5 00000bd3: LT 00000bd4: ISZERO 00000bd5: PUSH2 0x0be3 00000bd8: JUMPI 00000bd9: POP 00000bda: POP 00000bdb: SWAP4 00000bdc: JUMPDEST 00000bdd: SWAP2 00000bde: SWAP1 00000bdf: PUSH2 0x0b67 00000be2: JUMP 00000be3: JUMPDEST 00000be4: SWAP1 00000be5: SWAP6 00000be6: SWAP2 00000be7: ADD 00000be8: SWAP3 00000be9: POP 00000bea: PUSH2 0x0bdc 00000bed: JUMP 00000bee: JUMPDEST 00000bef: PUSH2 0x1710 00000bf2: JUMP 00000bf3: JUMPDEST 00000bf4: CALLVALUE 00000bf5: PUSH2 0x02f0 00000bf8: JUMPI 00000bf9: PUSH0 00000bfa: CALLDATASIZE 00000bfb: PUSH1 0x03 00000bfd: NOT 00000bfe: ADD 00000bff: SLT 00000c00: PUSH2 0x02f0 00000c03: JUMPI 00000c04: PUSH1 0x40 00000c06: MLOAD 00000c07: PUSH4 0x3eb1acf7 00000c0c: PUSH1 0xe1 00000c0e: SHL 00000c0f: DUP2 00000c10: MSTORE 00000c11: ADDRESS 00000c12: PUSH1 0x04 00000c14: DUP3 00000c15: ADD 00000c16: MSTORE 00000c17: PUSH1 0x20 00000c19: DUP2 00000c1a: PUSH1 0x24 00000c1c: DUP2 00000c1d: PUSH32 0x0000000000000000000000006b5815467da09daa7dc83db21c9239d98bb487b5 00000c3e: PUSH1 0x01 00000c40: PUSH1 0x01 00000c42: PUSH1 0xa0 00000c44: SHL 00000c45: SUB 00000c46: AND 00000c47: GAS 00000c48: STATICCALL 00000c49: DUP1 00000c4a: ISZERO 00000c4b: PUSH2 0x08b2 00000c4e: JUMPI 00000c4f: PUSH1 0x20 00000c51: SWAP2 00000c52: PUSH0 00000c53: SWAP2 00000c54: PUSH2 0x0c63 00000c57: JUMPI 00000c58: JUMPDEST 00000c59: POP 00000c5a: PUSH1 0x40 00000c5c: MLOAD 00000c5d: SWAP1 00000c5e: ISZERO 00000c5f: ISZERO 00000c60: DUP2 00000c61: MSTORE 00000c62: RETURN 00000c63: JUMPDEST 00000c64: PUSH2 0x0c7a 00000c67: SWAP2 00000c68: POP 00000c69: DUP3 00000c6a: RETURNDATASIZE 00000c6b: DUP5 00000c6c: GT 00000c6d: PUSH2 0x08ab 00000c70: JUMPI 00000c71: PUSH2 0x089c 00000c74: DUP2 00000c75: DUP4 00000c76: PUSH2 0x06b2 00000c79: JUMP 00000c7a: JUMPDEST 00000c7b: PUSH0 00000c7c: PUSH2 0x0c58 00000c7f: JUMP 00000c80: JUMPDEST 00000c81: CALLVALUE 00000c82: PUSH2 0x02f0 00000c85: JUMPI 00000c86: PUSH1 0x80 00000c88: CALLDATASIZE 00000c89: PUSH1 0x03 00000c8b: NOT 00000c8c: ADD 00000c8d: SLT 00000c8e: PUSH2 0x02f0 00000c91: JUMPI 00000c92: PUSH2 0x0b8d 00000c95: PUSH2 0x0cb4 00000c98: PUSH1 0x04 00000c9a: CALLDATALOAD 00000c9b: PUSH2 0x0ca3 00000c9e: DUP2 00000c9f: PUSH2 0x0363 00000ca2: JUMP 00000ca3: JUMPDEST 00000ca4: PUSH1 0x64 00000ca6: CALLDATALOAD 00000ca7: SWAP1 00000ca8: PUSH1 0x44 00000caa: CALLDATALOAD 00000cab: SWAP1 00000cac: PUSH1 0x24 00000cae: CALLDATALOAD 00000caf: SWAP1 00000cb0: PUSH2 0x1731 00000cb3: JUMP 00000cb4: JUMPDEST 00000cb5: PUSH1 0x40 00000cb7: DUP1 00000cb8: MLOAD 00000cb9: SWAP4 00000cba: DUP5 00000cbb: MSTORE 00000cbc: PUSH1 0x20 00000cbe: DUP5 00000cbf: ADD 00000cc0: SWAP3 00000cc1: SWAP1 00000cc2: SWAP3 00000cc3: MSTORE 00000cc4: SWAP1 00000cc5: DUP3 00000cc6: ADD 00000cc7: MSTORE 00000cc8: SWAP1 00000cc9: DUP2 00000cca: SWAP1 00000ccb: PUSH1 0x60 00000ccd: DUP3 00000cce: ADD 00000ccf: SWAP1 00000cd0: JUMP 00000cd1: JUMPDEST 00000cd2: CALLVALUE 00000cd3: PUSH2 0x02f0 00000cd6: JUMPI 00000cd7: PUSH1 0x40 00000cd9: CALLDATASIZE 00000cda: PUSH1 0x03 00000cdc: NOT 00000cdd: ADD 00000cde: SLT 00000cdf: PUSH2 0x02f0 00000ce2: JUMPI 00000ce3: PUSH1 0x20 00000ce5: PUSH2 0x0332 00000ce8: PUSH1 0x24 00000cea: CALLDATALOAD 00000ceb: PUSH2 0x0cf3 00000cee: DUP2 00000cef: PUSH2 0x0363 00000cf2: JUMP 00000cf3: JUMPDEST 00000cf4: PUSH1 0x04 00000cf6: CALLDATALOAD 00000cf7: CALLER 00000cf8: PUSH2 0x281f 00000cfb: JUMP 00000cfc: JUMPDEST 00000cfd: CALLVALUE 00000cfe: PUSH2 0x02f0 00000d01: JUMPI 00000d02: PUSH0 00000d03: CALLDATASIZE 00000d04: PUSH1 0x03 00000d06: NOT 00000d07: ADD 00000d08: SLT 00000d09: PUSH2 0x02f0 00000d0c: JUMPI 00000d0d: PUSH1 0x20 00000d0f: PUSH2 0xffff 00000d12: PUSH1 0x65 00000d14: SLOAD 00000d15: PUSH1 0xa0 00000d17: SHR 00000d18: AND 00000d19: PUSH1 0x40 00000d1b: MLOAD 00000d1c: SWAP1 00000d1d: DUP2 00000d1e: MSTORE 00000d1f: RETURN 00000d20: JUMPDEST 00000d21: CALLVALUE 00000d22: PUSH2 0x02f0 00000d25: JUMPI 00000d26: PUSH1 0x60 00000d28: CALLDATASIZE 00000d29: PUSH1 0x03 00000d2b: NOT 00000d2c: ADD 00000d2d: SLT 00000d2e: PUSH2 0x02f0 00000d31: JUMPI 00000d32: PUSH2 0x0b8d 00000d35: PUSH2 0x0cb4 00000d38: PUSH1 0x44 00000d3a: CALLDATALOAD 00000d3b: PUSH1 0x24 00000d3d: CALLDATALOAD 00000d3e: PUSH1 0x04 00000d40: CALLDATALOAD 00000d41: PUSH2 0x17c4 00000d44: JUMP 00000d45: JUMPDEST 00000d46: CALLVALUE 00000d47: PUSH2 0x02f0 00000d4a: JUMPI 00000d4b: PUSH1 0x40 00000d4d: CALLDATASIZE 00000d4e: PUSH1 0x03 00000d50: NOT 00000d51: ADD 00000d52: SLT 00000d53: PUSH2 0x02f0 00000d56: JUMPI 00000d57: PUSH1 0x20 00000d59: PUSH2 0x0332 00000d5c: PUSH1 0x24 00000d5e: CALLDATALOAD 00000d5f: PUSH2 0x0d67 00000d62: DUP2 00000d63: PUSH2 0x0363 00000d66: JUMP 00000d67: JUMPDEST 00000d68: PUSH1 0x04 00000d6a: CALLDATALOAD 00000d6b: CALLER 00000d6c: PUSH2 0x29c5 00000d6f: JUMP 00000d70: JUMPDEST 00000d71: CALLVALUE 00000d72: PUSH2 0x02f0 00000d75: JUMPI 00000d76: PUSH0 00000d77: CALLDATASIZE 00000d78: PUSH1 0x03 00000d7a: NOT 00000d7b: ADD 00000d7c: SLT 00000d7d: PUSH2 0x02f0 00000d80: JUMPI 00000d81: PUSH1 0x20 00000d83: PUSH1 0xd0 00000d85: SLOAD 00000d86: PUSH1 0x40 00000d88: MLOAD 00000d89: SWAP1 00000d8a: DUP2 00000d8b: MSTORE 00000d8c: RETURN 00000d8d: JUMPDEST 00000d8e: CALLVALUE 00000d8f: PUSH2 0x02f0 00000d92: JUMPI 00000d93: PUSH0 00000d94: CALLDATASIZE 00000d95: PUSH1 0x03 00000d97: NOT 00000d98: ADD 00000d99: SLT 00000d9a: PUSH2 0x02f0 00000d9d: JUMPI 00000d9e: PUSH1 0x20 00000da0: PUSH1 0xd1 00000da2: SLOAD 00000da3: PUSH1 0x40 00000da5: MLOAD 00000da6: SWAP1 00000da7: DUP2 00000da8: MSTORE 00000da9: RETURN 00000daa: JUMPDEST 00000dab: CALLVALUE 00000dac: PUSH2 0x02f0 00000daf: JUMPI 00000db0: PUSH2 0x0dfc 00000db3: PUSH32 0x2013570c343af8ab14a9778150e381a0fda34ed6368127a95fd5e7210cbec5bf 00000dd4: PUSH2 0x0ddc 00000dd7: CALLDATASIZE 00000dd8: PUSH2 0x04c6 00000ddb: JUMP 00000ddc: JUMPDEST 00000ddd: SWAP3 00000dde: SWAP1 00000ddf: PUSH2 0x0de6 00000de2: PUSH2 0x2a98 00000de5: JUMP 00000de6: JUMPDEST 00000de7: PUSH1 0x40 00000de9: MLOAD 00000dea: SWAP2 00000deb: DUP3 00000dec: SWAP2 00000ded: PUSH1 0x20 00000def: DUP4 00000df0: MSTORE 00000df1: CALLER 00000df2: SWAP6 00000df3: PUSH1 0x20 00000df5: DUP5 00000df6: ADD 00000df7: SWAP2 00000df8: PUSH2 0x196c 00000dfb: JUMP 00000dfc: JUMPDEST 00000dfd: SUB 00000dfe: SWAP1 00000dff: LOG2 00000e00: STOP 00000e01: JUMPDEST 00000e02: CALLVALUE 00000e03: PUSH2 0x02f0 00000e06: JUMPI 00000e07: PUSH1 0x20 00000e09: CALLDATASIZE 00000e0a: PUSH1 0x03 00000e0c: NOT 00000e0d: ADD 00000e0e: SLT 00000e0f: PUSH2 0x02f0 00000e12: JUMPI 00000e13: PUSH1 0x04 00000e15: CALLDATALOAD 00000e16: PUSH2 0x0e1e 00000e19: DUP2 00000e1a: PUSH2 0x0363 00000e1d: JUMP 00000e1e: JUMPDEST 00000e1f: PUSH2 0x0e26 00000e22: PUSH2 0x2a98 00000e25: JUMP 00000e26: JUMPDEST 00000e27: PUSH1 0x01 00000e29: PUSH1 0x01 00000e2b: PUSH1 0xa0 00000e2d: SHL 00000e2e: SUB 00000e2f: AND 00000e30: DUP1 00000e31: ISZERO 00000e32: PUSH2 0x0e6e 00000e35: JUMPI 00000e36: PUSH1 0xd2 00000e38: DUP1 00000e39: SLOAD 00000e3a: PUSH1 0x01 00000e3c: PUSH1 0x01 00000e3e: PUSH1 0xa0 00000e40: SHL 00000e41: SUB 00000e42: NOT 00000e43: AND 00000e44: DUP3 00000e45: OR 00000e46: SWAP1 00000e47: SSTORE 00000e48: CALLER 00000e49: PUSH32 0xb710e1d0ebf395f895942ac4e559a4a86d57f748a90cf05e9d70798c67e9c65b 00000e6a: PUSH0 00000e6b: DUP1 00000e6c: LOG3 00000e6d: STOP 00000e6e: JUMPDEST 00000e6f: PUSH1 0x40 00000e71: MLOAD 00000e72: PUSH4 0xd92e233d 00000e77: PUSH1 0xe0 00000e79: SHL 00000e7a: DUP2 00000e7b: MSTORE 00000e7c: PUSH1 0x04 00000e7e: SWAP1 00000e7f: REVERT 00000e80: JUMPDEST 00000e81: SWAP2 00000e82: DUP2 00000e83: PUSH1 0x1f 00000e85: DUP5 00000e86: ADD 00000e87: SLT 00000e88: ISZERO 00000e89: PUSH2 0x02f0 00000e8c: JUMPI 00000e8d: DUP3 00000e8e: CALLDATALOAD 00000e8f: SWAP2 00000e90: PUSH1 0x01 00000e92: PUSH1 0x01 00000e94: PUSH1 0x40 00000e96: SHL 00000e97: SUB 00000e98: DUP4 00000e99: GT 00000e9a: PUSH2 0x02f0 00000e9d: JUMPI 00000e9e: PUSH1 0x20 00000ea0: DUP1 00000ea1: DUP6 00000ea2: ADD 00000ea3: SWAP5 00000ea4: DUP5 00000ea5: PUSH1 0x05 00000ea7: SHL 00000ea8: ADD 00000ea9: ADD 00000eaa: GT 00000eab: PUSH2 0x02f0 00000eae: JUMPI 00000eaf: JUMP 00000eb0: JUMPDEST 00000eb1: PUSH0 00000eb2: JUMPDEST 00000eb3: DUP4 00000eb4: DUP2 00000eb5: LT 00000eb6: PUSH2 0x0ec1 00000eb9: JUMPI 00000eba: POP 00000ebb: POP 00000ebc: PUSH0 00000ebd: SWAP2 00000ebe: ADD 00000ebf: MSTORE 00000ec0: JUMP 00000ec1: JUMPDEST 00000ec2: DUP2 00000ec3: DUP2 00000ec4: ADD 00000ec5: MLOAD 00000ec6: DUP4 00000ec7: DUP3 00000ec8: ADD 00000ec9: MSTORE 00000eca: PUSH1 0x20 00000ecc: ADD 00000ecd: PUSH2 0x0eb2 00000ed0: JUMP 00000ed1: JUMPDEST 00000ed2: SWAP1 00000ed3: PUSH1 0x20 00000ed5: SWAP2 00000ed6: PUSH2 0x0eea 00000ed9: DUP2 00000eda: MLOAD 00000edb: DUP1 00000edc: SWAP3 00000edd: DUP2 00000ede: DUP6 00000edf: MSTORE 00000ee0: DUP6 00000ee1: DUP1 00000ee2: DUP7 00000ee3: ADD 00000ee4: SWAP2 00000ee5: ADD 00000ee6: PUSH2 0x0eb0 00000ee9: JUMP 00000eea: JUMPDEST 00000eeb: PUSH1 0x1f 00000eed: ADD 00000eee: PUSH1 0x1f 00000ef0: NOT 00000ef1: AND 00000ef2: ADD 00000ef3: ADD 00000ef4: SWAP1 00000ef5: JUMP 00000ef6: JUMPDEST 00000ef7: PUSH1 0x20 00000ef9: DUP1 00000efa: DUP3 00000efb: ADD 00000efc: SWAP1 00000efd: PUSH1 0x20 00000eff: DUP4 00000f00: MSTORE 00000f01: DUP4 00000f02: MLOAD 00000f03: DUP1 00000f04: SWAP3 00000f05: MSTORE 00000f06: PUSH1 0x40 00000f08: DUP4 00000f09: ADD 00000f0a: SWAP3 00000f0b: PUSH1 0x20 00000f0d: PUSH1 0x40 00000f0f: DUP5 00000f10: PUSH1 0x05 00000f12: SHL 00000f13: DUP4 00000f14: ADD 00000f15: ADD 00000f16: SWAP6 00000f17: ADD 00000f18: SWAP4 00000f19: PUSH0 00000f1a: SWAP2 00000f1b: JUMPDEST 00000f1c: DUP5 00000f1d: DUP4 00000f1e: LT 00000f1f: PUSH2 0x0f2b 00000f22: JUMPI 00000f23: POP 00000f24: POP 00000f25: POP 00000f26: POP 00000f27: POP 00000f28: POP 00000f29: SWAP1 00000f2a: JUMP 00000f2b: JUMPDEST 00000f2c: SWAP1 00000f2d: SWAP2 00000f2e: SWAP3 00000f2f: SWAP4 00000f30: SWAP5 00000f31: SWAP6 00000f32: DUP5 00000f33: DUP1 00000f34: PUSH2 0x0f49 00000f37: PUSH1 0x01 00000f39: SWAP4 00000f3a: PUSH1 0x3f 00000f3c: NOT 00000f3d: DUP7 00000f3e: DUP3 00000f3f: SUB 00000f40: ADD 00000f41: DUP8 00000f42: MSTORE 00000f43: DUP11 00000f44: MLOAD 00000f45: PUSH2 0x0ed1 00000f48: JUMP 00000f49: JUMPDEST 00000f4a: SWAP9 00000f4b: ADD 00000f4c: SWAP4 00000f4d: ADD 00000f4e: SWAP4 00000f4f: ADD 00000f50: SWAP2 00000f51: SWAP5 00000f52: SWAP4 00000f53: SWAP3 00000f54: SWAP1 00000f55: PUSH2 0x0f1b 00000f58: JUMP 00000f59: JUMPDEST 00000f5a: CALLVALUE 00000f5b: PUSH2 0x02f0 00000f5e: JUMPI 00000f5f: PUSH1 0x20 00000f61: CALLDATASIZE 00000f62: PUSH1 0x03 00000f64: NOT 00000f65: ADD 00000f66: SLT 00000f67: PUSH2 0x02f0 00000f6a: JUMPI 00000f6b: PUSH1 0x04 00000f6d: DUP1 00000f6e: CALLDATALOAD 00000f6f: PUSH1 0x01 00000f71: PUSH1 0x01 00000f73: PUSH1 0x40 00000f75: SHL 00000f76: SUB 00000f77: DUP2 00000f78: GT 00000f79: PUSH2 0x02f0 00000f7c: JUMPI 00000f7d: PUSH2 0x0f8a 00000f80: SWAP1 00000f81: CALLDATASIZE 00000f82: SWAP1 00000f83: PUSH1 0x04 00000f85: ADD 00000f86: PUSH2 0x0e80 00000f89: JUMP 00000f8a: JUMPDEST 00000f8b: SWAP2 00000f8c: PUSH2 0x0f94 00000f8f: DUP4 00000f90: PUSH2 0x19a3 00000f93: JUMP 00000f94: JUMPDEST 00000f95: SWAP3 00000f96: PUSH0 00000f97: JUMPDEST 00000f98: DUP2 00000f99: DUP2 00000f9a: LT 00000f9b: PUSH2 0x0fac 00000f9e: JUMPI 00000f9f: PUSH1 0x40 00000fa1: MLOAD 00000fa2: DUP1 00000fa3: PUSH2 0x0b8d 00000fa6: DUP8 00000fa7: DUP3 00000fa8: PUSH2 0x0ef6 00000fab: JUMP 00000fac: JUMPDEST 00000fad: PUSH0 00000fae: DUP1 00000faf: PUSH2 0x0fb9 00000fb2: DUP4 00000fb3: DUP6 00000fb4: DUP9 00000fb5: PUSH2 0x1a32 00000fb8: JUMP 00000fb9: JUMPDEST 00000fba: PUSH1 0x40 00000fbc: SWAP4 00000fbd: SWAP2 00000fbe: PUSH2 0x0fcb 00000fc1: DUP6 00000fc2: MLOAD 00000fc3: DUP1 00000fc4: SWAP4 00000fc5: DUP2 00000fc6: SWAP4 00000fc7: PUSH2 0x1a52 00000fca: JUMP 00000fcb: JUMPDEST 00000fcc: SUB 00000fcd: SWAP1 00000fce: ADDRESS 00000fcf: GAS 00000fd0: DELEGATECALL 00000fd1: SWAP1 00000fd2: PUSH2 0x0fd9 00000fd5: PUSH2 0x1a5f 00000fd8: JUMP 00000fd9: JUMPDEST 00000fda: SWAP2 00000fdb: ISZERO 00000fdc: PUSH2 0x1000 00000fdf: JUMPI 00000fe0: POP 00000fe1: SWAP1 00000fe2: PUSH1 0x01 00000fe4: SWAP2 00000fe5: PUSH2 0x0fee 00000fe8: DUP3 00000fe9: DUP9 00000fea: PUSH2 0x1af9 00000fed: JUMP 00000fee: JUMPDEST 00000fef: MSTORE 00000ff0: PUSH2 0x0ff9 00000ff3: DUP2 00000ff4: DUP8 00000ff5: PUSH2 0x1af9 00000ff8: JUMP 00000ff9: JUMPDEST 00000ffa: POP 00000ffb: ADD 00000ffc: PUSH2 0x0f97 00000fff: JUMP 00001000: JUMPDEST 00001001: DUP5 00001002: DUP3 00001003: PUSH1 0x44 00001005: DUP2 00001006: MLOAD 00001007: LT 00001008: PUSH2 0x02f0 0000100b: JUMPI 0000100c: PUSH2 0x1024 0000100f: DUP2 00001010: DUP4 00001011: PUSH2 0x1039 00001014: SWAP4 00001015: ADD 00001016: MLOAD 00001017: PUSH1 0x24 00001019: DUP1 0000101a: SWAP2 0000101b: DUP4 0000101c: ADD 0000101d: ADD 0000101e: SWAP2 0000101f: ADD 00001020: PUSH2 0x1a8e 00001023: JUMP 00001024: JUMPDEST 00001025: SWAP3 00001026: MLOAD 00001027: PUSH3 0x461bcd 0000102b: PUSH1 0xe5 0000102d: SHL 0000102e: DUP2 0000102f: MSTORE 00001030: SWAP3 00001031: DUP4 00001032: SWAP3 00001033: DUP4 00001034: ADD 00001035: PUSH2 0x103d 00001038: JUMP 00001039: JUMPDEST 0000103a: SUB 0000103b: SWAP1 0000103c: REVERT 0000103d: JUMPDEST 0000103e: SWAP1 0000103f: PUSH1 0x20 00001041: PUSH2 0x104e 00001044: SWAP3 00001045: DUP2 00001046: DUP2 00001047: MSTORE 00001048: ADD 00001049: SWAP1 0000104a: PUSH2 0x0ed1 0000104d: JUMP 0000104e: JUMPDEST 0000104f: SWAP1 00001050: JUMP 00001051: JUMPDEST 00001052: CALLVALUE 00001053: PUSH2 0x02f0 00001056: JUMPI 00001057: PUSH0 00001058: CALLDATASIZE 00001059: PUSH1 0x03 0000105b: NOT 0000105c: ADD 0000105d: SLT 0000105e: PUSH2 0x02f0 00001061: JUMPI 00001062: PUSH2 0x0b8d 00001065: PUSH1 0x40 00001067: MLOAD 00001068: PUSH2 0x1070 0000106b: DUP2 0000106c: PUSH2 0x0697 0000106f: JUMP 00001070: JUMPDEST 00001071: PUSH1 0x05 00001073: DUP2 00001074: MSTORE 00001075: PUSH5 0x0352e302e3 0000107b: PUSH1 0xdc 0000107d: SHL 0000107e: PUSH1 0x20 00001080: DUP3 00001081: ADD 00001082: MSTORE 00001083: PUSH1 0x40 00001085: MLOAD 00001086: SWAP2 00001087: DUP3 00001088: SWAP2 00001089: PUSH1 0x20 0000108b: DUP4 0000108c: MSTORE 0000108d: PUSH1 0x20 0000108f: DUP4 00001090: ADD 00001091: SWAP1 00001092: PUSH2 0x0ed1 00001095: JUMP 00001096: JUMPDEST 00001097: DUP1 00001098: ISZERO 00001099: ISZERO 0000109a: SUB 0000109b: PUSH2 0x02f0 0000109e: JUMPI 0000109f: JUMP 000010a0: JUMPDEST 000010a1: CALLVALUE 000010a2: PUSH2 0x02f0 000010a5: JUMPI 000010a6: PUSH1 0x40 000010a8: CALLDATASIZE 000010a9: PUSH1 0x03 000010ab: NOT 000010ac: ADD 000010ad: SLT 000010ae: PUSH2 0x02f0 000010b1: JUMPI 000010b2: PUSH2 0x0020 000010b5: PUSH1 0x04 000010b7: CALLDATALOAD 000010b8: PUSH2 0x10c0 000010bb: DUP2 000010bc: PUSH2 0x0363 000010bf: JUMP 000010c0: JUMPDEST 000010c1: PUSH1 0x24 000010c3: CALLDATALOAD 000010c4: SWAP1 000010c5: PUSH2 0x10cd 000010c8: DUP3 000010c9: PUSH2 0x1096 000010cc: JUMP 000010cd: JUMPDEST 000010ce: PUSH2 0x1ba0 000010d1: JUMP 000010d2: JUMPDEST 000010d3: CALLVALUE 000010d4: PUSH2 0x02f0 000010d7: JUMPI 000010d8: PUSH1 0x20 000010da: CALLDATASIZE 000010db: PUSH1 0x03 000010dd: NOT 000010de: ADD 000010df: SLT 000010e0: PUSH2 0x02f0 000010e3: JUMPI 000010e4: PUSH2 0x0020 000010e7: PUSH1 0x04 000010e9: CALLDATALOAD 000010ea: PUSH2 0x10f2 000010ed: DUP2 000010ee: PUSH2 0x0363 000010f1: JUMP 000010f2: JUMPDEST 000010f3: PUSH2 0x1c38 000010f6: JUMP 000010f7: JUMPDEST 000010f8: CALLVALUE 000010f9: PUSH2 0x02f0 000010fc: JUMPI 000010fd: PUSH1 0x20 000010ff: CALLDATASIZE 00001100: PUSH1 0x03 00001102: NOT 00001103: ADD 00001104: SLT 00001105: PUSH2 0x02f0 00001108: JUMPI 00001109: PUSH1 0x20 0000110b: PUSH2 0x0332 0000110e: PUSH1 0x04 00001110: CALLDATALOAD 00001111: PUSH2 0x2b1a 00001114: JUMP 00001115: JUMPDEST 00001116: CALLVALUE 00001117: PUSH2 0x02f0 0000111a: JUMPI 0000111b: PUSH1 0x20 0000111d: CALLDATASIZE 0000111e: PUSH1 0x03 00001120: NOT 00001121: ADD 00001122: SLT 00001123: PUSH2 0x02f0 00001126: JUMPI 00001127: PUSH2 0x0020 0000112a: PUSH1 0x04 0000112c: CALLDATALOAD 0000112d: PUSH2 0x1135 00001130: DUP2 00001131: PUSH2 0x0363 00001134: JUMP 00001135: JUMPDEST 00001136: PUSH2 0x113d 00001139: PUSH2 0x2a98 0000113c: JUMP 0000113d: JUMPDEST 0000113e: PUSH2 0x2ba9 00001141: JUMP 00001142: JUMPDEST 00001143: CALLVALUE 00001144: PUSH2 0x02f0 00001147: JUMPI 00001148: PUSH0 00001149: CALLDATASIZE 0000114a: PUSH1 0x03 0000114c: NOT 0000114d: ADD 0000114e: SLT 0000114f: PUSH2 0x02f0 00001152: JUMPI 00001153: PUSH1 0x20 00001155: PUSH1 0x01 00001157: PUSH1 0x01 00001159: PUSH1 0x80 0000115b: SHL 0000115c: SUB 0000115d: PUSH1 0x99 0000115f: SLOAD 00001160: AND 00001161: PUSH1 0x40 00001163: MLOAD 00001164: SWAP1 00001165: DUP2 00001166: MSTORE 00001167: RETURN 00001168: JUMPDEST 00001169: CALLVALUE 0000116a: PUSH2 0x02f0 0000116d: JUMPI 0000116e: PUSH1 0x20 00001170: CALLDATASIZE 00001171: PUSH1 0x03 00001173: NOT 00001174: ADD 00001175: SLT 00001176: PUSH2 0x02f0 00001179: JUMPI 0000117a: PUSH2 0x0020 0000117d: PUSH1 0x04 0000117f: CALLDATALOAD 00001180: PUSH2 0x1188 00001183: DUP2 00001184: PUSH2 0x0363 00001187: JUMP 00001188: JUMPDEST 00001189: PUSH2 0x1190 0000118c: PUSH2 0x2a98 0000118f: JUMP 00001190: JUMPDEST 00001191: PUSH2 0x2bf0 00001194: JUMP 00001195: JUMPDEST 00001196: SWAP1 00001197: DUP2 00001198: PUSH1 0xa0 0000119a: SWAP2 0000119b: SUB 0000119c: SLT 0000119d: PUSH2 0x02f0 000011a0: JUMPI 000011a1: SWAP1 000011a2: JUMP 000011a3: JUMPDEST 000011a4: CALLVALUE 000011a5: PUSH2 0x02f0 000011a8: JUMPI 000011a9: PUSH1 0x80 000011ab: CALLDATASIZE 000011ac: PUSH1 0x03 000011ae: NOT 000011af: ADD 000011b0: SLT 000011b1: PUSH2 0x02f0 000011b4: JUMPI 000011b5: PUSH1 0x01 000011b7: PUSH1 0x01 000011b9: PUSH1 0x40 000011bb: SHL 000011bc: SUB 000011bd: PUSH1 0x04 000011bf: CALLDATALOAD 000011c0: DUP2 000011c1: DUP2 000011c2: GT 000011c3: PUSH2 0x02f0 000011c6: JUMPI 000011c7: PUSH2 0x11d4 000011ca: SWAP1 000011cb: CALLDATASIZE 000011cc: SWAP1 000011cd: PUSH1 0x04 000011cf: ADD 000011d0: PUSH2 0x1195 000011d3: JUMP 000011d4: JUMPDEST 000011d5: PUSH1 0x24 000011d7: CALLDATALOAD 000011d8: DUP3 000011d9: DUP2 000011da: GT 000011db: PUSH2 0x02f0 000011de: JUMPI 000011df: PUSH2 0x11ec 000011e2: SWAP1 000011e3: CALLDATASIZE 000011e4: SWAP1 000011e5: PUSH1 0x04 000011e7: ADD 000011e8: PUSH2 0x0e80 000011eb: JUMP 000011ec: JUMPDEST 000011ed: PUSH1 0x44 000011ef: SWAP3 000011f0: SWAP2 000011f1: SWAP3 000011f2: CALLDATALOAD 000011f3: DUP5 000011f4: DUP2 000011f5: GT 000011f6: PUSH2 0x02f0 000011f9: JUMPI 000011fa: PUSH2 0x1207 000011fd: SWAP1 000011fe: CALLDATASIZE 000011ff: SWAP1 00001200: PUSH1 0x04 00001202: ADD 00001203: PUSH2 0x0e80 00001206: JUMP 00001207: JUMPDEST 00001208: SWAP2 00001209: PUSH1 0x64 0000120b: CALLDATALOAD 0000120c: SWAP6 0000120d: DUP7 0000120e: GT 0000120f: PUSH2 0x02f0 00001212: JUMPI 00001213: PUSH2 0x1223 00001216: PUSH2 0x0020 00001219: SWAP7 0000121a: CALLDATASIZE 0000121b: SWAP1 0000121c: PUSH1 0x04 0000121e: ADD 0000121f: PUSH2 0x0e80 00001222: JUMP 00001223: JUMPDEST 00001224: SWAP6 00001225: SWAP1 00001226: SWAP5 00001227: PUSH2 0x1d86 0000122a: JUMP 0000122b: JUMPDEST 0000122c: CALLVALUE 0000122d: PUSH2 0x02f0 00001230: JUMPI 00001231: PUSH1 0x20 00001233: CALLDATASIZE 00001234: PUSH1 0x03 00001236: NOT 00001237: ADD 00001238: SLT 00001239: PUSH2 0x02f0 0000123c: JUMPI 0000123d: PUSH1 0x04 0000123f: CALLDATALOAD 00001240: PUSH2 0x1248 00001243: DUP2 00001244: PUSH2 0x0363 00001247: JUMP 00001248: JUMPDEST 00001249: PUSH1 0x01 0000124b: DUP1 0000124c: PUSH1 0xa0 0000124e: SHL 0000124f: SUB 00001250: AND 00001251: PUSH0 00001252: MSTORE 00001253: PUSH1 0x9c 00001255: PUSH1 0x20 00001257: MSTORE 00001258: PUSH1 0x20 0000125a: PUSH1 0x40 0000125c: PUSH0 0000125d: KECCAK256 0000125e: SLOAD 0000125f: PUSH1 0x40 00001261: MLOAD 00001262: SWAP1 00001263: DUP2 00001264: MSTORE 00001265: RETURN 00001266: JUMPDEST 00001267: CALLVALUE 00001268: PUSH2 0x02f0 0000126b: JUMPI 0000126c: PUSH1 0x20 0000126e: CALLDATASIZE 0000126f: PUSH1 0x03 00001271: NOT 00001272: ADD 00001273: SLT 00001274: PUSH2 0x02f0 00001277: JUMPI 00001278: PUSH1 0x04 0000127a: CALLDATALOAD 0000127b: PUSH2 0x1283 0000127e: DUP2 0000127f: PUSH2 0x0363 00001282: JUMP 00001283: JUMPDEST 00001284: PUSH1 0x01 00001286: DUP1 00001287: PUSH1 0xa0 00001289: SHL 0000128a: SUB 0000128b: AND 0000128c: PUSH0 0000128d: MSTORE 0000128e: PUSH2 0x019d 00001291: PUSH1 0x20 00001293: MSTORE 00001294: PUSH1 0x20 00001296: PUSH1 0xff 00001298: PUSH1 0x40 0000129a: PUSH0 0000129b: KECCAK256 0000129c: SLOAD 0000129d: AND 0000129e: PUSH1 0x40 000012a0: MLOAD 000012a1: SWAP1 000012a2: ISZERO 000012a3: ISZERO 000012a4: DUP2 000012a5: MSTORE 000012a6: RETURN 000012a7: JUMPDEST 000012a8: CALLVALUE 000012a9: PUSH2 0x02f0 000012ac: JUMPI 000012ad: PUSH1 0x40 000012af: DUP1 000012b0: PUSH1 0x03 000012b2: NOT 000012b3: CALLDATASIZE 000012b4: ADD 000012b5: SLT 000012b6: PUSH2 0x02f0 000012b9: JUMPI 000012ba: PUSH1 0x04 000012bc: SWAP1 000012bd: PUSH1 0x01 000012bf: PUSH1 0x01 000012c1: PUSH1 0x40 000012c3: SHL 000012c4: SUB 000012c5: DUP3 000012c6: CALLDATALOAD 000012c7: DUP2 000012c8: DUP2 000012c9: GT 000012ca: PUSH2 0x02f0 000012cd: JUMPI 000012ce: PUSH2 0x12da 000012d1: SWAP1 000012d2: CALLDATASIZE 000012d3: SWAP1 000012d4: DUP6 000012d5: ADD 000012d6: PUSH2 0x1195 000012d9: JUMP 000012da: JUMPDEST 000012db: SWAP1 000012dc: PUSH1 0x24 000012de: CALLDATALOAD 000012df: SWAP1 000012e0: DUP2 000012e1: GT 000012e2: PUSH2 0x02f0 000012e5: JUMPI 000012e6: PUSH2 0x12f2 000012e9: SWAP1 000012ea: CALLDATASIZE 000012eb: SWAP1 000012ec: DUP6 000012ed: ADD 000012ee: PUSH2 0x0e80 000012f1: JUMP 000012f2: JUMPDEST 000012f3: SWAP4 000012f4: SWAP1 000012f5: SWAP3 000012f6: PUSH2 0x12fd 000012f9: PUSH2 0x2c52 000012fc: JUMP 000012fd: JUMPDEST 000012fe: PUSH32 0x0000000000000000000000006b5815467da09daa7dc83db21c9239d98bb487b5 0000131f: PUSH1 0x01 00001321: PUSH1 0x01 00001323: PUSH1 0xa0 00001325: SHL 00001326: SUB 00001327: AND 00001328: DUP1 00001329: EXTCODESIZE 0000132a: ISZERO 0000132b: PUSH2 0x02f0 0000132e: JUMPI 0000132f: PUSH0 00001330: DUP3 00001331: MLOAD 00001332: DUP1 00001333: SWAP3 00001334: PUSH4 0x837d4441 00001339: PUSH1 0xe0 0000133b: SHL 0000133c: DUP3 0000133d: MSTORE 0000133e: DUP2 0000133f: DUP4 00001340: DUP2 00001341: PUSH2 0x134c 00001344: DUP11 00001345: DUP11 00001346: DUP4 00001347: ADD 00001348: PUSH2 0x1cef 0000134b: JUMP 0000134c: JUMPDEST 0000134d: SUB 0000134e: SWAP3 0000134f: GAS 00001350: CALL 00001351: DUP1 00001352: ISZERO 00001353: PUSH2 0x08b2 00001356: JUMPI 00001357: PUSH2 0x1432 0000135a: JUMPI 0000135b: JUMPDEST 0000135c: POP 0000135d: PUSH9 0x01bc16d674ec800000 00001367: PUSH2 0x136e 0000136a: PUSH2 0x14f3 0000136d: JUMP 0000136e: JUMPDEST 0000136f: LT 00001370: PUSH2 0x1425 00001373: JUMPI 00001374: DUP1 00001375: DUP4 00001376: ADD 00001377: SWAP4 00001378: PUSH1 0xb0 0000137a: PUSH2 0x1383 0000137d: DUP7 0000137e: DUP7 0000137f: PUSH2 0x1a00 00001382: JUMP 00001383: JUMPDEST 00001384: SWAP1 00001385: POP 00001386: SUB 00001387: PUSH2 0x1417 0000138a: JUMPI 0000138b: PUSH2 0x13e3 0000138e: PUSH2 0x13e7 00001391: SWAP2 00001392: PUSH1 0xd1 00001394: SLOAD 00001395: SWAP8 00001396: PUSH1 0xd0 00001398: SLOAD 00001399: SWAP1 0000139a: PUSH2 0x13d6 0000139d: PUSH2 0x13ce 000013a0: DUP12 000013a1: PUSH2 0x13aa 000013a4: DUP13 000013a5: DUP13 000013a6: PUSH2 0x1a00 000013a9: JUMP 000013aa: JUMPDEST 000013ab: PUSH2 0x13c0 000013ae: DUP12 000013af: SWAP5 000013b0: SWAP3 000013b1: SWAP5 000013b2: MLOAD 000013b3: SWAP4 000013b4: DUP5 000013b5: SWAP3 000013b6: PUSH1 0x20 000013b8: DUP5 000013b9: ADD 000013ba: SWAP7 000013bb: DUP8 000013bc: PUSH2 0x1eb8 000013bf: JUMP 000013c0: JUMPDEST 000013c1: SUB 000013c2: PUSH1 0x1f 000013c4: NOT 000013c5: DUP2 000013c6: ADD 000013c7: DUP4 000013c8: MSTORE 000013c9: DUP3 000013ca: PUSH2 0x06b2 000013cd: JUMP 000013ce: JUMPDEST 000013cf: MLOAD 000013d0: SWAP1 000013d1: KECCAK256 000013d2: PUSH2 0x1ed5 000013d5: JUMP 000013d6: JUMPDEST 000013d7: PUSH1 0x20 000013d9: DUP2 000013da: MLOAD 000013db: SWAP2 000013dc: ADD 000013dd: KECCAK256 000013de: SWAP3 000013df: PUSH2 0x2f70 000013e2: JUMP 000013e3: JUMPDEST 000013e4: ISZERO 000013e5: SWAP1 000013e6: JUMP 000013e7: JUMPDEST 000013e8: PUSH2 0x140a 000013eb: JUMPI 000013ec: PUSH2 0x0020 000013ef: PUSH1 0x01 000013f1: DUP7 000013f2: PUSH2 0x1404 000013f5: PUSH2 0x13fe 000013f8: DUP9 000013f9: DUP9 000013fa: PUSH2 0x1a00 000013fd: JUMP 000013fe: JUMPDEST 000013ff: SWAP1 00001400: PUSH2 0x2fa8 00001403: JUMP 00001404: JUMPDEST 00001405: ADD 00001406: PUSH1 0xd1 00001408: SSTORE 00001409: JUMP 0000140a: JUMPDEST 0000140b: MLOAD 0000140c: PUSH4 0x09bde339 00001411: PUSH1 0xe0 00001413: SHL 00001414: DUP2 00001415: MSTORE 00001416: REVERT 00001417: JUMPDEST 00001418: POP 00001419: MLOAD 0000141a: PUSH4 0x1a0a9b9f 0000141f: PUSH1 0xe2 00001421: SHL 00001422: DUP2 00001423: MSTORE 00001424: REVERT 00001425: JUMPDEST 00001426: MLOAD 00001427: PUSH4 0x96d80433 0000142c: PUSH1 0xe0 0000142e: SHL 0000142f: DUP2 00001430: MSTORE 00001431: REVERT 00001432: JUMPDEST 00001433: DUP1 00001434: PUSH2 0x143f 00001437: PUSH2 0x1445 0000143a: SWAP3 0000143b: PUSH2 0x0664 0000143e: JUMP 0000143f: JUMPDEST 00001440: DUP1 00001441: PUSH2 0x02e6 00001444: JUMP 00001445: JUMPDEST 00001446: PUSH0 00001447: PUSH2 0x135b 0000144a: JUMP 0000144b: JUMPDEST 0000144c: CALLVALUE 0000144d: PUSH2 0x02f0 00001450: JUMPI 00001451: PUSH0 00001452: CALLDATASIZE 00001453: PUSH1 0x03 00001455: NOT 00001456: ADD 00001457: SLT 00001458: PUSH2 0x02f0 0000145b: JUMPI 0000145c: PUSH0 0000145d: SLOAD 0000145e: PUSH1 0x40 00001460: MLOAD 00001461: PUSH1 0x01 00001463: PUSH1 0x01 00001465: PUSH1 0xa0 00001467: SHL 00001468: SUB 00001469: SWAP1 0000146a: SWAP2 0000146b: AND 0000146c: DUP2 0000146d: MSTORE 0000146e: PUSH1 0x20 00001470: SWAP1 00001471: RETURN 00001472: JUMPDEST 00001473: PUSH1 0x40 00001475: CALLDATASIZE 00001476: PUSH1 0x03 00001478: NOT 00001479: ADD 0000147a: SLT 0000147b: PUSH2 0x02f0 0000147e: JUMPI 0000147f: PUSH1 0x20 00001481: PUSH2 0x0332 00001484: PUSH1 0x04 00001486: CALLDATALOAD 00001487: PUSH2 0x148f 0000148a: DUP2 0000148b: PUSH2 0x0363 0000148e: JUMP 0000148f: JUMPDEST 00001490: PUSH1 0x24 00001492: CALLDATALOAD 00001493: SWAP1 00001494: PUSH2 0x03d4 00001497: DUP3 00001498: PUSH2 0x0363 0000149b: JUMP 0000149c: JUMPDEST 0000149d: PUSH1 0x98 0000149f: SLOAD 000014a0: PUSH1 0x01 000014a2: PUSH1 0x01 000014a4: PUSH1 0x80 000014a6: SHL 000014a7: SUB 000014a8: DUP2 000014a9: AND 000014aa: SWAP1 000014ab: DUP2 000014ac: PUSH2 0x14b4 000014af: JUMPI 000014b0: POP 000014b1: POP 000014b2: SWAP1 000014b3: JUMP 000014b4: JUMPDEST 000014b5: SWAP2 000014b6: PUSH2 0x104e 000014b9: SWAP3 000014ba: PUSH1 0x80 000014bc: SHR 000014bd: SWAP1 000014be: PUSH2 0x1f9c 000014c1: JUMP 000014c2: JUMPDEST 000014c3: PUSH2 0x14cb 000014c6: SWAP1 000014c7: PUSH2 0x2113 000014ca: JUMP 000014cb: JUMPDEST 000014cc: SWAP1 000014cd: DUP1 000014ce: PUSH2 0x14e4 000014d1: JUMPI 000014d2: JUMPDEST 000014d3: POP 000014d4: PUSH2 0x14d9 000014d7: JUMPI 000014d8: JUMP 000014d9: JUMPDEST 000014da: PUSH2 0x14e1 000014dd: PUSH2 0x23ca 000014e0: JUMP 000014e1: JUMPDEST 000014e2: POP 000014e3: JUMP 000014e4: JUMPDEST 000014e5: PUSH2 0x14ed 000014e8: SWAP1 000014e9: PUSH2 0x22a9 000014ec: JUMP 000014ed: JUMPDEST 000014ee: PUSH0 000014ef: PUSH2 0x14d2 000014f2: JUMP 000014f3: JUMPDEST 000014f4: SELFBALANCE 000014f5: PUSH1 0x99 000014f7: SLOAD 000014f8: PUSH2 0x1509 000014fb: PUSH1 0x01 000014fd: PUSH1 0x01 000014ff: PUSH1 0x80 00001501: SHL 00001502: SUB 00001503: DUP3 00001504: AND 00001505: PUSH2 0x149c 00001508: JUMP 00001509: JUMPDEST 0000150a: SWAP1 0000150b: PUSH1 0x80 0000150d: SHR 0000150e: ADD 0000150f: SWAP1 00001510: DUP2 00001511: DUP2 00001512: GT 00001513: PUSH0 00001514: EQ 00001515: PUSH2 0x151c 00001518: JUMPI 00001519: SUB 0000151a: SWAP1 0000151b: JUMP 0000151c: JUMPDEST 0000151d: POP 0000151e: POP 0000151f: PUSH0 00001520: SWAP1 00001521: JUMP 00001522: JUMPDEST 00001523: PUSH2 0x0137 00001526: SLOAD 00001527: PUSH1 0x01 00001529: PUSH1 0x01 0000152b: PUSH1 0xa0 0000152d: SHL 0000152e: SUB 0000152f: AND 00001530: DUP1 00001531: ISZERO 00001532: PUSH2 0x1538 00001535: JUMPI 00001536: SWAP1 00001537: JUMP 00001538: JUMPDEST 00001539: POP 0000153a: PUSH32 0x00000000000000000000000048319f97e5da1233c21c48b80097c0fb7a20ff86 0000155b: SWAP1 0000155c: JUMP 0000155d: JUMPDEST 0000155e: SWAP1 0000155f: DUP1 00001560: PUSH1 0x1f 00001562: DUP4 00001563: ADD 00001564: SLT 00001565: ISZERO 00001566: PUSH2 0x02f0 00001569: JUMPI 0000156a: DUP2 0000156b: PUSH1 0x20 0000156d: PUSH2 0x104e 00001570: SWAP4 00001571: CALLDATALOAD 00001572: SWAP2 00001573: ADD 00001574: PUSH2 0x06fd 00001577: JUMP 00001578: JUMPDEST 00001579: PUSH1 0x01 0000157b: PUSH1 0x01 0000157d: PUSH1 0xa0 0000157f: SHL 00001580: SUB 00001581: SWAP2 00001582: DUP3 00001583: AND 00001584: DUP2 00001585: MSTORE 00001586: SWAP2 00001587: AND 00001588: PUSH1 0x20 0000158a: DUP3 0000158b: ADD 0000158c: MSTORE 0000158d: PUSH1 0x40 0000158f: DUP2 00001590: ADD 00001591: SWAP2 00001592: SWAP1 00001593: SWAP2 00001594: MSTORE 00001595: PUSH2 0xffff 00001598: SWAP1 00001599: SWAP2 0000159a: AND 0000159b: PUSH1 0x60 0000159d: DUP3 0000159e: ADD 0000159f: MSTORE 000015a0: PUSH1 0xa0 000015a2: PUSH1 0x80 000015a4: DUP3 000015a5: ADD 000015a6: DUP2 000015a7: SWAP1 000015a8: MSTORE 000015a9: PUSH2 0x104e 000015ac: SWAP3 000015ad: SWAP2 000015ae: ADD 000015af: SWAP1 000015b0: PUSH2 0x0ed1 000015b3: JUMP 000015b4: JUMPDEST 000015b5: SWAP1 000015b6: DUP2 000015b7: ADD 000015b8: SWAP1 000015b9: PUSH1 0x20 000015bb: DUP2 000015bc: DUP4 000015bd: SUB 000015be: SLT 000015bf: PUSH2 0x02f0 000015c2: JUMPI 000015c3: DUP1 000015c4: CALLDATALOAD 000015c5: PUSH1 0x01 000015c7: PUSH1 0x01 000015c9: PUSH1 0x40 000015cb: SHL 000015cc: SUB 000015cd: SWAP2 000015ce: DUP3 000015cf: DUP3 000015d0: GT 000015d1: PUSH2 0x02f0 000015d4: JUMPI 000015d5: ADD 000015d6: PUSH1 0xa0 000015d8: DUP2 000015d9: DUP5 000015da: SUB 000015db: SLT 000015dc: PUSH2 0x02f0 000015df: JUMPI 000015e0: PUSH1 0x40 000015e2: MLOAD 000015e3: SWAP2 000015e4: PUSH2 0x15ec 000015e7: DUP4 000015e8: PUSH2 0x067c 000015eb: JUMP 000015ec: JUMPDEST 000015ed: DUP2 000015ee: CALLDATALOAD 000015ef: PUSH2 0x15f7 000015f2: DUP2 000015f3: PUSH2 0x0363 000015f6: JUMP 000015f7: JUMPDEST 000015f8: DUP4 000015f9: MSTORE 000015fa: PUSH1 0x20 000015fc: DUP3 000015fd: ADD 000015fe: CALLDATALOAD 000015ff: SWAP2 00001600: PUSH2 0x1608 00001603: DUP4 00001604: PUSH2 0x0363 00001607: JUMP 00001608: JUMPDEST 00001609: PUSH1 0x20 0000160b: DUP5 0000160c: ADD 0000160d: SWAP3 0000160e: DUP4 0000160f: MSTORE 00001610: PUSH1 0x40 00001612: DUP5 00001613: ADD 00001614: SWAP4 00001615: PUSH1 0x40 00001617: DUP3 00001618: ADD 00001619: CALLDATALOAD 0000161a: DUP6 0000161b: MSTORE 0000161c: PUSH1 0x60 0000161e: DUP3 0000161f: ADD 00001620: CALLDATALOAD 00001621: SWAP2 00001622: PUSH2 0xffff 00001625: DUP4 00001626: AND 00001627: DUP4 00001628: SUB 00001629: PUSH2 0x02f0 0000162c: JUMPI 0000162d: PUSH1 0x60 0000162f: DUP3 00001630: ADD 00001631: SWAP3 00001632: DUP4 00001633: MSTORE 00001634: PUSH1 0x80 00001636: DUP2 00001637: ADD 00001638: CALLDATALOAD 00001639: SWAP4 0000163a: DUP5 0000163b: GT 0000163c: PUSH2 0x02f0 0000163f: JUMPI 00001640: PUSH2 0x16a4 00001643: PUSH2 0x1696 00001646: PUSH2 0x1678 00001649: PUSH32 0x46fbcffffd902075204aff5be82484275c25679504ba0439fd4257cd885e71fa 0000166a: SWAP10 0000166b: PUSH2 0x16be 0000166e: SWAP8 0000166f: PUSH2 0x16af 00001672: SWAP6 00001673: ADD 00001674: PUSH2 0x155d 00001677: JUMP 00001678: JUMPDEST 00001679: SWAP4 0000167a: PUSH1 0x80 0000167c: DUP2 0000167d: ADD 0000167e: SWAP5 0000167f: DUP6 00001680: MSTORE 00001681: PUSH2 0x1689 00001684: DUP2 00001685: PUSH2 0x24f3 00001688: JUMP 00001689: JUMPDEST 0000168a: MLOAD 0000168b: PUSH1 0x01 0000168d: PUSH1 0x01 0000168f: PUSH1 0xa0 00001691: SHL 00001692: SUB 00001693: AND 00001694: SWAP1 00001695: JUMP 00001696: JUMPDEST 00001697: SWAP6 00001698: MLOAD 00001699: PUSH1 0x01 0000169b: PUSH1 0x01 0000169d: PUSH1 0xa0 0000169f: SHL 000016a0: SUB 000016a1: AND 000016a2: SWAP1 000016a3: JUMP 000016a4: JUMPDEST 000016a5: SWAP6 000016a6: MLOAD 000016a7: SWAP3 000016a8: MLOAD 000016a9: PUSH2 0xffff 000016ac: AND 000016ad: SWAP1 000016ae: JUMP 000016af: JUMPDEST 000016b0: SWAP1 000016b1: MLOAD 000016b2: SWAP2 000016b3: PUSH1 0x40 000016b5: MLOAD 000016b6: SWAP6 000016b7: DUP7 000016b8: SWAP6 000016b9: DUP7 000016ba: PUSH2 0x1578 000016bd: JUMP 000016be: JUMPDEST 000016bf: SUB 000016c0: SWAP1 000016c1: LOG1 000016c2: JUMP 000016c3: JUMPDEST 000016c4: PUSH1 0x9d 000016c6: SLOAD 000016c7: DUP1 000016c8: PUSH2 0x104e 000016cb: JUMPI 000016cc: POP 000016cd: PUSH0 000016ce: NOT 000016cf: SWAP1 000016d0: JUMP 000016d1: JUMPDEST 000016d2: PUSH1 0xd2 000016d4: SLOAD 000016d5: PUSH1 0x01 000016d7: PUSH1 0x01 000016d9: PUSH1 0xa0 000016db: SHL 000016dc: SUB 000016dd: SWAP1 000016de: DUP2 000016df: AND 000016e0: DUP1 000016e1: PUSH2 0x16eb 000016e4: JUMPI 000016e5: POP 000016e6: PUSH0 000016e7: SLOAD 000016e8: AND 000016e9: SWAP1 000016ea: JUMP 000016eb: JUMPDEST 000016ec: SWAP1 000016ed: POP 000016ee: SWAP1 000016ef: JUMP 000016f0: JUMPDEST 000016f1: SWAP1 000016f2: DUP2 000016f3: PUSH1 0x20 000016f5: SWAP2 000016f6: SUB 000016f7: SLT 000016f8: PUSH2 0x02f0 000016fb: JUMPI 000016fc: MLOAD 000016fd: PUSH2 0x104e 00001700: DUP2 00001701: PUSH2 0x1096 00001704: JUMP 00001705: JUMPDEST 00001706: PUSH1 0x40 00001708: MLOAD 00001709: RETURNDATASIZE 0000170a: PUSH0 0000170b: DUP3 0000170c: RETURNDATACOPY 0000170d: RETURNDATASIZE 0000170e: SWAP1 0000170f: REVERT 00001710: JUMPDEST 00001711: PUSH4 0x4e487b71 00001716: PUSH1 0xe0 00001718: SHL 00001719: PUSH0 0000171a: MSTORE 0000171b: PUSH1 0x11 0000171d: PUSH1 0x04 0000171f: MSTORE 00001720: PUSH1 0x24 00001722: PUSH0 00001723: REVERT 00001724: JUMPDEST 00001725: SWAP2 00001726: SWAP1 00001727: DUP3 00001728: SUB 00001729: SWAP2 0000172a: DUP3 0000172b: GT 0000172c: PUSH2 0x0bee 0000172f: JUMPI 00001730: JUMP 00001731: JUMPDEST 00001732: PUSH1 0x40 00001734: DUP1 00001735: MLOAD 00001736: PUSH1 0x01 00001738: PUSH1 0x01 0000173a: PUSH1 0xa0 0000173c: SHL 0000173d: SUB 0000173e: SWAP1 0000173f: SWAP3 00001740: AND 00001741: PUSH1 0x20 00001743: DUP4 00001744: ADD 00001745: SWAP1 00001746: DUP2 00001747: MSTORE 00001748: SWAP1 00001749: DUP3 0000174a: ADD 0000174b: SWAP4 0000174c: SWAP1 0000174d: SWAP4 0000174e: MSTORE 0000174f: PUSH1 0x60 00001751: DUP2 00001752: ADD 00001753: DUP3 00001754: SWAP1 00001755: MSTORE 00001756: SWAP1 00001757: SWAP3 00001758: PUSH2 0x1781 0000175b: SWAP3 0000175c: SWAP1 0000175d: SWAP2 0000175e: PUSH2 0x176a 00001761: DUP2 00001762: PUSH1 0x80 00001764: DUP2 00001765: ADD 00001766: PUSH2 0x13c0 00001769: JUMP 0000176a: JUMPDEST 0000176b: MLOAD 0000176c: SWAP1 0000176d: KECCAK256 0000176e: PUSH0 0000176f: MSTORE 00001770: PUSH1 0x9b 00001772: PUSH1 0x20 00001774: MSTORE 00001775: PUSH1 0x40 00001777: PUSH0 00001778: KECCAK256 00001779: SLOAD 0000177a: SWAP3 0000177b: DUP4 0000177c: SWAP2 0000177d: PUSH2 0x2684 00001780: JUMP 00001781: JUMPDEST 00001782: SWAP1 00001783: SWAP2 00001784: DUP3 00001785: DUP2 00001786: SUB 00001787: SWAP1 00001788: DUP2 00001789: GT 0000178a: PUSH2 0x0bee 0000178d: JUMPI 0000178e: SWAP3 0000178f: JUMP 00001790: JUMPDEST 00001791: SWAP1 00001792: PUSH1 0x01 00001794: DUP3 00001795: ADD 00001796: DUP1 00001797: SWAP3 00001798: GT 00001799: PUSH2 0x0bee 0000179c: JUMPI 0000179d: JUMP 0000179e: JUMPDEST 0000179f: SWAP2 000017a0: SWAP1 000017a1: DUP3 000017a2: ADD 000017a3: DUP1 000017a4: SWAP3 000017a5: GT 000017a6: PUSH2 0x0bee 000017a9: JUMPI 000017aa: JUMP 000017ab: JUMPDEST 000017ac: PUSH1 0x01 000017ae: PUSH1 0x01 000017b0: PUSH1 0x80 000017b2: SHL 000017b3: SUB 000017b4: SWAP2 000017b5: DUP3 000017b6: AND 000017b7: SWAP1 000017b8: DUP3 000017b9: AND 000017ba: SUB 000017bb: SWAP2 000017bc: SWAP1 000017bd: DUP3 000017be: GT 000017bf: PUSH2 0x0bee 000017c2: JUMPI 000017c3: JUMP 000017c4: JUMPDEST 000017c5: SWAP3 000017c6: SWAP2 000017c7: SWAP1 000017c8: SWAP2 000017c9: PUSH0 000017ca: SWAP4 000017cb: PUSH2 0x17f4 000017ce: PUSH32 0x0000000000000000000000000000000000000000000000000000000000015180 000017ef: DUP6 000017f0: PUSH2 0x179e 000017f3: JUMP 000017f4: JUMPDEST 000017f5: TIMESTAMP 000017f6: LT 000017f7: PUSH2 0x1942 000017fa: JUMPI 000017fb: PUSH1 0x40 000017fd: DUP1 000017fe: MLOAD 000017ff: CALLER 00001800: PUSH1 0x20 00001802: DUP3 00001803: ADD 00001804: SWAP1 00001805: DUP2 00001806: MSTORE 00001807: SWAP2 00001808: DUP2 00001809: ADD 0000180a: DUP7 0000180b: SWAP1 0000180c: MSTORE 0000180d: PUSH1 0x60 0000180f: DUP1 00001810: DUP3 00001811: ADD 00001812: DUP5 00001813: SWAP1 00001814: MSTORE 00001815: DUP2 00001816: MSTORE 00001817: PUSH1 0x1f 00001819: NOT 0000181a: SWAP2 0000181b: PUSH2 0x1835 0000181e: SWAP2 0000181f: PUSH2 0x1829 00001822: PUSH1 0x80 00001824: DUP3 00001825: PUSH2 0x06b2 00001828: JUMP 00001829: JUMPDEST 0000182a: MLOAD 0000182b: SWAP1 0000182c: KECCAK256 0000182d: SWAP5 0000182e: DUP7 0000182f: DUP5 00001830: CALLER 00001831: PUSH2 0x1731 00001834: JUMP 00001835: JUMPDEST 00001836: SWAP1 00001837: SWAP7 00001838: SWAP1 00001839: SWAP6 0000183a: DUP8 0000183b: DUP8 0000183c: DUP2 0000183d: ISZERO 0000183e: PUSH2 0x1934 00001841: JUMPI 00001842: POP 00001843: POP 00001844: PUSH0 00001845: SWAP1 00001846: DUP2 00001847: MSTORE 00001848: PUSH1 0x9b 0000184a: PUSH1 0x20 0000184c: MSTORE 0000184d: PUSH1 0x40 0000184f: DUP2 00001850: KECCAK256 00001851: SSTORE 00001852: PUSH1 0x01 00001854: DUP3 00001855: GT 00001856: PUSH2 0x18d9 00001859: JUMPI 0000185a: JUMPDEST 0000185b: POP 0000185c: POP 0000185d: POP 0000185e: PUSH2 0x1892 00001861: PUSH2 0x1877 00001864: PUSH2 0x186c 00001867: DUP6 00001868: PUSH2 0x28f8 0000186b: JUMP 0000186c: JUMPDEST 0000186d: PUSH1 0x99 0000186f: SLOAD 00001870: PUSH1 0x80 00001872: SHR 00001873: PUSH2 0x17ab 00001876: JUMP 00001877: JUMPDEST 00001878: PUSH1 0x01 0000187a: PUSH1 0x01 0000187c: PUSH1 0x80 0000187e: SHL 0000187f: SUB 00001880: PUSH1 0x99 00001882: SLOAD 00001883: SWAP2 00001884: DUP2 00001885: NOT 00001886: SWAP1 00001887: PUSH1 0x80 00001889: SHL 0000188a: AND 0000188b: SWAP2 0000188c: AND 0000188d: OR 0000188e: PUSH1 0x99 00001890: SSTORE 00001891: JUMP 00001892: JUMPDEST 00001893: PUSH2 0x189c 00001896: DUP4 00001897: CALLER 00001898: PUSH2 0x292b 0000189b: JUMP 0000189c: JUMPDEST 0000189d: PUSH1 0x40 0000189f: DUP1 000018a0: MLOAD 000018a1: SWAP2 000018a2: DUP3 000018a3: MSTORE 000018a4: PUSH1 0x20 000018a6: DUP3 000018a7: ADD 000018a8: DUP7 000018a9: SWAP1 000018aa: MSTORE 000018ab: DUP2 000018ac: ADD 000018ad: DUP4 000018ae: SWAP1 000018af: MSTORE 000018b0: CALLER 000018b1: SWAP1 000018b2: PUSH32 0xeb3b05c070c24f667611fdb3ff75fe007d42401c573aed8d8faca95fd00ccb56 000018d3: SWAP1 000018d4: PUSH1 0x60 000018d6: SWAP1 000018d7: LOG2 000018d8: JUMP 000018d9: JUMPDEST 000018da: PUSH2 0x192b 000018dd: SWAP2 000018de: SWAP3 000018df: SWAP8 000018e0: POP 000018e1: PUSH2 0x18ea 000018e4: DUP8 000018e5: DUP6 000018e6: PUSH2 0x179e 000018e9: JUMP 000018ea: JUMPDEST 000018eb: PUSH1 0x40 000018ed: DUP1 000018ee: MLOAD 000018ef: CALLER 000018f0: PUSH1 0x20 000018f2: DUP3 000018f3: ADD 000018f4: SWAP1 000018f5: DUP2 000018f6: MSTORE 000018f7: SWAP2 000018f8: DUP2 000018f9: ADD 000018fa: SWAP4 000018fb: SWAP1 000018fc: SWAP4 000018fd: MSTORE 000018fe: PUSH1 0x60 00001900: DUP4 00001901: ADD 00001902: DUP3 00001903: SWAP1 00001904: MSTORE 00001905: PUSH1 0x80 00001907: SWAP10 00001908: DUP11 00001909: ADD 0000190a: DUP4 0000190b: MSTORE 0000190c: SWAP1 0000190d: SWAP9 0000190e: SWAP1 0000190f: SWAP2 00001910: SWAP1 00001911: PUSH2 0x191a 00001914: SWAP1 00001915: DUP3 00001916: PUSH2 0x06b2 00001919: JUMP 0000191a: JUMPDEST 0000191b: MLOAD 0000191c: SWAP1 0000191d: KECCAK256 0000191e: PUSH0 0000191f: MSTORE 00001920: PUSH1 0x9b 00001922: PUSH1 0x20 00001924: MSTORE 00001925: PUSH1 0x40 00001927: PUSH0 00001928: KECCAK256 00001929: SWAP1 0000192a: JUMP 0000192b: JUMPDEST 0000192c: SSTORE 0000192d: PUSH0 0000192e: DUP1 0000192f: DUP1 00001930: PUSH2 0x185a 00001933: JUMP 00001934: JUMPDEST 00001935: SWAP6 00001936: SWAP10 00001937: POP 00001938: SWAP8 00001939: POP 0000193a: SWAP4 0000193b: SWAP6 0000193c: POP 0000193d: POP 0000193e: POP 0000193f: POP 00001940: POP 00001941: JUMP 00001942: JUMPDEST 00001943: PUSH1 0x40 00001945: MLOAD 00001946: PUSH4 0x1613b7eb 0000194b: PUSH1 0xe0 0000194d: SHL 0000194e: DUP2 0000194f: MSTORE 00001950: PUSH1 0x04 00001952: SWAP1 00001953: REVERT 00001954: JUMPDEST 00001955: SWAP1 00001956: PUSH1 0x30 00001958: PUSH1 0x60 0000195a: SWAP3 0000195b: DUP2 0000195c: DUP4 0000195d: MSTORE 0000195e: PUSH1 0x20 00001960: DUP4 00001961: ADD 00001962: CALLDATACOPY 00001963: PUSH0 00001964: PUSH1 0x50 00001966: DUP3 00001967: ADD 00001968: MSTORE 00001969: ADD 0000196a: SWAP1 0000196b: JUMP 0000196c: JUMPDEST 0000196d: SWAP1 0000196e: DUP1 0000196f: PUSH1 0x20 00001971: SWAP4 00001972: SWAP3 00001973: DUP2 00001974: DUP5 00001975: MSTORE 00001976: DUP5 00001977: DUP5 00001978: ADD 00001979: CALLDATACOPY 0000197a: PUSH0 0000197b: DUP3 0000197c: DUP3 0000197d: ADD 0000197e: DUP5 0000197f: ADD 00001980: MSTORE 00001981: PUSH1 0x1f 00001983: ADD 00001984: PUSH1 0x1f 00001986: NOT 00001987: AND 00001988: ADD 00001989: ADD 0000198a: SWAP1 0000198b: JUMP 0000198c: JUMPDEST 0000198d: PUSH1 0x01 0000198f: PUSH1 0x01 00001991: PUSH1 0x40 00001993: SHL 00001994: SUB 00001995: DUP2 00001996: GT 00001997: PUSH2 0x0677 0000199a: JUMPI 0000199b: PUSH1 0x05 0000199d: SHL 0000199e: PUSH1 0x20 000019a0: ADD 000019a1: SWAP1 000019a2: JUMP 000019a3: JUMPDEST 000019a4: SWAP1 000019a5: PUSH2 0x19ad 000019a8: DUP3 000019a9: PUSH2 0x198c 000019ac: JUMP 000019ad: JUMPDEST 000019ae: PUSH2 0x19ba 000019b1: PUSH1 0x40 000019b3: MLOAD 000019b4: SWAP2 000019b5: DUP3 000019b6: PUSH2 0x06b2 000019b9: JUMP 000019ba: JUMPDEST 000019bb: DUP3 000019bc: DUP2 000019bd: MSTORE 000019be: DUP1 000019bf: SWAP3 000019c0: PUSH2 0x19cb 000019c3: PUSH1 0x1f 000019c5: NOT 000019c6: SWAP2 000019c7: PUSH2 0x198c 000019ca: JUMP 000019cb: JUMPDEST 000019cc: ADD 000019cd: SWAP1 000019ce: PUSH0 000019cf: JUMPDEST 000019d0: DUP3 000019d1: DUP2 000019d2: LT 000019d3: PUSH2 0x19db 000019d6: JUMPI 000019d7: POP 000019d8: POP 000019d9: POP 000019da: JUMP 000019db: JUMPDEST 000019dc: DUP1 000019dd: PUSH1 0x60 000019df: PUSH1 0x20 000019e1: DUP1 000019e2: SWAP4 000019e3: DUP6 000019e4: ADD 000019e5: ADD 000019e6: MSTORE 000019e7: ADD 000019e8: PUSH2 0x19cf 000019eb: JUMP 000019ec: JUMPDEST 000019ed: PUSH4 0x4e487b71 000019f2: PUSH1 0xe0 000019f4: SHL 000019f5: PUSH0 000019f6: MSTORE 000019f7: PUSH1 0x32 000019f9: PUSH1 0x04 000019fb: MSTORE 000019fc: PUSH1 0x24 000019fe: PUSH0 000019ff: REVERT 00001a00: JUMPDEST 00001a01: SWAP1 00001a02: CALLDATALOAD 00001a03: SWAP1 00001a04: PUSH1 0x1e 00001a06: NOT 00001a07: DUP2 00001a08: CALLDATASIZE 00001a09: SUB 00001a0a: ADD 00001a0b: DUP3 00001a0c: SLT 00001a0d: ISZERO 00001a0e: PUSH2 0x02f0 00001a11: JUMPI 00001a12: ADD 00001a13: DUP1 00001a14: CALLDATALOAD 00001a15: SWAP1 00001a16: PUSH1 0x01 00001a18: PUSH1 0x01 00001a1a: PUSH1 0x40 00001a1c: SHL 00001a1d: SUB 00001a1e: DUP3 00001a1f: GT 00001a20: PUSH2 0x02f0 00001a23: JUMPI 00001a24: PUSH1 0x20 00001a26: ADD 00001a27: SWAP2 00001a28: DUP2 00001a29: CALLDATASIZE 00001a2a: SUB 00001a2b: DUP4 00001a2c: SGT 00001a2d: PUSH2 0x02f0 00001a30: JUMPI 00001a31: JUMP 00001a32: JUMPDEST 00001a33: SWAP1 00001a34: DUP3 00001a35: LT 00001a36: ISZERO 00001a37: PUSH2 0x1a4d 00001a3a: JUMPI 00001a3b: PUSH2 0x1a49 00001a3e: SWAP2 00001a3f: PUSH1 0x05 00001a41: SHL 00001a42: DUP2 00001a43: ADD 00001a44: SWAP1 00001a45: PUSH2 0x1a00 00001a48: JUMP 00001a49: JUMPDEST 00001a4a: SWAP1 00001a4b: SWAP2 00001a4c: JUMP 00001a4d: JUMPDEST 00001a4e: PUSH2 0x19ec 00001a51: JUMP 00001a52: JUMPDEST 00001a53: SWAP1 00001a54: DUP1 00001a55: SWAP3 00001a56: SWAP2 00001a57: DUP3 00001a58: CALLDATACOPY 00001a59: ADD 00001a5a: PUSH0 00001a5b: DUP2 00001a5c: MSTORE 00001a5d: SWAP1 00001a5e: JUMP 00001a5f: JUMPDEST 00001a60: RETURNDATASIZE 00001a61: ISZERO 00001a62: PUSH2 0x1a89 00001a65: JUMPI 00001a66: RETURNDATASIZE 00001a67: SWAP1 00001a68: PUSH2 0x1a70 00001a6b: DUP3 00001a6c: PUSH2 0x06e2 00001a6f: JUMP 00001a70: JUMPDEST 00001a71: SWAP2 00001a72: PUSH2 0x1a7e 00001a75: PUSH1 0x40 00001a77: MLOAD 00001a78: SWAP4 00001a79: DUP5 00001a7a: PUSH2 0x06b2 00001a7d: JUMP 00001a7e: JUMPDEST 00001a7f: DUP3 00001a80: MSTORE 00001a81: RETURNDATASIZE 00001a82: PUSH0 00001a83: PUSH1 0x20 00001a85: DUP5 00001a86: ADD 00001a87: RETURNDATACOPY 00001a88: JUMP 00001a89: JUMPDEST 00001a8a: PUSH1 0x60 00001a8c: SWAP1 00001a8d: JUMP 00001a8e: JUMPDEST 00001a8f: PUSH1 0x20 00001a91: DUP2 00001a92: DUP4 00001a93: SUB 00001a94: SLT 00001a95: PUSH2 0x02f0 00001a98: JUMPI 00001a99: DUP1 00001a9a: MLOAD 00001a9b: SWAP1 00001a9c: PUSH1 0x01 00001a9e: PUSH1 0x01 00001aa0: PUSH1 0x40 00001aa2: SHL 00001aa3: SUB 00001aa4: DUP3 00001aa5: GT 00001aa6: PUSH2 0x02f0 00001aa9: JUMPI 00001aaa: ADD 00001aab: DUP2 00001aac: PUSH1 0x1f 00001aae: DUP3 00001aaf: ADD 00001ab0: SLT 00001ab1: ISZERO 00001ab2: PUSH2 0x02f0 00001ab5: JUMPI 00001ab6: DUP1 00001ab7: MLOAD 00001ab8: PUSH2 0x1ac0 00001abb: DUP2 00001abc: PUSH2 0x06e2 00001abf: JUMP 00001ac0: JUMPDEST 00001ac1: SWAP3 00001ac2: PUSH2 0x1ace 00001ac5: PUSH1 0x40 00001ac7: MLOAD 00001ac8: SWAP5 00001ac9: DUP6 00001aca: PUSH2 0x06b2 00001acd: JUMP 00001ace: JUMPDEST 00001acf: DUP2 00001ad0: DUP5 00001ad1: MSTORE 00001ad2: PUSH1 0x20 00001ad4: DUP3 00001ad5: DUP5 00001ad6: ADD 00001ad7: ADD 00001ad8: GT 00001ad9: PUSH2 0x02f0 00001adc: JUMPI 00001add: PUSH2 0x104e 00001ae0: SWAP2 00001ae1: PUSH1 0x20 00001ae3: DUP1 00001ae4: DUP6 00001ae5: ADD 00001ae6: SWAP2 00001ae7: ADD 00001ae8: PUSH2 0x0eb0 00001aeb: JUMP 00001aec: JUMPDEST 00001aed: DUP1 00001aee: MLOAD 00001aef: ISZERO 00001af0: PUSH2 0x1a4d 00001af3: JUMPI 00001af4: PUSH1 0x20 00001af6: ADD 00001af7: SWAP1 00001af8: JUMP 00001af9: JUMPDEST 00001afa: DUP1 00001afb: MLOAD 00001afc: DUP3 00001afd: LT 00001afe: ISZERO 00001aff: PUSH2 0x1a4d 00001b02: JUMPI 00001b03: PUSH1 0x20 00001b05: SWAP2 00001b06: PUSH1 0x05 00001b08: SHL 00001b09: ADD 00001b0a: ADD 00001b0b: SWAP1 00001b0c: JUMP 00001b0d: JUMPDEST 00001b0e: PUSH2 0x019c 00001b11: SLOAD 00001b12: PUSH1 0x01 00001b14: PUSH1 0x01 00001b16: PUSH1 0xa0 00001b18: SHL 00001b19: SUB 00001b1a: SWAP1 00001b1b: DUP2 00001b1c: AND 00001b1d: CALLER 00001b1e: SUB 00001b1f: PUSH2 0x0a28 00001b22: JUMPI 00001b23: PUSH1 0x01 00001b25: PUSH1 0x01 00001b27: PUSH1 0xa0 00001b29: SHL 00001b2a: SUB 00001b2b: DUP3 00001b2c: AND 00001b2d: PUSH0 00001b2e: SWAP1 00001b2f: DUP2 00001b30: MSTORE 00001b31: PUSH2 0x019d 00001b34: PUSH1 0x20 00001b36: MSTORE 00001b37: PUSH1 0x40 00001b39: SWAP1 00001b3a: KECCAK256 00001b3b: SLOAD 00001b3c: PUSH1 0xff 00001b3e: AND 00001b3f: ISZERO 00001b40: ISZERO 00001b41: PUSH1 0x01 00001b43: EQ 00001b44: PUSH2 0x1b9c 00001b47: JUMPI 00001b48: PUSH1 0x01 00001b4a: PUSH1 0x01 00001b4c: PUSH1 0xa0 00001b4e: SHL 00001b4f: SUB 00001b50: DUP3 00001b51: AND 00001b52: PUSH0 00001b53: SWAP1 00001b54: DUP2 00001b55: MSTORE 00001b56: PUSH2 0x019d 00001b59: PUSH1 0x20 00001b5b: MSTORE 00001b5c: PUSH1 0x40 00001b5e: SWAP1 00001b5f: KECCAK256 00001b60: PUSH1 0x01 00001b62: PUSH1 0xff 00001b64: NOT 00001b65: DUP3 00001b66: SLOAD 00001b67: AND 00001b68: OR 00001b69: SWAP1 00001b6a: SSTORE 00001b6b: PUSH1 0x40 00001b6d: MLOAD 00001b6e: SWAP2 00001b6f: PUSH1 0x01 00001b71: DUP4 00001b72: MSTORE 00001b73: AND 00001b74: SWAP1 00001b75: PUSH32 0xffe80d6d91bb72bd036e4be8badcf33d7c8e13b2a0aaab3dc3aef76f6b1f786a 00001b96: PUSH1 0x20 00001b98: CALLER 00001b99: SWAP3 00001b9a: LOG3 00001b9b: JUMP 00001b9c: JUMPDEST 00001b9d: POP 00001b9e: POP 00001b9f: JUMP 00001ba0: JUMPDEST 00001ba1: PUSH2 0x019c 00001ba4: SLOAD 00001ba5: PUSH1 0x01 00001ba7: PUSH1 0x01 00001ba9: PUSH1 0xa0 00001bab: SHL 00001bac: SUB 00001bad: SWAP2 00001bae: SWAP1 00001baf: DUP3 00001bb0: AND 00001bb1: CALLER 00001bb2: SUB 00001bb3: PUSH2 0x0a28 00001bb6: JUMPI 00001bb7: PUSH1 0x01 00001bb9: PUSH1 0x01 00001bbb: PUSH1 0xa0 00001bbd: SHL 00001bbe: SUB 00001bbf: DUP2 00001bc0: AND 00001bc1: PUSH0 00001bc2: SWAP1 00001bc3: DUP2 00001bc4: MSTORE 00001bc5: PUSH2 0x019d 00001bc8: PUSH1 0x20 00001bca: MSTORE 00001bcb: PUSH1 0x40 00001bcd: SWAP1 00001bce: KECCAK256 00001bcf: SLOAD 00001bd0: SWAP3 00001bd1: ISZERO 00001bd2: ISZERO 00001bd3: SWAP3 00001bd4: PUSH1 0xff 00001bd6: AND 00001bd7: ISZERO 00001bd8: ISZERO 00001bd9: DUP4 00001bda: EQ 00001bdb: PUSH2 0x1c33 00001bde: JUMPI 00001bdf: PUSH1 0x01 00001be1: PUSH1 0x01 00001be3: PUSH1 0xa0 00001be5: SHL 00001be6: SUB 00001be7: DUP2 00001be8: AND 00001be9: PUSH0 00001bea: SWAP1 00001beb: DUP2 00001bec: MSTORE 00001bed: PUSH2 0x019d 00001bf0: PUSH1 0x20 00001bf2: MSTORE 00001bf3: PUSH1 0x40 00001bf5: SWAP1 00001bf6: KECCAK256 00001bf7: PUSH1 0xff 00001bf9: NOT 00001bfa: DUP2 00001bfb: SLOAD 00001bfc: AND 00001bfd: PUSH1 0xff 00001bff: DUP6 00001c00: AND 00001c01: OR 00001c02: SWAP1 00001c03: SSTORE 00001c04: PUSH1 0x40 00001c06: MLOAD 00001c07: SWAP3 00001c08: DUP4 00001c09: MSTORE 00001c0a: AND 00001c0b: SWAP1 00001c0c: PUSH32 0xffe80d6d91bb72bd036e4be8badcf33d7c8e13b2a0aaab3dc3aef76f6b1f786a 00001c2d: PUSH1 0x20 00001c2f: CALLER 00001c30: SWAP3 00001c31: LOG3 00001c32: JUMP 00001c33: JUMPDEST 00001c34: POP 00001c35: POP 00001c36: POP 00001c37: JUMP 00001c38: JUMPDEST 00001c39: PUSH2 0x1c41 00001c3c: DUP2 00001c3d: PUSH2 0x1b0d 00001c40: JUMP 00001c41: JUMPDEST 00001c42: PUSH1 0x01 00001c44: PUSH1 0x01 00001c46: PUSH1 0xa0 00001c48: SHL 00001c49: SUB 00001c4a: DUP2 00001c4b: AND 00001c4c: PUSH0 00001c4d: DUP2 00001c4e: DUP2 00001c4f: MSTORE 00001c50: PUSH1 0x9c 00001c52: PUSH1 0x20 00001c54: MSTORE 00001c55: PUSH1 0x40 00001c57: SWAP1 00001c58: KECCAK256 00001c59: SLOAD 00001c5a: SWAP2 00001c5b: SWAP1 00001c5c: DUP3 00001c5d: ISZERO 00001c5e: PUSH2 0x1c33 00001c61: JUMPI 00001c62: PUSH32 0x4e12037a5281349ecf284f6b217c8da95e59c057a1faf07520085c1d2a5690cf 00001c83: SWAP3 00001c84: PUSH1 0x40 00001c86: SWAP3 00001c87: PUSH2 0x1c8e 00001c8a: PUSH2 0x2aab 00001c8d: JUMP 00001c8e: JUMPDEST 00001c8f: ISZERO 00001c90: PUSH2 0x1cad 00001c93: JUMPI 00001c94: DUP1 00001c95: DUP3 00001c96: PUSH2 0x1c9e 00001c99: SWAP3 00001c9a: PUSH2 0x29c5 00001c9d: JUMP 00001c9e: JUMPDEST 00001c9f: POP 00001ca0: JUMPDEST 00001ca1: DUP3 00001ca2: MLOAD 00001ca3: SWAP2 00001ca4: DUP3 00001ca5: MSTORE 00001ca6: PUSH1 0x20 00001ca8: DUP3 00001ca9: ADD 00001caa: MSTORE 00001cab: LOG1 00001cac: JUMP 00001cad: JUMPDEST 00001cae: DUP1 00001caf: DUP3 00001cb0: PUSH2 0x1cb8 00001cb3: SWAP3 00001cb4: PUSH2 0x281f 00001cb7: JUMP 00001cb8: JUMPDEST 00001cb9: POP 00001cba: PUSH2 0x1ca0 00001cbd: JUMP 00001cbe: JUMPDEST 00001cbf: SWAP1 00001cc0: CALLDATALOAD 00001cc1: PUSH1 0x1e 00001cc3: NOT 00001cc4: DUP3 00001cc5: CALLDATASIZE 00001cc6: SUB 00001cc7: ADD 00001cc8: DUP2 00001cc9: SLT 00001cca: ISZERO 00001ccb: PUSH2 0x02f0 00001cce: JUMPI 00001ccf: ADD 00001cd0: PUSH1 0x20 00001cd2: DUP2 00001cd3: CALLDATALOAD 00001cd4: SWAP2 00001cd5: ADD 00001cd6: SWAP2 00001cd7: PUSH1 0x01 00001cd9: PUSH1 0x01 00001cdb: PUSH1 0x40 00001cdd: SHL 00001cde: SUB 00001cdf: DUP3 00001ce0: GT 00001ce1: PUSH2 0x02f0 00001ce4: JUMPI 00001ce5: DUP2 00001ce6: CALLDATASIZE 00001ce7: SUB 00001ce8: DUP4 00001ce9: SGT 00001cea: PUSH2 0x02f0 00001ced: JUMPI 00001cee: JUMP 00001cef: JUMPDEST 00001cf0: SWAP1 00001cf1: PUSH1 0xa0 00001cf3: PUSH2 0x104e 00001cf6: SWAP3 00001cf7: PUSH1 0x20 00001cf9: DUP2 00001cfa: MSTORE 00001cfb: DUP3 00001cfc: CALLDATALOAD 00001cfd: PUSH1 0x20 00001cff: DUP3 00001d00: ADD 00001d01: MSTORE 00001d02: PUSH1 0x20 00001d04: DUP4 00001d05: ADD 00001d06: CALLDATALOAD 00001d07: PUSH1 0x40 00001d09: DUP3 00001d0a: ADD 00001d0b: MSTORE 00001d0c: PUSH2 0x1d2b 00001d0f: PUSH2 0x1d1b 00001d12: PUSH1 0x40 00001d14: DUP6 00001d15: ADD 00001d16: DUP6 00001d17: PUSH2 0x1cbe 00001d1a: JUMP 00001d1b: JUMPDEST 00001d1c: DUP5 00001d1d: PUSH1 0x60 00001d1f: DUP6 00001d20: ADD 00001d21: MSTORE 00001d22: PUSH1 0xc0 00001d24: DUP5 00001d25: ADD 00001d26: SWAP2 00001d27: PUSH2 0x196c 00001d2a: JUMP 00001d2b: JUMPDEST 00001d2c: SWAP1 00001d2d: PUSH2 0x1d5e 00001d30: PUSH2 0x1d53 00001d33: PUSH2 0x1d3f 00001d36: PUSH1 0x60 00001d38: DUP8 00001d39: ADD 00001d3a: DUP8 00001d3b: PUSH2 0x1cbe 00001d3e: JUMP 00001d3f: JUMPDEST 00001d40: PUSH1 0x1f 00001d42: NOT 00001d43: DUP6 00001d44: DUP8 00001d45: SUB 00001d46: DUP2 00001d47: ADD 00001d48: PUSH1 0x80 00001d4a: DUP8 00001d4b: ADD 00001d4c: MSTORE 00001d4d: SWAP6 00001d4e: SWAP2 00001d4f: PUSH2 0x196c 00001d52: JUMP 00001d53: JUMPDEST 00001d54: SWAP5 00001d55: PUSH1 0x80 00001d57: DUP2 00001d58: ADD 00001d59: SWAP1 00001d5a: PUSH2 0x1cbe 00001d5d: JUMP 00001d5e: JUMPDEST 00001d5f: SWAP4 00001d60: SWAP1 00001d61: SWAP3 00001d62: DUP3 00001d63: DUP7 00001d64: SUB 00001d65: ADD 00001d66: SWAP2 00001d67: ADD 00001d68: MSTORE 00001d69: PUSH2 0x196c 00001d6c: JUMP 00001d6d: JUMPDEST 00001d6e: SWAP1 00001d6f: PUSH9 0x01bc16d674ec800000 00001d79: SWAP2 00001d7a: DUP1 00001d7b: DUP4 00001d7c: MUL 00001d7d: SWAP3 00001d7e: DUP4 00001d7f: DIV 00001d80: SUB 00001d81: PUSH2 0x0bee 00001d84: JUMPI 00001d85: JUMP 00001d86: JUMPDEST 00001d87: SWAP3 00001d88: SWAP1 00001d89: SWAP5 00001d8a: SWAP4 00001d8b: SWAP2 00001d8c: SWAP6 00001d8d: PUSH2 0x1d94 00001d90: PUSH2 0x2c52 00001d93: JUMP 00001d94: JUMPDEST 00001d95: PUSH32 0x0000000000000000000000006b5815467da09daa7dc83db21c9239d98bb487b5 00001db6: PUSH1 0x01 00001db8: PUSH1 0x01 00001dba: PUSH1 0xa0 00001dbc: SHL 00001dbd: SUB 00001dbe: AND 00001dbf: SWAP6 00001dc0: DUP7 00001dc1: EXTCODESIZE 00001dc2: ISZERO 00001dc3: PUSH2 0x02f0 00001dc6: JUMPI 00001dc7: PUSH1 0x40 00001dc9: SWAP7 00001dca: PUSH0 00001dcb: DUP9 00001dcc: MLOAD 00001dcd: DUP1 00001dce: SWAP3 00001dcf: PUSH4 0x837d4441 00001dd4: PUSH1 0xe0 00001dd6: SHL 00001dd7: DUP3 00001dd8: MSTORE 00001dd9: DUP2 00001dda: DUP4 00001ddb: DUP2 00001ddc: PUSH2 0x1de8 00001ddf: DUP13 00001de0: PUSH1 0x04 00001de2: DUP4 00001de3: ADD 00001de4: PUSH2 0x1cef 00001de7: JUMP 00001de8: JUMPDEST 00001de9: SUB 00001dea: SWAP3 00001deb: GAS 00001dec: CALL 00001ded: DUP1 00001dee: ISZERO 00001def: PUSH2 0x08b2 00001df2: JUMPI 00001df3: PUSH2 0x1ea5 00001df6: JUMPI 00001df7: JUMPDEST 00001df8: POP 00001df9: PUSH2 0x1e00 00001dfc: PUSH2 0x14f3 00001dff: JUMP 00001e00: JUMPDEST 00001e01: PUSH2 0x1e09 00001e04: DUP10 00001e05: PUSH2 0x1d6d 00001e08: JUMP 00001e09: JUMPDEST 00001e0a: GT 00001e0b: PUSH2 0x1e94 00001e0e: JUMPI 00001e0f: DUP8 00001e10: ISZERO 00001e11: DUP1 00001e12: ISZERO 00001e13: PUSH2 0x1e7a 00001e16: JUMPI 00001e17: JUMPDEST 00001e18: PUSH2 0x1e69 00001e1b: JUMPI 00001e1c: SWAP2 00001e1d: PUSH2 0x1e47 00001e20: SWAP6 00001e21: SWAP4 00001e22: SWAP2 00001e23: PUSH2 0x1e41 00001e26: DUP10 00001e27: PUSH2 0x13e3 00001e2a: SWAP8 00001e2b: SWAP6 00001e2c: PUSH2 0x1e3b 00001e2f: PUSH1 0xd0 00001e31: SLOAD 00001e32: SWAP8 00001e33: DUP13 00001e34: DUP2 00001e35: ADD 00001e36: SWAP1 00001e37: PUSH2 0x1a00 00001e3a: JUMP 00001e3b: JUMPDEST 00001e3c: SWAP1 00001e3d: PUSH2 0x2deb 00001e40: JUMP 00001e41: JUMPDEST 00001e42: SWAP5 00001e43: PUSH2 0x2f5e 00001e46: JUMP 00001e47: JUMPDEST 00001e48: PUSH2 0x1e59 00001e4b: JUMPI 00001e4c: POP 00001e4d: PUSH2 0x06e0 00001e50: SWAP1 00001e51: PUSH1 0xd1 00001e53: SLOAD 00001e54: ADD 00001e55: PUSH1 0xd1 00001e57: SSTORE 00001e58: JUMP 00001e59: JUMPDEST 00001e5a: MLOAD 00001e5b: PUSH4 0x09bde339 00001e60: PUSH1 0xe0 00001e62: SHL 00001e63: DUP2 00001e64: MSTORE 00001e65: PUSH1 0x04 00001e67: SWAP1 00001e68: REVERT 00001e69: JUMPDEST 00001e6a: DUP7 00001e6b: MLOAD 00001e6c: PUSH4 0x1c6c4cf3 00001e71: PUSH1 0xe3 00001e73: SHL 00001e74: DUP2 00001e75: MSTORE 00001e76: PUSH1 0x04 00001e78: SWAP1 00001e79: REVERT 00001e7a: JUMPDEST 00001e7b: POP 00001e7c: PUSH2 0x1e87 00001e7f: DUP8 00001e80: DUP7 00001e81: ADD 00001e82: DUP7 00001e83: PUSH2 0x1a00 00001e86: JUMP 00001e87: JUMPDEST 00001e88: SWAP1 00001e89: POP 00001e8a: PUSH1 0xb0 00001e8c: DUP10 00001e8d: MUL 00001e8e: EQ 00001e8f: ISZERO 00001e90: PUSH2 0x1e17 00001e93: JUMP 00001e94: JUMPDEST 00001e95: DUP7 00001e96: MLOAD 00001e97: PUSH4 0x96d80433 00001e9c: PUSH1 0xe0 00001e9e: SHL 00001e9f: DUP2 00001ea0: MSTORE 00001ea1: PUSH1 0x04 00001ea3: SWAP1 00001ea4: REVERT 00001ea5: JUMPDEST 00001ea6: DUP1 00001ea7: PUSH2 0x143f 00001eaa: PUSH2 0x1eb2 00001ead: SWAP3 00001eae: PUSH2 0x0664 00001eb1: JUMP 00001eb2: JUMPDEST 00001eb3: PUSH0 00001eb4: PUSH2 0x1df7 00001eb7: JUMP 00001eb8: JUMPDEST 00001eb9: SWAP4 00001eba: SWAP3 00001ebb: SWAP2 00001ebc: PUSH1 0x20 00001ebe: SWAP2 00001ebf: PUSH2 0x1ed0 00001ec2: SWAP2 00001ec3: PUSH1 0x40 00001ec5: DUP8 00001ec6: MSTORE 00001ec7: PUSH1 0x40 00001ec9: DUP8 00001eca: ADD 00001ecb: SWAP2 00001ecc: PUSH2 0x196c 00001ecf: JUMP 00001ed0: JUMPDEST 00001ed1: SWAP4 00001ed2: ADD 00001ed3: MSTORE 00001ed4: JUMP 00001ed5: JUMPDEST 00001ed6: SWAP1 00001ed7: PUSH1 0x40 00001ed9: MLOAD 00001eda: SWAP2 00001edb: PUSH1 0x20 00001edd: DUP4 00001ede: ADD 00001edf: MSTORE 00001ee0: PUSH1 0x20 00001ee2: DUP3 00001ee3: MSTORE 00001ee4: PUSH2 0x06e0 00001ee7: DUP3 00001ee8: PUSH2 0x0697 00001eeb: JUMP 00001eec: JUMPDEST 00001eed: PUSH2 0x1ef5 00001ef0: CALLER 00001ef1: PUSH2 0x30bb 00001ef4: JUMP 00001ef5: JUMPDEST 00001ef6: PUSH2 0x14e1 00001ef9: CALLVALUE 00001efa: CALLER 00001efb: PUSH2 0x30dc 00001efe: JUMP 00001eff: JUMPDEST 00001f00: PUSH4 0x4e487b71 00001f05: PUSH1 0xe0 00001f07: SHL 00001f08: PUSH0 00001f09: MSTORE 00001f0a: PUSH1 0x12 00001f0c: PUSH1 0x04 00001f0e: MSTORE 00001f0f: PUSH1 0x24 00001f11: PUSH0 00001f12: REVERT 00001f13: JUMPDEST 00001f14: DUP2 00001f15: ISZERO 00001f16: PUSH2 0x1f1d 00001f19: JUMPI 00001f1a: DIV 00001f1b: SWAP1 00001f1c: JUMP 00001f1d: JUMPDEST 00001f1e: PUSH2 0x1eff 00001f21: JUMP 00001f22: JUMPDEST 00001f23: SWAP1 00001f24: DUP1 00001f25: DUP3 00001f26: MUL 00001f27: SWAP1 00001f28: PUSH0 00001f29: NOT 00001f2a: DUP2 00001f2b: DUP5 00001f2c: MULMOD 00001f2d: SWAP1 00001f2e: DUP3 00001f2f: DUP1 00001f30: DUP4 00001f31: LT 00001f32: SWAP3 00001f33: SUB 00001f34: SWAP2 00001f35: DUP1 00001f36: DUP4 00001f37: SUB 00001f38: SWAP3 00001f39: EQ 00001f3a: PUSH2 0x1f91 00001f3d: JUMPI 00001f3e: PUSH2 0x2710 00001f41: SWAP1 00001f42: DUP3 00001f43: DUP3 00001f44: GT 00001f45: ISZERO 00001f46: PUSH2 0x1f7f 00001f49: JUMPI 00001f4a: PUSH32 0xbc01a36e2eb1c432ca57a786c226809d495182a9930be0ded288ce703afb7e91 00001f6b: SWAP5 00001f6c: MULMOD 00001f6d: SWAP1 00001f6e: DUP3 00001f6f: DUP3 00001f70: GT 00001f71: SWAP1 00001f72: SUB 00001f73: PUSH1 0xfc 00001f75: SHL 00001f76: SWAP2 00001f77: SUB 00001f78: PUSH1 0x04 00001f7a: SHR 00001f7b: OR 00001f7c: MUL 00001f7d: SWAP1 00001f7e: JUMP 00001f7f: JUMPDEST 00001f80: PUSH1 0x40 00001f82: MLOAD 00001f83: PUSH4 0x227bc153 00001f88: PUSH1 0xe0 00001f8a: SHL 00001f8b: DUP2 00001f8c: MSTORE 00001f8d: PUSH1 0x04 00001f8f: SWAP1 00001f90: REVERT 00001f91: JUMPDEST 00001f92: POP 00001f93: POP 00001f94: PUSH2 0x2710 00001f97: SWAP2 00001f98: POP 00001f99: DIV 00001f9a: SWAP1 00001f9b: JUMP 00001f9c: JUMPDEST 00001f9d: SWAP1 00001f9e: SWAP2 00001f9f: DUP3 00001fa0: DUP3 00001fa1: MUL 00001fa2: SWAP2 00001fa3: PUSH0 00001fa4: NOT 00001fa5: DUP5 00001fa6: DUP3 00001fa7: MULMOD 00001fa8: SWAP4 00001fa9: DUP4 00001faa: DUP1 00001fab: DUP7 00001fac: LT 00001fad: SWAP6 00001fae: SUB 00001faf: SWAP5 00001fb0: DUP1 00001fb1: DUP7 00001fb2: SUB 00001fb3: SWAP6 00001fb4: EQ 00001fb5: PUSH2 0x200f 00001fb8: JUMPI 00001fb9: DUP5 00001fba: DUP4 00001fbb: GT 00001fbc: ISZERO 00001fbd: PUSH2 0x1f7f 00001fc0: JUMPI 00001fc1: DUP3 00001fc2: SWAP2 00001fc3: MULMOD 00001fc4: DUP2 00001fc5: PUSH0 00001fc6: SUB 00001fc7: DUP3 00001fc8: AND 00001fc9: DUP1 00001fca: SWAP3 00001fcb: DIV 00001fcc: PUSH1 0x02 00001fce: DUP1 00001fcf: DUP3 00001fd0: PUSH1 0x03 00001fd2: MUL 00001fd3: XOR 00001fd4: DUP1 00001fd5: DUP4 00001fd6: MUL 00001fd7: DUP3 00001fd8: SUB 00001fd9: MUL 00001fda: DUP1 00001fdb: DUP4 00001fdc: MUL 00001fdd: DUP3 00001fde: SUB 00001fdf: MUL 00001fe0: DUP1 00001fe1: DUP4 00001fe2: MUL 00001fe3: DUP3 00001fe4: SUB 00001fe5: MUL 00001fe6: DUP1 00001fe7: DUP4 00001fe8: MUL 00001fe9: DUP3 00001fea: SUB 00001feb: MUL 00001fec: DUP1 00001fed: DUP4 00001fee: MUL 00001fef: DUP3 00001ff0: SUB 00001ff1: MUL 00001ff2: DUP1 00001ff3: SWAP3 00001ff4: MUL 00001ff5: SWAP1 00001ff6: SUB 00001ff7: MUL 00001ff8: SWAP4 00001ff9: PUSH1 0x01 00001ffb: DUP4 00001ffc: DUP1 00001ffd: PUSH0 00001ffe: SUB 00001fff: DIV 00002000: ADD 00002001: SWAP1 00002002: DUP5 00002003: DUP4 00002004: GT 00002005: SWAP1 00002006: SUB 00002007: MUL 00002008: SWAP3 00002009: SUB 0000200a: DIV 0000200b: OR 0000200c: MUL 0000200d: SWAP1 0000200e: JUMP 0000200f: JUMPDEST 00002010: POP 00002011: POP 00002012: SWAP1 00002013: PUSH2 0x104e 00002016: SWAP3 00002017: POP 00002018: PUSH2 0x1f13 0000201b: JUMP 0000201c: JUMPDEST 0000201d: SWAP1 0000201e: DUP2 0000201f: PUSH1 0x60 00002021: SWAP2 00002022: SUB 00002023: SLT 00002024: PUSH2 0x02f0 00002027: JUMPI 00002028: DUP1 00002029: MLOAD 0000202a: SWAP2 0000202b: PUSH1 0x40 0000202d: PUSH1 0x20 0000202f: DUP4 00002030: ADD 00002031: MLOAD 00002032: SWAP3 00002033: ADD 00002034: MLOAD 00002035: PUSH2 0x104e 00002038: DUP2 00002039: PUSH2 0x1096 0000203c: JUMP 0000203d: JUMPDEST 0000203e: DUP2 0000203f: DUP4 00002040: MSTORE 00002041: SWAP1 00002042: SWAP2 00002043: PUSH1 0x01 00002045: PUSH1 0x01 00002047: PUSH1 0xfb 00002049: SHL 0000204a: SUB 0000204b: DUP4 0000204c: GT 0000204d: PUSH2 0x02f0 00002050: JUMPI 00002051: PUSH1 0x20 00002053: SWAP3 00002054: PUSH1 0x05 00002056: SHL 00002057: DUP1 00002058: SWAP3 00002059: DUP5 0000205a: DUP4 0000205b: ADD 0000205c: CALLDATACOPY 0000205d: ADD 0000205e: ADD 0000205f: SWAP1 00002060: JUMP 00002061: JUMPDEST 00002062: SWAP1 00002063: PUSH1 0x20 00002065: DUP3 00002066: MSTORE 00002067: DUP1 00002068: CALLDATALOAD 00002069: PUSH1 0x20 0000206b: DUP4 0000206c: ADD 0000206d: MSTORE 0000206e: PUSH1 0x20 00002070: DUP2 00002071: ADD 00002072: CALLDATALOAD 00002073: DUP1 00002074: PUSH1 0x13 00002076: SIGNEXTEND 00002077: DUP1 00002078: SWAP2 00002079: SUB 0000207a: PUSH2 0x02f0 0000207d: JUMPI 0000207e: PUSH1 0x40 00002080: DUP4 00002081: ADD 00002082: MSTORE 00002083: PUSH1 0x40 00002085: DUP2 00002086: ADD 00002087: CALLDATALOAD 00002088: PUSH2 0x2090 0000208b: DUP2 0000208c: PUSH2 0x0363 0000208f: JUMP 00002090: JUMPDEST 00002091: PUSH1 0x01 00002093: PUSH1 0x01 00002095: PUSH1 0xa0 00002097: SHL 00002098: SUB 00002099: AND 0000209a: PUSH1 0x60 0000209c: DUP4 0000209d: DUP2 0000209e: ADD 0000209f: SWAP2 000020a0: SWAP1 000020a1: SWAP2 000020a2: MSTORE 000020a3: DUP2 000020a4: ADD 000020a5: CALLDATALOAD 000020a6: CALLDATASIZE 000020a7: DUP3 000020a8: SWAP1 000020a9: SUB 000020aa: PUSH1 0x1e 000020ac: NOT 000020ad: ADD 000020ae: DUP2 000020af: SLT 000020b0: ISZERO 000020b1: PUSH2 0x02f0 000020b4: JUMPI 000020b5: ADD 000020b6: PUSH1 0x20 000020b8: DUP2 000020b9: CALLDATALOAD 000020ba: SWAP2 000020bb: ADD 000020bc: SWAP1 000020bd: PUSH1 0x01 000020bf: PUSH1 0x01 000020c1: PUSH1 0x40 000020c3: SHL 000020c4: SUB 000020c5: DUP2 000020c6: GT 000020c7: PUSH2 0x02f0 000020ca: JUMPI 000020cb: DUP1 000020cc: PUSH1 0x05 000020ce: SHL 000020cf: CALLDATASIZE 000020d0: SUB 000020d1: DUP3 000020d2: SGT 000020d3: PUSH2 0x02f0 000020d6: JUMPI 000020d7: PUSH1 0xa0 000020d9: DUP4 000020da: PUSH1 0x80 000020dc: DUP1 000020dd: PUSH2 0x104e 000020e0: SWAP7 000020e1: ADD 000020e2: MSTORE 000020e3: ADD 000020e4: SWAP2 000020e5: PUSH2 0x203d 000020e8: JUMP 000020e9: JUMPDEST 000020ea: SWAP1 000020eb: DUP2 000020ec: PUSH1 0x20 000020ee: SWAP2 000020ef: SUB 000020f0: SLT 000020f1: PUSH2 0x02f0 000020f4: JUMPI 000020f5: MLOAD 000020f6: SWAP1 000020f7: JUMP 000020f8: JUMPDEST 000020f9: SWAP2 000020fa: SWAP1 000020fb: SWAP2 000020fc: PUSH0 000020fd: DUP4 000020fe: DUP3 000020ff: ADD 00002100: SWAP4 00002101: DUP5 00002102: SLT 00002103: SWAP2 00002104: SLT 00002105: SWAP1 00002106: DUP1 00002107: ISZERO 00002108: DUP3 00002109: AND 0000210a: SWAP2 0000210b: ISZERO 0000210c: AND 0000210d: OR 0000210e: PUSH2 0x0bee 00002111: JUMPI 00002112: JUMP 00002113: JUMPDEST 00002114: PUSH1 0x40 00002116: MLOAD 00002117: PUSH4 0x25f56f11 0000211c: PUSH1 0xe0 0000211e: SHL 0000211f: DUP2 00002120: MSTORE 00002121: PUSH1 0x01 00002123: PUSH1 0x01 00002125: PUSH1 0xa0 00002127: SHL 00002128: SUB 00002129: SWAP3 0000212a: SWAP2 0000212b: PUSH1 0x60 0000212d: SWAP1 0000212e: DUP3 0000212f: SWAP1 00002130: DUP2 00002131: SWAP1 00002132: PUSH2 0x213e 00002135: SWAP1 00002136: PUSH1 0x04 00002138: DUP4 00002139: ADD 0000213a: PUSH2 0x2061 0000213d: JUMP 0000213e: JUMPDEST 0000213f: SUB 00002140: DUP2 00002141: PUSH0 00002142: DUP8 00002143: PUSH32 0x0000000000000000000000006b5815467da09daa7dc83db21c9239d98bb487b5 00002164: AND 00002165: GAS 00002166: CALL 00002167: SWAP3 00002168: DUP4 00002169: ISZERO 0000216a: PUSH2 0x08b2 0000216d: JUMPI 0000216e: PUSH0 0000216f: SWAP2 00002170: PUSH0 00002171: SWAP1 00002172: PUSH0 00002173: SWAP6 00002174: PUSH2 0x2264 00002177: JUMPI 00002178: JUMPDEST 00002179: POP 0000217a: DUP5 0000217b: ISZERO 0000217c: PUSH2 0x2211 0000217f: JUMPI 00002180: DUP2 00002181: PUSH2 0x2188 00002184: PUSH2 0x1522 00002187: JUMP 00002188: JUMPDEST 00002189: AND 0000218a: SWAP2 0000218b: PUSH32 0x00000000000000000000000048319f97e5da1233c21c48b80097c0fb7a20ff86 000021ac: AND 000021ad: DUP3 000021ae: EQ 000021af: PUSH2 0x220a 000021b2: JUMPI 000021b3: POP 000021b4: SWAP1 000021b5: PUSH1 0x20 000021b7: PUSH0 000021b8: SWAP3 000021b9: PUSH1 0x04 000021bb: PUSH1 0x40 000021bd: MLOAD 000021be: DUP1 000021bf: SWAP6 000021c0: DUP2 000021c1: SWAP4 000021c2: PUSH4 0x4641257d 000021c7: PUSH1 0xe0 000021c9: SHL 000021ca: DUP4 000021cb: MSTORE 000021cc: GAS 000021cd: CALL 000021ce: SWAP1 000021cf: DUP2 000021d0: ISZERO 000021d1: PUSH2 0x08b2 000021d4: JUMPI 000021d5: PUSH2 0x21e5 000021d8: SWAP3 000021d9: PUSH0 000021da: SWAP3 000021db: PUSH2 0x21e9 000021de: JUMPI 000021df: JUMPDEST 000021e0: POP 000021e1: PUSH2 0x20f8 000021e4: JUMP 000021e5: JUMPDEST 000021e6: SWAP2 000021e7: SWAP1 000021e8: JUMP 000021e9: JUMPDEST 000021ea: PUSH2 0x2203 000021ed: SWAP2 000021ee: SWAP3 000021ef: POP 000021f0: PUSH1 0x20 000021f2: RETURNDATASIZE 000021f3: PUSH1 0x20 000021f5: GT 000021f6: PUSH2 0x0992 000021f9: JUMPI 000021fa: PUSH2 0x0984 000021fd: DUP2 000021fe: DUP4 000021ff: PUSH2 0x06b2 00002202: JUMP 00002203: JUMPDEST 00002204: SWAP1 00002205: PUSH0 00002206: PUSH2 0x21df 00002209: JUMP 0000220a: JUMPDEST 0000220b: SWAP1 0000220c: DUP2 0000220d: PUSH2 0x2217 00002210: JUMPI 00002211: JUMPDEST 00002212: POP 00002213: POP 00002214: SWAP2 00002215: SWAP1 00002216: JUMP 00002217: JUMPDEST 00002218: DUP1 00002219: EXTCODESIZE 0000221a: ISZERO 0000221b: PUSH2 0x02f0 0000221e: JUMPI 0000221f: PUSH1 0x40 00002221: MLOAD 00002222: PUSH4 0x6ee31931 00002227: PUSH1 0xe1 00002229: SHL 0000222a: DUP2 0000222b: MSTORE 0000222c: PUSH1 0x04 0000222e: DUP2 0000222f: ADD 00002230: SWAP3 00002231: SWAP1 00002232: SWAP3 00002233: MSTORE 00002234: PUSH0 00002235: SWAP1 00002236: DUP3 00002237: SWAP1 00002238: PUSH1 0x24 0000223a: SWAP1 0000223b: DUP3 0000223c: SWAP1 0000223d: DUP5 0000223e: SWAP1 0000223f: GAS 00002240: CALL 00002241: DUP1 00002242: ISZERO 00002243: PUSH2 0x08b2 00002246: JUMPI 00002247: PUSH2 0x2251 0000224a: JUMPI 0000224b: JUMPDEST 0000224c: DUP1 0000224d: PUSH2 0x2211 00002250: JUMP 00002251: JUMPDEST 00002252: DUP1 00002253: PUSH2 0x143f 00002256: PUSH2 0x225e 00002259: SWAP3 0000225a: PUSH2 0x0664 0000225d: JUMP 0000225e: JUMPDEST 0000225f: PUSH0 00002260: PUSH2 0x224b 00002263: JUMP 00002264: JUMPDEST 00002265: SWAP2 00002266: SWAP5 00002267: POP 00002268: POP 00002269: PUSH2 0x228a 0000226c: SWAP2 0000226d: POP 0000226e: PUSH1 0x60 00002270: RETURNDATASIZE 00002271: PUSH1 0x60 00002273: GT 00002274: PUSH2 0x2292 00002277: JUMPI 00002278: JUMPDEST 00002279: PUSH2 0x2282 0000227c: DUP2 0000227d: DUP4 0000227e: PUSH2 0x06b2 00002281: JUMP 00002282: JUMPDEST 00002283: DUP2 00002284: ADD 00002285: SWAP1 00002286: PUSH2 0x201c 00002289: JUMP 0000228a: JUMPDEST 0000228b: SWAP4 0000228c: SWAP1 0000228d: PUSH0 0000228e: PUSH2 0x2178 00002291: JUMP 00002292: JUMPDEST 00002293: POP 00002294: RETURNDATASIZE 00002295: PUSH2 0x2278 00002298: JUMP 00002299: JUMPDEST 0000229a: PUSH1 0x01 0000229c: PUSH1 0xff 0000229e: SHL 0000229f: DUP2 000022a0: EQ 000022a1: PUSH2 0x0bee 000022a4: JUMPI 000022a5: PUSH0 000022a6: SUB 000022a7: SWAP1 000022a8: JUMP 000022a9: JUMPDEST 000022aa: PUSH2 0x22c4 000022ad: PUSH2 0x22b8 000022b0: PUSH1 0x98 000022b2: SLOAD 000022b3: PUSH1 0x80 000022b5: SHR 000022b6: SWAP1 000022b7: JUMP 000022b8: JUMPDEST 000022b9: PUSH1 0x01 000022bb: PUSH1 0x01 000022bd: PUSH1 0x80 000022bf: SHL 000022c0: SUB 000022c1: AND 000022c2: SWAP1 000022c3: JUMP 000022c4: JUMPDEST 000022c5: PUSH0 000022c6: DUP3 000022c7: SLT 000022c8: PUSH2 0x23ac 000022cb: JUMPI 000022cc: DUP2 000022cd: PUSH2 0x22d5 000022d0: SWAP2 000022d1: PUSH2 0x179e 000022d4: JUMP 000022d5: JUMPDEST 000022d6: SWAP1 000022d7: PUSH2 0x22fd 000022da: PUSH2 0x22e2 000022dd: DUP4 000022de: PUSH2 0x28f8 000022e1: JUMP 000022e2: JUMPDEST 000022e3: PUSH1 0x01 000022e5: PUSH1 0x01 000022e7: PUSH1 0x80 000022e9: SHL 000022ea: SUB 000022eb: PUSH1 0x98 000022ed: SLOAD 000022ee: SWAP2 000022ef: DUP2 000022f0: NOT 000022f1: SWAP1 000022f2: PUSH1 0x80 000022f4: SHL 000022f5: AND 000022f6: SWAP2 000022f7: AND 000022f8: OR 000022f9: PUSH1 0x98 000022fb: SSTORE 000022fc: JUMP 000022fd: JUMPDEST 000022fe: PUSH2 0x2312 00002301: PUSH1 0x65 00002303: SLOAD 00002304: SWAP2 00002305: PUSH2 0xffff 00002308: DUP4 00002309: PUSH1 0xa0 0000230b: SHR 0000230c: AND 0000230d: SWAP1 0000230e: PUSH2 0x1f22 00002311: JUMP 00002312: JUMPDEST 00002313: DUP1 00002314: ISZERO 00002315: PUSH2 0x1c33 00002318: JUMPI 00002319: DUP1 0000231a: PUSH32 0x555ee6b2ef9506d870f386c067e47d3689435330b012ad263d8cc35318686547 0000233b: SWAP4 0000233c: PUSH2 0x2350 0000233f: PUSH2 0x22b8 00002342: PUSH1 0x98 00002344: SLOAD 00002345: PUSH1 0x01 00002347: PUSH1 0x01 00002349: PUSH1 0x80 0000234b: SHL 0000234c: SUB 0000234d: AND 0000234e: SWAP1 0000234f: JUMP 00002350: JUMPDEST 00002351: DUP1 00002352: PUSH2 0x2396 00002355: JUMPI 00002356: POP 00002357: POP 00002358: PUSH2 0x16be 0000235b: SWAP1 0000235c: SWAP3 0000235d: JUMPDEST 0000235e: PUSH1 0x01 00002360: PUSH1 0x01 00002362: PUSH1 0xa0 00002364: SHL 00002365: SUB 00002366: AND 00002367: SWAP2 00002368: PUSH2 0x2371 0000236b: DUP5 0000236c: DUP5 0000236d: PUSH2 0x323d 00002370: JUMP 00002371: JUMPDEST 00002372: PUSH1 0x40 00002374: MLOAD 00002375: SWAP4 00002376: DUP5 00002377: SWAP4 00002378: DUP5 00002379: PUSH1 0x40 0000237b: SWAP2 0000237c: SWAP5 0000237d: SWAP4 0000237e: SWAP3 0000237f: PUSH1 0x60 00002381: DUP3 00002382: ADD 00002383: SWAP6 00002384: PUSH1 0x01 00002386: DUP1 00002387: PUSH1 0xa0 00002389: SHL 0000238a: SUB 0000238b: AND 0000238c: DUP3 0000238d: MSTORE 0000238e: PUSH1 0x20 00002390: DUP3 00002391: ADD 00002392: MSTORE 00002393: ADD 00002394: MSTORE 00002395: JUMP 00002396: JUMPDEST 00002397: PUSH2 0x16be 0000239a: SWAP3 0000239b: PUSH2 0x23a6 0000239e: SWAP3 0000239f: SUB 000023a0: SWAP1 000023a1: DUP5 000023a2: PUSH2 0x1f9c 000023a5: JUMP 000023a6: JUMPDEST 000023a7: SWAP3 000023a8: PUSH2 0x235d 000023ab: JUMP 000023ac: JUMPDEST 000023ad: PUSH2 0x23c5 000023b0: PUSH2 0x22e2 000023b3: SWAP2 000023b4: PUSH2 0x23bf 000023b7: PUSH2 0x06e0 000023ba: SWAP5 000023bb: PUSH2 0x2299 000023be: JUMP 000023bf: JUMPDEST 000023c0: SWAP1 000023c1: PUSH2 0x1724 000023c4: JUMP 000023c5: JUMPDEST 000023c6: PUSH2 0x28f8 000023c9: JUMP 000023ca: JUMPDEST 000023cb: PUSH1 0x99 000023cd: SLOAD 000023ce: SWAP1 000023cf: PUSH1 0x01 000023d1: PUSH1 0x01 000023d3: PUSH1 0x80 000023d5: SHL 000023d6: SUB 000023d7: DUP3 000023d8: AND 000023d9: SWAP2 000023da: DUP3 000023db: ISZERO 000023dc: PUSH2 0x24ed 000023df: JUMPI 000023e0: PUSH1 0x80 000023e2: SHR 000023e3: PUSH2 0x23fe 000023e6: PUSH2 0x23ef 000023e9: DUP3 000023ea: SELFBALANCE 000023eb: PUSH2 0x1724 000023ee: JUMP 000023ef: JUMPDEST 000023f0: PUSH2 0x23f8 000023f3: DUP6 000023f4: PUSH2 0x149c 000023f7: JUMP 000023f8: JUMPDEST 000023f9: SWAP1 000023fa: PUSH2 0x328b 000023fd: JUMP 000023fe: JUMPDEST 000023ff: SWAP1 00002400: DUP2 00002401: ISZERO 00002402: PUSH2 0x24e6 00002405: JUMPI 00002406: PUSH2 0x240e 00002409: DUP3 0000240a: PUSH2 0x2b1a 0000240d: JUMP 0000240e: JUMPDEST 0000240f: SWAP4 00002410: DUP5 00002411: ISZERO 00002412: PUSH2 0x24de 00002415: JUMPI 00002416: DUP3 00002417: PUSH2 0x245b 0000241a: PUSH2 0x1877 0000241d: PUSH2 0x23c5 00002420: PUSH2 0x06e0 00002423: SWAP7 00002424: PUSH2 0x22e2 00002427: SWAP7 00002428: PUSH2 0x2456 0000242b: PUSH2 0x243a 0000242e: PUSH2 0x23c5 00002431: DUP14 00002432: PUSH2 0x24d3 00002435: SWAP11 00002436: PUSH2 0x1724 00002439: JUMP 0000243a: JUMPDEST 0000243b: PUSH1 0x01 0000243d: PUSH1 0x01 0000243f: PUSH1 0x80 00002441: SHL 00002442: SUB 00002443: AND 00002444: PUSH1 0x01 00002446: PUSH1 0x01 00002448: PUSH1 0x80 0000244a: SHL 0000244b: SUB 0000244c: NOT 0000244d: PUSH1 0x99 0000244f: SLOAD 00002450: AND 00002451: OR 00002452: PUSH1 0x99 00002454: SSTORE 00002455: JUMP 00002456: JUMPDEST 00002457: PUSH2 0x179e 0000245a: JUMP 0000245b: JUMPDEST 0000245c: PUSH2 0x2465 0000245f: DUP2 00002460: DUP8 00002461: PUSH2 0x32f1 00002464: JUMP 00002465: JUMPDEST 00002466: PUSH1 0x40 00002468: DUP1 00002469: MLOAD 0000246a: DUP8 0000246b: DUP2 0000246c: MSTORE 0000246d: PUSH1 0x20 0000246f: DUP2 00002470: ADD 00002471: DUP4 00002472: SWAP1 00002473: MSTORE 00002474: PUSH32 0x624ea167e477f9d39f7f4094b9dfe2e6346eb4a7aada54338db51abd554c4b9f 00002495: SWAP2 00002496: SWAP1 00002497: LOG1 00002498: PUSH2 0x23c5 0000249b: PUSH2 0x24b7 0000249e: PUSH2 0x24a6 000024a1: DUP9 000024a2: PUSH2 0x28f8 000024a5: JUMP 000024a6: JUMPDEST 000024a7: PUSH1 0x98 000024a9: SLOAD 000024aa: PUSH1 0x01 000024ac: PUSH1 0x01 000024ae: PUSH1 0x80 000024b0: SHL 000024b1: SUB 000024b2: AND 000024b3: PUSH2 0x17ab 000024b6: JUMP 000024b7: JUMPDEST 000024b8: PUSH1 0x01 000024ba: PUSH1 0x01 000024bc: PUSH1 0x80 000024be: SHL 000024bf: SUB 000024c0: AND 000024c1: PUSH1 0x01 000024c3: PUSH1 0x01 000024c5: PUSH1 0x80 000024c7: SHL 000024c8: SUB 000024c9: NOT 000024ca: PUSH1 0x98 000024cc: SLOAD 000024cd: AND 000024ce: OR 000024cf: PUSH1 0x98 000024d1: SSTORE 000024d2: JUMP 000024d3: JUMPDEST 000024d4: PUSH1 0x98 000024d6: SLOAD 000024d7: PUSH1 0x80 000024d9: SHR 000024da: PUSH2 0x17ab 000024dd: JUMP 000024de: JUMPDEST 000024df: POP 000024e0: PUSH0 000024e1: SWAP4 000024e2: POP 000024e3: POP 000024e4: POP 000024e5: JUMP 000024e6: JUMPDEST 000024e7: POP 000024e8: PUSH0 000024e9: SWAP3 000024ea: POP 000024eb: POP 000024ec: JUMP 000024ed: JUMPDEST 000024ee: POP 000024ef: PUSH0 000024f0: SWAP2 000024f1: POP 000024f2: JUMP 000024f3: JUMPDEST 000024f4: PUSH2 0x24fb 000024f7: PUSH2 0x33d8 000024fa: JUMP 000024fb: JUMPDEST 000024fc: DUP1 000024fd: MLOAD 000024fe: PUSH1 0x80 00002500: DUP3 00002501: ADD 00002502: MLOAD 00002503: PUSH1 0x01 00002505: PUSH1 0x01 00002507: PUSH1 0xa0 00002509: SHL 0000250a: SUB 0000250b: SWAP2 0000250c: DUP3 0000250d: AND 0000250e: PUSH2 0x2515 00002511: PUSH2 0x33d8 00002514: JUMP 00002515: JUMPDEST 00002516: PUSH1 0x01 00002518: PUSH1 0x01 0000251a: PUSH1 0x60 0000251c: SHL 0000251d: SUB 0000251e: PUSH1 0xa0 00002520: SHL 00002521: PUSH0 00002522: SLOAD 00002523: AND 00002524: OR 00002525: PUSH0 00002526: SSTORE 00002527: PUSH32 0x2013570c343af8ab14a9778150e381a0fda34ed6368127a95fd5e7210cbec5bf 00002548: PUSH1 0x40 0000254a: MLOAD 0000254b: PUSH1 0x20 0000254d: DUP2 0000254e: MSTORE 0000254f: DUP1 00002550: PUSH2 0x255e 00002553: CALLER 00002554: SWAP5 00002555: PUSH1 0x20 00002557: DUP4 00002558: ADD 00002559: SWAP1 0000255a: PUSH2 0x0ed1 0000255d: JUMP 0000255e: JUMPDEST 0000255f: SUB 00002560: SWAP1 00002561: LOG2 00002562: DUP2 00002563: MLOAD 00002564: AND 00002565: PUSH1 0x60 00002567: DUP3 00002568: ADD 00002569: MLOAD 0000256a: SWAP2 0000256b: PUSH2 0x2572 0000256e: PUSH2 0x33d8 00002571: JUMP 00002572: JUMPDEST 00002573: PUSH2 0x2710 00002576: PUSH2 0xffff 00002579: DUP5 0000257a: AND 0000257b: GT 0000257c: PUSH2 0x25e4 0000257f: JUMPI 00002580: PUSH2 0x25dc 00002583: SWAP3 00002584: PUSH2 0x258f 00002587: PUSH2 0x25d7 0000258a: SWAP4 0000258b: PUSH2 0x2bf0 0000258e: JUMP 0000258f: JUMPDEST 00002590: PUSH1 0x65 00002592: SLOAD 00002593: SWAP1 00002594: PUSH2 0xffff 00002597: PUSH1 0xa0 00002599: SHL 0000259a: SWAP1 0000259b: PUSH1 0xa0 0000259d: SHL 0000259e: AND 0000259f: SWAP1 000025a0: PUSH2 0xffff 000025a3: PUSH1 0xa0 000025a5: SHL 000025a6: NOT 000025a7: AND 000025a8: OR 000025a9: PUSH1 0x65 000025ab: SSTORE 000025ac: PUSH2 0x25b8 000025af: PUSH1 0x40 000025b1: DUP3 000025b2: ADD 000025b3: MLOAD 000025b4: PUSH2 0x3406 000025b7: JUMP 000025b8: JUMPDEST 000025b9: PUSH2 0x25c0 000025bc: PUSH2 0x3436 000025bf: JUMP 000025c0: JUMPDEST 000025c1: PUSH1 0x20 000025c3: DUP2 000025c4: ADD 000025c5: MLOAD 000025c6: PUSH2 0x1689 000025c9: SWAP1 000025ca: PUSH1 0x01 000025cc: PUSH1 0x01 000025ce: PUSH1 0xa0 000025d0: SHL 000025d1: SUB 000025d2: AND 000025d3: PUSH2 0x3457 000025d6: JUMP 000025d7: JUMPDEST 000025d8: PUSH2 0x3486 000025db: JUMP 000025dc: JUMPDEST 000025dd: PUSH2 0x06e0 000025e0: PUSH2 0x3492 000025e3: JUMP 000025e4: JUMPDEST 000025e5: PUSH1 0x40 000025e7: MLOAD 000025e8: PUSH4 0x8a81d3b3 000025ed: PUSH1 0xe0 000025ef: SHL 000025f0: DUP2 000025f1: MSTORE 000025f2: PUSH1 0x04 000025f4: SWAP1 000025f5: REVERT 000025f6: JUMPDEST 000025f7: PUSH1 0x01 000025f9: PUSH1 0x01 000025fb: PUSH1 0xa0 000025fd: SHL 000025fe: SUB 000025ff: PUSH32 0x000000000000000000000000aeae7d602b537b2065f3da05dcce754fb23a968d 00002620: DUP2 00002621: AND 00002622: ADDRESS 00002623: DUP2 00002624: EQ 00002625: SWAP2 00002626: DUP3 00002627: ISZERO 00002628: PUSH2 0x2634 0000262b: JUMPI 0000262c: JUMPDEST 0000262d: POP 0000262e: POP 0000262f: PUSH2 0x0a91 00002632: JUMPI 00002633: JUMP 00002634: JUMPDEST 00002635: PUSH0 00002636: DUP1 00002637: MLOAD 00002638: PUSH1 0x20 0000263a: PUSH2 0x39af 0000263d: DUP4 0000263e: CODECOPY 0000263f: DUP2 00002640: MLOAD 00002641: SWAP2 00002642: MSTORE 00002643: SLOAD 00002644: AND 00002645: EQ 00002646: ISZERO 00002647: SWAP1 00002648: POP 00002649: PUSH0 0000264a: DUP1 0000264b: PUSH2 0x262c 0000264e: JUMP 0000264f: JUMPDEST 00002650: SWAP1 00002651: PUSH1 0x40 00002653: MLOAD 00002654: PUSH1 0x40 00002656: DUP2 00002657: ADD 00002658: DUP2 00002659: DUP2 0000265a: LT 0000265b: PUSH1 0x01 0000265d: PUSH1 0x01 0000265f: PUSH1 0x40 00002661: SHL 00002662: SUB 00002663: DUP3 00002664: GT 00002665: OR 00002666: PUSH2 0x0677 00002669: JUMPI 0000266a: PUSH1 0x40 0000266c: MSTORE 0000266d: SWAP2 0000266e: SLOAD 0000266f: PUSH1 0x01 00002671: PUSH1 0x01 00002673: PUSH1 0xa0 00002675: SHL 00002676: SUB 00002677: DUP2 00002678: AND 00002679: DUP4 0000267a: MSTORE 0000267b: PUSH1 0xa0 0000267d: SHR 0000267e: PUSH1 0x20 00002680: DUP4 00002681: ADD 00002682: MSTORE 00002683: JUMP 00002684: JUMPDEST 00002685: PUSH1 0x9a 00002687: SLOAD 00002688: PUSH0 00002689: SWAP5 0000268a: DUP6 0000268b: SWAP5 0000268c: SWAP4 0000268d: SWAP1 0000268e: SWAP2 0000268f: DUP1 00002690: DUP5 00002691: LT 00002692: DUP1 00002693: ISZERO 00002694: SWAP1 00002695: PUSH2 0x2817 00002698: JUMPI 00002699: JUMPDEST 0000269a: PUSH2 0x280a 0000269d: JUMPI 0000269e: DUP4 0000269f: PUSH2 0x27d4 000026a2: JUMPI 000026a3: PUSH0 000026a4: JUMPDEST 000026a5: PUSH1 0x9a 000026a7: PUSH0 000026a8: MSTORE 000026a9: PUSH1 0x01 000026ab: PUSH1 0x01 000026ad: PUSH1 0xa0 000026af: SHL 000026b0: SUB 000026b1: AND 000026b2: PUSH2 0x26c9 000026b5: PUSH0 000026b6: DUP1 000026b7: MLOAD 000026b8: PUSH1 0x20 000026ba: PUSH2 0x398f 000026bd: DUP4 000026be: CODECOPY 000026bf: DUP2 000026c0: MLOAD 000026c1: SWAP2 000026c2: MSTORE 000026c3: DUP7 000026c4: ADD 000026c5: PUSH2 0x264f 000026c8: JUMP 000026c9: JUMPDEST 000026ca: DUP1 000026cb: MLOAD 000026cc: SWAP1 000026cd: SWAP8 000026ce: SWAP1 000026cf: PUSH2 0x26e0 000026d2: SWAP1 000026d3: PUSH1 0x01 000026d5: PUSH1 0x01 000026d7: PUSH1 0xa0 000026d9: SHL 000026da: SUB 000026db: AND 000026dc: PUSH2 0x09bb 000026df: JUMP 000026e0: JUMPDEST 000026e1: SWAP9 000026e2: PUSH2 0x2705 000026e5: PUSH2 0x26f9 000026e8: PUSH1 0x20 000026ea: DUP1 000026eb: SWAP12 000026ec: ADD 000026ed: MLOAD 000026ee: PUSH1 0x01 000026f0: PUSH1 0x01 000026f2: PUSH1 0x60 000026f4: SHL 000026f5: SUB 000026f6: AND 000026f7: SWAP1 000026f8: JUMP 000026f9: JUMPDEST 000026fa: PUSH1 0x01 000026fc: PUSH1 0x01 000026fe: PUSH1 0x60 00002700: SHL 00002701: SUB 00002702: AND 00002703: SWAP1 00002704: JUMP 00002705: JUMPDEST 00002706: SWAP5 00002707: DUP4 00002708: DUP2 00002709: LT 0000270a: DUP1 0000270b: ISZERO 0000270c: PUSH2 0x27ca 0000270f: JUMPI 00002710: JUMPDEST 00002711: PUSH2 0x27b8 00002714: JUMPI 00002715: SWAP2 00002716: PUSH1 0x01 00002718: SWAP4 00002719: SWAP8 0000271a: SWAP11 0000271b: SWAP6 0000271c: PUSH2 0x272f 0000271f: PUSH2 0x273b 00002722: SWAP4 00002723: SWAP5 00002724: DUP9 00002725: SUB 00002726: JUMPDEST 00002727: DUP4 00002728: DUP13 00002729: SUB 0000272a: SWAP1 0000272b: PUSH2 0x328b 0000272e: JUMP 0000272f: JUMPDEST 00002730: DUP1 00002731: SWAP3 00002732: ADD 00002733: SWAP9 00002734: DUP8 00002735: SUB 00002736: SWAP2 00002737: PUSH2 0x1f9c 0000273a: JUMP 0000273b: JUMPDEST 0000273c: ADD 0000273d: SWAP8 0000273e: ADD 0000273f: SWAP4 00002740: DUP1 00002741: DUP7 00002742: GT 00002743: DUP1 00002744: ISZERO 00002745: SWAP1 00002746: PUSH2 0x27ae 00002749: JUMPI 0000274a: JUMPDEST 0000274b: PUSH2 0x27a3 0000274e: JUMPI 0000274f: PUSH1 0x9a 00002751: PUSH0 00002752: MSTORE 00002753: DUP3 00002754: SWAP1 00002755: PUSH2 0x276c 00002758: PUSH0 00002759: DUP1 0000275a: MLOAD 0000275b: PUSH1 0x20 0000275d: PUSH2 0x398f 00002760: DUP4 00002761: CODECOPY 00002762: DUP2 00002763: MLOAD 00002764: SWAP2 00002765: MSTORE 00002766: DUP8 00002767: ADD 00002768: PUSH2 0x264f 0000276b: JUMP 0000276c: JUMPDEST 0000276d: DUP1 0000276e: MLOAD 0000276f: SWAP1 00002770: DUP10 00002771: ADD 00002772: MLOAD 00002773: SWAP7 00002774: SWAP10 00002775: SWAP3 00002776: SWAP7 00002777: PUSH1 0x01 00002779: PUSH1 0x01 0000277b: PUSH1 0xa0 0000277d: SHL 0000277e: SUB 0000277f: SWAP1 00002780: SWAP2 00002781: AND 00002782: SWAP5 00002783: PUSH1 0x01 00002785: SWAP4 00002786: SWAP3 00002787: PUSH2 0x273b 0000278a: SWAP3 0000278b: SWAP1 0000278c: SWAP2 0000278d: PUSH1 0x01 0000278f: PUSH1 0x01 00002791: PUSH1 0x60 00002793: SHL 00002794: SUB 00002795: SWAP1 00002796: SWAP2 00002797: AND 00002798: SWAP1 00002799: PUSH2 0x272f 0000279c: SWAP1 0000279d: DUP9 0000279e: SUB 0000279f: PUSH2 0x2726 000027a2: JUMP 000027a3: JUMPDEST 000027a4: SWAP5 000027a5: POP 000027a6: POP 000027a7: POP 000027a8: SWAP3 000027a9: POP 000027aa: POP 000027ab: SWAP2 000027ac: SWAP1 000027ad: JUMP 000027ae: JUMPDEST 000027af: POP 000027b0: DUP2 000027b1: DUP6 000027b2: LT 000027b3: ISZERO 000027b4: PUSH2 0x274a 000027b7: JUMP 000027b8: JUMPDEST 000027b9: PUSH1 0x40 000027bb: MLOAD 000027bc: PUSH4 0xe8722f8f 000027c1: PUSH1 0xe0 000027c3: SHL 000027c4: DUP2 000027c5: MSTORE 000027c6: PUSH1 0x04 000027c8: SWAP1 000027c9: REVERT 000027ca: JUMPDEST 000027cb: POP 000027cc: DUP1 000027cd: DUP12 000027ce: GT 000027cf: ISZERO 000027d0: PUSH2 0x2710 000027d3: JUMP 000027d4: JUMPDEST 000027d5: PUSH1 0x9a 000027d7: PUSH0 000027d8: MSTORE 000027d9: PUSH32 0x44da158ba27f9252712a74ff6a55c5d531f69609f1f6e7f17c4443a8e2089be3 000027fa: DUP5 000027fb: ADD 000027fc: SLOAD 000027fd: PUSH1 0x01 000027ff: PUSH1 0x01 00002801: PUSH1 0xa0 00002803: SHL 00002804: SUB 00002805: AND 00002806: PUSH2 0x26a4 00002809: JUMP 0000280a: JUMPDEST 0000280b: POP 0000280c: POP 0000280d: SWAP4 0000280e: POP 0000280f: POP 00002810: POP 00002811: POP 00002812: PUSH0 00002813: SWAP1 00002814: PUSH0 00002815: SWAP1 00002816: JUMP 00002817: JUMPDEST 00002818: POP 00002819: DUP5 0000281a: ISZERO 0000281b: PUSH2 0x2699 0000281e: JUMP 0000281f: JUMPDEST 00002820: SWAP3 00002821: SWAP2 00002822: SWAP1 00002823: PUSH2 0x282a 00002826: PUSH2 0x35b9 00002829: JUMP 0000282a: JUMPDEST 0000282b: DUP1 0000282c: ISZERO 0000282d: PUSH2 0x28e6 00002830: JUMPI 00002831: PUSH1 0x01 00002833: PUSH1 0x01 00002835: PUSH1 0xa0 00002837: SHL 00002838: SUB 00002839: DUP3 0000283a: DUP2 0000283b: AND 0000283c: SWAP3 0000283d: SWAP1 0000283e: DUP4 0000283f: ISZERO 00002840: PUSH2 0x0e6e 00002843: JUMPI 00002844: PUSH2 0x284c 00002847: DUP4 00002848: PUSH2 0x149c 0000284b: JUMP 0000284c: JUMPDEST 0000284d: SWAP6 0000284e: DUP7 0000284f: ISZERO 00002850: PUSH2 0x28d4 00002853: JUMPI 00002854: PUSH2 0x285b 00002857: PUSH2 0x14f3 0000285a: JUMP 0000285b: JUMPDEST 0000285c: DUP8 0000285d: GT 0000285e: PUSH2 0x28c2 00002861: JUMPI 00002862: PUSH2 0x28a5 00002865: DUP8 00002866: PUSH32 0x5cdf07ad0fc222442720b108e3ed4c4640f0fadc2ab2253e66f259a0fea83480 00002887: SWAP5 00002888: PUSH2 0x2896 0000288b: PUSH2 0x22e2 0000288e: PUSH2 0x24d3 00002891: DUP5 00002892: PUSH2 0x28f8 00002895: JUMP 00002896: JUMPDEST 00002897: PUSH2 0x28a0 0000289a: DUP8 0000289b: DUP6 0000289c: PUSH2 0x35d9 0000289f: JUMP 000028a0: JUMPDEST 000028a1: PUSH2 0x292b 000028a4: JUMP 000028a5: JUMPDEST 000028a6: PUSH1 0x40 000028a8: DUP1 000028a9: MLOAD 000028aa: DUP9 000028ab: DUP2 000028ac: MSTORE 000028ad: PUSH1 0x20 000028af: DUP2 000028b0: ADD 000028b1: SWAP6 000028b2: SWAP1 000028b3: SWAP6 000028b4: MSTORE 000028b5: SWAP2 000028b6: AND 000028b7: SWAP3 000028b8: SWAP1 000028b9: DUP2 000028ba: SWAP1 000028bb: DUP2 000028bc: ADD 000028bd: JUMPDEST 000028be: SUB 000028bf: SWAP1 000028c0: LOG3 000028c1: JUMP 000028c2: JUMPDEST 000028c3: PUSH1 0x40 000028c5: MLOAD 000028c6: PUSH4 0x96d80433 000028cb: PUSH1 0xe0 000028cd: SHL 000028ce: DUP2 000028cf: MSTORE 000028d0: PUSH1 0x04 000028d2: SWAP1 000028d3: REVERT 000028d4: JUMPDEST 000028d5: PUSH1 0x40 000028d7: MLOAD 000028d8: PUSH4 0x18374fd1 000028dd: PUSH1 0xe2 000028df: SHL 000028e0: DUP2 000028e1: MSTORE 000028e2: PUSH1 0x04 000028e4: SWAP1 000028e5: REVERT 000028e6: JUMPDEST 000028e7: PUSH1 0x40 000028e9: MLOAD 000028ea: PUSH4 0x6edcc523 000028ef: PUSH1 0xe0 000028f1: SHL 000028f2: DUP2 000028f3: MSTORE 000028f4: PUSH1 0x04 000028f6: SWAP1 000028f7: REVERT 000028f8: JUMPDEST 000028f9: PUSH1 0x01 000028fb: PUSH1 0x01 000028fd: PUSH1 0x80 000028ff: SHL 00002900: SUB 00002901: SWAP1 00002902: DUP2 00002903: DUP2 00002904: GT 00002905: PUSH2 0x290c 00002908: JUMPI 00002909: AND 0000290a: SWAP1 0000290b: JUMP 0000290c: JUMPDEST 0000290d: PUSH1 0x44 0000290f: SWAP1 00002910: PUSH1 0x40 00002912: MLOAD 00002913: SWAP1 00002914: PUSH4 0x06dfcc65 00002919: PUSH1 0xe4 0000291b: SHL 0000291c: DUP3 0000291d: MSTORE 0000291e: PUSH1 0x80 00002920: PUSH1 0x04 00002922: DUP4 00002923: ADD 00002924: MSTORE 00002925: PUSH1 0x24 00002927: DUP3 00002928: ADD 00002929: MSTORE 0000292a: REVERT 0000292b: JUMPDEST 0000292c: SWAP1 0000292d: PUSH32 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00 0000294e: SWAP2 0000294f: PUSH1 0x02 00002951: DUP4 00002952: SLOAD 00002953: EQ 00002954: PUSH2 0x29b3 00002957: JUMPI 00002958: PUSH1 0x02 0000295a: DUP4 0000295b: SSTORE 0000295c: DUP2 0000295d: SELFBALANCE 0000295e: LT 0000295f: PUSH2 0x299b 00002962: JUMPI 00002963: PUSH0 00002964: SWAP2 00002965: DUP3 00002966: SWAP2 00002967: DUP3 00002968: SWAP2 00002969: DUP3 0000296a: SWAP2 0000296b: PUSH1 0x01 0000296d: PUSH1 0x01 0000296f: PUSH1 0xa0 00002971: SHL 00002972: SUB 00002973: AND 00002974: GAS 00002975: CALL 00002976: PUSH2 0x297d 00002979: PUSH2 0x1a5f 0000297c: JUMP 0000297d: JUMPDEST 0000297e: POP 0000297f: ISZERO 00002980: PUSH2 0x2989 00002983: JUMPI 00002984: PUSH1 0x01 00002986: SWAP1 00002987: SSTORE 00002988: JUMP 00002989: JUMPDEST 0000298a: PUSH1 0x40 0000298c: MLOAD 0000298d: PUSH4 0x0a12f521 00002992: PUSH1 0xe1 00002994: SHL 00002995: DUP2 00002996: MSTORE 00002997: PUSH1 0x04 00002999: SWAP1 0000299a: REVERT 0000299b: JUMPDEST 0000299c: PUSH1 0x40 0000299e: MLOAD 0000299f: PUSH4 0xcd786059 000029a4: PUSH1 0xe0 000029a6: SHL 000029a7: DUP2 000029a8: MSTORE 000029a9: ADDRESS 000029aa: PUSH1 0x04 000029ac: DUP3 000029ad: ADD 000029ae: MSTORE 000029af: PUSH1 0x24 000029b1: SWAP1 000029b2: REVERT 000029b3: JUMPDEST 000029b4: PUSH1 0x40 000029b6: MLOAD 000029b7: PUSH4 0x3ee5aeb5 000029bc: PUSH1 0xe0 000029be: SHL 000029bf: DUP2 000029c0: MSTORE 000029c1: PUSH1 0x04 000029c3: SWAP1 000029c4: REVERT 000029c5: JUMPDEST 000029c6: SWAP3 000029c7: SWAP2 000029c8: SWAP1 000029c9: PUSH2 0x29d0 000029cc: PUSH2 0x3626 000029cf: JUMP 000029d0: JUMPDEST 000029d1: DUP1 000029d2: ISZERO 000029d3: PUSH2 0x28e6 000029d6: JUMPI 000029d7: PUSH1 0x01 000029d9: PUSH1 0x01 000029db: PUSH1 0xa0 000029dd: SHL 000029de: SUB 000029df: DUP3 000029e0: DUP2 000029e1: AND 000029e2: SWAP3 000029e3: SWAP1 000029e4: DUP4 000029e5: ISZERO 000029e6: PUSH2 0x0e6e 000029e9: JUMPI 000029ea: PUSH2 0x191a 000029ed: SWAP6 000029ee: PUSH2 0x28a5 000029f1: PUSH2 0x243a 000029f4: DUP6 000029f5: PUSH32 0x211091c5bf013c1230f996c3bb2bc327e3de429a3d3c356dcea9a0c858bc407f 00002a16: SWAP6 00002a17: DUP2 00002a18: PUSH2 0x2a6d 00002a1b: PUSH2 0x2a2f 00002a1e: PUSH2 0x22b8 00002a21: PUSH1 0x99 00002a23: SLOAD 00002a24: PUSH1 0x01 00002a26: PUSH1 0x01 00002a28: PUSH1 0x80 00002a2a: SHL 00002a2b: SUB 00002a2c: AND 00002a2d: SWAP1 00002a2e: JUMP 00002a2f: JUMPDEST 00002a30: SWAP3 00002a31: PUSH2 0x13c0 00002a34: PUSH2 0x2a3f 00002a37: DUP6 00002a38: PUSH2 0x2456 00002a3b: PUSH2 0x3647 00002a3e: JUMP 00002a3f: JUMPDEST 00002a40: SWAP15 00002a41: DUP16 00002a42: PUSH1 0x40 00002a44: MLOAD 00002a45: SWAP3 00002a46: DUP4 00002a47: SWAP2 00002a48: PUSH1 0x20 00002a4a: DUP4 00002a4b: ADD 00002a4c: SWAP6 00002a4d: TIMESTAMP 00002a4e: SWAP1 00002a4f: DUP8 00002a50: PUSH1 0x40 00002a52: SWAP2 00002a53: SWAP5 00002a54: SWAP4 00002a55: SWAP3 00002a56: PUSH1 0x60 00002a58: DUP3 00002a59: ADD 00002a5a: SWAP6 00002a5b: PUSH1 0x01 00002a5d: DUP1 00002a5e: PUSH1 0xa0 00002a60: SHL 00002a61: SUB 00002a62: AND 00002a63: DUP3 00002a64: MSTORE 00002a65: PUSH1 0x20 00002a67: DUP3 00002a68: ADD 00002a69: MSTORE 00002a6a: ADD 00002a6b: MSTORE 00002a6c: JUMP 00002a6d: JUMPDEST 00002a6e: SSTORE 00002a6f: PUSH1 0x01 00002a71: PUSH1 0x01 00002a73: PUSH1 0xa0 00002a75: SHL 00002a76: SUB 00002a77: DUP6 00002a78: AND 00002a79: PUSH0 00002a7a: SWAP1 00002a7b: DUP2 00002a7c: MSTORE 00002a7d: PUSH1 0x9c 00002a7f: PUSH1 0x20 00002a81: MSTORE 00002a82: PUSH1 0x40 00002a84: SWAP1 00002a85: KECCAK256 00002a86: PUSH2 0x2a90 00002a89: DUP4 00002a8a: DUP3 00002a8b: SLOAD 00002a8c: PUSH2 0x1724 00002a8f: JUMP 00002a90: JUMPDEST 00002a91: SWAP1 00002a92: SSTORE 00002a93: ADD 00002a94: PUSH2 0x28f8 00002a97: JUMP 00002a98: JUMPDEST 00002a99: PUSH0 00002a9a: SLOAD 00002a9b: PUSH1 0x01 00002a9d: PUSH1 0x01 00002a9f: PUSH1 0xa0 00002aa1: SHL 00002aa2: SUB 00002aa3: AND 00002aa4: CALLER 00002aa5: SUB 00002aa6: PUSH2 0x0a28 00002aa9: JUMPI 00002aaa: JUMP 00002aab: JUMPDEST 00002aac: PUSH1 0x40 00002aae: MLOAD 00002aaf: PUSH4 0x0156a695 00002ab4: PUSH1 0xe1 00002ab6: SHL 00002ab7: DUP2 00002ab8: MSTORE 00002ab9: ADDRESS 00002aba: PUSH1 0x04 00002abc: DUP3 00002abd: ADD 00002abe: MSTORE 00002abf: PUSH1 0x20 00002ac1: DUP2 00002ac2: PUSH1 0x24 00002ac4: DUP2 00002ac5: PUSH32 0x0000000000000000000000006b5815467da09daa7dc83db21c9239d98bb487b5 00002ae6: PUSH1 0x01 00002ae8: PUSH1 0x01 00002aea: PUSH1 0xa0 00002aec: SHL 00002aed: SUB 00002aee: AND 00002aef: GAS 00002af0: STATICCALL 00002af1: SWAP1 00002af2: DUP2 00002af3: ISZERO 00002af4: PUSH2 0x08b2 00002af7: JUMPI 00002af8: PUSH0 00002af9: SWAP2 00002afa: PUSH2 0x2b01 00002afd: JUMPI 00002afe: POP 00002aff: SWAP1 00002b00: JUMP 00002b01: JUMPDEST 00002b02: PUSH2 0x104e 00002b05: SWAP2 00002b06: POP 00002b07: PUSH1 0x20 00002b09: RETURNDATASIZE 00002b0a: PUSH1 0x20 00002b0c: GT 00002b0d: PUSH2 0x08ab 00002b10: JUMPI 00002b11: PUSH2 0x089c 00002b14: DUP2 00002b15: DUP4 00002b16: PUSH2 0x06b2 00002b19: JUMP 00002b1a: JUMPDEST 00002b1b: PUSH1 0x98 00002b1d: SLOAD 00002b1e: SWAP1 00002b1f: PUSH1 0x01 00002b21: PUSH1 0x01 00002b23: PUSH1 0x80 00002b25: SHL 00002b26: SUB 00002b27: DUP3 00002b28: AND 00002b29: DUP2 00002b2a: ISZERO 00002b2b: DUP1 00002b2c: ISZERO 00002b2d: PUSH2 0x2b49 00002b30: JUMPI 00002b31: JUMPDEST 00002b32: ISZERO 00002b33: PUSH2 0x2b3c 00002b36: JUMPI 00002b37: POP 00002b38: SWAP1 00002b39: POP 00002b3a: SWAP1 00002b3b: JUMP 00002b3c: JUMPDEST 00002b3d: PUSH2 0x104e 00002b40: SWAP3 00002b41: PUSH1 0x80 00002b43: SHR 00002b44: SWAP2 00002b45: PUSH2 0x1f9c 00002b48: JUMP 00002b49: JUMPDEST 00002b4a: POP 00002b4b: DUP1 00002b4c: ISZERO 00002b4d: PUSH2 0x2b31 00002b50: JUMP 00002b51: JUMPDEST 00002b52: PUSH1 0x98 00002b54: SLOAD 00002b55: PUSH1 0x01 00002b57: PUSH1 0x01 00002b59: PUSH1 0x80 00002b5b: SHL 00002b5c: SUB 00002b5d: DUP2 00002b5e: AND 00002b5f: SWAP1 00002b60: DUP3 00002b61: ISZERO 00002b62: DUP1 00002b63: ISZERO 00002b64: PUSH2 0x2ba1 00002b67: JUMPI 00002b68: JUMPDEST 00002b69: ISZERO 00002b6a: PUSH2 0x2b72 00002b6d: JUMPI 00002b6e: POP 00002b6f: POP 00002b70: SWAP1 00002b71: JUMP 00002b72: JUMPDEST 00002b73: PUSH1 0x80 00002b75: SHR 00002b76: SWAP1 00002b77: PUSH2 0x2b81 00002b7a: DUP3 00002b7b: DUP3 00002b7c: DUP6 00002b7d: PUSH2 0x1f9c 00002b80: JUMP 00002b81: JUMPDEST 00002b82: SWAP3 00002b83: DUP3 00002b84: ISZERO 00002b85: PUSH2 0x1f1d 00002b88: JUMPI 00002b89: MULMOD 00002b8a: PUSH2 0x2b90 00002b8d: JUMPI 00002b8e: SWAP1 00002b8f: JUMP 00002b90: JUMPDEST 00002b91: PUSH1 0x01 00002b93: DUP2 00002b94: ADD 00002b95: DUP1 00002b96: SWAP2 00002b97: GT 00002b98: ISZERO 00002b99: PUSH2 0x104e 00002b9c: JUMPI 00002b9d: PUSH2 0x1710 00002ba0: JUMP 00002ba1: JUMPDEST 00002ba2: POP 00002ba3: DUP2 00002ba4: ISZERO 00002ba5: PUSH2 0x2b68 00002ba8: JUMP 00002ba9: JUMPDEST 00002baa: PUSH2 0x019c 00002bad: DUP1 00002bae: SLOAD 00002baf: PUSH1 0x01 00002bb1: PUSH1 0x01 00002bb3: PUSH1 0xa0 00002bb5: SHL 00002bb6: SUB 00002bb7: NOT 00002bb8: AND 00002bb9: PUSH1 0x01 00002bbb: PUSH1 0x01 00002bbd: PUSH1 0xa0 00002bbf: SHL 00002bc0: SUB 00002bc1: SWAP3 00002bc2: SWAP1 00002bc3: SWAP3 00002bc4: AND 00002bc5: SWAP2 00002bc6: DUP3 00002bc7: OR 00002bc8: SWAP1 00002bc9: SSTORE 00002bca: CALLER 00002bcb: PUSH32 0xdd44becc667b27d303085374b2760e783af69bbc9db209947ab811a6f1bbc58b 00002bec: PUSH0 00002bed: DUP1 00002bee: LOG3 00002bef: JUMP 00002bf0: JUMPDEST 00002bf1: PUSH2 0x2bf8 00002bf4: PUSH2 0x2c52 00002bf7: JUMP 00002bf8: JUMPDEST 00002bf9: PUSH1 0x01 00002bfb: PUSH1 0x01 00002bfd: PUSH1 0xa0 00002bff: SHL 00002c00: SUB 00002c01: AND 00002c02: DUP1 00002c03: ISZERO 00002c04: PUSH2 0x2c40 00002c07: JUMPI 00002c08: PUSH1 0x65 00002c0a: DUP1 00002c0b: SLOAD 00002c0c: PUSH1 0x01 00002c0e: PUSH1 0x01 00002c10: PUSH1 0xa0 00002c12: SHL 00002c13: SUB 00002c14: NOT 00002c15: AND 00002c16: DUP3 00002c17: OR 00002c18: SWAP1 00002c19: SSTORE 00002c1a: CALLER 00002c1b: PUSH32 0xaaebcf1bfa00580e41d966056b48521fa9f202645c86d4ddf28113e617c1b1d3 00002c3c: PUSH0 00002c3d: DUP1 00002c3e: LOG3 00002c3f: JUMP 00002c40: JUMPDEST 00002c41: PUSH1 0x40 00002c43: MLOAD 00002c44: PUSH4 0x0ed1b8b3 00002c49: PUSH1 0xe3 00002c4b: SHL 00002c4c: DUP2 00002c4d: MSTORE 00002c4e: PUSH1 0x04 00002c50: SWAP1 00002c51: REVERT 00002c52: JUMPDEST 00002c53: PUSH1 0x40 00002c55: MLOAD 00002c56: PUSH4 0x3eb1acf7 00002c5b: PUSH1 0xe1 00002c5d: SHL 00002c5e: DUP2 00002c5f: MSTORE 00002c60: ADDRESS 00002c61: PUSH1 0x04 00002c63: DUP3 00002c64: ADD 00002c65: MSTORE 00002c66: PUSH1 0x20 00002c68: DUP2 00002c69: PUSH1 0x24 00002c6b: DUP2 00002c6c: PUSH32 0x0000000000000000000000006b5815467da09daa7dc83db21c9239d98bb487b5 00002c8d: PUSH1 0x01 00002c8f: PUSH1 0x01 00002c91: PUSH1 0xa0 00002c93: SHL 00002c94: SUB 00002c95: AND 00002c96: GAS 00002c97: STATICCALL 00002c98: SWAP1 00002c99: DUP2 00002c9a: ISZERO 00002c9b: PUSH2 0x08b2 00002c9e: JUMPI 00002c9f: PUSH0 00002ca0: SWAP2 00002ca1: PUSH2 0x2cbe 00002ca4: JUMPI 00002ca5: JUMPDEST 00002ca6: POP 00002ca7: PUSH2 0x2cac 00002caa: JUMPI 00002cab: JUMP 00002cac: JUMPDEST 00002cad: PUSH1 0x40 00002caf: MLOAD 00002cb0: PUSH4 0xe7757151 00002cb5: PUSH1 0xe0 00002cb7: SHL 00002cb8: DUP2 00002cb9: MSTORE 00002cba: PUSH1 0x04 00002cbc: SWAP1 00002cbd: REVERT 00002cbe: JUMPDEST 00002cbf: PUSH2 0x2cd7 00002cc2: SWAP2 00002cc3: POP 00002cc4: PUSH1 0x20 00002cc6: RETURNDATASIZE 00002cc7: PUSH1 0x20 00002cc9: GT 00002cca: PUSH2 0x08ab 00002ccd: JUMPI 00002cce: PUSH2 0x089c 00002cd1: DUP2 00002cd2: DUP4 00002cd3: PUSH2 0x06b2 00002cd6: JUMP 00002cd7: JUMPDEST 00002cd8: PUSH0 00002cd9: PUSH2 0x2ca5 00002cdc: JUMP 00002cdd: JUMPDEST 00002cde: SWAP1 00002cdf: PUSH2 0x2ce7 00002ce2: DUP3 00002ce3: PUSH2 0x198c 00002ce6: JUMP 00002ce7: JUMPDEST 00002ce8: PUSH2 0x2cf4 00002ceb: PUSH1 0x40 00002ced: MLOAD 00002cee: SWAP2 00002cef: DUP3 00002cf0: PUSH2 0x06b2 00002cf3: JUMP 00002cf4: JUMPDEST 00002cf5: DUP3 00002cf6: DUP2 00002cf7: MSTORE 00002cf8: DUP1 00002cf9: SWAP3 00002cfa: PUSH2 0x2d05 00002cfd: PUSH1 0x1f 00002cff: NOT 00002d00: SWAP2 00002d01: PUSH2 0x198c 00002d04: JUMP 00002d05: JUMPDEST 00002d06: ADD 00002d07: SWAP1 00002d08: PUSH1 0x20 00002d0a: CALLDATASIZE 00002d0b: SWAP2 00002d0c: ADD 00002d0d: CALLDATACOPY 00002d0e: JUMP 00002d0f: JUMPDEST 00002d10: SWAP1 00002d11: PUSH1 0x30 00002d13: GT 00002d14: PUSH2 0x02f0 00002d17: JUMPI 00002d18: SWAP1 00002d19: PUSH1 0x30 00002d1b: SWAP1 00002d1c: JUMP 00002d1d: JUMPDEST 00002d1e: SWAP1 00002d1f: PUSH1 0x90 00002d21: GT 00002d22: PUSH2 0x02f0 00002d25: JUMPI 00002d26: PUSH1 0x30 00002d28: ADD 00002d29: SWAP1 00002d2a: PUSH1 0x60 00002d2c: SWAP1 00002d2d: JUMP 00002d2e: JUMPDEST 00002d2f: SWAP1 00002d30: PUSH1 0xb0 00002d32: GT 00002d33: PUSH2 0x02f0 00002d36: JUMPI 00002d37: PUSH1 0x90 00002d39: ADD 00002d3a: SWAP1 00002d3b: PUSH1 0x20 00002d3d: SWAP1 00002d3e: JUMP 00002d3f: JUMPDEST 00002d40: SWAP1 00002d41: SWAP4 00002d42: SWAP3 00002d43: SWAP4 00002d44: DUP5 00002d45: DUP4 00002d46: GT 00002d47: PUSH2 0x02f0 00002d4a: JUMPI 00002d4b: DUP5 00002d4c: GT 00002d4d: PUSH2 0x02f0 00002d50: JUMPI 00002d51: DUP2 00002d52: ADD 00002d53: SWAP3 00002d54: SUB 00002d55: SWAP1 00002d56: JUMP 00002d57: JUMPDEST 00002d58: SWAP1 00002d59: ISZERO 00002d5a: PUSH2 0x1a4d 00002d5d: JUMPI 00002d5e: SWAP1 00002d5f: JUMP 00002d60: JUMPDEST 00002d61: SWAP2 00002d62: SWAP1 00002d63: DUP2 00002d64: LT 00002d65: ISZERO 00002d66: PUSH2 0x1a4d 00002d69: JUMPI 00002d6a: PUSH1 0x05 00002d6c: SHL 00002d6d: ADD 00002d6e: SWAP1 00002d6f: JUMP 00002d70: JUMPDEST 00002d71: CALLDATALOAD 00002d72: SWAP1 00002d73: PUSH1 0x20 00002d75: DUP2 00002d76: LT 00002d77: PUSH2 0x2d7e 00002d7a: JUMPI 00002d7b: POP 00002d7c: SWAP1 00002d7d: JUMP 00002d7e: JUMPDEST 00002d7f: PUSH0 00002d80: NOT 00002d81: SWAP1 00002d82: PUSH1 0x20 00002d84: SUB 00002d85: PUSH1 0x03 00002d87: SHL 00002d88: SHL 00002d89: AND 00002d8a: SWAP1 00002d8b: JUMP 00002d8c: JUMPDEST 00002d8d: SWAP7 00002d8e: SWAP6 00002d8f: SWAP5 00002d90: SWAP1 00002d91: PUSH2 0x1ed0 00002d94: SWAP4 00002d95: PUSH2 0x2dad 00002d98: PUSH2 0x2dbb 00002d9b: SWAP3 00002d9c: PUSH1 0x60 00002d9e: SWAP8 00002d9f: SWAP6 00002da0: PUSH1 0x80 00002da2: DUP13 00002da3: MSTORE 00002da4: PUSH1 0x80 00002da6: DUP13 00002da7: ADD 00002da8: SWAP2 00002da9: PUSH2 0x196c 00002dac: JUMP 00002dad: JUMPDEST 00002dae: SWAP1 00002daf: DUP10 00002db0: DUP3 00002db1: SUB 00002db2: PUSH1 0x20 00002db4: DUP12 00002db5: ADD 00002db6: MSTORE 00002db7: PUSH2 0x0ed1 00002dba: JUMP 00002dbb: JUMPDEST 00002dbc: SWAP2 00002dbd: DUP8 00002dbe: DUP4 00002dbf: SUB 00002dc0: PUSH1 0x40 00002dc2: DUP10 00002dc3: ADD 00002dc4: MSTORE 00002dc5: PUSH2 0x196c 00002dc8: JUMP 00002dc9: JUMPDEST 00002dca: SWAP1 00002dcb: PUSH1 0x20 00002dcd: PUSH2 0x104e 00002dd0: SWAP3 00002dd1: DUP2 00002dd2: DUP2 00002dd3: MSTORE 00002dd4: ADD 00002dd5: SWAP1 00002dd6: PUSH2 0x1954 00002dd9: JUMP 00002dda: JUMPDEST 00002ddb: SWAP2 00002ddc: PUSH1 0x20 00002dde: PUSH2 0x104e 00002de1: SWAP4 00002de2: DUP2 00002de3: DUP2 00002de4: MSTORE 00002de5: ADD 00002de6: SWAP2 00002de7: PUSH2 0x196c 00002dea: JUMP 00002deb: JUMPDEST 00002dec: SWAP2 00002ded: SWAP4 00002dee: SWAP3 00002def: SWAP1 00002df0: PUSH1 0xd1 00002df2: SLOAD 00002df3: SWAP3 00002df4: PUSH0 00002df5: SWAP3 00002df6: PUSH0 00002df7: SWAP1 00002df8: PUSH2 0x2e00 00002dfb: DUP2 00002dfc: PUSH2 0x2cdd 00002dff: JUMP 00002e00: JUMPDEST 00002e01: SWAP8 00002e02: PUSH2 0x2e09 00002e05: PUSH2 0x3689 00002e08: JUMP 00002e09: JUMPDEST 00002e0a: SWAP4 00002e0b: PUSH0 00002e0c: SWAP8 00002e0d: PUSH1 0x01 00002e0f: DUP1 00002e10: PUSH1 0xa0 00002e12: SHL 00002e13: SUB 00002e14: PUSH32 0x00000000000000000000000000000000219ab540356cbb839cbe05303d7705fa 00002e35: AND 00002e36: SWAP5 00002e37: JUMPDEST 00002e38: DUP5 00002e39: DUP11 00002e3a: LT 00002e3b: PUSH2 0x2e4a 00002e3e: JUMPI 00002e3f: POP 00002e40: POP 00002e41: POP 00002e42: POP 00002e43: POP 00002e44: POP 00002e45: POP 00002e46: POP 00002e47: POP 00002e48: POP 00002e49: JUMP 00002e4a: JUMPDEST 00002e4b: PUSH1 0xb0 00002e4d: PUSH2 0x2e5a 00002e50: SWAP2 00002e51: ADD 00002e52: DUP1 00002e53: SWAP10 00002e54: DUP10 00002e55: DUP6 00002e56: PUSH2 0x2d3f 00002e59: JUMP 00002e5a: JUMPDEST 00002e5b: SWAP10 00002e5c: PUSH1 0x40 00002e5e: SWAP11 00002e5f: DUP14 00002e60: PUSH2 0x2e96 00002e63: DUP14 00002e64: MLOAD 00002e65: PUSH2 0x2e7e 00002e68: PUSH1 0x20 00002e6a: SWAP2 00002e6b: DUP3 00002e6c: DUP2 00002e6d: ADD 00002e6e: SWAP1 00002e6f: PUSH2 0x13ce 00002e72: DUP2 00002e73: PUSH2 0x13c0 00002e76: DUP13 00002e77: DUP11 00002e78: DUP14 00002e79: DUP8 00002e7a: PUSH2 0x1eb8 00002e7d: JUMP 00002e7e: JUMPDEST 00002e7f: DUP1 00002e80: MLOAD 00002e81: SWAP2 00002e82: ADD 00002e83: KECCAK256 00002e84: SWAP2 00002e85: PUSH2 0x2e8f 00002e88: DUP6 00002e89: DUP12 00002e8a: DUP12 00002e8b: PUSH2 0x2d60 00002e8e: JUMP 00002e8f: JUMPDEST 00002e90: CALLDATALOAD 00002e91: SWAP1 00002e92: PUSH2 0x1af9 00002e95: JUMP 00002e96: JUMPDEST 00002e97: MSTORE 00002e98: PUSH2 0x2ea1 00002e9b: DUP2 00002e9c: DUP5 00002e9d: PUSH2 0x2d0f 00002ea0: JUMP 00002ea1: JUMPDEST 00002ea2: SWAP1 00002ea3: SWAP4 00002ea4: PUSH2 0x2ec1 00002ea7: PUSH2 0x2ebb 00002eaa: PUSH2 0x2eb3 00002ead: DUP6 00002eae: DUP5 00002eaf: PUSH2 0x2d1d 00002eb2: JUMP 00002eb3: JUMPDEST 00002eb4: SWAP6 00002eb5: SWAP1 00002eb6: SWAP4 00002eb7: PUSH2 0x2d2e 00002eba: JUMP 00002ebb: JUMPDEST 00002ebc: SWAP1 00002ebd: PUSH2 0x2d70 00002ec0: JUMP 00002ec1: JUMPDEST 00002ec2: SWAP1 00002ec3: DUP11 00002ec4: EXTCODESIZE 00002ec5: ISZERO 00002ec6: PUSH2 0x02f0 00002ec9: JUMPI 00002eca: DUP12 00002ecb: DUP16 00002ecc: PUSH0 00002ecd: SWAP4 00002ece: PUSH2 0x2eec 00002ed1: SWAP2 00002ed2: MLOAD 00002ed3: SWAP7 00002ed4: DUP8 00002ed5: SWAP5 00002ed6: DUP6 00002ed7: SWAP5 00002ed8: PUSH4 0x04512a23 00002edd: PUSH1 0xe3 00002edf: SHL 00002ee0: DUP7 00002ee1: MSTORE 00002ee2: DUP9 00002ee3: DUP13 00002ee4: PUSH1 0x04 00002ee6: DUP9 00002ee7: ADD 00002ee8: PUSH2 0x2d8c 00002eeb: JUMP 00002eec: JUMPDEST 00002eed: SUB 00002eee: DUP2 00002eef: PUSH9 0x01bc16d674ec800000 00002ef9: DUP14 00002efa: GAS 00002efb: CALL 00002efc: SWAP4 00002efd: DUP5 00002efe: ISZERO 00002eff: PUSH2 0x08b2 00002f02: JUMPI 00002f03: PUSH2 0x2f3f 00002f06: PUSH1 0x01 00002f08: DUP15 00002f09: PUSH32 0x64b6e61d93b7a91e8cc4376183ede0997a27b44fd9dd2f30a866b2a5730efdb1 00002f2a: SWAP6 00002f2b: DUP3 00002f2c: SWAP9 00002f2d: PUSH2 0x2f4b 00002f30: JUMPI 00002f31: JUMPDEST 00002f32: POP 00002f33: SWAP8 00002f34: ADD 00002f35: SWAP15 00002f36: MLOAD 00002f37: SWAP3 00002f38: DUP4 00002f39: SWAP3 00002f3a: DUP4 00002f3b: PUSH2 0x2dda 00002f3e: JUMP 00002f3f: JUMPDEST 00002f40: SUB 00002f41: SWAP1 00002f42: LOG1 00002f43: ADD 00002f44: SWAP9 00002f45: SWAP1 00002f46: SWAP8 00002f47: PUSH2 0x2e37 00002f4a: JUMP 00002f4b: JUMPDEST 00002f4c: DUP1 00002f4d: PUSH2 0x143f 00002f50: PUSH2 0x2f58 00002f53: SWAP3 00002f54: PUSH2 0x0664 00002f57: JUMP 00002f58: JUMPDEST 00002f59: PUSH0 00002f5a: PUSH2 0x2f31 00002f5d: JUMP 00002f5e: JUMPDEST 00002f5f: SWAP1 00002f60: PUSH2 0x2f6c 00002f63: SWAP5 00002f64: SWAP6 00002f65: SWAP4 00002f66: SWAP3 00002f67: SWAP2 00002f68: PUSH2 0x36ca 00002f6b: JUMP 00002f6c: JUMPDEST 00002f6d: EQ 00002f6e: SWAP1 00002f6f: JUMP 00002f70: JUMPDEST 00002f71: SWAP2 00002f72: SWAP3 00002f73: SWAP2 00002f74: PUSH0 00002f75: SWAP2 00002f76: JUMPDEST 00002f77: DUP1 00002f78: DUP4 00002f79: LT 00002f7a: PUSH2 0x2f84 00002f7d: JUMPI 00002f7e: POP 00002f7f: POP 00002f80: POP 00002f81: EQ 00002f82: SWAP1 00002f83: JUMP 00002f84: JUMPDEST 00002f85: SWAP1 00002f86: SWAP2 00002f87: SWAP3 00002f88: PUSH2 0x2f9f 00002f8b: PUSH1 0x01 00002f8d: SWAP2 00002f8e: PUSH2 0x2f98 00002f91: DUP7 00002f92: DUP6 00002f93: DUP8 00002f94: PUSH2 0x2d60 00002f97: JUMP 00002f98: JUMPDEST 00002f99: CALLDATALOAD 00002f9a: SWAP1 00002f9b: PUSH2 0x3904 00002f9e: JUMP 00002f9f: JUMPDEST 00002fa0: SWAP4 00002fa1: ADD 00002fa2: SWAP2 00002fa3: SWAP1 00002fa4: PUSH2 0x2f76 00002fa7: JUMP 00002fa8: JUMPDEST 00002fa9: DUP2 00002faa: PUSH1 0x30 00002fac: GT 00002fad: PUSH2 0x02f0 00002fb0: JUMPI 00002fb1: PUSH2 0x2ebb 00002fb4: SWAP2 00002fb5: PUSH32 0x00000000000000000000000000000000219ab540356cbb839cbe05303d7705fa 00002fd6: PUSH1 0x01 00002fd8: PUSH1 0x01 00002fda: PUSH1 0xa0 00002fdc: SHL 00002fdd: SUB 00002fde: AND 00002fdf: PUSH2 0x2fe6 00002fe2: PUSH2 0x3689 00002fe5: JUMP 00002fe6: JUMPDEST 00002fe7: SWAP1 00002fe8: PUSH2 0x2ffd 00002feb: PUSH2 0x2ff4 00002fee: DUP5 00002fef: DUP7 00002ff0: PUSH2 0x2d1d 00002ff3: JUMP 00002ff4: JUMPDEST 00002ff5: SWAP7 00002ff6: SWAP1 00002ff7: SWAP5 00002ff8: DUP7 00002ff9: PUSH2 0x2d2e 00002ffc: JUMP 00002ffd: JUMPDEST 00002ffe: SWAP5 00002fff: DUP2 00003000: EXTCODESIZE 00003001: ISZERO 00003002: PUSH2 0x02f0 00003005: JUMPI 00003006: PUSH9 0x01bc16d674ec800000 00003010: PUSH0 00003011: SWAP5 00003012: PUSH2 0x3063 00003015: SWAP8 00003016: PUSH1 0x40 00003018: MLOAD 00003019: SWAP9 0000301a: DUP10 0000301b: SWAP7 0000301c: DUP8 0000301d: SWAP6 0000301e: DUP7 0000301f: SWAP5 00003020: PUSH4 0x04512a23 00003025: PUSH1 0xe3 00003027: SHL 00003028: DUP7 00003029: MSTORE 0000302a: PUSH1 0x80 0000302c: PUSH1 0x04 0000302e: DUP8 0000302f: ADD 00003030: MSTORE 00003031: PUSH2 0x3054 00003034: PUSH2 0x3041 00003037: DUP14 00003038: PUSH1 0x84 0000303a: DUP10 0000303b: ADD 0000303c: SWAP1 0000303d: PUSH2 0x1954 00003040: JUMP 00003041: JUMPDEST 00003042: PUSH1 0x03 00003044: NOT 00003045: SWAP5 00003046: DUP6 00003047: DUP10 00003048: DUP4 00003049: SUB 0000304a: ADD 0000304b: PUSH1 0x24 0000304d: DUP11 0000304e: ADD 0000304f: MSTORE 00003050: PUSH2 0x0ed1 00003053: JUMP 00003054: JUMPDEST 00003055: SWAP3 00003056: DUP7 00003057: DUP5 00003058: SUB 00003059: ADD 0000305a: PUSH1 0x44 0000305c: DUP8 0000305d: ADD 0000305e: MSTORE 0000305f: PUSH2 0x196c 00003062: JUMP 00003063: JUMPDEST 00003064: SWAP1 00003065: PUSH1 0x64 00003067: DUP4 00003068: ADD 00003069: MSTORE 0000306a: SUB 0000306b: SWAP3 0000306c: GAS 0000306d: CALL 0000306e: SWAP1 0000306f: DUP2 00003070: ISZERO 00003071: PUSH2 0x08b2 00003074: JUMPI 00003075: PUSH32 0x64b6e61d93b7a91e8cc4376183ede0997a27b44fd9dd2f30a866b2a5730efdb1 00003096: SWAP3 00003097: PUSH2 0x16be 0000309a: SWAP3 0000309b: PUSH2 0x30ac 0000309e: JUMPI 0000309f: JUMPDEST 000030a0: POP 000030a1: PUSH1 0x40 000030a3: MLOAD 000030a4: SWAP2 000030a5: DUP3 000030a6: SWAP2 000030a7: DUP3 000030a8: PUSH2 0x2dc9 000030ab: JUMP 000030ac: JUMPDEST 000030ad: PUSH2 0x30b5 000030b0: SWAP1 000030b1: PUSH2 0x0664 000030b4: JUMP 000030b5: JUMPDEST 000030b6: PUSH0 000030b7: PUSH2 0x309f 000030ba: JUMP 000030bb: JUMPDEST 000030bc: PUSH1 0x01 000030be: PUSH1 0x01 000030c0: PUSH1 0xa0 000030c2: SHL 000030c3: SUB 000030c4: AND 000030c5: PUSH0 000030c6: SWAP1 000030c7: DUP2 000030c8: MSTORE 000030c9: PUSH2 0x019d 000030cc: PUSH1 0x20 000030ce: MSTORE 000030cf: PUSH1 0x40 000030d1: SWAP1 000030d2: KECCAK256 000030d3: SLOAD 000030d4: PUSH1 0xff 000030d6: AND 000030d7: PUSH2 0x0a28 000030da: JUMPI 000030db: JUMP 000030dc: JUMPDEST 000030dd: SWAP2 000030de: SWAP1 000030df: PUSH2 0x30e6 000030e2: PUSH2 0x2c52 000030e5: JUMP 000030e6: JUMPDEST 000030e7: PUSH1 0x01 000030e9: PUSH1 0x01 000030eb: PUSH1 0xa0 000030ed: SHL 000030ee: SUB 000030ef: DUP4 000030f0: AND 000030f1: SWAP1 000030f2: DUP2 000030f3: ISZERO 000030f4: PUSH2 0x0e6e 000030f7: JUMPI 000030f8: DUP1 000030f9: ISZERO 000030fa: PUSH2 0x28d4 000030fd: JUMPI 000030fe: DUP1 000030ff: PUSH2 0x310d 00003102: PUSH2 0x22b8 00003105: PUSH1 0x98 00003107: SLOAD 00003108: PUSH1 0x80 0000310a: SHR 0000310b: SWAP1 0000310c: JUMP 0000310d: JUMPDEST 0000310e: ADD 0000310f: SWAP4 00003110: PUSH2 0x3117 00003113: PUSH2 0x16c3 00003116: JUMP 00003117: JUMPDEST 00003118: DUP6 00003119: GT 0000311a: PUSH2 0x317f 0000311d: JUMPI 0000311e: PUSH2 0x22e2 00003121: SWAP5 00003122: PUSH2 0x313e 00003125: SWAP2 00003126: PUSH2 0x3139 00003129: PUSH2 0x3131 0000312c: DUP6 0000312d: PUSH2 0x2b51 00003130: JUMP 00003131: JUMPDEST 00003132: SWAP8 00003133: DUP9 00003134: SWAP4 00003135: PUSH2 0x28f8 00003138: JUMP 00003139: JUMPDEST 0000313a: PUSH2 0x323d 0000313d: JUMP 0000313e: JUMPDEST 0000313f: PUSH1 0x40 00003141: DUP1 00003142: MLOAD 00003143: SWAP2 00003144: DUP3 00003145: MSTORE 00003146: PUSH1 0x20 00003148: DUP3 00003149: ADD 0000314a: DUP6 0000314b: SWAP1 0000314c: MSTORE 0000314d: PUSH0 0000314e: SWAP1 0000314f: DUP3 00003150: ADD 00003151: MSTORE 00003152: CALLER 00003153: SWAP1 00003154: PUSH32 0x861a4138e41fb21c121a7dbb1053df465c837fc77380cc7226189a662281be2c 00003175: SWAP1 00003176: DUP1 00003177: PUSH1 0x60 00003179: DUP2 0000317a: ADD 0000317b: PUSH2 0x28bd 0000317e: JUMP 0000317f: JUMPDEST 00003180: PUSH1 0x40 00003182: MLOAD 00003183: PUSH4 0x04ffa0ff 00003188: PUSH1 0xe5 0000318a: SHL 0000318b: DUP2 0000318c: MSTORE 0000318d: PUSH1 0x04 0000318f: SWAP1 00003190: REVERT 00003191: JUMPDEST 00003192: SWAP1 00003193: SWAP3 00003194: SWAP2 00003195: SWAP3 00003196: PUSH2 0x319d 00003199: PUSH2 0x2c52 0000319c: JUMP 0000319d: JUMPDEST 0000319e: PUSH1 0x01 000031a0: PUSH1 0x01 000031a2: PUSH1 0xa0 000031a4: SHL 000031a5: SUB 000031a6: DUP3 000031a7: AND 000031a8: SWAP2 000031a9: DUP3 000031aa: ISZERO 000031ab: PUSH2 0x0e6e 000031ae: JUMPI 000031af: DUP2 000031b0: ISZERO 000031b1: PUSH2 0x28d4 000031b4: JUMPI 000031b5: DUP2 000031b6: PUSH2 0x31c4 000031b9: PUSH2 0x22b8 000031bc: PUSH1 0x98 000031be: SLOAD 000031bf: PUSH1 0x80 000031c1: SHR 000031c2: SWAP1 000031c3: JUMP 000031c4: JUMPDEST 000031c5: ADD 000031c6: PUSH2 0x31cd 000031c9: PUSH2 0x16c3 000031cc: JUMP 000031cd: JUMPDEST 000031ce: DUP2 000031cf: GT 000031d0: PUSH2 0x317f 000031d3: JUMPI 000031d4: PUSH2 0x22e2 000031d7: SWAP6 000031d8: PUSH2 0x3214 000031db: PUSH2 0x28bd 000031de: SWAP3 000031df: PUSH32 0x861a4138e41fb21c121a7dbb1053df465c837fc77380cc7226189a662281be2c 00003200: SWAP5 00003201: PUSH2 0x3139 00003204: PUSH2 0x320c 00003207: DUP9 00003208: PUSH2 0x2b51 0000320b: JUMP 0000320c: JUMPDEST 0000320d: SWAP11 0000320e: DUP12 0000320f: SWAP4 00003210: PUSH2 0x28f8 00003213: JUMP 00003214: JUMPDEST 00003215: PUSH1 0x40 00003217: DUP1 00003218: MLOAD 00003219: SWAP5 0000321a: DUP6 0000321b: MSTORE 0000321c: PUSH1 0x20 0000321e: DUP6 0000321f: ADD 00003220: DUP9 00003221: SWAP1 00003222: MSTORE 00003223: PUSH1 0x01 00003225: PUSH1 0x01 00003227: PUSH1 0xa0 00003229: SHL 0000322a: SUB 0000322b: SWAP1 0000322c: SWAP2 0000322d: AND 0000322e: SWAP1 0000322f: DUP5 00003230: ADD 00003231: MSTORE 00003232: CALLER 00003233: SWAP3 00003234: SWAP1 00003235: DUP2 00003236: SWAP1 00003237: PUSH1 0x60 00003239: DUP3 0000323a: ADD 0000323b: SWAP1 0000323c: JUMP 0000323d: JUMPDEST 0000323e: PUSH2 0x3246 00003241: DUP3 00003242: PUSH2 0x28f8 00003245: JUMP 00003246: JUMPDEST 00003247: PUSH1 0x98 00003249: SLOAD 0000324a: SWAP1 0000324b: PUSH1 0x01 0000324d: PUSH1 0x01 0000324f: PUSH1 0x80 00003251: SHL 00003252: SUB 00003253: DUP1 00003254: SWAP2 00003255: AND 00003256: DUP2 00003257: DUP4 00003258: AND 00003259: ADD 0000325a: DUP2 0000325b: DUP2 0000325c: GT 0000325d: PUSH2 0x0bee 00003260: JUMPI 00003261: AND 00003262: SWAP1 00003263: PUSH1 0x01 00003265: PUSH1 0x01 00003267: PUSH1 0x80 00003269: SHL 0000326a: SUB 0000326b: NOT 0000326c: AND 0000326d: OR 0000326e: PUSH1 0x98 00003270: SSTORE 00003271: PUSH1 0x01 00003273: DUP1 00003274: PUSH1 0xa0 00003276: SHL 00003277: SUB 00003278: AND 00003279: PUSH0 0000327a: MSTORE 0000327b: PUSH1 0x9c 0000327d: PUSH1 0x20 0000327f: MSTORE 00003280: PUSH1 0x40 00003282: PUSH0 00003283: KECCAK256 00003284: SWAP1 00003285: DUP2 00003286: SLOAD 00003287: ADD 00003288: SWAP1 00003289: SSTORE 0000328a: JUMP 0000328b: JUMPDEST 0000328c: SWAP1 0000328d: DUP1 0000328e: DUP3 0000328f: LT 00003290: ISZERO 00003291: PUSH2 0x16eb 00003294: JUMPI 00003295: POP 00003296: SWAP1 00003297: JUMP 00003298: JUMPDEST 00003299: PUSH1 0x9a 0000329b: SLOAD 0000329c: SWAP1 0000329d: PUSH1 0x01 0000329f: PUSH1 0x40 000032a1: SHL 000032a2: DUP3 000032a3: LT 000032a4: ISZERO 000032a5: PUSH2 0x0677 000032a8: JUMPI 000032a9: PUSH1 0x01 000032ab: DUP3 000032ac: ADD 000032ad: DUP1 000032ae: PUSH1 0x9a 000032b0: SSTORE 000032b1: DUP3 000032b2: LT 000032b3: ISZERO 000032b4: PUSH2 0x1a4d 000032b7: JUMPI 000032b8: PUSH1 0x9a 000032ba: PUSH0 000032bb: MSTORE 000032bc: DUP1 000032bd: MLOAD 000032be: PUSH1 0x20 000032c0: SWAP1 000032c1: SWAP2 000032c2: ADD 000032c3: MLOAD 000032c4: PUSH1 0xa0 000032c6: SHL 000032c7: PUSH1 0x01 000032c9: PUSH1 0x01 000032cb: PUSH1 0xa0 000032cd: SHL 000032ce: SUB 000032cf: NOT 000032d0: AND 000032d1: PUSH1 0x01 000032d3: PUSH1 0x01 000032d5: PUSH1 0xa0 000032d7: SHL 000032d8: SUB 000032d9: SWAP2 000032da: SWAP1 000032db: SWAP2 000032dc: AND 000032dd: OR 000032de: PUSH0 000032df: DUP1 000032e0: MLOAD 000032e1: PUSH1 0x20 000032e3: PUSH2 0x398f 000032e6: DUP4 000032e7: CODECOPY 000032e8: DUP2 000032e9: MLOAD 000032ea: SWAP2 000032eb: MSTORE 000032ec: SWAP1 000032ed: SWAP2 000032ee: ADD 000032ef: SSTORE 000032f0: JUMP 000032f1: JUMPDEST 000032f2: SWAP1 000032f3: DUP2 000032f4: ISZERO 000032f5: DUP1 000032f6: ISZERO 000032f7: PUSH2 0x33d0 000032fa: JUMPI 000032fb: JUMPDEST 000032fc: PUSH2 0x33be 000032ff: JUMPI 00003300: PUSH1 0x9a 00003302: SLOAD 00003303: DUP1 00003304: PUSH2 0x3388 00003307: JUMPI 00003308: POP 00003309: PUSH0 0000330a: SWAP1 0000330b: JUMPDEST 0000330c: PUSH1 0x01 0000330e: PUSH1 0x01 00003310: PUSH1 0xa0 00003312: SHL 00003313: SUB 00003314: SWAP2 00003315: DUP3 00003316: AND 00003317: SWAP3 00003318: DUP4 00003319: ADD 0000331a: SWAP3 0000331b: DUP4 0000331c: LT 0000331d: PUSH2 0x0bee 00003320: JUMPI 00003321: DUP2 00003322: DUP4 00003323: GT 00003324: PUSH2 0x3368 00003327: JUMPI 00003328: PUSH2 0x06e0 0000332b: SWAP3 0000332c: SWAP2 0000332d: PUSH2 0x3353 00003330: PUSH2 0x333b 00003333: PUSH2 0x3363 00003336: SWAP4 00003337: PUSH2 0x382f 0000333a: JUMP 0000333b: JUMPDEST 0000333c: SWAP2 0000333d: PUSH2 0x3344 00003340: PUSH2 0x06d3 00003343: JUMP 00003344: JUMPDEST 00003345: SWAP5 00003346: AND 00003347: PUSH1 0x01 00003349: PUSH1 0x01 0000334b: PUSH1 0xa0 0000334d: SHL 0000334e: SUB 0000334f: AND 00003350: DUP5 00003351: MSTORE 00003352: JUMP 00003353: JUMPDEST 00003354: PUSH1 0x01 00003356: PUSH1 0x01 00003358: PUSH1 0x60 0000335a: SHL 0000335b: SUB 0000335c: AND 0000335d: PUSH1 0x20 0000335f: DUP4 00003360: ADD 00003361: MSTORE 00003362: JUMP 00003363: JUMPDEST 00003364: PUSH2 0x3298 00003367: JUMP 00003368: JUMPDEST 00003369: PUSH1 0x40 0000336b: MLOAD 0000336c: PUSH4 0x06dfcc65 00003371: PUSH1 0xe4 00003373: SHL 00003374: DUP2 00003375: MSTORE 00003376: PUSH1 0xa0 00003378: PUSH1 0x04 0000337a: DUP3 0000337b: ADD 0000337c: MSTORE 0000337d: PUSH1 0x24 0000337f: DUP2 00003380: ADD 00003381: DUP5 00003382: SWAP1 00003383: MSTORE 00003384: PUSH1 0x44 00003386: SWAP1 00003387: REVERT 00003388: JUMPDEST 00003389: PUSH1 0x9a 0000338b: PUSH0 0000338c: MSTORE 0000338d: PUSH32 0x44da158ba27f9252712a74ff6a55c5d531f69609f1f6e7f17c4443a8e2089be3 000033ae: ADD 000033af: SLOAD 000033b0: PUSH1 0x01 000033b2: PUSH1 0x01 000033b4: PUSH1 0xa0 000033b6: SHL 000033b7: SUB 000033b8: AND 000033b9: SWAP1 000033ba: PUSH2 0x330b 000033bd: JUMP 000033be: JUMPDEST 000033bf: PUSH1 0x40 000033c1: MLOAD 000033c2: PUSH4 0x2ec8835b 000033c7: PUSH1 0xe2 000033c9: SHL 000033ca: DUP2 000033cb: MSTORE 000033cc: PUSH1 0x04 000033ce: SWAP1 000033cf: REVERT 000033d0: JUMPDEST 000033d1: POP 000033d2: DUP1 000033d3: ISZERO 000033d4: PUSH2 0x32fb 000033d7: JUMP 000033d8: JUMPDEST 000033d9: PUSH1 0xff 000033db: PUSH0 000033dc: DUP1 000033dd: MLOAD 000033de: PUSH1 0x20 000033e0: PUSH2 0x39cf 000033e3: DUP4 000033e4: CODECOPY 000033e5: DUP2 000033e6: MLOAD 000033e7: SWAP2 000033e8: MSTORE 000033e9: SLOAD 000033ea: PUSH1 0x40 000033ec: SHR 000033ed: AND 000033ee: ISZERO 000033ef: PUSH2 0x33f4 000033f2: JUMPI 000033f3: JUMP 000033f4: JUMPDEST 000033f5: PUSH1 0x40 000033f7: MLOAD 000033f8: PUSH4 0x1afcd79f 000033fd: PUSH1 0xe3 000033ff: SHL 00003400: DUP2 00003401: MSTORE 00003402: PUSH1 0x04 00003404: SWAP1 00003405: REVERT 00003406: JUMPDEST 00003407: PUSH2 0x340e 0000340a: PUSH2 0x33d8 0000340d: JUMP 0000340e: JUMPDEST 0000340f: DUP1 00003410: ISZERO 00003411: PUSH2 0x3424 00003414: JUMPI 00003415: PUSH1 0x01 00003417: DUP2 00003418: ADD 00003419: PUSH2 0x341f 0000341c: JUMPI 0000341d: POP 0000341e: JUMP 0000341f: JUMPDEST 00003420: PUSH1 0x9d 00003422: SSTORE 00003423: JUMP 00003424: JUMPDEST 00003425: PUSH1 0x40 00003427: MLOAD 00003428: PUSH4 0x31278a87 0000342d: PUSH1 0xe0 0000342f: SHL 00003430: DUP2 00003431: MSTORE 00003432: PUSH1 0x04 00003434: SWAP1 00003435: REVERT 00003436: JUMPDEST 00003437: PUSH2 0x343e 0000343a: PUSH2 0x33d8 0000343d: JUMP 0000343e: JUMPDEST 0000343f: PUSH9 0x01bc16d674ec800000 00003449: PUSH2 0x3450 0000344c: PUSH2 0x16c3 0000344f: JUMP 00003450: JUMPDEST 00003451: LT 00003452: PUSH2 0x3424 00003455: JUMPI 00003456: JUMP 00003457: JUMPDEST 00003458: PUSH2 0x345f 0000345b: PUSH2 0x33d8 0000345e: JUMP 0000345f: JUMPDEST 00003460: PUSH1 0x01 00003462: PUSH1 0x01 00003464: PUSH1 0xa0 00003466: SHL 00003467: SUB 00003468: AND 00003469: DUP1 0000346a: PUSH2 0x3470 0000346d: JUMPI 0000346e: POP 0000346f: JUMP 00003470: JUMPDEST 00003471: PUSH2 0x0137 00003474: DUP1 00003475: SLOAD 00003476: PUSH1 0x01 00003478: PUSH1 0x01 0000347a: PUSH1 0xa0 0000347c: SHL 0000347d: SUB 0000347e: NOT 0000347f: AND 00003480: SWAP1 00003481: SWAP2 00003482: OR 00003483: SWAP1 00003484: SSTORE 00003485: JUMP 00003486: JUMPDEST 00003487: PUSH2 0x06e0 0000348a: SWAP1 0000348b: PUSH2 0x113d 0000348e: PUSH2 0x33d8 00003491: JUMP 00003492: JUMPDEST 00003493: PUSH2 0x349a 00003496: PUSH2 0x33d8 00003499: JUMP 0000349a: JUMPDEST 0000349b: PUSH2 0x34a2 0000349e: PUSH2 0x33d8 000034a1: JUMP 000034a2: JUMPDEST 000034a3: PUSH2 0x34aa 000034a6: PUSH2 0x33d8 000034a9: JUMP 000034aa: JUMPDEST 000034ab: PUSH1 0x01 000034ad: PUSH32 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00 000034ce: SSTORE 000034cf: PUSH4 0x3b9aca00 000034d4: CALLVALUE 000034d5: LT 000034d6: PUSH2 0x34e3 000034d9: JUMPI 000034da: PUSH2 0x14e1 000034dd: CALLVALUE 000034de: ADDRESS 000034df: PUSH2 0x30dc 000034e2: JUMP 000034e3: JUMPDEST 000034e4: PUSH1 0x40 000034e6: MLOAD 000034e7: PUSH4 0xea2559bb 000034ec: PUSH1 0xe0 000034ee: SHL 000034ef: DUP2 000034f0: MSTORE 000034f1: PUSH1 0x04 000034f3: SWAP1 000034f4: REVERT 000034f5: JUMPDEST 000034f6: SWAP1 000034f7: DUP2 000034f8: PUSH1 0x20 000034fa: SWAP2 000034fb: SUB 000034fc: SLT 000034fd: PUSH2 0x02f0 00003500: JUMPI 00003501: MLOAD 00003502: PUSH1 0xff 00003504: DUP2 00003505: AND 00003506: DUP2 00003507: SUB 00003508: PUSH2 0x02f0 0000350b: JUMPI 0000350c: SWAP1 0000350d: JUMP 0000350e: JUMPDEST 0000350f: PUSH1 0x40 00003511: MLOAD 00003512: PUSH4 0x52d1902d 00003517: PUSH1 0xe0 00003519: SHL 0000351a: DUP2 0000351b: MSTORE 0000351c: SWAP3 0000351d: SWAP1 0000351e: SWAP2 0000351f: PUSH1 0x20 00003521: DUP5 00003522: PUSH1 0x04 00003524: DUP2 00003525: PUSH1 0x01 00003527: PUSH1 0x01 00003529: PUSH1 0xa0 0000352b: SHL 0000352c: SUB 0000352d: DUP8 0000352e: AND 0000352f: GAS 00003530: STATICCALL 00003531: PUSH0 00003532: SWAP5 00003533: DUP2 00003534: PUSH2 0x3598 00003537: JUMPI 00003538: JUMPDEST 00003539: POP 0000353a: PUSH2 0x355e 0000353d: JUMPI 0000353e: PUSH1 0x40 00003540: MLOAD 00003541: PUSH4 0x4c9c8ce3 00003546: PUSH1 0xe0 00003548: SHL 00003549: DUP2 0000354a: MSTORE 0000354b: PUSH1 0x01 0000354d: PUSH1 0x01 0000354f: PUSH1 0xa0 00003551: SHL 00003552: SUB 00003553: DUP5 00003554: AND 00003555: PUSH1 0x04 00003557: DUP3 00003558: ADD 00003559: MSTORE 0000355a: PUSH1 0x24 0000355c: SWAP1 0000355d: REVERT 0000355e: JUMPDEST 0000355f: SWAP1 00003560: SWAP2 00003561: PUSH0 00003562: DUP1 00003563: MLOAD 00003564: PUSH1 0x20 00003566: PUSH2 0x39af 00003569: DUP4 0000356a: CODECOPY 0000356b: DUP2 0000356c: MLOAD 0000356d: SWAP2 0000356e: MSTORE 0000356f: DUP5 00003570: SUB 00003571: PUSH2 0x357f 00003574: JUMPI 00003575: PUSH2 0x06e0 00003578: SWAP3 00003579: SWAP4 0000357a: POP 0000357b: PUSH2 0x3862 0000357e: JUMP 0000357f: JUMPDEST 00003580: PUSH1 0x40 00003582: MLOAD 00003583: PUSH4 0x2a875269 00003588: PUSH1 0xe2 0000358a: SHL 0000358b: DUP2 0000358c: MSTORE 0000358d: PUSH1 0x04 0000358f: DUP2 00003590: ADD 00003591: DUP6 00003592: SWAP1 00003593: MSTORE 00003594: PUSH1 0x24 00003596: SWAP1 00003597: REVERT 00003598: JUMPDEST 00003599: PUSH2 0x35b2 0000359c: SWAP2 0000359d: SWAP6 0000359e: POP 0000359f: PUSH1 0x20 000035a1: RETURNDATASIZE 000035a2: PUSH1 0x20 000035a4: GT 000035a5: PUSH2 0x0992 000035a8: JUMPI 000035a9: PUSH2 0x0984 000035ac: DUP2 000035ad: DUP4 000035ae: PUSH2 0x06b2 000035b1: JUMP 000035b2: JUMPDEST 000035b3: SWAP4 000035b4: PUSH0 000035b5: PUSH2 0x3538 000035b8: JUMP 000035b9: JUMPDEST 000035ba: PUSH2 0x35c1 000035bd: PUSH2 0x2aab 000035c0: JUMP 000035c1: JUMPDEST 000035c2: PUSH2 0x35c7 000035c5: JUMPI 000035c6: JUMP 000035c7: JUMPDEST 000035c8: PUSH1 0x40 000035ca: MLOAD 000035cb: PUSH4 0x89a1dc63 000035d0: PUSH1 0xe0 000035d2: SHL 000035d3: DUP2 000035d4: MSTORE 000035d5: PUSH1 0x04 000035d7: SWAP1 000035d8: REVERT 000035d9: JUMPDEST 000035da: PUSH1 0x01 000035dc: DUP1 000035dd: PUSH1 0xa0 000035df: SHL 000035e0: SUB 000035e1: AND 000035e2: PUSH0 000035e3: MSTORE 000035e4: PUSH1 0x9c 000035e6: PUSH1 0x20 000035e8: MSTORE 000035e9: PUSH1 0x40 000035eb: PUSH0 000035ec: KECCAK256 000035ed: SWAP1 000035ee: DUP2 000035ef: SLOAD 000035f0: DUP2 000035f1: DUP2 000035f2: SUB 000035f3: SWAP1 000035f4: DUP2 000035f5: GT 000035f6: PUSH2 0x0bee 000035f9: JUMPI 000035fa: PUSH2 0x3603 000035fd: SWAP3 000035fe: SSTORE 000035ff: PUSH2 0x28f8 00003602: JUMP 00003603: JUMPDEST 00003604: PUSH1 0x98 00003606: SLOAD 00003607: SWAP1 00003608: PUSH1 0x01 0000360a: PUSH1 0x01 0000360c: PUSH1 0x80 0000360e: SHL 0000360f: SUB 00003610: SWAP1 00003611: DUP2 00003612: DUP4 00003613: AND 00003614: SUB 00003615: AND 00003616: SWAP1 00003617: PUSH1 0x01 00003619: PUSH1 0x01 0000361b: PUSH1 0x80 0000361d: SHL 0000361e: SUB 0000361f: NOT 00003620: AND 00003621: OR 00003622: PUSH1 0x98 00003624: SSTORE 00003625: JUMP 00003626: JUMPDEST 00003627: PUSH2 0x362e 0000362a: PUSH2 0x2aab 0000362d: JUMP 0000362e: JUMPDEST 0000362f: ISZERO 00003630: PUSH2 0x3635 00003633: JUMPI 00003634: JUMP 00003635: JUMPDEST 00003636: PUSH1 0x40 00003638: MLOAD 00003639: PUSH4 0x0a62fbdb 0000363e: PUSH1 0xe1 00003640: SHL 00003641: DUP2 00003642: MSTORE 00003643: PUSH1 0x04 00003645: SWAP1 00003646: REVERT 00003647: JUMPDEST 00003648: PUSH1 0x9a 0000364a: SLOAD 0000364b: DUP1 0000364c: PUSH2 0x3654 0000364f: JUMPI 00003650: POP 00003651: PUSH0 00003652: SWAP1 00003653: JUMP 00003654: JUMPDEST 00003655: PUSH1 0x9a 00003657: PUSH0 00003658: MSTORE 00003659: PUSH32 0x44da158ba27f9252712a74ff6a55c5d531f69609f1f6e7f17c4443a8e2089be3 0000367a: ADD 0000367b: SLOAD 0000367c: PUSH1 0x01 0000367e: PUSH1 0x01 00003680: PUSH1 0xa0 00003682: SHL 00003683: SUB 00003684: AND 00003685: PUSH2 0x09bb 00003688: JUMP 00003689: JUMPDEST 0000368a: PUSH1 0x40 0000368c: MLOAD 0000368d: PUSH1 0x01 0000368f: PUSH1 0xf8 00003691: SHL 00003692: PUSH1 0x20 00003694: DUP3 00003695: ADD 00003696: MSTORE 00003697: PUSH0 00003698: PUSH1 0x21 0000369a: DUP3 0000369b: ADD 0000369c: MSTORE 0000369d: ADDRESS 0000369e: PUSH1 0x60 000036a0: SHL 000036a1: PUSH1 0x2c 000036a3: DUP3 000036a4: ADD 000036a5: MSTORE 000036a6: PUSH1 0x20 000036a8: DUP2 000036a9: MSTORE 000036aa: PUSH2 0x104e 000036ad: DUP2 000036ae: PUSH2 0x0697 000036b1: JUMP 000036b2: JUMPDEST 000036b3: PUSH0 000036b4: NOT 000036b5: DUP2 000036b6: EQ 000036b7: PUSH2 0x0bee 000036ba: JUMPI 000036bb: PUSH1 0x01 000036bd: ADD 000036be: SWAP1 000036bf: JUMP 000036c0: JUMPDEST 000036c1: CALLDATALOAD 000036c2: PUSH2 0x104e 000036c5: DUP2 000036c6: PUSH2 0x1096 000036c9: JUMP 000036ca: JUMPDEST 000036cb: SWAP3 000036cc: SWAP4 000036cd: SWAP2 000036ce: SWAP1 000036cf: SWAP2 000036d0: DUP1 000036d1: MLOAD 000036d2: SWAP4 000036d3: PUSH2 0x36dc 000036d6: DUP5 000036d7: DUP7 000036d8: PUSH2 0x179e 000036db: JUMP 000036dc: JUMPDEST 000036dd: PUSH2 0x36e5 000036e0: DUP8 000036e1: PUSH2 0x1790 000036e4: JUMP 000036e5: JUMPDEST 000036e6: SUB 000036e7: PUSH2 0x3727 000036ea: JUMPI 000036eb: PUSH2 0x36f3 000036ee: DUP7 000036ef: PUSH2 0x2cdd 000036f2: JUMP 000036f3: JUMPDEST 000036f4: SWAP5 000036f5: PUSH0 000036f6: DUP1 000036f7: SWAP5 000036f8: DUP9 000036f9: PUSH0 000036fa: SWAP7 000036fb: PUSH0 000036fc: JUMPDEST 000036fd: DUP3 000036fe: DUP2 000036ff: LT 00003700: PUSH2 0x375f 00003703: JUMPI 00003704: POP 00003705: POP 00003706: ISZERO 00003707: SWAP2 00003708: POP 00003709: PUSH2 0x3739 0000370c: SWAP1 0000370d: POP 0000370e: JUMPI 0000370f: POP 00003710: POP 00003711: POP 00003712: SUB 00003713: PUSH2 0x3727 00003716: JUMPI 00003717: PUSH2 0x3723 0000371a: SWAP2 0000371b: PUSH0 0000371c: NOT 0000371d: ADD 0000371e: SWAP1 0000371f: PUSH2 0x1af9 00003722: JUMP 00003723: JUMPDEST 00003724: MLOAD 00003725: SWAP1 00003726: JUMP 00003727: JUMPDEST 00003728: PUSH1 0x40 0000372a: MLOAD 0000372b: PUSH4 0x1a8a0249 00003730: PUSH1 0xe1 00003732: SHL 00003733: DUP2 00003734: MSTORE 00003735: PUSH1 0x04 00003737: SWAP1 00003738: REVERT 00003739: JUMPDEST 0000373a: SWAP2 0000373b: SWAP6 0000373c: POP 0000373d: SWAP3 0000373e: SWAP4 0000373f: POP 00003740: ISZERO 00003741: SWAP1 00003742: POP 00003743: PUSH2 0x3751 00003746: JUMPI 00003747: POP 00003748: POP 00003749: PUSH2 0x3723 0000374c: SWAP1 0000374d: PUSH2 0x1aec 00003750: JUMP 00003751: JUMPDEST 00003752: PUSH2 0x375b 00003755: SWAP3 00003756: POP 00003757: PUSH2 0x2d57 0000375a: JUMP 0000375b: JUMPDEST 0000375c: CALLDATALOAD 0000375d: SWAP1 0000375e: JUMP 0000375f: JUMPDEST 00003760: DUP11 00003761: DUP7 00003762: DUP7 00003763: LT 00003764: ISZERO 00003765: PUSH2 0x3812 00003768: JUMPI 00003769: POP 0000376a: PUSH2 0x3791 0000376d: PUSH2 0x378c 00003770: DUP3 00003771: PUSH2 0x3783 00003774: PUSH2 0x377c 00003777: DUP10 00003778: PUSH2 0x36b2 0000377b: JUMP 0000377c: JUMPDEST 0000377d: SWAP9 0000377e: DUP13 0000377f: PUSH2 0x1af9 00003782: JUMP 00003783: JUMPDEST 00003784: MLOAD 00003785: SWAP6 00003786: JUMPDEST 00003787: DUP8 00003788: PUSH2 0x2d60 0000378b: JUMP 0000378c: JUMPDEST 0000378d: PUSH2 0x36c0 00003790: JUMP 00003791: JUMPDEST 00003792: ISZERO 00003793: PUSH2 0x37f7 00003796: JUMPI 00003797: DUP11 00003798: DUP7 00003799: DUP7 0000379a: LT 0000379b: ISZERO 0000379c: PUSH2 0x37d6 0000379f: JUMPI 000037a0: POP 000037a1: PUSH2 0x37c2 000037a4: PUSH1 0x01 000037a6: SWAP3 000037a7: SWAP4 000037a8: PUSH2 0x37ba 000037ab: PUSH2 0x37b3 000037ae: DUP9 000037af: PUSH2 0x36b2 000037b2: JUMP 000037b3: JUMPDEST 000037b4: SWAP8 000037b5: DUP12 000037b6: PUSH2 0x1af9 000037b9: JUMP 000037ba: JUMPDEST 000037bb: MLOAD 000037bc: JUMPDEST 000037bd: SWAP1 000037be: PUSH2 0x3904 000037c1: JUMP 000037c2: JUMPDEST 000037c3: PUSH2 0x37cc 000037c6: DUP3 000037c7: DUP14 000037c8: PUSH2 0x1af9 000037cb: JUMP 000037cc: JUMPDEST 000037cd: MSTORE 000037ce: ADD 000037cf: SWAP1 000037d0: DUP11 000037d1: SWAP2 000037d2: PUSH2 0x36fc 000037d5: JUMP 000037d6: JUMPDEST 000037d7: SWAP3 000037d8: PUSH2 0x37c2 000037db: SWAP1 000037dc: PUSH2 0x37f1 000037df: DUP5 000037e0: PUSH2 0x37eb 000037e3: PUSH1 0x01 000037e5: SWAP7 000037e6: SWAP2 000037e7: PUSH2 0x36b2 000037ea: JUMP 000037eb: JUMPDEST 000037ec: SWAP7 000037ed: PUSH2 0x1af9 000037f0: JUMP 000037f1: JUMPDEST 000037f2: MLOAD 000037f3: PUSH2 0x37bc 000037f6: JUMP 000037f7: JUMPDEST 000037f8: PUSH2 0x37c2 000037fb: PUSH1 0x01 000037fd: SWAP3 000037fe: SWAP4 000037ff: PUSH2 0x2f98 00003802: PUSH2 0x380a 00003805: DUP13 00003806: PUSH2 0x36b2 00003809: JUMP 0000380a: JUMPDEST 0000380b: SWAP12 0000380c: DUP14 0000380d: DUP12 0000380e: PUSH2 0x2d60 00003811: JUMP 00003812: JUMPDEST 00003813: SWAP2 00003814: PUSH2 0x378c 00003817: DUP3 00003818: PUSH2 0x3828 0000381b: DUP4 0000381c: PUSH2 0x37eb 0000381f: PUSH2 0x3791 00003822: SWAP6 00003823: SWAP2 00003824: PUSH2 0x36b2 00003827: JUMP 00003828: JUMPDEST 00003829: MLOAD 0000382a: SWAP6 0000382b: PUSH2 0x3786 0000382e: JUMP 0000382f: JUMPDEST 00003830: PUSH1 0x01 00003832: PUSH1 0x01 00003834: PUSH1 0x60 00003836: SHL 00003837: SUB 00003838: SWAP1 00003839: DUP2 0000383a: DUP2 0000383b: GT 0000383c: PUSH2 0x3843 0000383f: JUMPI 00003840: AND 00003841: SWAP1 00003842: JUMP 00003843: JUMPDEST 00003844: PUSH1 0x44 00003846: SWAP1 00003847: PUSH1 0x40 00003849: MLOAD 0000384a: SWAP1 0000384b: PUSH4 0x06dfcc65 00003850: PUSH1 0xe4 00003852: SHL 00003853: DUP3 00003854: MSTORE 00003855: PUSH1 0x60 00003857: PUSH1 0x04 00003859: DUP4 0000385a: ADD 0000385b: MSTORE 0000385c: PUSH1 0x24 0000385e: DUP3 0000385f: ADD 00003860: MSTORE 00003861: REVERT 00003862: JUMPDEST 00003863: SWAP1 00003864: DUP2 00003865: EXTCODESIZE 00003866: ISZERO 00003867: PUSH2 0x38e3 0000386a: JUMPI 0000386b: PUSH0 0000386c: DUP1 0000386d: MLOAD 0000386e: PUSH1 0x20 00003870: PUSH2 0x39af 00003873: DUP4 00003874: CODECOPY 00003875: DUP2 00003876: MLOAD 00003877: SWAP2 00003878: MSTORE 00003879: DUP1 0000387a: SLOAD 0000387b: PUSH1 0x01 0000387d: PUSH1 0x01 0000387f: PUSH1 0xa0 00003881: SHL 00003882: SUB 00003883: NOT 00003884: AND 00003885: PUSH1 0x01 00003887: PUSH1 0x01 00003889: PUSH1 0xa0 0000388b: SHL 0000388c: SUB 0000388d: DUP5 0000388e: AND 0000388f: SWAP1 00003890: DUP2 00003891: OR 00003892: SWAP1 00003893: SWAP2 00003894: SSTORE 00003895: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b 000038b6: PUSH0 000038b7: DUP1 000038b8: LOG2 000038b9: DUP1 000038ba: MLOAD 000038bb: ISZERO 000038bc: PUSH2 0x38c8 000038bf: JUMPI 000038c0: PUSH2 0x14e1 000038c3: SWAP2 000038c4: PUSH2 0x3925 000038c7: JUMP 000038c8: JUMPDEST 000038c9: POP 000038ca: POP 000038cb: CALLVALUE 000038cc: PUSH2 0x38d1 000038cf: JUMPI 000038d0: JUMP 000038d1: JUMPDEST 000038d2: PUSH1 0x40 000038d4: MLOAD 000038d5: PUSH4 0xb398979f 000038da: PUSH1 0xe0 000038dc: SHL 000038dd: DUP2 000038de: MSTORE 000038df: PUSH1 0x04 000038e1: SWAP1 000038e2: REVERT 000038e3: JUMPDEST 000038e4: PUSH1 0x40 000038e6: MLOAD 000038e7: PUSH4 0x4c9c8ce3 000038ec: PUSH1 0xe0 000038ee: SHL 000038ef: DUP2 000038f0: MSTORE 000038f1: PUSH1 0x01 000038f3: PUSH1 0x01 000038f5: PUSH1 0xa0 000038f7: SHL 000038f8: SUB 000038f9: DUP4 000038fa: AND 000038fb: PUSH1 0x04 000038fd: DUP3 000038fe: ADD 000038ff: MSTORE 00003900: PUSH1 0x24 00003902: SWAP1 00003903: REVERT 00003904: JUMPDEST 00003905: DUP2 00003906: DUP2 00003907: LT 00003908: ISZERO 00003909: PUSH2 0x3918 0000390c: JUMPI 0000390d: PUSH0 0000390e: MSTORE 0000390f: PUSH1 0x20 00003911: MSTORE 00003912: PUSH1 0x40 00003914: PUSH0 00003915: KECCAK256 00003916: SWAP1 00003917: JUMP 00003918: JUMPDEST 00003919: SWAP1 0000391a: PUSH0 0000391b: MSTORE 0000391c: PUSH1 0x20 0000391e: MSTORE 0000391f: PUSH1 0x40 00003921: PUSH0 00003922: KECCAK256 00003923: SWAP1 00003924: JUMP 00003925: JUMPDEST 00003926: PUSH0 00003927: DUP1 00003928: PUSH2 0x104e 0000392b: SWAP4 0000392c: PUSH1 0x20 0000392e: DUP2 0000392f: MLOAD 00003930: SWAP2 00003931: ADD 00003932: DUP5 00003933: GAS 00003934: DELEGATECALL 00003935: PUSH2 0x393c 00003938: PUSH2 0x1a5f 0000393b: JUMP 0000393c: JUMPDEST 0000393d: SWAP2 0000393e: SWAP1 0000393f: PUSH2 0x3952 00003942: JUMPI 00003943: POP 00003944: DUP1 00003945: MLOAD 00003946: ISZERO 00003947: PUSH2 0x2989 0000394a: JUMPI 0000394b: DUP1 0000394c: MLOAD 0000394d: SWAP1 0000394e: PUSH1 0x20 00003950: ADD 00003951: REVERT 00003952: JUMPDEST 00003953: DUP2 00003954: MLOAD 00003955: ISZERO 00003956: DUP1 00003957: PUSH2 0x3985 0000395a: JUMPI 0000395b: JUMPDEST 0000395c: PUSH2 0x3963 0000395f: JUMPI 00003960: POP 00003961: SWAP1 00003962: JUMP 00003963: JUMPDEST 00003964: PUSH1 0x40 00003966: MLOAD 00003967: PUSH4 0x9996b315 0000396c: PUSH1 0xe0 0000396e: SHL 0000396f: DUP2 00003970: MSTORE 00003971: PUSH1 0x01 00003973: PUSH1 0x01 00003975: PUSH1 0xa0 00003977: SHL 00003978: SUB 00003979: SWAP1 0000397a: SWAP2 0000397b: AND 0000397c: PUSH1 0x04 0000397e: DUP3 0000397f: ADD 00003980: MSTORE 00003981: PUSH1 0x24 00003983: SWAP1 00003984: REVERT 00003985: JUMPDEST 00003986: POP 00003987: DUP1 00003988: EXTCODESIZE 00003989: ISZERO 0000398a: PUSH2 0x395b 0000398d: JUMP 0000398e: INVALID 0000398f: DIFFICULTY 00003990: UNKNOWN(0xDA) 00003991: ISZERO 00003992: DUP12 00003993: LOG2 00003994: PUSH32 0x9252712a74ff6a55c5d531f69609f1f6e7f17c4443a8e2089be4360894a13ba1 000039b5: LOG3 000039b6: UNKNOWN(0x21) 000039b7: MOD 000039b8: PUSH8 0xc828492db98dca3e 000039c1: KECCAK256 000039c2: PUSH23 0xcc3735a920a3ca505d382bbcf0c57e16840df040f15088 000039da: UNKNOWN(0xDC) 000039db: UNKNOWN(0x2F) 000039dc: DUP2 000039dd: INVALID 000039de: CODECOPY 000039df: SHR 000039e0: CODECOPY 000039e1: UNKNOWN(0x23) 000039e2: UNKNOWN(0xBE) 000039e3: UNKNOWN(0xC7) 000039e4: RETURNDATACOPY 000039e5: UNKNOWN(0x23) 000039e6: UNKNOWN(0xA9) 000039e7: PUSH7 0x2efc9c229c6a00 000039ef: LOG2 000039f0: PUSH5 0x6970667358 000039f6: UNKNOWN(0x22) 000039f7: SLT 000039f8: KECCAK256 000039f9: LOG3 000039fa: UNKNOWN(0x2E) 000039fb: SAR 000039fc: CALL 000039fd: UNKNOWN(0x1F) 000039fe: UNKNOWN(0xDF) 000039ff: SWAP15 00003a00: DUP1 00003a01: UNKNOWN(0xC5) 00003a02: PUSH27 0xdae3ac898c75649846beda2084d7c3415547e562724564736f6c63 00003a1e: NUMBER 00003a1f: STOP 00003a20: ADDMOD 00003a21: AND 00003a22: STOP 00003a23: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | no | no |
viewtrace_id: 0xd151c6cba3f20718323ef7b19eab16a9706ac3af8f8d648f0aab21587ff53913
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 192,
"trace_id": "0xd151c6cba3f20718323ef7b19eab16a9706ac3af8f8d648f0aab21587ff53913",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x01e1d114",
"selector": "0x01e1d114",
"calldata_variants": [
"0x01e1d114",
"0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x07a2d13a",
"selector": "0x07a2d13a",
"calldata_variants": [
"0x07a2d13a",
"0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x14c4184b",
"selector": "0x14c4184b",
"calldata_variants": [
"0x14c4184b",
"0x14c4184b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18f72950",
"selector": "0x18f72950",
"calldata_variants": [
"0x18f72950",
"0x18f729500000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1a7ff553",
"selector": "0x1a7ff553",
"calldata_variants": [
"0x1a7ff553",
"0x1a7ff5530000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2cdf7401",
"selector": "0x2cdf7401",
"calldata_variants": [
"0x2cdf7401",
"0x2cdf74010000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3229fa95",
"selector": "0x3229fa95",
"calldata_variants": [
"0x3229fa95",
"0x3229fa950000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x33194c0a",
"selector": "0x33194c0a",
"calldata_variants": [
"0x33194c0a",
"0x33194c0a0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 4048,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 14644,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [],
"delegatecall_count": 2,
"untrusted_delegatecall_count": 2
}
|
| high | math | codex | Rounding-up in deposits lets dust mint full shares and drain accrued rewards | 85 | no | — |
viewevidence_json{
"evidence": "Deposit mints shares using Math.Rounding.Ceil, so any positive assets can round up to 1 share when share price > 1: _deposit -> _convertToShares(..., Ceil).",
"locations": [
"contracts/contracts/vaults/modules/VaultEnterExit.sol:131",
"contracts/contracts/vaults/modules/VaultEnterExit.sol:147",
"contracts/contracts/vaults/modules/VaultState.sol:224",
"contracts/contracts/vaults/modules/VaultState.sol:231"
],
"recommendation": "Mint shares with rounding down (Math.Rounding.Floor) and revert when the result is zero, or enforce a minimum deposit >= current share price to prevent dust deposits from minting a full share.",
"exploit_scenario": "1) Wait until the vault has accrued rewards so that totalAssets > totalShares (share price > 1 wei). 2) Call deposit with msg.value = 1 wei (or any amount < share price). Because shares are minted with Math.Rounding.Ceil, the attacker receives 1 full share. 3) If collateralized, call enterExitQueue(1 share, attacker) and later claimExitedAssets once the exit queue processes; if not collateralized, call redeem(1 share). 4) The attacker receives ~totalAssets/totalShares ETH for a 1 wei deposit. Repeating this lets the attacker drain most/all accumulated rewards (totalAssets - totalShares) from existing holders."
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x0ae3736d851a70ab219ea40195539bde9b5f626859898af658eec53488822e4a
call_targets:
0xaeae7d602b537b2065f3da05dcce754fb23a968d
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x0ae3736d851a70ab219ea40195539bde9b5f626859898af658eec53488822e4a",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xaeae7d602b537b2065f3da05dcce754fb23a968d"
],
"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": "0x01e1d114",
"selector": "0x01e1d114",
"calldata_variants": [
"0x01e1d114",
"0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x07a2d13a",
"selector": "0x07a2d13a",
"calldata_variants": [
"0x07a2d13a",
"0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x14c4184b",
"selector": "0x14c4184b",
"calldata_variants": [
"0x14c4184b",
"0x14c4184b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18f72950",
"selector": "0x18f72950",
"calldata_variants": [
"0x18f72950",
"0x18f729500000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1a7ff553",
"selector": "0x1a7ff553",
"calldata_variants": [
"0x1a7ff553",
"0x1a7ff5530000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2cdf7401",
"selector": "0x2cdf7401",
"calldata_variants": [
"0x2cdf7401",
"0x2cdf74010000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3229fa95",
"selector": "0x3229fa95",
"calldata_variants": [
"0x3229fa95",
"0x3229fa950000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x33194c0a",
"selector": "0x33194c0a",
"calldata_variants": [
"0x33194c0a",
"0x33194c0a0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 4944,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7660,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 8550,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 9,
"guards_detected": [],
"untrusted_call_count": 9
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x0ae3736d851a70ab219ea40195539bde9b5f626859898af658eec53488822e4a
call_targets:
0xaeae7d602b537b2065f3da05dcce754fb23a968d
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x0ae3736d851a70ab219ea40195539bde9b5f626859898af658eec53488822e4a",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xaeae7d602b537b2065f3da05dcce754fb23a968d"
],
"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": "0x01e1d114",
"selector": "0x01e1d114",
"calldata_variants": [
"0x01e1d114",
"0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x07a2d13a",
"selector": "0x07a2d13a",
"calldata_variants": [
"0x07a2d13a",
"0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x14c4184b",
"selector": "0x14c4184b",
"calldata_variants": [
"0x14c4184b",
"0x14c4184b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x18f72950",
"selector": "0x18f72950",
"calldata_variants": [
"0x18f72950",
"0x18f729500000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1a7ff553",
"selector": "0x1a7ff553",
"calldata_variants": [
"0x1a7ff553",
"0x1a7ff5530000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2cdf7401",
"selector": "0x2cdf7401",
"calldata_variants": [
"0x2cdf7401",
"0x2cdf74010000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3229fa95",
"selector": "0x3229fa95",
"calldata_variants": [
"0x3229fa95",
"0x3229fa950000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x33194c0a",
"selector": "0x33194c0a",
"calldata_variants": [
"0x33194c0a",
"0x33194c0a0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 4944,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7660,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 8550,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 9,
"guards_detected": []
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 2
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 8
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 16
}
|