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

Analysis Run

6a9f8fb4-2803-400f-a1bc-5e8206080eb7

complete
Chain ID
1
Address
Block Number
Created
Tue, Dec 30, 2025 3:43 PM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30717 report.consolidate complete 1 / 1 3 months ago
75298 artifact.fetch complete 1 / 3 1 week ago
75299 tool.cast_disasm complete 1 / 3 1 week ago
75300 analysis.bundle complete 1 / 3 1 week ago
75301 capability.graph complete 1 / 3 1 week ago
75302 detector.run complete 1 / 3 1 week ago
75303 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
1
No findings?
no
Summary
Identified 1 medium-severity accounting risk: transfers assume non-deflationary ERC20s, so fee-on-transfer/rebasing assets can break invariants.
View stderr
[codex:1335822] OpenAI Codex v0.77.0 (research preview)
[codex:1335822] --------
[codex:1335822] workdir: /tmp/codex-multi-rwz3qens
[codex:1335822] model: gpt-5.2-codex
[codex:1335822] provider: openai
[codex:1335822] approval: never
[codex:1335822] sandbox: read-only
[codex:1335822] reasoning effort: xhigh
[codex:1335822] reasoning summaries: auto
[codex:1335822] session id: 019b6fe1-e3fc-7753-8c4d-e03efc30e674
[codex:1335822] --------
[codex:1335822] user
[codex:1335822] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1335822] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1335822] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1335822] 
[codex:1335822] Scope rules:
[codex:1335822] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1335822] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1335822] 
[codex:1335822] Output MUST be valid JSON matching the provided schema.
[codex:1335822] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1335822] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1335822] 
[codex:1335822] Output constraints (IMPORTANT):
[codex:1335822] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1335822] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1335822] mcp startup: no servers
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Preparing to read AUDIT_BUNDLE.txt**
[codex:1335822] exec
[codex:1335822] /bin/bash -lc ls in /tmp/codex-multi-rwz3qens succeeded in 5ms:
[codex:1335822] AUDIT_BUNDLE.txt
[codex:1335822] codex-output-schema.json
[codex:1335822] contracts
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Reading AUDIT_BUNDLE.txt contents**
[codex:1335822] exec
[codex:1335822] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-rwz3qens succeeded in 6ms:
[codex:1335822] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1335822] 
[codex:1335822] ================================================================================
[codex:1335822] FILE: contracts/lib/solady/src/utils/LibBit.sol
[codex:1335822] ================================================================================
[codex:1335822] // SPDX-License-Identifier: MIT
[codex:1335822] pragma solidity ^0.8.4;
[codex:1335822] 
[codex:1335822] /// @notice Library for bit twiddling and boolean operations.
[codex:1335822] /// @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/LibBit.sol)
[codex:1335822] /// @author Inspired by (https://graphics.stanford.edu/~seander/bithacks.html)
[codex:1335822] library LibBit {
[codex:1335822]     /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/
[codex:1335822]     /*                  BIT TWIDDLING OPERATIONS                  */
[codex:1335822]     /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/
[codex:1335822] 
[codex:1335822]     /// @dev Find last set.
[codex:1335822]     /// Returns the index of the most significant bit of `x`,
[codex:1335822]     /// counting from the least significant bit position.
[codex:1335822]     /// If `x` is zero, returns 256.
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Planning full audit file reading strategy**
[codex:1335822] 
[codex:1335822] I'll handle the large AUDIT_BUNDLE.txt by reading it in manageable segments using tools like `sed -n` or `rg` to avoid truncation, focusing on first-party contract sections while knowing I have to fully read the file before concluding. This way, I can systematically inspect relevant contract code without missing key details or being overwhelmed by the file size.
[codex:1335822] exec
[codex:1335822] /bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-multi-rwz3qens succeeded in 8ms:
[codex:1335822] 4:FILE: contracts/lib/solady/src/utils/LibBit.sol
[codex:1335822] 192:FILE: contracts/src/IHooksFactory.sol
[codex:1335822] 469:FILE: contracts/src/ReentrancyGuard.sol
[codex:1335822] 572:FILE: contracts/src/WildcatSanctionsEscrow.sol
[codex:1335822] 621:FILE: contracts/src/WildcatSanctionsSentinel.sol
[codex:1335822] 800:FILE: contracts/src/access/IHooks.sol
[codex:1335822] 918:FILE: contracts/src/interfaces/IChainalysisSanctionsList.sol
[codex:1335822] 928:FILE: contracts/src/interfaces/IERC20.sol
[codex:1335822] 961:FILE: contracts/src/interfaces/IMarketEventsAndErrors.sol
[codex:1335822] 1136:FILE: contracts/src/interfaces/IWildcatSanctionsEscrow.sol
[codex:1335822] 1162:FILE: contracts/src/interfaces/IWildcatSanctionsSentinel.sol
[codex:1335822] 1240:FILE: contracts/src/interfaces/WildcatStructsAndEnums.sol
[codex:1335822] 1324:FILE: contracts/src/libraries/BoolUtils.sol
[codex:1335822] 1350:FILE: contracts/src/libraries/Errors.sol
[codex:1335822] 1420:FILE: contracts/src/libraries/FIFOQueue.sol
[codex:1335822] 1504:FILE: contracts/src/libraries/FeeMath.sol
[codex:1335822] 1679:FILE: contracts/src/libraries/FunctionTypeCasts.sol
[codex:1335822] 1736:FILE: contracts/src/libraries/LibERC20.sol
[codex:1335822] 1938:FILE: contracts/src/libraries/MarketErrors.sol
[codex:1335822] 2279:FILE: contracts/src/libraries/MarketEvents.sol
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Segmenting and reading files for analysis**
[codex:1335822] 
[codex:1335822] I’m planning to read files in sections using line ranges so I can cover full files without overwhelming output. I'll prioritize first-party contracts related to vulnerabilities and skim third-party libs. I'll script this to sequentially read segments, roughly 400 lines each, focusing on key contracts like WildcatSanctionsEscrow and WildcatMarket while using `sed` commands to extract line ranges for inspection.
[codex:1335822] exec
[codex:1335822] /bin/bash -lc "sed -n '560,760p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-rwz3qens succeeded in 6ms:
[codex:1335822]     assembly {
[codex:1335822]       // Ensure that the reentrancy guard is not currently set.
[codex:1335822]       // Equivalent to `if (_reentrancyGuard != _NOT_ENTERED) revert NoReentrantCalls();`
[codex:1335822]       if tload(_REENTRANCY_GUARD_SLOT) {
[codex:1335822]         mstore(0, NoReentrantCalls_ErrorSelector)
[codex:1335822]         revert(0x1c, 0x04)
[codex:1335822]       }
[codex:1335822]     }
[codex:1335822]   }
[codex:1335822] }
[codex:1335822] 
[codex:1335822] ================================================================================
[codex:1335822] FILE: contracts/src/WildcatSanctionsEscrow.sol
[codex:1335822] ================================================================================
[codex:1335822] // SPDX-License-Identifier: Apache-2.0 WITH LicenseRef-Commons-Clause-1.0
[codex:1335822] pragma solidity >=0.8.20;
[codex:1335822] 
[codex:1335822] import './interfaces/IERC20.sol';
[codex:1335822] import './interfaces/IWildcatSanctionsEscrow.sol';
[codex:1335822] import './interfaces/IWildcatSanctionsSentinel.sol';
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Continuing processing**
[codex:1335822] exec
[codex:1335822] /bin/bash -lc "sed -n '760,980p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-rwz3qens succeeded in 6ms:
[codex:1335822] 
[codex:1335822]     emit SanctionOverride(borrower, escrowContract);
[codex:1335822] 
[codex:1335822]     _resetTmpEscrowParams();
[codex:1335822]   }
[codex:1335822] 
[codex:1335822]   /**
[codex:1335822]    * @dev Calculate the create2 escrow address for the combination
[codex:1335822]    *      of `borrower`, `account`, and `asset`.
[codex:1335822]    */
[codex:1335822]   function getEscrowAddress(
[codex:1335822]     address borrower,
[codex:1335822]     address account,
[codex:1335822]     address asset
[codex:1335822]   ) public view override returns (address escrowAddress) {
[codex:1335822]     bytes32 salt = _deriveSalt(borrower, account, asset);
[codex:1335822]     bytes32 initCodeHash = WildcatSanctionsEscrowInitcodeHash;
[codex:1335822]     assembly {
[codex:1335822]       // Cache the free memory pointer so it can be restored at the end
[codex:1335822]       let freeMemoryPointer := mload(0x40)
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Requesting additional information**
[codex:1335822] exec
[codex:1335822] /bin/bash -lc "sed -n '980,1240p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-rwz3qens succeeded in 5ms:
[codex:1335822] 
[codex:1335822]   /// @notice Error thrown when non-sentinel tries to use nukeFromOrbit
[codex:1335822]   error BadLaunchCode();
[codex:1335822] 
[codex:1335822]   /// @notice Error thrown when transfer target is blacklisted
[codex:1335822]   error AccountBlocked();
[codex:1335822] 
[codex:1335822]   error BadRescueAsset();
[codex:1335822] 
[codex:1335822]   error BorrowAmountTooHigh();
[codex:1335822] 
[codex:1335822]   error InsufficientReservesForFeeWithdrawal();
[codex:1335822] 
[codex:1335822]   error WithdrawalBatchNotExpired();
[codex:1335822] 
[codex:1335822]   error NullMintAmount();
[codex:1335822] 
[codex:1335822]   error NullBurnAmount();
[codex:1335822] 
[codex:1335822]   error NullFeeAmount();
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Continuing process**
[codex:1335822] exec
[codex:1335822] /bin/bash -lc "sed -n '1240,1504p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-rwz3qens succeeded in 5ms:
[codex:1335822] FILE: contracts/src/interfaces/WildcatStructsAndEnums.sol
[codex:1335822] ================================================================================
[codex:1335822] // SPDX-License-Identifier: MIT
[codex:1335822] pragma solidity >=0.8.20;
[codex:1335822] 
[codex:1335822] import { MarketState } from '../libraries/MarketState.sol';
[codex:1335822] 
[codex:1335822] import { HooksConfig } from '../types/HooksConfig.sol';
[codex:1335822] 
[codex:1335822] struct MarketParameters {
[codex:1335822]   address asset;
[codex:1335822]   uint8 decimals;
[codex:1335822]   bytes32 packedNameWord0;
[codex:1335822]   bytes32 packedNameWord1;
[codex:1335822]   bytes32 packedSymbolWord0;
[codex:1335822]   bytes32 packedSymbolWord1;
[codex:1335822]   address borrower;
[codex:1335822]   address feeRecipient;
[codex:1335822]   address sentinel;
[codex:1335822]   uint128 maxTotalSupply;
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Continuing ongoing task**
[codex:1335822] exec
[codex:1335822] /bin/bash -lc "sed -n '1504,1736p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-rwz3qens succeeded in 6ms:
[codex:1335822] FILE: contracts/src/libraries/FeeMath.sol
[codex:1335822] ================================================================================
[codex:1335822] // SPDX-License-Identifier: MIT
[codex:1335822] pragma solidity >=0.8.20;
[codex:1335822] 
[codex:1335822] import './MathUtils.sol';
[codex:1335822] import './SafeCastLib.sol';
[codex:1335822] import './MarketState.sol';
[codex:1335822] 
[codex:1335822] using SafeCastLib for uint256;
[codex:1335822] using MathUtils for uint256;
[codex:1335822] 
[codex:1335822] library FeeMath {
[codex:1335822]   /**
[codex:1335822]    * @dev Function to calculate the interest accumulated using a linear interest rate formula
[codex:1335822]    *
[codex:1335822]    * @param rateBip The interest rate, in bips
[codex:1335822]    * @param timeDelta The time elapsed since the last interest accrual
[codex:1335822]    * @return result The interest rate linearly accumulated during the timeDelta, in ray
[codex:1335822]    */
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Continuing process**
[codex:1335822] exec
[codex:1335822] /bin/bash -lc "sed -n '1736,1938p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-rwz3qens succeeded in 6ms:
[codex:1335822] FILE: contracts/src/libraries/LibERC20.sol
[codex:1335822] ================================================================================
[codex:1335822] // SPDX-License-Identifier: MIT
[codex:1335822] pragma solidity ^0.8.4;
[codex:1335822] 
[codex:1335822] import './StringQuery.sol';
[codex:1335822] 
[codex:1335822] /// @notice Safe ERC20 library
[codex:1335822] /// @author d1ll0n
[codex:1335822] /// @notice Changes from solady:
[codex:1335822] ///   - Removed Permit2 and ETH functions
[codex:1335822] ///   - `balanceOf(address)` reverts if the call fails or does not return >=32 bytes
[codex:1335822] ///   - Added queries for `name`, `symbol`, `decimals`
[codex:1335822] ///   - Set name to LibERC20 as it has queries unrelated to transfers and ETH functions were removed
[codex:1335822] /// @author Modified from Solady (https://github.com/vectorized/solady/blob/main/src/utils/LibERC20.sol)
[codex:1335822] /// @author Previously modified from Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/LibERC20.sol)
[codex:1335822] ///
[codex:1335822] /// @dev Note:
[codex:1335822] /// - For ERC20s, this implementation won't check that a token has code,
[codex:1335822] ///   responsibility is delegated to the caller.
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Proceeding with task**
[codex:1335822] exec
[codex:1335822] /bin/bash -lc "sed -n '1938,2279p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-rwz3qens succeeded in 6ms:
[codex:1335822] FILE: contracts/src/libraries/MarketErrors.sol
[codex:1335822] ================================================================================
[codex:1335822] // SPDX-License-Identifier: MIT
[codex:1335822] pragma solidity ^0.8.20;
[codex:1335822] 
[codex:1335822] uint256 constant MaxSupplyExceeded_ErrorSelector = 0x8a164f63;
[codex:1335822] 
[codex:1335822] /// @dev Equivalent to `revert MaxSupplyExceeded()`
[codex:1335822] function revert_MaxSupplyExceeded() pure {
[codex:1335822]   assembly {
[codex:1335822]     mstore(0, 0x8a164f63)
[codex:1335822]     revert(0x1c, 0x04)
[codex:1335822]   }
[codex:1335822] }
[codex:1335822] 
[codex:1335822] uint256 constant CapacityChangeOnClosedMarket_ErrorSelector = 0x81b21078;
[codex:1335822] 
[codex:1335822] /// @dev Equivalent to `revert CapacityChangeOnClosedMarket()`
[codex:1335822] function revert_CapacityChangeOnClosedMarket() pure {
[codex:1335822]   assembly {
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Continuing process**
[codex:1335822] exec
[codex:1335822] /bin/bash -lc "sed -n '2279,2526p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-rwz3qens succeeded in 6ms:
[codex:1335822] FILE: contracts/src/libraries/MarketEvents.sol
[codex:1335822] ================================================================================
[codex:1335822] // SPDX-License-Identifier: MIT
[codex:1335822] pragma solidity ^0.8.20;
[codex:1335822] 
[codex:1335822] uint256 constant InterestAndFeesAccrued_abi_head_size = 0xc0;
[codex:1335822] uint256 constant InterestAndFeesAccrued_toTimestamp_offset = 0x20;
[codex:1335822] uint256 constant InterestAndFeesAccrued_scaleFactor_offset = 0x40;
[codex:1335822] uint256 constant InterestAndFeesAccrued_baseInterestRay_offset = 0x60;
[codex:1335822] uint256 constant InterestAndFeesAccrued_delinquencyFeeRay_offset = 0x80;
[codex:1335822] uint256 constant InterestAndFeesAccrued_protocolFees_offset = 0xa0;
[codex:1335822] 
[codex:1335822] function emit_Transfer(address from, address to, uint256 value) {
[codex:1335822]   assembly {
[codex:1335822]     mstore(0, value)
[codex:1335822]     log3(0, 0x20, 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, from, to)
[codex:1335822]   }
[codex:1335822] }
[codex:1335822] 
[codex:1335822] function emit_Approval(address owner, address spender, uint256 value) {
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Continuing process**
[codex:1335822] exec
[codex:1335822] /bin/bash -lc "sed -n '2526,2674p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-rwz3qens succeeded in 6ms:
[codex:1335822] FILE: contracts/src/libraries/MarketState.sol
[codex:1335822] ================================================================================
[codex:1335822] // SPDX-License-Identifier: MIT
[codex:1335822] pragma solidity >=0.8.20;
[codex:1335822] 
[codex:1335822] import './MathUtils.sol';
[codex:1335822] import './SafeCastLib.sol';
[codex:1335822] import './FeeMath.sol';
[codex:1335822] 
[codex:1335822] using MarketStateLib for MarketState global;
[codex:1335822] using MarketStateLib for Account global;
[codex:1335822] using FeeMath for MarketState global;
[codex:1335822] 
[codex:1335822] struct MarketState {
[codex:1335822]   bool isClosed;
[codex:1335822]   uint128 maxTotalSupply;
[codex:1335822]   uint128 accruedProtocolFees;
[codex:1335822]   // Underlying assets reserved for withdrawals which have been paid
[codex:1335822]   // by the borrower but not yet executed.
[codex:1335822]   uint128 normalizedUnclaimedWithdrawals;
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Proceeding with task**
[codex:1335822] exec
[codex:1335822] /bin/bash -lc "sed -n '2674,2892p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-rwz3qens succeeded in 6ms:
[codex:1335822] FILE: contracts/src/libraries/MathUtils.sol
[codex:1335822] ================================================================================
[codex:1335822] // SPDX-License-Identifier: MIT
[codex:1335822] pragma solidity >=0.8.20;
[codex:1335822] 
[codex:1335822] import './Errors.sol';
[codex:1335822] 
[codex:1335822] uint256 constant BIP = 1e4;
[codex:1335822] uint256 constant HALF_BIP = 0.5e4;
[codex:1335822] 
[codex:1335822] uint256 constant RAY = 1e27;
[codex:1335822] uint256 constant HALF_RAY = 0.5e27;
[codex:1335822] 
[codex:1335822] uint256 constant BIP_RAY_RATIO = 1e23;
[codex:1335822] 
[codex:1335822] uint256 constant SECONDS_IN_365_DAYS = 365 days;
[codex:1335822] 
[codex:1335822] library MathUtils {
[codex:1335822]   /// @dev The multiply-divide operation failed, either due to a
[codex:1335822]   /// multiplication overflow, or a division by a zero.
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Continuing process**
[codex:1335822] exec
[codex:1335822] /bin/bash -lc "sed -n '2892,3124p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-rwz3qens succeeded in 6ms:
[codex:1335822] FILE: contracts/src/libraries/SafeCastLib.sol
[codex:1335822] ================================================================================
[codex:1335822] // SPDX-License-Identifier: MIT
[codex:1335822] pragma solidity >=0.8.20;
[codex:1335822] 
[codex:1335822] import './Errors.sol';
[codex:1335822] 
[codex:1335822] library SafeCastLib {
[codex:1335822]   function _assertNonOverflow(bool didNotOverflow) private pure {
[codex:1335822]     assembly {
[codex:1335822]       if iszero(didNotOverflow) {
[codex:1335822]         mstore(0, Panic_ErrorSelector)
[codex:1335822]         mstore(Panic_ErrorCodePointer, Panic_Arithmetic)
[codex:1335822]         revert(Error_SelectorPointer, Panic_ErrorLength)
[codex:1335822]       }
[codex:1335822]     }
[codex:1335822]   }
[codex:1335822] 
[codex:1335822]   function toUint8(uint256 x) internal pure returns (uint8 y) {
[codex:1335822]     _assertNonOverflow(x == (y = uint8(x)));
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Continuing exploration**
[codex:1335822] exec
[codex:1335822] /bin/bash -lc "sed -n '3124,3186p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-rwz3qens succeeded in 5ms:
[codex:1335822] FILE: contracts/src/libraries/Withdrawal.sol
[codex:1335822] ================================================================================
[codex:1335822] // SPDX-License-Identifier: MIT
[codex:1335822] pragma solidity >=0.8.20;
[codex:1335822] 
[codex:1335822] import './MarketState.sol';
[codex:1335822] import './FIFOQueue.sol';
[codex:1335822] 
[codex:1335822] using MathUtils for uint256;
[codex:1335822] using WithdrawalLib for WithdrawalBatch global;
[codex:1335822] 
[codex:1335822] /**
[codex:1335822]  * Withdrawals are grouped together in batches with a fixed expiry.
[codex:1335822]  * Until a withdrawal is paid out, the tokens are not burned from the market
[codex:1335822]  * and continue to accumulate interest.
[codex:1335822]  */
[codex:1335822] struct WithdrawalBatch {
[codex:1335822]   // Total scaled amount of tokens to be withdrawn
[codex:1335822]   uint104 scaledTotalAmount;
[codex:1335822]   // Amount of scaled tokens that have been paid by borrower
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Reading full contract**
[codex:1335822] exec
[codex:1335822] /bin/bash -lc "sed -n '3186,3512p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-rwz3qens succeeded in 7ms:
[codex:1335822] FILE: contracts/src/market/WildcatMarket.sol
[codex:1335822] ================================================================================
[codex:1335822] // SPDX-License-Identifier: Apache-2.0 WITH LicenseRef-Commons-Clause-1.0
[codex:1335822] pragma solidity >=0.8.20;
[codex:1335822] 
[codex:1335822] import './WildcatMarketBase.sol';
[codex:1335822] import './WildcatMarketConfig.sol';
[codex:1335822] import './WildcatMarketToken.sol';
[codex:1335822] import './WildcatMarketWithdrawals.sol';
[codex:1335822] import '../WildcatSanctionsSentinel.sol';
[codex:1335822] 
[codex:1335822] contract WildcatMarket is
[codex:1335822]   WildcatMarketBase,
[codex:1335822]   WildcatMarketConfig,
[codex:1335822]   WildcatMarketToken,
[codex:1335822]   WildcatMarketWithdrawals
[codex:1335822] {
[codex:1335822]   using MathUtils for uint256;
[codex:1335822]   using SafeCastLib for uint256;
[codex:1335822]   using LibERC20 for address;
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Continuing to read**
[codex:1335822] exec
[codex:1335822] /bin/bash -lc "sed -n '3512,4294p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-rwz3qens succeeded in 6ms:
[codex:1335822] FILE: contracts/src/market/WildcatMarketBase.sol
[codex:1335822] ================================================================================
[codex:1335822] // SPDX-License-Identifier: Apache-2.0 WITH LicenseRef-Commons-Clause-1.0
[codex:1335822] pragma solidity >=0.8.20;
[codex:1335822] 
[codex:1335822] import '../ReentrancyGuard.sol';
[codex:1335822] import '../spherex/SphereXProtectedRegisteredBase.sol';
[codex:1335822] import '../interfaces/IMarketEventsAndErrors.sol';
[codex:1335822] import '../interfaces/IERC20.sol';
[codex:1335822] import '../IHooksFactory.sol';
[codex:1335822] import '../libraries/FeeMath.sol';
[codex:1335822] import '../libraries/MarketErrors.sol';
[codex:1335822] import '../libraries/MarketEvents.sol';
[codex:1335822] import '../libraries/Withdrawal.sol';
[codex:1335822] import '../libraries/FunctionTypeCasts.sol';
[codex:1335822] import '../libraries/LibERC20.sol';
[codex:1335822] import '../types/HooksConfig.sol';
[codex:1335822] 
[codex:1335822] contract WildcatMarketBase is
[codex:1335822]   SphereXProtectedRegisteredBase,
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Continuing process**
[codex:1335822] exec
[codex:1335822] /bin/bash -lc "sed -n '4294,4474p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-rwz3qens succeeded in 6ms:
[codex:1335822] FILE: contracts/src/market/WildcatMarketConfig.sol
[codex:1335822] ================================================================================
[codex:1335822] // SPDX-License-Identifier: Apache-2.0 WITH LicenseRef-Commons-Clause-1.0
[codex:1335822] pragma solidity >=0.8.20;
[codex:1335822] 
[codex:1335822] import './WildcatMarketBase.sol';
[codex:1335822] import '../libraries/FeeMath.sol';
[codex:1335822] import '../libraries/SafeCastLib.sol';
[codex:1335822] 
[codex:1335822] contract WildcatMarketConfig is WildcatMarketBase {
[codex:1335822]   using SafeCastLib for uint256;
[codex:1335822]   using FunctionTypeCasts for *;
[codex:1335822] 
[codex:1335822]   // ===================================================================== //
[codex:1335822]   //                      External Config Getters                          //
[codex:1335822]   // ===================================================================== //
[codex:1335822] 
[codex:1335822]   /**
[codex:1335822]    * @dev Returns whether or not a market has been closed.
[codex:1335822]    */
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Continuing process**
[codex:1335822] exec
[codex:1335822] /bin/bash -lc "sed -n '4474,4574p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-rwz3qens succeeded in 7ms:
[codex:1335822] FILE: contracts/src/market/WildcatMarketToken.sol
[codex:1335822] ================================================================================
[codex:1335822] // SPDX-License-Identifier: Apache-2.0 WITH LicenseRef-Commons-Clause-1.0
[codex:1335822] pragma solidity >=0.8.20;
[codex:1335822] 
[codex:1335822] import './WildcatMarketBase.sol';
[codex:1335822] 
[codex:1335822] contract WildcatMarketToken is WildcatMarketBase {
[codex:1335822]   using SafeCastLib for uint256;
[codex:1335822]   using FunctionTypeCasts for *;
[codex:1335822] 
[codex:1335822]   // ========================================================================== //
[codex:1335822]   //                                ERC20 Queries                               //
[codex:1335822]   // ========================================================================== //
[codex:1335822] 
[codex:1335822]   mapping(address => mapping(address => uint256)) public allowance;
[codex:1335822] 
[codex:1335822]   /// @notice Returns the normalized balance of `account` with interest.
[codex:1335822]   function balanceOf(address account) public view virtual nonReentrantView returns (uint256) {
[codex:1335822]     return
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Continuing the process**
[codex:1335822] exec
[codex:1335822] /bin/bash -lc "sed -n '4574,4920p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-rwz3qens succeeded in 6ms:
[codex:1335822] FILE: contracts/src/market/WildcatMarketWithdrawals.sol
[codex:1335822] ================================================================================
[codex:1335822] // SPDX-License-Identifier: Apache-2.0 WITH LicenseRef-Commons-Clause-1.0
[codex:1335822] pragma solidity >=0.8.20;
[codex:1335822] 
[codex:1335822] import './WildcatMarketBase.sol';
[codex:1335822] import '../libraries/LibERC20.sol';
[codex:1335822] import '../libraries/BoolUtils.sol';
[codex:1335822] 
[codex:1335822] contract WildcatMarketWithdrawals is WildcatMarketBase {
[codex:1335822]   using LibERC20 for address;
[codex:1335822]   using MathUtils for uint256;
[codex:1335822]   using MathUtils for bool;
[codex:1335822]   using SafeCastLib for uint256;
[codex:1335822]   using BoolUtils for bool;
[codex:1335822] 
[codex:1335822]   // ========================================================================== //
[codex:1335822]   //                             Withdrawal Queries                             //
[codex:1335822]   // ========================================================================== //
[codex:1335822] 
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Continuing exploration**
[codex:1335822] exec
[codex:1335822] /bin/bash -lc "sed -n '4920,5060p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-rwz3qens succeeded in 8ms:
[codex:1335822] FILE: contracts/src/spherex/ISphereXEngine.sol
[codex:1335822] ================================================================================
[codex:1335822] // SPDX-License-Identifier: UNLICENSED
[codex:1335822] // (c) SphereX 2023 Terms&Conditions
[codex:1335822] pragma solidity ^0.8.20;
[codex:1335822] 
[codex:1335822] /// @dev this struct is used to reduce the stack usage of the modifiers.
[codex:1335822] struct ModifierLocals {
[codex:1335822]   bytes32[] storageSlots;
[codex:1335822]   bytes32[] valuesBefore;
[codex:1335822]   uint256 gas;
[codex:1335822]   address engine;
[codex:1335822] }
[codex:1335822] 
[codex:1335822] /// @title Interface for SphereXEngine - definitions of core functionality
[codex:1335822] /// @author SphereX Technologies ltd
[codex:1335822] /// @notice This interface is imported by SphereXProtected, so that SphereXProtected can call functions from SphereXEngine
[codex:1335822] /// @dev Full docs of these functions can be found in SphereXEngine
[codex:1335822] interface ISphereXEngine {
[codex:1335822]   function sphereXValidatePre(
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Continuing process**
[codex:1335822] exec
[codex:1335822] /bin/bash -lc "sed -n '5060,5416p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-rwz3qens succeeded in 8ms:
[codex:1335822] FILE: contracts/src/spherex/SphereXProtectedRegisteredBase.sol
[codex:1335822] ================================================================================
[codex:1335822] // SPDX-License-Identifier: UNLICENSED
[codex:1335822] // (c) SphereX 2023 Terms&Conditions
[codex:1335822] pragma solidity ^0.8.20;
[codex:1335822] 
[codex:1335822] import { ISphereXEngine, ModifierLocals } from './ISphereXEngine.sol';
[codex:1335822] import './SphereXProtectedEvents.sol';
[codex:1335822] import './SphereXProtectedErrors.sol';
[codex:1335822] 
[codex:1335822] /**
[codex:1335822]  * @title Modified version of SphereXProtectedBase for contracts registered
[codex:1335822]  *        on Wildcat's arch controller.
[codex:1335822]  *
[codex:1335822]  * @author Modified from https://github.com/spherex-xyz/spherex-protect-contracts/blob/main/src/SphereXProtectedBase.sol
[codex:1335822]  *
[codex:1335822]  * @dev In this version, the WildcatArchController deployment is the SphereX operator.
[codex:1335822]  *      There is no admin because the arch controller address can not be modified.
[codex:1335822]  *
[codex:1335822]  *      All admin functions/events/errors have been removed to reduce contract size.
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Continuing exploration**
[codex:1335822] exec
[codex:1335822] /bin/bash -lc "sed -n '5416,6299p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-rwz3qens succeeded in 6ms:
[codex:1335822] FILE: contracts/src/types/HooksConfig.sol
[codex:1335822] ================================================================================
[codex:1335822] // SPDX-License-Identifier: MIT
[codex:1335822] pragma solidity >=0.8.20;
[codex:1335822] 
[codex:1335822] import '../access/IHooks.sol';
[codex:1335822] import '../libraries/MarketState.sol';
[codex:1335822] 
[codex:1335822] type HooksConfig is uint256;
[codex:1335822] 
[codex:1335822] HooksConfig constant EmptyHooksConfig = HooksConfig.wrap(0);
[codex:1335822] 
[codex:1335822] using LibHooksConfig for HooksConfig global;
[codex:1335822] using LibHooksConfig for HooksDeploymentConfig global;
[codex:1335822] 
[codex:1335822] // Type that contains only the flags for a specific hooks contract, with one
[codex:1335822] // set of flags for optional hooks and one set of flags for required hooks.
[codex:1335822] type HooksDeploymentConfig is uint256;
[codex:1335822] 
[codex:1335822] function encodeHooksDeploymentConfig(
[codex:1335822] 
[codex:1335822] 
[codex:1335822] 
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Reviewing security and reentrancy concerns**
[codex:1335822] 
[codex:1335822] I've examined the contract focusing on reentrancy, access controls, hooks, and token interactions. There are many protections like nonReentrant guards, but external hook calls before state changes demand care. Some view functions lack guards but seem safe. I’m noting possible issues such as division by zero in view functions, hook calldata size handling, and subtle access control scenarios; many appear intentional or mitigated, but I want to keep tracking these nuances as I analyze vulnerabilities by severity.
[codex:1335822] thinking
[codex:1335822] **Evaluating deployment and withdrawal mechanics**
[codex:1335822] 
[codex:1335822] I’m examining createEscrow’s atomic pattern and the potential for reentrancy during constructor calls reading sentinel state. I also scrutinize withdrawal batching logic where division-by-zero can revert if batches don’t exist, which seems safe. I’m investigating how hook calls occur before sanction checks and whether external calls affect transaction atomicity. I’m curious about nuanced token transfer and fee collection flows, particularly regarding fee-on-transfer assets and how scaling factors may impact token accounting. There’s a lot to unpack with interaction ordering and invariant maintenance here!
[codex:1335822] thinking
[codex:1335822] **Analyzing hooks calldata handling and access control**
[codex:1335822] 
[codex:1335822] I’m reviewing how hooks use calldata size calculations for extraData extraction and whether underflow might occur if calldata is smaller than expected. I noticed careful matching of base sizes mostly prevents issues. I’m also checking potential reentrancy risks during escrow release and token transfers, and the implications of unrestricted public methods like createEscrow and overrideSanction. There’s detailed attention on Yul assembly usage for staticcalls and return data size checks, as well as how sanction and transfer logic interact with hooks and external calls. Overall, I’m assessing subtle control flows and ensuring consistent preconditions are enforced.
[codex:1335822] thinking
[codex:1335822] **Inspecting underflow and allowance handling**
[codex:1335822] 
[codex:1335822] I’m examining how underflow might occur in calculations like `withdrawableProtocolFees` when total assets are less than unclaimed withdrawals, causing reverts that might block fee collection but likely not break other flows. I’m also verifying allowance updates in `transferFrom` handle reverts correctly to avoid inconsistent state. Hooks and withdrawal functions appear carefully guarded for reentrancy, and no unsafe delegatecalls are detected. This adds confidence in state consistency during transfers and withdrawals.
[codex:1335822] exec
[codex:1335822] /bin/bash -lc 'rg -n "delegatecall" -S AUDIT_BUNDLE.txt' in /tmp/codex-multi-rwz3qens exited 1 in 7ms:
[codex:1335822] 
[codex:1335822] 
[codex:1335822] 
[codex:1335822] 
[codex:1335822] 
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Analyzing reentrancy and state update risks**
[codex:1335822] thinking
[codex:1335822] **Evaluating token transfer assumptions and batch handling**
[codex:1335822] 
[codex:1335822] This is quite a dense consideration! I’m looking into how token transfers might falsely succeed if the asset isn’t a contract, leading to minting without backing assets, and noting that no explicit check ensures the asset is a contract. There’s also detailed scrutiny of withdrawal batch timing and state update logic around market closure, confirming the design avoids division-by-zero or state inconsistencies even when batches have zero totals. Overall, I’m weighing subtle edge cases in token behavior and batch processing to catch tricky flaws.
[codex:1335822] thinking
[codex:1335822] **Analyzing hook interactions and subtle state edge cases**
[codex:1335822] 
[codex:1335822] There is quite a lot here as I evaluate the timing of external hook calls before state updates, possible reentrancy protections, and nuanced behaviors like rounding differences in token allowances and transfers. I'm also considering construction constraints, batch overflow concerns, and edge-case interactions with sanction overrides and asset checks to determine if any meaningful issues arise, leading me to lean toward no major vulnerabilities but noting small risks and architectural trade-offs.
[codex:1335822] thinking
[codex:1335822] **Evaluating edge case calldata and token behavior risks**
[codex:1335822] 
[codex:1335822] I'm digging into how zero-amount borrow calls cause calldata underflows that revert harmlessly, the implications of fee-on-transfer and rebasing tokens on accounting accuracy, and subtle behaviors in hooks and sanction handling. This reveals a noteworthy mis-accounting risk with nonstandard tokens that could permit withdrawing more value than deposited, so I’ll highlight that as a low-to-medium severity finding.
[codex:1335822] thinking
[codex:1335822] **Confirming issue categorization and preparing references**
[codex:1335822] 
[codex:1335822] I'm finalizing categorizing the fee-on-transfer token problem under "other" or "math" and planning to reference key functions like deposit and repay with approximate file paths and line numbers. I'll leverage grepping the source files to provide accurate locations in the report for clarity.
[codex:1335822] exec
[codex:1335822] /bin/bash -lc 'rg -n "safeTransferFrom" contracts/src/market/WildcatMarket.sol' in /tmp/codex-multi-rwz3qens succeeded in 9ms:
[codex:1335822] 76:    asset.safeTransferFrom(msg.sender, address(this), amount);
[codex:1335822] 172:    asset.safeTransferFrom(msg.sender, address(this), amount);
[codex:1335822] 191:    asset.safeTransferFrom(msg.sender, address(this), amount);
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Verifying WildcatMarket.sol lines**
[codex:1335822] exec
[codex:1335822] /bin/bash -lc "sed -n '60,110p' contracts/src/market/WildcatMarket.sol" in /tmp/codex-multi-rwz3qens succeeded in 6ms:
[codex:1335822] 
[codex:1335822]     if (state.isClosed) revert_DepositToClosedMarket();
[codex:1335822] 
[codex:1335822]     // Reduce amount if it would exceed totalSupply
[codex:1335822]     amount = MathUtils.min(amount, state.maximumDeposit());
[codex:1335822] 
[codex:1335822]     // Scale the mint amount
[codex:1335822]     uint104 scaledAmount = state.scaleAmount(amount).toUint104();
[codex:1335822]     if (scaledAmount == 0) revert_NullMintAmount();
[codex:1335822] 
[codex:1335822]     // Cache account data and revert if not authorized to deposit.
[codex:1335822]     Account memory account = _getAccount(msg.sender);
[codex:1335822] 
[codex:1335822]     hooks.onDeposit(msg.sender, scaledAmount, state);
[codex:1335822] 
[codex:1335822]     // Transfer deposit from caller
[codex:1335822]     asset.safeTransferFrom(msg.sender, address(this), amount);
[codex:1335822] 
[codex:1335822]     account.scaledBalance += scaledAmount;
[codex:1335822]     _accounts[msg.sender] = account;
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Identifying safeTransferFrom usage locations**
[codex:1335822] exec
[codex:1335822] /bin/bash -lc "sed -n '150,210p' contracts/src/market/WildcatMarket.sol" in /tmp/codex-multi-rwz3qens succeeded in 5ms:
[codex:1335822]     if (_isFlaggedByChainalysis(borrower)) {
[codex:1335822]       revert_BorrowWhileSanctioned();
[codex:1335822]     }
[codex:1335822] 
[codex:1335822]     MarketState memory state = _getUpdatedState();
[codex:1335822]     if (state.isClosed) revert_BorrowFromClosedMarket();
[codex:1335822] 
[codex:1335822]     uint256 borrowable = state.borrowableAssets(totalAssets());
[codex:1335822]     if (amount > borrowable) revert_BorrowAmountTooHigh();
[codex:1335822] 
[codex:1335822]     // Execute borrow hook if enabled
[codex:1335822]     hooks.onBorrow(amount, state);
[codex:1335822] 
[codex:1335822]     asset.safeTransfer(msg.sender, amount);
[codex:1335822]     _writeState(state);
[codex:1335822]     emit_Borrow(amount);
[codex:1335822]   }
[codex:1335822] 
[codex:1335822]   function _repay(MarketState memory state, uint256 amount, uint256 baseCalldataSize) internal {
[codex:1335822]     if (amount == 0) revert_NullRepayAmount();
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Locating safeTransferFrom usage in WildcatMarketWithdrawals**
[codex:1335822] exec
[codex:1335822] /bin/bash -lc 'rg -n "safeTransferFrom" contracts/src/market/WildcatMarketWithdrawals.sol' in /tmp/codex-multi-rwz3qens succeeded in 7ms:
[codex:1335822] 286:      asset.safeTransferFrom(msg.sender, address(this), repayAmount);
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Summarizing fee-on-transfer accounting risk**
[codex:1335822] exec
[codex:1335822] /bin/bash -lc "sed -n '270,300p' contracts/src/market/WildcatMarketWithdrawals.sol" in /tmp/codex-multi-rwz3qens succeeded in 11ms:
[codex:1335822]     } else {
[codex:1335822]       asset.safeTransfer(accountAddress, normalizedAmountWithdrawn);
[codex:1335822]     }
[codex:1335822] 
[codex:1335822]     emit_WithdrawalExecuted(expiry, accountAddress, normalizedAmountWithdrawn);
[codex:1335822] 
[codex:1335822]     return normalizedAmountWithdrawn;
[codex:1335822]   }
[codex:1335822] 
[codex:1335822]   function repayAndProcessUnpaidWithdrawalBatches(
[codex:1335822]     uint256 repayAmount,
[codex:1335822]     uint256 maxBatches
[codex:1335822]   ) public nonReentrant sphereXGuardExternal {
[codex:1335822]     // Repay before updating state to ensure the paid amount is counted towards
[codex:1335822]     // any pending or unpaid withdrawals.
[codex:1335822]     if (repayAmount > 0) {
[codex:1335822]       asset.safeTransferFrom(msg.sender, address(this), repayAmount);
[codex:1335822]       emit_DebtRepaid(msg.sender, repayAmount);
[codex:1335822]     }
[codex:1335822] 
[codex:1335822] 
[codex:1335822] thinking
[codex:1335822] **Summarizing potential fee-on-transfer and reentrancy issues**
[codex:1335822] 
[codex:1335822] I’m putting together a JSON report highlighting one medium-severity finding about accounting assumptions breaking with fee-on-transfer or rebasing tokens, backing it up with specific contract lines. I’m also carefully considering a subtle reentrancy timing window involving the SphereX engine’s external call before the internal nonReentrant guard activates, but it hinges on trusting the engine contract and might be less critical. I’ll focus the summary on the fee-on-transfer vulnerability while ensuring the output is valid JSON and concise.
[codex:1335822] codex
[codex:1335822] {"no_findings":false,"summary":"Identified 1 medium-severity accounting risk: transfers assume non-deflationary ERC20s, so fee-on-transfer/rebasing assets can break invariants.","findings":[{"severity":"medium","category":"other","title":"Fee-on-transfer or rebasing assets break accounting and can create unbacked balances","exploit_scenario":"If the underlying asset charges transfer fees or rebases down, deposits/repayments credit the full `amount` while the market receives less. An attacker (or borrower) can deposit/repay using a deflationary asset to mint/repay more than actually received, creating a deficit that can later be withdrawn at the expense of other lenders.","recommendation":"Restrict markets to standard, non-deflationary ERC20s (enforce in the factory), or compute actual received amounts by measuring balance deltas before/after transfers and use those deltas for minting/repayment accounting.","evidence":"Transfers use the caller-supplied `amount` for accounting immediately after `safeTransferFrom` without verifying actual balance changes.","locations":["contracts/src/market/WildcatMarket.sol:76","contracts/src/market/WildcatMarket.sol:172","contracts/src/market/WildcatMarket.sol:191","contracts/src/market/WildcatMarketWithdrawals.sol:286"]}]}
[codex:1335822] tokens used
[codex:1335822] 105,619
[codex:1335822] {"no_findings":false,"summary":"Identified 1 medium-severity accounting risk: transfers assume non-deflationary ERC20s, so fee-on-transfer/rebasing assets can break invariants.","findings":[{"severity":"medium","category":"other","title":"Fee-on-transfer or rebasing assets break accounting and can create unbacked balances","exploit_scenario":"If the underlying asset charges transfer fees or rebases down, deposits/repayments credit the full `amount` while the market receives less. An attacker (or borrower) can deposit/repay using a deflationary asset to mint/repay more than actually received, creating a deficit that can later be withdrawn at the expense of other lenders.","recommendation":"Restrict markets to standard, non-deflationary ERC20s (enforce in the factory), or compute actual received amounts by measuring balance deltas before/after transfers and use those deltas for minting/repayment accounting.","evidence":"Transfers use the caller-supplied `amount` for accounting immediately after `safeTransferFrom` without verifying actual balance changes.","locations":["contracts/src/market/WildcatMarket.sol:76","contracts/src/market/WildcatMarket.sol:172","contracts/src/market/WildcatMarket.sol:191","contracts/src/market/WildcatMarketWithdrawals.sol:286"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-30T15:43:49.119539+00:00",
        "returncode": 0
    },
    "summary": "Identified 1 medium-severity accounting risk: transfers assume non-deflationary ERC20s, so fee-on-transfer/rebasing assets can break invariants.",
    "raw_final": {
        "summary": "Identified 1 medium-severity accounting risk: transfers assume non-deflationary ERC20s, so fee-on-transfer/rebasing assets can break invariants.",
        "findings": [
            {
                "title": "Fee-on-transfer or rebasing assets break accounting and can create unbacked balances",
                "category": "other",
                "evidence": "Transfers use the caller-supplied `amount` for accounting immediately after `safeTransferFrom` without verifying actual balance changes.",
                "severity": "medium",
                "locations": [
                    "contracts/src/market/WildcatMarket.sol:76",
                    "contracts/src/market/WildcatMarket.sol:172",
                    "contracts/src/market/WildcatMarket.sol:191",
                    "contracts/src/market/WildcatMarketWithdrawals.sol:286"
                ],
                "recommendation": "Restrict markets to standard, non-deflationary ERC20s (enforce in the factory), or compute actual received amounts by measuring balance deltas before/after transfers and use those deltas for minting/repayment accounting.",
                "exploit_scenario": "If the underlying asset charges transfer fees or rebases down, deposits/repayments credit the full `amount` while the market receives less. An attacker (or borrower) can deposit/repay using a deflationary asset to mint/repay more than actually received, creating a deficit that can later be withdrawn at the expense of other lenders."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
23
EXT*/BALANCE
0
Total opcodes
10244
Flags
call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: ISZERO
0000000a: PUSH2 0x0011
0000000d: JUMPI
0000000e: PUSH0
0000000f: DUP1
00000010: REVERT
00000011: JUMPDEST
00000012: PUSH0
00000013: CALLDATALOAD
00000014: PUSH1 0xe0
00000016: SHR
00000017: DUP1
00000018: PUSH3 0xae3bf8
0000001c: EQ
0000001d: PUSH2 0x03ce
00000020: JUMPI
00000021: DUP1
00000022: PUSH4 0x01e1d114
00000027: EQ
00000028: PUSH2 0x03c9
0000002b: JUMPI
0000002c: DUP1
0000002d: PUSH4 0x02372c4f
00000032: EQ
00000033: PUSH2 0x03c4
00000036: JUMPI
00000037: DUP1
00000038: PUSH4 0x06fdde03
0000003d: EQ
0000003e: PUSH2 0x03bf
00000041: JUMPI
00000042: DUP1
00000043: PUSH4 0x088fee5e
00000048: EQ
00000049: PUSH2 0x03ba
0000004c: JUMPI
0000004d: DUP1
0000004e: PUSH4 0x095ea7b3
00000053: EQ
00000054: PUSH2 0x03b5
00000057: JUMPI
00000058: DUP1
00000059: PUSH4 0x0c1e3fea
0000005e: EQ
0000005f: PUSH2 0x03b0
00000062: JUMPI
00000063: DUP1
00000064: PUSH4 0x0c3f6acf
00000069: EQ
0000006a: PUSH2 0x03ab
0000006d: JUMPI
0000006e: DUP1
0000006f: PUSH4 0x0cd1a5b6
00000074: EQ
00000075: PUSH2 0x03a6
00000078: JUMPI
00000079: DUP1
0000007a: PUSH4 0x11057cd0
0000007f: EQ
00000080: PUSH2 0x03a1
00000083: JUMPI
00000084: DUP1
00000085: PUSH4 0x14a1c32d
0000008a: EQ
0000008b: PUSH2 0x039c
0000008e: JUMPI
0000008f: DUP1
00000090: PUSH4 0x18160ddd
00000095: EQ
00000096: PUSH2 0x0397
00000099: JUMPI
0000009a: DUP1
0000009b: PUSH4 0x1d8557d7
000000a0: EQ
000000a1: PUSH2 0x0392
000000a4: JUMPI
000000a5: DUP1
000000a6: PUSH4 0x1da24f3e
000000ab: EQ
000000ac: PUSH2 0x038d
000000af: JUMPI
000000b0: DUP1
000000b1: PUSH4 0x1e3cef53
000000b6: EQ
000000b7: PUSH2 0x0388
000000ba: JUMPI
000000bb: DUP1
000000bc: PUSH4 0x23b872dd
000000c1: EQ
000000c2: PUSH2 0x0383
000000c5: JUMPI
000000c6: DUP1
000000c7: PUSH4 0x2ab4d052
000000cc: EQ
000000cd: PUSH2 0x037e
000000d0: JUMPI
000000d1: DUP1
000000d2: PUSH4 0x313ce567
000000d7: EQ
000000d8: PUSH2 0x0379
000000db: JUMPI
000000dc: DUP1
000000dd: PUSH4 0x34bca29c
000000e2: EQ
000000e3: PUSH2 0x0374
000000e6: JUMPI
000000e7: DUP1
000000e8: PUSH4 0x371fd8e6
000000ed: EQ
000000ee: PUSH2 0x036f
000000f1: JUMPI
000000f2: DUP1
000000f3: PUSH4 0x38d52e0f
000000f8: EQ
000000f9: PUSH2 0x036a
000000fc: JUMPI
000000fd: DUP1
000000fe: PUSH4 0x3c231166
00000103: EQ
00000104: PUSH2 0x0365
00000107: JUMPI
00000108: DUP1
00000109: PUSH4 0x3f3e4c11
0000010e: EQ
0000010f: PUSH2 0x0360
00000112: JUMPI
00000113: DUP1
00000114: PUSH4 0x46904840
00000119: EQ
0000011a: PUSH2 0x035b
0000011d: JUMPI
0000011e: DUP1
0000011f: PUSH4 0x4be687c6
00000124: EQ
00000125: PUSH2 0x0356
00000128: JUMPI
00000129: DUP1
0000012a: PUSH4 0x4c6c848f
0000012f: EQ
00000130: PUSH2 0x0351
00000133: JUMPI
00000134: DUP1
00000135: PUSH4 0x514a4cd6
0000013a: EQ
0000013b: PUSH2 0x034c
0000013e: JUMPI
0000013f: DUP1
00000140: PUSH4 0x54635570
00000145: EQ
00000146: PUSH2 0x02b1
00000149: JUMPI
0000014a: DUP1
0000014b: PUSH4 0x54b302c5
00000150: EQ
00000151: PUSH2 0x0347
00000154: JUMPI
00000155: DUP1
00000156: PUSH4 0x54fd4d50
0000015b: EQ
0000015c: PUSH2 0x0342
0000015f: JUMPI
00000160: DUP1
00000161: PUSH4 0x6731ba6d
00000166: EQ
00000167: PUSH2 0x033d
0000016a: JUMPI
0000016b: DUP1
0000016c: PUSH4 0x683dd191
00000171: EQ
00000172: PUSH2 0x0338
00000175: JUMPI
00000176: DUP1
00000177: PUSH4 0x6b174f35
0000017c: EQ
0000017d: PUSH2 0x0333
00000180: JUMPI
00000181: DUP1
00000182: PUSH4 0x70a08231
00000187: EQ
00000188: PUSH2 0x032e
0000018b: JUMPI
0000018c: DUP1
0000018d: PUSH4 0x7243d96c
00000192: EQ
00000193: PUSH2 0x0329
00000196: JUMPI
00000197: DUP1
00000198: PUSH4 0x739ccdd3
0000019d: EQ
0000019e: PUSH2 0x0324
000001a1: JUMPI
000001a2: DUP1
000001a3: PUSH4 0x74058859
000001a8: EQ
000001a9: PUSH2 0x031f
000001ac: JUMPI
000001ad: DUP1
000001ae: PUSH4 0x76636017
000001b3: EQ
000001b4: PUSH2 0x031a
000001b7: JUMPI
000001b8: DUP1
000001b9: PUSH4 0x7df1f1b9
000001be: EQ
000001bf: PUSH2 0x0315
000001c2: JUMPI
000001c3: DUP1
000001c4: PUSH4 0x878eb921
000001c9: EQ
000001ca: PUSH2 0x0310
000001cd: JUMPI
000001ce: DUP1
000001cf: PUSH4 0x95d89b41
000001d4: EQ
000001d5: PUSH2 0x030b
000001d8: JUMPI
000001d9: DUP1
000001da: PUSH4 0x9e6f9802
000001df: EQ
000001e0: PUSH2 0x0306
000001e3: JUMPI
000001e4: DUP1
000001e5: PUSH4 0xa9059cbb
000001ea: EQ
000001eb: PUSH2 0x0301
000001ee: JUMPI
000001ef: DUP1
000001f0: PUSH4 0xae6ea191
000001f5: EQ
000001f6: PUSH2 0x02fc
000001f9: JUMPI
000001fa: DUP1
000001fb: PUSH4 0xb1bf962d
00000200: EQ
00000201: PUSH2 0x02f7
00000204: JUMPI
00000205: DUP1
00000206: PUSH4 0xb68ce7a2
0000020b: EQ
0000020c: PUSH2 0x02f2
0000020f: JUMPI
00000210: DUP1
00000211: PUSH4 0xb6b55f25
00000216: EQ
00000217: PUSH2 0x02ed
0000021a: JUMPI
0000021b: DUP1
0000021c: PUSH4 0xc2b6b58c
00000221: EQ
00000222: PUSH2 0x02e8
00000225: JUMPI
00000226: DUP1
00000227: PUSH4 0xc45a0155
0000022c: EQ
0000022d: PUSH2 0x02e3
00000230: JUMPI
00000231: DUP1
00000232: PUSH4 0xc511ed5e
00000237: EQ
00000238: PUSH2 0x02de
0000023b: JUMPI
0000023c: DUP1
0000023d: PUSH4 0xc5ebeaec
00000242: EQ
00000243: PUSH2 0x02d9
00000246: JUMPI
00000247: DUP1
00000248: PUSH4 0xc8796572
0000024d: EQ
0000024e: PUSH2 0x02d4
00000251: JUMPI
00000252: DUP1
00000253: PUSH4 0xcd7033c4
00000258: EQ
00000259: PUSH2 0x02cf
0000025c: JUMPI
0000025d: DUP1
0000025e: PUSH4 0xd98e0fe8
00000263: EQ
00000264: PUSH2 0x02ca
00000267: JUMPI
00000268: DUP1
00000269: PUSH4 0xdbcd50b4
0000026e: EQ
0000026f: PUSH2 0x02c5
00000272: JUMPI
00000273: DUP1
00000274: PUSH4 0xdcd549d4
00000279: EQ
0000027a: PUSH2 0x02c0
0000027d: JUMPI
0000027e: DUP1
0000027f: PUSH4 0xdd62ed3e
00000284: EQ
00000285: PUSH2 0x02bb
00000288: JUMPI
00000289: DUP1
0000028a: PUSH4 0xe5adc635
0000028f: EQ
00000290: PUSH2 0x02b6
00000293: JUMPI
00000294: DUP1
00000295: PUSH4 0xe7e5db4f
0000029a: EQ
0000029b: PUSH2 0x02b1
0000029e: JUMPI
0000029f: PUSH4 0xf58c251c
000002a4: EQ
000002a5: PUSH2 0x02ac
000002a8: JUMPI
000002a9: PUSH0
000002aa: DUP1
000002ab: REVERT
000002ac: JUMPDEST
000002ad: PUSH2 0x25b3
000002b0: JUMP
000002b1: JUMPDEST
000002b2: PUSH2 0x104e
000002b5: JUMP
000002b6: JUMPDEST
000002b7: PUSH2 0x2457
000002ba: JUMP
000002bb: JUMPDEST
000002bc: PUSH2 0x23dc
000002bf: JUMP
000002c0: JUMPDEST
000002c1: PUSH2 0x22db
000002c4: JUMP
000002c5: JUMPDEST
000002c6: PUSH2 0x2265
000002c9: JUMP
000002ca: JUMPDEST
000002cb: PUSH2 0x2241
000002ce: JUMP
000002cf: JUMPDEST
000002d0: PUSH2 0x2207
000002d3: JUMP
000002d4: JUMPDEST
000002d5: PUSH2 0x211e
000002d8: JUMP
000002d9: JUMPDEST
000002da: PUSH2 0x1ff3
000002dd: JUMP
000002de: JUMPDEST
000002df: PUSH2 0x1c90
000002e2: JUMP
000002e3: JUMPDEST
000002e4: PUSH2 0x1c40
000002e7: JUMP
000002e8: JUMPDEST
000002e9: PUSH2 0x1c1f
000002ec: JUMP
000002ed: JUMPDEST
000002ee: PUSH2 0x1bde
000002f1: JUMP
000002f2: JUMPDEST
000002f3: PUSH2 0x1bb5
000002f6: JUMP
000002f7: JUMPDEST
000002f8: PUSH2 0x1b83
000002fb: JUMP
000002fc: JUMPDEST
000002fd: PUSH2 0x1a37
00000300: JUMP
00000301: JUMPDEST
00000302: PUSH2 0x1874
00000305: JUMP
00000306: JUMPDEST
00000307: PUSH2 0x183a
0000030a: JUMP
0000030b: JUMPDEST
0000030c: PUSH2 0x17d5
0000030f: JUMP
00000310: JUMPDEST
00000311: PUSH2 0x16f8
00000314: JUMP
00000315: JUMPDEST
00000316: PUSH2 0x1667
00000319: JUMP
0000031a: JUMPDEST
0000031b: PUSH2 0x1623
0000031e: JUMP
0000031f: JUMPDEST
00000320: PUSH2 0x14e9
00000323: JUMP
00000324: JUMPDEST
00000325: PUSH2 0x1451
00000328: JUMP
00000329: JUMPDEST
0000032a: PUSH2 0x13cc
0000032d: JUMP
0000032e: JUMPDEST
0000032f: PUSH2 0x1361
00000332: JUMP
00000333: JUMPDEST
00000334: PUSH2 0x129e
00000337: JUMP
00000338: JUMPDEST
00000339: PUSH2 0x126a
0000033c: JUMP
0000033d: JUMPDEST
0000033e: PUSH2 0x10e6
00000341: JUMP
00000342: JUMPDEST
00000343: PUSH2 0x10c2
00000346: JUMP
00000347: JUMPDEST
00000348: PUSH2 0x109e
0000034b: JUMP
0000034c: JUMPDEST
0000034d: PUSH2 0x1014
00000350: JUMP
00000351: JUMPDEST
00000352: PUSH2 0x0f5b
00000355: JUMP
00000356: JUMPDEST
00000357: PUSH2 0x0f21
0000035a: JUMP
0000035b: JUMPDEST
0000035c: PUSH2 0x0ed1
0000035f: JUMP
00000360: JUMPDEST
00000361: PUSH2 0x0d87
00000364: JUMP
00000365: JUMPDEST
00000366: PUSH2 0x0d35
00000369: JUMP
0000036a: JUMPDEST
0000036b: PUSH2 0x0ce5
0000036e: JUMP
0000036f: JUMPDEST
00000370: PUSH2 0x0c03
00000373: JUMP
00000374: JUMPDEST
00000375: PUSH2 0x0bab
00000378: JUMP
00000379: JUMPDEST
0000037a: PUSH2 0x0b6e
0000037d: JUMP
0000037e: JUMPDEST
0000037f: PUSH2 0x0b3d
00000382: JUMP
00000383: JUMPDEST
00000384: PUSH2 0x0a41
00000387: JUMP
00000388: JUMPDEST
00000389: PUSH2 0x09fa
0000038c: JUMP
0000038d: JUMPDEST
0000038e: PUSH2 0x099a
00000391: JUMP
00000392: JUMPDEST
00000393: PUSH2 0x095e
00000396: JUMP
00000397: JUMPDEST
00000398: PUSH2 0x091d
0000039b: JUMP
0000039c: JUMPDEST
0000039d: PUSH2 0x08f1
000003a0: JUMP
000003a1: JUMPDEST
000003a2: PUSH2 0x08cd
000003a5: JUMP
000003a6: JUMPDEST
000003a7: PUSH2 0x088b
000003aa: JUMP
000003ab: JUMPDEST
000003ac: PUSH2 0x085b
000003af: JUMP
000003b0: JUMPDEST
000003b1: PUSH2 0x0835
000003b4: JUMP
000003b5: JUMPDEST
000003b6: PUSH2 0x07e0
000003b9: JUMP
000003ba: JUMPDEST
000003bb: PUSH2 0x0661
000003be: JUMP
000003bf: JUMPDEST
000003c0: PUSH2 0x05fc
000003c3: JUMP
000003c4: JUMPDEST
000003c5: PUSH2 0x055e
000003c8: JUMP
000003c9: JUMPDEST
000003ca: PUSH2 0x0506
000003cd: JUMP
000003ce: JUMPDEST
000003cf: PUSH2 0x03f5
000003d2: JUMP
000003d3: JUMPDEST
000003d4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000003e9: DUP2
000003ea: AND
000003eb: SUB
000003ec: PUSH2 0x03f1
000003ef: JUMPI
000003f0: JUMP
000003f1: JUMPDEST
000003f2: PUSH0
000003f3: DUP1
000003f4: REVERT
000003f5: JUMPDEST
000003f6: CALLVALUE
000003f7: PUSH2 0x03f1
000003fa: JUMPI
000003fb: PUSH1 0x20
000003fd: PUSH1 0x03
000003ff: NOT
00000400: CALLDATASIZE
00000401: ADD
00000402: SLT
00000403: PUSH2 0x03f1
00000406: JUMPI
00000407: PUSH1 0x04
00000409: CALLDATALOAD
0000040a: PUSH2 0x0412
0000040d: DUP2
0000040e: PUSH2 0x03d3
00000411: JUMP
00000412: JUMPDEST
00000413: PUSH2 0x041a
00000416: PUSH2 0x2bf8
00000419: JUMP
0000041a: JUMPDEST
0000041b: PUSH32 0x0000000000000000000000009025d3c84f24a9cf2a95bcdc4c91cbfec763b58f
0000043c: CALLER
0000043d: XOR
0000043e: PUSH2 0x04f9
00000441: JUMPI
00000442: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000457: DUP1
00000458: DUP3
00000459: AND
0000045a: ADDRESS
0000045b: DUP2
0000045c: EQ
0000045d: SWAP2
0000045e: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
0000047f: AND
00000480: EQ
00000481: OR
00000482: PUSH2 0x04ec
00000485: JUMPI
00000486: PUSH4 0x70a08231
0000048b: PUSH0
0000048c: MSTORE
0000048d: ADDRESS
0000048e: PUSH1 0x20
00000490: MSTORE
00000491: PUSH1 0x20
00000493: PUSH1 0x34
00000495: PUSH1 0x24
00000497: PUSH1 0x1c
00000499: DUP5
0000049a: GAS
0000049b: STATICCALL
0000049c: PUSH1 0x1f
0000049e: RETURNDATASIZE
0000049f: GT
000004a0: AND
000004a1: ISZERO
000004a2: PUSH2 0x04df
000004a5: JUMPI
000004a6: PUSH0
000004a7: PUSH1 0x44
000004a9: PUSH1 0x10
000004ab: DUP3
000004ac: PUSH1 0x20
000004ae: SWAP5
000004af: CALLER
000004b0: PUSH1 0x14
000004b2: MSTORE
000004b3: PUSH16 0xa9059cbb000000000000000000000000
000004c4: DUP3
000004c5: MSTORE
000004c6: GAS
000004c7: CALL
000004c8: RETURNDATASIZE
000004c9: ISZERO
000004ca: PUSH1 0x01
000004cc: PUSH0
000004cd: MLOAD
000004ce: EQ
000004cf: OR
000004d0: AND
000004d1: ISZERO
000004d2: PUSH2 0x04df
000004d5: JUMPI
000004d6: PUSH2 0x04dd
000004d9: PUSH2 0x2c16
000004dc: JUMP
000004dd: JUMPDEST
000004de: STOP
000004df: JUMPDEST
000004e0: PUSH4 0x90b8ec18
000004e5: PUSH0
000004e6: MSTORE
000004e7: PUSH1 0x04
000004e9: PUSH1 0x1c
000004eb: REVERT
000004ec: JUMPDEST
000004ed: PUSH4 0x11530cde
000004f2: PUSH0
000004f3: MSTORE
000004f4: PUSH1 0x04
000004f6: PUSH1 0x1c
000004f8: REVERT
000004f9: JUMPDEST
000004fa: PUSH4 0x02171e6a
000004ff: PUSH0
00000500: MSTORE
00000501: PUSH1 0x04
00000503: PUSH1 0x1c
00000505: REVERT
00000506: JUMPDEST
00000507: CALLVALUE
00000508: PUSH2 0x03f1
0000050b: JUMPI
0000050c: PUSH0
0000050d: PUSH1 0x03
0000050f: NOT
00000510: CALLDATASIZE
00000511: ADD
00000512: SLT
00000513: PUSH2 0x03f1
00000516: JUMPI
00000517: PUSH1 0x20
00000519: PUSH2 0x0520
0000051c: PUSH2 0x2603
0000051f: JUMP
00000520: JUMPDEST
00000521: PUSH1 0x40
00000523: MLOAD
00000524: SWAP1
00000525: DUP2
00000526: MSTORE
00000527: RETURN
00000528: JUMPDEST
00000529: PUSH4 0xffffffff
0000052e: DUP2
0000052f: AND
00000530: SUB
00000531: PUSH2 0x03f1
00000534: JUMPI
00000535: JUMP
00000536: JUMPDEST
00000537: PUSH1 0x03
00000539: NOT
0000053a: PUSH1 0x40
0000053c: SWAP2
0000053d: ADD
0000053e: SLT
0000053f: PUSH2 0x03f1
00000542: JUMPI
00000543: PUSH1 0x04
00000545: CALLDATALOAD
00000546: PUSH2 0x054e
00000549: DUP2
0000054a: PUSH2 0x03d3
0000054d: JUMP
0000054e: JUMPDEST
0000054f: SWAP1
00000550: PUSH1 0x24
00000552: CALLDATALOAD
00000553: PUSH2 0x055b
00000556: DUP2
00000557: PUSH2 0x0528
0000055a: JUMP
0000055b: JUMPDEST
0000055c: SWAP1
0000055d: JUMP
0000055e: JUMPDEST
0000055f: CALLVALUE
00000560: PUSH2 0x03f1
00000563: JUMPI
00000564: PUSH1 0x40
00000566: PUSH2 0x056e
00000569: CALLDATASIZE
0000056a: PUSH2 0x0536
0000056d: JUMP
0000056e: JUMPDEST
0000056f: PUSH2 0x05c0
00000572: PUSH2 0x0579
00000575: PUSH2 0x2681
00000578: JUMP
00000579: JUMPDEST
0000057a: SWAP3
0000057b: PUSH0
0000057c: DUP5
0000057d: MSTORE
0000057e: PUSH4 0xffffffff
00000583: PUSH1 0x20
00000585: DUP6
00000586: ADD
00000587: SWAP4
00000588: PUSH0
00000589: DUP6
0000058a: MSTORE
0000058b: PUSH2 0x0592
0000058e: PUSH2 0x2c1f
00000591: JUMP
00000592: JUMPDEST
00000593: AND
00000594: PUSH0
00000595: MSTORE
00000596: PUSH1 0x08
00000598: PUSH1 0x20
0000059a: MSTORE
0000059b: DUP5
0000059c: PUSH0
0000059d: KECCAK256
0000059e: SWAP1
0000059f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005b4: AND
000005b5: PUSH0
000005b6: MSTORE
000005b7: PUSH1 0x20
000005b9: MSTORE
000005ba: PUSH1 0x40
000005bc: PUSH0
000005bd: KECCAK256
000005be: SWAP1
000005bf: JUMP
000005c0: JUMPDEST
000005c1: SLOAD
000005c2: SWAP1
000005c3: PUSH13 0xffffffffffffffffffffffffff
000005d1: DUP3
000005d2: AND
000005d3: DUP1
000005d4: SWAP4
000005d5: MSTORE
000005d6: PUSH16 0xffffffffffffffffffffffffffffffff
000005e7: DUP1
000005e8: SWAP3
000005e9: PUSH1 0x68
000005eb: SHR
000005ec: AND
000005ed: DUP2
000005ee: MSTORE
000005ef: DUP4
000005f0: MLOAD
000005f1: SWAP3
000005f2: DUP4
000005f3: MSTORE
000005f4: MLOAD
000005f5: AND
000005f6: PUSH1 0x20
000005f8: DUP3
000005f9: ADD
000005fa: MSTORE
000005fb: RETURN
000005fc: JUMPDEST
000005fd: CALLVALUE
000005fe: PUSH2 0x03f1
00000601: JUMPI
00000602: PUSH0
00000603: PUSH1 0x03
00000605: NOT
00000606: CALLDATASIZE
00000607: ADD
00000608: SLT
00000609: PUSH2 0x03f1
0000060c: JUMPI
0000060d: PUSH1 0x20
0000060f: PUSH0
00000610: MSTORE
00000611: PUSH0
00000612: PUSH1 0x20
00000614: MSTORE
00000615: PUSH32 0x0e416d6265722055534420436f696e0000000000000000000000000000000000
00000636: PUSH1 0x3f
00000638: MSTORE
00000639: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
0000065a: PUSH1 0x5f
0000065c: MSTORE
0000065d: PUSH1 0x80
0000065f: PUSH0
00000660: RETURN
00000661: JUMPDEST
00000662: CALLVALUE
00000663: PUSH2 0x03f1
00000666: JUMPI
00000667: PUSH2 0x066f
0000066a: CALLDATASIZE
0000066b: PUSH2 0x0536
0000066e: JUMP
0000066f: JUMPDEST
00000670: SWAP1
00000671: PUSH2 0x0678
00000674: PUSH2 0x2c1f
00000677: JUMP
00000678: JUMPDEST
00000679: PUSH4 0xffffffff
0000067e: SWAP2
0000067f: DUP3
00000680: DUP2
00000681: AND
00000682: SWAP2
00000683: TIMESTAMP
00000684: DUP4
00000685: LT
00000686: ISZERO
00000687: PUSH2 0x07d3
0000068a: JUMPI
0000068b: PUSH2 0x06f7
0000068e: PUSH2 0x06f2
00000691: PUSH2 0x0781
00000694: SWAP3
00000695: PUSH2 0x0796
00000698: SWAP7
00000699: PUSH2 0x0786
0000069c: SWAP7
0000069d: PUSH2 0x06a4
000006a0: PUSH2 0x2c2b
000006a3: JUMP
000006a4: JUMPDEST
000006a5: SWAP4
000006a6: SWAP2
000006a7: POP
000006a8: PUSH2 0x06af
000006ab: PUSH2 0x274b
000006ae: JUMP
000006af: JUMPDEST
000006b0: POP
000006b1: AND
000006b2: SUB
000006b3: PUSH2 0x079a
000006b6: JUMPI
000006b7: PUSH2 0x06cf
000006ba: SWAP1
000006bb: SWAP6
000006bc: PUSH4 0xffffffff
000006c1: AND
000006c2: PUSH0
000006c3: MSTORE
000006c4: PUSH1 0x08
000006c6: PUSH1 0x20
000006c8: MSTORE
000006c9: PUSH1 0x40
000006cb: PUSH0
000006cc: KECCAK256
000006cd: SWAP1
000006ce: JUMP
000006cf: JUMPDEST
000006d0: SWAP1
000006d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000006e6: AND
000006e7: PUSH0
000006e8: MSTORE
000006e9: PUSH1 0x20
000006eb: MSTORE
000006ec: PUSH1 0x40
000006ee: PUSH0
000006ef: KECCAK256
000006f0: SWAP1
000006f1: JUMP
000006f2: JUMPDEST
000006f3: PUSH2 0x27ab
000006f6: JUMP
000006f7: JUMPDEST
000006f8: SWAP2
000006f9: PUSH2 0x072d
000006fc: PUSH2 0x0718
000006ff: PUSH1 0x20
00000701: DUP6
00000702: ADD
00000703: MLOAD
00000704: PUSH16 0xffffffffffffffffffffffffffffffff
00000715: AND
00000716: SWAP1
00000717: JUMP
00000718: JUMPDEST
00000719: PUSH16 0xffffffffffffffffffffffffffffffff
0000072a: AND
0000072b: SWAP1
0000072c: JUMP
0000072d: JUMPDEST
0000072e: SWAP3
0000072f: PUSH2 0x0768
00000732: PUSH2 0x0754
00000735: PUSH2 0x0754
00000738: PUSH2 0x0718
0000073b: PUSH1 0x40
0000073d: DUP7
0000073e: ADD
0000073f: MLOAD
00000740: PUSH16 0xffffffffffffffffffffffffffffffff
00000751: AND
00000752: SWAP1
00000753: JUMP
00000754: JUMPDEST
00000755: SWAP3
00000756: MLOAD
00000757: PUSH13 0xffffffffffffffffffffffffff
00000765: AND
00000766: SWAP1
00000767: JUMP
00000768: JUMPDEST
00000769: PUSH13 0xffffffffffffffffffffffffff
00000777: DUP1
00000778: SWAP2
00000779: AND
0000077a: SWAP3
0000077b: AND
0000077c: SWAP1
0000077d: PUSH2 0x2ea7
00000780: JUMP
00000781: JUMPDEST
00000782: PUSH2 0x2811
00000785: JUMP
00000786: JUMPDEST
00000787: PUSH1 0x40
00000789: MLOAD
0000078a: SWAP1
0000078b: DUP2
0000078c: MSTORE
0000078d: SWAP1
0000078e: DUP2
0000078f: SWAP1
00000790: PUSH1 0x20
00000792: DUP3
00000793: ADD
00000794: SWAP1
00000795: JUMP
00000796: JUMPDEST
00000797: SUB
00000798: SWAP1
00000799: RETURN
0000079a: JUMPDEST
0000079b: POP
0000079c: PUSH2 0x06cf
0000079f: PUSH2 0x07be
000007a2: PUSH2 0x07b9
000007a5: DUP8
000007a6: PUSH4 0xffffffff
000007ab: AND
000007ac: PUSH0
000007ad: MSTORE
000007ae: PUSH1 0x07
000007b0: PUSH1 0x20
000007b2: MSTORE
000007b3: PUSH1 0x40
000007b5: PUSH0
000007b6: KECCAK256
000007b7: SWAP1
000007b8: JUMP
000007b9: JUMPDEST
000007ba: PUSH2 0x2765
000007bd: JUMP
000007be: JUMPDEST
000007bf: SWAP6
000007c0: PUSH4 0xffffffff
000007c5: AND
000007c6: PUSH0
000007c7: MSTORE
000007c8: PUSH1 0x08
000007ca: PUSH1 0x20
000007cc: MSTORE
000007cd: PUSH1 0x40
000007cf: PUSH0
000007d0: KECCAK256
000007d1: SWAP1
000007d2: JUMP
000007d3: JUMPDEST
000007d4: PUSH4 0x2561b880
000007d9: PUSH0
000007da: MSTORE
000007db: PUSH1 0x04
000007dd: PUSH1 0x1c
000007df: REVERT
000007e0: JUMPDEST
000007e1: CALLVALUE
000007e2: PUSH2 0x03f1
000007e5: JUMPI
000007e6: PUSH1 0x40
000007e8: PUSH1 0x03
000007ea: NOT
000007eb: CALLDATASIZE
000007ec: ADD
000007ed: SLT
000007ee: PUSH2 0x03f1
000007f1: JUMPI
000007f2: PUSH2 0x0823
000007f5: PUSH1 0x04
000007f7: CALLDATALOAD
000007f8: PUSH2 0x0800
000007fb: DUP2
000007fc: PUSH2 0x03d3
000007ff: JUMP
00000800: JUMPDEST
00000801: PUSH2 0x0808
00000804: PUSH2 0x2bf8
00000807: JUMP
00000808: JUMPDEST
00000809: PUSH2 0x081e
0000080c: PUSH2 0x0813
0000080f: PUSH2 0x2edb
00000812: JUMP
00000813: JUMPDEST
00000814: SWAP2
00000815: PUSH1 0x24
00000817: CALLDATALOAD
00000818: SWAP1
00000819: CALLER
0000081a: PUSH2 0x2f1f
0000081d: JUMP
0000081e: JUMPDEST
0000081f: PUSH2 0x4d13
00000822: JUMP
00000823: JUMPDEST
00000824: PUSH0
00000825: PUSH4 0x929eee14
0000082a: TSTORE
0000082b: PUSH1 0x20
0000082d: PUSH1 0x40
0000082f: MLOAD
00000830: PUSH1 0x01
00000832: DUP2
00000833: MSTORE
00000834: RETURN
00000835: JUMPDEST
00000836: CALLVALUE
00000837: PUSH2 0x03f1
0000083a: JUMPI
0000083b: PUSH0
0000083c: PUSH1 0x03
0000083e: NOT
0000083f: CALLDATASIZE
00000840: ADD
00000841: SLT
00000842: PUSH2 0x03f1
00000845: JUMPI
00000846: PUSH2 0x084d
00000849: PUSH2 0x281e
0000084c: JUMP
0000084d: JUMPDEST
0000084e: POP
0000084f: PUSH2 0x01c0
00000852: PUSH2 0x0859
00000855: PUSH2 0x2880
00000858: JUMP
00000859: JUMPDEST
0000085a: RETURN
0000085b: JUMPDEST
0000085c: CALLVALUE
0000085d: PUSH2 0x03f1
00000860: JUMPI
00000861: PUSH0
00000862: PUSH1 0x03
00000864: NOT
00000865: CALLDATASIZE
00000866: ADD
00000867: SLT
00000868: PUSH2 0x03f1
0000086b: JUMPI
0000086c: PUSH2 0x0873
0000086f: PUSH2 0x281e
00000872: JUMP
00000873: JUMPDEST
00000874: POP
00000875: PUSH2 0x087c
00000878: PUSH2 0x2c1f
0000087b: JUMP
0000087c: JUMPDEST
0000087d: PUSH2 0x01c0
00000880: PUSH2 0x0887
00000883: PUSH2 0x2c2b
00000886: JUMP
00000887: JUMPDEST
00000888: POP
00000889: POP
0000088a: RETURN
0000088b: JUMPDEST
0000088c: CALLVALUE
0000088d: PUSH2 0x03f1
00000890: JUMPI
00000891: PUSH0
00000892: PUSH1 0x03
00000894: NOT
00000895: CALLDATASIZE
00000896: ADD
00000897: SLT
00000898: PUSH2 0x03f1
0000089b: JUMPI
0000089c: PUSH2 0x08a3
0000089f: PUSH2 0x2c1f
000008a2: JUMP
000008a3: JUMPDEST
000008a4: PUSH1 0x20
000008a6: PUSH16 0xffffffffffffffffffffffffffffffff
000008b7: PUSH1 0x40
000008b9: PUSH2 0x08c0
000008bc: PUSH2 0x2c2b
000008bf: JUMP
000008c0: JUMPDEST
000008c1: POP
000008c2: POP
000008c3: ADD
000008c4: MLOAD
000008c5: AND
000008c6: PUSH1 0x40
000008c8: MLOAD
000008c9: SWAP1
000008ca: DUP2
000008cb: MSTORE
000008cc: RETURN
000008cd: JUMPDEST
000008ce: CALLVALUE
000008cf: PUSH2 0x03f1
000008d2: JUMPI
000008d3: PUSH0
000008d4: PUSH1 0x03
000008d6: NOT
000008d7: CALLDATASIZE
000008d8: ADD
000008d9: SLT
000008da: PUSH2 0x03f1
000008dd: JUMPI
000008de: PUSH1 0x20
000008e0: PUSH2 0xffff
000008e3: PUSH1 0x03
000008e5: SLOAD
000008e6: PUSH1 0x30
000008e8: SHR
000008e9: AND
000008ea: PUSH1 0x40
000008ec: MLOAD
000008ed: SWAP1
000008ee: DUP2
000008ef: MSTORE
000008f0: RETURN
000008f1: JUMPDEST
000008f2: CALLVALUE
000008f3: PUSH2 0x03f1
000008f6: JUMPI
000008f7: PUSH0
000008f8: PUSH1 0x03
000008fa: NOT
000008fb: CALLDATASIZE
000008fc: ADD
000008fd: SLT
000008fe: PUSH2 0x03f1
00000901: JUMPI
00000902: PUSH2 0x0909
00000905: PUSH2 0x2c1f
00000908: JUMP
00000909: JUMPDEST
0000090a: PUSH1 0x20
0000090c: PUSH2 0x0520
0000090f: PUSH2 0x0916
00000912: PUSH2 0x2c2b
00000915: JUMP
00000916: JUMPDEST
00000917: POP
00000918: POP
00000919: PUSH2 0x2f95
0000091c: JUMP
0000091d: JUMPDEST
0000091e: CALLVALUE
0000091f: PUSH2 0x03f1
00000922: JUMPI
00000923: PUSH0
00000924: PUSH1 0x03
00000926: NOT
00000927: CALLDATASIZE
00000928: ADD
00000929: SLT
0000092a: PUSH2 0x03f1
0000092d: JUMPI
0000092e: PUSH2 0x0935
00000931: PUSH2 0x2c1f
00000934: JUMP
00000935: JUMPDEST
00000936: PUSH1 0x20
00000938: PUSH2 0x0520
0000093b: PUSH2 0x0942
0000093e: PUSH2 0x2c2b
00000941: JUMP
00000942: JUMPDEST
00000943: POP
00000944: POP
00000945: PUSH13 0xffffffffffffffffffffffffff
00000953: PUSH1 0x80
00000955: DUP3
00000956: ADD
00000957: MLOAD
00000958: AND
00000959: SWAP1
0000095a: PUSH2 0x3e0d
0000095d: JUMP
0000095e: JUMPDEST
0000095f: CALLVALUE
00000960: PUSH2 0x03f1
00000963: JUMPI
00000964: PUSH0
00000965: PUSH1 0x03
00000967: NOT
00000968: CALLDATASIZE
00000969: ADD
0000096a: SLT
0000096b: PUSH2 0x03f1
0000096e: JUMPI
0000096f: PUSH2 0x0976
00000972: PUSH2 0x2bf8
00000975: JUMP
00000976: JUMPDEST
00000977: PUSH2 0x0991
0000097a: PUSH2 0x0981
0000097d: PUSH2 0x2edb
00000980: JUMP
00000981: JUMPDEST
00000982: PUSH2 0x081e
00000985: PUSH2 0x098c
00000988: PUSH2 0x2fe6
0000098b: JUMP
0000098c: JUMPDEST
0000098d: PUSH2 0x323f
00000990: JUMP
00000991: JUMPDEST
00000992: PUSH0
00000993: PUSH4 0x929eee14
00000998: TSTORE
00000999: STOP
0000099a: JUMPDEST
0000099b: CALLVALUE
0000099c: PUSH2 0x03f1
0000099f: JUMPI
000009a0: PUSH1 0x20
000009a2: PUSH1 0x03
000009a4: NOT
000009a5: CALLDATASIZE
000009a6: ADD
000009a7: SLT
000009a8: PUSH2 0x03f1
000009ab: JUMPI
000009ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009c1: PUSH1 0x04
000009c3: CALLDATALOAD
000009c4: PUSH2 0x09cc
000009c7: DUP2
000009c8: PUSH2 0x03d3
000009cb: JUMP
000009cc: JUMPDEST
000009cd: PUSH2 0x09d4
000009d0: PUSH2 0x2c1f
000009d3: JUMP
000009d4: JUMPDEST
000009d5: AND
000009d6: PUSH0
000009d7: MSTORE
000009d8: PUSH1 0x04
000009da: PUSH1 0x20
000009dc: MSTORE
000009dd: PUSH1 0x20
000009df: PUSH13 0xffffffffffffffffffffffffff
000009ed: PUSH1 0x40
000009ef: PUSH0
000009f0: KECCAK256
000009f1: SLOAD
000009f2: AND
000009f3: PUSH1 0x40
000009f5: MLOAD
000009f6: SWAP1
000009f7: DUP2
000009f8: MSTORE
000009f9: RETURN
000009fa: JUMPDEST
000009fb: CALLVALUE
000009fc: PUSH2 0x03f1
000009ff: JUMPI
00000a00: PUSH0
00000a01: PUSH1 0x03
00000a03: NOT
00000a04: CALLDATASIZE
00000a05: ADD
00000a06: SLT
00000a07: PUSH2 0x03f1
00000a0a: JUMPI
00000a0b: PUSH1 0x20
00000a0d: PUSH2 0x0a27
00000a10: PUSH2 0x0a17
00000a13: PUSH2 0x2c2b
00000a16: JUMP
00000a17: JUMPDEST
00000a18: POP
00000a19: POP
00000a1a: PUSH2 0x0a21
00000a1d: PUSH2 0x2603
00000a20: JUMP
00000a21: JUMPDEST
00000a22: SWAP1
00000a23: PUSH2 0x33d4
00000a26: JUMP
00000a27: JUMPDEST
00000a28: PUSH16 0xffffffffffffffffffffffffffffffff
00000a39: PUSH1 0x40
00000a3b: MLOAD
00000a3c: SWAP2
00000a3d: AND
00000a3e: DUP2
00000a3f: MSTORE
00000a40: RETURN
00000a41: JUMPDEST
00000a42: CALLVALUE
00000a43: PUSH2 0x03f1
00000a46: JUMPI
00000a47: PUSH1 0x60
00000a49: PUSH1 0x03
00000a4b: NOT
00000a4c: CALLDATASIZE
00000a4d: ADD
00000a4e: SLT
00000a4f: PUSH2 0x03f1
00000a52: JUMPI
00000a53: PUSH1 0x04
00000a55: CALLDATALOAD
00000a56: PUSH2 0x0a5e
00000a59: DUP2
00000a5a: PUSH2 0x03d3
00000a5d: JUMP
00000a5e: JUMPDEST
00000a5f: PUSH1 0x24
00000a61: CALLDATALOAD
00000a62: PUSH2 0x0a6a
00000a65: DUP2
00000a66: PUSH2 0x03d3
00000a69: JUMP
00000a6a: JUMPDEST
00000a6b: PUSH1 0x44
00000a6d: CALLDATALOAD
00000a6e: PUSH2 0x0a75
00000a71: PUSH2 0x2bf8
00000a74: JUMP
00000a75: JUMPDEST
00000a76: PUSH2 0x0a7d
00000a79: PUSH2 0x2edb
00000a7c: JUMP
00000a7d: JUMPDEST
00000a7e: SWAP2
00000a7f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a94: DUP5
00000a95: AND
00000a96: PUSH0
00000a97: MSTORE
00000a98: PUSH1 0x09
00000a9a: PUSH1 0x20
00000a9c: MSTORE
00000a9d: PUSH2 0x0ac6
00000aa0: PUSH1 0x40
00000aa2: PUSH0
00000aa3: KECCAK256
00000aa4: CALLER
00000aa5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000aba: AND
00000abb: PUSH0
00000abc: MSTORE
00000abd: PUSH1 0x20
00000abf: MSTORE
00000ac0: PUSH1 0x40
00000ac2: PUSH0
00000ac3: KECCAK256
00000ac4: SWAP1
00000ac5: JUMP
00000ac6: JUMPDEST
00000ac7: SLOAD
00000ac8: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00000ae9: DUP2
00000aea: SUB
00000aeb: PUSH2 0x0b11
00000aee: JUMPI
00000aef: JUMPDEST
00000af0: POP
00000af1: SWAP1
00000af2: PUSH2 0x081e
00000af5: SWAP2
00000af6: PUSH2 0x0afe
00000af9: SWAP5
00000afa: PUSH2 0x3497
00000afd: JUMP
00000afe: JUMPDEST
00000aff: PUSH0
00000b00: PUSH4 0x929eee14
00000b05: TSTORE
00000b06: PUSH1 0x40
00000b08: MLOAD
00000b09: PUSH1 0x01
00000b0b: DUP2
00000b0c: MSTORE
00000b0d: PUSH1 0x20
00000b0f: SWAP1
00000b10: RETURN
00000b11: JUMPDEST
00000b12: SWAP2
00000b13: SWAP1
00000b14: DUP2
00000b15: DUP4
00000b16: SUB
00000b17: SWAP3
00000b18: DUP4
00000b19: GT
00000b1a: PUSH2 0x0b38
00000b1d: JUMPI
00000b1e: PUSH2 0x0afe
00000b21: SWAP5
00000b22: PUSH2 0x0b2f
00000b25: PUSH2 0x081e
00000b28: SWAP5
00000b29: CALLER
00000b2a: DUP4
00000b2b: PUSH2 0x2f1f
00000b2e: JUMP
00000b2f: JUMPDEST
00000b30: SWAP5
00000b31: POP
00000b32: SWAP1
00000b33: SWAP2
00000b34: PUSH2 0x0aef
00000b37: JUMP
00000b38: JUMPDEST
00000b39: PUSH2 0x27e4
00000b3c: JUMP
00000b3d: JUMPDEST
00000b3e: CALLVALUE
00000b3f: PUSH2 0x03f1
00000b42: JUMPI
00000b43: PUSH0
00000b44: PUSH1 0x03
00000b46: NOT
00000b47: CALLDATASIZE
00000b48: ADD
00000b49: SLT
00000b4a: PUSH2 0x03f1
00000b4d: JUMPI
00000b4e: PUSH1 0x20
00000b50: PUSH16 0xffffffffffffffffffffffffffffffff
00000b61: PUSH0
00000b62: SLOAD
00000b63: PUSH1 0x08
00000b65: SHR
00000b66: AND
00000b67: PUSH1 0x40
00000b69: MLOAD
00000b6a: SWAP1
00000b6b: DUP2
00000b6c: MSTORE
00000b6d: RETURN
00000b6e: JUMPDEST
00000b6f: CALLVALUE
00000b70: PUSH2 0x03f1
00000b73: JUMPI
00000b74: PUSH0
00000b75: PUSH1 0x03
00000b77: NOT
00000b78: CALLDATASIZE
00000b79: ADD
00000b7a: SLT
00000b7b: PUSH2 0x03f1
00000b7e: JUMPI
00000b7f: PUSH1 0x20
00000b81: PUSH1 0x40
00000b83: MLOAD
00000b84: PUSH1 0xff
00000b86: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000006
00000ba7: AND
00000ba8: DUP2
00000ba9: MSTORE
00000baa: RETURN
00000bab: JUMPDEST
00000bac: CALLVALUE
00000bad: PUSH2 0x03f1
00000bb0: JUMPI
00000bb1: PUSH1 0x20
00000bb3: PUSH2 0x0bf4
00000bb6: PUSH2 0x0bbe
00000bb9: CALLDATASIZE
00000bba: PUSH2 0x0536
00000bbd: JUMP
00000bbe: JUMPDEST
00000bbf: SWAP2
00000bc0: SWAP1
00000bc1: PUSH2 0x0bc8
00000bc4: PUSH2 0x2bf8
00000bc7: JUMP
00000bc8: JUMPDEST
00000bc9: PUSH2 0x081e
00000bcc: PUSH2 0x0bee
00000bcf: PUSH2 0x0bd6
00000bd2: PUSH2 0x2edb
00000bd5: JUMP
00000bd6: JUMPDEST
00000bd7: SWAP3
00000bd8: PUSH2 0x0bdf
00000bdb: PUSH2 0x2fe6
00000bde: JUMP
00000bdf: JUMPDEST
00000be0: SWAP6
00000be1: PUSH1 0x44
00000be3: PUSH0
00000be4: MSTORE
00000be5: CALLDATASIZE
00000be6: ISZERO
00000be7: MLOAD
00000be8: SWAP2
00000be9: DUP8
00000bea: PUSH2 0x3627
00000bed: JUMP
00000bee: JUMPDEST
00000bef: SWAP4
00000bf0: PUSH2 0x323f
00000bf3: JUMP
00000bf4: JUMPDEST
00000bf5: PUSH0
00000bf6: PUSH4 0x929eee14
00000bfb: TSTORE
00000bfc: PUSH1 0x40
00000bfe: MLOAD
00000bff: SWAP1
00000c00: DUP2
00000c01: MSTORE
00000c02: RETURN
00000c03: JUMPDEST
00000c04: CALLVALUE
00000c05: PUSH2 0x03f1
00000c08: JUMPI
00000c09: PUSH1 0x20
00000c0b: PUSH1 0x03
00000c0d: NOT
00000c0e: CALLDATASIZE
00000c0f: ADD
00000c10: SLT
00000c11: PUSH2 0x03f1
00000c14: JUMPI
00000c15: PUSH1 0x04
00000c17: CALLDATALOAD
00000c18: PUSH2 0x0c1f
00000c1b: PUSH2 0x2bf8
00000c1e: JUMP
00000c1f: JUMPDEST
00000c20: PUSH2 0x0c27
00000c23: PUSH2 0x2edb
00000c26: JUMP
00000c27: JUMPDEST
00000c28: DUP2
00000c29: ISZERO
00000c2a: PUSH2 0x0cd8
00000c2d: JUMPI
00000c2e: PUSH2 0x0c59
00000c31: DUP3
00000c32: ADDRESS
00000c33: CALLER
00000c34: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00000c55: PUSH2 0x385a
00000c58: JUMP
00000c59: JUMPDEST
00000c5a: DUP2
00000c5b: PUSH0
00000c5c: MSTORE
00000c5d: CALLER
00000c5e: PUSH32 0xe8b606ac1e5df7657db58d297ca8f41c090fc94c5fd2d6958f043e41736e9fa6
00000c7f: PUSH1 0x20
00000c81: PUSH0
00000c82: LOG2
00000c83: PUSH2 0x0c8a
00000c86: PUSH2 0x2fe6
00000c89: JUMP
00000c8a: JUMPDEST
00000c8b: SWAP2
00000c8c: DUP3
00000c8d: MLOAD
00000c8e: PUSH2 0x0ccb
00000c91: JUMPI
00000c92: PUSH2 0x0991
00000c95: SWAP3
00000c96: PUSH2 0x098c
00000c99: PUSH2 0x081e
00000c9c: SWAP3
00000c9d: PUSH1 0x24
00000c9f: PUSH0
00000ca0: MSTORE
00000ca1: DUP3
00000ca2: CALLDATASIZE
00000ca3: ISZERO
00000ca4: MLOAD
00000ca5: SWAP2
00000ca6: PUSH32 0xdd87c59d295b0b4c1acf1ac29358d435e4d85459d04000000000000000000000
00000cc7: PUSH2 0x38d9
00000cca: JUMP
00000ccb: JUMPDEST
00000ccc: PUSH4 0x61d1bc8f
00000cd1: PUSH0
00000cd2: MSTORE
00000cd3: PUSH1 0x04
00000cd5: PUSH1 0x1c
00000cd7: REVERT
00000cd8: JUMPDEST
00000cd9: PUSH4 0x7e082088
00000cde: PUSH0
00000cdf: MSTORE
00000ce0: PUSH1 0x04
00000ce2: PUSH1 0x1c
00000ce4: REVERT
00000ce5: JUMPDEST
00000ce6: CALLVALUE
00000ce7: PUSH2 0x03f1
00000cea: JUMPI
00000ceb: PUSH0
00000cec: PUSH1 0x03
00000cee: NOT
00000cef: CALLDATASIZE
00000cf0: ADD
00000cf1: SLT
00000cf2: PUSH2 0x03f1
00000cf5: JUMPI
00000cf6: PUSH1 0x20
00000cf8: PUSH1 0x40
00000cfa: MLOAD
00000cfb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d10: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00000d31: AND
00000d32: DUP2
00000d33: MSTORE
00000d34: RETURN
00000d35: JUMPDEST
00000d36: CALLVALUE
00000d37: PUSH2 0x03f1
00000d3a: JUMPI
00000d3b: PUSH0
00000d3c: PUSH1 0x03
00000d3e: NOT
00000d3f: CALLDATASIZE
00000d40: ADD
00000d41: SLT
00000d42: PUSH2 0x03f1
00000d45: JUMPI
00000d46: PUSH1 0x20
00000d48: PUSH32 0x1777adabd324f814e2b0e28f6edf876dce01d7d66358c9acfe87b1b5f38338d5
00000d69: SLOAD
00000d6a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d7f: PUSH1 0x40
00000d81: MLOAD
00000d82: SWAP2
00000d83: AND
00000d84: DUP2
00000d85: MSTORE
00000d86: RETURN
00000d87: JUMPDEST
00000d88: CALLVALUE
00000d89: PUSH2 0x03f1
00000d8c: JUMPI
00000d8d: PUSH1 0x20
00000d8f: PUSH1 0x03
00000d91: NOT
00000d92: CALLDATASIZE
00000d93: ADD
00000d94: SLT
00000d95: PUSH2 0x03f1
00000d98: JUMPI
00000d99: PUSH1 0x04
00000d9b: CALLDATALOAD
00000d9c: PUSH32 0x0000000000000000000000009025d3c84f24a9cf2a95bcdc4c91cbfec763b58f
00000dbd: CALLER
00000dbe: XOR
00000dbf: PUSH2 0x04f9
00000dc2: JUMPI
00000dc3: PUSH2 0x0dca
00000dc6: PUSH2 0x2bf8
00000dc9: JUMP
00000dca: JUMPDEST
00000dcb: PUSH2 0x0dd2
00000dce: PUSH2 0x2edb
00000dd1: JUMP
00000dd2: JUMPDEST
00000dd3: PUSH2 0x0dda
00000dd6: PUSH2 0x2fe6
00000dd9: JUMP
00000dda: JUMPDEST
00000ddb: DUP1
00000ddc: MLOAD
00000ddd: PUSH2 0x0ec4
00000de0: JUMPI
00000de1: PUSH32 0xdd87c59d295b0b4c1acf1ac29358d435e4d85459d04000000000000000000000
00000e02: PUSH1 0x01
00000e04: DUP2
00000e05: PUSH1 0x57
00000e07: SHR
00000e08: AND
00000e09: PUSH2 0x0e4b
00000e0c: JUMPI
00000e0d: JUMPDEST
00000e0e: POP
00000e0f: DUP3
00000e10: PUSH2 0x0e3e
00000e13: PUSH2 0x081e
00000e16: SWAP3
00000e17: PUSH2 0x098c
00000e1a: PUSH2 0x0e25
00000e1d: PUSH2 0x0e43
00000e20: SWAP8
00000e21: PUSH2 0x393f
00000e24: JUMP
00000e25: JUMPDEST
00000e26: PUSH16 0xffffffffffffffffffffffffffffffff
00000e37: AND
00000e38: PUSH1 0x20
00000e3a: DUP4
00000e3b: ADD
00000e3c: MSTORE
00000e3d: JUMP
00000e3e: JUMPDEST
00000e3f: PUSH2 0x395e
00000e42: JUMP
00000e43: JUMPDEST
00000e44: PUSH2 0x04dd
00000e47: PUSH2 0x2c16
00000e4a: JUMP
00000e4b: JUMPDEST
00000e4c: PUSH0
00000e4d: DUP1
00000e4e: SWAP2
00000e4f: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc
00000e70: CALLDATASIZE
00000e71: ADD
00000e72: SWAP1
00000e73: DUP3
00000e74: PUSH1 0x1c
00000e76: PUSH1 0x40
00000e78: MLOAD
00000e79: SWAP4
00000e7a: PUSH4 0x849da129
00000e7f: DUP6
00000e80: MSTORE
00000e81: DUP10
00000e82: PUSH1 0x20
00000e84: DUP7
00000e85: ADD
00000e86: MSTORE
00000e87: PUSH2 0x01c0
00000e8a: DUP9
00000e8b: PUSH1 0x40
00000e8d: DUP8
00000e8e: ADD
00000e8f: MCOPY
00000e90: PUSH2 0x0200
00000e93: SWAP1
00000e94: DUP2
00000e95: DUP1
00000e96: DUP8
00000e97: ADD
00000e98: MSTORE
00000e99: DUP1
00000e9a: PUSH2 0x0220
00000e9d: DUP8
00000e9e: ADD
00000e9f: MSTORE
00000ea0: PUSH1 0x24
00000ea2: PUSH2 0x0240
00000ea5: DUP8
00000ea6: ADD
00000ea7: CALLDATACOPY
00000ea8: CALLDATASIZE
00000ea9: ADD
00000eaa: SWAP4
00000eab: ADD
00000eac: SWAP2
00000ead: PUSH1 0x60
00000eaf: SHR
00000eb0: GAS
00000eb1: CALL
00000eb2: ISZERO
00000eb3: PUSH2 0x0ebc
00000eb6: JUMPI
00000eb7: PUSH0
00000eb8: PUSH2 0x0e0d
00000ebb: JUMP
00000ebc: JUMPDEST
00000ebd: RETURNDATASIZE
00000ebe: PUSH0
00000ebf: DUP1
00000ec0: RETURNDATACOPY
00000ec1: RETURNDATASIZE
00000ec2: PUSH0
00000ec3: REVERT
00000ec4: JUMPDEST
00000ec5: PUSH4 0x81b21078
00000eca: PUSH0
00000ecb: MSTORE
00000ecc: PUSH1 0x04
00000ece: PUSH1 0x1c
00000ed0: REVERT
00000ed1: JUMPDEST
00000ed2: CALLVALUE
00000ed3: PUSH2 0x03f1
00000ed6: JUMPI
00000ed7: PUSH0
00000ed8: PUSH1 0x03
00000eda: NOT
00000edb: CALLDATASIZE
00000edc: ADD
00000edd: SLT
00000ede: PUSH2 0x03f1
00000ee1: JUMPI
00000ee2: PUSH1 0x20
00000ee4: PUSH1 0x40
00000ee6: MLOAD
00000ee7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000efc: PUSH32 0x00000000000000000000000035a5d1bd68f3139971027b92c1ee9384a0708554
00000f1d: AND
00000f1e: DUP2
00000f1f: MSTORE
00000f20: RETURN
00000f21: JUMPDEST
00000f22: CALLVALUE
00000f23: PUSH2 0x03f1
00000f26: JUMPI
00000f27: PUSH0
00000f28: PUSH1 0x03
00000f2a: NOT
00000f2b: CALLDATASIZE
00000f2c: ADD
00000f2d: SLT
00000f2e: PUSH2 0x03f1
00000f31: JUMPI
00000f32: PUSH1 0x20
00000f34: PUSH1 0x40
00000f36: MLOAD
00000f37: PUSH32 0x00000000000000000000000000000000000000000000000000000000000001f4
00000f58: DUP2
00000f59: MSTORE
00000f5a: RETURN
00000f5b: JUMPDEST
00000f5c: CALLVALUE
00000f5d: PUSH2 0x03f1
00000f60: JUMPI
00000f61: PUSH1 0x20
00000f63: PUSH1 0x03
00000f65: NOT
00000f66: CALLDATASIZE
00000f67: ADD
00000f68: SLT
00000f69: PUSH2 0x03f1
00000f6c: JUMPI
00000f6d: PUSH1 0x04
00000f6f: CALLDATALOAD
00000f70: PUSH2 0x0f78
00000f73: DUP2
00000f74: PUSH2 0x03d3
00000f77: JUMP
00000f78: JUMPDEST
00000f79: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f8e: PUSH32 0x000000000000000000000000feb516d9d946dd487a9346f6fee11f40c6945ee4
00000faf: AND
00000fb0: CALLER
00000fb1: SUB
00000fb2: PUSH2 0x1007
00000fb5: JUMPI
00000fb6: PUSH32 0x1777adabd324f814e2b0e28f6edf876dce01d7d66358c9acfe87b1b5f38338d5
00000fd7: DUP2
00000fd8: DUP2
00000fd9: SLOAD
00000fda: SWAP2
00000fdb: SSTORE
00000fdc: PUSH0
00000fdd: MSTORE
00000fde: PUSH1 0x20
00000fe0: MSTORE
00000fe1: PUSH32 0xf33499cccaa0611882086224cc48cd82ef54b66a4d2edf4ed67108dd516896d5
00001002: PUSH1 0x40
00001004: PUSH0
00001005: LOG1
00001006: STOP
00001007: JUMPDEST
00001008: PUSH4 0x4ee0b8f8
0000100d: PUSH0
0000100e: MSTORE
0000100f: PUSH1 0x04
00001011: PUSH1 0x1c
00001013: REVERT
00001014: JUMPDEST
00001015: CALLVALUE
00001016: PUSH2 0x03f1
00001019: JUMPI
0000101a: PUSH0
0000101b: PUSH1 0x03
0000101d: NOT
0000101e: CALLDATASIZE
0000101f: ADD
00001020: SLT
00001021: PUSH2 0x03f1
00001024: JUMPI
00001025: PUSH1 0x20
00001027: PUSH1 0x40
00001029: MLOAD
0000102a: PUSH32 0x000000000000000000000000000000000000000000000000000000000003f480
0000104b: DUP2
0000104c: MSTORE
0000104d: RETURN
0000104e: JUMPDEST
0000104f: CALLVALUE
00001050: PUSH2 0x03f1
00001053: JUMPI
00001054: PUSH0
00001055: PUSH1 0x03
00001057: NOT
00001058: CALLDATASIZE
00001059: ADD
0000105a: SLT
0000105b: PUSH2 0x03f1
0000105e: JUMPI
0000105f: PUSH1 0x20
00001061: PUSH1 0x40
00001063: MLOAD
00001064: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001079: PUSH32 0x000000000000000000000000feb516d9d946dd487a9346f6fee11f40c6945ee4
0000109a: AND
0000109b: DUP2
0000109c: MSTORE
0000109d: RETURN
0000109e: JUMPDEST
0000109f: CALLVALUE
000010a0: PUSH2 0x03f1
000010a3: JUMPI
000010a4: PUSH0
000010a5: PUSH1 0x03
000010a7: NOT
000010a8: CALLDATASIZE
000010a9: ADD
000010aa: SLT
000010ab: PUSH2 0x03f1
000010ae: JUMPI
000010af: PUSH1 0x20
000010b1: PUSH2 0x0520
000010b4: PUSH2 0x10bb
000010b7: PUSH2 0x2c2b
000010ba: JUMP
000010bb: JUMPDEST
000010bc: POP
000010bd: POP
000010be: PUSH2 0x3987
000010c1: JUMP
000010c2: JUMPDEST
000010c3: CALLVALUE
000010c4: PUSH2 0x03f1
000010c7: JUMPI
000010c8: PUSH0
000010c9: PUSH1 0x03
000010cb: NOT
000010cc: CALLDATASIZE
000010cd: ADD
000010ce: SLT
000010cf: PUSH2 0x03f1
000010d2: JUMPI
000010d3: PUSH0
000010d4: PUSH1 0x40
000010d6: MSTORE
000010d7: PUSH2 0x0132
000010da: PUSH1 0x41
000010dc: MSTORE
000010dd: PUSH1 0x20
000010df: DUP1
000010e0: MSTORE
000010e1: PUSH1 0x60
000010e3: PUSH1 0x20
000010e5: RETURN
000010e6: JUMPDEST
000010e7: CALLVALUE
000010e8: PUSH2 0x03f1
000010eb: JUMPI
000010ec: PUSH1 0x40
000010ee: PUSH1 0x03
000010f0: NOT
000010f1: CALLDATASIZE
000010f2: ADD
000010f3: SLT
000010f4: PUSH2 0x03f1
000010f7: JUMPI
000010f8: PUSH1 0x04
000010fa: CALLDATALOAD
000010fb: PUSH2 0x1102
000010fe: PUSH2 0x2bf8
00001101: JUMP
00001102: JUMPDEST
00001103: PUSH2 0x110a
00001106: PUSH2 0x2edb
00001109: JUMP
0000110a: JUMPDEST
0000110b: DUP2
0000110c: ISZERO
0000110d: ISZERO
0000110e: SWAP2
0000110f: DUP3
00001110: PUSH2 0x122f
00001113: JUMPI
00001114: JUMPDEST
00001115: PUSH2 0x111c
00001118: PUSH2 0x2fe6
0000111b: JUMP
0000111c: JUMPDEST
0000111d: SWAP3
0000111e: PUSH2 0x1127
00001121: DUP5
00001122: MLOAD
00001123: ISZERO
00001124: ISZERO
00001125: SWAP1
00001126: JUMP
00001127: JUMPDEST
00001128: PUSH2 0x122a
0000112b: JUMPI
0000112c: PUSH2 0x11eb
0000112f: JUMPI
00001130: JUMPDEST
00001131: POP
00001132: PUSH2 0x1182
00001135: PUSH2 0x113c
00001138: PUSH2 0x2603
0000113b: JUMP
0000113c: JUMPDEST
0000113d: PUSH2 0x117c
00001140: PUSH2 0x0718
00001143: PUSH2 0x115f
00001146: PUSH1 0x60
00001148: DUP8
00001149: ADD
0000114a: MLOAD
0000114b: PUSH16 0xffffffffffffffffffffffffffffffff
0000115c: AND
0000115d: SWAP1
0000115e: JUMP
0000115f: JUMPDEST
00001160: PUSH1 0x40
00001162: DUP8
00001163: ADD
00001164: MLOAD
00001165: PUSH16 0xffffffffffffffffffffffffffffffff
00001176: AND
00001177: SWAP1
00001178: PUSH2 0x29a8
0000117b: JUMP
0000117c: JUMPDEST
0000117d: SWAP1
0000117e: PUSH2 0x2811
00001181: JUMP
00001182: JUMPDEST
00001183: SWAP1
00001184: PUSH2 0x119f
00001187: PUSH2 0x1191
0000118a: PUSH2 0x0718
0000118d: PUSH2 0x39bc
00001190: JUMP
00001191: JUMPDEST
00001192: PUSH1 0x24
00001194: CALLDATALOAD
00001195: DUP2
00001196: DUP1
00001197: DUP3
00001198: SUB
00001199: SWAP2
0000119a: LT
0000119b: MUL
0000119c: ADD
0000119d: SWAP1
0000119e: JUMP
0000119f: JUMPDEST
000011a0: PUSH0
000011a1: SWAP3
000011a2: JUMPDEST
000011a3: DUP2
000011a4: PUSH2 0x11ac
000011a7: DUP6
000011a8: PUSH2 0x29cc
000011ab: JUMP
000011ac: JUMPDEST
000011ad: SWAP5
000011ae: LT
000011af: DUP1
000011b0: PUSH2 0x11e2
000011b3: JUMPI
000011b4: JUMPDEST
000011b5: ISZERO
000011b6: PUSH2 0x11d5
000011b9: JUMPI
000011ba: DUP1
000011bb: PUSH2 0x11c7
000011be: PUSH2 0x11d0
000011c1: SWAP3
000011c2: DUP8
000011c3: PUSH2 0x39de
000011c6: JUMP
000011c7: JUMPDEST
000011c8: DUP1
000011c9: DUP3
000011ca: SUB
000011cb: SWAP2
000011cc: GT
000011cd: MUL
000011ce: SWAP1
000011cf: JUMP
000011d0: JUMPDEST
000011d1: PUSH2 0x11a2
000011d4: JUMP
000011d5: JUMPDEST
000011d6: PUSH2 0x0e43
000011d9: DUP4
000011da: PUSH2 0x081e
000011dd: DUP8
000011de: PUSH2 0x323f
000011e1: JUMP
000011e2: JUMPDEST
000011e3: POP
000011e4: DUP1
000011e5: ISZERO
000011e6: ISZERO
000011e7: PUSH2 0x11b4
000011ea: JUMP
000011eb: JUMPDEST
000011ec: PUSH2 0x1224
000011ef: SWAP1
000011f0: DUP4
000011f1: PUSH2 0x11fd
000011f4: PUSH1 0x44
000011f6: PUSH0
000011f7: MSTORE
000011f8: CALLDATASIZE
000011f9: ISZERO
000011fa: MLOAD
000011fb: SWAP1
000011fc: JUMP
000011fd: JUMPDEST
000011fe: SWAP2
000011ff: PUSH32 0xdd87c59d295b0b4c1acf1ac29358d435e4d85459d04000000000000000000000
00001220: PUSH2 0x38d9
00001223: JUMP
00001224: JUMPDEST
00001225: PUSH0
00001226: PUSH2 0x1130
00001229: JUMP
0000122a: JUMPDEST
0000122b: PUSH2 0x0ccb
0000122e: JUMP
0000122f: JUMPDEST
00001230: PUSH2 0x125b
00001233: DUP2
00001234: ADDRESS
00001235: CALLER
00001236: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00001257: PUSH2 0x385a
0000125a: JUMP
0000125b: JUMPDEST
0000125c: PUSH2 0x1265
0000125f: DUP2
00001260: CALLER
00001261: PUSH2 0x38af
00001264: JUMP
00001265: JUMPDEST
00001266: PUSH2 0x1114
00001269: JUMP
0000126a: JUMPDEST
0000126b: CALLVALUE
0000126c: PUSH2 0x03f1
0000126f: JUMPI
00001270: PUSH0
00001271: PUSH1 0x03
00001273: NOT
00001274: CALLDATASIZE
00001275: ADD
00001276: SLT
00001277: PUSH2 0x03f1
0000127a: JUMPI
0000127b: PUSH2 0x1282
0000127e: PUSH2 0x2c1f
00001281: JUMP
00001282: JUMPDEST
00001283: PUSH1 0x20
00001285: PUSH14 0xffffffffffffffffffffffffffff
00001294: PUSH2 0x0180
00001297: PUSH2 0x08c0
0000129a: PUSH2 0x2c2b
0000129d: JUMP
0000129e: JUMPDEST
0000129f: CALLVALUE
000012a0: PUSH2 0x03f1
000012a3: JUMPI
000012a4: PUSH1 0x20
000012a6: PUSH1 0x03
000012a8: NOT
000012a9: CALLDATASIZE
000012aa: ADD
000012ab: SLT
000012ac: PUSH2 0x03f1
000012af: JUMPI
000012b0: PUSH1 0x04
000012b2: CALLDATALOAD
000012b3: PUSH2 0x12ba
000012b6: PUSH2 0x2bf8
000012b9: JUMP
000012ba: JUMPDEST
000012bb: PUSH2 0x12c2
000012be: PUSH2 0x2edb
000012c1: JUMP
000012c2: JUMPDEST
000012c3: PUSH2 0x12ca
000012c6: PUSH2 0x2fe6
000012c9: JUMP
000012ca: JUMPDEST
000012cb: SWAP2
000012cc: PUSH2 0x12ea
000012cf: PUSH14 0xffffffffffffffffffffffffffff
000012de: PUSH2 0x0180
000012e1: DUP6
000012e2: ADD
000012e3: MLOAD
000012e4: AND
000012e5: DUP3
000012e6: PUSH2 0x51cf
000012e9: JUMP
000012ea: JUMPDEST
000012eb: PUSH2 0x1305
000012ee: PUSH13 0xffffffffffffffffffffffffff
000012fc: DUP3
000012fd: AND
000012fe: DUP1
000012ff: SWAP3
00001300: EQ
00001301: PUSH2 0x51b6
00001304: JUMP
00001305: JUMPDEST
00001306: DUP1
00001307: ISZERO
00001308: PUSH2 0x1354
0000130b: JUMPI
0000130c: PUSH2 0x0796
0000130f: SWAP4
00001310: PUSH2 0x1336
00001313: SWAP3
00001314: PUSH2 0x1330
00001317: SWAP3
00001318: PUSH2 0x1320
0000131b: CALLER
0000131c: PUSH2 0x3b42
0000131f: JUMP
00001320: JUMPDEST
00001321: SWAP3
00001322: PUSH1 0x24
00001324: PUSH0
00001325: MSTORE
00001326: CALLDATASIZE
00001327: ISZERO
00001328: MLOAD
00001329: SWAP4
0000132a: CALLER
0000132b: SWAP2
0000132c: PUSH2 0x3ba6
0000132f: JUMP
00001330: JUMPDEST
00001331: SWAP2
00001332: PUSH2 0x4d13
00001335: JUMP
00001336: JUMPDEST
00001337: PUSH0
00001338: PUSH4 0x929eee14
0000133d: TSTORE
0000133e: PUSH1 0x40
00001340: MLOAD
00001341: PUSH4 0xffffffff
00001346: SWAP1
00001347: SWAP2
00001348: AND
00001349: DUP2
0000134a: MSTORE
0000134b: SWAP1
0000134c: DUP2
0000134d: SWAP1
0000134e: PUSH1 0x20
00001350: DUP3
00001351: ADD
00001352: SWAP1
00001353: JUMP
00001354: JUMPDEST
00001355: PUSH4 0xd61c50f8
0000135a: PUSH0
0000135b: MSTORE
0000135c: PUSH1 0x04
0000135e: PUSH1 0x1c
00001360: REVERT
00001361: JUMPDEST
00001362: CALLVALUE
00001363: PUSH2 0x03f1
00001366: JUMPI
00001367: PUSH1 0x20
00001369: PUSH1 0x03
0000136b: NOT
0000136c: CALLDATASIZE
0000136d: ADD
0000136e: SLT
0000136f: PUSH2 0x03f1
00001372: JUMPI
00001373: PUSH1 0x20
00001375: PUSH2 0x0520
00001378: PUSH1 0x04
0000137a: CALLDATALOAD
0000137b: PUSH2 0x1383
0000137e: DUP2
0000137f: PUSH2 0x03d3
00001382: JUMP
00001383: JUMPDEST
00001384: PUSH2 0x138b
00001387: PUSH2 0x2c1f
0000138a: JUMP
0000138b: JUMPDEST
0000138c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013a1: PUSH2 0x13a8
000013a4: PUSH2 0x2c2b
000013a7: JUMP
000013a8: JUMPDEST
000013a9: POP
000013aa: POP
000013ab: SWAP2
000013ac: AND
000013ad: PUSH0
000013ae: MSTORE
000013af: PUSH1 0x04
000013b1: DUP4
000013b2: MSTORE
000013b3: PUSH13 0xffffffffffffffffffffffffff
000013c1: PUSH1 0x40
000013c3: PUSH0
000013c4: KECCAK256
000013c5: SLOAD
000013c6: AND
000013c7: SWAP1
000013c8: PUSH2 0x3e0d
000013cb: JUMP
000013cc: JUMPDEST
000013cd: CALLVALUE
000013ce: PUSH2 0x03f1
000013d1: JUMPI
000013d2: PUSH0
000013d3: PUSH1 0x03
000013d5: NOT
000013d6: CALLDATASIZE
000013d7: ADD
000013d8: SLT
000013d9: PUSH2 0x03f1
000013dc: JUMPI
000013dd: PUSH2 0x13e4
000013e0: PUSH2 0x2bf8
000013e3: JUMP
000013e4: JUMPDEST
000013e5: PUSH2 0x13ec
000013e8: PUSH2 0x2edb
000013eb: JUMP
000013ec: JUMPDEST
000013ed: PUSH2 0x13f4
000013f0: PUSH2 0x2fe6
000013f3: JUMP
000013f4: JUMPDEST
000013f5: SWAP1
000013f6: PUSH2 0x13fe
000013f9: CALLER
000013fa: PUSH2 0x3b42
000013fd: JUMP
000013fe: JUMPDEST
000013ff: SWAP2
00001400: PUSH13 0xffffffffffffffffffffffffff
0000140e: DUP4
0000140f: MLOAD
00001410: AND
00001411: DUP1
00001412: ISZERO
00001413: PUSH2 0x1354
00001416: JUMPI
00001417: PUSH2 0x0796
0000141a: SWAP4
0000141b: DUP3
0000141c: PUSH2 0x1330
0000141f: SWAP3
00001420: PUSH2 0x1441
00001423: PUSH14 0xffffffffffffffffffffffffffff
00001432: PUSH2 0x0180
00001435: PUSH2 0x1336
00001438: SWAP8
00001439: ADD
0000143a: MLOAD
0000143b: AND
0000143c: DUP3
0000143d: PUSH2 0x529f
00001440: JUMP
00001441: JUMPDEST
00001442: SWAP2
00001443: PUSH1 0x04
00001445: PUSH0
00001446: MSTORE
00001447: CALLDATASIZE
00001448: ISZERO
00001449: MLOAD
0000144a: SWAP4
0000144b: CALLER
0000144c: SWAP2
0000144d: PUSH2 0x3ba6
00001450: JUMP
00001451: JUMPDEST
00001452: CALLVALUE
00001453: PUSH2 0x03f1
00001456: JUMPI
00001457: PUSH0
00001458: PUSH1 0x03
0000145a: NOT
0000145b: CALLDATASIZE
0000145c: ADD
0000145d: SLT
0000145e: PUSH2 0x03f1
00001461: JUMPI
00001462: PUSH2 0x1469
00001465: PUSH2 0x2c1f
00001468: JUMP
00001469: JUMPDEST
0000146a: PUSH1 0x20
0000146c: PUSH2 0x0520
0000146f: PUSH2 0x1476
00001472: PUSH2 0x2c2b
00001475: JUMP
00001476: JUMPDEST
00001477: POP
00001478: POP
00001479: PUSH2 0x3e2d
0000147c: JUMP
0000147d: JUMPDEST
0000147e: SWAP2
0000147f: DUP2
00001480: PUSH1 0x1f
00001482: DUP5
00001483: ADD
00001484: SLT
00001485: ISZERO
00001486: PUSH2 0x03f1
00001489: JUMPI
0000148a: DUP3
0000148b: CALLDATALOAD
0000148c: SWAP2
0000148d: PUSH8 0xffffffffffffffff
00001496: DUP4
00001497: GT
00001498: PUSH2 0x03f1
0000149b: JUMPI
0000149c: PUSH1 0x20
0000149e: DUP1
0000149f: DUP6
000014a0: ADD
000014a1: SWAP5
000014a2: DUP5
000014a3: PUSH1 0x05
000014a5: SHL
000014a6: ADD
000014a7: ADD
000014a8: GT
000014a9: PUSH2 0x03f1
000014ac: JUMPI
000014ad: JUMP
000014ae: JUMPDEST
000014af: PUSH1 0x20
000014b1: SWAP1
000014b2: PUSH1 0x20
000014b4: PUSH1 0x40
000014b6: DUP2
000014b7: DUP4
000014b8: ADD
000014b9: SWAP3
000014ba: DUP3
000014bb: DUP2
000014bc: MSTORE
000014bd: DUP6
000014be: MLOAD
000014bf: DUP1
000014c0: SWAP5
000014c1: MSTORE
000014c2: ADD
000014c3: SWAP4
000014c4: ADD
000014c5: SWAP2
000014c6: PUSH0
000014c7: JUMPDEST
000014c8: DUP3
000014c9: DUP2
000014ca: LT
000014cb: PUSH2 0x14d5
000014ce: JUMPI
000014cf: POP
000014d0: POP
000014d1: POP
000014d2: POP
000014d3: SWAP1
000014d4: JUMP
000014d5: JUMPDEST
000014d6: DUP4
000014d7: MLOAD
000014d8: DUP6
000014d9: MSTORE
000014da: SWAP4
000014db: DUP2
000014dc: ADD
000014dd: SWAP4
000014de: SWAP3
000014df: DUP2
000014e0: ADD
000014e1: SWAP3
000014e2: PUSH1 0x01
000014e4: ADD
000014e5: PUSH2 0x14c7
000014e8: JUMP
000014e9: JUMPDEST
000014ea: CALLVALUE
000014eb: PUSH2 0x03f1
000014ee: JUMPI
000014ef: PUSH1 0x40
000014f1: PUSH1 0x03
000014f3: NOT
000014f4: CALLDATASIZE
000014f5: ADD
000014f6: SLT
000014f7: PUSH2 0x03f1
000014fa: JUMPI
000014fb: PUSH8 0xffffffffffffffff
00001504: PUSH1 0x04
00001506: CALLDATALOAD
00001507: DUP2
00001508: DUP2
00001509: GT
0000150a: PUSH2 0x03f1
0000150d: JUMPI
0000150e: PUSH2 0x151b
00001511: SWAP1
00001512: CALLDATASIZE
00001513: SWAP1
00001514: PUSH1 0x04
00001516: ADD
00001517: PUSH2 0x147d
0000151a: JUMP
0000151b: JUMPDEST
0000151c: SWAP1
0000151d: SWAP2
0000151e: PUSH1 0x24
00001520: CALLDATALOAD
00001521: SWAP1
00001522: DUP2
00001523: GT
00001524: PUSH2 0x03f1
00001527: JUMPI
00001528: PUSH2 0x1535
0000152b: SWAP1
0000152c: CALLDATASIZE
0000152d: SWAP1
0000152e: PUSH1 0x04
00001530: ADD
00001531: PUSH2 0x147d
00001534: JUMP
00001535: JUMPDEST
00001536: SWAP2
00001537: SWAP1
00001538: SWAP3
00001539: PUSH2 0x1540
0000153c: PUSH2 0x2bf8
0000153f: JUMP
00001540: JUMPDEST
00001541: PUSH2 0x1548
00001544: PUSH2 0x2edb
00001547: JUMP
00001548: JUMPDEST
00001549: SWAP4
0000154a: DUP4
0000154b: DUP4
0000154c: SUB
0000154d: PUSH2 0x1616
00001550: JUMPI
00001551: PUSH2 0x1561
00001554: PUSH2 0x155c
00001557: DUP5
00001558: PUSH2 0x29f9
0000155b: JUMP
0000155c: JUMPDEST
0000155d: PUSH2 0x2707
00001560: JUMP
00001561: JUMPDEST
00001562: SWAP4
00001563: DUP4
00001564: DUP6
00001565: MSTORE
00001566: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00001587: PUSH2 0x158f
0000158a: DUP6
0000158b: PUSH2 0x29f9
0000158e: JUMP
0000158f: JUMPDEST
00001590: ADD
00001591: CALLDATASIZE
00001592: PUSH1 0x20
00001594: DUP8
00001595: ADD
00001596: CALLDATACOPY
00001597: PUSH2 0x159e
0000159a: PUSH2 0x2fe6
0000159d: JUMP
0000159e: JUMPDEST
0000159f: SWAP4
000015a0: PUSH0
000015a1: JUMPDEST
000015a2: DUP2
000015a3: DUP2
000015a4: LT
000015a5: PUSH2 0x15cd
000015a8: JUMPI
000015a9: PUSH2 0x0796
000015ac: DUP8
000015ad: PUSH2 0x15b9
000015b0: DUP11
000015b1: PUSH2 0x081e
000015b4: DUP11
000015b5: PUSH2 0x323f
000015b8: JUMP
000015b9: JUMPDEST
000015ba: PUSH2 0x15c1
000015bd: PUSH2 0x2c16
000015c0: JUMP
000015c1: JUMPDEST
000015c2: PUSH1 0x40
000015c4: MLOAD
000015c5: SWAP2
000015c6: DUP3
000015c7: SWAP2
000015c8: DUP3
000015c9: PUSH2 0x14ae
000015cc: JUMP
000015cd: JUMPDEST
000015ce: DUP1
000015cf: PUSH2 0x1605
000015d2: PUSH2 0x15de
000015d5: PUSH1 0x01
000015d7: SWAP4
000015d8: DUP6
000015d9: DUP10
000015da: PUSH2 0x2a3e
000015dd: JUMP
000015de: JUMPDEST
000015df: CALLDATALOAD
000015e0: PUSH2 0x15e8
000015e3: DUP2
000015e4: PUSH2 0x03d3
000015e7: JUMP
000015e8: JUMPDEST
000015e9: PUSH2 0x15f3
000015ec: DUP4
000015ed: DUP8
000015ee: DUP10
000015ef: PUSH2 0x2a3e
000015f2: JUMP
000015f3: JUMPDEST
000015f4: CALLDATALOAD
000015f5: PUSH2 0x15fd
000015f8: DUP2
000015f9: PUSH2 0x0528
000015fc: JUMP
000015fd: JUMPDEST
000015fe: CALLDATASIZE
000015ff: SWAP2
00001600: DUP11
00001601: PUSH2 0x3627
00001604: JUMP
00001605: JUMPDEST
00001606: PUSH2 0x160f
00001609: DUP3
0000160a: DUP11
0000160b: PUSH2 0x2a53
0000160e: JUMP
0000160f: JUMPDEST
00001610: MSTORE
00001611: ADD
00001612: PUSH2 0x15a1
00001615: JUMP
00001616: JUMPDEST
00001617: PUSH4 0x9d89020a
0000161c: PUSH0
0000161d: MSTORE
0000161e: PUSH1 0x04
00001620: PUSH1 0x1c
00001622: REVERT
00001623: JUMPDEST
00001624: CALLVALUE
00001625: PUSH2 0x03f1
00001628: JUMPI
00001629: PUSH0
0000162a: PUSH1 0x03
0000162c: NOT
0000162d: CALLDATASIZE
0000162e: ADD
0000162f: SLT
00001630: PUSH2 0x03f1
00001633: JUMPI
00001634: PUSH2 0x163b
00001637: PUSH2 0x2c1f
0000163a: JUMP
0000163b: JUMPDEST
0000163c: PUSH1 0x20
0000163e: PUSH2 0x1645
00001641: PUSH2 0x2c2b
00001644: JUMP
00001645: JUMPDEST
00001646: POP
00001647: POP
00001648: PUSH2 0x1658
0000164b: PUSH2 0x1652
0000164e: PUSH2 0x2603
00001651: JUMP
00001652: JUMPDEST
00001653: SWAP2
00001654: PUSH2 0x3e2d
00001657: JUMP
00001658: JUMPDEST
00001659: SWAP1
0000165a: PUSH1 0x40
0000165c: MLOAD
0000165d: SWAP2
0000165e: DUP1
0000165f: DUP3
00001660: SUB
00001661: SWAP2
00001662: GT
00001663: MUL
00001664: DUP2
00001665: MSTORE
00001666: RETURN
00001667: JUMPDEST
00001668: CALLVALUE
00001669: PUSH2 0x03f1
0000166c: JUMPI
0000166d: PUSH0
0000166e: PUSH1 0x03
00001670: NOT
00001671: CALLDATASIZE
00001672: ADD
00001673: SLT
00001674: PUSH2 0x03f1
00001677: JUMPI
00001678: PUSH1 0x20
0000167a: PUSH1 0x40
0000167c: MLOAD
0000167d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001692: PUSH32 0x0000000000000000000000009025d3c84f24a9cf2a95bcdc4c91cbfec763b58f
000016b3: AND
000016b4: DUP2
000016b5: MSTORE
000016b6: RETURN
000016b7: JUMPDEST
000016b8: PUSH1 0x20
000016ba: SWAP1
000016bb: PUSH1 0x20
000016bd: PUSH1 0x40
000016bf: DUP2
000016c0: DUP4
000016c1: ADD
000016c2: SWAP3
000016c3: DUP3
000016c4: DUP2
000016c5: MSTORE
000016c6: DUP6
000016c7: MLOAD
000016c8: DUP1
000016c9: SWAP5
000016ca: MSTORE
000016cb: ADD
000016cc: SWAP4
000016cd: ADD
000016ce: SWAP2
000016cf: PUSH0
000016d0: JUMPDEST
000016d1: DUP3
000016d2: DUP2
000016d3: LT
000016d4: PUSH2 0x16de
000016d7: JUMPI
000016d8: POP
000016d9: POP
000016da: POP
000016db: POP
000016dc: SWAP1
000016dd: JUMP
000016de: JUMPDEST
000016df: DUP4
000016e0: MLOAD
000016e1: PUSH4 0xffffffff
000016e6: AND
000016e7: DUP6
000016e8: MSTORE
000016e9: SWAP4
000016ea: DUP2
000016eb: ADD
000016ec: SWAP4
000016ed: SWAP3
000016ee: DUP2
000016ef: ADD
000016f0: SWAP3
000016f1: PUSH1 0x01
000016f3: ADD
000016f4: PUSH2 0x16d0
000016f7: JUMP
000016f8: JUMPDEST
000016f9: CALLVALUE
000016fa: PUSH2 0x03f1
000016fd: JUMPI
000016fe: PUSH0
000016ff: PUSH1 0x03
00001701: NOT
00001702: CALLDATASIZE
00001703: ADD
00001704: SLT
00001705: PUSH2 0x03f1
00001708: JUMPI
00001709: PUSH2 0x1710
0000170c: PUSH2 0x2c1f
0000170f: JUMP
00001710: JUMPDEST
00001711: PUSH1 0x05
00001713: SLOAD
00001714: PUSH16 0xffffffffffffffffffffffffffffffff
00001725: DUP2
00001726: AND
00001727: SWAP1
00001728: PUSH1 0x80
0000172a: SHR
0000172b: DUP2
0000172c: DUP2
0000172d: SUB
0000172e: SWAP1
0000172f: DUP2
00001730: GT
00001731: PUSH2 0x0b38
00001734: JUMPI
00001735: PUSH2 0x1740
00001738: PUSH2 0x155c
0000173b: DUP3
0000173c: PUSH2 0x29f9
0000173f: JUMP
00001740: JUMPDEST
00001741: SWAP2
00001742: DUP2
00001743: DUP4
00001744: MSTORE
00001745: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00001766: PUSH2 0x176e
00001769: DUP4
0000176a: PUSH2 0x29f9
0000176d: JUMP
0000176e: JUMPDEST
0000176f: ADD
00001770: CALLDATASIZE
00001771: PUSH1 0x20
00001773: DUP6
00001774: ADD
00001775: CALLDATACOPY
00001776: PUSH0
00001777: JUMPDEST
00001778: DUP3
00001779: DUP2
0000177a: LT
0000177b: PUSH2 0x178c
0000177e: JUMPI
0000177f: PUSH1 0x40
00001781: MLOAD
00001782: DUP1
00001783: PUSH2 0x0796
00001786: DUP7
00001787: DUP3
00001788: PUSH2 0x16b7
0000178b: JUMP
0000178c: JUMPDEST
0000178d: DUP1
0000178e: PUSH2 0x17cf
00001791: PUSH2 0x17ba
00001794: PUSH2 0x17b0
00001797: PUSH2 0x17a2
0000179a: PUSH1 0x01
0000179c: SWAP6
0000179d: DUP8
0000179e: PUSH2 0x2a67
000017a1: JUMP
000017a2: JUMPDEST
000017a3: PUSH0
000017a4: MSTORE
000017a5: PUSH1 0x06
000017a7: PUSH1 0x20
000017a9: MSTORE
000017aa: PUSH1 0x40
000017ac: PUSH0
000017ad: KECCAK256
000017ae: SWAP1
000017af: JUMP
000017b0: JUMPDEST
000017b1: SLOAD
000017b2: PUSH4 0xffffffff
000017b7: AND
000017b8: SWAP1
000017b9: JUMP
000017ba: JUMPDEST
000017bb: PUSH2 0x17c4
000017be: DUP4
000017bf: DUP9
000017c0: PUSH2 0x2a53
000017c3: JUMP
000017c4: JUMPDEST
000017c5: SWAP1
000017c6: PUSH4 0xffffffff
000017cb: AND
000017cc: SWAP1
000017cd: MSTORE
000017ce: JUMP
000017cf: JUMPDEST
000017d0: ADD
000017d1: PUSH2 0x1777
000017d4: JUMP
000017d5: JUMPDEST
000017d6: CALLVALUE
000017d7: PUSH2 0x03f1
000017da: JUMPI
000017db: PUSH0
000017dc: PUSH1 0x03
000017de: NOT
000017df: CALLDATASIZE
000017e0: ADD
000017e1: SLT
000017e2: PUSH2 0x03f1
000017e5: JUMPI
000017e6: PUSH1 0x20
000017e8: PUSH0
000017e9: MSTORE
000017ea: PUSH0
000017eb: PUSH1 0x20
000017ed: MSTORE
000017ee: PUSH32 0x09616d6265725553444300000000000000000000000000000000000000000000
0000180f: PUSH1 0x3f
00001811: MSTORE
00001812: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
00001833: PUSH1 0x5f
00001835: MSTORE
00001836: PUSH1 0x80
00001838: PUSH0
00001839: RETURN
0000183a: JUMPDEST
0000183b: CALLVALUE
0000183c: PUSH2 0x03f1
0000183f: JUMPI
00001840: PUSH0
00001841: PUSH1 0x03
00001843: NOT
00001844: CALLDATASIZE
00001845: ADD
00001846: SLT
00001847: PUSH2 0x03f1
0000184a: JUMPI
0000184b: PUSH1 0x20
0000184d: PUSH1 0x40
0000184f: MLOAD
00001850: PUSH32 0x0000000000000000000000000000000000000000000000000000000000015180
00001871: DUP2
00001872: MSTORE
00001873: RETURN
00001874: JUMPDEST
00001875: CALLVALUE
00001876: PUSH2 0x03f1
00001879: JUMPI
0000187a: PUSH1 0x40
0000187c: PUSH1 0x03
0000187e: NOT
0000187f: CALLDATASIZE
00001880: ADD
00001881: SLT
00001882: PUSH2 0x03f1
00001885: JUMPI
00001886: PUSH1 0x04
00001888: CALLDATALOAD
00001889: PUSH2 0x1891
0000188c: DUP2
0000188d: PUSH2 0x03d3
00001890: JUMP
00001891: JUMPDEST
00001892: PUSH1 0x24
00001894: CALLDATALOAD
00001895: SWAP1
00001896: PUSH2 0x189d
00001899: PUSH2 0x2bf8
0000189c: JUMP
0000189d: JUMPDEST
0000189e: PUSH2 0x18a5
000018a1: PUSH2 0x2edb
000018a4: JUMP
000018a5: JUMPDEST
000018a6: SWAP1
000018a7: PUSH2 0x18ae
000018aa: PUSH2 0x2fe6
000018ad: JUMP
000018ae: JUMPDEST
000018af: SWAP3
000018b0: PUSH2 0x18ce
000018b3: PUSH14 0xffffffffffffffffffffffffffff
000018c2: PUSH2 0x0180
000018c5: DUP7
000018c6: ADD
000018c7: MLOAD
000018c8: AND
000018c9: DUP3
000018ca: PUSH2 0x51cf
000018cd: JUMP
000018ce: JUMPDEST
000018cf: SWAP2
000018d0: PUSH13 0xffffffffffffffffffffffffff
000018de: SWAP3
000018df: PUSH2 0x18ec
000018e2: DUP5
000018e3: DUP3
000018e4: AND
000018e5: DUP1
000018e6: SWAP3
000018e7: EQ
000018e8: PUSH2 0x51b6
000018eb: JUMP
000018ec: JUMPDEST
000018ed: DUP1
000018ee: ISZERO
000018ef: PUSH2 0x1a08
000018f2: JUMPI
000018f3: DUP6
000018f4: PUSH2 0x098c
000018f7: DUP3
000018f8: PUSH2 0x1996
000018fb: PUSH2 0x081e
000018fe: SWAP8
000018ff: PUSH2 0x1931
00001902: PUSH2 0x0823
00001905: SWAP12
00001906: PUSH2 0x1a02
00001909: SWAP8
0000190a: DUP10
0000190b: CALLER
0000190c: PUSH32 0xdd87c59d295b0b4c1acf1ac29358d435e4d85459d04000000000000000000000
0000192d: PUSH2 0x4f73
00001930: JUMP
00001931: JUMPDEST
00001932: PUSH2 0x193a
00001935: CALLER
00001936: PUSH2 0x3b42
00001939: JUMP
0000193a: JUMPDEST
0000193b: SWAP1
0000193c: DUP1
0000193d: PUSH2 0x1949
00001940: DUP6
00001941: DUP3
00001942: DUP6
00001943: MLOAD
00001944: AND
00001945: PUSH2 0x340b
00001948: JUMP
00001949: JUMPDEST
0000194a: AND
0000194b: DUP3
0000194c: MSTORE
0000194d: CALLER
0000194e: PUSH0
0000194f: SWAP1
00001950: DUP2
00001951: MSTORE
00001952: PUSH1 0x04
00001954: PUSH1 0x20
00001956: MSTORE
00001957: PUSH1 0x40
00001959: SWAP1
0000195a: KECCAK256
0000195b: JUMPDEST
0000195c: SWAP2
0000195d: MLOAD
0000195e: AND
0000195f: PUSH13 0xffffffffffffffffffffffffff
0000196d: AND
0000196e: PUSH32 0xffffffffffffffffffffffffffffffffffffff00000000000000000000000000
0000198f: DUP3
00001990: SLOAD
00001991: AND
00001992: OR
00001993: SWAP1
00001994: SSTORE
00001995: JUMP
00001996: JUMPDEST
00001997: PUSH2 0x19d5
0000199a: PUSH2 0x19c2
0000199d: PUSH2 0x19a5
000019a0: DUP8
000019a1: PUSH2 0x3b42
000019a4: JUMP
000019a5: JUMPDEST
000019a6: SWAP3
000019a7: PUSH2 0x19bd
000019aa: DUP5
000019ab: MLOAD
000019ac: PUSH13 0xffffffffffffffffffffffffff
000019ba: AND
000019bb: SWAP1
000019bc: JUMP
000019bd: JUMPDEST
000019be: PUSH2 0x3476
000019c1: JUMP
000019c2: JUMPDEST
000019c3: PUSH13 0xffffffffffffffffffffffffff
000019d1: AND
000019d2: DUP3
000019d3: MSTORE
000019d4: JUMP
000019d5: JUMPDEST
000019d6: PUSH2 0x19fd
000019d9: DUP6
000019da: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019ef: AND
000019f0: PUSH0
000019f1: MSTORE
000019f2: PUSH1 0x04
000019f4: PUSH1 0x20
000019f6: MSTORE
000019f7: PUSH1 0x40
000019f9: PUSH0
000019fa: KECCAK256
000019fb: SWAP1
000019fc: JUMP
000019fd: JUMPDEST
000019fe: PUSH2 0x342a
00001a01: JUMP
00001a02: JUMPDEST
00001a03: CALLER
00001a04: PUSH2 0x5011
00001a07: JUMP
00001a08: JUMPDEST
00001a09: PUSH4 0xddee9b30
00001a0e: PUSH0
00001a0f: MSTORE
00001a10: PUSH1 0x04
00001a12: PUSH1 0x1c
00001a14: REVERT
00001a15: JUMPDEST
00001a16: PUSH1 0x04
00001a18: CALLDATALOAD
00001a19: SWAP1
00001a1a: PUSH2 0xffff
00001a1d: DUP3
00001a1e: AND
00001a1f: DUP3
00001a20: SUB
00001a21: PUSH2 0x03f1
00001a24: JUMPI
00001a25: JUMP
00001a26: JUMPDEST
00001a27: PUSH1 0x24
00001a29: CALLDATALOAD
00001a2a: SWAP1
00001a2b: PUSH2 0xffff
00001a2e: DUP3
00001a2f: AND
00001a30: DUP3
00001a31: SUB
00001a32: PUSH2 0x03f1
00001a35: JUMPI
00001a36: JUMP
00001a37: JUMPDEST
00001a38: CALLVALUE
00001a39: PUSH2 0x03f1
00001a3c: JUMPI
00001a3d: PUSH1 0x20
00001a3f: PUSH1 0x03
00001a41: NOT
00001a42: CALLDATASIZE
00001a43: ADD
00001a44: SLT
00001a45: PUSH2 0x03f1
00001a48: JUMPI
00001a49: PUSH2 0x1a50
00001a4c: PUSH2 0x1a15
00001a4f: JUMP
00001a50: JUMPDEST
00001a51: PUSH2 0x1a58
00001a54: PUSH2 0x2bf8
00001a57: JUMP
00001a58: JUMPDEST
00001a59: PUSH2 0x1a60
00001a5c: PUSH2 0x2edb
00001a5f: JUMP
00001a60: JUMPDEST
00001a61: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a76: PUSH32 0x000000000000000000000000dd7dd3b5076cf89440d05585ff56d246386207be
00001a97: AND
00001a98: CALLER
00001a99: SUB
00001a9a: PUSH2 0x1b76
00001a9d: JUMPI
00001a9e: PUSH2 0xffff
00001aa1: DUP3
00001aa2: AND
00001aa3: PUSH2 0x03e8
00001aa6: DUP2
00001aa7: GT
00001aa8: PUSH2 0x1b71
00001aab: JUMPI
00001aac: PUSH2 0x1ab3
00001aaf: PUSH2 0x2fe6
00001ab2: JUMP
00001ab3: JUMPDEST
00001ab4: DUP1
00001ab5: MLOAD
00001ab6: PUSH2 0x1b6c
00001ab9: JUMPI
00001aba: DUP1
00001abb: PUSH2 0x081e
00001abe: SWAP3
00001abf: PUSH2 0x0e43
00001ac2: SWAP6
00001ac3: PUSH2 0x0120
00001ac6: DUP4
00001ac7: ADD
00001ac8: SWAP2
00001ac9: PUSH2 0x1ade
00001acc: PUSH2 0x1ad7
00001acf: DUP5
00001ad0: MLOAD
00001ad1: PUSH2 0xffff
00001ad4: AND
00001ad5: SWAP1
00001ad6: JUMP
00001ad7: JUMPDEST
00001ad8: PUSH2 0xffff
00001adb: AND
00001adc: SWAP1
00001add: JUMP
00001ade: JUMPDEST
00001adf: DUP2
00001ae0: SUB
00001ae1: PUSH2 0x1aee
00001ae4: JUMPI
00001ae5: JUMPDEST
00001ae6: POP
00001ae7: POP
00001ae8: POP
00001ae9: POP
00001aea: PUSH2 0x323f
00001aed: JUMP
00001aee: JUMPDEST
00001aef: DUP2
00001af0: PUSH2 0x1b60
00001af3: SWAP4
00001af4: PUSH2 0x1b42
00001af7: PUSH32 0x4b34705283cdb9398d0e50b216b8fb424c6d4def5db9bfadc661ee3adc6076ee
00001b18: SWAP7
00001b19: PUSH2 0x1b4b
00001b1c: SWAP5
00001b1d: PUSH32 0xdd87c59d295b0b4c1acf1ac29358d435e4d85459d04000000000000000000000
00001b3e: PUSH2 0x3efd
00001b41: JUMP
00001b42: JUMPDEST
00001b43: SWAP1
00001b44: PUSH2 0xffff
00001b47: AND
00001b48: SWAP1
00001b49: MSTORE
00001b4a: JUMP
00001b4b: JUMPDEST
00001b4c: PUSH1 0x40
00001b4e: MLOAD
00001b4f: PUSH2 0xffff
00001b52: SWAP1
00001b53: SWAP2
00001b54: AND
00001b55: DUP2
00001b56: MSTORE
00001b57: SWAP1
00001b58: DUP2
00001b59: SWAP1
00001b5a: PUSH1 0x20
00001b5c: DUP3
00001b5d: ADD
00001b5e: SWAP1
00001b5f: JUMP
00001b60: JUMPDEST
00001b61: SUB
00001b62: SWAP1
00001b63: LOG1
00001b64: DUP1
00001b65: PUSH0
00001b66: DUP1
00001b67: DUP1
00001b68: PUSH2 0x1ae5
00001b6b: JUMP
00001b6c: JUMPDEST
00001b6d: PUSH2 0x3ef0
00001b70: JUMP
00001b71: JUMPDEST
00001b72: PUSH2 0x3ee3
00001b75: JUMP
00001b76: JUMPDEST
00001b77: PUSH4 0x32cc7236
00001b7c: PUSH0
00001b7d: MSTORE
00001b7e: PUSH1 0x04
00001b80: PUSH1 0x1c
00001b82: REVERT
00001b83: JUMPDEST
00001b84: CALLVALUE
00001b85: PUSH2 0x03f1
00001b88: JUMPI
00001b89: PUSH0
00001b8a: PUSH1 0x03
00001b8c: NOT
00001b8d: CALLDATASIZE
00001b8e: ADD
00001b8f: SLT
00001b90: PUSH2 0x03f1
00001b93: JUMPI
00001b94: PUSH2 0x1b9b
00001b97: PUSH2 0x2c1f
00001b9a: JUMP
00001b9b: JUMPDEST
00001b9c: PUSH1 0x20
00001b9e: PUSH13 0xffffffffffffffffffffffffff
00001bac: PUSH1 0x80
00001bae: PUSH2 0x08c0
00001bb1: PUSH2 0x2c2b
00001bb4: JUMP
00001bb5: JUMPDEST
00001bb6: CALLVALUE
00001bb7: PUSH2 0x03f1
00001bba: JUMPI
00001bbb: PUSH1 0x20
00001bbd: PUSH1 0x03
00001bbf: NOT
00001bc0: CALLDATASIZE
00001bc1: ADD
00001bc2: SLT
00001bc3: PUSH2 0x03f1
00001bc6: JUMPI
00001bc7: PUSH1 0x20
00001bc9: PUSH2 0x1bd0
00001bcc: PUSH2 0x2edb
00001bcf: JUMP
00001bd0: JUMPDEST
00001bd1: PUSH2 0x0520
00001bd4: PUSH2 0x1330
00001bd7: PUSH1 0x04
00001bd9: CALLDATALOAD
00001bda: PUSH2 0x3f7b
00001bdd: JUMP
00001bde: JUMPDEST
00001bdf: CALLVALUE
00001be0: PUSH2 0x03f1
00001be3: JUMPI
00001be4: PUSH1 0x20
00001be6: PUSH1 0x03
00001be8: NOT
00001be9: CALLDATASIZE
00001bea: ADD
00001beb: SLT
00001bec: PUSH2 0x03f1
00001bef: JUMPI
00001bf0: PUSH1 0x04
00001bf2: CALLDATALOAD
00001bf3: PUSH2 0x1bfa
00001bf6: PUSH2 0x2edb
00001bf9: JUMP
00001bfa: JUMPDEST
00001bfb: SWAP1
00001bfc: PUSH2 0x1c04
00001bff: DUP2
00001c00: PUSH2 0x3f7b
00001c03: JUMP
00001c04: JUMPDEST
00001c05: SUB
00001c06: PUSH2 0x1c12
00001c09: JUMPI
00001c0a: PUSH2 0x04dd
00001c0d: SWAP1
00001c0e: PUSH2 0x4d13
00001c11: JUMP
00001c12: JUMPDEST
00001c13: PUSH4 0x8a164f63
00001c18: PUSH0
00001c19: MSTORE
00001c1a: PUSH1 0x04
00001c1c: PUSH1 0x1c
00001c1e: REVERT
00001c1f: JUMPDEST
00001c20: CALLVALUE
00001c21: PUSH2 0x03f1
00001c24: JUMPI
00001c25: PUSH0
00001c26: PUSH1 0x03
00001c28: NOT
00001c29: CALLDATASIZE
00001c2a: ADD
00001c2b: SLT
00001c2c: PUSH2 0x03f1
00001c2f: JUMPI
00001c30: PUSH1 0x20
00001c32: PUSH1 0xff
00001c34: PUSH0
00001c35: SLOAD
00001c36: AND
00001c37: PUSH1 0x40
00001c39: MLOAD
00001c3a: SWAP1
00001c3b: ISZERO
00001c3c: ISZERO
00001c3d: DUP2
00001c3e: MSTORE
00001c3f: RETURN
00001c40: JUMPDEST
00001c41: CALLVALUE
00001c42: PUSH2 0x03f1
00001c45: JUMPI
00001c46: PUSH0
00001c47: PUSH1 0x03
00001c49: NOT
00001c4a: CALLDATASIZE
00001c4b: ADD
00001c4c: SLT
00001c4d: PUSH2 0x03f1
00001c50: JUMPI
00001c51: PUSH1 0x20
00001c53: PUSH1 0x40
00001c55: MLOAD
00001c56: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c6b: PUSH32 0x000000000000000000000000dd7dd3b5076cf89440d05585ff56d246386207be
00001c8c: AND
00001c8d: DUP2
00001c8e: MSTORE
00001c8f: RETURN
00001c90: JUMPDEST
00001c91: CALLVALUE
00001c92: PUSH2 0x03f1
00001c95: JUMPI
00001c96: PUSH0
00001c97: PUSH1 0x03
00001c99: NOT
00001c9a: CALLDATASIZE
00001c9b: ADD
00001c9c: SLT
00001c9d: PUSH2 0x03f1
00001ca0: JUMPI
00001ca1: PUSH32 0x0000000000000000000000009025d3c84f24a9cf2a95bcdc4c91cbfec763b58f
00001cc2: DUP1
00001cc3: CALLER
00001cc4: XOR
00001cc5: PUSH2 0x04f9
00001cc8: JUMPI
00001cc9: PUSH2 0x1cd0
00001ccc: PUSH2 0x2bf8
00001ccf: JUMP
00001cd0: JUMPDEST
00001cd1: PUSH2 0x1cd8
00001cd4: PUSH2 0x2edb
00001cd7: JUMP
00001cd8: JUMPDEST
00001cd9: PUSH2 0x1ce0
00001cdc: PUSH2 0x2fe6
00001cdf: JUMP
00001ce0: JUMPDEST
00001ce1: SWAP2
00001ce2: PUSH2 0x1ceb
00001ce5: DUP4
00001ce6: MLOAD
00001ce7: ISZERO
00001ce8: ISZERO
00001ce9: SWAP1
00001cea: JUMP
00001ceb: JUMPDEST
00001cec: PUSH2 0x1fee
00001cef: JUMPI
00001cf0: PUSH2 0x1d95
00001cf3: SWAP1
00001cf4: PUSH2 0x1cfb
00001cf7: PUSH2 0x2603
00001cfa: JUMP
00001cfb: JUMPDEST
00001cfc: SWAP1
00001cfd: PUSH2 0x1d05
00001d00: DUP6
00001d01: PUSH2 0x2f95
00001d04: JUMP
00001d05: JUMPDEST
00001d06: SWAP1
00001d07: DUP2
00001d08: DUP4
00001d09: LT
00001d0a: ISZERO
00001d0b: PUSH2 0x1f9e
00001d0e: JUMPI
00001d0f: POP
00001d10: SWAP1
00001d11: PUSH2 0x1d1d
00001d14: DUP2
00001d15: PUSH2 0x1d2d
00001d18: SWAP4
00001d19: PUSH2 0x2811
00001d1c: JUMP
00001d1d: JUMPDEST
00001d1e: SWAP1
00001d1f: PUSH2 0x1d28
00001d22: DUP3
00001d23: DUP8
00001d24: PUSH2 0x412c
00001d27: JUMP
00001d28: JUMPDEST
00001d29: PUSH2 0x2a67
00001d2c: JUMP
00001d2d: JUMPDEST
00001d2e: PUSH2 0x1d57
00001d31: DUP5
00001d32: PUSH32 0xdd87c59d295b0b4c1acf1ac29358d435e4d85459d04000000000000000000000
00001d53: PUSH2 0x420d
00001d56: JUMP
00001d57: JUMPDEST
00001d58: PUSH0
00001d59: PUSH2 0x0140
00001d5c: DUP6
00001d5d: ADD
00001d5e: MSTORE
00001d5f: PUSH1 0x01
00001d61: DUP5
00001d62: MSTORE
00001d63: PUSH2 0x2710
00001d66: PUSH2 0x0160
00001d69: DUP6
00001d6a: ADD
00001d6b: MSTORE
00001d6c: PUSH0
00001d6d: PUSH2 0x0100
00001d70: DUP6
00001d71: ADD
00001d72: MSTORE
00001d73: PUSH2 0x117c
00001d76: PUSH2 0x0718
00001d79: PUSH2 0x115f
00001d7c: PUSH1 0x60
00001d7e: DUP8
00001d7f: ADD
00001d80: MLOAD
00001d81: PUSH16 0xffffffffffffffffffffffffffffffff
00001d92: AND
00001d93: SWAP1
00001d94: JUMP
00001d95: JUMPDEST
00001d96: PUSH1 0xc0
00001d98: DUP4
00001d99: ADD
00001d9a: DUP1
00001d9b: MLOAD
00001d9c: PUSH4 0xffffffff
00001da1: SWAP1
00001da2: DUP2
00001da3: AND
00001da4: SWAP2
00001da5: DUP3
00001da6: DUP1
00001da7: PUSH2 0x1e27
00001daa: JUMPI
00001dab: JUMPDEST
00001dac: POP
00001dad: POP
00001dae: POP
00001daf: POP
00001db0: PUSH2 0x1dba
00001db3: PUSH2 0x0718
00001db6: PUSH2 0x39bc
00001db9: JUMP
00001dba: JUMPDEST
00001dbb: SWAP1
00001dbc: PUSH0
00001dbd: SWAP1
00001dbe: JUMPDEST
00001dbf: DUP3
00001dc0: DUP3
00001dc1: LT
00001dc2: PUSH2 0x1e0f
00001dc5: JUMPI
00001dc6: POP
00001dc7: POP
00001dc8: POP
00001dc9: PUSH13 0xffffffffffffffffffffffffff
00001dd7: PUSH2 0x1df0
00001dda: PUSH1 0xa0
00001ddc: DUP5
00001ddd: ADD
00001dde: MLOAD
00001ddf: PUSH13 0xffffffffffffffffffffffffff
00001ded: AND
00001dee: SWAP1
00001def: JUMP
00001df0: JUMPDEST
00001df1: AND
00001df2: PUSH2 0x1e0a
00001df5: JUMPI
00001df6: PUSH2 0x1e01
00001df9: PUSH2 0x0e43
00001dfc: SWAP3
00001dfd: PUSH2 0x323f
00001e00: JUMP
00001e01: JUMPDEST
00001e02: PUSH2 0x081e
00001e05: TIMESTAMP
00001e06: PUSH2 0x450a
00001e09: JUMP
00001e0a: JUMPDEST
00001e0b: PUSH2 0x44fd
00001e0e: JUMP
00001e0f: JUMPDEST
00001e10: PUSH2 0x1e1f
00001e13: DUP2
00001e14: PUSH2 0x117c
00001e17: PUSH1 0x01
00001e19: SWAP4
00001e1a: DUP9
00001e1b: PUSH2 0x39de
00001e1e: JUMP
00001e1f: JUMPDEST
00001e20: SWAP2
00001e21: ADD
00001e22: SWAP1
00001e23: PUSH2 0x1dbe
00001e26: JUMP
00001e27: JUMPDEST
00001e28: PUSH2 0x1e42
00001e2b: PUSH2 0x07b9
00001e2e: DUP6
00001e2f: PUSH4 0xffffffff
00001e34: AND
00001e35: PUSH0
00001e36: MSTORE
00001e37: PUSH1 0x07
00001e39: PUSH1 0x20
00001e3b: MSTORE
00001e3c: PUSH1 0x40
00001e3e: PUSH0
00001e3f: KECCAK256
00001e40: SWAP1
00001e41: JUMP
00001e42: JUMPDEST
00001e43: PUSH1 0x20
00001e45: DUP2
00001e46: ADD
00001e47: DUP1
00001e48: MLOAD
00001e49: PUSH13 0xffffffffffffffffffffffffff
00001e57: AND
00001e58: DUP10
00001e59: PUSH2 0x1e84
00001e5c: PUSH2 0x1e72
00001e5f: DUP6
00001e60: MLOAD
00001e61: PUSH13 0xffffffffffffffffffffffffff
00001e6f: AND
00001e70: SWAP1
00001e71: JUMP
00001e72: JUMPDEST
00001e73: PUSH13 0xffffffffffffffffffffffffff
00001e81: AND
00001e82: SWAP1
00001e83: JUMP
00001e84: JUMPDEST
00001e85: PUSH13 0xffffffffffffffffffffffffff
00001e93: DUP1
00001e94: SWAP4
00001e95: AND
00001e96: LT
00001e97: PUSH2 0x1f42
00001e9a: JUMPI
00001e9b: JUMPDEST
00001e9c: POP
00001e9d: SWAP1
00001e9e: PUSH2 0x1f0d
00001ea1: SWAP3
00001ea2: SWAP2
00001ea3: PUSH0
00001ea4: DUP7
00001ea5: MSTORE
00001ea6: DUP1
00001ea7: PUSH16 0xffffffffffffffffffffffffffffffff
00001eb8: PUSH2 0x1f02
00001ebb: PUSH1 0x40
00001ebd: PUSH2 0x1eea
00001ec0: PUSH2 0x1ed6
00001ec3: DUP9
00001ec4: MLOAD
00001ec5: PUSH13 0xffffffffffffffffffffffffff
00001ed3: AND
00001ed4: SWAP1
00001ed5: JUMP
00001ed6: JUMPDEST
00001ed7: SWAP7
00001ed8: MLOAD
00001ed9: PUSH13 0xffffffffffffffffffffffffff
00001ee7: AND
00001ee8: SWAP1
00001ee9: JUMP
00001eea: JUMPDEST
00001eeb: SWAP7
00001eec: ADD
00001eed: MLOAD
00001eee: PUSH16 0xffffffffffffffffffffffffffffffff
00001eff: AND
00001f00: SWAP1
00001f01: JUMP
00001f02: JUMPDEST
00001f03: AND
00001f04: SWAP4
00001f05: AND
00001f06: SWAP2
00001f07: AND
00001f08: DUP5
00001f09: PUSH2 0x4477
00001f0c: JUMP
00001f0d: JUMPDEST
00001f0e: PUSH2 0x1f16
00001f11: DUP2
00001f12: PUSH2 0x44b1
00001f15: JUMP
00001f16: JUMPDEST
00001f17: TIMESTAMP
00001f18: EQ
00001f19: PUSH2 0x1f23
00001f1c: JUMPI
00001f1d: JUMPDEST
00001f1e: DUP1
00001f1f: PUSH2 0x1dab
00001f22: JUMP
00001f23: JUMPDEST
00001f24: PUSH2 0x17c4
00001f27: PUSH2 0x1f32
00001f2a: PUSH2 0x1f3a
00001f2d: SWAP5
00001f2e: PUSH2 0x2b53
00001f31: JUMP
00001f32: JUMPDEST
00001f33: SWAP3
00001f34: DUP4
00001f35: AND
00001f36: PUSH2 0x44d7
00001f39: JUMP
00001f3a: JUMPDEST
00001f3b: PUSH0
00001f3c: DUP1
00001f3d: DUP1
00001f3e: PUSH2 0x1f1d
00001f41: JUMP
00001f42: JUMPDEST
00001f43: DUP9
00001f44: PUSH16 0xffffffffffffffffffffffffffffffff
00001f55: PUSH2 0x1f69
00001f58: DUP7
00001f59: SWAP6
00001f5a: SWAP5
00001f5b: SWAP12
00001f5c: DUP12
00001f5d: PUSH2 0x1f72
00001f60: SWAP6
00001f61: PUSH2 0x1f0d
00001f64: SWAP10
00001f65: PUSH2 0x4264
00001f68: JUMP
00001f69: JUMPDEST
00001f6a: SWAP1
00001f6b: POP
00001f6c: AND
00001f6d: SWAP1
00001f6e: PUSH2 0x2811
00001f71: JUMP
00001f72: JUMPDEST
00001f73: SWAP8
00001f74: PUSH2 0x1f94
00001f77: DUP4
00001f78: PUSH2 0x1f8f
00001f7b: DUP11
00001f7c: PUSH4 0xffffffff
00001f81: AND
00001f82: PUSH0
00001f83: MSTORE
00001f84: PUSH1 0x07
00001f86: PUSH1 0x20
00001f88: MSTORE
00001f89: PUSH1 0x40
00001f8b: PUSH0
00001f8c: KECCAK256
00001f8d: SWAP1
00001f8e: JUMP
00001f8f: JUMPDEST
00001f90: PUSH2 0x2a74
00001f93: JUMP
00001f94: JUMPDEST
00001f95: SWAP1
00001f96: SWAP2
00001f97: SWAP3
00001f98: POP
00001f99: DUP10
00001f9a: PUSH2 0x1e9b
00001f9d: JUMP
00001f9e: JUMPDEST
00001f9f: SWAP1
00001fa0: DUP1
00001fa1: DUP4
00001fa2: GT
00001fa3: PUSH2 0x1fae
00001fa6: JUMPI
00001fa7: JUMPDEST
00001fa8: POP
00001fa9: POP
00001faa: PUSH2 0x1d2d
00001fad: JUMP
00001fae: JUMPDEST
00001faf: SWAP2
00001fb0: PUSH2 0x0781
00001fb3: PUSH2 0x1fbf
00001fb6: PUSH2 0x1fe7
00001fb9: SWAP5
00001fba: DUP4
00001fbb: PUSH2 0x2811
00001fbe: JUMP
00001fbf: JUMPDEST
00001fc0: DUP1
00001fc1: SWAP4
00001fc2: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00001fe3: PUSH2 0x40f2
00001fe6: JUMP
00001fe7: JUMPDEST
00001fe8: PUSH0
00001fe9: DUP1
00001fea: PUSH2 0x1fa7
00001fed: JUMP
00001fee: JUMPDEST
00001fef: PUSH2 0x40e5
00001ff2: JUMP
00001ff3: JUMPDEST
00001ff4: CALLVALUE
00001ff5: PUSH2 0x03f1
00001ff8: JUMPI
00001ff9: PUSH1 0x20
00001ffb: PUSH1 0x03
00001ffd: NOT
00001ffe: CALLDATASIZE
00001fff: ADD
00002000: SLT
00002001: PUSH2 0x03f1
00002004: JUMPI
00002005: PUSH1 0x04
00002007: CALLDATALOAD
00002008: PUSH32 0x0000000000000000000000009025d3c84f24a9cf2a95bcdc4c91cbfec763b58f
00002029: DUP1
0000202a: CALLER
0000202b: XOR
0000202c: PUSH2 0x04f9
0000202f: JUMPI
00002030: PUSH2 0x2037
00002033: PUSH2 0x2bf8
00002036: JUMP
00002037: JUMPDEST
00002038: PUSH2 0x203f
0000203b: PUSH2 0x2edb
0000203e: JUMP
0000203f: JUMPDEST
00002040: SWAP1
00002041: PUSH4 0x95c09839
00002046: PUSH0
00002047: MSTORE
00002048: PUSH1 0x20
0000204a: MSTORE
0000204b: PUSH1 0x20
0000204d: PUSH0
0000204e: PUSH1 0x24
00002050: PUSH1 0x1c
00002052: PUSH32 0x000000000000000000000000437e0551892c2c9b06d3ffd248fe60572e08cd1a
00002073: GAS
00002074: STATICCALL
00002075: PUSH1 0x20
00002077: RETURNDATASIZE
00002078: EQ
00002079: AND
0000207a: ISZERO
0000207b: PUSH2 0x0ebc
0000207e: JUMPI
0000207f: PUSH0
00002080: MLOAD
00002081: PUSH2 0x2119
00002084: JUMPI
00002085: PUSH2 0x208c
00002088: PUSH2 0x2fe6
0000208b: JUMP
0000208c: JUMPDEST
0000208d: DUP1
0000208e: MLOAD
0000208f: PUSH2 0x2114
00002092: JUMPI
00002093: PUSH2 0x20a3
00002096: PUSH2 0x209d
00002099: PUSH2 0x2603
0000209c: JUMP
0000209d: JUMPDEST
0000209e: DUP3
0000209f: PUSH2 0x3eda
000020a2: JUMP
000020a3: JUMPDEST
000020a4: DUP4
000020a5: GT
000020a6: PUSH2 0x210f
000020a9: JUMPI
000020aa: DUP3
000020ab: PUSH2 0x210a
000020ae: DUP3
000020af: PUSH2 0x20df
000020b2: PUSH2 0x081e
000020b5: SWAP5
000020b6: PUSH2 0x0e43
000020b9: SWAP8
000020ba: PUSH32 0xdd87c59d295b0b4c1acf1ac29358d435e4d85459d04000000000000000000000
000020db: PUSH2 0x455a
000020de: JUMP
000020df: JUMPDEST
000020e0: PUSH2 0x098c
000020e3: DUP4
000020e4: CALLER
000020e5: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00002106: PUSH2 0x40f2
00002109: JUMP
0000210a: JUMPDEST
0000210b: PUSH2 0x45d8
0000210e: JUMP
0000210f: JUMPDEST
00002110: PUSH2 0x454d
00002113: JUMP
00002114: JUMPDEST
00002115: PUSH2 0x4540
00002118: JUMP
00002119: JUMPDEST
0000211a: PUSH2 0x4533
0000211d: JUMP
0000211e: JUMPDEST
0000211f: CALLVALUE
00002120: PUSH2 0x03f1
00002123: JUMPI
00002124: PUSH0
00002125: PUSH1 0x03
00002127: NOT
00002128: CALLDATASIZE
00002129: ADD
0000212a: SLT
0000212b: PUSH2 0x03f1
0000212e: JUMPI
0000212f: PUSH2 0x2136
00002132: PUSH2 0x2bf8
00002135: JUMP
00002136: JUMPDEST
00002137: PUSH2 0x213e
0000213a: PUSH2 0x2edb
0000213d: JUMP
0000213e: JUMPDEST
0000213f: PUSH2 0x2146
00002142: PUSH2 0x2fe6
00002145: JUMP
00002146: JUMPDEST
00002147: SWAP1
00002148: PUSH1 0x40
0000214a: DUP3
0000214b: ADD
0000214c: SWAP2
0000214d: PUSH16 0xffffffffffffffffffffffffffffffff
0000215e: SWAP1
0000215f: DUP2
00002160: DUP5
00002161: MLOAD
00002162: AND
00002163: ISZERO
00002164: PUSH2 0x21fa
00002167: JUMPI
00002168: PUSH2 0x2178
0000216b: PUSH2 0x2172
0000216e: PUSH2 0x2603
00002171: JUMP
00002172: JUMPDEST
00002173: DUP3
00002174: PUSH2 0x33d4
00002177: JUMP
00002178: JUMPDEST
00002179: DUP3
0000217a: DUP2
0000217b: AND
0000217c: SWAP2
0000217d: DUP3
0000217e: ISZERO
0000217f: PUSH2 0x21ed
00002182: JUMPI
00002183: DUP6
00002184: DUP5
00002185: PUSH2 0x219a
00002188: PUSH2 0x21e8
0000218b: SWAP5
0000218c: PUSH2 0x081e
0000218f: SWAP8
00002190: PUSH2 0x0e43
00002193: SWAP11
00002194: MLOAD
00002195: AND
00002196: PUSH2 0x2b68
00002199: JUMP
0000219a: JUMPDEST
0000219b: AND
0000219c: SWAP1
0000219d: MSTORE
0000219e: PUSH2 0x098c
000021a1: DUP4
000021a2: PUSH32 0x00000000000000000000000035a5d1bd68f3139971027b92c1ee9384a0708554
000021c3: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
000021e4: PUSH2 0x40f2
000021e7: JUMP
000021e8: JUMPDEST
000021e9: PUSH2 0x4601
000021ec: JUMP
000021ed: JUMPDEST
000021ee: PUSH4 0xf784cfa4
000021f3: PUSH0
000021f4: MSTORE
000021f5: PUSH1 0x04
000021f7: PUSH1 0x1c
000021f9: REVERT
000021fa: JUMPDEST
000021fb: PUSH4 0x45c835cb
00002200: PUSH0
00002201: MSTORE
00002202: PUSH1 0x04
00002204: PUSH1 0x1c
00002206: REVERT
00002207: JUMPDEST
00002208: CALLVALUE
00002209: PUSH2 0x03f1
0000220c: JUMPI
0000220d: PUSH0
0000220e: PUSH1 0x03
00002210: NOT
00002211: CALLDATASIZE
00002212: ADD
00002213: SLT
00002214: PUSH2 0x03f1
00002217: JUMPI
00002218: PUSH1 0x20
0000221a: PUSH1 0x40
0000221c: MLOAD
0000221d: PUSH32 0xdd87c59d295b0b4c1acf1ac29358d435e4d85459d04000000000000000000000
0000223e: DUP2
0000223f: MSTORE
00002240: RETURN
00002241: JUMPDEST
00002242: CALLVALUE
00002243: PUSH2 0x03f1
00002246: JUMPI
00002247: PUSH0
00002248: PUSH1 0x03
0000224a: NOT
0000224b: CALLDATASIZE
0000224c: ADD
0000224d: SLT
0000224e: PUSH2 0x03f1
00002251: JUMPI
00002252: PUSH1 0x20
00002254: PUSH1 0x03
00002256: SLOAD
00002257: PUSH2 0xffff
0000225a: PUSH1 0x40
0000225c: MLOAD
0000225d: SWAP2
0000225e: PUSH1 0x40
00002260: SHR
00002261: AND
00002262: DUP2
00002263: MSTORE
00002264: RETURN
00002265: JUMPDEST
00002266: CALLVALUE
00002267: PUSH2 0x03f1
0000226a: JUMPI
0000226b: PUSH1 0x20
0000226d: PUSH1 0x03
0000226f: NOT
00002270: CALLDATASIZE
00002271: ADD
00002272: SLT
00002273: PUSH2 0x03f1
00002276: JUMPI
00002277: PUSH1 0x60
00002279: PUSH2 0x229c
0000227c: PUSH1 0x04
0000227e: CALLDATALOAD
0000227f: PUSH2 0x2287
00002282: DUP2
00002283: PUSH2 0x0528
00002286: JUMP
00002287: JUMPDEST
00002288: PUSH2 0x228f
0000228b: PUSH2 0x274b
0000228e: JUMP
0000228f: JUMPDEST
00002290: PUSH2 0x2297
00002293: PUSH2 0x2c1f
00002296: JUMP
00002297: JUMPDEST
00002298: PUSH2 0x2b8a
0000229b: JUMP
0000229c: JUMPDEST
0000229d: PUSH16 0xffffffffffffffffffffffffffffffff
000022ae: PUSH1 0x40
000022b0: DUP1
000022b1: MLOAD
000022b2: SWAP3
000022b3: PUSH13 0xffffffffffffffffffffffffff
000022c1: DUP1
000022c2: DUP3
000022c3: MLOAD
000022c4: AND
000022c5: DUP6
000022c6: MSTORE
000022c7: PUSH1 0x20
000022c9: DUP3
000022ca: ADD
000022cb: MLOAD
000022cc: AND
000022cd: PUSH1 0x20
000022cf: DUP6
000022d0: ADD
000022d1: MSTORE
000022d2: ADD
000022d3: MLOAD
000022d4: AND
000022d5: PUSH1 0x40
000022d7: DUP3
000022d8: ADD
000022d9: MSTORE
000022da: RETURN
000022db: JUMPDEST
000022dc: CALLVALUE
000022dd: PUSH2 0x03f1
000022e0: JUMPI
000022e1: PUSH1 0x20
000022e3: PUSH1 0x03
000022e5: NOT
000022e6: CALLDATASIZE
000022e7: ADD
000022e8: SLT
000022e9: PUSH2 0x03f1
000022ec: JUMPI
000022ed: PUSH1 0x04
000022ef: CALLDATALOAD
000022f0: PUSH2 0x22f8
000022f3: DUP2
000022f4: PUSH2 0x03d3
000022f7: JUMP
000022f8: JUMPDEST
000022f9: PUSH2 0x2300
000022fc: PUSH2 0x2bf8
000022ff: JUMP
00002300: JUMPDEST
00002301: PUSH2 0x2308
00002304: PUSH2 0x2edb
00002307: JUMP
00002308: JUMPDEST
00002309: PUSH2 0x2311
0000230c: DUP3
0000230d: PUSH2 0x462a
00002310: JUMP
00002311: JUMPDEST
00002312: ISZERO
00002313: PUSH2 0x23cf
00002316: JUMPI
00002317: PUSH2 0x231e
0000231a: PUSH2 0x2fe6
0000231d: JUMP
0000231e: JUMPDEST
0000231f: SWAP2
00002320: PUSH32 0xdd87c59d295b0b4c1acf1ac29358d435e4d85459d04000000000000000000000
00002341: PUSH1 0x01
00002343: DUP2
00002344: PUSH1 0x58
00002346: SHR
00002347: AND
00002348: PUSH2 0x235e
0000234b: JUMPI
0000234c: JUMPDEST
0000234d: POP
0000234e: DUP3
0000234f: PUSH2 0x098c
00002352: PUSH2 0x081e
00002355: SWAP3
00002356: PUSH2 0x0e43
00002359: SWAP6
0000235a: PUSH2 0x4699
0000235d: JUMP
0000235e: JUMPDEST
0000235f: PUSH0
00002360: DUP1
00002361: SWAP2
00002362: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc
00002383: CALLDATASIZE
00002384: ADD
00002385: SWAP1
00002386: DUP3
00002387: PUSH1 0x1c
00002389: PUSH1 0x40
0000238b: MLOAD
0000238c: SWAP4
0000238d: PUSH4 0x8b3ce9b3
00002392: DUP6
00002393: MSTORE
00002394: DUP8
00002395: PUSH1 0x20
00002397: DUP7
00002398: ADD
00002399: MSTORE
0000239a: PUSH2 0x01c0
0000239d: DUP11
0000239e: PUSH1 0x40
000023a0: DUP8
000023a1: ADD
000023a2: MCOPY
000023a3: PUSH2 0x0200
000023a6: SWAP1
000023a7: DUP2
000023a8: DUP1
000023a9: DUP8
000023aa: ADD
000023ab: MSTORE
000023ac: DUP1
000023ad: PUSH2 0x0220
000023b0: DUP8
000023b1: ADD
000023b2: MSTORE
000023b3: PUSH1 0x24
000023b5: PUSH2 0x0240
000023b8: DUP8
000023b9: ADD
000023ba: CALLDATACOPY
000023bb: CALLDATASIZE
000023bc: ADD
000023bd: SWAP4
000023be: ADD
000023bf: SWAP2
000023c0: PUSH1 0x60
000023c2: SHR
000023c3: GAS
000023c4: CALL
000023c5: ISZERO
000023c6: PUSH2 0x0ebc
000023c9: JUMPI
000023ca: PUSH0
000023cb: PUSH2 0x234c
000023ce: JUMP
000023cf: JUMPDEST
000023d0: PUSH4 0xa97ab167
000023d5: PUSH0
000023d6: MSTORE
000023d7: PUSH1 0x04
000023d9: PUSH1 0x1c
000023db: REVERT
000023dc: JUMPDEST
000023dd: CALLVALUE
000023de: PUSH2 0x03f1
000023e1: JUMPI
000023e2: PUSH1 0x40
000023e4: PUSH1 0x03
000023e6: NOT
000023e7: CALLDATASIZE
000023e8: ADD
000023e9: SLT
000023ea: PUSH2 0x03f1
000023ed: JUMPI
000023ee: PUSH1 0x20
000023f0: PUSH2 0x244e
000023f3: PUSH1 0x04
000023f5: CALLDATALOAD
000023f6: PUSH2 0x23fe
000023f9: DUP2
000023fa: PUSH2 0x03d3
000023fd: JUMP
000023fe: JUMPDEST
000023ff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002414: PUSH1 0x24
00002416: CALLDATALOAD
00002417: SWAP2
00002418: PUSH2 0x2420
0000241b: DUP4
0000241c: PUSH2 0x03d3
0000241f: JUMP
00002420: JUMPDEST
00002421: AND
00002422: PUSH0
00002423: MSTORE
00002424: PUSH1 0x09
00002426: DUP4
00002427: MSTORE
00002428: PUSH1 0x40
0000242a: PUSH0
0000242b: KECCAK256
0000242c: SWAP1
0000242d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002442: AND
00002443: PUSH0
00002444: MSTORE
00002445: PUSH1 0x20
00002447: MSTORE
00002448: PUSH1 0x40
0000244a: PUSH0
0000244b: KECCAK256
0000244c: SWAP1
0000244d: JUMP
0000244e: JUMPDEST
0000244f: SLOAD
00002450: PUSH1 0x40
00002452: MLOAD
00002453: SWAP1
00002454: DUP2
00002455: MSTORE
00002456: RETURN
00002457: JUMPDEST
00002458: CALLVALUE
00002459: PUSH2 0x03f1
0000245c: JUMPI
0000245d: PUSH1 0x40
0000245f: PUSH1 0x03
00002461: NOT
00002462: CALLDATASIZE
00002463: ADD
00002464: SLT
00002465: PUSH2 0x03f1
00002468: JUMPI
00002469: PUSH2 0x2470
0000246c: PUSH2 0x1a15
0000246f: JUMP
00002470: JUMPDEST
00002471: PUSH2 0x2478
00002474: PUSH2 0x1a26
00002477: JUMP
00002478: JUMPDEST
00002479: SWAP1
0000247a: PUSH32 0x0000000000000000000000009025d3c84f24a9cf2a95bcdc4c91cbfec763b58f
0000249b: CALLER
0000249c: XOR
0000249d: PUSH2 0x04f9
000024a0: JUMPI
000024a1: PUSH2 0x24a8
000024a4: PUSH2 0x2bf8
000024a7: JUMP
000024a8: JUMPDEST
000024a9: PUSH2 0x24b0
000024ac: PUSH2 0x2edb
000024af: JUMP
000024b0: JUMPDEST
000024b1: SWAP1
000024b2: PUSH2 0x24b9
000024b5: PUSH2 0x2fe6
000024b8: JUMP
000024b9: JUMPDEST
000024ba: DUP1
000024bb: MLOAD
000024bc: PUSH2 0x25ae
000024bf: JUMPI
000024c0: PUSH2 0x24ff
000024c3: DUP2
000024c4: PUSH2 0x0160
000024c7: DUP2
000024c8: ADD
000024c9: SWAP6
000024ca: PUSH2 0x24d8
000024cd: PUSH2 0x1ad7
000024d0: DUP9
000024d1: MLOAD
000024d2: PUSH2 0xffff
000024d5: AND
000024d6: SWAP1
000024d7: JUMP
000024d8: JUMPDEST
000024d9: SWAP5
000024da: PUSH32 0xdd87c59d295b0b4c1acf1ac29358d435e4d85459d04000000000000000000000
000024fb: PUSH2 0x4760
000024fe: JUMP
000024ff: JUMPDEST
00002500: PUSH2 0xffff
00002503: SWAP6
00002504: SWAP2
00002505: DUP7
00002506: DUP2
00002507: AND
00002508: SWAP5
00002509: PUSH2 0x2710
0000250c: SWAP8
0000250d: DUP9
0000250e: DUP8
0000250f: GT
00002510: PUSH2 0x25a9
00002513: JUMPI
00002514: DUP4
00002515: AND
00002516: SWAP8
00002517: DUP9
00002518: GT
00002519: PUSH2 0x25a4
0000251c: JUMPI
0000251d: DUP8
0000251e: GT
0000251f: SWAP3
00002520: DUP4
00002521: ISZERO
00002522: PUSH2 0x2588
00002525: JUMPI
00002526: JUMPDEST
00002527: PUSH2 0x2543
0000252a: SWAP3
0000252b: PUSH2 0x2537
0000252e: SWAP2
0000252f: SWAP1
00002530: PUSH2 0xffff
00002533: AND
00002534: SWAP1
00002535: MSTORE
00002536: JUMP
00002537: JUMPDEST
00002538: PUSH2 0xffff
0000253b: AND
0000253c: PUSH2 0x0140
0000253f: DUP5
00002540: ADD
00002541: MSTORE
00002542: JUMP
00002543: JUMPDEST
00002544: PUSH2 0x2566
00002547: JUMPI
00002548: JUMPDEST
00002549: SWAP3
0000254a: PUSH2 0x2561
0000254d: PUSH2 0x081e
00002550: SWAP3
00002551: PUSH2 0x255c
00002554: PUSH2 0x0e43
00002557: SWAP7
00002558: PUSH2 0x323f
0000255b: JUMP
0000255c: JUMPDEST
0000255d: PUSH2 0x4831
00002560: JUMP
00002561: JUMPDEST
00002562: PUSH2 0x485a
00002565: JUMP
00002566: JUMPDEST
00002567: SWAP3
00002568: PUSH2 0x2570
0000256b: DUP5
0000256c: PUSH2 0x3e2d
0000256f: JUMP
00002570: JUMPDEST
00002571: PUSH2 0x2578
00002574: PUSH2 0x2603
00002577: JUMP
00002578: JUMPDEST
00002579: LT
0000257a: PUSH2 0x2583
0000257d: JUMPI
0000257e: SWAP3
0000257f: PUSH2 0x2548
00002582: JUMP
00002583: JUMPDEST
00002584: PUSH2 0x4824
00002587: JUMP
00002588: JUMPDEST
00002589: PUSH2 0x2591
0000258c: DUP6
0000258d: PUSH2 0x3e2d
00002590: JUMP
00002591: JUMPDEST
00002592: PUSH2 0x2599
00002595: PUSH2 0x2603
00002598: JUMP
00002599: JUMPDEST
0000259a: LT
0000259b: ISZERO
0000259c: PUSH2 0x2526
0000259f: JUMPI
000025a0: PUSH2 0x4817
000025a3: JUMP
000025a4: JUMPDEST
000025a5: PUSH2 0x480a
000025a8: JUMP
000025a9: JUMPDEST
000025aa: PUSH2 0x47fd
000025ad: JUMP
000025ae: JUMPDEST
000025af: PUSH2 0x4753
000025b2: JUMP
000025b3: JUMPDEST
000025b4: CALLVALUE
000025b5: PUSH2 0x03f1
000025b8: JUMPI
000025b9: PUSH0
000025ba: PUSH1 0x03
000025bc: NOT
000025bd: CALLDATASIZE
000025be: ADD
000025bf: SLT
000025c0: PUSH2 0x03f1
000025c3: JUMPI
000025c4: PUSH1 0x20
000025c6: PUSH1 0x40
000025c8: MLOAD
000025c9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000025de: PUSH32 0x000000000000000000000000437e0551892c2c9b06d3ffd248fe60572e08cd1a
000025ff: AND
00002600: DUP2
00002601: MSTORE
00002602: RETURN
00002603: JUMPDEST
00002604: PUSH4 0x70a08231
00002609: PUSH0
0000260a: MSTORE
0000260b: ADDRESS
0000260c: PUSH1 0x20
0000260e: MSTORE
0000260f: PUSH1 0x20
00002611: PUSH0
00002612: PUSH1 0x24
00002614: PUSH1 0x1c
00002616: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00002637: GAS
00002638: STATICCALL
00002639: PUSH1 0x1f
0000263b: RETURNDATASIZE
0000263c: GT
0000263d: AND
0000263e: ISZERO
0000263f: PUSH2 0x2647
00002642: JUMPI
00002643: PUSH0
00002644: MLOAD
00002645: SWAP1
00002646: JUMP
00002647: JUMPDEST
00002648: PUSH4 0x4963f6d5
0000264d: PUSH0
0000264e: MSTORE
0000264f: PUSH1 0x04
00002651: PUSH1 0x1c
00002653: REVERT
00002654: JUMPDEST
00002655: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00002676: PUSH0
00002677: MSTORE
00002678: PUSH1 0x41
0000267a: PUSH1 0x04
0000267c: MSTORE
0000267d: PUSH1 0x24
0000267f: PUSH0
00002680: REVERT
00002681: JUMPDEST
00002682: PUSH1 0x40
00002684: MLOAD
00002685: SWAP1
00002686: PUSH1 0x40
00002688: DUP3
00002689: ADD
0000268a: DUP3
0000268b: DUP2
0000268c: LT
0000268d: PUSH8 0xffffffffffffffff
00002696: DUP3
00002697: GT
00002698: OR
00002699: PUSH2 0x26a1
0000269c: JUMPI
0000269d: PUSH1 0x40
0000269f: MSTORE
000026a0: JUMP
000026a1: JUMPDEST
000026a2: PUSH2 0x2654
000026a5: JUMP
000026a6: JUMPDEST
000026a7: PUSH1 0x40
000026a9: MLOAD
000026aa: SWAP1
000026ab: PUSH1 0x60
000026ad: DUP3
000026ae: ADD
000026af: DUP3
000026b0: DUP2
000026b1: LT
000026b2: PUSH8 0xffffffffffffffff
000026bb: DUP3
000026bc: GT
000026bd: OR
000026be: PUSH2 0x26a1
000026c1: JUMPI
000026c2: PUSH1 0x40
000026c4: MSTORE
000026c5: JUMP
000026c6: JUMPDEST
000026c7: PUSH1 0x40
000026c9: MLOAD
000026ca: SWAP1
000026cb: PUSH2 0x01c0
000026ce: DUP3
000026cf: ADD
000026d0: DUP3
000026d1: DUP2
000026d2: LT
000026d3: PUSH8 0xffffffffffffffff
000026dc: DUP3
000026dd: GT
000026de: OR
000026df: PUSH2 0x26a1
000026e2: JUMPI
000026e3: PUSH1 0x40
000026e5: MSTORE
000026e6: JUMP
000026e7: JUMPDEST
000026e8: PUSH1 0x40
000026ea: MLOAD
000026eb: SWAP1
000026ec: PUSH1 0x20
000026ee: DUP3
000026ef: ADD
000026f0: DUP3
000026f1: DUP2
000026f2: LT
000026f3: PUSH8 0xffffffffffffffff
000026fc: DUP3
000026fd: GT
000026fe: OR
000026ff: PUSH2 0x26a1
00002702: JUMPI
00002703: PUSH1 0x40
00002705: MSTORE
00002706: JUMP
00002707: JUMPDEST
00002708: SWAP1
00002709: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
0000272a: PUSH1 0x1f
0000272c: PUSH1 0x40
0000272e: MLOAD
0000272f: SWAP4
00002730: ADD
00002731: AND
00002732: DUP3
00002733: ADD
00002734: DUP3
00002735: DUP2
00002736: LT
00002737: PUSH8 0xffffffffffffffff
00002740: DUP3
00002741: GT
00002742: OR
00002743: PUSH2 0x26a1
00002746: JUMPI
00002747: PUSH1 0x40
00002749: MSTORE
0000274a: JUMP
0000274b: JUMPDEST
0000274c: PUSH2 0x2753
0000274f: PUSH2 0x26a6
00002752: JUMP
00002753: JUMPDEST
00002754: SWAP1
00002755: PUSH0
00002756: DUP3
00002757: MSTORE
00002758: PUSH0
00002759: PUSH1 0x20
0000275b: DUP4
0000275c: ADD
0000275d: MSTORE
0000275e: PUSH0
0000275f: PUSH1 0x40
00002761: DUP4
00002762: ADD
00002763: MSTORE
00002764: JUMP
00002765: JUMPDEST
00002766: SWAP1
00002767: PUSH16 0xffffffffffffffffffffffffffffffff
00002778: PUSH1 0x01
0000277a: PUSH2 0x2781
0000277d: PUSH2 0x26a6
00002780: JUMP
00002781: JUMPDEST
00002782: SWAP4
00002783: DUP1
00002784: SLOAD
00002785: PUSH13 0xffffffffffffffffffffffffff
00002793: SWAP1
00002794: DUP2
00002795: DUP2
00002796: AND
00002797: DUP8
00002798: MSTORE
00002799: PUSH1 0x68
0000279b: SHR
0000279c: AND
0000279d: PUSH1 0x20
0000279f: DUP7
000027a0: ADD
000027a1: MSTORE
000027a2: ADD
000027a3: SLOAD
000027a4: AND
000027a5: PUSH1 0x40
000027a7: DUP4
000027a8: ADD
000027a9: MSTORE
000027aa: JUMP
000027ab: JUMPDEST
000027ac: SWAP1
000027ad: PUSH16 0xffffffffffffffffffffffffffffffff
000027be: PUSH2 0x27c5
000027c1: PUSH2 0x2681
000027c4: JUMP
000027c5: JUMPDEST
000027c6: SWAP3
000027c7: SLOAD
000027c8: PUSH13 0xffffffffffffffffffffffffff
000027d6: DUP2
000027d7: AND
000027d8: DUP5
000027d9: MSTORE
000027da: PUSH1 0x68
000027dc: SHR
000027dd: AND
000027de: PUSH1 0x20
000027e0: DUP4
000027e1: ADD
000027e2: MSTORE
000027e3: JUMP
000027e4: JUMPDEST
000027e5: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00002806: PUSH0
00002807: MSTORE
00002808: PUSH1 0x11
0000280a: PUSH1 0x04
0000280c: MSTORE
0000280d: PUSH1 0x24
0000280f: PUSH0
00002810: REVERT
00002811: JUMPDEST
00002812: SWAP2
00002813: SWAP1
00002814: DUP3
00002815: SUB
00002816: SWAP2
00002817: DUP3
00002818: GT
00002819: PUSH2 0x0b38
0000281c: JUMPI
0000281d: JUMP
0000281e: JUMPDEST
0000281f: PUSH2 0x2826
00002822: PUSH2 0x26c6
00002825: JUMP
00002826: JUMPDEST
00002827: SWAP1
00002828: PUSH0
00002829: DUP3
0000282a: MSTORE
0000282b: PUSH0
0000282c: PUSH1 0x20
0000282e: DUP4
0000282f: ADD
00002830: MSTORE
00002831: PUSH0
00002832: PUSH1 0x40
00002834: DUP4
00002835: ADD
00002836: MSTORE
00002837: PUSH0
00002838: PUSH1 0x60
0000283a: DUP4
0000283b: ADD
0000283c: MSTORE
0000283d: PUSH0
0000283e: PUSH1 0x80
00002840: DUP4
00002841: ADD
00002842: MSTORE
00002843: PUSH0
00002844: PUSH1 0xa0
00002846: DUP4
00002847: ADD
00002848: MSTORE
00002849: PUSH0
0000284a: PUSH1 0xc0
0000284c: DUP4
0000284d: ADD
0000284e: MSTORE
0000284f: PUSH0
00002850: PUSH1 0xe0
00002852: DUP4
00002853: ADD
00002854: MSTORE
00002855: PUSH0
00002856: PUSH2 0x0100
00002859: DUP4
0000285a: ADD
0000285b: MSTORE
0000285c: PUSH0
0000285d: PUSH2 0x0120
00002860: DUP4
00002861: ADD
00002862: MSTORE
00002863: PUSH0
00002864: PUSH2 0x0140
00002867: DUP4
00002868: ADD
00002869: MSTORE
0000286a: PUSH0
0000286b: PUSH2 0x0160
0000286e: DUP4
0000286f: ADD
00002870: MSTORE
00002871: PUSH0
00002872: PUSH2 0x0180
00002875: DUP4
00002876: ADD
00002877: MSTORE
00002878: PUSH0
00002879: PUSH2 0x01a0
0000287c: DUP4
0000287d: ADD
0000287e: MSTORE
0000287f: JUMP
00002880: JUMPDEST
00002881: PUSH2 0x2888
00002884: PUSH2 0x26c6
00002887: JUMP
00002888: JUMPDEST
00002889: SWAP1
0000288a: PUSH2 0x28ce
0000288d: PUSH0
0000288e: SLOAD
0000288f: PUSH2 0x289d
00002892: PUSH1 0xff
00002894: DUP3
00002895: AND
00002896: DUP6
00002897: SWAP1
00002898: ISZERO
00002899: ISZERO
0000289a: SWAP1
0000289b: MSTORE
0000289c: JUMP
0000289d: JUMPDEST
0000289e: PUSH1 0x08
000028a0: SHR
000028a1: PUSH16 0xffffffffffffffffffffffffffffffff
000028b2: SWAP1
000028b3: DUP2
000028b4: AND
000028b5: PUSH1 0x20
000028b7: DUP6
000028b8: ADD
000028b9: MSTORE
000028ba: PUSH1 0x01
000028bc: SLOAD
000028bd: SWAP1
000028be: DUP2
000028bf: AND
000028c0: PUSH1 0x40
000028c2: DUP6
000028c3: ADD
000028c4: MSTORE
000028c5: PUSH1 0x80
000028c7: SHR
000028c8: PUSH1 0x60
000028ca: DUP5
000028cb: ADD
000028cc: MSTORE
000028cd: JUMP
000028ce: JUMPDEST
000028cf: PUSH1 0x02
000028d1: SLOAD
000028d2: PUSH13 0xffffffffffffffffffffffffff
000028e0: DUP1
000028e1: DUP3
000028e2: AND
000028e3: PUSH1 0x80
000028e5: DUP6
000028e6: ADD
000028e7: MSTORE
000028e8: PUSH1 0x68
000028ea: DUP3
000028eb: SWAP1
000028ec: SHR
000028ed: AND
000028ee: PUSH1 0xa0
000028f0: DUP5
000028f1: ADD
000028f2: MSTORE
000028f3: PUSH4 0xffffffff
000028f8: PUSH1 0xd0
000028fa: DUP3
000028fb: SWAP1
000028fc: SHR
000028fd: DUP2
000028fe: AND
000028ff: PUSH1 0xc0
00002901: DUP6
00002902: ADD
00002903: MSTORE
00002904: PUSH2 0x2985
00002907: SWAP2
00002908: PUSH2 0x291b
0000290b: SWAP1
0000290c: PUSH1 0xff
0000290e: SWAP1
0000290f: PUSH1 0xf0
00002911: SHR
00002912: AND
00002913: ISZERO
00002914: ISZERO
00002915: PUSH1 0xe0
00002917: DUP7
00002918: ADD
00002919: MSTORE
0000291a: JUMP
0000291b: JUMPDEST
0000291c: PUSH1 0x03
0000291e: SLOAD
0000291f: PUSH4 0xffffffff
00002924: DUP3
00002925: DUP3
00002926: AND
00002927: AND
00002928: PUSH2 0x0100
0000292b: DUP7
0000292c: ADD
0000292d: MSTORE
0000292e: PUSH2 0xffff
00002931: PUSH1 0x20
00002933: DUP3
00002934: SWAP1
00002935: SHR
00002936: DUP2
00002937: AND
00002938: PUSH2 0x0120
0000293b: DUP8
0000293c: ADD
0000293d: MSTORE
0000293e: PUSH1 0x30
00002940: DUP3
00002941: SWAP1
00002942: SHR
00002943: DUP2
00002944: AND
00002945: PUSH2 0x0140
00002948: DUP8
00002949: ADD
0000294a: MSTORE
0000294b: PUSH1 0x40
0000294d: DUP3
0000294e: SWAP1
0000294f: SHR
00002950: AND
00002951: PUSH2 0x0160
00002954: DUP7
00002955: ADD
00002956: MSTORE
00002957: PUSH1 0x50
00002959: DUP2
0000295a: SWAP1
0000295b: SHR
0000295c: PUSH14 0xffffffffffffffffffffffffffff
0000296b: AND
0000296c: PUSH2 0x0180
0000296f: DUP7
00002970: ADD
00002971: MSTORE
00002972: PUSH1 0xc0
00002974: SHR
00002975: AND
00002976: PUSH2 0x01a0
00002979: DUP5
0000297a: ADD
0000297b: SWAP1
0000297c: PUSH4 0xffffffff
00002981: AND
00002982: SWAP1
00002983: MSTORE
00002984: JUMP
00002985: JUMPDEST
00002986: JUMP
00002987: JUMPDEST
00002988: SWAP1
00002989: PUSH1 0x01
0000298b: PUSH16 0xffffffffffffffffffffffffffffffff
0000299c: DUP1
0000299d: SWAP4
0000299e: AND
0000299f: ADD
000029a0: SWAP2
000029a1: DUP3
000029a2: GT
000029a3: PUSH2 0x0b38
000029a6: JUMPI
000029a7: JUMP
000029a8: JUMPDEST
000029a9: SWAP2
000029aa: SWAP1
000029ab: SWAP2
000029ac: PUSH16 0xffffffffffffffffffffffffffffffff
000029bd: DUP1
000029be: DUP1
000029bf: SWAP5
000029c0: AND
000029c1: SWAP2
000029c2: AND
000029c3: ADD
000029c4: SWAP2
000029c5: DUP3
000029c6: GT
000029c7: PUSH2 0x0b38
000029ca: JUMPI
000029cb: JUMP
000029cc: JUMPDEST
000029cd: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000029ee: DUP2
000029ef: EQ
000029f0: PUSH2 0x0b38
000029f3: JUMPI
000029f4: PUSH1 0x01
000029f6: ADD
000029f7: SWAP1
000029f8: JUMP
000029f9: JUMPDEST
000029fa: PUSH8 0xffffffffffffffff
00002a03: DUP2
00002a04: GT
00002a05: PUSH2 0x26a1
00002a08: JUMPI
00002a09: PUSH1 0x05
00002a0b: SHL
00002a0c: PUSH1 0x20
00002a0e: ADD
00002a0f: SWAP1
00002a10: JUMP
00002a11: JUMPDEST
00002a12: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00002a33: PUSH0
00002a34: MSTORE
00002a35: PUSH1 0x32
00002a37: PUSH1 0x04
00002a39: MSTORE
00002a3a: PUSH1 0x24
00002a3c: PUSH0
00002a3d: REVERT
00002a3e: JUMPDEST
00002a3f: SWAP2
00002a40: SWAP1
00002a41: DUP2
00002a42: LT
00002a43: ISZERO
00002a44: PUSH2 0x2a4e
00002a47: JUMPI
00002a48: PUSH1 0x05
00002a4a: SHL
00002a4b: ADD
00002a4c: SWAP1
00002a4d: JUMP
00002a4e: JUMPDEST
00002a4f: PUSH2 0x2a11
00002a52: JUMP
00002a53: JUMPDEST
00002a54: DUP1
00002a55: MLOAD
00002a56: DUP3
00002a57: LT
00002a58: ISZERO
00002a59: PUSH2 0x2a4e
00002a5c: JUMPI
00002a5d: PUSH1 0x20
00002a5f: SWAP2
00002a60: PUSH1 0x05
00002a62: SHL
00002a63: ADD
00002a64: ADD
00002a65: SWAP1
00002a66: JUMP
00002a67: JUMPDEST
00002a68: SWAP2
00002a69: SWAP1
00002a6a: DUP3
00002a6b: ADD
00002a6c: DUP1
00002a6d: SWAP3
00002a6e: GT
00002a6f: PUSH2 0x0b38
00002a72: JUMPI
00002a73: JUMP
00002a74: JUMPDEST
00002a75: PUSH1 0x40
00002a77: PUSH1 0x01
00002a79: PUSH16 0xffffffffffffffffffffffffffffffff
00002a8a: SWAP3
00002a8b: PUSH2 0x2ad8
00002a8e: PUSH13 0xffffffffffffffffffffffffff
00002a9c: DUP7
00002a9d: MLOAD
00002a9e: AND
00002a9f: DUP3
00002aa0: SWAP1
00002aa1: PUSH13 0xffffffffffffffffffffffffff
00002aaf: AND
00002ab0: PUSH32 0xffffffffffffffffffffffffffffffffffffff00000000000000000000000000
00002ad1: DUP3
00002ad2: SLOAD
00002ad3: AND
00002ad4: OR
00002ad5: SWAP1
00002ad6: SSTORE
00002ad7: JUMP
00002ad8: JUMPDEST
00002ad9: PUSH1 0x20
00002adb: DUP6
00002adc: ADD
00002add: MLOAD
00002ade: PUSH32 0xffffffffffff00000000000000000000000000ffffffffffffffffffffffffff
00002aff: PUSH26 0xffffffffffffffffffffffffff00000000000000000000000000
00002b1a: DUP4
00002b1b: SLOAD
00002b1c: SWAP3
00002b1d: PUSH1 0x68
00002b1f: SHL
00002b20: AND
00002b21: SWAP2
00002b22: AND
00002b23: OR
00002b24: DUP2
00002b25: SSTORE
00002b26: ADD
00002b27: SWAP3
00002b28: ADD
00002b29: MLOAD
00002b2a: AND
00002b2b: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000
00002b4c: DUP3
00002b4d: SLOAD
00002b4e: AND
00002b4f: OR
00002b50: SWAP1
00002b51: SSTORE
00002b52: JUMP
00002b53: JUMPDEST
00002b54: SWAP1
00002b55: PUSH1 0x01
00002b57: PUSH4 0xffffffff
00002b5c: DUP1
00002b5d: SWAP4
00002b5e: AND
00002b5f: ADD
00002b60: SWAP2
00002b61: DUP3
00002b62: GT
00002b63: PUSH2 0x0b38
00002b66: JUMPI
00002b67: JUMP
00002b68: JUMPDEST
00002b69: PUSH16 0xffffffffffffffffffffffffffffffff
00002b7a: SWAP2
00002b7b: DUP3
00002b7c: AND
00002b7d: SWAP1
00002b7e: DUP3
00002b7f: AND
00002b80: SUB
00002b81: SWAP2
00002b82: SWAP1
00002b83: DUP3
00002b84: GT
00002b85: PUSH2 0x0b38
00002b88: JUMPI
00002b89: JUMP
00002b8a: JUMPDEST
00002b8b: SWAP2
00002b8c: SWAP1
00002b8d: PUSH2 0x2b94
00002b90: PUSH2 0x2c2b
00002b93: JUMP
00002b94: JUMPDEST
00002b95: SWAP2
00002b96: POP
00002b97: PUSH4 0xffffffff
00002b9c: DUP1
00002b9d: SWAP4
00002b9e: AND
00002b9f: SWAP3
00002ba0: DUP4
00002ba1: ISZERO
00002ba2: ISZERO
00002ba3: SWAP2
00002ba4: AND
00002ba5: DUP4
00002ba6: EQ
00002ba7: AND
00002ba8: PUSH2 0x2bf3
00002bab: JUMPI
00002bac: POP
00002bad: PUSH0
00002bae: MSTORE
00002baf: PUSH1 0x07
00002bb1: PUSH1 0x20
00002bb3: MSTORE
00002bb4: PUSH16 0xffffffffffffffffffffffffffffffff
00002bc5: PUSH1 0x01
00002bc7: PUSH1 0x40
00002bc9: PUSH0
00002bca: KECCAK256
00002bcb: DUP1
00002bcc: SLOAD
00002bcd: PUSH13 0xffffffffffffffffffffffffff
00002bdb: SWAP1
00002bdc: DUP2
00002bdd: DUP2
00002bde: AND
00002bdf: DUP8
00002be0: MSTORE
00002be1: PUSH1 0x68
00002be3: SHR
00002be4: AND
00002be5: PUSH1 0x20
00002be7: DUP7
00002be8: ADD
00002be9: MSTORE
00002bea: ADD
00002beb: SLOAD
00002bec: AND
00002bed: PUSH1 0x40
00002bef: DUP4
00002bf0: ADD
00002bf1: MSTORE
00002bf2: JUMP
00002bf3: JUMPDEST
00002bf4: SWAP3
00002bf5: POP
00002bf6: POP
00002bf7: JUMP
00002bf8: JUMPDEST
00002bf9: PUSH4 0x929eee14
00002bfe: DUP1
00002bff: TLOAD
00002c00: PUSH2 0x2c09
00002c03: JUMPI
00002c04: PUSH1 0x01
00002c06: SWAP1
00002c07: TSTORE
00002c08: JUMP
00002c09: JUMPDEST
00002c0a: PUSH4 0x7fa8a987
00002c0f: PUSH0
00002c10: MSTORE
00002c11: PUSH1 0x04
00002c13: PUSH1 0x1c
00002c15: REVERT
00002c16: JUMPDEST
00002c17: PUSH0
00002c18: PUSH4 0x929eee14
00002c1d: TSTORE
00002c1e: JUMP
00002c1f: JUMPDEST
00002c20: PUSH4 0x929eee14
00002c25: TLOAD
00002c26: PUSH2 0x2c09
00002c29: JUMPI
00002c2a: JUMP
00002c2b: JUMPDEST
00002c2c: PUSH2 0x2c33
00002c2f: PUSH2 0x281e
00002c32: JUMP
00002c33: JUMPDEST
00002c34: POP
00002c35: PUSH0
00002c36: PUSH2 0x2c3d
00002c39: PUSH2 0x274b
00002c3c: JUMP
00002c3d: JUMPDEST
00002c3e: PUSH2 0x2c45
00002c41: PUSH2 0x2880
00002c44: JUMP
00002c45: JUMPDEST
00002c46: SWAP3
00002c47: PUSH2 0x2c5f
00002c4a: DUP5
00002c4b: PUSH1 0xc0
00002c4d: PUSH4 0xffffffff
00002c52: SWAP2
00002c53: ADD
00002c54: MLOAD
00002c55: AND
00002c56: DUP1
00002c57: TIMESTAMP
00002c58: GT
00002c59: SWAP1
00002c5a: ISZERO
00002c5b: ISZERO
00002c5c: AND
00002c5d: SWAP1
00002c5e: JUMP
00002c5f: JUMPDEST
00002c60: PUSH2 0x2d73
00002c63: JUMPI
00002c64: JUMPDEST
00002c65: PUSH2 0x01a0
00002c68: DUP5
00002c69: ADD
00002c6a: MLOAD
00002c6b: PUSH4 0xffffffff
00002c70: SWAP1
00002c71: TIMESTAMP
00002c72: SWAP1
00002c73: DUP3
00002c74: AND
00002c75: SUB
00002c76: PUSH2 0x2d1f
00002c79: JUMPI
00002c7a: JUMPDEST
00002c7b: PUSH1 0xc0
00002c7d: DUP6
00002c7e: ADD
00002c7f: MLOAD
00002c80: PUSH4 0xffffffff
00002c85: AND
00002c86: SWAP1
00002c87: DUP2
00002c88: AND
00002c89: PUSH2 0x2c8f
00002c8c: JUMPI
00002c8d: POP
00002c8e: JUMP
00002c8f: JUMPDEST
00002c90: SWAP3
00002c91: POP
00002c92: SWAP1
00002c93: POP
00002c94: PUSH2 0x2cae
00002c97: PUSH2 0x07b9
00002c9a: DUP4
00002c9b: PUSH4 0xffffffff
00002ca0: AND
00002ca1: PUSH0
00002ca2: MSTORE
00002ca3: PUSH1 0x07
00002ca5: PUSH1 0x20
00002ca7: MSTORE
00002ca8: PUSH1 0x40
00002caa: PUSH0
00002cab: KECCAK256
00002cac: SWAP1
00002cad: JUMP
00002cae: JUMPDEST
00002caf: SWAP1
00002cb0: PUSH2 0x2cc9
00002cb3: PUSH1 0x20
00002cb5: DUP4
00002cb6: ADD
00002cb7: MLOAD
00002cb8: PUSH13 0xffffffffffffffffffffffffff
00002cc6: AND
00002cc7: SWAP1
00002cc8: JUMP
00002cc9: JUMPDEST
00002cca: PUSH13 0xffffffffffffffffffffffffff
00002cd8: PUSH2 0x2cf1
00002cdb: PUSH2 0x1e72
00002cde: DUP6
00002cdf: MLOAD
00002ce0: PUSH13 0xffffffffffffffffffffffffff
00002cee: AND
00002cef: SWAP1
00002cf0: JUMP
00002cf1: JUMPDEST
00002cf2: SWAP2
00002cf3: AND
00002cf4: LT
00002cf5: PUSH2 0x2cfa
00002cf8: JUMPI
00002cf9: JUMP
00002cfa: JUMPDEST
00002cfb: PUSH2 0x2d0c
00002cfe: PUSH2 0x2d05
00002d01: PUSH2 0x2603
00002d04: JUMP
00002d05: JUMPDEST
00002d06: DUP6
00002d07: DUP5
00002d08: PUSH2 0x49e2
00002d0b: JUMP
00002d0c: JUMPDEST
00002d0d: DUP1
00002d0e: PUSH2 0x2d14
00002d11: JUMPI
00002d12: POP
00002d13: JUMP
00002d14: JUMPDEST
00002d15: PUSH2 0x2985
00002d18: SWAP1
00002d19: DUP6
00002d1a: DUP5
00002d1b: PUSH2 0x4a6b
00002d1e: JUMP
00002d1f: JUMPDEST
00002d20: PUSH2 0x2d6b
00002d23: TIMESTAMP
00002d24: PUSH32 0x000000000000000000000000000000000000000000000000000000000003f480
00002d45: PUSH32 0x00000000000000000000000000000000000000000000000000000000000001f4
00002d66: DUP9
00002d67: PUSH2 0x4883
00002d6a: JUMP
00002d6b: JUMPDEST
00002d6c: POP
00002d6d: POP
00002d6e: POP
00002d6f: PUSH2 0x2c7a
00002d72: JUMP
00002d73: JUMPDEST
00002d74: SWAP2
00002d75: POP
00002d76: POP
00002d77: PUSH1 0xc0
00002d79: DUP3
00002d7a: ADD
00002d7b: PUSH2 0x2d88
00002d7e: DUP2
00002d7f: MLOAD
00002d80: PUSH4 0xffffffff
00002d85: AND
00002d86: SWAP1
00002d87: JUMP
00002d88: JUMPDEST
00002d89: SWAP2
00002d8a: PUSH2 0x2da7
00002d8d: PUSH2 0x2d9e
00002d90: PUSH2 0x01a0
00002d93: DUP7
00002d94: ADD
00002d95: MLOAD
00002d96: PUSH4 0xffffffff
00002d9b: AND
00002d9c: SWAP1
00002d9d: JUMP
00002d9e: JUMPDEST
00002d9f: PUSH4 0xffffffff
00002da4: AND
00002da5: SWAP1
00002da6: JUMP
00002da7: JUMPDEST
00002da8: PUSH4 0xffffffff
00002dad: DUP5
00002dae: AND
00002daf: SWAP1
00002db0: DUP2
00002db1: SUB
00002db2: PUSH2 0x2e04
00002db5: JUMPI
00002db6: JUMPDEST
00002db7: POP
00002db8: PUSH0
00002db9: PUSH2 0x2dd3
00002dbc: PUSH2 0x07b9
00002dbf: DUP6
00002dc0: PUSH4 0xffffffff
00002dc5: AND
00002dc6: PUSH0
00002dc7: MSTORE
00002dc8: PUSH1 0x07
00002dca: PUSH1 0x20
00002dcc: MSTORE
00002dcd: PUSH1 0x40
00002dcf: PUSH0
00002dd0: KECCAK256
00002dd1: SWAP1
00002dd2: JUMP
00002dd3: JUMPDEST
00002dd4: SWAP3
00002dd5: PUSH2 0x2de6
00002dd8: PUSH2 0x2ddf
00002ddb: PUSH2 0x2603
00002dde: JUMP
00002ddf: JUMPDEST
00002de0: DUP8
00002de1: DUP7
00002de2: PUSH2 0x49e2
00002de5: JUMP
00002de6: JUMPDEST
00002de7: DUP1
00002de8: PUSH2 0x2df3
00002deb: JUMPI
00002dec: JUMPDEST
00002ded: POP
00002dee: MSTORE
00002def: PUSH2 0x2c64
00002df2: JUMP
00002df3: JUMPDEST
00002df4: PUSH2 0x2dfe
00002df7: SWAP1
00002df8: DUP8
00002df9: DUP7
00002dfa: PUSH2 0x4a6b
00002dfd: JUMP
00002dfe: JUMPDEST
00002dff: PUSH0
00002e00: PUSH2 0x2dec
00002e03: JUMP
00002e04: JUMPDEST
00002e05: PUSH2 0x2e50
00002e08: SWAP1
00002e09: PUSH32 0x000000000000000000000000000000000000000000000000000000000003f480
00002e2a: PUSH32 0x00000000000000000000000000000000000000000000000000000000000001f4
00002e4b: DUP8
00002e4c: PUSH2 0x4883
00002e4f: JUMP
00002e50: JUMPDEST
00002e51: POP
00002e52: POP
00002e53: PUSH2 0x2db6
00002e56: JUMP
00002e57: JUMPDEST
00002e58: SWAP1
00002e59: PUSH12 0x033b2e3c9fd0803ce8000000
00002e66: SWAP2
00002e67: DUP2
00002e68: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002e89: DIV
00002e8a: DUP2
00002e8b: GT
00002e8c: DUP3
00002e8d: MUL
00002e8e: ISZERO
00002e8f: DUP4
00002e90: MUL
00002e91: ISZERO
00002e92: PUSH2 0x2e9a
00002e95: JUMPI
00002e96: MUL
00002e97: DIV
00002e98: SWAP1
00002e99: JUMP
00002e9a: JUMPDEST
00002e9b: PUSH4 0xad251c27
00002ea0: PUSH0
00002ea1: MSTORE
00002ea2: PUSH1 0x04
00002ea4: PUSH1 0x1c
00002ea6: REVERT
00002ea7: JUMPDEST
00002ea8: DUP2
00002ea9: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002eca: DIV
00002ecb: DUP2
00002ecc: GT
00002ecd: DUP3
00002ece: MUL
00002ecf: ISZERO
00002ed0: DUP4
00002ed1: MUL
00002ed2: ISZERO
00002ed3: PUSH2 0x2e9a
00002ed6: JUMPI
00002ed7: MUL
00002ed8: DIV
00002ed9: SWAP1
00002eda: JUMP
00002edb: JUMPDEST
00002edc: PUSH1 0x40
00002ede: MLOAD
00002edf: PUSH1 0x80
00002ee1: DUP2
00002ee2: ADD
00002ee3: SWAP1
00002ee4: DUP1
00002ee5: DUP3
00002ee6: LT
00002ee7: PUSH8 0xffffffffffffffff
00002ef0: DUP4
00002ef1: GT
00002ef2: OR
00002ef3: PUSH2 0x26a1
00002ef6: JUMPI
00002ef7: PUSH2 0x055b
00002efa: SWAP2
00002efb: PUSH1 0x40
00002efd: MSTORE
00002efe: PUSH1 0x60
00002f00: DUP2
00002f01: MSTORE
00002f02: PUSH1 0x60
00002f04: PUSH1 0x20
00002f06: DUP3
00002f07: ADD
00002f08: MSTORE
00002f09: PUSH0
00002f0a: PUSH1 0x40
00002f0c: DUP3
00002f0d: ADD
00002f0e: MSTORE
00002f0f: PUSH0
00002f10: PUSH1 0x60
00002f12: DUP3
00002f13: ADD
00002f14: MSTORE
00002f15: PUSH0
00002f16: CALLDATALOAD
00002f17: PUSH1 0xe0
00002f19: SHR
00002f1a: SWAP1
00002f1b: PUSH2 0x4c2f
00002f1e: JUMP
00002f1f: JUMPDEST
00002f20: SWAP1
00002f21: SWAP2
00002f22: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f37: DUP3
00002f38: AND
00002f39: PUSH0
00002f3a: MSTORE
00002f3b: PUSH1 0x09
00002f3d: PUSH1 0x20
00002f3f: MSTORE
00002f40: DUP1
00002f41: PUSH2 0x2f6b
00002f44: DUP5
00002f45: PUSH1 0x40
00002f47: PUSH0
00002f48: KECCAK256
00002f49: SWAP1
00002f4a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f5f: AND
00002f60: PUSH0
00002f61: MSTORE
00002f62: PUSH1 0x20
00002f64: MSTORE
00002f65: PUSH1 0x40
00002f67: PUSH0
00002f68: KECCAK256
00002f69: SWAP1
00002f6a: JUMP
00002f6b: JUMPDEST
00002f6c: SSTORE
00002f6d: PUSH0
00002f6e: MSTORE
00002f6f: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
00002f90: PUSH1 0x20
00002f92: PUSH0
00002f93: LOG3
00002f94: JUMP
00002f95: JUMPDEST
00002f96: PUSH2 0x2fb2
00002f99: PUSH13 0xffffffffffffffffffffffffff
00002fa7: PUSH1 0x80
00002fa9: DUP4
00002faa: ADD
00002fab: MLOAD
00002fac: AND
00002fad: DUP3
00002fae: PUSH2 0x3e0d
00002fb1: JUMP
00002fb2: JUMPDEST
00002fb3: SWAP1
00002fb4: PUSH16 0xffffffffffffffffffffffffffffffff
00002fc5: SWAP1
00002fc6: DUP2
00002fc7: PUSH1 0x60
00002fc9: DUP3
00002fca: ADD
00002fcb: MLOAD
00002fcc: AND
00002fcd: DUP4
00002fce: ADD
00002fcf: DUP1
00002fd0: SWAP4
00002fd1: GT
00002fd2: PUSH2 0x0b38
00002fd5: JUMPI
00002fd6: PUSH1 0x40
00002fd8: ADD
00002fd9: MLOAD
00002fda: AND
00002fdb: DUP2
00002fdc: ADD
00002fdd: DUP1
00002fde: SWAP2
00002fdf: GT
00002fe0: PUSH2 0x0b38
00002fe3: JUMPI
00002fe4: SWAP1
00002fe5: JUMP
00002fe6: JUMPDEST
00002fe7: PUSH2 0x2fee
00002fea: PUSH2 0x281e
00002fed: JUMP
00002fee: JUMPDEST
00002fef: POP
00002ff0: PUSH2 0x2ff7
00002ff3: PUSH2 0x2880
00002ff6: JUMP
00002ff7: JUMPDEST
00002ff8: SWAP1
00002ff9: PUSH2 0x3011
00002ffc: DUP3
00002ffd: PUSH1 0xc0
00002fff: PUSH4 0xffffffff
00003004: SWAP2
00003005: ADD
00003006: MLOAD
00003007: AND
00003008: DUP1
00003009: TIMESTAMP
0000300a: GT
0000300b: SWAP1
0000300c: ISZERO
0000300d: ISZERO
0000300e: AND
0000300f: SWAP1
00003010: JUMP
00003011: JUMPDEST
00003012: PUSH2 0x317f
00003015: JUMPI
00003016: JUMPDEST
00003017: PUSH2 0x01a0
0000301a: DUP3
0000301b: ADD
0000301c: MLOAD
0000301d: PUSH4 0xffffffff
00003022: SWAP1
00003023: DUP2
00003024: AND
00003025: TIMESTAMP
00003026: DUP2
00003027: SWAP1
00003028: SUB
00003029: PUSH2 0x30eb
0000302c: JUMPI
0000302d: JUMPDEST
0000302e: POP
0000302f: PUSH1 0xc0
00003031: DUP4
00003032: ADD
00003033: MLOAD
00003034: PUSH4 0xffffffff
00003039: AND
0000303a: SWAP1
0000303b: DUP2
0000303c: AND
0000303d: PUSH2 0x3043
00003040: JUMPI
00003041: POP
00003042: JUMP
00003043: JUMPDEST
00003044: PUSH2 0x305e
00003047: PUSH2 0x07b9
0000304a: DUP3
0000304b: PUSH4 0xffffffff
00003050: AND
00003051: PUSH0
00003052: MSTORE
00003053: PUSH1 0x07
00003055: PUSH1 0x20
00003057: MSTORE
00003058: PUSH1 0x40
0000305a: PUSH0
0000305b: KECCAK256
0000305c: SWAP1
0000305d: JUMP
0000305e: JUMPDEST
0000305f: PUSH1 0x20
00003061: DUP2
00003062: ADD
00003063: MLOAD
00003064: PUSH13 0xffffffffffffffffffffffffff
00003072: AND
00003073: PUSH13 0xffffffffffffffffffffffffff
00003081: PUSH2 0x309a
00003084: PUSH2 0x1e72
00003087: DUP5
00003088: MLOAD
00003089: PUSH13 0xffffffffffffffffffffffffff
00003097: AND
00003098: SWAP1
00003099: JUMP
0000309a: JUMPDEST
0000309b: SWAP2
0000309c: AND
0000309d: LT
0000309e: PUSH2 0x30a6
000030a1: JUMPI
000030a2: JUMPDEST
000030a3: POP
000030a4: POP
000030a5: JUMP
000030a6: JUMPDEST
000030a7: PUSH2 0x30b8
000030aa: PUSH2 0x30b1
000030ad: PUSH2 0x2603
000030b0: JUMP
000030b1: JUMPDEST
000030b2: DUP6
000030b3: DUP4
000030b4: PUSH2 0x49e2
000030b7: JUMP
000030b8: JUMPDEST
000030b9: DUP1
000030ba: PUSH2 0x30c2
000030bd: JUMPI
000030be: POP
000030bf: POP
000030c0: POP
000030c1: JUMP
000030c2: JUMPDEST
000030c3: DUP3
000030c4: PUSH2 0x30d5
000030c7: PUSH2 0x1f8f
000030ca: SWAP3
000030cb: PUSH2 0x2985
000030ce: SWAP6
000030cf: DUP9
000030d0: DUP7
000030d1: PUSH2 0x4264
000030d4: JUMP
000030d5: JUMPDEST
000030d6: POP
000030d7: POP
000030d8: PUSH4 0xffffffff
000030dd: AND
000030de: PUSH0
000030df: MSTORE
000030e0: PUSH1 0x07
000030e2: PUSH1 0x20
000030e4: MSTORE
000030e5: PUSH1 0x40
000030e7: PUSH0
000030e8: KECCAK256
000030e9: SWAP1
000030ea: JUMP
000030eb: JUMPDEST
000030ec: PUSH2 0x3179
000030ef: SWAP1
000030f0: PUSH2 0x313b
000030f3: TIMESTAMP
000030f4: PUSH32 0x000000000000000000000000000000000000000000000000000000000003f480
00003115: PUSH32 0x00000000000000000000000000000000000000000000000000000000000001f4
00003136: DUP9
00003137: PUSH2 0x4883
0000313a: JUMP
0000313b: JUMPDEST
0000313c: SWAP3
0000313d: PUSH2 0x3171
00003140: PUSH2 0x315e
00003143: PUSH2 0x0180
00003146: DUP11
00003147: SWAP6
00003148: SWAP5
00003149: SWAP6
0000314a: ADD
0000314b: MLOAD
0000314c: PUSH14 0xffffffffffffffffffffffffffff
0000315b: AND
0000315c: SWAP1
0000315d: JUMP
0000315e: JUMPDEST
0000315f: PUSH14 0xffffffffffffffffffffffffffff
0000316e: AND
0000316f: SWAP1
00003170: JUMP
00003171: JUMPDEST
00003172: SWAP1
00003173: TIMESTAMP
00003174: SWAP1
00003175: PUSH2 0x4d81
00003178: JUMP
00003179: JUMPDEST
0000317a: PUSH0
0000317b: PUSH2 0x302d
0000317e: JUMP
0000317f: JUMPDEST
00003180: PUSH2 0x3193
00003183: PUSH2 0x2d9e
00003186: PUSH1 0xc0
00003188: DUP5
00003189: ADD
0000318a: MLOAD
0000318b: PUSH4 0xffffffff
00003190: AND
00003191: SWAP1
00003192: JUMP
00003193: JUMPDEST
00003194: PUSH2 0x31a8
00003197: PUSH2 0x2d9e
0000319a: PUSH2 0x01a0
0000319d: DUP6
0000319e: ADD
0000319f: MLOAD
000031a0: PUSH4 0xffffffff
000031a5: AND
000031a6: SWAP1
000031a7: JUMP
000031a8: JUMPDEST
000031a9: DUP1
000031aa: DUP3
000031ab: SUB
000031ac: PUSH2 0x31c0
000031af: JUMPI
000031b0: JUMPDEST
000031b1: POP
000031b2: POP
000031b3: PUSH2 0x31bb
000031b6: DUP3
000031b7: PUSH2 0x4dcb
000031ba: JUMP
000031bb: JUMPDEST
000031bc: PUSH2 0x3016
000031bf: JUMP
000031c0: JUMPDEST
000031c1: DUP2
000031c2: PUSH2 0x3210
000031c5: PUSH2 0x3238
000031c8: SWAP4
000031c9: PUSH32 0x000000000000000000000000000000000000000000000000000000000003f480
000031ea: PUSH32 0x00000000000000000000000000000000000000000000000000000000000001f4
0000320b: DUP9
0000320c: PUSH2 0x4883
0000320f: JUMP
00003210: JUMPDEST
00003211: SWAP4
00003212: SWAP1
00003213: SWAP3
00003214: PUSH2 0x3232
00003217: PUSH2 0x315e
0000321a: PUSH2 0x0180
0000321d: DUP11
0000321e: ADD
0000321f: MLOAD
00003220: PUSH14 0xffffffffffffffffffffffffffff
0000322f: AND
00003230: SWAP1
00003231: JUMP
00003232: JUMPDEST
00003233: SWAP2
00003234: PUSH2 0x4d81
00003237: JUMP
00003238: JUMPDEST
00003239: PUSH0
0000323a: DUP1
0000323b: PUSH2 0x31b0
0000323e: JUMP
0000323f: JUMPDEST
00003240: PUSH2 0x2985
00003243: SWAP1
00003244: PUSH2 0x324c
00003247: DUP2
00003248: PUSH2 0x3e2d
0000324b: JUMP
0000324c: JUMPDEST
0000324d: PUSH2 0x3254
00003250: PUSH2 0x2603
00003253: JUMP
00003254: JUMPDEST
00003255: LT
00003256: PUSH1 0xe0
00003258: DUP3
00003259: ADD
0000325a: DUP2
0000325b: SWAP1
0000325c: MSTORE
0000325d: SWAP1
0000325e: DUP1
0000325f: MLOAD
00003260: ISZERO
00003261: ISZERO
00003262: PUSH2 0x3281
00003265: PUSH2 0x0718
00003268: PUSH1 0x20
0000326a: DUP5
0000326b: ADD
0000326c: MLOAD
0000326d: PUSH16 0xffffffffffffffffffffffffffffffff
0000327e: AND
0000327f: SWAP1
00003280: JUMP
00003281: JUMPDEST
00003282: PUSH1 0x08
00003284: SHL
00003285: OR
00003286: PUSH0
00003287: SSTORE
00003288: PUSH2 0x32a7
0000328b: PUSH2 0x0718
0000328e: PUSH1 0x40
00003290: DUP4
00003291: ADD
00003292: MLOAD
00003293: PUSH16 0xffffffffffffffffffffffffffffffff
000032a4: AND
000032a5: SWAP1
000032a6: JUMP
000032a7: JUMPDEST
000032a8: PUSH2 0x32c7
000032ab: PUSH2 0x0718
000032ae: PUSH1 0x60
000032b0: DUP5
000032b1: ADD
000032b2: MLOAD
000032b3: PUSH16 0xffffffffffffffffffffffffffffffff
000032c4: AND
000032c5: SWAP1
000032c6: JUMP
000032c7: JUMPDEST
000032c8: PUSH1 0x80
000032ca: SHL
000032cb: OR
000032cc: PUSH1 0x01
000032ce: SSTORE
000032cf: PUSH2 0x32eb
000032d2: PUSH2 0x1e72
000032d5: PUSH1 0x80
000032d7: DUP4
000032d8: ADD
000032d9: MLOAD
000032da: PUSH13 0xffffffffffffffffffffffffff
000032e8: AND
000032e9: SWAP1
000032ea: JUMP
000032eb: JUMPDEST
000032ec: PUSH2 0x3308
000032ef: PUSH2 0x1e72
000032f2: PUSH1 0xa0
000032f4: DUP5
000032f5: ADD
000032f6: MLOAD
000032f7: PUSH13 0xffffffffffffffffffffffffff
00003305: AND
00003306: SWAP1
00003307: JUMP
00003308: JUMPDEST
00003309: PUSH2 0x331c
0000330c: PUSH2 0x2d9e
0000330f: PUSH1 0xc0
00003311: DUP6
00003312: ADD
00003313: MLOAD
00003314: PUSH4 0xffffffff
00003319: AND
0000331a: SWAP1
0000331b: JUMP
0000331c: JUMPDEST
0000331d: SWAP1
0000331e: PUSH1 0x68
00003320: SHL
00003321: SWAP1
00003322: PUSH1 0xd0
00003324: SHL
00003325: DUP5
00003326: PUSH1 0xf0
00003328: SHL
00003329: OR
0000332a: OR
0000332b: OR
0000332c: PUSH1 0x02
0000332e: SSTORE
0000332f: PUSH2 0x3343
00003332: PUSH2 0x2d9e
00003335: PUSH2 0x0100
00003338: DUP4
00003339: ADD
0000333a: MLOAD
0000333b: PUSH4 0xffffffff
00003340: AND
00003341: SWAP1
00003342: JUMP
00003343: JUMPDEST
00003344: PUSH2 0x3356
00003347: PUSH2 0x1ad7
0000334a: PUSH2 0x0120
0000334d: DUP5
0000334e: ADD
0000334f: MLOAD
00003350: PUSH2 0xffff
00003353: AND
00003354: SWAP1
00003355: JUMP
00003356: JUMPDEST
00003357: PUSH2 0x3369
0000335a: PUSH2 0x1ad7
0000335d: PUSH2 0x0140
00003360: DUP6
00003361: ADD
00003362: MLOAD
00003363: PUSH2 0xffff
00003366: AND
00003367: SWAP1
00003368: JUMP
00003369: JUMPDEST
0000336a: SWAP1
0000336b: PUSH2 0x337d
0000336e: PUSH2 0x1ad7
00003371: PUSH2 0x0160
00003374: DUP7
00003375: ADD
00003376: MLOAD
00003377: PUSH2 0xffff
0000337a: AND
0000337b: SWAP1
0000337c: JUMP
0000337d: JUMPDEST
0000337e: SWAP2
0000337f: PUSH2 0x33b2
00003382: PUSH2 0x2d9e
00003385: PUSH2 0x01a0
00003388: PUSH2 0x33a6
0000338b: PUSH2 0x315e
0000338e: PUSH2 0x0180
00003391: DUP11
00003392: ADD
00003393: MLOAD
00003394: PUSH14 0xffffffffffffffffffffffffffff
000033a3: AND
000033a4: SWAP1
000033a5: JUMP
000033a6: JUMPDEST
000033a7: SWAP8
000033a8: ADD
000033a9: MLOAD
000033aa: PUSH4 0xffffffff
000033af: AND
000033b0: SWAP1
000033b1: JUMP
000033b2: JUMPDEST
000033b3: SWAP2
000033b4: PUSH1 0x20
000033b6: SHL
000033b7: SWAP1
000033b8: PUSH1 0x30
000033ba: SHL
000033bb: OR
000033bc: SWAP2
000033bd: PUSH1 0x40
000033bf: SHL
000033c0: SWAP1
000033c1: DUP5
000033c2: PUSH1 0x50
000033c4: SHL
000033c5: SWAP1
000033c6: PUSH1 0xc0
000033c8: SHL
000033c9: OR
000033ca: OR
000033cb: OR
000033cc: OR
000033cd: PUSH1 0x03
000033cf: SSTORE
000033d0: PUSH2 0x4f47
000033d3: JUMP
000033d4: JUMPDEST
000033d5: SWAP1
000033d6: PUSH16 0xffffffffffffffffffffffffffffffff
000033e7: SWAP2
000033e8: DUP3
000033e9: PUSH1 0x60
000033eb: DUP3
000033ec: ADD
000033ed: MLOAD
000033ee: AND
000033ef: DUP3
000033f0: SUB
000033f1: SWAP2
000033f2: DUP3
000033f3: GT
000033f4: PUSH2 0x0b38
000033f7: JUMPI
000033f8: PUSH1 0x40
000033fa: DUP4
000033fb: SWAP2
000033fc: ADD
000033fd: MLOAD
000033fe: AND
000033ff: SWAP1
00003400: DUP2
00003401: DUP1
00003402: DUP3
00003403: SUB
00003404: SWAP2
00003405: LT
00003406: MUL
00003407: ADD
00003408: AND
00003409: SWAP1
0000340a: JUMP
0000340b: JUMPDEST
0000340c: PUSH13 0xffffffffffffffffffffffffff
0000341a: SWAP2
0000341b: DUP3
0000341c: AND
0000341d: SWAP1
0000341e: DUP3
0000341f: AND
00003420: SUB
00003421: SWAP2
00003422: SWAP1
00003423: DUP3
00003424: GT
00003425: PUSH2 0x0b38
00003428: JUMPI
00003429: JUMP
0000342a: JUMPDEST
0000342b: PUSH13 0xffffffffffffffffffffffffff
00003439: PUSH2 0x2985
0000343c: SWAP3
0000343d: MLOAD
0000343e: AND
0000343f: PUSH13 0xffffffffffffffffffffffffff
0000344d: AND
0000344e: PUSH32 0xffffffffffffffffffffffffffffffffffffff00000000000000000000000000
0000346f: DUP3
00003470: SLOAD
00003471: AND
00003472: OR
00003473: SWAP1
00003474: SSTORE
00003475: JUMP
00003476: JUMPDEST
00003477: SWAP2
00003478: SWAP1
00003479: SWAP2
0000347a: PUSH13 0xffffffffffffffffffffffffff
00003488: DUP1
00003489: DUP1
0000348a: SWAP5
0000348b: AND
0000348c: SWAP2
0000348d: AND
0000348e: ADD
0000348f: SWAP2
00003490: DUP3
00003491: GT
00003492: PUSH2 0x0b38
00003495: JUMPI
00003496: JUMP
00003497: JUMPDEST
00003498: SWAP2
00003499: SWAP1
0000349a: PUSH2 0x34a1
0000349d: PUSH2 0x2fe6
000034a0: JUMP
000034a1: JUMPDEST
000034a2: SWAP3
000034a3: PUSH2 0x34c1
000034a6: PUSH14 0xffffffffffffffffffffffffffff
000034b5: PUSH2 0x0180
000034b8: DUP7
000034b9: ADD
000034ba: MLOAD
000034bb: AND
000034bc: DUP5
000034bd: PUSH2 0x51cf
000034c0: JUMP
000034c1: JUMPDEST
000034c2: PUSH13 0xffffffffffffffffffffffffff
000034d0: PUSH2 0x34dd
000034d3: DUP2
000034d4: DUP4
000034d5: AND
000034d6: DUP1
000034d7: SWAP4
000034d8: EQ
000034d9: PUSH2 0x51b6
000034dc: JUMP
000034dd: JUMPDEST
000034de: DUP2
000034df: ISZERO
000034e0: PUSH2 0x1a08
000034e3: JUMPI
000034e4: PUSH32 0xdd87c59d295b0b4c1acf1ac29358d435e4d85459d04000000000000000000000
00003505: PUSH1 0x01
00003507: DUP2
00003508: PUSH1 0x5c
0000350a: SHR
0000350b: AND
0000350c: PUSH2 0x359f
0000350f: JUMPI
00003510: JUMPDEST
00003511: POP
00003512: SWAP5
00003513: PUSH2 0x098c
00003516: PUSH2 0x359a
00003519: SWAP3
0000351a: PUSH2 0x3563
0000351d: PUSH2 0x2985
00003520: SWAP9
00003521: PUSH2 0x3529
00003524: DUP8
00003525: PUSH2 0x3b42
00003528: JUMP
00003529: JUMPDEST
0000352a: SWAP1
0000352b: DUP1
0000352c: PUSH2 0x3538
0000352f: DUP6
00003530: DUP3
00003531: DUP6
00003532: MLOAD
00003533: AND
00003534: PUSH2 0x340b
00003537: JUMP
00003538: JUMPDEST
00003539: AND
0000353a: DUP3
0000353b: MSTORE
0000353c: PUSH2 0x195b
0000353f: DUP9
00003540: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003555: AND
00003556: PUSH0
00003557: MSTORE
00003558: PUSH1 0x04
0000355a: PUSH1 0x20
0000355c: MSTORE
0000355d: PUSH1 0x40
0000355f: PUSH0
00003560: KECCAK256
00003561: SWAP1
00003562: JUMP
00003563: JUMPDEST
00003564: PUSH2 0x3572
00003567: PUSH2 0x19c2
0000356a: PUSH2 0x19a5
0000356d: DUP9
0000356e: PUSH2 0x3b42
00003571: JUMP
00003572: JUMPDEST
00003573: PUSH2 0x19fd
00003576: DUP7
00003577: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000358c: AND
0000358d: PUSH0
0000358e: MSTORE
0000358f: PUSH1 0x04
00003591: PUSH1 0x20
00003593: MSTORE
00003594: PUSH1 0x40
00003596: PUSH0
00003597: KECCAK256
00003598: SWAP1
00003599: JUMP
0000359a: JUMPDEST
0000359b: PUSH2 0x5011
0000359e: JUMP
0000359f: JUMPDEST
000035a0: PUSH0
000035a1: DUP1
000035a2: SWAP2
000035a3: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c
000035c4: SWAP9
000035c5: SWAP4
000035c6: SWAP9
000035c7: CALLDATASIZE
000035c8: ADD
000035c9: SWAP1
000035ca: PUSH1 0x40
000035cc: MLOAD
000035cd: SWAP2
000035ce: PUSH4 0xa018f90e
000035d3: DUP4
000035d4: MSTORE
000035d5: CALLER
000035d6: PUSH1 0x20
000035d8: DUP5
000035d9: ADD
000035da: MSTORE
000035db: DUP8
000035dc: PUSH1 0x40
000035de: DUP5
000035df: ADD
000035e0: MSTORE
000035e1: DUP9
000035e2: PUSH1 0x60
000035e4: DUP5
000035e5: ADD
000035e6: MSTORE
000035e7: DUP7
000035e8: PUSH1 0x80
000035ea: DUP5
000035eb: ADD
000035ec: MSTORE
000035ed: PUSH2 0x01c0
000035f0: DUP7
000035f1: PUSH1 0xa0
000035f3: DUP6
000035f4: ADD
000035f5: MCOPY
000035f6: PUSH2 0x0260
000035f9: DUP1
000035fa: DUP5
000035fb: ADD
000035fc: MSTORE
000035fd: DUP1
000035fe: PUSH2 0x0280
00003601: DUP5
00003602: ADD
00003603: MSTORE
00003604: PUSH1 0x64
00003606: PUSH2 0x02a0
00003609: DUP5
0000360a: ADD
0000360b: CALLDATACOPY
0000360c: DUP3
0000360d: PUSH1 0x1c
0000360f: PUSH2 0x0220
00003612: CALLDATASIZE
00003613: ADD
00003614: SWAP4
00003615: ADD
00003616: SWAP2
00003617: PUSH1 0x60
00003619: SHR
0000361a: GAS
0000361b: CALL
0000361c: ISZERO
0000361d: PUSH2 0x0ebc
00003620: JUMPI
00003621: SWAP5
00003622: PUSH0
00003623: PUSH2 0x3510
00003626: JUMP
00003627: JUMPDEST
00003628: SWAP1
00003629: SWAP3
0000362a: SWAP2
0000362b: SWAP3
0000362c: PUSH2 0x3646
0000362f: PUSH2 0x07b9
00003632: DUP6
00003633: PUSH4 0xffffffff
00003638: AND
00003639: PUSH0
0000363a: MSTORE
0000363b: PUSH1 0x07
0000363d: PUSH1 0x20
0000363f: MSTORE
00003640: PUSH1 0x40
00003642: PUSH0
00003643: KECCAK256
00003644: SWAP1
00003645: JUMP
00003646: JUMPDEST
00003647: SWAP4
00003648: PUSH2 0x365b
0000364b: PUSH2 0x2d9e
0000364e: PUSH1 0xc0
00003650: DUP6
00003651: ADD
00003652: MLOAD
00003653: PUSH4 0xffffffff
00003658: AND
00003659: SWAP1
0000365a: JUMP
0000365b: JUMPDEST
0000365c: SWAP1
0000365d: PUSH4 0xffffffff
00003662: DUP2
00003663: AND
00003664: SWAP2
00003665: DUP3
00003666: EQ
00003667: PUSH2 0x3855
0000366a: JUMPI
0000366b: PUSH2 0x3686
0000366e: DUP4
0000366f: PUSH2 0x06cf
00003672: DUP4
00003673: PUSH4 0xffffffff
00003678: AND
00003679: PUSH0
0000367a: MSTORE
0000367b: PUSH1 0x08
0000367d: PUSH1 0x20
0000367f: MSTORE
00003680: PUSH1 0x40
00003682: PUSH0
00003683: KECCAK256
00003684: SWAP1
00003685: JUMP
00003686: JUMPDEST
00003687: SWAP5
00003688: PUSH2 0x36d9
0000368b: PUSH2 0x3704
0000368e: PUSH2 0x36aa
00003691: PUSH1 0x40
00003693: DUP11
00003694: ADD
00003695: MLOAD
00003696: PUSH16 0xffffffffffffffffffffffffffffffff
000036a7: AND
000036a8: SWAP1
000036a9: JUMP
000036aa: JUMPDEST
000036ab: SWAP9
000036ac: PUSH2 0x36f9
000036af: PUSH2 0x0718
000036b2: DUP11
000036b3: SLOAD
000036b4: DUP1
000036b5: SWAP13
000036b6: PUSH13 0xffffffffffffffffffffffffff
000036c4: SWAP7
000036c5: DUP8
000036c6: SWAP6
000036c7: MLOAD
000036c8: PUSH13 0xffffffffffffffffffffffffff
000036d6: AND
000036d7: SWAP1
000036d8: JUMP
000036d9: JUMPDEST
000036da: PUSH16 0xffffffffffffffffffffffffffffffff
000036eb: SWAP8
000036ec: DUP9
000036ed: SWAP7
000036ee: DUP8
000036ef: SWAP3
000036f0: AND
000036f1: SWAP4
000036f2: AND
000036f3: SWAP2
000036f4: AND
000036f5: PUSH2 0x2ea7
000036f8: JUMP
000036f9: JUMPDEST
000036fa: SWAP10
000036fb: PUSH1 0x68
000036fd: SHR
000036fe: AND
000036ff: DUP10
00003700: PUSH2 0x2b68
00003703: JUMP
00003704: JUMPDEST
00003705: SWAP1
00003706: DUP2
00003707: AND
00003708: SWAP8
00003709: DUP9
0000370a: ISZERO
0000370b: PUSH2 0x3850
0000370e: JUMPI
0000370f: PUSH1 0x60
00003711: DUP8
00003712: PUSH2 0x379b
00003715: PUSH2 0x37bc
00003718: SWAP4
00003719: PUSH2 0x055b
0000371c: SWAP12
0000371d: PUSH2 0x374d
00003720: PUSH2 0x37d2
00003723: SWAP9
00003724: DUP16
00003725: SWAP14
00003726: DUP15
00003727: DUP15
00003728: PUSH32 0xdd87c59d295b0b4c1acf1ac29358d435e4d85459d04000000000000000000000
00003749: PUSH2 0x5049
0000374c: JUMP
0000374d: JUMPDEST
0000374e: SWAP1
0000374f: PUSH32 0xffffff00000000000000000000000000000000ffffffffffffffffffffffffff
00003770: PUSH29 0xffffffffffffffffffffffffffffffff00000000000000000000000000
0000378e: DUP4
0000378f: SLOAD
00003790: SWAP3
00003791: PUSH1 0x68
00003793: SHL
00003794: AND
00003795: SWAP2
00003796: AND
00003797: OR
00003798: SWAP1
00003799: SSTORE
0000379a: JUMP
0000379b: JUMPDEST
0000379c: ADD
0000379d: SWAP2
0000379e: PUSH2 0x37b7
000037a1: DUP4
000037a2: MLOAD
000037a3: PUSH16 0xffffffffffffffffffffffffffffffff
000037b4: AND
000037b5: SWAP1
000037b6: JUMP
000037b7: JUMPDEST
000037b8: PUSH2 0x2b68
000037bb: JUMP
000037bc: JUMPDEST
000037bd: PUSH16 0xffffffffffffffffffffffffffffffff
000037ce: AND
000037cf: SWAP1
000037d0: MSTORE
000037d1: JUMP
000037d2: JUMPDEST
000037d3: DUP4
000037d4: PUSH2 0x37dc
000037d7: DUP5
000037d8: PUSH2 0x462a
000037db: JUMP
000037dc: JUMPDEST
000037dd: ISZERO
000037de: PUSH2 0x3824
000037e1: JUMPI
000037e2: PUSH2 0x381f
000037e5: SWAP2
000037e6: PUSH2 0x37ee
000037e9: DUP6
000037ea: PUSH2 0x50b9
000037ed: JUMP
000037ee: JUMPDEST
000037ef: PUSH2 0x3819
000037f2: DUP4
000037f3: DUP3
000037f4: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00003815: PUSH2 0x40f2
00003818: JUMP
00003819: JUMPDEST
0000381a: DUP6
0000381b: PUSH2 0x5151
0000381e: JUMP
0000381f: JUMPDEST
00003820: PUSH2 0x518b
00003823: JUMP
00003824: JUMPDEST
00003825: PUSH2 0x381f
00003828: SWAP2
00003829: POP
0000382a: DUP4
0000382b: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
0000384c: PUSH2 0x40f2
0000384f: JUMP
00003850: JUMPDEST
00003851: PUSH2 0x503c
00003854: JUMP
00003855: JUMPDEST
00003856: PUSH2 0x07d3
00003859: JUMP
0000385a: JUMPDEST
0000385b: PUSH1 0x1c
0000385d: PUSH0
0000385e: PUSH1 0x64
00003860: SWAP3
00003861: DUP2
00003862: SWAP5
00003863: PUSH1 0x20
00003865: SWAP7
00003866: PUSH1 0x40
00003868: MLOAD
00003869: SWAP9
0000386a: PUSH1 0x60
0000386c: MSTORE
0000386d: PUSH1 0x40
0000386f: MSTORE
00003870: PUSH1 0x60
00003872: SHL
00003873: PUSH1 0x2c
00003875: MSTORE
00003876: PUSH16 0x23b872dd000000000000000000000000
00003887: PUSH1 0x0c
00003889: MSTORE
0000388a: GAS
0000388b: CALL
0000388c: RETURNDATASIZE
0000388d: ISZERO
0000388e: PUSH1 0x01
00003890: PUSH0
00003891: MLOAD
00003892: EQ
00003893: OR
00003894: AND
00003895: ISZERO
00003896: PUSH2 0x38a2
00003899: JUMPI
0000389a: PUSH0
0000389b: PUSH1 0x60
0000389d: MSTORE
0000389e: PUSH1 0x40
000038a0: MSTORE
000038a1: JUMP
000038a2: JUMPDEST
000038a3: PUSH4 0x7939f424
000038a8: PUSH0
000038a9: MSTORE
000038aa: PUSH1 0x04
000038ac: PUSH1 0x1c
000038ae: REVERT
000038af: JUMPDEST
000038b0: SWAP1
000038b1: PUSH0
000038b2: MSTORE
000038b3: PUSH32 0xe8b606ac1e5df7657db58d297ca8f41c090fc94c5fd2d6958f043e41736e9fa6
000038d4: PUSH1 0x20
000038d6: PUSH0
000038d7: LOG2
000038d8: JUMP
000038d9: JUMPDEST
000038da: PUSH1 0x01
000038dc: DUP2
000038dd: PUSH1 0x5a
000038df: SHR
000038e0: AND
000038e1: PUSH2 0x38eb
000038e4: JUMPI
000038e5: JUMPDEST
000038e6: POP
000038e7: POP
000038e8: POP
000038e9: POP
000038ea: JUMP
000038eb: JUMPDEST
000038ec: PUSH0
000038ed: PUSH1 0x1c
000038ef: PUSH2 0x01c0
000038f2: DUP3
000038f3: SWAP7
000038f4: SWAP6
000038f5: DUP7
000038f6: DUP5
000038f7: SWAP8
000038f8: CALLDATASIZE
000038f9: SUB
000038fa: SWAP3
000038fb: DUP4
000038fc: SWAP3
000038fd: PUSH1 0x40
000038ff: MLOAD
00003900: SWAP9
00003901: PUSH4 0x83d9e1eb
00003906: DUP11
00003907: MSTORE
00003908: PUSH1 0x20
0000390a: DUP11
0000390b: ADD
0000390c: MSTORE
0000390d: PUSH1 0x40
0000390f: DUP10
00003910: ADD
00003911: MCOPY
00003912: PUSH2 0x0200
00003915: DUP1
00003916: DUP9
00003917: ADD
00003918: MSTORE
00003919: DUP2
0000391a: PUSH2 0x0220
0000391d: DUP9
0000391e: ADD
0000391f: MSTORE
00003920: PUSH2 0x0240
00003923: DUP8
00003924: ADD
00003925: CALLDATACOPY
00003926: PUSH2 0x0224
00003929: ADD
0000392a: SWAP4
0000392b: ADD
0000392c: SWAP2
0000392d: PUSH1 0x60
0000392f: SHR
00003930: GAS
00003931: CALL
00003932: ISZERO
00003933: PUSH2 0x0ebc
00003936: JUMPI
00003937: PUSH0
00003938: DUP1
00003939: DUP1
0000393a: DUP1
0000393b: PUSH2 0x38e5
0000393e: JUMP
0000393f: JUMPDEST
00003940: SWAP1
00003941: PUSH2 0x2985
00003944: PUSH16 0xffffffffffffffffffffffffffffffff
00003955: DUP4
00003956: AND
00003957: DUP1
00003958: SWAP4
00003959: EQ
0000395a: PUSH2 0x51b6
0000395d: JUMP
0000395e: JUMPDEST
0000395f: PUSH0
00003960: MSTORE
00003961: PUSH32 0xf2672935fc79f5237559e2e2999dbe743bf65430894ac2b37666890e7c69e1af
00003982: PUSH1 0x20
00003984: PUSH0
00003985: LOG1
00003986: JUMP
00003987: JUMPDEST
00003988: PUSH2 0x11c7
0000398b: PUSH16 0xffffffffffffffffffffffffffffffff
0000399c: PUSH1 0x20
0000399e: DUP4
0000399f: ADD
000039a0: MLOAD
000039a1: AND
000039a2: SWAP2
000039a3: PUSH13 0xffffffffffffffffffffffffff
000039b1: PUSH1 0x80
000039b3: DUP3
000039b4: ADD
000039b5: MLOAD
000039b6: AND
000039b7: SWAP1
000039b8: PUSH2 0x3e0d
000039bb: JUMP
000039bc: JUMPDEST
000039bd: PUSH2 0x055b
000039c0: PUSH1 0x05
000039c2: SLOAD
000039c3: PUSH16 0xffffffffffffffffffffffffffffffff
000039d4: DUP2
000039d5: AND
000039d6: SWAP1
000039d7: PUSH1 0x80
000039d9: SHR
000039da: PUSH2 0x2b68
000039dd: JUMP
000039de: JUMPDEST
000039df: SWAP2
000039e0: SWAP1
000039e1: PUSH1 0x05
000039e3: SLOAD
000039e4: SWAP1
000039e5: PUSH16 0xffffffffffffffffffffffffffffffff
000039f6: SWAP2
000039f7: DUP3
000039f8: DUP2
000039f9: AND
000039fa: SWAP1
000039fb: PUSH1 0x80
000039fd: SHR
000039fe: DUP2
000039ff: EQ
00003a00: PUSH2 0x3afc
00003a03: JUMPI
00003a04: PUSH0
00003a05: MSTORE
00003a06: PUSH1 0x06
00003a08: PUSH1 0x20
00003a0a: MSTORE
00003a0b: DUP2
00003a0c: PUSH2 0x3a3d
00003a0f: PUSH4 0xffffffff
00003a14: PUSH1 0x40
00003a16: PUSH0
00003a17: KECCAK256
00003a18: SLOAD
00003a19: AND
00003a1a: SWAP3
00003a1b: DUP4
00003a1c: PUSH2 0x3a36
00003a1f: PUSH2 0x07b9
00003a22: DUP3
00003a23: PUSH4 0xffffffff
00003a28: AND
00003a29: PUSH0
00003a2a: MSTORE
00003a2b: PUSH1 0x07
00003a2d: PUSH1 0x20
00003a2f: MSTORE
00003a30: PUSH1 0x40
00003a32: PUSH0
00003a33: KECCAK256
00003a34: SWAP1
00003a35: JUMP
00003a36: JUMPDEST
00003a37: SWAP8
00003a38: DUP9
00003a39: PUSH2 0x4264
00003a3c: JUMP
00003a3d: JUMPDEST
00003a3e: SWAP1
00003a3f: POP
00003a40: AND
00003a41: SWAP4
00003a42: PUSH2 0x3a5d
00003a45: DUP2
00003a46: PUSH2 0x1f8f
00003a49: DUP5
00003a4a: PUSH4 0xffffffff
00003a4f: AND
00003a50: PUSH0
00003a51: MSTORE
00003a52: PUSH1 0x07
00003a54: PUSH1 0x20
00003a56: MSTORE
00003a57: PUSH1 0x40
00003a59: PUSH0
00003a5a: KECCAK256
00003a5b: SWAP1
00003a5c: JUMP
00003a5d: JUMPDEST
00003a5e: PUSH13 0xffffffffffffffffffffffffff
00003a6c: PUSH1 0x20
00003a6e: DUP2
00003a6f: DUP4
00003a70: MLOAD
00003a71: AND
00003a72: SWAP3
00003a73: ADD
00003a74: MLOAD
00003a75: AND
00003a76: EQ
00003a77: PUSH2 0x3a7e
00003a7a: JUMPI
00003a7b: POP
00003a7c: POP
00003a7d: JUMP
00003a7e: JUMPDEST
00003a7f: PUSH1 0x05
00003a81: SLOAD
00003a82: SWAP2
00003a83: DUP1
00003a84: DUP4
00003a85: AND
00003a86: SWAP3
00003a87: PUSH1 0x80
00003a89: SHR
00003a8a: DUP4
00003a8b: EQ
00003a8c: PUSH2 0x3afc
00003a8f: JUMPI
00003a90: PUSH2 0x3acd
00003a93: DUP4
00003a94: PUSH2 0x2985
00003a97: SWAP5
00003a98: PUSH0
00003a99: MSTORE
00003a9a: PUSH1 0x06
00003a9c: PUSH1 0x20
00003a9e: MSTORE
00003a9f: PUSH1 0x40
00003aa1: PUSH0
00003aa2: KECCAK256
00003aa3: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000
00003ac4: DUP2
00003ac5: SLOAD
00003ac6: AND
00003ac7: SWAP1
00003ac8: SSTORE
00003ac9: PUSH2 0x2987
00003acc: JUMP
00003acd: JUMPDEST
00003ace: AND
00003acf: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000
00003af0: PUSH1 0x05
00003af2: SLOAD
00003af3: AND
00003af4: OR
00003af5: PUSH1 0x05
00003af7: SSTORE
00003af8: PUSH2 0x44b1
00003afb: JUMP
00003afc: JUMPDEST
00003afd: PUSH1 0x04
00003aff: PUSH1 0x40
00003b01: MLOAD
00003b02: PUSH32 0x8727480100000000000000000000000000000000000000000000000000000000
00003b23: DUP2
00003b24: MSTORE
00003b25: REVERT
00003b26: JUMPDEST
00003b27: SWAP1
00003b28: PUSH2 0x2985
00003b2b: PUSH13 0xffffffffffffffffffffffffff
00003b39: DUP4
00003b3a: AND
00003b3b: DUP1
00003b3c: SWAP4
00003b3d: EQ
00003b3e: PUSH2 0x51b6
00003b41: JUMP
00003b42: JUMPDEST
00003b43: SWAP1
00003b44: PUSH0
00003b45: PUSH2 0x3b4c
00003b48: PUSH2 0x26e7
00003b4b: JUMP
00003b4c: JUMPDEST
00003b4d: MSTORE
00003b4e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003b63: DUP3
00003b64: AND
00003b65: PUSH0
00003b66: MSTORE
00003b67: PUSH1 0x04
00003b69: PUSH1 0x20
00003b6b: MSTORE
00003b6c: PUSH2 0x3b93
00003b6f: PUSH1 0x40
00003b71: PUSH0
00003b72: KECCAK256
00003b73: PUSH13 0xffffffffffffffffffffffffff
00003b81: PUSH2 0x3b88
00003b84: PUSH2 0x26e7
00003b87: JUMP
00003b88: JUMPDEST
00003b89: SWAP2
00003b8a: SLOAD
00003b8b: AND
00003b8c: DUP2
00003b8d: MSTORE
00003b8e: SWAP3
00003b8f: PUSH2 0x462a
00003b92: JUMP
00003b93: JUMPDEST
00003b94: PUSH2 0x3b99
00003b97: JUMPI
00003b98: JUMP
00003b99: JUMPDEST
00003b9a: PUSH4 0x6bc671fd
00003b9f: PUSH0
00003ba0: MSTORE
00003ba1: PUSH1 0x04
00003ba3: PUSH1 0x1c
00003ba5: REVERT
00003ba6: JUMPDEST
00003ba7: SWAP4
00003ba8: SWAP3
00003ba9: SWAP6
00003baa: SWAP5
00003bab: SWAP2
00003bac: SWAP1
00003bad: SWAP6
00003bae: PUSH1 0xc0
00003bb0: DUP6
00003bb1: ADD
00003bb2: SWAP1
00003bb3: PUSH2 0x3bc0
00003bb6: DUP3
00003bb7: MLOAD
00003bb8: PUSH4 0xffffffff
00003bbd: AND
00003bbe: SWAP1
00003bbf: JUMP
00003bc0: JUMPDEST
00003bc1: SWAP8
00003bc2: PUSH4 0xffffffff
00003bc7: SWAP3
00003bc8: DUP4
00003bc9: DUP11
00003bca: AND
00003bcb: ISZERO
00003bcc: PUSH2 0x3d8e
00003bcf: JUMPI
00003bd0: JUMPDEST
00003bd1: POP
00003bd2: SWAP4
00003bd3: DUP9
00003bd4: SWAP4
00003bd5: PUSH2 0x3d4b
00003bd8: SWAP4
00003bd9: PUSH2 0x3d44
00003bdc: DUP5
00003bdd: PUSH2 0x3c49
00003be0: PUSH2 0x098c
00003be3: SWAP10
00003be4: PUSH2 0x3c26
00003be7: PUSH13 0xffffffffffffffffffffffffff
00003bf5: PUSH2 0x2985
00003bf8: SWAP15
00003bf9: SWAP14
00003bfa: SWAP10
00003bfb: AND
00003bfc: SWAP8
00003bfd: DUP14
00003bfe: DUP10
00003bff: DUP14
00003c00: DUP11
00003c01: PUSH32 0xdd87c59d295b0b4c1acf1ac29358d435e4d85459d04000000000000000000000
00003c22: PUSH2 0x51f5
00003c25: JUMP
00003c26: JUMPDEST
00003c27: PUSH2 0x3572
00003c2a: PUSH2 0x19c2
00003c2d: DUP5
00003c2e: PUSH2 0x3c44
00003c31: DUP5
00003c32: MLOAD
00003c33: PUSH13 0xffffffffffffffffffffffffff
00003c41: AND
00003c42: SWAP1
00003c43: JUMP
00003c44: JUMPDEST
00003c45: PUSH2 0x340b
00003c48: JUMP
00003c49: JUMPDEST
00003c4a: PUSH2 0x3c54
00003c4d: DUP7
00003c4e: ADDRESS
00003c4f: DUP7
00003c50: PUSH2 0x5011
00003c53: JUMP
00003c54: JUMPDEST
00003c55: PUSH2 0x3ce1
00003c58: PUSH2 0x3c8e
00003c5b: DUP6
00003c5c: PUSH2 0x06cf
00003c5f: PUSH2 0x3c79
00003c62: PUSH2 0x07b9
00003c65: DUP14
00003c66: PUSH4 0xffffffff
00003c6b: AND
00003c6c: PUSH0
00003c6d: MSTORE
00003c6e: PUSH1 0x07
00003c70: PUSH1 0x20
00003c72: MSTORE
00003c73: PUSH1 0x40
00003c75: PUSH0
00003c76: KECCAK256
00003c77: SWAP1
00003c78: JUMP
00003c79: JUMPDEST
00003c7a: SWAP12
00003c7b: PUSH4 0xffffffff
00003c80: AND
00003c81: PUSH0
00003c82: MSTORE
00003c83: PUSH1 0x08
00003c85: PUSH1 0x20
00003c87: MSTORE
00003c88: PUSH1 0x40
00003c8a: PUSH0
00003c8b: KECCAK256
00003c8c: SWAP1
00003c8d: JUMP
00003c8e: JUMPDEST
00003c8f: PUSH2 0x3ca9
00003c92: DUP4
00003c93: PUSH2 0x19bd
00003c96: DUP4
00003c97: SLOAD
00003c98: PUSH13 0xffffffffffffffffffffffffff
00003ca6: AND
00003ca7: SWAP1
00003ca8: JUMP
00003ca9: JUMPDEST
00003caa: PUSH13 0xffffffffffffffffffffffffff
00003cb8: AND
00003cb9: PUSH32 0xffffffffffffffffffffffffffffffffffffff00000000000000000000000000
00003cda: DUP3
00003cdb: SLOAD
00003cdc: AND
00003cdd: OR
00003cde: SWAP1
00003cdf: SSTORE
00003ce0: JUMP
00003ce1: JUMPDEST
00003ce2: PUSH2 0x3d12
00003ce5: PUSH2 0x3cff
00003ce8: DUP3
00003ce9: PUSH2 0x19bd
00003cec: DUP12
00003ced: MLOAD
00003cee: PUSH13 0xffffffffffffffffffffffffff
00003cfc: AND
00003cfd: SWAP1
00003cfe: JUMP
00003cff: JUMPDEST
00003d00: PUSH13 0xffffffffffffffffffffffffff
00003d0e: AND
00003d0f: DUP10
00003d10: MSTORE
00003d11: JUMP
00003d12: JUMPDEST
00003d13: PUSH2 0x3d31
00003d16: PUSH1 0xa0
00003d18: DUP12
00003d19: ADD
00003d1a: SWAP2
00003d1b: PUSH2 0x19bd
00003d1e: DUP4
00003d1f: MLOAD
00003d20: PUSH13 0xffffffffffffffffffffffffff
00003d2e: AND
00003d2f: SWAP1
00003d30: JUMP
00003d31: JUMPDEST
00003d32: PUSH13 0xffffffffffffffffffffffffff
00003d40: AND
00003d41: SWAP1
00003d42: MSTORE
00003d43: JUMP
00003d44: JUMPDEST
00003d45: DUP11
00003d46: AND
00003d47: PUSH2 0x526f
00003d4a: JUMP
00003d4b: JUMPDEST
00003d4c: PUSH2 0x3d5d
00003d4f: PUSH2 0x3d56
00003d52: PUSH2 0x2603
00003d55: JUMP
00003d56: JUMPDEST
00003d57: DUP5
00003d58: DUP4
00003d59: PUSH2 0x49e2
00003d5c: JUMP
00003d5d: JUMPDEST
00003d5e: DUP1
00003d5f: PUSH2 0x3d7c
00003d62: JUMPI
00003d63: JUMPDEST
00003d64: POP
00003d65: PUSH2 0x1f8f
00003d68: DUP7
00003d69: PUSH4 0xffffffff
00003d6e: AND
00003d6f: PUSH0
00003d70: MSTORE
00003d71: PUSH1 0x07
00003d73: PUSH1 0x20
00003d75: MSTORE
00003d76: PUSH1 0x40
00003d78: PUSH0
00003d79: KECCAK256
00003d7a: SWAP1
00003d7b: JUMP
00003d7c: JUMPDEST
00003d7d: PUSH2 0x3d88
00003d80: SWAP1
00003d81: DUP8
00003d82: DUP6
00003d83: DUP5
00003d84: PUSH2 0x4264
00003d87: JUMP
00003d88: JUMPDEST
00003d89: POP
00003d8a: PUSH2 0x3d63
00003d8d: JUMP
00003d8e: JUMPDEST
00003d8f: SWAP4
00003d90: PUSH2 0x3dfc
00003d93: SWAP10
00003d94: POP
00003d95: PUSH2 0x3d4b
00003d98: SWAP4
00003d99: PUSH2 0x3d44
00003d9c: DUP10
00003d9d: SWAP9
00003d9e: SWAP5
00003d9f: PUSH2 0x3c49
00003da2: PUSH2 0x098c
00003da5: SWAP10
00003da6: SWAP6
00003da7: PUSH2 0x3ded
00003daa: PUSH2 0x2d9e
00003dad: PUSH2 0x3de7
00003db0: PUSH2 0x2985
00003db3: SWAP16
00003db4: PUSH2 0x3dbd
00003db7: SWAP1
00003db8: MLOAD
00003db9: ISZERO
00003dba: ISZERO
00003dbb: SWAP1
00003dbc: JUMP
00003dbd: JUMPDEST
00003dbe: PUSH32 0x0000000000000000000000000000000000000000000000000000000000015180
00003ddf: SWAP1
00003de0: DUP2
00003de1: PUSH0
00003de2: SUB
00003de3: MUL
00003de4: ADD
00003de5: SWAP1
00003de6: JUMP
00003de7: JUMPDEST
00003de8: TIMESTAMP
00003de9: PUSH2 0x2a67
00003dec: JUMP
00003ded: JUMPDEST
00003dee: SWAP15
00003def: DUP16
00003df0: DUP1
00003df1: SWAP12
00003df2: PUSH2 0x17c4
00003df5: DUP9
00003df6: DUP4
00003df7: AND
00003df8: PUSH2 0x44d7
00003dfb: JUMP
00003dfc: JUMPDEST
00003dfd: SWAP6
00003dfe: SWAP10
00003dff: POP
00003e00: POP
00003e01: SWAP5
00003e02: SWAP9
00003e03: SWAP10
00003e04: POP
00003e05: POP
00003e06: SWAP4
00003e07: POP
00003e08: SWAP4
00003e09: PUSH2 0x3bd0
00003e0c: JUMP
00003e0d: JUMPDEST
00003e0e: SWAP1
00003e0f: PUSH14 0xffffffffffffffffffffffffffff
00003e1e: PUSH2 0x0180
00003e21: PUSH2 0x055b
00003e24: SWAP4
00003e25: ADD
00003e26: MLOAD
00003e27: AND
00003e28: SWAP1
00003e29: PUSH2 0x529f
00003e2c: JUMP
00003e2d: JUMPDEST
00003e2e: PUSH13 0xffffffffffffffffffffffffff
00003e3c: DUP1
00003e3d: PUSH1 0xa0
00003e3f: DUP4
00003e40: ADD
00003e41: MLOAD
00003e42: AND
00003e43: SWAP1
00003e44: PUSH1 0x80
00003e46: DUP4
00003e47: ADD
00003e48: MLOAD
00003e49: AND
00003e4a: DUP2
00003e4b: DUP2
00003e4c: SUB
00003e4d: SWAP1
00003e4e: DUP2
00003e4f: GT
00003e50: PUSH2 0x0b38
00003e53: JUMPI
00003e54: PUSH2 0x3e67
00003e57: SWAP1
00003e58: PUSH2 0xffff
00003e5b: PUSH2 0x0160
00003e5e: DUP6
00003e5f: ADD
00003e60: MLOAD
00003e61: AND
00003e62: SWAP1
00003e63: PUSH2 0x52ee
00003e66: JUMP
00003e67: JUMPDEST
00003e68: SWAP1
00003e69: DUP2
00003e6a: ADD
00003e6b: DUP1
00003e6c: SWAP2
00003e6d: GT
00003e6e: PUSH2 0x0b38
00003e71: JUMPI
00003e72: PUSH2 0x3e91
00003e75: SWAP1
00003e76: PUSH14 0xffffffffffffffffffffffffffff
00003e85: PUSH2 0x0180
00003e88: DUP5
00003e89: ADD
00003e8a: MLOAD
00003e8b: AND
00003e8c: SWAP1
00003e8d: PUSH2 0x529f
00003e90: JUMP
00003e91: JUMPDEST
00003e92: PUSH16 0xffffffffffffffffffffffffffffffff
00003ea3: PUSH1 0x40
00003ea5: DUP4
00003ea6: ADD
00003ea7: MLOAD
00003ea8: AND
00003ea9: DUP2
00003eaa: ADD
00003eab: DUP1
00003eac: SWAP2
00003ead: GT
00003eae: PUSH2 0x0b38
00003eb1: JUMPI
00003eb2: PUSH2 0x3ed4
00003eb5: PUSH2 0x0718
00003eb8: PUSH1 0x60
00003eba: PUSH2 0x055b
00003ebd: SWAP5
00003ebe: ADD
00003ebf: MLOAD
00003ec0: PUSH16 0xffffffffffffffffffffffffffffffff
00003ed1: AND
00003ed2: SWAP1
00003ed3: JUMP
00003ed4: JUMPDEST
00003ed5: SWAP1
00003ed6: PUSH2 0x2a67
00003ed9: JUMP
00003eda: JUMPDEST
00003edb: PUSH2 0x11c7
00003ede: SWAP1
00003edf: PUSH2 0x3e2d
00003ee2: JUMP
00003ee3: JUMPDEST
00003ee4: PUSH4 0x499fddb1
00003ee9: PUSH0
00003eea: MSTORE
00003eeb: PUSH1 0x04
00003eed: PUSH1 0x1c
00003eef: REVERT
00003ef0: JUMPDEST
00003ef1: PUSH4 0x37f1a75f
00003ef6: PUSH0
00003ef7: MSTORE
00003ef8: PUSH1 0x04
00003efa: PUSH1 0x1c
00003efc: REVERT
00003efd: JUMPDEST
00003efe: SWAP2
00003eff: SWAP1
00003f00: PUSH1 0x01
00003f02: DUP4
00003f03: PUSH1 0x55
00003f05: SHR
00003f06: AND
00003f07: PUSH2 0x3f0f
00003f0a: JUMPI
00003f0b: POP
00003f0c: POP
00003f0d: POP
00003f0e: JUMP
00003f0f: JUMPDEST
00003f10: PUSH0
00003f11: SWAP3
00003f12: DUP4
00003f13: PUSH1 0x1c
00003f15: DUP2
00003f16: SWAP5
00003f17: PUSH2 0x01c0
00003f1a: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc
00003f3b: CALLDATASIZE
00003f3c: ADD
00003f3d: SWAP2
00003f3e: PUSH1 0x40
00003f40: MLOAD
00003f41: SWAP7
00003f42: PUSH4 0x03473d8d
00003f47: DUP9
00003f48: MSTORE
00003f49: PUSH1 0x20
00003f4b: DUP9
00003f4c: ADD
00003f4d: MSTORE
00003f4e: PUSH1 0x40
00003f50: DUP8
00003f51: ADD
00003f52: MCOPY
00003f53: PUSH2 0x0200
00003f56: SWAP1
00003f57: DUP2
00003f58: DUP1
00003f59: DUP8
00003f5a: ADD
00003f5b: MSTORE
00003f5c: DUP1
00003f5d: PUSH2 0x0220
00003f60: DUP8
00003f61: ADD
00003f62: MSTORE
00003f63: PUSH1 0x24
00003f65: PUSH2 0x0240
00003f68: DUP8
00003f69: ADD
00003f6a: CALLDATACOPY
00003f6b: CALLDATASIZE
00003f6c: ADD
00003f6d: SWAP4
00003f6e: ADD
00003f6f: SWAP2
00003f70: PUSH1 0x60
00003f72: SHR
00003f73: GAS
00003f74: CALL
00003f75: ISZERO
00003f76: PUSH2 0x0ebc
00003f79: JUMPI
00003f7a: JUMP
00003f7b: JUMPDEST
00003f7c: PUSH2 0x3f83
00003f7f: PUSH2 0x2bf8
00003f82: JUMP
00003f83: JUMPDEST
00003f84: PUSH2 0x3f8b
00003f87: PUSH2 0x2fe6
00003f8a: JUMP
00003f8b: JUMPDEST
00003f8c: SWAP1
00003f8d: PUSH2 0x3f96
00003f90: DUP3
00003f91: MLOAD
00003f92: ISZERO
00003f93: ISZERO
00003f94: SWAP1
00003f95: JUMP
00003f96: JUMPDEST
00003f97: PUSH2 0x40e0
00003f9a: JUMPI
00003f9b: PUSH2 0x3fb3
00003f9e: SWAP1
00003f9f: PUSH2 0x3fa7
00003fa2: DUP4
00003fa3: PUSH2 0x3987
00003fa6: JUMP
00003fa7: JUMPDEST
00003fa8: SWAP1
00003fa9: DUP2
00003faa: DUP1
00003fab: DUP3
00003fac: SUB
00003fad: SWAP2
00003fae: LT
00003faf: MUL
00003fb0: ADD
00003fb1: SWAP1
00003fb2: JUMP
00003fb3: JUMPDEST
00003fb4: SWAP1
00003fb5: PUSH2 0x3fe4
00003fb8: PUSH2 0x3fdf
00003fbb: PUSH2 0x3fd9
00003fbe: PUSH2 0x315e
00003fc1: PUSH2 0x0180
00003fc4: DUP6
00003fc5: ADD
00003fc6: MLOAD
00003fc7: PUSH14 0xffffffffffffffffffffffffffff
00003fd6: AND
00003fd7: SWAP1
00003fd8: JUMP
00003fd9: JUMPDEST
00003fda: DUP5
00003fdb: PUSH2 0x51cf
00003fde: JUMP
00003fdf: JUMPDEST
00003fe0: PUSH2 0x3b26
00003fe3: JUMP
00003fe4: JUMPDEST
00003fe5: SWAP1
00003fe6: PUSH13 0xffffffffffffffffffffffffff
00003ff4: DUP3
00003ff5: AND
00003ff6: DUP1
00003ff7: ISZERO
00003ff8: PUSH2 0x40db
00003ffb: JUMPI
00003ffc: PUSH2 0x40d2
00003fff: SWAP3
00004000: PUSH2 0x40b3
00004003: PUSH2 0x098c
00004006: SWAP3
00004007: PUSH2 0x409b
0000400a: PUSH2 0x4012
0000400d: CALLER
0000400e: PUSH2 0x3b42
00004011: JUMP
00004012: JUMPDEST
00004013: PUSH2 0x403e
00004016: DUP8
00004017: DUP5
00004018: CALLER
00004019: PUSH32 0xdd87c59d295b0b4c1acf1ac29358d435e4d85459d04000000000000000000000
0000403a: PUSH2 0x5343
0000403d: JUMP
0000403e: JUMPDEST
0000403f: PUSH2 0x406a
00004042: DUP10
00004043: ADDRESS
00004044: CALLER
00004045: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00004066: PUSH2 0x385a
00004069: JUMP
0000406a: JUMPDEST
0000406b: PUSH2 0x4088
0000406e: PUSH2 0x19c2
00004071: DUP7
00004072: PUSH2 0x19bd
00004075: DUP5
00004076: MLOAD
00004077: PUSH13 0xffffffffffffffffffffffffff
00004085: AND
00004086: SWAP1
00004087: JUMP
00004088: JUMPDEST
00004089: CALLER
0000408a: PUSH0
0000408b: SWAP1
0000408c: DUP2
0000408d: MSTORE
0000408e: PUSH1 0x04
00004090: PUSH1 0x20
00004092: MSTORE
00004093: PUSH1 0x40
00004095: SWAP1
00004096: KECCAK256
00004097: PUSH2 0x342a
0000409a: JUMP
0000409b: JUMPDEST
0000409c: PUSH2 0x40ac
0000409f: DUP8
000040a0: CALLER
000040a1: PUSH2 0x359a
000040a4: PUSH0
000040a5: DUP1
000040a6: MSTORE
000040a7: CALLDATASIZE
000040a8: ISZERO
000040a9: MLOAD
000040aa: SWAP1
000040ab: JUMP
000040ac: JUMPDEST
000040ad: DUP7
000040ae: CALLER
000040af: PUSH2 0x53cf
000040b2: JUMP
000040b3: JUMPDEST
000040b4: PUSH2 0x3d31
000040b7: PUSH1 0x80
000040b9: DUP5
000040ba: ADD
000040bb: SWAP2
000040bc: PUSH2 0x19bd
000040bf: DUP4
000040c0: MLOAD
000040c1: PUSH13 0xffffffffffffffffffffffffff
000040cf: AND
000040d0: SWAP1
000040d1: JUMP
000040d2: JUMPDEST
000040d3: SWAP1
000040d4: PUSH2 0x2985
000040d7: PUSH2 0x2c16
000040da: JUMP
000040db: JUMPDEST
000040dc: PUSH2 0x5336
000040df: JUMP
000040e0: JUMPDEST
000040e1: PUSH2 0x5329
000040e4: JUMP
000040e5: JUMPDEST
000040e6: PUSH4 0x449e5f50
000040eb: PUSH0
000040ec: MSTORE
000040ed: PUSH1 0x04
000040ef: PUSH1 0x1c
000040f1: REVERT
000040f2: JUMPDEST
000040f3: PUSH1 0x10
000040f5: PUSH0
000040f6: PUSH1 0x44
000040f8: SWAP3
000040f9: PUSH1 0x20
000040fb: SWAP6
000040fc: DUP3
000040fd: SWAP6
000040fe: PUSH1 0x14
00004100: MSTORE
00004101: PUSH1 0x34
00004103: MSTORE
00004104: PUSH16 0xa9059cbb000000000000000000000000
00004115: DUP3
00004116: MSTORE
00004117: GAS
00004118: CALL
00004119: RETURNDATASIZE
0000411a: ISZERO
0000411b: PUSH1 0x01
0000411d: PUSH0
0000411e: MLOAD
0000411f: EQ
00004120: OR
00004121: AND
00004122: ISZERO
00004123: PUSH2 0x04df
00004126: JUMPI
00004127: PUSH0
00004128: PUSH1 0x34
0000412a: MSTORE
0000412b: JUMP
0000412c: JUMPDEST
0000412d: DUP2
0000412e: ISZERO
0000412f: PUSH2 0x0cd8
00004132: JUMPI
00004133: DUP1
00004134: MLOAD
00004135: PUSH2 0x0ccb
00004138: JUMPI
00004139: PUSH2 0x4164
0000413c: DUP3
0000413d: ADDRESS
0000413e: CALLER
0000413f: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
00004160: PUSH2 0x385a
00004163: JUMP
00004164: JUMPDEST
00004165: DUP2
00004166: PUSH0
00004167: MSTORE
00004168: CALLER
00004169: PUSH32 0xe8b606ac1e5df7657db58d297ca8f41c090fc94c5fd2d6958f043e41736e9fa6
0000418a: PUSH1 0x20
0000418c: PUSH0
0000418d: LOG2
0000418e: PUSH32 0xdd87c59d295b0b4c1acf1ac29358d435e4d85459d04000000000000000000000
000041af: SWAP2
000041b0: PUSH1 0x01
000041b2: DUP4
000041b3: PUSH1 0x5a
000041b5: SHR
000041b6: AND
000041b7: PUSH2 0x41bf
000041ba: JUMPI
000041bb: POP
000041bc: POP
000041bd: POP
000041be: JUMP
000041bf: JUMPDEST
000041c0: PUSH0
000041c1: SWAP3
000041c2: DUP4
000041c3: PUSH1 0x1c
000041c5: DUP2
000041c6: SWAP5
000041c7: PUSH2 0x01c0
000041ca: PUSH1 0x03
000041cc: NOT
000041cd: CALLDATASIZE
000041ce: ADD
000041cf: SWAP2
000041d0: PUSH1 0x40
000041d2: MLOAD
000041d3: SWAP7
000041d4: PUSH4 0x83d9e1eb
000041d9: DUP9
000041da: MSTORE
000041db: PUSH1 0x20
000041dd: DUP9
000041de: ADD
000041df: MSTORE
000041e0: PUSH1 0x40
000041e2: DUP8
000041e3: ADD
000041e4: MCOPY
000041e5: PUSH2 0x0200
000041e8: DUP1
000041e9: DUP7
000041ea: ADD
000041eb: MSTORE
000041ec: PUSH2 0x0220
000041ef: SWAP1
000041f0: DUP1
000041f1: DUP3
000041f2: DUP8
000041f3: ADD
000041f4: MSTORE
000041f5: PUSH1 0x04
000041f7: PUSH2 0x0240
000041fa: DUP8
000041fb: ADD
000041fc: CALLDATACOPY
000041fd: CALLDATASIZE
000041fe: ADD
000041ff: SWAP4
00004200: ADD
00004201: SWAP2
00004202: PUSH1 0x60
00004204: SHR
00004205: GAS
00004206: CALL
00004207: ISZERO
00004208: PUSH2 0x0ebc
0000420b: JUMPI
0000420c: JUMP
0000420d: JUMPDEST
0000420e: PUSH1 0x01
00004210: DUP2
00004211: PUSH1 0x59
00004213: SHR
00004214: AND
00004215: PUSH2 0x421c
00004218: JUMPI
00004219: POP
0000421a: POP
0000421b: JUMP
0000421c: JUMPDEST
0000421d: PUSH0
0000421e: SWAP2
0000421f: DUP3
00004220: SWAP2
00004221: DUP3
00004222: PUSH1 0x1c
00004224: PUSH1 0x03
00004226: NOT
00004227: CALLDATASIZE
00004228: ADD
00004229: PUSH2 0x01c0
0000422c: PUSH1 0x40
0000422e: MLOAD
0000422f: SWAP6
00004230: PUSH4 0x9ecc64e6
00004235: DUP8
00004236: MSTORE
00004237: PUSH1 0x20
00004239: DUP8
0000423a: ADD
0000423b: MCOPY
0000423c: PUSH2 0x01e0
0000423f: DUP1
00004240: DUP7
00004241: ADD
00004242: MSTORE
00004243: PUSH2 0x0200
00004246: SWAP1
00004247: DUP1
00004248: DUP3
00004249: DUP8
0000424a: ADD
0000424b: MSTORE
0000424c: PUSH1 0x04
0000424e: PUSH2 0x0220
00004251: DUP8
00004252: ADD
00004253: CALLDATACOPY
00004254: CALLDATASIZE
00004255: ADD
00004256: SWAP4
00004257: ADD
00004258: SWAP2
00004259: PUSH1 0x60
0000425b: SHR
0000425c: GAS
0000425d: CALL
0000425e: ISZERO
0000425f: PUSH2 0x0ebc
00004262: JUMPI
00004263: JUMP
00004264: JUMPDEST
00004265: SWAP3
00004266: SWAP4
00004267: SWAP2
00004268: PUSH2 0x42b6
0000426b: SWAP2
0000426c: PUSH2 0x4282
0000426f: DUP6
00004270: MLOAD
00004271: PUSH13 0xffffffffffffffffffffffffff
0000427f: AND
00004280: SWAP1
00004281: JUMP
00004282: JUMPDEST
00004283: SWAP5
00004284: PUSH1 0x20
00004286: DUP2
00004287: ADD
00004288: SWAP6
00004289: PUSH13 0xffffffffffffffffffffffffff
00004297: SWAP5
00004298: DUP6
00004299: SWAP2
0000429a: PUSH2 0x42b0
0000429d: DUP10
0000429e: MLOAD
0000429f: PUSH13 0xffffffffffffffffffffffffff
000042ad: AND
000042ae: SWAP1
000042af: JUMP
000042b0: JUMPDEST
000042b1: SWAP1
000042b2: PUSH2 0x340b
000042b5: JUMP
000042b6: JUMPDEST
000042b7: AND
000042b8: DUP1
000042b9: ISZERO
000042ba: PUSH2 0x446a
000042bd: JUMPI
000042be: PUSH2 0x0180
000042c1: DUP4
000042c2: ADD
000042c3: SWAP8
000042c4: DUP9
000042c5: MLOAD
000042c6: PUSH2 0x42dc
000042c9: SWAP1
000042ca: PUSH14 0xffffffffffffffffffffffffffff
000042d9: AND
000042da: SWAP1
000042db: JUMP
000042dc: JUMPDEST
000042dd: PUSH14 0xffffffffffffffffffffffffffff
000042ec: AND
000042ed: PUSH2 0x42f5
000042f0: SWAP2
000042f1: PUSH2 0x51cf
000042f4: JUMP
000042f5: JUMPDEST
000042f6: DUP2
000042f7: DUP2
000042f8: LT
000042f9: SWAP1
000042fa: DUP3
000042fb: SWAP1
000042fc: SUB
000042fd: MUL
000042fe: ADD
000042ff: PUSH2 0x4307
00004302: SWAP1
00004303: PUSH2 0x3b26
00004306: JUMP
00004307: JUMPDEST
00004308: SWAP7
00004309: MLOAD
0000430a: SWAP4
0000430b: DUP8
0000430c: AND
0000430d: SWAP4
0000430e: PUSH2 0x4327
00004311: SWAP1
00004312: PUSH14 0xffffffffffffffffffffffffffff
00004321: AND
00004322: DUP6
00004323: PUSH2 0x2e57
00004326: JUMP
00004327: JUMPDEST
00004328: PUSH2 0x4330
0000432b: SWAP1
0000432c: PUSH2 0x393f
0000432f: JUMP
00004330: JUMPDEST
00004331: SWAP6
00004332: DUP8
00004333: DUP2
00004334: MLOAD
00004335: PUSH2 0x434a
00004338: SWAP1
00004339: PUSH13 0xffffffffffffffffffffffffff
00004347: AND
00004348: SWAP1
00004349: JUMP
0000434a: JUMPDEST
0000434b: SWAP1
0000434c: PUSH2 0x4354
0000434f: SWAP2
00004350: PUSH2 0x3476
00004353: JUMP
00004354: JUMPDEST
00004355: PUSH13 0xffffffffffffffffffffffffff
00004363: AND
00004364: SWAP1
00004365: MSTORE
00004366: PUSH1 0x40
00004368: ADD
00004369: DUP1
0000436a: MLOAD
0000436b: PUSH2 0x4387
0000436e: SWAP1
0000436f: DUP8
00004370: SWAP1
00004371: PUSH16 0xffffffffffffffffffffffffffffffff
00004382: AND
00004383: PUSH2 0x29a8
00004386: JUMP
00004387: JUMPDEST
00004388: PUSH16 0xffffffffffffffffffffffffffffffff
00004399: AND
0000439a: SWAP1
0000439b: MSTORE
0000439c: PUSH1 0xa0
0000439e: DUP2
0000439f: ADD
000043a0: DUP1
000043a1: MLOAD
000043a2: PUSH2 0x43bb
000043a5: SWAP1
000043a6: DUP9
000043a7: SWAP1
000043a8: PUSH13 0xffffffffffffffffffffffffff
000043b6: AND
000043b7: PUSH2 0x340b
000043ba: JUMP
000043bb: JUMPDEST
000043bc: PUSH13 0xffffffffffffffffffffffffff
000043ca: AND
000043cb: SWAP1
000043cc: MSTORE
000043cd: PUSH1 0x60
000043cf: DUP2
000043d0: ADD
000043d1: DUP1
000043d2: MLOAD
000043d3: PUSH2 0x43ef
000043d6: SWAP1
000043d7: DUP8
000043d8: SWAP1
000043d9: PUSH16 0xffffffffffffffffffffffffffffffff
000043ea: AND
000043eb: PUSH2 0x29a8
000043ee: JUMP
000043ef: JUMPDEST
000043f0: PUSH16 0xffffffffffffffffffffffffffffffff
00004401: AND
00004402: SWAP1
00004403: MSTORE
00004404: PUSH1 0x80
00004406: ADD
00004407: DUP1
00004408: MLOAD
00004409: PUSH2 0x4422
0000440c: SWAP1
0000440d: DUP8
0000440e: SWAP1
0000440f: PUSH13 0xffffffffffffffffffffffffff
0000441d: AND
0000441e: PUSH2 0x340b
00004421: JUMP
00004422: JUMPDEST
00004423: PUSH13 0xffffffffffffffffffffffffff
00004431: AND
00004432: SWAP1
00004433: MSTORE
00004434: PUSH0
00004435: DUP1
00004436: MSTORE
00004437: CALLDATASIZE
00004438: ISZERO
00004439: MLOAD
0000443a: SWAP1
0000443b: PUSH16 0xffffffffffffffffffffffffffffffff
0000444c: DUP6
0000444d: AND
0000444e: SWAP2
0000444f: DUP3
00004450: ADDRESS
00004451: SWAP2
00004452: PUSH2 0x445a
00004455: SWAP3
00004456: PUSH2 0x5011
00004459: JUMP
0000445a: JUMPDEST
0000445b: PUSH4 0xffffffff
00004460: AND
00004461: SWAP2
00004462: PUSH2 0x2985
00004465: SWAP3
00004466: PUSH2 0x53fd
00004469: JUMP
0000446a: JUMPDEST
0000446b: POP
0000446c: PUSH0
0000446d: SWAP7
0000446e: POP
0000446f: DUP7
00004470: SWAP6
00004471: POP
00004472: POP
00004473: POP
00004474: POP
00004475: POP
00004476: JUMP
00004477: JUMPDEST
00004478: SWAP2
00004479: SWAP3
0000447a: SWAP1
0000447b: SWAP3
0000447c: PUSH1 0x40
0000447e: MLOAD
0000447f: SWAP4
00004480: PUSH0
00004481: MSTORE
00004482: PUSH1 0x20
00004484: MSTORE
00004485: PUSH1 0x40
00004487: MSTORE
00004488: PUSH32 0x9262dc39b47cad3a0512e4c08dda248cb345e7163058f300bc63f56bda288b6e
000044a9: PUSH1 0x60
000044ab: PUSH0
000044ac: LOG2
000044ad: PUSH1 0x40
000044af: MSTORE
000044b0: JUMP
000044b1: JUMPDEST
000044b2: PUSH32 0xcbdf25bf6e096dd9030d89bb2ba2e3e7adb82d25a233c3ca3d92e9f098b74e55
000044d3: PUSH0
000044d4: DUP1
000044d5: LOG2
000044d6: JUMP
000044d7: JUMPDEST
000044d8: PUSH32 0x5c9a946d3041134198ebefcd814de7748def6576efd3d1b48f48193e183e89ef
000044f9: PUSH0
000044fa: DUP1
000044fb: LOG2
000044fc: JUMP
000044fd: JUMPDEST
000044fe: PUSH4 0x4d790997
00004503: PUSH0
00004504: MSTORE
00004505: PUSH1 0x04
00004507: PUSH1 0x1c
00004509: REVERT
0000450a: JUMPDEST
0000450b: PUSH0
0000450c: MSTORE
0000450d: PUSH32 0x9dc30b8eda31a6a144e092e5de600955523a6a925cc15cc1d1b9b4872cfa6155
0000452e: PUSH1 0x20
00004530: PUSH0
00004531: LOG1
00004532: JUMP
00004533: JUMPDEST
00004534: PUSH4 0x4a1c13a9
00004539: PUSH0
0000453a: MSTORE
0000453b: PUSH1 0x04
0000453d: PUSH1 0x1c
0000453f: REVERT
00004540: JUMPDEST
00004541: PUSH4 0xd0242b28
00004546: PUSH0
00004547: MSTORE
00004548: PUSH1 0x04
0000454a: PUSH1 0x1c
0000454c: REVERT
0000454d: JUMPDEST
0000454e: PUSH4 0x119fe6e3
00004553: PUSH0
00004554: MSTORE
00004555: PUSH1 0x04
00004557: PUSH1 0x1c
00004559: REVERT
0000455a: JUMPDEST
0000455b: SWAP2
0000455c: SWAP1
0000455d: PUSH1 0x01
0000455f: DUP4
00004560: PUSH1 0x5b
00004562: SHR
00004563: AND
00004564: PUSH2 0x456c
00004567: JUMPI
00004568: POP
00004569: POP
0000456a: POP
0000456b: JUMP
0000456c: JUMPDEST
0000456d: PUSH0
0000456e: SWAP3
0000456f: DUP4
00004570: PUSH1 0x1c
00004572: DUP2
00004573: SWAP5
00004574: PUSH2 0x01c0
00004577: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc
00004598: CALLDATASIZE
00004599: ADD
0000459a: SWAP2
0000459b: PUSH1 0x40
0000459d: MLOAD
0000459e: SWAP7
0000459f: PUSH4 0xb1cfda0d
000045a4: DUP9
000045a5: MSTORE
000045a6: PUSH1 0x20
000045a8: DUP9
000045a9: ADD
000045aa: MSTORE
000045ab: PUSH1 0x40
000045ad: DUP8
000045ae: ADD
000045af: MCOPY
000045b0: PUSH2 0x0200
000045b3: SWAP1
000045b4: DUP2
000045b5: DUP1
000045b6: DUP8
000045b7: ADD
000045b8: MSTORE
000045b9: DUP1
000045ba: PUSH2 0x0220
000045bd: DUP8
000045be: ADD
000045bf: MSTORE
000045c0: PUSH1 0x24
000045c2: PUSH2 0x0240
000045c5: DUP8
000045c6: ADD
000045c7: CALLDATACOPY
000045c8: CALLDATASIZE
000045c9: ADD
000045ca: SWAP4
000045cb: ADD
000045cc: SWAP2
000045cd: PUSH1 0x60
000045cf: SHR
000045d0: GAS
000045d1: CALL
000045d2: ISZERO
000045d3: PUSH2 0x0ebc
000045d6: JUMPI
000045d7: JUMP
000045d8: JUMPDEST
000045d9: PUSH0
000045da: MSTORE
000045db: PUSH32 0xb848ae6b1253b6cb77e81464128ce8bd94d3d524fea54e801e0da869784dca33
000045fc: PUSH1 0x20
000045fe: PUSH0
000045ff: LOG1
00004600: JUMP
00004601: JUMPDEST
00004602: PUSH0
00004603: MSTORE
00004604: PUSH32 0x860c0aa5520013080c2f65981705fcdea474d9f7c3daf954656ed5e65d692d1f
00004625: PUSH1 0x20
00004627: PUSH0
00004628: LOG1
00004629: JUMP
0000462a: JUMPDEST
0000462b: SWAP1
0000462c: PUSH1 0x40
0000462e: MLOAD
0000462f: SWAP2
00004630: PUSH4 0x06e74444
00004635: PUSH0
00004636: MSTORE
00004637: PUSH32 0x0000000000000000000000009025d3c84f24a9cf2a95bcdc4c91cbfec763b58f
00004658: PUSH1 0x20
0000465a: MSTORE
0000465b: PUSH1 0x40
0000465d: MSTORE
0000465e: PUSH1 0x20
00004660: PUSH0
00004661: PUSH1 0x44
00004663: PUSH1 0x1c
00004665: PUSH32 0x000000000000000000000000437e0551892c2c9b06d3ffd248fe60572e08cd1a
00004686: GAS
00004687: STATICCALL
00004688: PUSH1 0x20
0000468a: RETURNDATASIZE
0000468b: EQ
0000468c: AND
0000468d: ISZERO
0000468e: PUSH2 0x0ebc
00004691: JUMPI
00004692: PUSH0
00004693: MLOAD
00004694: SWAP2
00004695: PUSH1 0x40
00004697: MSTORE
00004698: JUMP
00004699: JUMPDEST
0000469a: SWAP1
0000469b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000046b0: DUP2
000046b1: AND
000046b2: PUSH0
000046b3: MSTORE
000046b4: PUSH1 0x04
000046b6: PUSH1 0x20
000046b8: MSTORE
000046b9: PUSH1 0x40
000046bb: PUSH0
000046bc: KECCAK256
000046bd: SWAP2
000046be: PUSH13 0xffffffffffffffffffffffffff
000046cc: PUSH2 0x46d3
000046cf: PUSH2 0x26e7
000046d2: JUMP
000046d3: JUMPDEST
000046d4: SWAP4
000046d5: SLOAD
000046d6: AND
000046d7: SWAP3
000046d8: DUP4
000046d9: DUP2
000046da: MSTORE
000046db: DUP4
000046dc: PUSH2 0x46e5
000046df: JUMPI
000046e0: POP
000046e1: POP
000046e2: POP
000046e3: POP
000046e4: JUMP
000046e5: JUMPDEST
000046e6: DUP2
000046e7: PUSH2 0x4715
000046ea: SWAP2
000046eb: DUP6
000046ec: PUSH2 0x470b
000046ef: PUSH14 0xffffffffffffffffffffffffffff
000046fe: PUSH2 0x0180
00004701: DUP9
00004702: SWAP8
00004703: ADD
00004704: MLOAD
00004705: AND
00004706: DUP3
00004707: PUSH2 0x529f
0000470a: JUMP
0000470b: JUMPDEST
0000470c: SWAP5
0000470d: DUP6
0000470e: SWAP3
0000470f: CALLDATASIZE
00004710: SWAP5
00004711: PUSH2 0x3ba6
00004714: JUMP
00004715: JUMPDEST
00004716: SWAP3
00004717: PUSH1 0x40
00004719: MLOAD
0000471a: SWAP4
0000471b: PUSH0
0000471c: MSTORE
0000471d: PUSH1 0x20
0000471f: MSTORE
00004720: PUSH1 0x40
00004722: MSTORE
00004723: PUSH32 0xe12b220b92469ae28fb0d79de531f94161431be9f073b96b8aad3effb88be6fa
00004744: PUSH1 0x60
00004746: PUSH0
00004747: LOG2
00004748: PUSH1 0x40
0000474a: MSTORE
0000474b: PUSH0
0000474c: DUP1
0000474d: DUP1
0000474e: DUP1
0000474f: PUSH2 0x38e5
00004752: JUMP
00004753: JUMPDEST
00004754: PUSH4 0xb9de88a2
00004759: PUSH0
0000475a: MSTORE
0000475b: PUSH1 0x04
0000475d: PUSH1 0x1c
0000475f: REVERT
00004760: JUMPDEST
00004761: SWAP2
00004762: SWAP1
00004763: SWAP3
00004764: PUSH1 0x01
00004766: DUP4
00004767: PUSH1 0x56
00004769: SHR
0000476a: AND
0000476b: PUSH0
0000476c: EQ
0000476d: PUSH2 0x47f6
00004770: JUMPI
00004771: SWAP2
00004772: PUSH1 0x40
00004774: SWAP4
00004775: SWAP2
00004776: PUSH2 0x01c0
00004779: PUSH0
0000477a: SWAP5
0000477b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc
0000479c: CALLDATASIZE
0000479d: ADD
0000479e: SWAP3
0000479f: DUP8
000047a0: MLOAD
000047a1: SWAP6
000047a2: PUSH4 0xcc452642
000047a7: DUP8
000047a8: MSTORE
000047a9: PUSH1 0x20
000047ab: DUP8
000047ac: ADD
000047ad: MSTORE
000047ae: DUP8
000047af: DUP7
000047b0: ADD
000047b1: MSTORE
000047b2: PUSH1 0x60
000047b4: DUP6
000047b5: ADD
000047b6: MCOPY
000047b7: PUSH2 0x0220
000047ba: DUP1
000047bb: DUP5
000047bc: ADD
000047bd: MSTORE
000047be: DUP1
000047bf: PUSH2 0x0240
000047c2: DUP5
000047c3: ADD
000047c4: MSTORE
000047c5: PUSH1 0x44
000047c7: PUSH2 0x0260
000047ca: DUP5
000047cb: ADD
000047cc: CALLDATACOPY
000047cd: DUP3
000047ce: PUSH1 0x1c
000047d0: PUSH2 0x0200
000047d3: CALLDATASIZE
000047d4: ADD
000047d5: SWAP4
000047d6: ADD
000047d7: SWAP2
000047d8: PUSH1 0x60
000047da: SHR
000047db: GAS
000047dc: CALL
000047dd: ISZERO
000047de: PUSH1 0x40
000047e0: RETURNDATASIZE
000047e1: LT
000047e2: OR
000047e3: PUSH2 0x0ebc
000047e6: JUMPI
000047e7: PUSH2 0xffff
000047ea: SWAP1
000047eb: DUP2
000047ec: PUSH0
000047ed: MLOAD
000047ee: AND
000047ef: SWAP2
000047f0: PUSH1 0x20
000047f2: MLOAD
000047f3: AND
000047f4: SWAP1
000047f5: JUMP
000047f6: JUMPDEST
000047f7: POP
000047f8: SWAP1
000047f9: POP
000047fa: SWAP1
000047fb: SWAP2
000047fc: JUMP
000047fd: JUMPDEST
000047fe: PUSH4 0xcf1f916f
00004803: PUSH0
00004804: MSTORE
00004805: PUSH1 0x04
00004807: PUSH1 0x1c
00004809: REVERT
0000480a: JUMPDEST
0000480b: PUSH4 0x8ec83073
00004810: PUSH0
00004811: MSTORE
00004812: PUSH1 0x04
00004814: PUSH1 0x1c
00004816: REVERT
00004817: JUMPDEST
00004818: PUSH4 0x0a68e5bf
0000481d: PUSH0
0000481e: MSTORE
0000481f: PUSH1 0x04
00004821: PUSH1 0x1c
00004823: REVERT
00004824: JUMPDEST
00004825: PUSH4 0x253ecbb9
0000482a: PUSH0
0000482b: MSTORE
0000482c: PUSH1 0x04
0000482e: PUSH1 0x1c
00004830: REVERT
00004831: JUMPDEST
00004832: PUSH0
00004833: MSTORE
00004834: PUSH32 0xff7b6c8be373823323d3c5d99f5d027dd409dce5db54eae511bbdd5546b75037
00004855: PUSH1 0x20
00004857: PUSH0
00004858: LOG1
00004859: JUMP
0000485a: JUMPDEST
0000485b: PUSH0
0000485c: MSTORE
0000485d: PUSH32 0x72877a153052500f5edbb2f9da96a0f45d671d4b4555fdf8628a709dc4eab43a
0000487e: PUSH1 0x20
00004880: PUSH0
00004881: LOG1
00004882: JUMP
00004883: JUMPDEST
00004884: SWAP3
00004885: SWAP4
00004886: SWAP2
00004887: SWAP1
00004888: SWAP2
00004889: PUSH0
0000488a: SWAP3
0000488b: PUSH0
0000488c: SWAP3
0000488d: PUSH2 0xffff
00004890: SWAP7
00004891: DUP8
00004892: PUSH2 0x0140
00004895: DUP9
00004896: ADD
00004897: MLOAD
00004898: AND
00004899: SWAP2
0000489a: PUSH2 0x01a0
0000489d: DUP9
0000489e: ADD
0000489f: SWAP4
000048a0: PUSH4 0xffffffff
000048a5: SWAP4
000048a6: DUP5
000048a7: DUP7
000048a8: MLOAD
000048a9: AND
000048aa: DUP5
000048ab: SUB
000048ac: DUP5
000048ad: DUP2
000048ae: GT
000048af: PUSH2 0x0b38
000048b2: JUMPI
000048b3: PUSH2 0x48bb
000048b6: SWAP2
000048b7: PUSH2 0x5545
000048ba: JUMP
000048bb: JUMPDEST
000048bc: DUP1
000048bd: SWAP11
000048be: PUSH2 0x0120
000048c1: DUP12
000048c2: ADD
000048c3: MLOAD
000048c4: AND
000048c5: DUP1
000048c6: PUSH2 0x495d
000048c9: JUMPI
000048ca: JUMPDEST
000048cb: POP
000048cc: POP
000048cd: DUP1
000048ce: PUSH2 0x493b
000048d1: JUMPI
000048d2: JUMPDEST
000048d3: POP
000048d4: POP
000048d5: PUSH2 0x4930
000048d8: PUSH2 0x0180
000048db: PUSH2 0x2985
000048de: SWAP6
000048df: SWAP7
000048e0: SWAP8
000048e1: SWAP9
000048e2: ADD
000048e3: PUSH2 0x491c
000048e6: PUSH2 0x4917
000048e9: DUP12
000048ea: PUSH2 0x3ed4
000048ed: PUSH2 0x4911
000048f0: DUP14
000048f1: PUSH2 0x490b
000048f4: PUSH2 0x315e
000048f7: DUP9
000048f8: MLOAD
000048f9: PUSH14 0xffffffffffffffffffffffffffff
00004908: AND
00004909: SWAP1
0000490a: JUMP
0000490b: JUMPDEST
0000490c: SWAP4
0000490d: PUSH2 0x2a67
00004910: JUMP
00004911: JUMPDEST
00004912: DUP3
00004913: PUSH2 0x529f
00004916: JUMP
00004917: JUMPDEST
00004918: PUSH2 0x5464
0000491b: JUMP
0000491c: JUMPDEST
0000491d: PUSH14 0xffffffffffffffffffffffffffff
0000492c: AND
0000492d: SWAP1
0000492e: MSTORE
0000492f: JUMP
00004930: JUMPDEST
00004931: AND
00004932: PUSH4 0xffffffff
00004937: AND
00004938: SWAP1
00004939: MSTORE
0000493a: JUMP
0000493b: JUMPDEST
0000493c: PUSH2 0x2985
0000493f: SWAP6
00004940: SWAP7
00004941: SWAP8
00004942: POP
00004943: PUSH2 0x4954
00004946: PUSH2 0x4930
00004949: SWAP3
0000494a: PUSH2 0x0180
0000494d: SWAP3
0000494e: DUP6
0000494f: DUP13
00004950: PUSH2 0x542b
00004953: JUMP
00004954: JUMPDEST
00004955: SWAP8
00004956: SWAP7
00004957: SWAP6
00004958: POP
00004959: PUSH2 0x48d2
0000495c: JUMP
0000495d: JUMPDEST
0000495e: PUSH2 0x49a6
00004961: SWAP3
00004962: SWAP9
00004963: POP
00004964: SWAP1
00004965: PUSH2 0x496d
00004968: SWAP2
00004969: PUSH2 0x52ee
0000496c: JUMP
0000496d: JUMPDEST
0000496e: PUSH2 0x49a0
00004971: PUSH13 0xffffffffffffffffffffffffff
0000497f: PUSH1 0x80
00004981: DUP13
00004982: ADD
00004983: MLOAD
00004984: AND
00004985: SWAP2
00004986: PUSH14 0xffffffffffffffffffffffffffff
00004995: PUSH2 0x0180
00004998: DUP14
00004999: ADD
0000499a: MLOAD
0000499b: AND
0000499c: PUSH2 0x529f
0000499f: JUMP
000049a0: JUMPDEST
000049a1: SWAP1
000049a2: PUSH2 0x529f
000049a5: JUMP
000049a6: JUMPDEST
000049a7: PUSH1 0x40
000049a9: DUP10
000049aa: ADD
000049ab: PUSH16 0xffffffffffffffffffffffffffffffff
000049bc: SWAP1
000049bd: DUP2
000049be: DUP2
000049bf: MLOAD
000049c0: AND
000049c1: SWAP2
000049c2: DUP4
000049c3: DUP4
000049c4: ADD
000049c5: DUP1
000049c6: SWAP4
000049c7: GT
000049c8: PUSH2 0x0b38
000049cb: JUMPI
000049cc: PUSH2 0x49d9
000049cf: SWAP1
000049d0: DUP4
000049d1: AND
000049d2: DUP1
000049d3: SWAP4
000049d4: EQ
000049d5: PUSH2 0x51b6
000049d8: JUMP
000049d9: JUMPDEST
000049da: MSTORE
000049db: SWAP6
000049dc: DUP10
000049dd: PUSH0
000049de: PUSH2 0x48ca
000049e1: JUMP
000049e2: JUMPDEST
000049e3: PUSH2 0x4a10
000049e6: PUSH13 0xffffffffffffffffffffffffff
000049f4: SWAP2
000049f5: PUSH2 0x42b0
000049f8: DUP4
000049f9: PUSH1 0xa0
000049fb: DUP7
000049fc: ADD
000049fd: MLOAD
000049fe: AND
000049ff: SWAP2
00004a00: DUP5
00004a01: PUSH1 0x20
00004a03: DUP2
00004a04: DUP4
00004a05: MLOAD
00004a06: AND
00004a07: SWAP3
00004a08: ADD
00004a09: MLOAD
00004a0a: AND
00004a0b: SWAP1
00004a0c: PUSH2 0x340b
00004a0f: JUMP
00004a10: JUMPDEST
00004a11: AND
00004a12: SWAP1
00004a13: PUSH16 0xffffffffffffffffffffffffffffffff
00004a24: SWAP1
00004a25: PUSH2 0x4a4b
00004a28: DUP3
00004a29: PUSH1 0x60
00004a2b: DUP4
00004a2c: ADD
00004a2d: MLOAD
00004a2e: AND
00004a2f: SWAP4
00004a30: PUSH14 0xffffffffffffffffffffffffffff
00004a3f: PUSH2 0x0180
00004a42: DUP5
00004a43: ADD
00004a44: MLOAD
00004a45: AND
00004a46: SWAP1
00004a47: PUSH2 0x529f
00004a4a: JUMP
00004a4b: JUMPDEST
00004a4c: DUP4
00004a4d: ADD
00004a4e: DUP1
00004a4f: SWAP4
00004a50: GT
00004a51: PUSH2 0x0b38
00004a54: JUMPI
00004a55: PUSH1 0x40
00004a57: ADD
00004a58: MLOAD
00004a59: AND
00004a5a: DUP2
00004a5b: ADD
00004a5c: DUP1
00004a5d: SWAP2
00004a5e: GT
00004a5f: PUSH2 0x0b38
00004a62: JUMPI
00004a63: DUP1
00004a64: DUP3
00004a65: SUB
00004a66: SWAP2
00004a67: GT
00004a68: MUL
00004a69: SWAP1
00004a6a: JUMP
00004a6b: JUMPDEST
00004a6c: DUP1
00004a6d: MLOAD
00004a6e: PUSH13 0xffffffffffffffffffffffffff
00004a7c: AND
00004a7d: SWAP1
00004a7e: PUSH2 0x4aad
00004a81: PUSH1 0x20
00004a83: DUP3
00004a84: ADD
00004a85: SWAP3
00004a86: PUSH13 0xffffffffffffffffffffffffff
00004a94: SWAP2
00004a95: DUP3
00004a96: SWAP2
00004a97: PUSH2 0x42b0
00004a9a: DUP7
00004a9b: MLOAD
00004a9c: PUSH13 0xffffffffffffffffffffffffff
00004aaa: AND
00004aab: SWAP1
00004aac: JUMP
00004aad: JUMPDEST
00004aae: AND
00004aaf: DUP1
00004ab0: ISZERO
00004ab1: PUSH2 0x4c27
00004ab4: JUMPI
00004ab5: PUSH2 0x0180
00004ab8: DUP6
00004ab9: ADD
00004aba: SWAP6
00004abb: DUP7
00004abc: MLOAD
00004abd: PUSH2 0x4ad3
00004ac0: SWAP1
00004ac1: PUSH14 0xffffffffffffffffffffffffffff
00004ad0: AND
00004ad1: SWAP1
00004ad2: JUMP
00004ad3: JUMPDEST
00004ad4: PUSH14 0xffffffffffffffffffffffffffff
00004ae3: AND
00004ae4: PUSH2 0x4aec
00004ae7: SWAP2
00004ae8: PUSH2 0x51cf
00004aeb: JUMP
00004aec: JUMPDEST
00004aed: DUP2
00004aee: DUP2
00004aef: LT
00004af0: SWAP1
00004af1: DUP3
00004af2: SWAP1
00004af3: SUB
00004af4: MUL
00004af5: ADD
00004af6: PUSH2 0x4afe
00004af9: SWAP1
00004afa: PUSH2 0x3b26
00004afd: JUMP
00004afe: JUMPDEST
00004aff: SWAP5
00004b00: MLOAD
00004b01: PUSH2 0x4b1e
00004b04: SWAP2
00004b05: PUSH14 0xffffffffffffffffffffffffffff
00004b14: SWAP1
00004b15: SWAP2
00004b16: AND
00004b17: SWAP1
00004b18: DUP7
00004b19: AND
00004b1a: PUSH2 0x2e57
00004b1d: JUMP
00004b1e: JUMPDEST
00004b1f: PUSH2 0x4b27
00004b22: SWAP1
00004b23: PUSH2 0x393f
00004b26: JUMP
00004b27: JUMPDEST
00004b28: SWAP2
00004b29: DUP5
00004b2a: DUP2
00004b2b: MLOAD
00004b2c: PUSH2 0x4b41
00004b2f: SWAP1
00004b30: PUSH13 0xffffffffffffffffffffffffff
00004b3e: AND
00004b3f: SWAP1
00004b40: JUMP
00004b41: JUMPDEST
00004b42: SWAP1
00004b43: PUSH2 0x4b4b
00004b46: SWAP2
00004b47: PUSH2 0x3476
00004b4a: JUMP
00004b4b: JUMPDEST
00004b4c: PUSH13 0xffffffffffffffffffffffffff
00004b5a: AND
00004b5b: SWAP1
00004b5c: MSTORE
00004b5d: PUSH1 0x40
00004b5f: ADD
00004b60: DUP1
00004b61: MLOAD
00004b62: PUSH2 0x4b7e
00004b65: SWAP1
00004b66: DUP4
00004b67: SWAP1
00004b68: PUSH16 0xffffffffffffffffffffffffffffffff
00004b79: AND
00004b7a: PUSH2 0x29a8
00004b7d: JUMP
00004b7e: JUMPDEST
00004b7f: PUSH16 0xffffffffffffffffffffffffffffffff
00004b90: AND
00004b91: SWAP1
00004b92: MSTORE
00004b93: PUSH1 0xa0
00004b95: DUP3
00004b96: ADD
00004b97: DUP1
00004b98: MLOAD
00004b99: PUSH2 0x4bb2
00004b9c: SWAP1
00004b9d: DUP6
00004b9e: SWAP1
00004b9f: PUSH13 0xffffffffffffffffffffffffff
00004bad: AND
00004bae: PUSH2 0x340b
00004bb1: JUMP
00004bb2: JUMPDEST
00004bb3: PUSH13 0xffffffffffffffffffffffffff
00004bc1: AND
00004bc2: SWAP1
00004bc3: MSTORE
00004bc4: PUSH1 0x60
00004bc6: DUP3
00004bc7: ADD
00004bc8: SWAP1
00004bc9: DUP2
00004bca: MLOAD
00004bcb: PUSH2 0x4be3
00004bce: SWAP1
00004bcf: PUSH16 0xffffffffffffffffffffffffffffffff
00004be0: AND
00004be1: SWAP1
00004be2: JUMP
00004be3: JUMPDEST
00004be4: SWAP1
00004be5: PUSH2 0x4bed
00004be8: SWAP2
00004be9: PUSH2 0x29a8
00004bec: JUMP
00004bed: JUMPDEST
00004bee: PUSH16 0xffffffffffffffffffffffffffffffff
00004bff: AND
00004c00: SWAP1
00004c01: MSTORE
00004c02: PUSH1 0x80
00004c04: ADD
00004c05: SWAP1
00004c06: DUP2
00004c07: MLOAD
00004c08: PUSH2 0x4c1d
00004c0b: SWAP1
00004c0c: PUSH13 0xffffffffffffffffffffffffff
00004c1a: AND
00004c1b: SWAP1
00004c1c: JUMP
00004c1d: JUMPDEST
00004c1e: SWAP1
00004c1f: PUSH2 0x3d31
00004c22: SWAP2
00004c23: PUSH2 0x340b
00004c26: JUMP
00004c27: JUMPDEST
00004c28: POP
00004c29: POP
00004c2a: POP
00004c2b: POP
00004c2c: POP
00004c2d: POP
00004c2e: JUMP
00004c2f: JUMPDEST
00004c30: SWAP1
00004c31: DUP2
00004c32: SWAP1
00004c33: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004c48: PUSH32 0x1777adabd324f814e2b0e28f6edf876dce01d7d66358c9acfe87b1b5f38338d5
00004c69: SLOAD
00004c6a: AND
00004c6b: SWAP2
00004c6c: DUP3
00004c6d: PUSH1 0x60
00004c6f: DUP6
00004c70: ADD
00004c71: MSTORE
00004c72: DUP3
00004c73: ISZERO
00004c74: PUSH2 0x4d0c
00004c77: JUMPI
00004c78: POP
00004c79: PUSH1 0x40
00004c7b: MLOAD
00004c7c: SWAP1
00004c7d: PUSH4 0x8925ca5a
00004c82: DUP3
00004c83: MSTORE
00004c84: PUSH1 0x40
00004c86: PUSH0
00004c87: PUSH1 0x20
00004c89: SWAP5
00004c8a: DUP4
00004c8b: DUP7
00004c8c: DUP7
00004c8d: ADD
00004c8e: MSTORE
00004c8f: CALLER
00004c90: DUP4
00004c91: DUP7
00004c92: ADD
00004c93: MSTORE
00004c94: PUSH1 0x60
00004c96: DUP1
00004c97: DUP7
00004c98: ADD
00004c99: MSTORE
00004c9a: CALLDATASIZE
00004c9b: PUSH1 0x80
00004c9d: DUP7
00004c9e: ADD
00004c9f: MSTORE
00004ca0: CALLDATASIZE
00004ca1: DUP3
00004ca2: PUSH1 0xa0
00004ca4: DUP8
00004ca5: ADD
00004ca6: CALLDATACOPY
00004ca7: CALLDATASIZE
00004ca8: PUSH1 0xc4
00004caa: ADD
00004cab: SWAP1
00004cac: DUP3
00004cad: PUSH1 0x1c
00004caf: DUP8
00004cb0: ADD
00004cb1: SWAP2
00004cb2: GAS
00004cb3: CALL
00004cb4: DUP4
00004cb5: PUSH0
00004cb6: MLOAD
00004cb7: EQ
00004cb8: AND
00004cb9: ISZERO
00004cba: PUSH2 0x0ebc
00004cbd: JUMPI
00004cbe: PUSH1 0x80
00004cc0: DUP4
00004cc1: PUSH2 0x055b
00004cc4: SWAP5
00004cc5: MLOAD
00004cc6: PUSH1 0x05
00004cc8: SHL
00004cc9: DUP1
00004cca: SWAP5
00004ccb: PUSH1 0xe0
00004ccd: PUSH1 0x03
00004ccf: DUP4
00004cd0: MUL
00004cd1: DUP3
00004cd2: ADD
00004cd3: ADD
00004cd4: PUSH1 0x40
00004cd6: MSTORE
00004cd7: DUP3
00004cd8: DUP3
00004cd9: ADD
00004cda: DUP4
00004cdb: DUP3
00004cdc: RETURNDATACOPY
00004cdd: DUP1
00004cde: DUP9
00004cdf: MSTORE
00004ce0: ADD
00004ce1: SWAP3
00004ce2: PUSH0
00004ce3: SUB
00004ce4: DUP2
00004ce5: DUP5
00004ce6: ADD
00004ce7: MSTORE
00004ce8: DUP2
00004ce9: PUSH1 0x60
00004ceb: DUP5
00004cec: ADD
00004ced: MSTORE
00004cee: DUP6
00004cef: ADD
00004cf0: SWAP3
00004cf1: PUSH1 0xa0
00004cf3: DUP4
00004cf4: ADD
00004cf5: DUP5
00004cf6: MSTORE
00004cf7: PUSH1 0xa0
00004cf9: ADD
00004cfa: SWAP2
00004cfb: ADD
00004cfc: MSTORE
00004cfd: GAS
00004cfe: PUSH1 0x40
00004d00: DUP5
00004d01: ADD
00004d02: MSTORE
00004d03: DUP3
00004d04: MLOAD
00004d05: SWAP1
00004d06: MLOAD
00004d07: SWAP1
00004d08: PUSH2 0x5481
00004d0b: JUMP
00004d0c: JUMPDEST
00004d0d: SWAP4
00004d0e: SWAP3
00004d0f: POP
00004d10: POP
00004d11: POP
00004d12: JUMP
00004d13: JUMPDEST
00004d14: PUSH1 0x60
00004d16: DUP2
00004d17: ADD
00004d18: SWAP1
00004d19: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004d2e: DUP3
00004d2f: MLOAD
00004d30: AND
00004d31: ISZERO
00004d32: PUSH2 0x30a2
00004d35: JUMPI
00004d36: PUSH0
00004d37: DUP1
00004d38: DUP3
00004d39: MLOAD
00004d3a: DUP1
00004d3b: MLOAD
00004d3c: SWAP1
00004d3d: DUP2
00004d3e: PUSH1 0x06
00004d40: SHL
00004d41: SWAP6
00004d42: PUSH2 0x4d50
00004d45: PUSH1 0xc0
00004d47: DUP9
00004d48: DUP5
00004d49: ADD
00004d4a: ADD
00004d4b: DUP4
00004d4c: PUSH2 0x5481
00004d4f: JUMP
00004d50: JUMPDEST
00004d51: MLOAD
00004d52: SWAP2
00004d53: PUSH1 0x05
00004d55: SHL
00004d56: ADD
00004d57: SWAP4
00004d58: PUSH1 0x40
00004d5a: GAS
00004d5b: SWAP2
00004d5c: ADD
00004d5d: MLOAD
00004d5e: SUB
00004d5f: PUSH1 0x40
00004d61: DUP6
00004d62: ADD
00004d63: MSTORE
00004d64: DUP4
00004d65: MLOAD
00004d66: SWAP5
00004d67: PUSH4 0xf0bd9468
00004d6c: DUP6
00004d6d: MSTORE
00004d6e: PUSH1 0xc4
00004d70: ADD
00004d71: SWAP1
00004d72: DUP3
00004d73: PUSH1 0x1c
00004d75: DUP7
00004d76: ADD
00004d77: SWAP2
00004d78: GAS
00004d79: CALL
00004d7a: ISZERO
00004d7b: PUSH2 0x0ebc
00004d7e: JUMPI
00004d7f: MSTORE
00004d80: JUMP
00004d81: JUMPDEST
00004d82: SWAP3
00004d83: PUSH32 0x18247a393d0531b65fbd94f5e78bc5639801a4efda62ae7b43533c4442116c3a
00004da4: SWAP6
00004da5: SWAP3
00004da6: PUSH1 0xc0
00004da8: SWAP6
00004da9: SWAP3
00004daa: PUSH1 0x40
00004dac: MLOAD
00004dad: SWAP6
00004dae: DUP7
00004daf: MSTORE
00004db0: PUSH1 0x20
00004db2: DUP7
00004db3: ADD
00004db4: MSTORE
00004db5: PUSH1 0x40
00004db7: DUP6
00004db8: ADD
00004db9: MSTORE
00004dba: PUSH1 0x60
00004dbc: DUP5
00004dbd: ADD
00004dbe: MSTORE
00004dbf: PUSH1 0x80
00004dc1: DUP4
00004dc2: ADD
00004dc3: MSTORE
00004dc4: PUSH1 0xa0
00004dc6: DUP3
00004dc7: ADD
00004dc8: MSTORE
00004dc9: LOG1
00004dca: JUMP
00004dcb: JUMPDEST
00004dcc: PUSH2 0x2985
00004dcf: SWAP1
00004dd0: PUSH2 0x1f8f
00004dd3: PUSH1 0xc0
00004dd5: DUP3
00004dd6: ADD
00004dd7: PUSH0
00004dd8: PUSH2 0x4de5
00004ddb: DUP3
00004ddc: MLOAD
00004ddd: PUSH4 0xffffffff
00004de2: AND
00004de3: SWAP1
00004de4: JUMP
00004de5: JUMPDEST
00004de6: SWAP2
00004de7: PUSH2 0x4e01
00004dea: PUSH2 0x07b9
00004ded: DUP5
00004dee: PUSH4 0xffffffff
00004df3: AND
00004df4: PUSH0
00004df5: MSTORE
00004df6: PUSH1 0x07
00004df8: PUSH1 0x20
00004dfa: MSTORE
00004dfb: PUSH1 0x40
00004dfd: PUSH0
00004dfe: KECCAK256
00004dff: SWAP1
00004e00: JUMP
00004e01: JUMPDEST
00004e02: SWAP5
00004e03: PUSH1 0x20
00004e05: DUP7
00004e06: ADD
00004e07: SWAP1
00004e08: PUSH2 0x4e1e
00004e0b: DUP3
00004e0c: MLOAD
00004e0d: PUSH13 0xffffffffffffffffffffffffff
00004e1b: AND
00004e1c: SWAP1
00004e1d: JUMP
00004e1e: JUMPDEST
00004e1f: SWAP1
00004e20: PUSH2 0x4e39
00004e23: PUSH2 0x1e72
00004e26: DUP10
00004e27: MLOAD
00004e28: PUSH13 0xffffffffffffffffffffffffff
00004e36: AND
00004e37: SWAP1
00004e38: JUMP
00004e39: JUMPDEST
00004e3a: PUSH13 0xffffffffffffffffffffffffff
00004e48: DUP1
00004e49: SWAP4
00004e4a: AND
00004e4b: LT
00004e4c: PUSH2 0x4f17
00004e4f: JUMPI
00004e50: JUMPDEST
00004e51: POP
00004e52: PUSH2 0x4ec6
00004e55: PUSH2 0x4e6b
00004e58: DUP9
00004e59: MLOAD
00004e5a: PUSH13 0xffffffffffffffffffffffffff
00004e68: AND
00004e69: SWAP1
00004e6a: JUMP
00004e6b: JUMPDEST
00004e6c: SWAP3
00004e6d: PUSH2 0x4eb3
00004e70: PUSH2 0x4e86
00004e73: DUP3
00004e74: MLOAD
00004e75: PUSH13 0xffffffffffffffffffffffffff
00004e83: AND
00004e84: SWAP1
00004e85: JUMP
00004e86: JUMPDEST
00004e87: PUSH1 0x40
00004e89: DUP12
00004e8a: ADD
00004e8b: MLOAD
00004e8c: PUSH4 0xffffffff
00004e91: DUP11
00004e92: AND
00004e93: SWAP7
00004e94: PUSH16 0xffffffffffffffffffffffffffffffff
00004ea5: SWAP1
00004ea6: SWAP2
00004ea7: AND
00004ea8: SWAP2
00004ea9: DUP7
00004eaa: AND
00004eab: SWAP1
00004eac: DUP7
00004ead: AND
00004eae: DUP8
00004eaf: PUSH2 0x4477
00004eb2: JUMP
00004eb3: JUMPDEST
00004eb4: MLOAD
00004eb5: PUSH13 0xffffffffffffffffffffffffff
00004ec3: AND
00004ec4: SWAP1
00004ec5: JUMP
00004ec6: JUMPDEST
00004ec7: SWAP1
00004ec8: PUSH2 0x4ee1
00004ecb: PUSH2 0x1e72
00004ece: DUP10
00004ecf: MLOAD
00004ed0: PUSH13 0xffffffffffffffffffffffffff
00004ede: AND
00004edf: SWAP1
00004ee0: JUMP
00004ee1: JUMPDEST
00004ee2: SWAP2
00004ee3: AND
00004ee4: LT
00004ee5: DUP4
00004ee6: EQ
00004ee7: PUSH2 0x4f09
00004eea: JUMPI
00004eeb: POP
00004eec: PUSH2 0x4ef4
00004eef: DUP4
00004ef0: PUSH2 0x54b9
00004ef3: JUMP
00004ef4: JUMPDEST
00004ef5: MSTORE
00004ef6: PUSH4 0xffffffff
00004efb: AND
00004efc: PUSH0
00004efd: MSTORE
00004efe: PUSH1 0x07
00004f00: PUSH1 0x20
00004f02: MSTORE
00004f03: PUSH1 0x40
00004f05: PUSH0
00004f06: KECCAK256
00004f07: SWAP1
00004f08: JUMP
00004f09: JUMPDEST
00004f0a: PUSH2 0x4f12
00004f0d: SWAP1
00004f0e: PUSH2 0x44b1
00004f11: JUMP
00004f12: JUMPDEST
00004f13: PUSH2 0x4ef4
00004f16: JUMP
00004f17: JUMPDEST
00004f18: PUSH2 0x4f29
00004f1b: PUSH2 0x4f22
00004f1e: PUSH2 0x2603
00004f21: JUMP
00004f22: JUMPDEST
00004f23: DUP3
00004f24: DUP11
00004f25: PUSH2 0x49e2
00004f28: JUMP
00004f29: JUMPDEST
00004f2a: DUP7
00004f2b: DUP2
00004f2c: PUSH2 0x4f37
00004f2f: JUMPI
00004f30: JUMPDEST
00004f31: POP
00004f32: POP
00004f33: PUSH2 0x4e50
00004f36: JUMP
00004f37: JUMPDEST
00004f38: PUSH2 0x4f41
00004f3b: SWAP3
00004f3c: DUP11
00004f3d: PUSH2 0x4264
00004f40: JUMP
00004f41: JUMPDEST
00004f42: DUP7
00004f43: PUSH2 0x4f30
00004f46: JUMP
00004f47: JUMPDEST
00004f48: PUSH0
00004f49: MSTORE
00004f4a: PUSH1 0x20
00004f4c: MSTORE
00004f4d: PUSH32 0x9385f9ff65bcd2fb81cece54b27d4ec7376795fc4dcff686e370e347b0ed86c0
00004f6e: PUSH1 0x40
00004f70: PUSH0
00004f71: LOG1
00004f72: JUMP
00004f73: JUMPDEST
00004f74: SWAP1
00004f75: SWAP2
00004f76: SWAP4
00004f77: SWAP3
00004f78: SWAP4
00004f79: PUSH1 0x01
00004f7b: DUP3
00004f7c: PUSH1 0x5c
00004f7e: SHR
00004f7f: AND
00004f80: PUSH2 0x4f8b
00004f83: JUMPI
00004f84: JUMPDEST
00004f85: POP
00004f86: POP
00004f87: POP
00004f88: POP
00004f89: POP
00004f8a: JUMP
00004f8b: JUMPDEST
00004f8c: PUSH2 0x01c0
00004f8f: PUSH0
00004f90: SWAP6
00004f91: SWAP5
00004f92: DUP7
00004f93: SWAP6
00004f94: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc
00004fb5: CALLDATASIZE
00004fb6: ADD
00004fb7: SWAP4
00004fb8: PUSH1 0x40
00004fba: MLOAD
00004fbb: SWAP7
00004fbc: PUSH4 0xa018f90e
00004fc1: DUP9
00004fc2: MSTORE
00004fc3: CALLER
00004fc4: PUSH1 0x20
00004fc6: DUP10
00004fc7: ADD
00004fc8: MSTORE
00004fc9: PUSH1 0x40
00004fcb: DUP9
00004fcc: ADD
00004fcd: MSTORE
00004fce: PUSH1 0x60
00004fd0: DUP8
00004fd1: ADD
00004fd2: MSTORE
00004fd3: PUSH1 0x80
00004fd5: DUP7
00004fd6: ADD
00004fd7: MSTORE
00004fd8: PUSH1 0xa0
00004fda: DUP6
00004fdb: ADD
00004fdc: MCOPY
00004fdd: PUSH2 0x0260
00004fe0: DUP1
00004fe1: DUP5
00004fe2: ADD
00004fe3: MSTORE
00004fe4: DUP1
00004fe5: PUSH2 0x0280
00004fe8: DUP5
00004fe9: ADD
00004fea: MSTORE
00004feb: PUSH1 0x44
00004fed: PUSH2 0x02a0
00004ff0: DUP5
00004ff1: ADD
00004ff2: CALLDATACOPY
00004ff3: DUP3
00004ff4: PUSH1 0x1c
00004ff6: PUSH2 0x0240
00004ff9: CALLDATASIZE
00004ffa: ADD
00004ffb: SWAP4
00004ffc: ADD
00004ffd: SWAP2
00004ffe: PUSH1 0x60
00005000: SHR
00005001: GAS
00005002: CALL
00005003: ISZERO
00005004: PUSH2 0x0ebc
00005007: JUMPI
00005008: PUSH0
00005009: DUP1
0000500a: DUP1
0000500b: DUP1
0000500c: DUP1
0000500d: PUSH2 0x4f84
00005010: JUMP
00005011: JUMPDEST
00005012: SWAP1
00005013: SWAP2
00005014: PUSH0
00005015: MSTORE
00005016: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00005037: PUSH1 0x20
00005039: PUSH0
0000503a: LOG3
0000503b: JUMP
0000503c: JUMPDEST
0000503d: PUSH4 0x186334fe
00005042: PUSH0
00005043: MSTORE
00005044: PUSH1 0x04
00005046: PUSH1 0x1c
00005048: REVERT
00005049: JUMPDEST
0000504a: SWAP1
0000504b: SWAP2
0000504c: PUSH1 0x01
0000504e: DUP3
0000504f: PUSH1 0x5d
00005051: SHR
00005052: AND
00005053: PUSH2 0x505d
00005056: JUMPI
00005057: POP
00005058: POP
00005059: POP
0000505a: POP
0000505b: POP
0000505c: JUMP
0000505d: JUMPDEST
0000505e: PUSH1 0x1c
00005060: PUSH0
00005061: SWAP6
00005062: SWAP5
00005063: DUP7
00005064: SWAP6
00005065: SWAP3
00005066: DUP4
00005067: PUSH2 0x01c0
0000506a: DUP9
0000506b: SWAP6
0000506c: CALLDATASIZE
0000506d: SUB
0000506e: SWAP4
0000506f: DUP5
00005070: SWAP4
00005071: PUSH1 0x40
00005073: MLOAD
00005074: SWAP10
00005075: PUSH4 0x2970403d
0000507a: DUP12
0000507b: MSTORE
0000507c: PUSH1 0x20
0000507e: DUP12
0000507f: ADD
00005080: MSTORE
00005081: PUSH1 0x40
00005083: DUP11
00005084: ADD
00005085: MSTORE
00005086: PUSH1 0x60
00005088: DUP10
00005089: ADD
0000508a: MCOPY
0000508b: PUSH2 0x0220
0000508e: DUP1
0000508f: DUP9
00005090: ADD
00005091: MSTORE
00005092: DUP2
00005093: PUSH2 0x0240
00005096: DUP9
00005097: ADD
00005098: MSTORE
00005099: PUSH2 0x0260
0000509c: DUP8
0000509d: ADD
0000509e: CALLDATACOPY
0000509f: PUSH2 0x0244
000050a2: ADD
000050a3: SWAP4
000050a4: ADD
000050a5: SWAP2
000050a6: PUSH1 0x60
000050a8: SHR
000050a9: GAS
000050aa: CALL
000050ab: ISZERO
000050ac: PUSH2 0x0ebc
000050af: JUMPI
000050b0: PUSH0
000050b1: DUP1
000050b2: DUP1
000050b3: DUP1
000050b4: DUP1
000050b5: PUSH2 0x4f84
000050b8: JUMP
000050b9: JUMPDEST
000050ba: SWAP1
000050bb: PUSH1 0x40
000050bd: MLOAD
000050be: SWAP2
000050bf: PUSH4 0xa1054f6b
000050c4: PUSH0
000050c5: MSTORE
000050c6: PUSH32 0x0000000000000000000000009025d3c84f24a9cf2a95bcdc4c91cbfec763b58f
000050e7: PUSH1 0x20
000050e9: MSTORE
000050ea: PUSH1 0x40
000050ec: MSTORE
000050ed: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
0000510e: PUSH1 0x60
00005110: MSTORE
00005111: PUSH1 0x20
00005113: PUSH0
00005114: PUSH1 0x64
00005116: PUSH1 0x1c
00005118: DUP3
00005119: PUSH32 0x000000000000000000000000437e0551892c2c9b06d3ffd248fe60572e08cd1a
0000513a: GAS
0000513b: CALL
0000513c: PUSH1 0x20
0000513e: RETURNDATASIZE
0000513f: EQ
00005140: AND
00005141: ISZERO
00005142: PUSH2 0x0ebc
00005145: JUMPI
00005146: PUSH0
00005147: MLOAD
00005148: SWAP2
00005149: PUSH1 0x40
0000514b: MSTORE
0000514c: PUSH0
0000514d: PUSH1 0x60
0000514f: MSTORE
00005150: JUMP
00005151: JUMPDEST
00005152: SWAP2
00005153: SWAP3
00005154: SWAP1
00005155: SWAP3
00005156: PUSH1 0x40
00005158: MLOAD
00005159: SWAP4
0000515a: PUSH0
0000515b: MSTORE
0000515c: PUSH1 0x20
0000515e: MSTORE
0000515f: PUSH1 0x40
00005161: MSTORE
00005162: PUSH32 0x0d0843a0fcb8b83f625aafb6e42f234ac48c6728b207d52d97cfa8fbd34d498f
00005183: PUSH1 0x60
00005185: PUSH0
00005186: LOG2
00005187: PUSH1 0x40
00005189: MSTORE
0000518a: JUMP
0000518b: JUMPDEST
0000518c: SWAP1
0000518d: SWAP2
0000518e: PUSH0
0000518f: MSTORE
00005190: PUSH32 0xd6cddb3d69146e96ebc2c87b1b3dd0b20ee2d3b0eadf134e011afb434a3e56e6
000051b1: PUSH1 0x20
000051b3: PUSH0
000051b4: LOG3
000051b5: JUMP
000051b6: JUMPDEST
000051b7: ISZERO
000051b8: PUSH2 0x51bd
000051bb: JUMPI
000051bc: JUMP
000051bd: JUMPDEST
000051be: PUSH4 0x4e487b71
000051c3: PUSH0
000051c4: MSTORE
000051c5: PUSH1 0x11
000051c7: PUSH1 0x20
000051c9: MSTORE
000051ca: PUSH1 0x24
000051cc: PUSH1 0x1c
000051ce: REVERT
000051cf: JUMPDEST
000051d0: DUP2
000051d1: PUSH1 0x01
000051d3: SHR
000051d4: SWAP1
000051d5: PUSH12 0x033b2e3c9fd0803ce8000000
000051e2: SWAP1
000051e3: DUP2
000051e4: DUP4
000051e5: NOT
000051e6: DIV
000051e7: DUP2
000051e8: GT
000051e9: DUP5
000051ea: ISZERO
000051eb: OR
000051ec: PUSH2 0x51bd
000051ef: JUMPI
000051f0: MUL
000051f1: ADD
000051f2: DIV
000051f3: SWAP1
000051f4: JUMP
000051f5: JUMPDEST
000051f6: SWAP2
000051f7: SWAP4
000051f8: SWAP5
000051f9: SWAP1
000051fa: SWAP3
000051fb: SWAP5
000051fc: PUSH1 0x01
000051fe: DUP4
000051ff: PUSH1 0x5e
00005201: SHR
00005202: AND
00005203: PUSH2 0x520e
00005206: JUMPI
00005207: POP
00005208: POP
00005209: POP
0000520a: POP
0000520b: POP
0000520c: POP
0000520d: JUMP
0000520e: JUMPDEST
0000520f: PUSH0
00005210: SWAP6
00005211: DUP7
00005212: SWAP6
00005213: DUP4
00005214: PUSH2 0x01c0
00005217: PUSH1 0x1c
00005219: SWAP5
0000521a: DUP10
0000521b: SWAP7
0000521c: CALLDATASIZE
0000521d: SUB
0000521e: SWAP5
0000521f: DUP6
00005220: SWAP5
00005221: PUSH1 0x40
00005223: MLOAD
00005224: SWAP11
00005225: PUSH4 0x3521cccc
0000522a: DUP13
0000522b: MSTORE
0000522c: PUSH1 0x20
0000522e: DUP13
0000522f: ADD
00005230: MSTORE
00005231: PUSH1 0x40
00005233: DUP12
00005234: ADD
00005235: MSTORE
00005236: PUSH1 0x60
00005238: DUP11
00005239: ADD
0000523a: MSTORE
0000523b: PUSH1 0x80
0000523d: DUP10
0000523e: ADD
0000523f: MCOPY
00005240: PUSH2 0x0240
00005243: DUP1
00005244: DUP9
00005245: ADD
00005246: MSTORE
00005247: DUP2
00005248: PUSH2 0x0260
0000524b: DUP9
0000524c: ADD
0000524d: MSTORE
0000524e: PUSH2 0x0280
00005251: DUP8
00005252: ADD
00005253: CALLDATACOPY
00005254: PUSH2 0x0264
00005257: ADD
00005258: SWAP4
00005259: ADD
0000525a: SWAP2
0000525b: PUSH1 0x60
0000525d: SHR
0000525e: GAS
0000525f: CALL
00005260: ISZERO
00005261: PUSH2 0x0ebc
00005264: JUMPI
00005265: PUSH0
00005266: DUP1
00005267: DUP1
00005268: DUP1
00005269: DUP1
0000526a: DUP1
0000526b: PUSH2 0x4c27
0000526e: JUMP
0000526f: JUMPDEST
00005270: SWAP2
00005271: SWAP3
00005272: SWAP1
00005273: SWAP3
00005274: PUSH0
00005275: MSTORE
00005276: PUSH1 0x20
00005278: MSTORE
00005279: PUSH32 0xecc966b282a372469fa4d3e497c2ac17983c3eaed03f3f17c9acf4b15591663e
0000529a: PUSH1 0x40
0000529c: PUSH0
0000529d: LOG3
0000529e: JUMP
0000529f: JUMPDEST
000052a0: DUP2
000052a1: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffe6268e1b017bfe18bffffff
000052c2: DIV
000052c3: DUP2
000052c4: GT
000052c5: ISZERO
000052c6: DUP3
000052c7: ISZERO
000052c8: OR
000052c9: ISZERO
000052ca: PUSH2 0x51bd
000052cd: JUMPI
000052ce: PUSH12 0x033b2e3c9fd0803ce8000000
000052db: SWAP2
000052dc: MUL
000052dd: PUSH12 0x019d971e4fe8401e74000000
000052ea: ADD
000052eb: DIV
000052ec: SWAP1
000052ed: JUMP
000052ee: JUMPDEST
000052ef: DUP2
000052f0: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec77
00005311: DIV
00005312: DUP2
00005313: GT
00005314: ISZERO
00005315: DUP3
00005316: ISZERO
00005317: OR
00005318: ISZERO
00005319: PUSH2 0x51bd
0000531c: JUMPI
0000531d: PUSH2 0x2710
00005320: SWAP2
00005321: MUL
00005322: PUSH2 0x1388
00005325: ADD
00005326: DIV
00005327: SWAP1
00005328: JUMP
00005329: JUMPDEST
0000532a: PUSH4 0x22d7c043
0000532f: PUSH0
00005330: MSTORE
00005331: PUSH1 0x04
00005333: PUSH1 0x1c
00005335: REVERT
00005336: JUMPDEST
00005337: PUSH4 0xe4aa5055
0000533c: PUSH0
0000533d: MSTORE
0000533e: PUSH1 0x04
00005340: PUSH1 0x1c
00005342: REVERT
00005343: JUMPDEST
00005344: SWAP3
00005345: SWAP2
00005346: SWAP3
00005347: PUSH1 0x01
00005349: DUP2
0000534a: PUSH1 0x5f
0000534c: SHR
0000534d: AND
0000534e: PUSH2 0x5357
00005351: JUMPI
00005352: POP
00005353: POP
00005354: POP
00005355: POP
00005356: JUMP
00005357: JUMPDEST
00005358: PUSH0
00005359: PUSH1 0x1c
0000535b: DUP2
0000535c: SWAP6
0000535d: PUSH2 0x01c0
00005360: DUP4
00005361: SWAP7
00005362: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc
00005383: CALLDATASIZE
00005384: ADD
00005385: SWAP3
00005386: PUSH1 0x40
00005388: MLOAD
00005389: SWAP8
0000538a: PUSH4 0x5aeb713f
0000538f: DUP10
00005390: MSTORE
00005391: PUSH1 0x20
00005393: DUP10
00005394: ADD
00005395: MSTORE
00005396: PUSH1 0x40
00005398: DUP9
00005399: ADD
0000539a: MSTORE
0000539b: PUSH1 0x60
0000539d: DUP8
0000539e: ADD
0000539f: MCOPY
000053a0: PUSH2 0x0220
000053a3: SWAP1
000053a4: DUP2
000053a5: DUP1
000053a6: DUP8
000053a7: ADD
000053a8: MSTORE
000053a9: DUP1
000053aa: PUSH2 0x0240
000053ad: DUP8
000053ae: ADD
000053af: MSTORE
000053b0: PUSH1 0x24
000053b2: PUSH2 0x0260
000053b5: DUP8
000053b6: ADD
000053b7: CALLDATACOPY
000053b8: CALLDATASIZE
000053b9: ADD
000053ba: SWAP4
000053bb: ADD
000053bc: SWAP2
000053bd: PUSH1 0x60
000053bf: SHR
000053c0: GAS
000053c1: CALL
000053c2: ISZERO
000053c3: PUSH2 0x0ebc
000053c6: JUMPI
000053c7: PUSH0
000053c8: DUP1
000053c9: DUP1
000053ca: DUP1
000053cb: PUSH2 0x38e5
000053ce: JUMP
000053cf: JUMPDEST
000053d0: SWAP2
000053d1: SWAP1
000053d2: PUSH0
000053d3: MSTORE
000053d4: PUSH1 0x20
000053d6: MSTORE
000053d7: PUSH32 0x90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15
000053f8: PUSH1 0x40
000053fa: PUSH0
000053fb: LOG2
000053fc: JUMP
000053fd: JUMPDEST
000053fe: SWAP2
000053ff: SWAP1
00005400: PUSH0
00005401: MSTORE
00005402: PUSH1 0x20
00005404: MSTORE
00005405: PUSH32 0x5272034725119f19d7236de4129fdb5093f0dcb80282ca5edbd587df91d2bd89
00005426: PUSH1 0x40
00005428: PUSH0
00005429: LOG2
0000542a: JUMP
0000542b: JUMPDEST
0000542c: SWAP1
0000542d: SWAP4
0000542e: SWAP3
0000542f: SWAP4
00005430: PUSH0
00005431: SWAP5
00005432: PUSH4 0xffffffff
00005437: PUSH2 0x01a0
0000543a: DUP5
0000543b: ADD
0000543c: MLOAD
0000543d: AND
0000543e: DUP3
0000543f: SUB
00005440: SWAP2
00005441: DUP3
00005442: GT
00005443: PUSH2 0x0b38
00005446: JUMPI
00005447: PUSH2 0x544f
0000544a: SWAP3
0000544b: PUSH2 0x5577
0000544e: JUMP
0000544f: JUMPDEST
00005450: SWAP1
00005451: DUP2
00005452: PUSH2 0x5459
00005455: JUMPI
00005456: POP
00005457: POP
00005458: JUMP
00005459: JUMPDEST
0000545a: PUSH2 0x055b
0000545d: SWAP3
0000545e: SWAP4
0000545f: POP
00005460: PUSH2 0x5545
00005463: JUMP
00005464: JUMPDEST
00005465: SWAP1
00005466: PUSH2 0x2985
00005469: PUSH14 0xffffffffffffffffffffffffffff
00005478: DUP4
00005479: AND
0000547a: DUP1
0000547b: SWAP4
0000547c: EQ
0000547d: PUSH2 0x51b6
00005480: JUMP
00005481: JUMPDEST
00005482: SWAP2
00005483: SWAP1
00005484: DUP3
00005485: MLOAD
00005486: SWAP1
00005487: DUP2
00005488: DUP2
00005489: MSTORE
0000548a: PUSH1 0x20
0000548c: DUP1
0000548d: DUP1
0000548e: SWAP6
0000548f: ADD
00005490: SWAP2
00005491: DUP2
00005492: DUP2
00005493: ADD
00005494: SWAP4
00005495: PUSH1 0x05
00005497: SHL
00005498: ADD
00005499: ADD
0000549a: SWAP2
0000549b: JUMPDEST
0000549c: DUP3
0000549d: DUP2
0000549e: LT
0000549f: PUSH2 0x54a9
000054a2: JUMPI
000054a3: POP
000054a4: POP
000054a5: POP
000054a6: SWAP1
000054a7: POP
000054a8: JUMP
000054a9: JUMPDEST
000054aa: DUP2
000054ab: MLOAD
000054ac: SLOAD
000054ad: DUP2
000054ae: MSTORE
000054af: SWAP1
000054b0: DUP5
000054b1: ADD
000054b2: SWAP1
000054b3: DUP5
000054b4: ADD
000054b5: PUSH2 0x549b
000054b8: JUMP
000054b9: JUMPDEST
000054ba: PUSH2 0x5503
000054bd: SWAP1
000054be: PUSH1 0x05
000054c0: SLOAD
000054c1: PUSH1 0x80
000054c3: SHR
000054c4: SWAP1
000054c5: DUP2
000054c6: PUSH0
000054c7: MSTORE
000054c8: PUSH1 0x06
000054ca: PUSH1 0x20
000054cc: MSTORE
000054cd: PUSH4 0xffffffff
000054d2: PUSH1 0x40
000054d4: PUSH0
000054d5: KECCAK256
000054d6: SWAP2
000054d7: AND
000054d8: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000
000054f9: DUP3
000054fa: SLOAD
000054fb: AND
000054fc: OR
000054fd: SWAP1
000054fe: SSTORE
000054ff: PUSH2 0x2987
00005502: JUMP
00005503: JUMPDEST
00005504: PUSH16 0xffffffffffffffffffffffffffffffff
00005515: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000
00005536: PUSH1 0x05
00005538: SLOAD
00005539: SWAP3
0000553a: PUSH1 0x80
0000553c: SHL
0000553d: AND
0000553e: SWAP2
0000553f: AND
00005540: OR
00005541: PUSH1 0x05
00005543: SSTORE
00005544: JUMP
00005545: JUMPDEST
00005546: PUSH10 0x152d02c7e14af6800000
00005551: DUP1
00005552: DUP3
00005553: MUL
00005554: SWAP2
00005555: DUP1
00005556: DUP3
00005557: DUP5
00005558: DIV
00005559: SUB
0000555a: PUSH2 0x51bd
0000555d: JUMPI
0000555e: DUP4
0000555f: MUL
00005560: MUL
00005561: SWAP2
00005562: DUP2
00005563: DUP4
00005564: DIV
00005565: EQ
00005566: SWAP1
00005567: ISZERO
00005568: OR
00005569: ISZERO
0000556a: PUSH2 0x0b38
0000556d: JUMPI
0000556e: PUSH4 0x01e13380
00005573: SWAP1
00005574: DIV
00005575: SWAP1
00005576: JUMP
00005577: JUMPDEST
00005578: SWAP1
00005579: PUSH2 0x0100
0000557c: DUP3
0000557d: ADD
0000557e: PUSH4 0xffffffff
00005583: SWAP1
00005584: PUSH1 0xe0
00005586: DUP3
00005587: DUP3
00005588: MLOAD
00005589: AND
0000558a: SWAP5
0000558b: ADD
0000558c: MLOAD
0000558d: PUSH2 0x55b7
00005590: JUMPI
00005591: PUSH2 0x55a5
00005594: DUP6
00005595: DUP6
00005596: SUB
00005597: DUP7
00005598: DUP7
00005599: GT
0000559a: MUL
0000559b: SWAP3
0000559c: DUP4
0000559d: AND
0000559e: DUP1
0000559f: SWAP4
000055a0: EQ
000055a1: PUSH2 0x51b6
000055a4: JUMP
000055a5: JUMPDEST
000055a6: MSTORE
000055a7: DUP1
000055a8: DUP3
000055a9: SUB
000055aa: SWAP2
000055ab: GT
000055ac: MUL
000055ad: DUP2
000055ae: DUP1
000055af: DUP3
000055b0: SUB
000055b1: SWAP2
000055b2: LT
000055b3: MUL
000055b4: ADD
000055b5: SWAP1
000055b6: JUMP
000055b7: JUMPDEST
000055b8: DUP5
000055b9: DUP5
000055ba: SWAP4
000055bb: SWAP5
000055bc: ADD
000055bd: SWAP2
000055be: DUP3
000055bf: DUP5
000055c0: GT
000055c1: PUSH2 0x0b38
000055c4: JUMPI
000055c5: PUSH2 0x55d2
000055c8: SWAP1
000055c9: DUP4
000055ca: AND
000055cb: DUP1
000055cc: SWAP4
000055cd: EQ
000055ce: PUSH2 0x51b6
000055d1: JUMP
000055d2: JUMPDEST
000055d3: MSTORE
000055d4: DUP1
000055d5: DUP3
000055d6: SUB
000055d7: SWAP2
000055d8: GT
000055d9: MUL
000055da: DUP1
000055db: DUP3
000055dc: SUB
000055dd: SWAP2
000055de: GT
000055df: MUL
000055e0: SWAP1
000055e1: JUMP
000055e2: INVALID
000055e3: LOG1
000055e4: PUSH5 0x736f6c6343
000055ea: STOP
000055eb: ADDMOD
000055ec: NOT
000055ed: STOP
000055ee: EXP

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x048cf4fe2e83722dec2000386c761f86515b33c24ef20fd6714dbaec9a18ca49
call_targets: 0xf76a7887521a91b47c62060ba57549dec1dc88c7
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x048cf4fe2e83722dec2000386c761f86515b33c24ef20fd6714dbaec9a18ca49",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xf76a7887521a91b47c62060ba57549dec1dc88c7"
    ],
    "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": "0x02372c4f",
            "selector": "0x02372c4f",
            "calldata_variants": [
                "0x02372c4f",
                "0x02372c4f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x088fee5e",
            "selector": "0x088fee5e",
            "calldata_variants": [
                "0x088fee5e",
                "0x088fee5e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0c1e3fea",
            "selector": "0x0c1e3fea",
            "calldata_variants": [
                "0x0c1e3fea",
                "0x0c1e3fea0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0c3f6acf",
            "selector": "0x0c3f6acf",
            "calldata_variants": [
                "0x0c3f6acf",
                "0x0c3f6acf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0cd1a5b6",
            "selector": "0x0cd1a5b6",
            "calldata_variants": [
                "0x0cd1a5b6",
                "0x0cd1a5b60000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1223,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "constant_zero",
            "target_expression_category": "computed"
        },
        {
            "pc": 3761,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 9156,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 19,
    "guards_detected": [],
    "untrusted_call_count": 17
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x048cf4fe2e83722dec2000386c761f86515b33c24ef20fd6714dbaec9a18ca49
call_targets: 0xf76a7887521a91b47c62060ba57549dec1dc88c7
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x048cf4fe2e83722dec2000386c761f86515b33c24ef20fd6714dbaec9a18ca49",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xf76a7887521a91b47c62060ba57549dec1dc88c7"
    ],
    "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": "0x02372c4f",
            "selector": "0x02372c4f",
            "calldata_variants": [
                "0x02372c4f",
                "0x02372c4f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x088fee5e",
            "selector": "0x088fee5e",
            "calldata_variants": [
                "0x088fee5e",
                "0x088fee5e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0c1e3fea",
            "selector": "0x0c1e3fea",
            "calldata_variants": [
                "0x0c1e3fea",
                "0x0c1e3fea0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0c3f6acf",
            "selector": "0x0c3f6acf",
            "calldata_variants": [
                "0x0c3f6acf",
                "0x0c3f6acf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x0cd1a5b6",
            "selector": "0x0cd1a5b6",
            "calldata_variants": [
                "0x0cd1a5b6",
                "0x0cd1a5b60000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3761,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 9156,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 13851,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 17,
    "guards_detected": []
}
medium other codex Fee-on-transfer or rebasing assets break accounting and can create unbacked balances 75 no
view
evidence_json
{
    "evidence": "Transfers use the caller-supplied `amount` for accounting immediately after `safeTransferFrom` without verifying actual balance changes.",
    "locations": [
        "contracts/src/market/WildcatMarket.sol:76",
        "contracts/src/market/WildcatMarket.sol:172",
        "contracts/src/market/WildcatMarket.sol:191",
        "contracts/src/market/WildcatMarketWithdrawals.sol:286"
    ],
    "recommendation": "Restrict markets to standard, non-deflationary ERC20s (enforce in the factory), or compute actual received amounts by measuring balance deltas before/after transfers and use those deltas for minting/repayment accounting.",
    "exploit_scenario": "If the underlying asset charges transfer fees or rebases down, deposits/repayments credit the full `amount` while the market receives less. An attacker (or borrower) can deposit/repay using a deflationary asset to mint/repay more than actually received, creating a deficit that can later be withdrawn at the expense of other lenders."
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 23
}