09d41e85-9b93-4b6f-b16a-e04734352bda
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 30230 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 73564 | artifact.fetch | failed | 1 / 3 | 2 weeks ago |
| 73565 | tool.cast_disasm | complete | 1 / 3 | 2 weeks ago |
| 73566 | analysis.bundle | complete | 1 / 3 | 2 weeks ago |
| 73567 | capability.graph | complete | 1 / 3 | 2 weeks ago |
| 73568 | detector.run | complete | 1 / 3 | 2 weeks ago |
| 73569 | validation.fork | complete | 1 / 3 | 2 weeks ago |
No slither job recorded yet.
[codex:1511298] OpenAI Codex v0.77.0 (research preview)
[codex:1511298] --------
[codex:1511298] workdir: /tmp/codex-multi-6qcrpyqr
[codex:1511298] model: gpt-5.2-codex
[codex:1511298] provider: openai
[codex:1511298] approval: never
[codex:1511298] sandbox: read-only
[codex:1511298] reasoning effort: xhigh
[codex:1511298] reasoning summaries: auto
[codex:1511298] session id: 019b621b-e22b-79f1-96a2-6ef8d3d6b721
[codex:1511298] --------
[codex:1511298] user
[codex:1511298] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1511298] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1511298] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1511298]
[codex:1511298] Scope rules:
[codex:1511298] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1511298] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1511298]
[codex:1511298] Output MUST be valid JSON matching the provided schema.
[codex:1511298] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1511298] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1511298]
[codex:1511298] Output constraints (IMPORTANT):
[codex:1511298] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1511298] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1511298] mcp startup: no servers
[codex:1511298]
[codex:1511298] thinking
[codex:1511298] **Preparing to read AUDIT_BUNDLE**
[codex:1511298] exec
[codex:1511298] /bin/bash -lc ls in /tmp/codex-multi-6qcrpyqr succeeded in 5ms:
[codex:1511298] AUDIT_BUNDLE.txt
[codex:1511298] codex-output-schema.json
[codex:1511298] contracts
[codex:1511298]
[codex:1511298] thinking
[codex:1511298] **Reading AUDIT_BUNDLE file**
[codex:1511298] exec
[codex:1511298] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-6qcrpyqr succeeded in 5ms:
[codex:1511298] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1511298]
[codex:1511298] ================================================================================
[codex:1511298] FILE: contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol
[codex:1511298] ================================================================================
[codex:1511298] // SPDX-License-Identifier: MIT
[codex:1511298] // OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol)
[codex:1511298]
[codex:1511298] pragma solidity ^0.8.20;
[codex:1511298]
[codex:1511298] /**
[codex:1511298] * @dev Interface of the ERC20 standard as defined in the EIP.
[codex:1511298] */
[codex:1511298] interface IERC20 {
[codex:1511298] /**
[codex:1511298] * @dev Emitted when `value` tokens are moved from one account (`from`) to
[codex:1511298] * another (`to`).
[codex:1511298] *
[codex:1511298] * Note that `value` may be zero.
[codex:1511298] */
[codex:1511298]
[codex:1511298] thinking
[codex:1511298] **Evaluating StablecoinRedeemer for vulnerabilities**
[codex:1511298] exec
[codex:1511298] /bin/bash -lc 'rg -n "FILE: contracts/src" AUDIT_BUNDLE.txt' in /tmp/codex-multi-6qcrpyqr succeeded in 7ms:
[codex:1511298] 1103:FILE: contracts/src/Minter/StablecoinRedeemer.sol
[codex:1511298] 1296:FILE: contracts/src/interfaces/IAID.sol
[codex:1511298]
[codex:1511298]
[codex:1511298] thinking
[codex:1511298] **Analyzing upgradeability and reentrancy risks**
[codex:1511298] thinking
[codex:1511298] **Confirming absence of exploitable vulnerabilities**
[codex:1511298]
[codex:1511298] There is a detailed review of potential reentrancy, access control, upgradeability, and accounting issues, and after careful consideration, I find no exploitable vulnerabilities. I’m weighing common edge cases, including malicious ownership or token behavior, but all scenarios are safely guarded or not exploitable. This leads me to conclude the contract is secure within the given focus areas, so I’ll prepare a no findings report accordingly.
[codex:1511298] exec
[codex:1511298] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-6qcrpyqr succeeded in 6ms:
[codex:1511298] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:1511298]
[codex:1511298] thinking
[codex:1511298] **Analyzing audit summary and reading strategy**
[codex:1511298]
[codex:1511298] I'm reviewing subtle technical risks and trust assumptions in the audit, confirming no exploitable vulnerabilities exist, and planning to read the full audit file carefully in segmented chunks to avoid truncation and ensure complete coverage.
[codex:1511298] exec
[codex:1511298] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-6qcrpyqr succeeded in 5ms:
[codex:1511298] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1511298]
[codex:1511298] ================================================================================
[codex:1511298] FILE: contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol
[codex:1511298] ================================================================================
[codex:1511298] // SPDX-License-Identifier: MIT
[codex:1511298] // OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol)
[codex:1511298]
[codex:1511298] pragma solidity ^0.8.20;
[codex:1511298]
[codex:1511298] /**
[codex:1511298] * @dev Interface of the ERC20 standard as defined in the EIP.
[codex:1511298] */
[codex:1511298] interface IERC20 {
[codex:1511298] /**
[codex:1511298] * @dev Emitted when `value` tokens are moved from one account (`from`) to
[codex:1511298] * another (`to`).
[codex:1511298] *
[codex:1511298] * Note that `value` may be zero.
[codex:1511298] */
[codex:1511298]
[codex:1511298] thinking
[codex:1511298] **Awaiting more input**
[codex:1511298] exec
[codex:1511298] /bin/bash -lc "sed -n '200,400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-6qcrpyqr succeeded in 6ms:
[codex:1511298] */
[codex:1511298] function nonces(address owner) external view returns (uint256);
[codex:1511298]
[codex:1511298] /**
[codex:1511298] * @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.
[codex:1511298] */
[codex:1511298] // solhint-disable-next-line func-name-mixedcase
[codex:1511298] function DOMAIN_SEPARATOR() external view returns (bytes32);
[codex:1511298] }
[codex:1511298]
[codex:1511298] ================================================================================
[codex:1511298] FILE: contracts/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol
[codex:1511298] ================================================================================
[codex:1511298] // SPDX-License-Identifier: MIT
[codex:1511298] // OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/utils/SafeERC20.sol)
[codex:1511298]
[codex:1511298] pragma solidity ^0.8.20;
[codex:1511298]
[codex:1511298] import {IERC20} from "../IERC20.sol";
[codex:1511298] import {IERC20Permit} from "../extensions/IERC20Permit.sol";
[codex:1511298]
[codex:1511298] thinking
[codex:1511298] **Pausing before continuing**
[codex:1511298] exec
[codex:1511298] /bin/bash -lc "sed -n '400,600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-6qcrpyqr succeeded in 5ms:
[codex:1511298] *
[codex:1511298] * - `target` must be a contract.
[codex:1511298] * - calling `target` with `data` must not revert.
[codex:1511298] */
[codex:1511298] function functionCall(address target, bytes memory data) internal returns (bytes memory) {
[codex:1511298] return functionCallWithValue(target, data, 0);
[codex:1511298] }
[codex:1511298]
[codex:1511298] /**
[codex:1511298] * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
[codex:1511298] * but also transferring `value` wei to `target`.
[codex:1511298] *
[codex:1511298] * Requirements:
[codex:1511298] *
[codex:1511298] * - the calling contract must have an ETH balance of at least `value`.
[codex:1511298] * - the called Solidity function must be `payable`.
[codex:1511298] */
[codex:1511298] function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
[codex:1511298] if (address(this).balance < value) {
[codex:1511298] revert AddressInsufficientBalance(address(this));
[codex:1511298]
[codex:1511298] thinking
[codex:1511298] **Continuing analysis**
[codex:1511298] exec
[codex:1511298] /bin/bash -lc "sed -n '600,800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-6qcrpyqr succeeded in 5ms:
[codex:1511298] * there is an account (an owner) that can be granted exclusive access to
[codex:1511298] * specific functions.
[codex:1511298] *
[codex:1511298] * The initial owner is set to the address provided by the deployer. This can
[codex:1511298] * later be changed with {transferOwnership}.
[codex:1511298] *
[codex:1511298] * This module is used through inheritance. It will make available the modifier
[codex:1511298] * `onlyOwner`, which can be applied to your functions to restrict their use to
[codex:1511298] * the owner.
[codex:1511298] */
[codex:1511298] abstract contract OwnableUpgradeable is Initializable, ContextUpgradeable {
[codex:1511298] /// @custom:storage-location erc7201:openzeppelin.storage.Ownable
[codex:1511298] struct OwnableStorage {
[codex:1511298] address _owner;
[codex:1511298] }
[codex:1511298]
[codex:1511298] // keccak256(abi.encode(uint256(keccak256("openzeppelin.storage.Ownable")) - 1)) & ~bytes32(uint256(0xff))
[codex:1511298] bytes32 private constant OwnableStorageLocation = 0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300;
[codex:1511298]
[codex:1511298] function _getOwnableStorage() private pure returns (OwnableStorage storage $) {
[codex:1511298]
[codex:1511298] thinking
[codex:1511298] **Continuing exploration**
[codex:1511298] exec
[codex:1511298] /bin/bash -lc "sed -n '800,1000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-6qcrpyqr succeeded in 5ms:
[codex:1511298]
[codex:1511298] /**
[codex:1511298] * @dev Triggered when the contract has been initialized or reinitialized.
[codex:1511298] */
[codex:1511298] event Initialized(uint64 version);
[codex:1511298]
[codex:1511298] /**
[codex:1511298] * @dev A modifier that defines a protected initializer function that can be invoked at most once. In its scope,
[codex:1511298] * `onlyInitializing` functions can be used to initialize parent contracts.
[codex:1511298] *
[codex:1511298] * Similar to `reinitializer(1)`, except that in the context of a constructor an `initializer` may be invoked any
[codex:1511298] * number of times. This behavior in the constructor can be useful during testing and is not expected to be used in
[codex:1511298] * production.
[codex:1511298] *
[codex:1511298] * Emits an {Initialized} event.
[codex:1511298] */
[codex:1511298] modifier initializer() {
[codex:1511298] // solhint-disable-next-line var-name-mixedcase
[codex:1511298] InitializableStorage storage $ = _getInitializableStorage();
[codex:1511298]
[codex:1511298]
[codex:1511298] thinking
[codex:1511298] **Continuing analysis**
[codex:1511298] exec
[codex:1511298] /bin/bash -lc "sed -n '1000,1200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-6qcrpyqr succeeded in 5ms:
[codex:1511298] * @dev Contract module that helps prevent reentrant calls to a function.
[codex:1511298] *
[codex:1511298] * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier
[codex:1511298] * available, which can be applied to functions to make sure there are no nested
[codex:1511298] * (reentrant) calls to them.
[codex:1511298] *
[codex:1511298] * Note that because there is a single `nonReentrant` guard, functions marked as
[codex:1511298] * `nonReentrant` may not call one another. This can be worked around by making
[codex:1511298] * those functions `private`, and then adding `external` `nonReentrant` entry
[codex:1511298] * points to them.
[codex:1511298] *
[codex:1511298] * TIP: If EIP-1153 (transient storage) is available on the chain you're deploying at,
[codex:1511298] * consider using {ReentrancyGuardTransient} instead.
[codex:1511298] *
[codex:1511298] * TIP: If you would like to learn more about reentrancy and alternative ways
[codex:1511298] * to protect against it, check out our blog post
[codex:1511298] * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
[codex:1511298] */
[codex:1511298] abstract contract ReentrancyGuardUpgradeable is Initializable {
[codex:1511298] // Booleans are more expensive than uint256 or any type that takes up a full
[codex:1511298]
[codex:1511298] thinking
[codex:1511298] **Finishing review**
[codex:1511298] exec
[codex:1511298] /bin/bash -lc "sed -n '1200,1400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-6qcrpyqr succeeded in 5ms:
[codex:1511298]
[codex:1511298] // Calculate the decimal adjustment multiplier
[codex:1511298] // If AID has different decimals than stablecoin, we need to adjust
[codex:1511298] DECIMAL_ADJUSTMENT = 10 ** (aidDecimals - stablecoinDecimals);
[codex:1511298]
[codex:1511298] // Initialize with default values
[codex:1511298] redeemLimitPerDay = _redeemLimitPerDay;
[codex:1511298] }
[codex:1511298]
[codex:1511298] /// @notice Redeems AID tokens for stablecoins
[codex:1511298] /// @param aidAmount Amount of AID to redeem (in AID's native decimals)
[codex:1511298] /// @return stablecoinAmount Amount of stablecoin redeemed after fee (in stablecoin's native decimals)
[codex:1511298] /// @dev Transfers AID from caller, burns it, and transfers stablecoin at 1:1 ratio minus fee
[codex:1511298] function redeem(uint256 aidAmount) external nonReentrant returns (uint256) {
[codex:1511298] // Check daily redemption limit (in AID amount)
[codex:1511298] uint256 currentDay = block.timestamp / 1 days;
[codex:1511298] uint256 redeemedToday = dailyRedeemed[currentDay];
[codex:1511298] if (redeemedToday + aidAmount > redeemLimitPerDay) {
[codex:1511298] revert DailyLimitExceeded();
[codex:1511298] }
[codex:1511298]
[codex:1511298] thinking
[codex:1511298] **Evaluating potential vulnerabilities**
[codex:1511298] codex
[codex:1511298] {"no_findings":true,"summary":"No exploitable vulnerabilities found in the first-party contracts reviewed (StablecoinRedeemer and IAID).","findings":[]}
[codex:1511298] tokens used
[codex:1511298] 58,667
[codex:1511298] {"no_findings":true,"summary":"No exploitable vulnerabilities found in the first-party contracts reviewed (StablecoinRedeemer and IAID).","findings":[]}
{
"codex": {
"ran_at": "2025-12-27T23:23:03.805574+00:00",
"returncode": 0
},
"summary": "No exploitable vulnerabilities found in the first-party contracts reviewed (StablecoinRedeemer and IAID).",
"raw_final": {
"summary": "No exploitable vulnerabilities found in the first-party contracts reviewed (StablecoinRedeemer and IAID).",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLVALUE 00000006: DUP1 00000007: ISZERO 00000008: PUSH2 0x000f 0000000b: JUMPI 0000000c: PUSH0 0000000d: DUP1 0000000e: REVERT 0000000f: JUMPDEST 00000010: POP 00000011: PUSH1 0x04 00000013: CALLDATASIZE 00000014: LT 00000015: PUSH2 0x012a 00000018: JUMPI 00000019: PUSH0 0000001a: CALLDATALOAD 0000001b: PUSH1 0xe0 0000001d: SHR 0000001e: DUP1 0000001f: PUSH4 0xc1fd7a00 00000024: GT 00000025: PUSH2 0x00ab 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xe30c3978 0000002f: GT 00000030: PUSH2 0x006f 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xe30c3978 0000003a: EQ 0000003b: PUSH2 0x02e4 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xe9cbd822 00000045: EQ 00000046: PUSH2 0x0302 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xec07f063 00000050: EQ 00000051: PUSH2 0x0320 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xf2fde38b 0000005b: EQ 0000005c: PUSH2 0x033c 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0xf347f505 00000066: EQ 00000067: PUSH2 0x0358 0000006a: JUMPI 0000006b: PUSH2 0x012a 0000006e: JUMP 0000006f: JUMPDEST 00000070: DUP1 00000071: PUSH4 0xc1fd7a00 00000076: EQ 00000077: PUSH2 0x023e 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0xcf756fdf 00000081: EQ 00000082: PUSH2 0x025c 00000085: JUMPI 00000086: DUP1 00000087: PUSH4 0xd68002f3 0000008c: EQ 0000008d: PUSH2 0x0278 00000090: JUMPI 00000091: DUP1 00000092: PUSH4 0xd9d48e04 00000097: EQ 00000098: PUSH2 0x0296 0000009b: JUMPI 0000009c: DUP1 0000009d: PUSH4 0xdb006a75 000000a2: EQ 000000a3: PUSH2 0x02b4 000000a6: JUMPI 000000a7: PUSH2 0x012a 000000aa: JUMP 000000ab: JUMPDEST 000000ac: DUP1 000000ad: PUSH4 0x79ba5097 000000b2: GT 000000b3: PUSH2 0x00f2 000000b6: JUMPI 000000b7: DUP1 000000b8: PUSH4 0x79ba5097 000000bd: EQ 000000be: PUSH2 0x01ac 000000c1: JUMPI 000000c2: DUP1 000000c3: PUSH4 0x80b44c92 000000c8: EQ 000000c9: PUSH2 0x01b6 000000cc: JUMPI 000000cd: DUP1 000000ce: PUSH4 0x8da5cb5b 000000d3: EQ 000000d4: PUSH2 0x01d2 000000d7: JUMPI 000000d8: DUP1 000000d9: PUSH4 0x9ac929fb 000000de: EQ 000000df: PUSH2 0x01f0 000000e2: JUMPI 000000e3: DUP1 000000e4: PUSH4 0xb91cc136 000000e9: EQ 000000ea: PUSH2 0x0220 000000ed: JUMPI 000000ee: PUSH2 0x012a 000000f1: JUMP 000000f2: JUMPDEST 000000f3: DUP1 000000f4: PUSH4 0x28a1f040 000000f9: EQ 000000fa: PUSH2 0x012e 000000fd: JUMPI 000000fe: DUP1 000000ff: PUSH4 0x3e58e071 00000104: EQ 00000105: PUSH2 0x014c 00000108: JUMPI 00000109: DUP1 0000010a: PUSH4 0x62c06767 0000010f: EQ 00000110: PUSH2 0x0168 00000113: JUMPI 00000114: DUP1 00000115: PUSH4 0x6ca7f95c 0000011a: EQ 0000011b: PUSH2 0x0184 0000011e: JUMPI 0000011f: DUP1 00000120: PUSH4 0x715018a6 00000125: EQ 00000126: PUSH2 0x01a2 00000129: JUMPI 0000012a: JUMPDEST 0000012b: PUSH0 0000012c: DUP1 0000012d: REVERT 0000012e: JUMPDEST 0000012f: PUSH2 0x0136 00000132: PUSH2 0x0376 00000135: JUMP 00000136: JUMPDEST 00000137: PUSH1 0x40 00000139: MLOAD 0000013a: PUSH2 0x0143 0000013d: SWAP2 0000013e: SWAP1 0000013f: PUSH2 0x15df 00000142: JUMP 00000143: JUMPDEST 00000144: PUSH1 0x40 00000146: MLOAD 00000147: DUP1 00000148: SWAP2 00000149: SUB 0000014a: SWAP1 0000014b: RETURN 0000014c: JUMPDEST 0000014d: PUSH2 0x0166 00000150: PUSH1 0x04 00000152: DUP1 00000153: CALLDATASIZE 00000154: SUB 00000155: DUP2 00000156: ADD 00000157: SWAP1 00000158: PUSH2 0x0161 0000015b: SWAP2 0000015c: SWAP1 0000015d: PUSH2 0x1633 00000160: JUMP 00000161: JUMPDEST 00000162: PUSH2 0x0389 00000165: JUMP 00000166: JUMPDEST 00000167: STOP 00000168: JUMPDEST 00000169: PUSH2 0x0182 0000016c: PUSH1 0x04 0000016e: DUP1 0000016f: CALLDATASIZE 00000170: SUB 00000171: DUP2 00000172: ADD 00000173: SWAP1 00000174: PUSH2 0x017d 00000177: SWAP2 00000178: SWAP1 00000179: PUSH2 0x16eb 0000017c: JUMP 0000017d: JUMPDEST 0000017e: PUSH2 0x0427 00000181: JUMP 00000182: JUMPDEST 00000183: STOP 00000184: JUMPDEST 00000185: PUSH2 0x018c 00000188: PUSH2 0x04bd 0000018b: JUMP 0000018c: JUMPDEST 0000018d: PUSH1 0x40 0000018f: MLOAD 00000190: PUSH2 0x0199 00000193: SWAP2 00000194: SWAP1 00000195: PUSH2 0x174a 00000198: JUMP 00000199: JUMPDEST 0000019a: PUSH1 0x40 0000019c: MLOAD 0000019d: DUP1 0000019e: SWAP2 0000019f: SUB 000001a0: SWAP1 000001a1: RETURN 000001a2: JUMPDEST 000001a3: PUSH2 0x01aa 000001a6: PUSH2 0x04c3 000001a9: JUMP 000001aa: JUMPDEST 000001ab: STOP 000001ac: JUMPDEST 000001ad: PUSH2 0x01b4 000001b0: PUSH2 0x04d6 000001b3: JUMP 000001b4: JUMPDEST 000001b5: STOP 000001b6: JUMPDEST 000001b7: PUSH2 0x01d0 000001ba: PUSH1 0x04 000001bc: DUP1 000001bd: CALLDATASIZE 000001be: SUB 000001bf: DUP2 000001c0: ADD 000001c1: SWAP1 000001c2: PUSH2 0x01cb 000001c5: SWAP2 000001c6: SWAP1 000001c7: PUSH2 0x1763 000001ca: JUMP 000001cb: JUMPDEST 000001cc: PUSH2 0x0564 000001cf: JUMP 000001d0: JUMPDEST 000001d1: STOP 000001d2: JUMPDEST 000001d3: PUSH2 0x01da 000001d6: PUSH2 0x05ad 000001d9: JUMP 000001da: JUMPDEST 000001db: PUSH1 0x40 000001dd: MLOAD 000001de: PUSH2 0x01e7 000001e1: SWAP2 000001e2: SWAP1 000001e3: PUSH2 0x179d 000001e6: JUMP 000001e7: JUMPDEST 000001e8: PUSH1 0x40 000001ea: MLOAD 000001eb: DUP1 000001ec: SWAP2 000001ed: SUB 000001ee: SWAP1 000001ef: RETURN 000001f0: JUMPDEST 000001f1: PUSH2 0x020a 000001f4: PUSH1 0x04 000001f6: DUP1 000001f7: CALLDATASIZE 000001f8: SUB 000001f9: DUP2 000001fa: ADD 000001fb: SWAP1 000001fc: PUSH2 0x0205 000001ff: SWAP2 00000200: SWAP1 00000201: PUSH2 0x1763 00000204: JUMP 00000205: JUMPDEST 00000206: PUSH2 0x05e2 00000209: JUMP 0000020a: JUMPDEST 0000020b: PUSH1 0x40 0000020d: MLOAD 0000020e: PUSH2 0x0217 00000211: SWAP2 00000212: SWAP1 00000213: PUSH2 0x174a 00000216: JUMP 00000217: JUMPDEST 00000218: PUSH1 0x40 0000021a: MLOAD 0000021b: DUP1 0000021c: SWAP2 0000021d: SUB 0000021e: SWAP1 0000021f: RETURN 00000220: JUMPDEST 00000221: PUSH2 0x0228 00000224: PUSH2 0x05f7 00000227: JUMP 00000228: JUMPDEST 00000229: PUSH1 0x40 0000022b: MLOAD 0000022c: PUSH2 0x0235 0000022f: SWAP2 00000230: SWAP1 00000231: PUSH2 0x179d 00000234: JUMP 00000235: JUMPDEST 00000236: PUSH1 0x40 00000238: MLOAD 00000239: DUP1 0000023a: SWAP2 0000023b: SUB 0000023c: SWAP1 0000023d: RETURN 0000023e: JUMPDEST 0000023f: PUSH2 0x0246 00000242: PUSH2 0x061a 00000245: JUMP 00000246: JUMPDEST 00000247: PUSH1 0x40 00000249: MLOAD 0000024a: PUSH2 0x0253 0000024d: SWAP2 0000024e: SWAP1 0000024f: PUSH2 0x174a 00000252: JUMP 00000253: JUMPDEST 00000254: PUSH1 0x40 00000256: MLOAD 00000257: DUP1 00000258: SWAP2 00000259: SUB 0000025a: SWAP1 0000025b: RETURN 0000025c: JUMPDEST 0000025d: PUSH2 0x0276 00000260: PUSH1 0x04 00000262: DUP1 00000263: CALLDATASIZE 00000264: SUB 00000265: DUP2 00000266: ADD 00000267: SWAP1 00000268: PUSH2 0x0271 0000026b: SWAP2 0000026c: SWAP1 0000026d: PUSH2 0x17b6 00000270: JUMP 00000271: JUMPDEST 00000272: PUSH2 0x0620 00000275: JUMP 00000276: JUMPDEST 00000277: STOP 00000278: JUMPDEST 00000279: PUSH2 0x0280 0000027c: PUSH2 0x0a61 0000027f: JUMP 00000280: JUMPDEST 00000281: PUSH1 0x40 00000283: MLOAD 00000284: PUSH2 0x028d 00000287: SWAP2 00000288: SWAP1 00000289: PUSH2 0x1829 0000028c: JUMP 0000028d: JUMPDEST 0000028e: PUSH1 0x40 00000290: MLOAD 00000291: DUP1 00000292: SWAP2 00000293: SUB 00000294: SWAP1 00000295: RETURN 00000296: JUMPDEST 00000297: PUSH2 0x029e 0000029a: PUSH2 0x0a74 0000029d: JUMP 0000029e: JUMPDEST 0000029f: PUSH1 0x40 000002a1: MLOAD 000002a2: PUSH2 0x02ab 000002a5: SWAP2 000002a6: SWAP1 000002a7: PUSH2 0x174a 000002aa: JUMP 000002ab: JUMPDEST 000002ac: PUSH1 0x40 000002ae: MLOAD 000002af: DUP1 000002b0: SWAP2 000002b1: SUB 000002b2: SWAP1 000002b3: RETURN 000002b4: JUMPDEST 000002b5: PUSH2 0x02ce 000002b8: PUSH1 0x04 000002ba: DUP1 000002bb: CALLDATASIZE 000002bc: SUB 000002bd: DUP2 000002be: ADD 000002bf: SWAP1 000002c0: PUSH2 0x02c9 000002c3: SWAP2 000002c4: SWAP1 000002c5: PUSH2 0x1763 000002c8: JUMP 000002c9: JUMPDEST 000002ca: PUSH2 0x0a7a 000002cd: JUMP 000002ce: JUMPDEST 000002cf: PUSH1 0x40 000002d1: MLOAD 000002d2: PUSH2 0x02db 000002d5: SWAP2 000002d6: SWAP1 000002d7: PUSH2 0x174a 000002da: JUMP 000002db: JUMPDEST 000002dc: PUSH1 0x40 000002de: MLOAD 000002df: DUP1 000002e0: SWAP2 000002e1: SUB 000002e2: SWAP1 000002e3: RETURN 000002e4: JUMPDEST 000002e5: PUSH2 0x02ec 000002e8: PUSH2 0x0d7d 000002eb: JUMP 000002ec: JUMPDEST 000002ed: PUSH1 0x40 000002ef: MLOAD 000002f0: PUSH2 0x02f9 000002f3: SWAP2 000002f4: SWAP1 000002f5: PUSH2 0x179d 000002f8: JUMP 000002f9: JUMPDEST 000002fa: PUSH1 0x40 000002fc: MLOAD 000002fd: DUP1 000002fe: SWAP2 000002ff: SUB 00000300: SWAP1 00000301: RETURN 00000302: JUMPDEST 00000303: PUSH2 0x030a 00000306: PUSH2 0x0db2 00000309: JUMP 0000030a: JUMPDEST 0000030b: PUSH1 0x40 0000030d: MLOAD 0000030e: PUSH2 0x0317 00000311: SWAP2 00000312: SWAP1 00000313: PUSH2 0x179d 00000316: JUMP 00000317: JUMPDEST 00000318: PUSH1 0x40 0000031a: MLOAD 0000031b: DUP1 0000031c: SWAP2 0000031d: SUB 0000031e: SWAP1 0000031f: RETURN 00000320: JUMPDEST 00000321: PUSH2 0x033a 00000324: PUSH1 0x04 00000326: DUP1 00000327: CALLDATASIZE 00000328: SUB 00000329: DUP2 0000032a: ADD 0000032b: SWAP1 0000032c: PUSH2 0x0335 0000032f: SWAP2 00000330: SWAP1 00000331: PUSH2 0x1842 00000334: JUMP 00000335: JUMPDEST 00000336: PUSH2 0x0dd7 00000339: JUMP 0000033a: JUMPDEST 0000033b: STOP 0000033c: JUMPDEST 0000033d: PUSH2 0x0356 00000340: PUSH1 0x04 00000342: DUP1 00000343: CALLDATASIZE 00000344: SUB 00000345: DUP2 00000346: ADD 00000347: SWAP1 00000348: PUSH2 0x0351 0000034b: SWAP2 0000034c: SWAP1 0000034d: PUSH2 0x1842 00000350: JUMP 00000351: JUMPDEST 00000352: PUSH2 0x0e4c 00000355: JUMP 00000356: JUMPDEST 00000357: STOP 00000358: JUMPDEST 00000359: PUSH2 0x0360 0000035c: PUSH2 0x0f05 0000035f: JUMP 00000360: JUMPDEST 00000361: PUSH1 0x40 00000363: MLOAD 00000364: PUSH2 0x036d 00000367: SWAP2 00000368: SWAP1 00000369: PUSH2 0x15df 0000036c: JUMP 0000036d: JUMPDEST 0000036e: PUSH1 0x40 00000370: MLOAD 00000371: DUP1 00000372: SWAP2 00000373: SUB 00000374: SWAP1 00000375: RETURN 00000376: JUMPDEST 00000377: PUSH1 0x01 00000379: PUSH1 0x15 0000037b: SWAP1 0000037c: SLOAD 0000037d: SWAP1 0000037e: PUSH2 0x0100 00000381: EXP 00000382: SWAP1 00000383: DIV 00000384: PUSH1 0xff 00000386: AND 00000387: DUP2 00000388: JUMP 00000389: JUMPDEST 0000038a: PUSH2 0x0391 0000038d: PUSH2 0x0f18 00000390: JUMP 00000391: JUMPDEST 00000392: PUSH2 0x2710 00000395: DUP2 00000396: PUSH2 0xffff 00000399: AND 0000039a: GT 0000039b: ISZERO 0000039c: PUSH2 0x03d1 0000039f: JUMPI 000003a0: PUSH1 0x40 000003a2: MLOAD 000003a3: PUSH32 0x8bff87cf00000000000000000000000000000000000000000000000000000000 000003c4: DUP2 000003c5: MSTORE 000003c6: PUSH1 0x04 000003c8: ADD 000003c9: PUSH1 0x40 000003cb: MLOAD 000003cc: DUP1 000003cd: SWAP2 000003ce: SUB 000003cf: SWAP1 000003d0: REVERT 000003d1: JUMPDEST 000003d2: DUP1 000003d3: PUSH1 0x04 000003d5: PUSH0 000003d6: PUSH2 0x0100 000003d9: EXP 000003da: DUP2 000003db: SLOAD 000003dc: DUP2 000003dd: PUSH2 0xffff 000003e0: MUL 000003e1: NOT 000003e2: AND 000003e3: SWAP1 000003e4: DUP4 000003e5: PUSH2 0xffff 000003e8: AND 000003e9: MUL 000003ea: OR 000003eb: SWAP1 000003ec: SSTORE 000003ed: POP 000003ee: PUSH32 0x9de314ad468330bb68940f6f5b9fc3de54220473d759b690b121b567e5c9522f 0000040f: DUP2 00000410: PUSH1 0x40 00000412: MLOAD 00000413: PUSH2 0x041c 00000416: SWAP2 00000417: SWAP1 00000418: PUSH2 0x1829 0000041b: JUMP 0000041c: JUMPDEST 0000041d: PUSH1 0x40 0000041f: MLOAD 00000420: DUP1 00000421: SWAP2 00000422: SUB 00000423: SWAP1 00000424: LOG1 00000425: POP 00000426: JUMP 00000427: JUMPDEST 00000428: PUSH2 0x042f 0000042b: PUSH2 0x0f18 0000042e: JUMP 0000042f: JUMPDEST 00000430: PUSH2 0x0437 00000433: PUSH2 0x0f9f 00000436: JUMP 00000437: JUMPDEST 00000438: PUSH2 0x0462 0000043b: DUP3 0000043c: DUP3 0000043d: DUP6 0000043e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000453: AND 00000454: PUSH2 0x0ff3 00000457: SWAP1 00000458: SWAP3 00000459: SWAP2 0000045a: SWAP1 0000045b: PUSH4 0xffffffff 00000460: AND 00000461: JUMP 00000462: JUMPDEST 00000463: DUP2 00000464: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000479: AND 0000047a: PUSH32 0xc36b5179cb9c303b200074996eab2b3473eac370fdd7eba3bec636fe35109696 0000049b: DUP3 0000049c: PUSH1 0x40 0000049e: MLOAD 0000049f: PUSH2 0x04a8 000004a2: SWAP2 000004a3: SWAP1 000004a4: PUSH2 0x174a 000004a7: JUMP 000004a8: JUMPDEST 000004a9: PUSH1 0x40 000004ab: MLOAD 000004ac: DUP1 000004ad: SWAP2 000004ae: SUB 000004af: SWAP1 000004b0: LOG2 000004b1: PUSH2 0x04b8 000004b4: PUSH2 0x1072 000004b7: JUMP 000004b8: JUMPDEST 000004b9: POP 000004ba: POP 000004bb: POP 000004bc: JUMP 000004bd: JUMPDEST 000004be: PUSH1 0x06 000004c0: SLOAD 000004c1: DUP2 000004c2: JUMP 000004c3: JUMPDEST 000004c4: PUSH2 0x04cb 000004c7: PUSH2 0x0f18 000004ca: JUMP 000004cb: JUMPDEST 000004cc: PUSH2 0x04d4 000004cf: PUSH0 000004d0: PUSH2 0x1089 000004d3: JUMP 000004d4: JUMPDEST 000004d5: JUMP 000004d6: JUMPDEST 000004d7: PUSH0 000004d8: PUSH2 0x04df 000004db: PUSH2 0x10c6 000004de: JUMP 000004df: JUMPDEST 000004e0: SWAP1 000004e1: POP 000004e2: DUP1 000004e3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004f8: AND 000004f9: PUSH2 0x0500 000004fc: PUSH2 0x0d7d 000004ff: JUMP 00000500: JUMPDEST 00000501: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000516: AND 00000517: EQ 00000518: PUSH2 0x0558 0000051b: JUMPI 0000051c: DUP1 0000051d: PUSH1 0x40 0000051f: MLOAD 00000520: PUSH32 0x118cdaa700000000000000000000000000000000000000000000000000000000 00000541: DUP2 00000542: MSTORE 00000543: PUSH1 0x04 00000545: ADD 00000546: PUSH2 0x054f 00000549: SWAP2 0000054a: SWAP1 0000054b: PUSH2 0x179d 0000054e: JUMP 0000054f: JUMPDEST 00000550: PUSH1 0x40 00000552: MLOAD 00000553: DUP1 00000554: SWAP2 00000555: SUB 00000556: SWAP1 00000557: REVERT 00000558: JUMPDEST 00000559: PUSH2 0x0561 0000055c: DUP2 0000055d: PUSH2 0x1089 00000560: JUMP 00000561: JUMPDEST 00000562: POP 00000563: JUMP 00000564: JUMPDEST 00000565: PUSH2 0x056c 00000568: PUSH2 0x0f18 0000056b: JUMP 0000056c: JUMPDEST 0000056d: DUP1 0000056e: PUSH1 0x03 00000570: DUP2 00000571: SWAP1 00000572: SSTORE 00000573: POP 00000574: PUSH32 0x49af08ad3ade602c2e8a90a999008eac387eff631494d4e7a3db60012c33d197 00000595: DUP2 00000596: PUSH1 0x40 00000598: MLOAD 00000599: PUSH2 0x05a2 0000059c: SWAP2 0000059d: SWAP1 0000059e: PUSH2 0x174a 000005a1: JUMP 000005a2: JUMPDEST 000005a3: PUSH1 0x40 000005a5: MLOAD 000005a6: DUP1 000005a7: SWAP2 000005a8: SUB 000005a9: SWAP1 000005aa: LOG1 000005ab: POP 000005ac: JUMP 000005ad: JUMPDEST 000005ae: PUSH0 000005af: DUP1 000005b0: PUSH2 0x05b7 000005b3: PUSH2 0x10cd 000005b6: JUMP 000005b7: JUMPDEST 000005b8: SWAP1 000005b9: POP 000005ba: DUP1 000005bb: PUSH0 000005bc: ADD 000005bd: PUSH0 000005be: SWAP1 000005bf: SLOAD 000005c0: SWAP1 000005c1: PUSH2 0x0100 000005c4: EXP 000005c5: SWAP1 000005c6: DIV 000005c7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005dc: AND 000005dd: SWAP2 000005de: POP 000005df: POP 000005e0: SWAP1 000005e1: JUMP 000005e2: JUMPDEST 000005e3: PUSH1 0x05 000005e5: PUSH1 0x20 000005e7: MSTORE 000005e8: DUP1 000005e9: PUSH0 000005ea: MSTORE 000005eb: PUSH1 0x40 000005ed: PUSH0 000005ee: KECCAK256 000005ef: PUSH0 000005f0: SWAP2 000005f1: POP 000005f2: SWAP1 000005f3: POP 000005f4: SLOAD 000005f5: DUP2 000005f6: JUMP 000005f7: JUMPDEST 000005f8: PUSH0 000005f9: DUP1 000005fa: SLOAD 000005fb: SWAP1 000005fc: PUSH2 0x0100 000005ff: EXP 00000600: SWAP1 00000601: DIV 00000602: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000617: AND 00000618: DUP2 00000619: JUMP 0000061a: JUMPDEST 0000061b: PUSH1 0x02 0000061d: SLOAD 0000061e: DUP2 0000061f: JUMP 00000620: JUMPDEST 00000621: PUSH0 00000622: PUSH2 0x0629 00000625: PUSH2 0x10f4 00000628: JUMP 00000629: JUMPDEST 0000062a: SWAP1 0000062b: POP 0000062c: PUSH0 0000062d: DUP2 0000062e: PUSH0 0000062f: ADD 00000630: PUSH1 0x08 00000632: SWAP1 00000633: SLOAD 00000634: SWAP1 00000635: PUSH2 0x0100 00000638: EXP 00000639: SWAP1 0000063a: DIV 0000063b: PUSH1 0xff 0000063d: AND 0000063e: ISZERO 0000063f: SWAP1 00000640: POP 00000641: PUSH0 00000642: DUP3 00000643: PUSH0 00000644: ADD 00000645: PUSH0 00000646: SWAP1 00000647: SLOAD 00000648: SWAP1 00000649: PUSH2 0x0100 0000064c: EXP 0000064d: SWAP1 0000064e: DIV 0000064f: PUSH8 0xffffffffffffffff 00000658: AND 00000659: SWAP1 0000065a: POP 0000065b: PUSH0 0000065c: DUP1 0000065d: DUP3 0000065e: PUSH8 0xffffffffffffffff 00000667: AND 00000668: EQ 00000669: DUP1 0000066a: ISZERO 0000066b: PUSH2 0x0671 0000066e: JUMPI 0000066f: POP 00000670: DUP3 00000671: JUMPDEST 00000672: SWAP1 00000673: POP 00000674: PUSH0 00000675: PUSH1 0x01 00000677: DUP4 00000678: PUSH8 0xffffffffffffffff 00000681: AND 00000682: EQ 00000683: DUP1 00000684: ISZERO 00000685: PUSH2 0x06a4 00000688: JUMPI 00000689: POP 0000068a: PUSH0 0000068b: ADDRESS 0000068c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006a1: AND 000006a2: EXTCODESIZE 000006a3: EQ 000006a4: JUMPDEST 000006a5: SWAP1 000006a6: POP 000006a7: DUP2 000006a8: ISZERO 000006a9: DUP1 000006aa: ISZERO 000006ab: PUSH2 0x06b2 000006ae: JUMPI 000006af: POP 000006b0: DUP1 000006b1: ISZERO 000006b2: JUMPDEST 000006b3: ISZERO 000006b4: PUSH2 0x06e9 000006b7: JUMPI 000006b8: PUSH1 0x40 000006ba: MLOAD 000006bb: PUSH32 0xf92ee8a900000000000000000000000000000000000000000000000000000000 000006dc: DUP2 000006dd: MSTORE 000006de: PUSH1 0x04 000006e0: ADD 000006e1: PUSH1 0x40 000006e3: MLOAD 000006e4: DUP1 000006e5: SWAP2 000006e6: SUB 000006e7: SWAP1 000006e8: REVERT 000006e9: JUMPDEST 000006ea: PUSH1 0x01 000006ec: DUP6 000006ed: PUSH0 000006ee: ADD 000006ef: PUSH0 000006f0: PUSH2 0x0100 000006f3: EXP 000006f4: DUP2 000006f5: SLOAD 000006f6: DUP2 000006f7: PUSH8 0xffffffffffffffff 00000700: MUL 00000701: NOT 00000702: AND 00000703: SWAP1 00000704: DUP4 00000705: PUSH8 0xffffffffffffffff 0000070e: AND 0000070f: MUL 00000710: OR 00000711: SWAP1 00000712: SSTORE 00000713: POP 00000714: DUP4 00000715: ISZERO 00000716: PUSH2 0x0736 00000719: JUMPI 0000071a: PUSH1 0x01 0000071c: DUP6 0000071d: PUSH0 0000071e: ADD 0000071f: PUSH1 0x08 00000721: PUSH2 0x0100 00000724: EXP 00000725: DUP2 00000726: SLOAD 00000727: DUP2 00000728: PUSH1 0xff 0000072a: MUL 0000072b: NOT 0000072c: AND 0000072d: SWAP1 0000072e: DUP4 0000072f: ISZERO 00000730: ISZERO 00000731: MUL 00000732: OR 00000733: SWAP1 00000734: SSTORE 00000735: POP 00000736: JUMPDEST 00000737: PUSH0 00000738: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000074d: AND 0000074e: DUP10 0000074f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000764: AND 00000765: EQ 00000766: DUP1 00000767: PUSH2 0x079b 0000076a: JUMPI 0000076b: POP 0000076c: PUSH0 0000076d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000782: AND 00000783: DUP9 00000784: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000799: AND 0000079a: EQ 0000079b: JUMPDEST 0000079c: DUP1 0000079d: PUSH2 0x07d1 000007a0: JUMPI 000007a1: POP 000007a2: PUSH0 000007a3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007b8: AND 000007b9: DUP8 000007ba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007cf: AND 000007d0: EQ 000007d1: JUMPDEST 000007d2: ISZERO 000007d3: PUSH2 0x0813 000007d6: JUMPI 000007d7: PUSH0 000007d8: PUSH1 0x40 000007da: MLOAD 000007db: PUSH32 0x1e4fbdf700000000000000000000000000000000000000000000000000000000 000007fc: DUP2 000007fd: MSTORE 000007fe: PUSH1 0x04 00000800: ADD 00000801: PUSH2 0x080a 00000804: SWAP2 00000805: SWAP1 00000806: PUSH2 0x179d 00000809: JUMP 0000080a: JUMPDEST 0000080b: PUSH1 0x40 0000080d: MLOAD 0000080e: DUP1 0000080f: SWAP2 00000810: SUB 00000811: SWAP1 00000812: REVERT 00000813: JUMPDEST 00000814: PUSH2 0x081c 00000817: DUP10 00000818: PUSH2 0x1107 0000081b: JUMP 0000081c: JUMPDEST 0000081d: PUSH2 0x0824 00000820: PUSH2 0x111b 00000823: JUMP 00000824: JUMPDEST 00000825: PUSH2 0x082c 00000828: PUSH2 0x1125 0000082b: JUMP 0000082c: JUMPDEST 0000082d: DUP8 0000082e: PUSH0 0000082f: DUP1 00000830: PUSH2 0x0100 00000833: EXP 00000834: DUP2 00000835: SLOAD 00000836: DUP2 00000837: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000084c: MUL 0000084d: NOT 0000084e: AND 0000084f: SWAP1 00000850: DUP4 00000851: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000866: AND 00000867: MUL 00000868: OR 00000869: SWAP1 0000086a: SSTORE 0000086b: POP 0000086c: DUP7 0000086d: PUSH1 0x01 0000086f: PUSH0 00000870: PUSH2 0x0100 00000873: EXP 00000874: DUP2 00000875: SLOAD 00000876: DUP2 00000877: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000088c: MUL 0000088d: NOT 0000088e: AND 0000088f: SWAP1 00000890: DUP4 00000891: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008a6: AND 000008a7: MUL 000008a8: OR 000008a9: SWAP1 000008aa: SSTORE 000008ab: POP 000008ac: DUP7 000008ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008c2: AND 000008c3: PUSH4 0x313ce567 000008c8: PUSH1 0x40 000008ca: MLOAD 000008cb: DUP2 000008cc: PUSH4 0xffffffff 000008d1: AND 000008d2: PUSH1 0xe0 000008d4: SHL 000008d5: DUP2 000008d6: MSTORE 000008d7: PUSH1 0x04 000008d9: ADD 000008da: PUSH1 0x20 000008dc: PUSH1 0x40 000008de: MLOAD 000008df: DUP1 000008e0: DUP4 000008e1: SUB 000008e2: DUP2 000008e3: DUP7 000008e4: GAS 000008e5: STATICCALL 000008e6: ISZERO 000008e7: DUP1 000008e8: ISZERO 000008e9: PUSH2 0x08f4 000008ec: JUMPI 000008ed: RETURNDATASIZE 000008ee: PUSH0 000008ef: DUP1 000008f0: RETURNDATACOPY 000008f1: RETURNDATASIZE 000008f2: PUSH0 000008f3: REVERT 000008f4: JUMPDEST 000008f5: POP 000008f6: POP 000008f7: POP 000008f8: POP 000008f9: PUSH1 0x40 000008fb: MLOAD 000008fc: RETURNDATASIZE 000008fd: PUSH1 0x1f 000008ff: NOT 00000900: PUSH1 0x1f 00000902: DUP3 00000903: ADD 00000904: AND 00000905: DUP3 00000906: ADD 00000907: DUP1 00000908: PUSH1 0x40 0000090a: MSTORE 0000090b: POP 0000090c: DUP2 0000090d: ADD 0000090e: SWAP1 0000090f: PUSH2 0x0918 00000912: SWAP2 00000913: SWAP1 00000914: PUSH2 0x1897 00000917: JUMP 00000918: JUMPDEST 00000919: PUSH1 0x01 0000091b: PUSH1 0x14 0000091d: PUSH2 0x0100 00000920: EXP 00000921: DUP2 00000922: SLOAD 00000923: DUP2 00000924: PUSH1 0xff 00000926: MUL 00000927: NOT 00000928: AND 00000929: SWAP1 0000092a: DUP4 0000092b: PUSH1 0xff 0000092d: AND 0000092e: MUL 0000092f: OR 00000930: SWAP1 00000931: SSTORE 00000932: POP 00000933: DUP8 00000934: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000949: AND 0000094a: PUSH4 0x313ce567 0000094f: PUSH1 0x40 00000951: MLOAD 00000952: DUP2 00000953: PUSH4 0xffffffff 00000958: AND 00000959: PUSH1 0xe0 0000095b: SHL 0000095c: DUP2 0000095d: MSTORE 0000095e: PUSH1 0x04 00000960: ADD 00000961: PUSH1 0x20 00000963: PUSH1 0x40 00000965: MLOAD 00000966: DUP1 00000967: DUP4 00000968: SUB 00000969: DUP2 0000096a: DUP7 0000096b: GAS 0000096c: STATICCALL 0000096d: ISZERO 0000096e: DUP1 0000096f: ISZERO 00000970: PUSH2 0x097b 00000973: JUMPI 00000974: RETURNDATASIZE 00000975: PUSH0 00000976: DUP1 00000977: RETURNDATACOPY 00000978: RETURNDATASIZE 00000979: PUSH0 0000097a: REVERT 0000097b: JUMPDEST 0000097c: POP 0000097d: POP 0000097e: POP 0000097f: POP 00000980: PUSH1 0x40 00000982: MLOAD 00000983: RETURNDATASIZE 00000984: PUSH1 0x1f 00000986: NOT 00000987: PUSH1 0x1f 00000989: DUP3 0000098a: ADD 0000098b: AND 0000098c: DUP3 0000098d: ADD 0000098e: DUP1 0000098f: PUSH1 0x40 00000991: MSTORE 00000992: POP 00000993: DUP2 00000994: ADD 00000995: SWAP1 00000996: PUSH2 0x099f 00000999: SWAP2 0000099a: SWAP1 0000099b: PUSH2 0x1897 0000099e: JUMP 0000099f: JUMPDEST 000009a0: PUSH1 0x01 000009a2: PUSH1 0x15 000009a4: PUSH2 0x0100 000009a7: EXP 000009a8: DUP2 000009a9: SLOAD 000009aa: DUP2 000009ab: PUSH1 0xff 000009ad: MUL 000009ae: NOT 000009af: AND 000009b0: SWAP1 000009b1: DUP4 000009b2: PUSH1 0xff 000009b4: AND 000009b5: MUL 000009b6: OR 000009b7: SWAP1 000009b8: SSTORE 000009b9: POP 000009ba: PUSH1 0x01 000009bc: PUSH1 0x14 000009be: SWAP1 000009bf: SLOAD 000009c0: SWAP1 000009c1: PUSH2 0x0100 000009c4: EXP 000009c5: SWAP1 000009c6: DIV 000009c7: PUSH1 0xff 000009c9: AND 000009ca: PUSH1 0x01 000009cc: PUSH1 0x15 000009ce: SWAP1 000009cf: SLOAD 000009d0: SWAP1 000009d1: PUSH2 0x0100 000009d4: EXP 000009d5: SWAP1 000009d6: DIV 000009d7: PUSH1 0xff 000009d9: AND 000009da: PUSH2 0x09e3 000009dd: SWAP2 000009de: SWAP1 000009df: PUSH2 0x18ef 000009e2: JUMP 000009e3: JUMPDEST 000009e4: PUSH1 0x0a 000009e6: PUSH2 0x09ef 000009e9: SWAP2 000009ea: SWAP1 000009eb: PUSH2 0x1a52 000009ee: JUMP 000009ef: JUMPDEST 000009f0: PUSH1 0x02 000009f2: DUP2 000009f3: SWAP1 000009f4: SSTORE 000009f5: POP 000009f6: DUP6 000009f7: PUSH1 0x03 000009f9: DUP2 000009fa: SWAP1 000009fb: SSTORE 000009fc: POP 000009fd: DUP4 000009fe: ISZERO 000009ff: PUSH2 0x0a56 00000a02: JUMPI 00000a03: PUSH0 00000a04: DUP6 00000a05: PUSH0 00000a06: ADD 00000a07: PUSH1 0x08 00000a09: PUSH2 0x0100 00000a0c: EXP 00000a0d: DUP2 00000a0e: SLOAD 00000a0f: DUP2 00000a10: PUSH1 0xff 00000a12: MUL 00000a13: NOT 00000a14: AND 00000a15: SWAP1 00000a16: DUP4 00000a17: ISZERO 00000a18: ISZERO 00000a19: MUL 00000a1a: OR 00000a1b: SWAP1 00000a1c: SSTORE 00000a1d: POP 00000a1e: PUSH32 0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2 00000a3f: PUSH1 0x01 00000a41: PUSH1 0x40 00000a43: MLOAD 00000a44: PUSH2 0x0a4d 00000a47: SWAP2 00000a48: SWAP1 00000a49: PUSH2 0x1af1 00000a4c: JUMP 00000a4d: JUMPDEST 00000a4e: PUSH1 0x40 00000a50: MLOAD 00000a51: DUP1 00000a52: SWAP2 00000a53: SUB 00000a54: SWAP1 00000a55: LOG1 00000a56: JUMPDEST 00000a57: POP 00000a58: POP 00000a59: POP 00000a5a: POP 00000a5b: POP 00000a5c: POP 00000a5d: POP 00000a5e: POP 00000a5f: POP 00000a60: JUMP 00000a61: JUMPDEST 00000a62: PUSH1 0x04 00000a64: PUSH0 00000a65: SWAP1 00000a66: SLOAD 00000a67: SWAP1 00000a68: PUSH2 0x0100 00000a6b: EXP 00000a6c: SWAP1 00000a6d: DIV 00000a6e: PUSH2 0xffff 00000a71: AND 00000a72: DUP2 00000a73: JUMP 00000a74: JUMPDEST 00000a75: PUSH1 0x03 00000a77: SLOAD 00000a78: DUP2 00000a79: JUMP 00000a7a: JUMPDEST 00000a7b: PUSH0 00000a7c: PUSH2 0x0a83 00000a7f: PUSH2 0x0f9f 00000a82: JUMP 00000a83: JUMPDEST 00000a84: PUSH0 00000a85: PUSH3 0x015180 00000a89: TIMESTAMP 00000a8a: PUSH2 0x0a93 00000a8d: SWAP2 00000a8e: SWAP1 00000a8f: PUSH2 0x1b37 00000a92: JUMP 00000a93: JUMPDEST 00000a94: SWAP1 00000a95: POP 00000a96: PUSH0 00000a97: PUSH1 0x05 00000a99: PUSH0 00000a9a: DUP4 00000a9b: DUP2 00000a9c: MSTORE 00000a9d: PUSH1 0x20 00000a9f: ADD 00000aa0: SWAP1 00000aa1: DUP2 00000aa2: MSTORE 00000aa3: PUSH1 0x20 00000aa5: ADD 00000aa6: PUSH0 00000aa7: KECCAK256 00000aa8: SLOAD 00000aa9: SWAP1 00000aaa: POP 00000aab: PUSH1 0x03 00000aad: SLOAD 00000aae: DUP5 00000aaf: DUP3 00000ab0: PUSH2 0x0ab9 00000ab3: SWAP2 00000ab4: SWAP1 00000ab5: PUSH2 0x1b67 00000ab8: JUMP 00000ab9: JUMPDEST 00000aba: GT 00000abb: ISZERO 00000abc: PUSH2 0x0af1 00000abf: JUMPI 00000ac0: PUSH1 0x40 00000ac2: MLOAD 00000ac3: PUSH32 0x194bd31400000000000000000000000000000000000000000000000000000000 00000ae4: DUP2 00000ae5: MSTORE 00000ae6: PUSH1 0x04 00000ae8: ADD 00000ae9: PUSH1 0x40 00000aeb: MLOAD 00000aec: DUP1 00000aed: SWAP2 00000aee: SUB 00000aef: SWAP1 00000af0: REVERT 00000af1: JUMPDEST 00000af2: PUSH0 00000af3: PUSH1 0x02 00000af5: SLOAD 00000af6: DUP6 00000af7: PUSH2 0x0b00 00000afa: SWAP2 00000afb: SWAP1 00000afc: PUSH2 0x1b37 00000aff: JUMP 00000b00: JUMPDEST 00000b01: SWAP1 00000b02: POP 00000b03: PUSH0 00000b04: PUSH2 0x2710 00000b07: PUSH1 0x04 00000b09: PUSH0 00000b0a: SWAP1 00000b0b: SLOAD 00000b0c: SWAP1 00000b0d: PUSH2 0x0100 00000b10: EXP 00000b11: SWAP1 00000b12: DIV 00000b13: PUSH2 0xffff 00000b16: AND 00000b17: PUSH2 0xffff 00000b1a: AND 00000b1b: DUP4 00000b1c: PUSH2 0x0b25 00000b1f: SWAP2 00000b20: SWAP1 00000b21: PUSH2 0x1b9a 00000b24: JUMP 00000b25: JUMPDEST 00000b26: PUSH2 0x0b2f 00000b29: SWAP2 00000b2a: SWAP1 00000b2b: PUSH2 0x1b37 00000b2e: JUMP 00000b2f: JUMPDEST 00000b30: SWAP1 00000b31: POP 00000b32: PUSH0 00000b33: DUP2 00000b34: DUP4 00000b35: PUSH2 0x0b3e 00000b38: SWAP2 00000b39: SWAP1 00000b3a: PUSH2 0x1bdb 00000b3d: JUMP 00000b3e: JUMPDEST 00000b3f: SWAP1 00000b40: POP 00000b41: PUSH0 00000b42: PUSH1 0x01 00000b44: PUSH0 00000b45: SWAP1 00000b46: SLOAD 00000b47: SWAP1 00000b48: PUSH2 0x0100 00000b4b: EXP 00000b4c: SWAP1 00000b4d: DIV 00000b4e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b63: AND 00000b64: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b79: AND 00000b7a: PUSH4 0x70a08231 00000b7f: ADDRESS 00000b80: PUSH1 0x40 00000b82: MLOAD 00000b83: DUP3 00000b84: PUSH4 0xffffffff 00000b89: AND 00000b8a: PUSH1 0xe0 00000b8c: SHL 00000b8d: DUP2 00000b8e: MSTORE 00000b8f: PUSH1 0x04 00000b91: ADD 00000b92: PUSH2 0x0b9b 00000b95: SWAP2 00000b96: SWAP1 00000b97: PUSH2 0x179d 00000b9a: JUMP 00000b9b: JUMPDEST 00000b9c: PUSH1 0x20 00000b9e: PUSH1 0x40 00000ba0: MLOAD 00000ba1: DUP1 00000ba2: DUP4 00000ba3: SUB 00000ba4: DUP2 00000ba5: DUP7 00000ba6: GAS 00000ba7: STATICCALL 00000ba8: ISZERO 00000ba9: DUP1 00000baa: ISZERO 00000bab: PUSH2 0x0bb6 00000bae: JUMPI 00000baf: RETURNDATASIZE 00000bb0: PUSH0 00000bb1: DUP1 00000bb2: RETURNDATACOPY 00000bb3: RETURNDATASIZE 00000bb4: PUSH0 00000bb5: REVERT 00000bb6: JUMPDEST 00000bb7: POP 00000bb8: POP 00000bb9: POP 00000bba: POP 00000bbb: PUSH1 0x40 00000bbd: MLOAD 00000bbe: RETURNDATASIZE 00000bbf: PUSH1 0x1f 00000bc1: NOT 00000bc2: PUSH1 0x1f 00000bc4: DUP3 00000bc5: ADD 00000bc6: AND 00000bc7: DUP3 00000bc8: ADD 00000bc9: DUP1 00000bca: PUSH1 0x40 00000bcc: MSTORE 00000bcd: POP 00000bce: DUP2 00000bcf: ADD 00000bd0: SWAP1 00000bd1: PUSH2 0x0bda 00000bd4: SWAP2 00000bd5: SWAP1 00000bd6: PUSH2 0x1c22 00000bd9: JUMP 00000bda: JUMPDEST 00000bdb: SWAP1 00000bdc: POP 00000bdd: DUP2 00000bde: DUP2 00000bdf: LT 00000be0: ISZERO 00000be1: PUSH2 0x0c16 00000be4: JUMPI 00000be5: PUSH1 0x40 00000be7: MLOAD 00000be8: PUSH32 0xbb55fd2700000000000000000000000000000000000000000000000000000000 00000c09: DUP2 00000c0a: MSTORE 00000c0b: PUSH1 0x04 00000c0d: ADD 00000c0e: PUSH1 0x40 00000c10: MLOAD 00000c11: DUP1 00000c12: SWAP2 00000c13: SUB 00000c14: SWAP1 00000c15: REVERT 00000c16: JUMPDEST 00000c17: PUSH0 00000c18: DUP1 00000c19: SLOAD 00000c1a: SWAP1 00000c1b: PUSH2 0x0100 00000c1e: EXP 00000c1f: SWAP1 00000c20: DIV 00000c21: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c36: AND 00000c37: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c4c: AND 00000c4d: PUSH4 0x9dc29fac 00000c52: CALLER 00000c53: DUP11 00000c54: PUSH1 0x40 00000c56: MLOAD 00000c57: DUP4 00000c58: PUSH4 0xffffffff 00000c5d: AND 00000c5e: PUSH1 0xe0 00000c60: SHL 00000c61: DUP2 00000c62: MSTORE 00000c63: PUSH1 0x04 00000c65: ADD 00000c66: PUSH2 0x0c70 00000c69: SWAP3 00000c6a: SWAP2 00000c6b: SWAP1 00000c6c: PUSH2 0x1c4d 00000c6f: JUMP 00000c70: JUMPDEST 00000c71: PUSH0 00000c72: PUSH1 0x40 00000c74: MLOAD 00000c75: DUP1 00000c76: DUP4 00000c77: SUB 00000c78: DUP2 00000c79: PUSH0 00000c7a: DUP8 00000c7b: DUP1 00000c7c: EXTCODESIZE 00000c7d: ISZERO 00000c7e: DUP1 00000c7f: ISZERO 00000c80: PUSH2 0x0c87 00000c83: JUMPI 00000c84: PUSH0 00000c85: DUP1 00000c86: REVERT 00000c87: JUMPDEST 00000c88: POP 00000c89: GAS 00000c8a: CALL 00000c8b: ISZERO 00000c8c: DUP1 00000c8d: ISZERO 00000c8e: PUSH2 0x0c99 00000c91: JUMPI 00000c92: RETURNDATASIZE 00000c93: PUSH0 00000c94: DUP1 00000c95: RETURNDATACOPY 00000c96: RETURNDATASIZE 00000c97: PUSH0 00000c98: REVERT 00000c99: JUMPDEST 00000c9a: POP 00000c9b: POP 00000c9c: POP 00000c9d: POP 00000c9e: DUP8 00000c9f: DUP6 00000ca0: PUSH2 0x0ca9 00000ca3: SWAP2 00000ca4: SWAP1 00000ca5: PUSH2 0x1b67 00000ca8: JUMP 00000ca9: JUMPDEST 00000caa: PUSH1 0x05 00000cac: PUSH0 00000cad: DUP9 00000cae: DUP2 00000caf: MSTORE 00000cb0: PUSH1 0x20 00000cb2: ADD 00000cb3: SWAP1 00000cb4: DUP2 00000cb5: MSTORE 00000cb6: PUSH1 0x20 00000cb8: ADD 00000cb9: PUSH0 00000cba: KECCAK256 00000cbb: DUP2 00000cbc: SWAP1 00000cbd: SSTORE 00000cbe: POP 00000cbf: DUP3 00000cc0: PUSH1 0x06 00000cc2: PUSH0 00000cc3: DUP3 00000cc4: DUP3 00000cc5: SLOAD 00000cc6: PUSH2 0x0ccf 00000cc9: SWAP2 00000cca: SWAP1 00000ccb: PUSH2 0x1b67 00000cce: JUMP 00000ccf: JUMPDEST 00000cd0: SWAP3 00000cd1: POP 00000cd2: POP 00000cd3: DUP2 00000cd4: SWAP1 00000cd5: SSTORE 00000cd6: POP 00000cd7: PUSH2 0x0d22 00000cda: CALLER 00000cdb: DUP4 00000cdc: PUSH1 0x01 00000cde: PUSH0 00000cdf: SWAP1 00000ce0: SLOAD 00000ce1: SWAP1 00000ce2: PUSH2 0x0100 00000ce5: EXP 00000ce6: SWAP1 00000ce7: DIV 00000ce8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000cfd: AND 00000cfe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d13: AND 00000d14: PUSH2 0x0ff3 00000d17: SWAP1 00000d18: SWAP3 00000d19: SWAP2 00000d1a: SWAP1 00000d1b: PUSH4 0xffffffff 00000d20: AND 00000d21: JUMP 00000d22: JUMPDEST 00000d23: DUP2 00000d24: DUP9 00000d25: CALLER 00000d26: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d3b: AND 00000d3c: PUSH32 0xf3a670cd3af7d64b488926880889d08a8585a138ff455227af6737339a1ec262 00000d5d: PUSH1 0x40 00000d5f: MLOAD 00000d60: PUSH1 0x40 00000d62: MLOAD 00000d63: DUP1 00000d64: SWAP2 00000d65: SUB 00000d66: SWAP1 00000d67: LOG4 00000d68: DUP2 00000d69: SWAP7 00000d6a: POP 00000d6b: POP 00000d6c: POP 00000d6d: POP 00000d6e: POP 00000d6f: POP 00000d70: POP 00000d71: PUSH2 0x0d78 00000d74: PUSH2 0x1072 00000d77: JUMP 00000d78: JUMPDEST 00000d79: SWAP2 00000d7a: SWAP1 00000d7b: POP 00000d7c: JUMP 00000d7d: JUMPDEST 00000d7e: PUSH0 00000d7f: DUP1 00000d80: PUSH2 0x0d87 00000d83: PUSH2 0x1137 00000d86: JUMP 00000d87: JUMPDEST 00000d88: SWAP1 00000d89: POP 00000d8a: DUP1 00000d8b: PUSH0 00000d8c: ADD 00000d8d: PUSH0 00000d8e: SWAP1 00000d8f: SLOAD 00000d90: SWAP1 00000d91: PUSH2 0x0100 00000d94: EXP 00000d95: SWAP1 00000d96: DIV 00000d97: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000dac: AND 00000dad: SWAP2 00000dae: POP 00000daf: POP 00000db0: SWAP1 00000db1: JUMP 00000db2: JUMPDEST 00000db3: PUSH1 0x01 00000db5: PUSH0 00000db6: SWAP1 00000db7: SLOAD 00000db8: SWAP1 00000db9: PUSH2 0x0100 00000dbc: EXP 00000dbd: SWAP1 00000dbe: DIV 00000dbf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000dd4: AND 00000dd5: DUP2 00000dd6: JUMP 00000dd7: JUMPDEST 00000dd8: PUSH2 0x0ddf 00000ddb: PUSH2 0x0f18 00000dde: JUMP 00000ddf: JUMPDEST 00000de0: PUSH2 0x0de7 00000de3: PUSH2 0x0f9f 00000de6: JUMP 00000de7: JUMPDEST 00000de8: PUSH0 00000de9: PUSH1 0x06 00000deb: SLOAD 00000dec: SWAP1 00000ded: POP 00000dee: PUSH0 00000def: PUSH1 0x06 00000df1: DUP2 00000df2: SWAP1 00000df3: SSTORE 00000df4: POP 00000df5: PUSH2 0x0e40 00000df8: DUP3 00000df9: DUP3 00000dfa: PUSH1 0x01 00000dfc: PUSH0 00000dfd: SWAP1 00000dfe: SLOAD 00000dff: SWAP1 00000e00: PUSH2 0x0100 00000e03: EXP 00000e04: SWAP1 00000e05: DIV 00000e06: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e1b: AND 00000e1c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e31: AND 00000e32: PUSH2 0x0ff3 00000e35: SWAP1 00000e36: SWAP3 00000e37: SWAP2 00000e38: SWAP1 00000e39: PUSH4 0xffffffff 00000e3e: AND 00000e3f: JUMP 00000e40: JUMPDEST 00000e41: POP 00000e42: PUSH2 0x0e49 00000e45: PUSH2 0x1072 00000e48: JUMP 00000e49: JUMPDEST 00000e4a: POP 00000e4b: JUMP 00000e4c: JUMPDEST 00000e4d: PUSH2 0x0e54 00000e50: PUSH2 0x0f18 00000e53: JUMP 00000e54: JUMPDEST 00000e55: PUSH0 00000e56: PUSH2 0x0e5d 00000e59: PUSH2 0x1137 00000e5c: JUMP 00000e5d: JUMPDEST 00000e5e: SWAP1 00000e5f: POP 00000e60: DUP2 00000e61: DUP2 00000e62: PUSH0 00000e63: ADD 00000e64: PUSH0 00000e65: PUSH2 0x0100 00000e68: EXP 00000e69: DUP2 00000e6a: SLOAD 00000e6b: DUP2 00000e6c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e81: MUL 00000e82: NOT 00000e83: AND 00000e84: SWAP1 00000e85: DUP4 00000e86: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e9b: AND 00000e9c: MUL 00000e9d: OR 00000e9e: SWAP1 00000e9f: SSTORE 00000ea0: POP 00000ea1: DUP2 00000ea2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000eb7: AND 00000eb8: PUSH2 0x0ebf 00000ebb: PUSH2 0x05ad 00000ebe: JUMP 00000ebf: JUMPDEST 00000ec0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ed5: AND 00000ed6: PUSH32 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700 00000ef7: PUSH1 0x40 00000ef9: MLOAD 00000efa: PUSH1 0x40 00000efc: MLOAD 00000efd: DUP1 00000efe: SWAP2 00000eff: SUB 00000f00: SWAP1 00000f01: LOG3 00000f02: POP 00000f03: POP 00000f04: JUMP 00000f05: JUMPDEST 00000f06: PUSH1 0x01 00000f08: PUSH1 0x14 00000f0a: SWAP1 00000f0b: SLOAD 00000f0c: SWAP1 00000f0d: PUSH2 0x0100 00000f10: EXP 00000f11: SWAP1 00000f12: DIV 00000f13: PUSH1 0xff 00000f15: AND 00000f16: DUP2 00000f17: JUMP 00000f18: JUMPDEST 00000f19: PUSH2 0x0f20 00000f1c: PUSH2 0x10c6 00000f1f: JUMP 00000f20: JUMPDEST 00000f21: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f36: AND 00000f37: PUSH2 0x0f3e 00000f3a: PUSH2 0x05ad 00000f3d: JUMP 00000f3e: JUMPDEST 00000f3f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f54: AND 00000f55: EQ 00000f56: PUSH2 0x0f9d 00000f59: JUMPI 00000f5a: PUSH2 0x0f61 00000f5d: PUSH2 0x10c6 00000f60: JUMP 00000f61: JUMPDEST 00000f62: PUSH1 0x40 00000f64: MLOAD 00000f65: PUSH32 0x118cdaa700000000000000000000000000000000000000000000000000000000 00000f86: DUP2 00000f87: MSTORE 00000f88: PUSH1 0x04 00000f8a: ADD 00000f8b: PUSH2 0x0f94 00000f8e: SWAP2 00000f8f: SWAP1 00000f90: PUSH2 0x179d 00000f93: JUMP 00000f94: JUMPDEST 00000f95: PUSH1 0x40 00000f97: MLOAD 00000f98: DUP1 00000f99: SWAP2 00000f9a: SUB 00000f9b: SWAP1 00000f9c: REVERT 00000f9d: JUMPDEST 00000f9e: JUMP 00000f9f: JUMPDEST 00000fa0: PUSH0 00000fa1: PUSH2 0x0fa8 00000fa4: PUSH2 0x115e 00000fa7: JUMP 00000fa8: JUMPDEST 00000fa9: SWAP1 00000faa: POP 00000fab: PUSH1 0x02 00000fad: DUP2 00000fae: PUSH0 00000faf: ADD 00000fb0: SLOAD 00000fb1: SUB 00000fb2: PUSH2 0x0fe7 00000fb5: JUMPI 00000fb6: PUSH1 0x40 00000fb8: MLOAD 00000fb9: PUSH32 0x3ee5aeb500000000000000000000000000000000000000000000000000000000 00000fda: DUP2 00000fdb: MSTORE 00000fdc: PUSH1 0x04 00000fde: ADD 00000fdf: PUSH1 0x40 00000fe1: MLOAD 00000fe2: DUP1 00000fe3: SWAP2 00000fe4: SUB 00000fe5: SWAP1 00000fe6: REVERT 00000fe7: JUMPDEST 00000fe8: PUSH1 0x02 00000fea: DUP2 00000feb: PUSH0 00000fec: ADD 00000fed: DUP2 00000fee: SWAP1 00000fef: SSTORE 00000ff0: POP 00000ff1: POP 00000ff2: JUMP 00000ff3: JUMPDEST 00000ff4: PUSH2 0x106d 00000ff7: DUP4 00000ff8: DUP5 00000ff9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000100e: AND 0000100f: PUSH4 0xa9059cbb 00001014: DUP6 00001015: DUP6 00001016: PUSH1 0x40 00001018: MLOAD 00001019: PUSH1 0x24 0000101b: ADD 0000101c: PUSH2 0x1026 0000101f: SWAP3 00001020: SWAP2 00001021: SWAP1 00001022: PUSH2 0x1c4d 00001025: JUMP 00001026: JUMPDEST 00001027: PUSH1 0x40 00001029: MLOAD 0000102a: PUSH1 0x20 0000102c: DUP2 0000102d: DUP4 0000102e: SUB 0000102f: SUB 00001030: DUP2 00001031: MSTORE 00001032: SWAP1 00001033: PUSH1 0x40 00001035: MSTORE 00001036: SWAP2 00001037: POP 00001038: PUSH1 0xe0 0000103a: SHL 0000103b: PUSH1 0x20 0000103d: DUP3 0000103e: ADD 0000103f: DUP1 00001040: MLOAD 00001041: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000105e: DUP4 0000105f: DUP2 00001060: DUP4 00001061: AND 00001062: OR 00001063: DUP4 00001064: MSTORE 00001065: POP 00001066: POP 00001067: POP 00001068: POP 00001069: PUSH2 0x1185 0000106c: JUMP 0000106d: JUMPDEST 0000106e: POP 0000106f: POP 00001070: POP 00001071: JUMP 00001072: JUMPDEST 00001073: PUSH0 00001074: PUSH2 0x107b 00001077: PUSH2 0x115e 0000107a: JUMP 0000107b: JUMPDEST 0000107c: SWAP1 0000107d: POP 0000107e: PUSH1 0x01 00001080: DUP2 00001081: PUSH0 00001082: ADD 00001083: DUP2 00001084: SWAP1 00001085: SSTORE 00001086: POP 00001087: POP 00001088: JUMP 00001089: JUMPDEST 0000108a: PUSH0 0000108b: PUSH2 0x1092 0000108e: PUSH2 0x1137 00001091: JUMP 00001092: JUMPDEST 00001093: SWAP1 00001094: POP 00001095: DUP1 00001096: PUSH0 00001097: ADD 00001098: PUSH0 00001099: PUSH2 0x0100 0000109c: EXP 0000109d: DUP2 0000109e: SLOAD 0000109f: SWAP1 000010a0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010b5: MUL 000010b6: NOT 000010b7: AND 000010b8: SWAP1 000010b9: SSTORE 000010ba: PUSH2 0x10c2 000010bd: DUP3 000010be: PUSH2 0x121a 000010c1: JUMP 000010c2: JUMPDEST 000010c3: POP 000010c4: POP 000010c5: JUMP 000010c6: JUMPDEST 000010c7: PUSH0 000010c8: CALLER 000010c9: SWAP1 000010ca: POP 000010cb: SWAP1 000010cc: JUMP 000010cd: JUMPDEST 000010ce: PUSH0 000010cf: PUSH32 0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300 000010f0: SWAP1 000010f1: POP 000010f2: SWAP1 000010f3: JUMP 000010f4: JUMPDEST 000010f5: PUSH0 000010f6: DUP1 000010f7: PUSH2 0x10fe 000010fa: PUSH2 0x12eb 000010fd: JUMP 000010fe: JUMPDEST 000010ff: SWAP1 00001100: POP 00001101: DUP1 00001102: SWAP2 00001103: POP 00001104: POP 00001105: SWAP1 00001106: JUMP 00001107: JUMPDEST 00001108: PUSH2 0x110f 0000110b: PUSH2 0x1314 0000110e: JUMP 0000110f: JUMPDEST 00001110: PUSH2 0x1118 00001113: DUP2 00001114: PUSH2 0x1354 00001117: JUMP 00001118: JUMPDEST 00001119: POP 0000111a: JUMP 0000111b: JUMPDEST 0000111c: PUSH2 0x1123 0000111f: PUSH2 0x1314 00001122: JUMP 00001123: JUMPDEST 00001124: JUMP 00001125: JUMPDEST 00001126: PUSH2 0x112d 00001129: PUSH2 0x1314 0000112c: JUMP 0000112d: JUMPDEST 0000112e: PUSH2 0x1135 00001131: PUSH2 0x13d8 00001134: JUMP 00001135: JUMPDEST 00001136: JUMP 00001137: JUMPDEST 00001138: PUSH0 00001139: PUSH32 0x237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00 0000115a: SWAP1 0000115b: POP 0000115c: SWAP1 0000115d: JUMP 0000115e: JUMPDEST 0000115f: PUSH0 00001160: PUSH32 0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00 00001181: SWAP1 00001182: POP 00001183: SWAP1 00001184: JUMP 00001185: JUMPDEST 00001186: PUSH0 00001187: PUSH2 0x11af 0000118a: DUP3 0000118b: DUP5 0000118c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011a1: AND 000011a2: PUSH2 0x13f7 000011a5: SWAP1 000011a6: SWAP2 000011a7: SWAP1 000011a8: PUSH4 0xffffffff 000011ad: AND 000011ae: JUMP 000011af: JUMPDEST 000011b0: SWAP1 000011b1: POP 000011b2: PUSH0 000011b3: DUP2 000011b4: MLOAD 000011b5: EQ 000011b6: ISZERO 000011b7: DUP1 000011b8: ISZERO 000011b9: PUSH2 0x11d3 000011bc: JUMPI 000011bd: POP 000011be: DUP1 000011bf: DUP1 000011c0: PUSH1 0x20 000011c2: ADD 000011c3: SWAP1 000011c4: MLOAD 000011c5: DUP2 000011c6: ADD 000011c7: SWAP1 000011c8: PUSH2 0x11d1 000011cb: SWAP2 000011cc: SWAP1 000011cd: PUSH2 0x1ca9 000011d0: JUMP 000011d1: JUMPDEST 000011d2: ISZERO 000011d3: JUMPDEST 000011d4: ISZERO 000011d5: PUSH2 0x1215 000011d8: JUMPI 000011d9: DUP3 000011da: PUSH1 0x40 000011dc: MLOAD 000011dd: PUSH32 0x5274afe700000000000000000000000000000000000000000000000000000000 000011fe: DUP2 000011ff: MSTORE 00001200: PUSH1 0x04 00001202: ADD 00001203: PUSH2 0x120c 00001206: SWAP2 00001207: SWAP1 00001208: PUSH2 0x179d 0000120b: JUMP 0000120c: JUMPDEST 0000120d: PUSH1 0x40 0000120f: MLOAD 00001210: DUP1 00001211: SWAP2 00001212: SUB 00001213: SWAP1 00001214: REVERT 00001215: JUMPDEST 00001216: POP 00001217: POP 00001218: POP 00001219: JUMP 0000121a: JUMPDEST 0000121b: PUSH0 0000121c: PUSH2 0x1223 0000121f: PUSH2 0x10cd 00001222: JUMP 00001223: JUMPDEST 00001224: SWAP1 00001225: POP 00001226: PUSH0 00001227: DUP2 00001228: PUSH0 00001229: ADD 0000122a: PUSH0 0000122b: SWAP1 0000122c: SLOAD 0000122d: SWAP1 0000122e: PUSH2 0x0100 00001231: EXP 00001232: SWAP1 00001233: DIV 00001234: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001249: AND 0000124a: SWAP1 0000124b: POP 0000124c: DUP3 0000124d: DUP3 0000124e: PUSH0 0000124f: ADD 00001250: PUSH0 00001251: PUSH2 0x0100 00001254: EXP 00001255: DUP2 00001256: SLOAD 00001257: DUP2 00001258: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000126d: MUL 0000126e: NOT 0000126f: AND 00001270: SWAP1 00001271: DUP4 00001272: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001287: AND 00001288: MUL 00001289: OR 0000128a: SWAP1 0000128b: SSTORE 0000128c: POP 0000128d: DUP3 0000128e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012a3: AND 000012a4: DUP2 000012a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012ba: AND 000012bb: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 000012dc: PUSH1 0x40 000012de: MLOAD 000012df: PUSH1 0x40 000012e1: MLOAD 000012e2: DUP1 000012e3: SWAP2 000012e4: SUB 000012e5: SWAP1 000012e6: LOG3 000012e7: POP 000012e8: POP 000012e9: POP 000012ea: JUMP 000012eb: JUMPDEST 000012ec: PUSH0 000012ed: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00 0000130e: PUSH0 0000130f: SHL 00001310: SWAP1 00001311: POP 00001312: SWAP1 00001313: JUMP 00001314: JUMPDEST 00001315: PUSH2 0x131c 00001318: PUSH2 0x140c 0000131b: JUMP 0000131c: JUMPDEST 0000131d: PUSH2 0x1352 00001320: JUMPI 00001321: PUSH1 0x40 00001323: MLOAD 00001324: PUSH32 0xd7e6bcf800000000000000000000000000000000000000000000000000000000 00001345: DUP2 00001346: MSTORE 00001347: PUSH1 0x04 00001349: ADD 0000134a: PUSH1 0x40 0000134c: MLOAD 0000134d: DUP1 0000134e: SWAP2 0000134f: SUB 00001350: SWAP1 00001351: REVERT 00001352: JUMPDEST 00001353: JUMP 00001354: JUMPDEST 00001355: PUSH2 0x135c 00001358: PUSH2 0x1314 0000135b: JUMP 0000135c: JUMPDEST 0000135d: PUSH0 0000135e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001373: AND 00001374: DUP2 00001375: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000138a: AND 0000138b: SUB 0000138c: PUSH2 0x13cc 0000138f: JUMPI 00001390: PUSH0 00001391: PUSH1 0x40 00001393: MLOAD 00001394: PUSH32 0x1e4fbdf700000000000000000000000000000000000000000000000000000000 000013b5: DUP2 000013b6: MSTORE 000013b7: PUSH1 0x04 000013b9: ADD 000013ba: PUSH2 0x13c3 000013bd: SWAP2 000013be: SWAP1 000013bf: PUSH2 0x179d 000013c2: JUMP 000013c3: JUMPDEST 000013c4: PUSH1 0x40 000013c6: MLOAD 000013c7: DUP1 000013c8: SWAP2 000013c9: SUB 000013ca: SWAP1 000013cb: REVERT 000013cc: JUMPDEST 000013cd: PUSH2 0x13d5 000013d0: DUP2 000013d1: PUSH2 0x1089 000013d4: JUMP 000013d5: JUMPDEST 000013d6: POP 000013d7: JUMP 000013d8: JUMPDEST 000013d9: PUSH2 0x13e0 000013dc: PUSH2 0x1314 000013df: JUMP 000013e0: JUMPDEST 000013e1: PUSH0 000013e2: PUSH2 0x13e9 000013e5: PUSH2 0x115e 000013e8: JUMP 000013e9: JUMPDEST 000013ea: SWAP1 000013eb: POP 000013ec: PUSH1 0x01 000013ee: DUP2 000013ef: PUSH0 000013f0: ADD 000013f1: DUP2 000013f2: SWAP1 000013f3: SSTORE 000013f4: POP 000013f5: POP 000013f6: JUMP 000013f7: JUMPDEST 000013f8: PUSH1 0x60 000013fa: PUSH2 0x1404 000013fd: DUP4 000013fe: DUP4 000013ff: PUSH0 00001400: PUSH2 0x142a 00001403: JUMP 00001404: JUMPDEST 00001405: SWAP1 00001406: POP 00001407: SWAP3 00001408: SWAP2 00001409: POP 0000140a: POP 0000140b: JUMP 0000140c: JUMPDEST 0000140d: PUSH0 0000140e: PUSH2 0x1415 00001411: PUSH2 0x10f4 00001414: JUMP 00001415: JUMPDEST 00001416: PUSH0 00001417: ADD 00001418: PUSH1 0x08 0000141a: SWAP1 0000141b: SLOAD 0000141c: SWAP1 0000141d: PUSH2 0x0100 00001420: EXP 00001421: SWAP1 00001422: DIV 00001423: PUSH1 0xff 00001425: AND 00001426: SWAP1 00001427: POP 00001428: SWAP1 00001429: JUMP 0000142a: JUMPDEST 0000142b: PUSH1 0x60 0000142d: DUP2 0000142e: SELFBALANCE 0000142f: LT 00001430: ISZERO 00001431: PUSH2 0x1471 00001434: JUMPI 00001435: ADDRESS 00001436: PUSH1 0x40 00001438: MLOAD 00001439: PUSH32 0xcd78605900000000000000000000000000000000000000000000000000000000 0000145a: DUP2 0000145b: MSTORE 0000145c: PUSH1 0x04 0000145e: ADD 0000145f: PUSH2 0x1468 00001462: SWAP2 00001463: SWAP1 00001464: PUSH2 0x179d 00001467: JUMP 00001468: JUMPDEST 00001469: PUSH1 0x40 0000146b: MLOAD 0000146c: DUP1 0000146d: SWAP2 0000146e: SUB 0000146f: SWAP1 00001470: REVERT 00001471: JUMPDEST 00001472: PUSH0 00001473: DUP1 00001474: DUP6 00001475: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000148a: AND 0000148b: DUP5 0000148c: DUP7 0000148d: PUSH1 0x40 0000148f: MLOAD 00001490: PUSH2 0x1499 00001493: SWAP2 00001494: SWAP1 00001495: PUSH2 0x1d40 00001498: JUMP 00001499: JUMPDEST 0000149a: PUSH0 0000149b: PUSH1 0x40 0000149d: MLOAD 0000149e: DUP1 0000149f: DUP4 000014a0: SUB 000014a1: DUP2 000014a2: DUP6 000014a3: DUP8 000014a4: GAS 000014a5: CALL 000014a6: SWAP3 000014a7: POP 000014a8: POP 000014a9: POP 000014aa: RETURNDATASIZE 000014ab: DUP1 000014ac: PUSH0 000014ad: DUP2 000014ae: EQ 000014af: PUSH2 0x14d3 000014b2: JUMPI 000014b3: PUSH1 0x40 000014b5: MLOAD 000014b6: SWAP2 000014b7: POP 000014b8: PUSH1 0x1f 000014ba: NOT 000014bb: PUSH1 0x3f 000014bd: RETURNDATASIZE 000014be: ADD 000014bf: AND 000014c0: DUP3 000014c1: ADD 000014c2: PUSH1 0x40 000014c4: MSTORE 000014c5: RETURNDATASIZE 000014c6: DUP3 000014c7: MSTORE 000014c8: RETURNDATASIZE 000014c9: PUSH0 000014ca: PUSH1 0x20 000014cc: DUP5 000014cd: ADD 000014ce: RETURNDATACOPY 000014cf: PUSH2 0x14d8 000014d2: JUMP 000014d3: JUMPDEST 000014d4: PUSH1 0x60 000014d6: SWAP2 000014d7: POP 000014d8: JUMPDEST 000014d9: POP 000014da: SWAP2 000014db: POP 000014dc: SWAP2 000014dd: POP 000014de: PUSH2 0x14e8 000014e1: DUP7 000014e2: DUP4 000014e3: DUP4 000014e4: PUSH2 0x14f3 000014e7: JUMP 000014e8: JUMPDEST 000014e9: SWAP3 000014ea: POP 000014eb: POP 000014ec: POP 000014ed: SWAP4 000014ee: SWAP3 000014ef: POP 000014f0: POP 000014f1: POP 000014f2: JUMP 000014f3: JUMPDEST 000014f4: PUSH1 0x60 000014f6: DUP3 000014f7: PUSH2 0x1508 000014fa: JUMPI 000014fb: PUSH2 0x1503 000014fe: DUP3 000014ff: PUSH2 0x1580 00001502: JUMP 00001503: JUMPDEST 00001504: PUSH2 0x1578 00001507: JUMP 00001508: JUMPDEST 00001509: PUSH0 0000150a: DUP3 0000150b: MLOAD 0000150c: EQ 0000150d: DUP1 0000150e: ISZERO 0000150f: PUSH2 0x152e 00001512: JUMPI 00001513: POP 00001514: PUSH0 00001515: DUP5 00001516: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000152b: AND 0000152c: EXTCODESIZE 0000152d: EQ 0000152e: JUMPDEST 0000152f: ISZERO 00001530: PUSH2 0x1570 00001533: JUMPI 00001534: DUP4 00001535: PUSH1 0x40 00001537: MLOAD 00001538: PUSH32 0x9996b31500000000000000000000000000000000000000000000000000000000 00001559: DUP2 0000155a: MSTORE 0000155b: PUSH1 0x04 0000155d: ADD 0000155e: PUSH2 0x1567 00001561: SWAP2 00001562: SWAP1 00001563: PUSH2 0x179d 00001566: JUMP 00001567: JUMPDEST 00001568: PUSH1 0x40 0000156a: MLOAD 0000156b: DUP1 0000156c: SWAP2 0000156d: SUB 0000156e: SWAP1 0000156f: REVERT 00001570: JUMPDEST 00001571: DUP2 00001572: SWAP1 00001573: POP 00001574: PUSH2 0x1579 00001577: JUMP 00001578: JUMPDEST 00001579: JUMPDEST 0000157a: SWAP4 0000157b: SWAP3 0000157c: POP 0000157d: POP 0000157e: POP 0000157f: JUMP 00001580: JUMPDEST 00001581: PUSH0 00001582: DUP2 00001583: MLOAD 00001584: GT 00001585: ISZERO 00001586: PUSH2 0x1592 00001589: JUMPI 0000158a: DUP1 0000158b: MLOAD 0000158c: DUP1 0000158d: DUP3 0000158e: PUSH1 0x20 00001590: ADD 00001591: REVERT 00001592: JUMPDEST 00001593: PUSH1 0x40 00001595: MLOAD 00001596: PUSH32 0x1425ea4200000000000000000000000000000000000000000000000000000000 000015b7: DUP2 000015b8: MSTORE 000015b9: PUSH1 0x04 000015bb: ADD 000015bc: PUSH1 0x40 000015be: MLOAD 000015bf: DUP1 000015c0: SWAP2 000015c1: SUB 000015c2: SWAP1 000015c3: REVERT 000015c4: JUMPDEST 000015c5: PUSH0 000015c6: PUSH1 0xff 000015c8: DUP3 000015c9: AND 000015ca: SWAP1 000015cb: POP 000015cc: SWAP2 000015cd: SWAP1 000015ce: POP 000015cf: JUMP 000015d0: JUMPDEST 000015d1: PUSH2 0x15d9 000015d4: DUP2 000015d5: PUSH2 0x15c4 000015d8: JUMP 000015d9: JUMPDEST 000015da: DUP3 000015db: MSTORE 000015dc: POP 000015dd: POP 000015de: JUMP 000015df: JUMPDEST 000015e0: PUSH0 000015e1: PUSH1 0x20 000015e3: DUP3 000015e4: ADD 000015e5: SWAP1 000015e6: POP 000015e7: PUSH2 0x15f2 000015ea: PUSH0 000015eb: DUP4 000015ec: ADD 000015ed: DUP5 000015ee: PUSH2 0x15d0 000015f1: JUMP 000015f2: JUMPDEST 000015f3: SWAP3 000015f4: SWAP2 000015f5: POP 000015f6: POP 000015f7: JUMP 000015f8: JUMPDEST 000015f9: PUSH0 000015fa: DUP1 000015fb: REVERT 000015fc: JUMPDEST 000015fd: PUSH0 000015fe: PUSH2 0xffff 00001601: DUP3 00001602: AND 00001603: SWAP1 00001604: POP 00001605: SWAP2 00001606: SWAP1 00001607: POP 00001608: JUMP 00001609: JUMPDEST 0000160a: PUSH2 0x1612 0000160d: DUP2 0000160e: PUSH2 0x15fc 00001611: JUMP 00001612: JUMPDEST 00001613: DUP2 00001614: EQ 00001615: PUSH2 0x161c 00001618: JUMPI 00001619: PUSH0 0000161a: DUP1 0000161b: REVERT 0000161c: JUMPDEST 0000161d: POP 0000161e: JUMP 0000161f: JUMPDEST 00001620: PUSH0 00001621: DUP2 00001622: CALLDATALOAD 00001623: SWAP1 00001624: POP 00001625: PUSH2 0x162d 00001628: DUP2 00001629: PUSH2 0x1609 0000162c: JUMP 0000162d: JUMPDEST 0000162e: SWAP3 0000162f: SWAP2 00001630: POP 00001631: POP 00001632: JUMP 00001633: JUMPDEST 00001634: PUSH0 00001635: PUSH1 0x20 00001637: DUP3 00001638: DUP5 00001639: SUB 0000163a: SLT 0000163b: ISZERO 0000163c: PUSH2 0x1648 0000163f: JUMPI 00001640: PUSH2 0x1647 00001643: PUSH2 0x15f8 00001646: JUMP 00001647: JUMPDEST 00001648: JUMPDEST 00001649: PUSH0 0000164a: PUSH2 0x1655 0000164d: DUP5 0000164e: DUP3 0000164f: DUP6 00001650: ADD 00001651: PUSH2 0x161f 00001654: JUMP 00001655: JUMPDEST 00001656: SWAP2 00001657: POP 00001658: POP 00001659: SWAP3 0000165a: SWAP2 0000165b: POP 0000165c: POP 0000165d: JUMP 0000165e: JUMPDEST 0000165f: PUSH0 00001660: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001675: DUP3 00001676: AND 00001677: SWAP1 00001678: POP 00001679: SWAP2 0000167a: SWAP1 0000167b: POP 0000167c: JUMP 0000167d: JUMPDEST 0000167e: PUSH0 0000167f: PUSH2 0x1687 00001682: DUP3 00001683: PUSH2 0x165e 00001686: JUMP 00001687: JUMPDEST 00001688: SWAP1 00001689: POP 0000168a: SWAP2 0000168b: SWAP1 0000168c: POP 0000168d: JUMP 0000168e: JUMPDEST 0000168f: PUSH2 0x1697 00001692: DUP2 00001693: PUSH2 0x167d 00001696: JUMP 00001697: JUMPDEST 00001698: DUP2 00001699: EQ 0000169a: PUSH2 0x16a1 0000169d: JUMPI 0000169e: PUSH0 0000169f: DUP1 000016a0: REVERT 000016a1: JUMPDEST 000016a2: POP 000016a3: JUMP 000016a4: JUMPDEST 000016a5: PUSH0 000016a6: DUP2 000016a7: CALLDATALOAD 000016a8: SWAP1 000016a9: POP 000016aa: PUSH2 0x16b2 000016ad: DUP2 000016ae: PUSH2 0x168e 000016b1: JUMP 000016b2: JUMPDEST 000016b3: SWAP3 000016b4: SWAP2 000016b5: POP 000016b6: POP 000016b7: JUMP 000016b8: JUMPDEST 000016b9: PUSH0 000016ba: DUP2 000016bb: SWAP1 000016bc: POP 000016bd: SWAP2 000016be: SWAP1 000016bf: POP 000016c0: JUMP 000016c1: JUMPDEST 000016c2: PUSH2 0x16ca 000016c5: DUP2 000016c6: PUSH2 0x16b8 000016c9: JUMP 000016ca: JUMPDEST 000016cb: DUP2 000016cc: EQ 000016cd: PUSH2 0x16d4 000016d0: JUMPI 000016d1: PUSH0 000016d2: DUP1 000016d3: REVERT 000016d4: JUMPDEST 000016d5: POP 000016d6: JUMP 000016d7: JUMPDEST 000016d8: PUSH0 000016d9: DUP2 000016da: CALLDATALOAD 000016db: SWAP1 000016dc: POP 000016dd: PUSH2 0x16e5 000016e0: DUP2 000016e1: PUSH2 0x16c1 000016e4: JUMP 000016e5: JUMPDEST 000016e6: SWAP3 000016e7: SWAP2 000016e8: POP 000016e9: POP 000016ea: JUMP 000016eb: JUMPDEST 000016ec: PUSH0 000016ed: DUP1 000016ee: PUSH0 000016ef: PUSH1 0x60 000016f1: DUP5 000016f2: DUP7 000016f3: SUB 000016f4: SLT 000016f5: ISZERO 000016f6: PUSH2 0x1702 000016f9: JUMPI 000016fa: PUSH2 0x1701 000016fd: PUSH2 0x15f8 00001700: JUMP 00001701: JUMPDEST 00001702: JUMPDEST 00001703: PUSH0 00001704: PUSH2 0x170f 00001707: DUP7 00001708: DUP3 00001709: DUP8 0000170a: ADD 0000170b: PUSH2 0x16a4 0000170e: JUMP 0000170f: JUMPDEST 00001710: SWAP4 00001711: POP 00001712: POP 00001713: PUSH1 0x20 00001715: PUSH2 0x1720 00001718: DUP7 00001719: DUP3 0000171a: DUP8 0000171b: ADD 0000171c: PUSH2 0x16a4 0000171f: JUMP 00001720: JUMPDEST 00001721: SWAP3 00001722: POP 00001723: POP 00001724: PUSH1 0x40 00001726: PUSH2 0x1731 00001729: DUP7 0000172a: DUP3 0000172b: DUP8 0000172c: ADD 0000172d: PUSH2 0x16d7 00001730: JUMP 00001731: JUMPDEST 00001732: SWAP2 00001733: POP 00001734: POP 00001735: SWAP3 00001736: POP 00001737: SWAP3 00001738: POP 00001739: SWAP3 0000173a: JUMP 0000173b: JUMPDEST 0000173c: PUSH2 0x1744 0000173f: DUP2 00001740: PUSH2 0x16b8 00001743: JUMP 00001744: JUMPDEST 00001745: DUP3 00001746: MSTORE 00001747: POP 00001748: POP 00001749: JUMP 0000174a: JUMPDEST 0000174b: PUSH0 0000174c: PUSH1 0x20 0000174e: DUP3 0000174f: ADD 00001750: SWAP1 00001751: POP 00001752: PUSH2 0x175d 00001755: PUSH0 00001756: DUP4 00001757: ADD 00001758: DUP5 00001759: PUSH2 0x173b 0000175c: JUMP 0000175d: JUMPDEST 0000175e: SWAP3 0000175f: SWAP2 00001760: POP 00001761: POP 00001762: JUMP 00001763: JUMPDEST 00001764: PUSH0 00001765: PUSH1 0x20 00001767: DUP3 00001768: DUP5 00001769: SUB 0000176a: SLT 0000176b: ISZERO 0000176c: PUSH2 0x1778 0000176f: JUMPI 00001770: PUSH2 0x1777 00001773: PUSH2 0x15f8 00001776: JUMP 00001777: JUMPDEST 00001778: JUMPDEST 00001779: PUSH0 0000177a: PUSH2 0x1785 0000177d: DUP5 0000177e: DUP3 0000177f: DUP6 00001780: ADD 00001781: PUSH2 0x16d7 00001784: JUMP 00001785: JUMPDEST 00001786: SWAP2 00001787: POP 00001788: POP 00001789: SWAP3 0000178a: SWAP2 0000178b: POP 0000178c: POP 0000178d: JUMP 0000178e: JUMPDEST 0000178f: PUSH2 0x1797 00001792: DUP2 00001793: PUSH2 0x167d 00001796: JUMP 00001797: JUMPDEST 00001798: DUP3 00001799: MSTORE 0000179a: POP 0000179b: POP 0000179c: JUMP 0000179d: JUMPDEST 0000179e: PUSH0 0000179f: PUSH1 0x20 000017a1: DUP3 000017a2: ADD 000017a3: SWAP1 000017a4: POP 000017a5: PUSH2 0x17b0 000017a8: PUSH0 000017a9: DUP4 000017aa: ADD 000017ab: DUP5 000017ac: PUSH2 0x178e 000017af: JUMP 000017b0: JUMPDEST 000017b1: SWAP3 000017b2: SWAP2 000017b3: POP 000017b4: POP 000017b5: JUMP 000017b6: JUMPDEST 000017b7: PUSH0 000017b8: DUP1 000017b9: PUSH0 000017ba: DUP1 000017bb: PUSH1 0x80 000017bd: DUP6 000017be: DUP8 000017bf: SUB 000017c0: SLT 000017c1: ISZERO 000017c2: PUSH2 0x17ce 000017c5: JUMPI 000017c6: PUSH2 0x17cd 000017c9: PUSH2 0x15f8 000017cc: JUMP 000017cd: JUMPDEST 000017ce: JUMPDEST 000017cf: PUSH0 000017d0: PUSH2 0x17db 000017d3: DUP8 000017d4: DUP3 000017d5: DUP9 000017d6: ADD 000017d7: PUSH2 0x16a4 000017da: JUMP 000017db: JUMPDEST 000017dc: SWAP5 000017dd: POP 000017de: POP 000017df: PUSH1 0x20 000017e1: PUSH2 0x17ec 000017e4: DUP8 000017e5: DUP3 000017e6: DUP9 000017e7: ADD 000017e8: PUSH2 0x16a4 000017eb: JUMP 000017ec: JUMPDEST 000017ed: SWAP4 000017ee: POP 000017ef: POP 000017f0: PUSH1 0x40 000017f2: PUSH2 0x17fd 000017f5: DUP8 000017f6: DUP3 000017f7: DUP9 000017f8: ADD 000017f9: PUSH2 0x16a4 000017fc: JUMP 000017fd: JUMPDEST 000017fe: SWAP3 000017ff: POP 00001800: POP 00001801: PUSH1 0x60 00001803: PUSH2 0x180e 00001806: DUP8 00001807: DUP3 00001808: DUP9 00001809: ADD 0000180a: PUSH2 0x16d7 0000180d: JUMP 0000180e: JUMPDEST 0000180f: SWAP2 00001810: POP 00001811: POP 00001812: SWAP3 00001813: SWAP6 00001814: SWAP2 00001815: SWAP5 00001816: POP 00001817: SWAP3 00001818: POP 00001819: JUMP 0000181a: JUMPDEST 0000181b: PUSH2 0x1823 0000181e: DUP2 0000181f: PUSH2 0x15fc 00001822: JUMP 00001823: JUMPDEST 00001824: DUP3 00001825: MSTORE 00001826: POP 00001827: POP 00001828: JUMP 00001829: JUMPDEST 0000182a: PUSH0 0000182b: PUSH1 0x20 0000182d: DUP3 0000182e: ADD 0000182f: SWAP1 00001830: POP 00001831: PUSH2 0x183c 00001834: PUSH0 00001835: DUP4 00001836: ADD 00001837: DUP5 00001838: PUSH2 0x181a 0000183b: JUMP 0000183c: JUMPDEST 0000183d: SWAP3 0000183e: SWAP2 0000183f: POP 00001840: POP 00001841: JUMP 00001842: JUMPDEST 00001843: PUSH0 00001844: PUSH1 0x20 00001846: DUP3 00001847: DUP5 00001848: SUB 00001849: SLT 0000184a: ISZERO 0000184b: PUSH2 0x1857 0000184e: JUMPI 0000184f: PUSH2 0x1856 00001852: PUSH2 0x15f8 00001855: JUMP 00001856: JUMPDEST 00001857: JUMPDEST 00001858: PUSH0 00001859: PUSH2 0x1864 0000185c: DUP5 0000185d: DUP3 0000185e: DUP6 0000185f: ADD 00001860: PUSH2 0x16a4 00001863: JUMP 00001864: JUMPDEST 00001865: SWAP2 00001866: POP 00001867: POP 00001868: SWAP3 00001869: SWAP2 0000186a: POP 0000186b: POP 0000186c: JUMP 0000186d: JUMPDEST 0000186e: PUSH2 0x1876 00001871: DUP2 00001872: PUSH2 0x15c4 00001875: JUMP 00001876: JUMPDEST 00001877: DUP2 00001878: EQ 00001879: PUSH2 0x1880 0000187c: JUMPI 0000187d: PUSH0 0000187e: DUP1 0000187f: REVERT 00001880: JUMPDEST 00001881: POP 00001882: JUMP 00001883: JUMPDEST 00001884: PUSH0 00001885: DUP2 00001886: MLOAD 00001887: SWAP1 00001888: POP 00001889: PUSH2 0x1891 0000188c: DUP2 0000188d: PUSH2 0x186d 00001890: JUMP 00001891: JUMPDEST 00001892: SWAP3 00001893: SWAP2 00001894: POP 00001895: POP 00001896: JUMP 00001897: JUMPDEST 00001898: PUSH0 00001899: PUSH1 0x20 0000189b: DUP3 0000189c: DUP5 0000189d: SUB 0000189e: SLT 0000189f: ISZERO 000018a0: PUSH2 0x18ac 000018a3: JUMPI 000018a4: PUSH2 0x18ab 000018a7: PUSH2 0x15f8 000018aa: JUMP 000018ab: JUMPDEST 000018ac: JUMPDEST 000018ad: PUSH0 000018ae: PUSH2 0x18b9 000018b1: DUP5 000018b2: DUP3 000018b3: DUP6 000018b4: ADD 000018b5: PUSH2 0x1883 000018b8: JUMP 000018b9: JUMPDEST 000018ba: SWAP2 000018bb: POP 000018bc: POP 000018bd: SWAP3 000018be: SWAP2 000018bf: POP 000018c0: POP 000018c1: JUMP 000018c2: JUMPDEST 000018c3: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000018e4: PUSH0 000018e5: MSTORE 000018e6: PUSH1 0x11 000018e8: PUSH1 0x04 000018ea: MSTORE 000018eb: PUSH1 0x24 000018ed: PUSH0 000018ee: REVERT 000018ef: JUMPDEST 000018f0: PUSH0 000018f1: PUSH2 0x18f9 000018f4: DUP3 000018f5: PUSH2 0x15c4 000018f8: JUMP 000018f9: JUMPDEST 000018fa: SWAP2 000018fb: POP 000018fc: PUSH2 0x1904 000018ff: DUP4 00001900: PUSH2 0x15c4 00001903: JUMP 00001904: JUMPDEST 00001905: SWAP3 00001906: POP 00001907: DUP3 00001908: DUP3 00001909: SUB 0000190a: SWAP1 0000190b: POP 0000190c: PUSH1 0xff 0000190e: DUP2 0000190f: GT 00001910: ISZERO 00001911: PUSH2 0x191d 00001914: JUMPI 00001915: PUSH2 0x191c 00001918: PUSH2 0x18c2 0000191b: JUMP 0000191c: JUMPDEST 0000191d: JUMPDEST 0000191e: SWAP3 0000191f: SWAP2 00001920: POP 00001921: POP 00001922: JUMP 00001923: JUMPDEST 00001924: PUSH0 00001925: DUP2 00001926: PUSH1 0x01 00001928: SHR 00001929: SWAP1 0000192a: POP 0000192b: SWAP2 0000192c: SWAP1 0000192d: POP 0000192e: JUMP 0000192f: JUMPDEST 00001930: PUSH0 00001931: DUP1 00001932: DUP3 00001933: SWAP2 00001934: POP 00001935: DUP4 00001936: SWAP1 00001937: POP 00001938: JUMPDEST 00001939: PUSH1 0x01 0000193b: DUP6 0000193c: GT 0000193d: ISZERO 0000193e: PUSH2 0x1978 00001941: JUMPI 00001942: DUP1 00001943: DUP7 00001944: DIV 00001945: DUP2 00001946: GT 00001947: ISZERO 00001948: PUSH2 0x1954 0000194b: JUMPI 0000194c: PUSH2 0x1953 0000194f: PUSH2 0x18c2 00001952: JUMP 00001953: JUMPDEST 00001954: JUMPDEST 00001955: PUSH1 0x01 00001957: DUP6 00001958: AND 00001959: ISZERO 0000195a: PUSH2 0x1963 0000195d: JUMPI 0000195e: DUP1 0000195f: DUP3 00001960: MUL 00001961: SWAP2 00001962: POP 00001963: JUMPDEST 00001964: DUP1 00001965: DUP2 00001966: MUL 00001967: SWAP1 00001968: POP 00001969: PUSH2 0x1971 0000196c: DUP6 0000196d: PUSH2 0x1923 00001970: JUMP 00001971: JUMPDEST 00001972: SWAP5 00001973: POP 00001974: PUSH2 0x1938 00001977: JUMP 00001978: JUMPDEST 00001979: SWAP5 0000197a: POP 0000197b: SWAP5 0000197c: SWAP3 0000197d: POP 0000197e: POP 0000197f: POP 00001980: JUMP 00001981: JUMPDEST 00001982: PUSH0 00001983: DUP3 00001984: PUSH2 0x1990 00001987: JUMPI 00001988: PUSH1 0x01 0000198a: SWAP1 0000198b: POP 0000198c: PUSH2 0x1a4b 0000198f: JUMP 00001990: JUMPDEST 00001991: DUP2 00001992: PUSH2 0x199d 00001995: JUMPI 00001996: PUSH0 00001997: SWAP1 00001998: POP 00001999: PUSH2 0x1a4b 0000199c: JUMP 0000199d: JUMPDEST 0000199e: DUP2 0000199f: PUSH1 0x01 000019a1: DUP2 000019a2: EQ 000019a3: PUSH2 0x19b3 000019a6: JUMPI 000019a7: PUSH1 0x02 000019a9: DUP2 000019aa: EQ 000019ab: PUSH2 0x19bd 000019ae: JUMPI 000019af: PUSH2 0x19ec 000019b2: JUMP 000019b3: JUMPDEST 000019b4: PUSH1 0x01 000019b6: SWAP2 000019b7: POP 000019b8: POP 000019b9: PUSH2 0x1a4b 000019bc: JUMP 000019bd: JUMPDEST 000019be: PUSH1 0xff 000019c0: DUP5 000019c1: GT 000019c2: ISZERO 000019c3: PUSH2 0x19cf 000019c6: JUMPI 000019c7: PUSH2 0x19ce 000019ca: PUSH2 0x18c2 000019cd: JUMP 000019ce: JUMPDEST 000019cf: JUMPDEST 000019d0: DUP4 000019d1: PUSH1 0x02 000019d3: EXP 000019d4: SWAP2 000019d5: POP 000019d6: DUP5 000019d7: DUP3 000019d8: GT 000019d9: ISZERO 000019da: PUSH2 0x19e6 000019dd: JUMPI 000019de: PUSH2 0x19e5 000019e1: PUSH2 0x18c2 000019e4: JUMP 000019e5: JUMPDEST 000019e6: JUMPDEST 000019e7: POP 000019e8: PUSH2 0x1a4b 000019eb: JUMP 000019ec: JUMPDEST 000019ed: POP 000019ee: PUSH1 0x20 000019f0: DUP4 000019f1: LT 000019f2: PUSH2 0x0133 000019f5: DUP4 000019f6: LT 000019f7: AND 000019f8: PUSH1 0x4e 000019fa: DUP5 000019fb: LT 000019fc: PUSH1 0x0b 000019fe: DUP5 000019ff: LT 00001a00: AND 00001a01: OR 00001a02: ISZERO 00001a03: PUSH2 0x1a21 00001a06: JUMPI 00001a07: DUP3 00001a08: DUP3 00001a09: EXP 00001a0a: SWAP1 00001a0b: POP 00001a0c: DUP4 00001a0d: DUP2 00001a0e: GT 00001a0f: ISZERO 00001a10: PUSH2 0x1a1c 00001a13: JUMPI 00001a14: PUSH2 0x1a1b 00001a17: PUSH2 0x18c2 00001a1a: JUMP 00001a1b: JUMPDEST 00001a1c: JUMPDEST 00001a1d: PUSH2 0x1a4b 00001a20: JUMP 00001a21: JUMPDEST 00001a22: PUSH2 0x1a2e 00001a25: DUP5 00001a26: DUP5 00001a27: DUP5 00001a28: PUSH1 0x01 00001a2a: PUSH2 0x192f 00001a2d: JUMP 00001a2e: JUMPDEST 00001a2f: SWAP3 00001a30: POP 00001a31: SWAP1 00001a32: POP 00001a33: DUP2 00001a34: DUP5 00001a35: DIV 00001a36: DUP2 00001a37: GT 00001a38: ISZERO 00001a39: PUSH2 0x1a45 00001a3c: JUMPI 00001a3d: PUSH2 0x1a44 00001a40: PUSH2 0x18c2 00001a43: JUMP 00001a44: JUMPDEST 00001a45: JUMPDEST 00001a46: DUP2 00001a47: DUP2 00001a48: MUL 00001a49: SWAP1 00001a4a: POP 00001a4b: JUMPDEST 00001a4c: SWAP4 00001a4d: SWAP3 00001a4e: POP 00001a4f: POP 00001a50: POP 00001a51: JUMP 00001a52: JUMPDEST 00001a53: PUSH0 00001a54: PUSH2 0x1a5c 00001a57: DUP3 00001a58: PUSH2 0x16b8 00001a5b: JUMP 00001a5c: JUMPDEST 00001a5d: SWAP2 00001a5e: POP 00001a5f: PUSH2 0x1a67 00001a62: DUP4 00001a63: PUSH2 0x15c4 00001a66: JUMP 00001a67: JUMPDEST 00001a68: SWAP3 00001a69: POP 00001a6a: PUSH2 0x1a94 00001a6d: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00001a8e: DUP5 00001a8f: DUP5 00001a90: PUSH2 0x1981 00001a93: JUMP 00001a94: JUMPDEST 00001a95: SWAP1 00001a96: POP 00001a97: SWAP3 00001a98: SWAP2 00001a99: POP 00001a9a: POP 00001a9b: JUMP 00001a9c: JUMPDEST 00001a9d: PUSH0 00001a9e: DUP2 00001a9f: SWAP1 00001aa0: POP 00001aa1: SWAP2 00001aa2: SWAP1 00001aa3: POP 00001aa4: JUMP 00001aa5: JUMPDEST 00001aa6: PUSH0 00001aa7: PUSH8 0xffffffffffffffff 00001ab0: DUP3 00001ab1: AND 00001ab2: SWAP1 00001ab3: POP 00001ab4: SWAP2 00001ab5: SWAP1 00001ab6: POP 00001ab7: JUMP 00001ab8: JUMPDEST 00001ab9: PUSH0 00001aba: DUP2 00001abb: SWAP1 00001abc: POP 00001abd: SWAP2 00001abe: SWAP1 00001abf: POP 00001ac0: JUMP 00001ac1: JUMPDEST 00001ac2: PUSH0 00001ac3: PUSH2 0x1adb 00001ac6: PUSH2 0x1ad6 00001ac9: PUSH2 0x1ad1 00001acc: DUP5 00001acd: PUSH2 0x1a9c 00001ad0: JUMP 00001ad1: JUMPDEST 00001ad2: PUSH2 0x1ab8 00001ad5: JUMP 00001ad6: JUMPDEST 00001ad7: PUSH2 0x1aa5 00001ada: JUMP 00001adb: JUMPDEST 00001adc: SWAP1 00001add: POP 00001ade: SWAP2 00001adf: SWAP1 00001ae0: POP 00001ae1: JUMP 00001ae2: JUMPDEST 00001ae3: PUSH2 0x1aeb 00001ae6: DUP2 00001ae7: PUSH2 0x1ac1 00001aea: JUMP 00001aeb: JUMPDEST 00001aec: DUP3 00001aed: MSTORE 00001aee: POP 00001aef: POP 00001af0: JUMP 00001af1: JUMPDEST 00001af2: PUSH0 00001af3: PUSH1 0x20 00001af5: DUP3 00001af6: ADD 00001af7: SWAP1 00001af8: POP 00001af9: PUSH2 0x1b04 00001afc: PUSH0 00001afd: DUP4 00001afe: ADD 00001aff: DUP5 00001b00: PUSH2 0x1ae2 00001b03: JUMP 00001b04: JUMPDEST 00001b05: SWAP3 00001b06: SWAP2 00001b07: POP 00001b08: POP 00001b09: JUMP 00001b0a: JUMPDEST 00001b0b: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00001b2c: PUSH0 00001b2d: MSTORE 00001b2e: PUSH1 0x12 00001b30: PUSH1 0x04 00001b32: MSTORE 00001b33: PUSH1 0x24 00001b35: PUSH0 00001b36: REVERT 00001b37: JUMPDEST 00001b38: PUSH0 00001b39: PUSH2 0x1b41 00001b3c: DUP3 00001b3d: PUSH2 0x16b8 00001b40: JUMP 00001b41: JUMPDEST 00001b42: SWAP2 00001b43: POP 00001b44: PUSH2 0x1b4c 00001b47: DUP4 00001b48: PUSH2 0x16b8 00001b4b: JUMP 00001b4c: JUMPDEST 00001b4d: SWAP3 00001b4e: POP 00001b4f: DUP3 00001b50: PUSH2 0x1b5c 00001b53: JUMPI 00001b54: PUSH2 0x1b5b 00001b57: PUSH2 0x1b0a 00001b5a: JUMP 00001b5b: JUMPDEST 00001b5c: JUMPDEST 00001b5d: DUP3 00001b5e: DUP3 00001b5f: DIV 00001b60: SWAP1 00001b61: POP 00001b62: SWAP3 00001b63: SWAP2 00001b64: POP 00001b65: POP 00001b66: JUMP 00001b67: JUMPDEST 00001b68: PUSH0 00001b69: PUSH2 0x1b71 00001b6c: DUP3 00001b6d: PUSH2 0x16b8 00001b70: JUMP 00001b71: JUMPDEST 00001b72: SWAP2 00001b73: POP 00001b74: PUSH2 0x1b7c 00001b77: DUP4 00001b78: PUSH2 0x16b8 00001b7b: JUMP 00001b7c: JUMPDEST 00001b7d: SWAP3 00001b7e: POP 00001b7f: DUP3 00001b80: DUP3 00001b81: ADD 00001b82: SWAP1 00001b83: POP 00001b84: DUP1 00001b85: DUP3 00001b86: GT 00001b87: ISZERO 00001b88: PUSH2 0x1b94 00001b8b: JUMPI 00001b8c: PUSH2 0x1b93 00001b8f: PUSH2 0x18c2 00001b92: JUMP 00001b93: JUMPDEST 00001b94: JUMPDEST 00001b95: SWAP3 00001b96: SWAP2 00001b97: POP 00001b98: POP 00001b99: JUMP 00001b9a: JUMPDEST 00001b9b: PUSH0 00001b9c: PUSH2 0x1ba4 00001b9f: DUP3 00001ba0: PUSH2 0x16b8 00001ba3: JUMP 00001ba4: JUMPDEST 00001ba5: SWAP2 00001ba6: POP 00001ba7: PUSH2 0x1baf 00001baa: DUP4 00001bab: PUSH2 0x16b8 00001bae: JUMP 00001baf: JUMPDEST 00001bb0: SWAP3 00001bb1: POP 00001bb2: DUP3 00001bb3: DUP3 00001bb4: MUL 00001bb5: PUSH2 0x1bbd 00001bb8: DUP2 00001bb9: PUSH2 0x16b8 00001bbc: JUMP 00001bbd: JUMPDEST 00001bbe: SWAP2 00001bbf: POP 00001bc0: DUP3 00001bc1: DUP3 00001bc2: DIV 00001bc3: DUP5 00001bc4: EQ 00001bc5: DUP4 00001bc6: ISZERO 00001bc7: OR 00001bc8: PUSH2 0x1bd4 00001bcb: JUMPI 00001bcc: PUSH2 0x1bd3 00001bcf: PUSH2 0x18c2 00001bd2: JUMP 00001bd3: JUMPDEST 00001bd4: JUMPDEST 00001bd5: POP 00001bd6: SWAP3 00001bd7: SWAP2 00001bd8: POP 00001bd9: POP 00001bda: JUMP 00001bdb: JUMPDEST 00001bdc: PUSH0 00001bdd: PUSH2 0x1be5 00001be0: DUP3 00001be1: PUSH2 0x16b8 00001be4: JUMP 00001be5: JUMPDEST 00001be6: SWAP2 00001be7: POP 00001be8: PUSH2 0x1bf0 00001beb: DUP4 00001bec: PUSH2 0x16b8 00001bef: JUMP 00001bf0: JUMPDEST 00001bf1: SWAP3 00001bf2: POP 00001bf3: DUP3 00001bf4: DUP3 00001bf5: SUB 00001bf6: SWAP1 00001bf7: POP 00001bf8: DUP2 00001bf9: DUP2 00001bfa: GT 00001bfb: ISZERO 00001bfc: PUSH2 0x1c08 00001bff: JUMPI 00001c00: PUSH2 0x1c07 00001c03: PUSH2 0x18c2 00001c06: JUMP 00001c07: JUMPDEST 00001c08: JUMPDEST 00001c09: SWAP3 00001c0a: SWAP2 00001c0b: POP 00001c0c: POP 00001c0d: JUMP 00001c0e: JUMPDEST 00001c0f: PUSH0 00001c10: DUP2 00001c11: MLOAD 00001c12: SWAP1 00001c13: POP 00001c14: PUSH2 0x1c1c 00001c17: DUP2 00001c18: PUSH2 0x16c1 00001c1b: JUMP 00001c1c: JUMPDEST 00001c1d: SWAP3 00001c1e: SWAP2 00001c1f: POP 00001c20: POP 00001c21: JUMP 00001c22: JUMPDEST 00001c23: PUSH0 00001c24: PUSH1 0x20 00001c26: DUP3 00001c27: DUP5 00001c28: SUB 00001c29: SLT 00001c2a: ISZERO 00001c2b: PUSH2 0x1c37 00001c2e: JUMPI 00001c2f: PUSH2 0x1c36 00001c32: PUSH2 0x15f8 00001c35: JUMP 00001c36: JUMPDEST 00001c37: JUMPDEST 00001c38: PUSH0 00001c39: PUSH2 0x1c44 00001c3c: DUP5 00001c3d: DUP3 00001c3e: DUP6 00001c3f: ADD 00001c40: PUSH2 0x1c0e 00001c43: JUMP 00001c44: JUMPDEST 00001c45: SWAP2 00001c46: POP 00001c47: POP 00001c48: SWAP3 00001c49: SWAP2 00001c4a: POP 00001c4b: POP 00001c4c: JUMP 00001c4d: JUMPDEST 00001c4e: PUSH0 00001c4f: PUSH1 0x40 00001c51: DUP3 00001c52: ADD 00001c53: SWAP1 00001c54: POP 00001c55: PUSH2 0x1c60 00001c58: PUSH0 00001c59: DUP4 00001c5a: ADD 00001c5b: DUP6 00001c5c: PUSH2 0x178e 00001c5f: JUMP 00001c60: JUMPDEST 00001c61: PUSH2 0x1c6d 00001c64: PUSH1 0x20 00001c66: DUP4 00001c67: ADD 00001c68: DUP5 00001c69: PUSH2 0x173b 00001c6c: JUMP 00001c6d: JUMPDEST 00001c6e: SWAP4 00001c6f: SWAP3 00001c70: POP 00001c71: POP 00001c72: POP 00001c73: JUMP 00001c74: JUMPDEST 00001c75: PUSH0 00001c76: DUP2 00001c77: ISZERO 00001c78: ISZERO 00001c79: SWAP1 00001c7a: POP 00001c7b: SWAP2 00001c7c: SWAP1 00001c7d: POP 00001c7e: JUMP 00001c7f: JUMPDEST 00001c80: PUSH2 0x1c88 00001c83: DUP2 00001c84: PUSH2 0x1c74 00001c87: JUMP 00001c88: JUMPDEST 00001c89: DUP2 00001c8a: EQ 00001c8b: PUSH2 0x1c92 00001c8e: JUMPI 00001c8f: PUSH0 00001c90: DUP1 00001c91: REVERT 00001c92: JUMPDEST 00001c93: POP 00001c94: JUMP 00001c95: JUMPDEST 00001c96: PUSH0 00001c97: DUP2 00001c98: MLOAD 00001c99: SWAP1 00001c9a: POP 00001c9b: PUSH2 0x1ca3 00001c9e: DUP2 00001c9f: PUSH2 0x1c7f 00001ca2: JUMP 00001ca3: JUMPDEST 00001ca4: SWAP3 00001ca5: SWAP2 00001ca6: POP 00001ca7: POP 00001ca8: JUMP 00001ca9: JUMPDEST 00001caa: PUSH0 00001cab: PUSH1 0x20 00001cad: DUP3 00001cae: DUP5 00001caf: SUB 00001cb0: SLT 00001cb1: ISZERO 00001cb2: PUSH2 0x1cbe 00001cb5: JUMPI 00001cb6: PUSH2 0x1cbd 00001cb9: PUSH2 0x15f8 00001cbc: JUMP 00001cbd: JUMPDEST 00001cbe: JUMPDEST 00001cbf: PUSH0 00001cc0: PUSH2 0x1ccb 00001cc3: DUP5 00001cc4: DUP3 00001cc5: DUP6 00001cc6: ADD 00001cc7: PUSH2 0x1c95 00001cca: JUMP 00001ccb: JUMPDEST 00001ccc: SWAP2 00001ccd: POP 00001cce: POP 00001ccf: SWAP3 00001cd0: SWAP2 00001cd1: POP 00001cd2: POP 00001cd3: JUMP 00001cd4: JUMPDEST 00001cd5: PUSH0 00001cd6: DUP2 00001cd7: MLOAD 00001cd8: SWAP1 00001cd9: POP 00001cda: SWAP2 00001cdb: SWAP1 00001cdc: POP 00001cdd: JUMP 00001cde: JUMPDEST 00001cdf: PUSH0 00001ce0: DUP2 00001ce1: SWAP1 00001ce2: POP 00001ce3: SWAP3 00001ce4: SWAP2 00001ce5: POP 00001ce6: POP 00001ce7: JUMP 00001ce8: JUMPDEST 00001ce9: PUSH0 00001cea: JUMPDEST 00001ceb: DUP4 00001cec: DUP2 00001ced: LT 00001cee: ISZERO 00001cef: PUSH2 0x1d05 00001cf2: JUMPI 00001cf3: DUP1 00001cf4: DUP3 00001cf5: ADD 00001cf6: MLOAD 00001cf7: DUP2 00001cf8: DUP5 00001cf9: ADD 00001cfa: MSTORE 00001cfb: PUSH1 0x20 00001cfd: DUP2 00001cfe: ADD 00001cff: SWAP1 00001d00: POP 00001d01: PUSH2 0x1cea 00001d04: JUMP 00001d05: JUMPDEST 00001d06: PUSH0 00001d07: DUP5 00001d08: DUP5 00001d09: ADD 00001d0a: MSTORE 00001d0b: POP 00001d0c: POP 00001d0d: POP 00001d0e: POP 00001d0f: JUMP 00001d10: JUMPDEST 00001d11: PUSH0 00001d12: PUSH2 0x1d1a 00001d15: DUP3 00001d16: PUSH2 0x1cd4 00001d19: JUMP 00001d1a: JUMPDEST 00001d1b: PUSH2 0x1d24 00001d1e: DUP2 00001d1f: DUP6 00001d20: PUSH2 0x1cde 00001d23: JUMP 00001d24: JUMPDEST 00001d25: SWAP4 00001d26: POP 00001d27: PUSH2 0x1d34 00001d2a: DUP2 00001d2b: DUP6 00001d2c: PUSH1 0x20 00001d2e: DUP7 00001d2f: ADD 00001d30: PUSH2 0x1ce8 00001d33: JUMP 00001d34: JUMPDEST 00001d35: DUP1 00001d36: DUP5 00001d37: ADD 00001d38: SWAP2 00001d39: POP 00001d3a: POP 00001d3b: SWAP3 00001d3c: SWAP2 00001d3d: POP 00001d3e: POP 00001d3f: JUMP 00001d40: JUMPDEST 00001d41: PUSH0 00001d42: PUSH2 0x1d4b 00001d45: DUP3 00001d46: DUP5 00001d47: PUSH2 0x1d10 00001d4a: JUMP 00001d4b: JUMPDEST 00001d4c: SWAP2 00001d4d: POP 00001d4e: DUP2 00001d4f: SWAP1 00001d50: POP 00001d51: SWAP3 00001d52: SWAP2 00001d53: POP 00001d54: POP 00001d55: JUMP 00001d56: INVALID 00001d57: LOG2 00001d58: PUSH5 0x6970667358 00001d5e: UNKNOWN(0x22) 00001d5f: SLT 00001d60: KECCAK256 00001d61: EQ 00001d62: UNKNOWN(0xF9) 00001d63: UNKNOWN(0xF9) 00001d64: UNKNOWN(0x2E) 00001d65: GAS 00001d66: SWAP10 00001d67: UNKNOWN(0xE5) 00001d68: UNKNOWN(0xB8) 00001d69: DUP3 00001d6a: LT 00001d6b: SWAP3 00001d6c: UNKNOWN(0xE1) 00001d6d: PUSH6 0x6bce6d23527a 00001d74: EXTCODESIZE 00001d75: PUSH15 0x9e4a02d3fbbe782f28fd7d64736f6c 00001d85: PUSH4 0x43000816 00001d8a: STOP 00001d8b: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xff969308bc04ad3a179f5432b3f0fc45986eb0ffd2464d215b66e32cb8aa60b6
call_targets:
0xb835004007296f5278fbf85f090af7195361e946
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xff969308bc04ad3a179f5432b3f0fc45986eb0ffd2464d215b66e32cb8aa60b6",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xb835004007296f5278fbf85f090af7195361e946"
],
"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": "0xe30c3978",
"selector": "0xe30c3978",
"calldata_variants": [
"0xe30c3978",
"0xe30c39780000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe9cbd822",
"selector": "0xe9cbd822",
"calldata_variants": [
"0xe9cbd822",
"0xe9cbd8220000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec07f063",
"selector": "0xec07f063",
"calldata_variants": [
"0xec07f063",
"0xec07f0630000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf347f505",
"selector": "0xf347f505",
"calldata_variants": [
"0xf347f505",
"0xf347f5050000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc1fd7a00",
"selector": "0xc1fd7a00",
"calldata_variants": [
"0xc1fd7a00",
"0xc1fd7a000000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcf756fdf",
"selector": "0xcf756fdf",
"calldata_variants": [
"0xcf756fdf",
"0xcf756fdf0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd68002f3",
"selector": "0xd68002f3",
"calldata_variants": [
"0xd68002f3",
"0xd68002f30000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3210,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5285,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 2,
"guards_detected": [],
"untrusted_call_count": 2
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xff969308bc04ad3a179f5432b3f0fc45986eb0ffd2464d215b66e32cb8aa60b6
call_targets:
0xb835004007296f5278fbf85f090af7195361e946
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xff969308bc04ad3a179f5432b3f0fc45986eb0ffd2464d215b66e32cb8aa60b6",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xb835004007296f5278fbf85f090af7195361e946"
],
"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": "0xe30c3978",
"selector": "0xe30c3978",
"calldata_variants": [
"0xe30c3978",
"0xe30c39780000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe9cbd822",
"selector": "0xe9cbd822",
"calldata_variants": [
"0xe9cbd822",
"0xe9cbd8220000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec07f063",
"selector": "0xec07f063",
"calldata_variants": [
"0xec07f063",
"0xec07f0630000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf347f505",
"selector": "0xf347f505",
"calldata_variants": [
"0xf347f505",
"0xf347f5050000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc1fd7a00",
"selector": "0xc1fd7a00",
"calldata_variants": [
"0xc1fd7a00",
"0xc1fd7a000000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcf756fdf",
"selector": "0xcf756fdf",
"calldata_variants": [
"0xcf756fdf",
"0xcf756fdf0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd68002f3",
"selector": "0xd68002f3",
"calldata_variants": [
"0xd68002f3",
"0xd68002f30000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3210,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5285,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": []
}
|