6310209b-7baf-4b35-abae-155500db267d
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 |
|---|---|---|---|---|
| 31748 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 95911 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 95912 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 95913 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 95914 | capability.graph | complete | 1 / 3 | 1 week ago |
| 95915 | detector.run | complete | 1 / 3 | 1 week ago |
| 95916 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:340699] OpenAI Codex v0.77.0 (research preview)
[codex:340699] --------
[codex:340699] workdir: /tmp/codex-multi-872513cv
[codex:340699] model: gpt-5.2-codex
[codex:340699] provider: openai
[codex:340699] approval: never
[codex:340699] sandbox: read-only
[codex:340699] reasoning effort: xhigh
[codex:340699] reasoning summaries: auto
[codex:340699] session id: 019b8fbe-f6ce-7d63-903a-a86e1350ee44
[codex:340699] --------
[codex:340699] user
[codex:340699] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:340699]
[codex:340699] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:340699]
[codex:340699] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:340699] - Gas inefficiency, code quality, naming, or best practices
[codex:340699] - Theoretical vulnerabilities without a clear extraction path
[codex:340699] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:340699] - Front-running unless it enables theft beyond MEV
[codex:340699] - DoS, griefing, or issues that don't result in attacker profit
[codex:340699] - Missing events, view function issues, or informational findings
[codex:340699]
[codex:340699] HIGH-VALUE PATTERNS TO HUNT:
[codex:340699] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:340699] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:340699] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:340699] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:340699] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:340699] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:340699] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:340699] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:340699] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:340699]
[codex:340699] For each finding, you MUST provide:
[codex:340699] 1. Exact file and line numbers of vulnerable code
[codex:340699] 2. Step-by-step exploit transaction sequence
[codex:340699] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:340699]
[codex:340699] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:340699]
[codex:340699] Output MUST be valid JSON matching the provided schema.
[codex:340699] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:340699] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:340699] mcp startup: no servers
[codex:340699]
[codex:340699] thinking
[codex:340699] **Listing files to find AUDIT_BUNDLE.txt**
[codex:340699] exec
[codex:340699] /bin/bash -lc ls in /tmp/codex-multi-872513cv succeeded in 5ms:
[codex:340699] AUDIT_BUNDLE.txt
[codex:340699] codex-output-schema.json
[codex:340699] contracts
[codex:340699]
[codex:340699] thinking
[codex:340699] **Opening AUDIT_BUNDLE.txt**
[codex:340699] exec
[codex:340699] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-872513cv succeeded in 6ms:
[codex:340699] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:340699]
[codex:340699] ================================================================================
[codex:340699] FILE: contracts/Contract.sol
[codex:340699] ================================================================================
[codex:340699] pragma solidity ^0.5.0;
[codex:340699]
[codex:340699] // File: contracts/lib/github.com/OpenZeppelin/openzeppelin-solidity-2.1.2/contracts/utils/ReentrancyGuard.sol
[codex:340699]
[codex:340699] /**
[codex:340699] * @title Helps contracts guard against reentrancy attacks.
[codex:340699] * @author Remco Bloemen <remco@2π.com>, Eenae <alexey@mixbytes.io>
[codex:340699] * @dev If you mark a function `nonReentrant`, you should also
[codex:340699] * mark it `external`.
[codex:340699] */
[codex:340699] contract ReentrancyGuard {
[codex:340699] /// @dev counter to allow mutex lock with only one SSTORE operation
[codex:340699] uint256 private _guardCounter;
[codex:340699]
[codex:340699] constructor () internal {
[codex:340699]
[codex:340699] thinking
[codex:340699] **Preparing to audit Solidity contracts**
[codex:340699] exec
[codex:340699] /bin/bash -lc 'rg --files contracts' in /tmp/codex-multi-872513cv succeeded in 8ms:
[codex:340699] contracts/Contract.sol
[codex:340699]
[codex:340699] thinking
[codex:340699] **Reviewing full smart contract file**
[codex:340699] exec
[codex:340699] /bin/bash -lc 'rg -n "contract" contracts/Contract.sol' in /tmp/codex-multi-872513cv succeeded in 7ms:
[codex:340699] 3:// File: contracts/lib/github.com/OpenZeppelin/openzeppelin-solidity-2.1.2/contracts/utils/ReentrancyGuard.sol
[codex:340699] 6: * @title Helps contracts guard against reentrancy attacks.
[codex:340699] 11:contract ReentrancyGuard {
[codex:340699] 22: * @dev Prevents a contract from calling itself, directly or indirectly.
[codex:340699] 36:// File: contracts/lib/github.com/OpenZeppelin/openzeppelin-solidity-2.1.2/contracts/math/SafeMath.sol
[codex:340699] 102:// File: contracts/lib/github.com/OpenZeppelin/openzeppelin-solidity-2.1.2/contracts/access/Roles.sol
[codex:340699] 143:// File: contracts/lib/github.com/OpenZeppelin/openzeppelin-solidity-2.1.2/contracts/access/roles/PauserRole.sol
[codex:340699] 145:contract PauserRole {
[codex:340699] 185:// File: contracts/lib/github.com/OpenZeppelin/openzeppelin-solidity-2.1.2/contracts/lifecycle/Pausable.sol
[codex:340699] 189: * @dev Base contract which allows children to implement an emergency stop mechanism.
[codex:340699] 191:contract Pausable is PauserRole {
[codex:340699] 202: * @return true if the contract is paused, false otherwise.
[codex:340699] 209: * @dev Modifier to make a function callable only when the contract is not paused.
[codex:340699] 217: * @dev Modifier to make a function callable only when the contract is paused.
[codex:340699] 241:// File: contracts/lib/github.com/OpenZeppelin/openzeppelin-solidity-2.1.2/contracts/ownership/Ownable.sol
[codex:340699] 245: * @dev The Ownable contract has an owner address, and provides basic authorization control
[codex:340699] 248:contract Ownable {
[codex:340699] 254: * @dev The Ownable constructor sets the original `owner` of the contract to the sender
[codex:340699] 278: * @return true if `msg.sender` is the owner of the contract.
[codex:340699] 285: * @dev Allows the current owner to relinquish control of the contract.
[codex:340699]
[codex:340699] thinking
[codex:340699] **Inspecting MinterRole and related contracts**
[codex:340699] exec
[codex:340699] /bin/bash -lc "sed -n '700,880p' contracts/Contract.sol" in /tmp/codex-multi-872513cv succeeded in 7ms:
[codex:340699]
[codex:340699] /**
[codex:340699] * @dev Internal function to invoke `onERC721Received` on a target address
[codex:340699] * The call is not executed if the target address is not a contract
[codex:340699] * @param from address representing the previous owner of the given token ID
[codex:340699] * @param to target address that will receive the tokens
[codex:340699] * @param tokenId uint256 ID of the token to be transferred
[codex:340699] * @param _data bytes optional data to send along with the call
[codex:340699] * @return whether the call correctly returned the expected magic value
[codex:340699] */
[codex:340699] function _checkOnERC721Received(address from, address to, uint256 tokenId, bytes memory _data)
[codex:340699] internal returns (bool)
[codex:340699] {
[codex:340699] if (!to.isContract()) {
[codex:340699] return true;
[codex:340699] }
[codex:340699]
[codex:340699] bytes4 retval = IERC721Receiver(to).onERC721Received(msg.sender, from, tokenId, _data);
[codex:340699] return (retval == _ERC721_RECEIVED);
[codex:340699] }
[codex:340699]
[codex:340699] thinking
[codex:340699] **Continuing file review from line 880**
[codex:340699] exec
[codex:340699] /bin/bash -lc "sed -n '880,1145p' contracts/Contract.sol" in /tmp/codex-multi-872513cv succeeded in 6ms:
[codex:340699] /**
[codex:340699] * @dev Gets the token ID at a given index of all the tokens in this contract
[codex:340699] * Reverts if the index is greater or equal to the total number of tokens
[codex:340699] * @param index uint256 representing the index to be accessed of the tokens list
[codex:340699] * @return uint256 token ID at the given index of the tokens list
[codex:340699] */
[codex:340699] function tokenByIndex(uint256 index) public view returns (uint256) {
[codex:340699] require(index < totalSupply());
[codex:340699] return _allTokens[index];
[codex:340699] }
[codex:340699]
[codex:340699] /**
[codex:340699] * @dev Internal function to transfer ownership of a given token ID to another address.
[codex:340699] * As opposed to transferFrom, this imposes no restrictions on msg.sender.
[codex:340699] * @param from current owner of the token
[codex:340699] * @param to address to receive the ownership of the given token ID
[codex:340699] * @param tokenId uint256 ID of the token to be transferred
[codex:340699] */
[codex:340699] function _transferFrom(address from, address to, uint256 tokenId) internal {
[codex:340699] super._transferFrom(from, to, tokenId);
[codex:340699]
[codex:340699] thinking
[codex:340699] **Analyzing potential vulnerabilities in contracts**
[codex:340699]
[codex:340699] I've carefully examined the LandSectorAsset and MCHLandPool contracts, focusing on minting, withdrawal, and share calculation logic to identify any exploitable profit paths. Although some edge cases around serial zero tokens and share rate misconfigurations appear, these primarily rely on trusted minter or admin roles, with no clear attack vector for external users. Withdrawal functions enforce ownership and include reentrancy guards, and ETH deposits require whitelisting, so I don't see exploitable flaws enabling unauthorized profit extraction.
[codex:340699] exec
[codex:340699] /bin/bash -lc "sed -n '520,660p' contracts/Contract.sol" in /tmp/codex-multi-872513cv succeeded in 11ms:
[codex:340699] * The zero address indicates there is no approved address.
[codex:340699] * There can only be one approved address per token at a given time.
[codex:340699] * Can only be called by the token owner or an approved operator.
[codex:340699] * @param to address to be approved for the given token ID
[codex:340699] * @param tokenId uint256 ID of the token to be approved
[codex:340699] */
[codex:340699] function approve(address to, uint256 tokenId) public {
[codex:340699] address owner = ownerOf(tokenId);
[codex:340699] require(to != owner);
[codex:340699] require(msg.sender == owner || isApprovedForAll(owner, msg.sender));
[codex:340699]
[codex:340699] _tokenApprovals[tokenId] = to;
[codex:340699] emit Approval(owner, to, tokenId);
[codex:340699] }
[codex:340699]
[codex:340699] /**
[codex:340699] * @dev Gets the approved address for a token ID, or zero if no address set
[codex:340699] * Reverts if the token ID does not exist.
[codex:340699] * @param tokenId uint256 ID of the token to query the approval of
[codex:340699] * @return address currently approved for the given token ID
[codex:340699]
[codex:340699] thinking
[codex:340699] **Analyzing audit findings and conclusion**
[codex:340699]
[codex:340699] I read through the entire AUDIT_BUNDLE.txt carefully, verifying the ERC721 implementation, minting controls, withdrawal logic, and potential overflow or reentrancy risks. After thorough consideration, I see no exploitable vulnerabilities or profit paths for attackers under the given threat model, so I'll produce a clean JSON report with no findings and a clear summary statement.
[codex:340699] codex
[codex:340699] {"no_findings":true,"summary":"Reviewed AUDIT_BUNDLE.txt; no concrete, exploitable profit path found under the given threat model.","findings":[]}
[codex:340699] tokens used
[codex:340699] 26,587
[codex:340699] {"no_findings":true,"summary":"Reviewed AUDIT_BUNDLE.txt; no concrete, exploitable profit path found under the given threat model.","findings":[]}
{
"codex": {
"ran_at": "2026-01-05T20:01:59.145849+00:00",
"returncode": 0
},
"summary": "Reviewed AUDIT_BUNDLE.txt; no concrete, exploitable profit path found under the given threat model.",
"raw_final": {
"summary": "Reviewed AUDIT_BUNDLE.txt; no concrete, exploitable profit path found under the given threat model.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x0147 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 0000002e: SWAP1 0000002f: DIV 00000030: DUP1 00000031: PUSH4 0x843592d3 00000036: GT 00000037: PUSH2 0x00c8 0000003a: JUMPI 0000003b: DUP1 0000003c: PUSH4 0xced7ed2c 00000041: GT 00000042: PUSH2 0x008c 00000045: JUMPI 00000046: DUP1 00000047: PUSH4 0xced7ed2c 0000004c: EQ 0000004d: PUSH2 0x04bd 00000050: JUMPI 00000051: DUP1 00000052: PUSH4 0xd239da84 00000057: EQ 00000058: PUSH2 0x0526 0000005b: JUMPI 0000005c: DUP1 0000005d: PUSH4 0xdba8f3f6 00000062: EQ 00000063: PUSH2 0x0579 00000066: JUMPI 00000067: DUP1 00000068: PUSH4 0xe274e18e 0000006d: EQ 0000006e: PUSH2 0x05d0 00000071: JUMPI 00000072: DUP1 00000073: PUSH4 0xf2fde38b 00000078: EQ 00000079: PUSH2 0x0622 0000007c: JUMPI 0000007d: DUP1 0000007e: PUSH4 0xfae36986 00000083: EQ 00000084: PUSH2 0x0673 00000087: JUMPI 00000088: PUSH2 0x0147 0000008b: JUMP 0000008c: JUMPDEST 0000008d: DUP1 0000008e: PUSH4 0x843592d3 00000093: EQ 00000094: PUSH2 0x036c 00000097: JUMPI 00000098: DUP1 00000099: PUSH4 0x8456cb59 0000009e: EQ 0000009f: PUSH2 0x03d1 000000a2: JUMPI 000000a3: DUP1 000000a4: PUSH4 0x87bc742b 000000a9: EQ 000000aa: PUSH2 0x03e8 000000ad: JUMPI 000000ae: DUP1 000000af: PUSH4 0x8da5cb5b 000000b4: EQ 000000b5: PUSH2 0x0437 000000b8: JUMPI 000000b9: DUP1 000000ba: PUSH4 0x8f32d59b 000000bf: EQ 000000c0: PUSH2 0x048e 000000c3: JUMPI 000000c4: PUSH2 0x0147 000000c7: JUMP 000000c8: JUMPDEST 000000c9: DUP1 000000ca: PUSH4 0x5c975abb 000000cf: GT 000000d0: PUSH2 0x010f 000000d3: JUMPI 000000d4: DUP1 000000d5: PUSH4 0x5c975abb 000000da: EQ 000000db: PUSH2 0x02a7 000000de: JUMPI 000000df: DUP1 000000e0: PUSH4 0x6ef8d66d 000000e5: EQ 000000e6: PUSH2 0x02d6 000000e9: JUMPI 000000ea: DUP1 000000eb: PUSH4 0x715018a6 000000f0: EQ 000000f1: PUSH2 0x02ed 000000f4: JUMPI 000000f5: DUP1 000000f6: PUSH4 0x760b8cc2 000000fb: EQ 000000fc: PUSH2 0x0304 000000ff: JUMPI 00000100: DUP1 00000101: PUSH4 0x82dc1ec4 00000106: EQ 00000107: PUSH2 0x031b 0000010a: JUMPI 0000010b: PUSH2 0x0147 0000010e: JUMP 0000010f: JUMPDEST 00000110: DUP1 00000111: PUSH4 0x21bcf3c0 00000116: EQ 00000117: PUSH2 0x014c 0000011a: JUMPI 0000011b: DUP1 0000011c: PUSH4 0x2d09986f 00000121: EQ 00000122: PUSH2 0x019b 00000125: JUMPI 00000126: DUP1 00000127: PUSH4 0x3f4ba83a 0000012c: EQ 0000012d: PUSH2 0x01ec 00000130: JUMPI 00000131: DUP1 00000132: PUSH4 0x46fbf68e 00000137: EQ 00000138: PUSH2 0x0203 0000013b: JUMPI 0000013c: DUP1 0000013d: PUSH4 0x56990e65 00000142: EQ 00000143: PUSH2 0x026c 00000146: JUMPI 00000147: JUMPDEST 00000148: PUSH1 0x00 0000014a: DUP1 0000014b: REVERT 0000014c: JUMPDEST 0000014d: CALLVALUE 0000014e: DUP1 0000014f: ISZERO 00000150: PUSH2 0x0158 00000153: JUMPI 00000154: PUSH1 0x00 00000156: DUP1 00000157: REVERT 00000158: JUMPDEST 00000159: POP 0000015a: PUSH2 0x0185 0000015d: PUSH1 0x04 0000015f: DUP1 00000160: CALLDATASIZE 00000161: SUB 00000162: PUSH1 0x20 00000164: DUP2 00000165: LT 00000166: ISZERO 00000167: PUSH2 0x016f 0000016a: JUMPI 0000016b: PUSH1 0x00 0000016d: DUP1 0000016e: REVERT 0000016f: JUMPDEST 00000170: DUP2 00000171: ADD 00000172: SWAP1 00000173: DUP1 00000174: DUP1 00000175: CALLDATALOAD 00000176: SWAP1 00000177: PUSH1 0x20 00000179: ADD 0000017a: SWAP1 0000017b: SWAP3 0000017c: SWAP2 0000017d: SWAP1 0000017e: POP 0000017f: POP 00000180: POP 00000181: PUSH2 0x06d0 00000184: JUMP 00000185: JUMPDEST 00000186: PUSH1 0x40 00000188: MLOAD 00000189: DUP1 0000018a: DUP3 0000018b: DUP2 0000018c: MSTORE 0000018d: PUSH1 0x20 0000018f: ADD 00000190: SWAP2 00000191: POP 00000192: POP 00000193: PUSH1 0x40 00000195: MLOAD 00000196: DUP1 00000197: SWAP2 00000198: SUB 00000199: SWAP1 0000019a: RETURN 0000019b: JUMPDEST 0000019c: CALLVALUE 0000019d: DUP1 0000019e: ISZERO 0000019f: PUSH2 0x01a7 000001a2: JUMPI 000001a3: PUSH1 0x00 000001a5: DUP1 000001a6: REVERT 000001a7: JUMPDEST 000001a8: POP 000001a9: PUSH2 0x01ea 000001ac: PUSH1 0x04 000001ae: DUP1 000001af: CALLDATASIZE 000001b0: SUB 000001b1: PUSH1 0x20 000001b3: DUP2 000001b4: LT 000001b5: ISZERO 000001b6: PUSH2 0x01be 000001b9: JUMPI 000001ba: PUSH1 0x00 000001bc: DUP1 000001bd: REVERT 000001be: JUMPDEST 000001bf: DUP2 000001c0: ADD 000001c1: SWAP1 000001c2: DUP1 000001c3: DUP1 000001c4: CALLDATALOAD 000001c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001da: AND 000001db: SWAP1 000001dc: PUSH1 0x20 000001de: ADD 000001df: SWAP1 000001e0: SWAP3 000001e1: SWAP2 000001e2: SWAP1 000001e3: POP 000001e4: POP 000001e5: POP 000001e6: PUSH2 0x09c4 000001e9: JUMP 000001ea: JUMPDEST 000001eb: STOP 000001ec: JUMPDEST 000001ed: CALLVALUE 000001ee: DUP1 000001ef: ISZERO 000001f0: PUSH2 0x01f8 000001f3: JUMPI 000001f4: PUSH1 0x00 000001f6: DUP1 000001f7: REVERT 000001f8: JUMPDEST 000001f9: POP 000001fa: PUSH2 0x0201 000001fd: PUSH2 0x0a1b 00000200: JUMP 00000201: JUMPDEST 00000202: STOP 00000203: JUMPDEST 00000204: CALLVALUE 00000205: DUP1 00000206: ISZERO 00000207: PUSH2 0x020f 0000020a: JUMPI 0000020b: PUSH1 0x00 0000020d: DUP1 0000020e: REVERT 0000020f: JUMPDEST 00000210: POP 00000211: PUSH2 0x0252 00000214: PUSH1 0x04 00000216: DUP1 00000217: CALLDATASIZE 00000218: SUB 00000219: PUSH1 0x20 0000021b: DUP2 0000021c: LT 0000021d: ISZERO 0000021e: PUSH2 0x0226 00000221: JUMPI 00000222: PUSH1 0x00 00000224: DUP1 00000225: REVERT 00000226: JUMPDEST 00000227: DUP2 00000228: ADD 00000229: SWAP1 0000022a: DUP1 0000022b: DUP1 0000022c: CALLDATALOAD 0000022d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000242: AND 00000243: SWAP1 00000244: PUSH1 0x20 00000246: ADD 00000247: SWAP1 00000248: SWAP3 00000249: SWAP2 0000024a: SWAP1 0000024b: POP 0000024c: POP 0000024d: POP 0000024e: PUSH2 0x0aca 00000251: JUMP 00000252: JUMPDEST 00000253: PUSH1 0x40 00000255: MLOAD 00000256: DUP1 00000257: DUP3 00000258: ISZERO 00000259: ISZERO 0000025a: ISZERO 0000025b: ISZERO 0000025c: DUP2 0000025d: MSTORE 0000025e: PUSH1 0x20 00000260: ADD 00000261: SWAP2 00000262: POP 00000263: POP 00000264: PUSH1 0x40 00000266: MLOAD 00000267: DUP1 00000268: SWAP2 00000269: SUB 0000026a: SWAP1 0000026b: RETURN 0000026c: JUMPDEST 0000026d: CALLVALUE 0000026e: DUP1 0000026f: ISZERO 00000270: PUSH2 0x0278 00000273: JUMPI 00000274: PUSH1 0x00 00000276: DUP1 00000277: REVERT 00000278: JUMPDEST 00000279: POP 0000027a: PUSH2 0x02a5 0000027d: PUSH1 0x04 0000027f: DUP1 00000280: CALLDATASIZE 00000281: SUB 00000282: PUSH1 0x20 00000284: DUP2 00000285: LT 00000286: ISZERO 00000287: PUSH2 0x028f 0000028a: JUMPI 0000028b: PUSH1 0x00 0000028d: DUP1 0000028e: REVERT 0000028f: JUMPDEST 00000290: DUP2 00000291: ADD 00000292: SWAP1 00000293: DUP1 00000294: DUP1 00000295: CALLDATALOAD 00000296: SWAP1 00000297: PUSH1 0x20 00000299: ADD 0000029a: SWAP1 0000029b: SWAP3 0000029c: SWAP2 0000029d: SWAP1 0000029e: POP 0000029f: POP 000002a0: POP 000002a1: PUSH2 0x0ae7 000002a4: JUMP 000002a5: JUMPDEST 000002a6: STOP 000002a7: JUMPDEST 000002a8: CALLVALUE 000002a9: DUP1 000002aa: ISZERO 000002ab: PUSH2 0x02b3 000002ae: JUMPI 000002af: PUSH1 0x00 000002b1: DUP1 000002b2: REVERT 000002b3: JUMPDEST 000002b4: POP 000002b5: PUSH2 0x02bc 000002b8: PUSH2 0x0d0e 000002bb: JUMP 000002bc: JUMPDEST 000002bd: PUSH1 0x40 000002bf: MLOAD 000002c0: DUP1 000002c1: DUP3 000002c2: ISZERO 000002c3: ISZERO 000002c4: ISZERO 000002c5: ISZERO 000002c6: DUP2 000002c7: MSTORE 000002c8: PUSH1 0x20 000002ca: ADD 000002cb: SWAP2 000002cc: POP 000002cd: POP 000002ce: PUSH1 0x40 000002d0: MLOAD 000002d1: DUP1 000002d2: SWAP2 000002d3: SUB 000002d4: SWAP1 000002d5: RETURN 000002d6: JUMPDEST 000002d7: CALLVALUE 000002d8: DUP1 000002d9: ISZERO 000002da: PUSH2 0x02e2 000002dd: JUMPI 000002de: PUSH1 0x00 000002e0: DUP1 000002e1: REVERT 000002e2: JUMPDEST 000002e3: POP 000002e4: PUSH2 0x02eb 000002e7: PUSH2 0x0d25 000002ea: JUMP 000002eb: JUMPDEST 000002ec: STOP 000002ed: JUMPDEST 000002ee: CALLVALUE 000002ef: DUP1 000002f0: ISZERO 000002f1: PUSH2 0x02f9 000002f4: JUMPI 000002f5: PUSH1 0x00 000002f7: DUP1 000002f8: REVERT 000002f9: JUMPDEST 000002fa: POP 000002fb: PUSH2 0x0302 000002fe: PUSH2 0x0d30 00000301: JUMP 00000302: JUMPDEST 00000303: STOP 00000304: JUMPDEST 00000305: CALLVALUE 00000306: DUP1 00000307: ISZERO 00000308: PUSH2 0x0310 0000030b: JUMPI 0000030c: PUSH1 0x00 0000030e: DUP1 0000030f: REVERT 00000310: JUMPDEST 00000311: POP 00000312: PUSH2 0x0319 00000315: PUSH2 0x0e02 00000318: JUMP 00000319: JUMPDEST 0000031a: STOP 0000031b: JUMPDEST 0000031c: CALLVALUE 0000031d: DUP1 0000031e: ISZERO 0000031f: PUSH2 0x0327 00000322: JUMPI 00000323: PUSH1 0x00 00000325: DUP1 00000326: REVERT 00000327: JUMPDEST 00000328: POP 00000329: PUSH2 0x036a 0000032c: PUSH1 0x04 0000032e: DUP1 0000032f: CALLDATASIZE 00000330: SUB 00000331: PUSH1 0x20 00000333: DUP2 00000334: LT 00000335: ISZERO 00000336: PUSH2 0x033e 00000339: JUMPI 0000033a: PUSH1 0x00 0000033c: DUP1 0000033d: REVERT 0000033e: JUMPDEST 0000033f: DUP2 00000340: ADD 00000341: SWAP1 00000342: DUP1 00000343: DUP1 00000344: CALLDATALOAD 00000345: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000035a: AND 0000035b: SWAP1 0000035c: PUSH1 0x20 0000035e: ADD 0000035f: SWAP1 00000360: SWAP3 00000361: SWAP2 00000362: SWAP1 00000363: POP 00000364: POP 00000365: POP 00000366: PUSH2 0x1153 00000369: JUMP 0000036a: JUMPDEST 0000036b: STOP 0000036c: JUMPDEST 0000036d: CALLVALUE 0000036e: DUP1 0000036f: ISZERO 00000370: PUSH2 0x0378 00000373: JUMPI 00000374: PUSH1 0x00 00000376: DUP1 00000377: REVERT 00000378: JUMPDEST 00000379: POP 0000037a: PUSH2 0x03bb 0000037d: PUSH1 0x04 0000037f: DUP1 00000380: CALLDATASIZE 00000381: SUB 00000382: PUSH1 0x20 00000384: DUP2 00000385: LT 00000386: ISZERO 00000387: PUSH2 0x038f 0000038a: JUMPI 0000038b: PUSH1 0x00 0000038d: DUP1 0000038e: REVERT 0000038f: JUMPDEST 00000390: DUP2 00000391: ADD 00000392: SWAP1 00000393: DUP1 00000394: DUP1 00000395: CALLDATALOAD 00000396: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000003ab: AND 000003ac: SWAP1 000003ad: PUSH1 0x20 000003af: ADD 000003b0: SWAP1 000003b1: SWAP3 000003b2: SWAP2 000003b3: SWAP1 000003b4: POP 000003b5: POP 000003b6: POP 000003b7: PUSH2 0x1173 000003ba: JUMP 000003bb: JUMPDEST 000003bc: PUSH1 0x40 000003be: MLOAD 000003bf: DUP1 000003c0: DUP3 000003c1: DUP2 000003c2: MSTORE 000003c3: PUSH1 0x20 000003c5: ADD 000003c6: SWAP2 000003c7: POP 000003c8: POP 000003c9: PUSH1 0x40 000003cb: MLOAD 000003cc: DUP1 000003cd: SWAP2 000003ce: SUB 000003cf: SWAP1 000003d0: RETURN 000003d1: JUMPDEST 000003d2: CALLVALUE 000003d3: DUP1 000003d4: ISZERO 000003d5: PUSH2 0x03dd 000003d8: JUMPI 000003d9: PUSH1 0x00 000003db: DUP1 000003dc: REVERT 000003dd: JUMPDEST 000003de: POP 000003df: PUSH2 0x03e6 000003e2: PUSH2 0x13aa 000003e5: JUMP 000003e6: JUMPDEST 000003e7: STOP 000003e8: JUMPDEST 000003e9: CALLVALUE 000003ea: DUP1 000003eb: ISZERO 000003ec: PUSH2 0x03f4 000003ef: JUMPI 000003f0: PUSH1 0x00 000003f2: DUP1 000003f3: REVERT 000003f4: JUMPDEST 000003f5: POP 000003f6: PUSH2 0x0421 000003f9: PUSH1 0x04 000003fb: DUP1 000003fc: CALLDATASIZE 000003fd: SUB 000003fe: PUSH1 0x20 00000400: DUP2 00000401: LT 00000402: ISZERO 00000403: PUSH2 0x040b 00000406: JUMPI 00000407: PUSH1 0x00 00000409: DUP1 0000040a: REVERT 0000040b: JUMPDEST 0000040c: DUP2 0000040d: ADD 0000040e: SWAP1 0000040f: DUP1 00000410: DUP1 00000411: CALLDATALOAD 00000412: SWAP1 00000413: PUSH1 0x20 00000415: ADD 00000416: SWAP1 00000417: SWAP3 00000418: SWAP2 00000419: SWAP1 0000041a: POP 0000041b: POP 0000041c: POP 0000041d: PUSH2 0x145a 00000420: JUMP 00000421: JUMPDEST 00000422: PUSH1 0x40 00000424: MLOAD 00000425: DUP1 00000426: DUP3 00000427: DUP2 00000428: MSTORE 00000429: PUSH1 0x20 0000042b: ADD 0000042c: SWAP2 0000042d: POP 0000042e: POP 0000042f: PUSH1 0x40 00000431: MLOAD 00000432: DUP1 00000433: SWAP2 00000434: SUB 00000435: SWAP1 00000436: RETURN 00000437: JUMPDEST 00000438: CALLVALUE 00000439: DUP1 0000043a: ISZERO 0000043b: PUSH2 0x0443 0000043e: JUMPI 0000043f: PUSH1 0x00 00000441: DUP1 00000442: REVERT 00000443: JUMPDEST 00000444: POP 00000445: PUSH2 0x044c 00000448: PUSH2 0x1477 0000044b: JUMP 0000044c: JUMPDEST 0000044d: PUSH1 0x40 0000044f: MLOAD 00000450: DUP1 00000451: DUP3 00000452: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000467: AND 00000468: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000047d: AND 0000047e: DUP2 0000047f: MSTORE 00000480: PUSH1 0x20 00000482: ADD 00000483: SWAP2 00000484: POP 00000485: POP 00000486: PUSH1 0x40 00000488: MLOAD 00000489: DUP1 0000048a: SWAP2 0000048b: SUB 0000048c: SWAP1 0000048d: RETURN 0000048e: JUMPDEST 0000048f: CALLVALUE 00000490: DUP1 00000491: ISZERO 00000492: PUSH2 0x049a 00000495: JUMPI 00000496: PUSH1 0x00 00000498: DUP1 00000499: REVERT 0000049a: JUMPDEST 0000049b: POP 0000049c: PUSH2 0x04a3 0000049f: PUSH2 0x14a0 000004a2: JUMP 000004a3: JUMPDEST 000004a4: PUSH1 0x40 000004a6: MLOAD 000004a7: DUP1 000004a8: DUP3 000004a9: ISZERO 000004aa: ISZERO 000004ab: ISZERO 000004ac: ISZERO 000004ad: DUP2 000004ae: MSTORE 000004af: PUSH1 0x20 000004b1: ADD 000004b2: SWAP2 000004b3: POP 000004b4: POP 000004b5: PUSH1 0x40 000004b7: MLOAD 000004b8: DUP1 000004b9: SWAP2 000004ba: SUB 000004bb: SWAP1 000004bc: RETURN 000004bd: JUMPDEST 000004be: CALLVALUE 000004bf: DUP1 000004c0: ISZERO 000004c1: PUSH2 0x04c9 000004c4: JUMPI 000004c5: PUSH1 0x00 000004c7: DUP1 000004c8: REVERT 000004c9: JUMPDEST 000004ca: POP 000004cb: PUSH2 0x050c 000004ce: PUSH1 0x04 000004d0: DUP1 000004d1: CALLDATASIZE 000004d2: SUB 000004d3: PUSH1 0x20 000004d5: DUP2 000004d6: LT 000004d7: ISZERO 000004d8: PUSH2 0x04e0 000004db: JUMPI 000004dc: PUSH1 0x00 000004de: DUP1 000004df: REVERT 000004e0: JUMPDEST 000004e1: DUP2 000004e2: ADD 000004e3: SWAP1 000004e4: DUP1 000004e5: DUP1 000004e6: CALLDATALOAD 000004e7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004fc: AND 000004fd: SWAP1 000004fe: PUSH1 0x20 00000500: ADD 00000501: SWAP1 00000502: SWAP3 00000503: SWAP2 00000504: SWAP1 00000505: POP 00000506: POP 00000507: POP 00000508: PUSH2 0x14f7 0000050b: JUMP 0000050c: JUMPDEST 0000050d: PUSH1 0x40 0000050f: MLOAD 00000510: DUP1 00000511: DUP3 00000512: ISZERO 00000513: ISZERO 00000514: ISZERO 00000515: ISZERO 00000516: DUP2 00000517: MSTORE 00000518: PUSH1 0x20 0000051a: ADD 0000051b: SWAP2 0000051c: POP 0000051d: POP 0000051e: PUSH1 0x40 00000520: MLOAD 00000521: DUP1 00000522: SWAP2 00000523: SUB 00000524: SWAP1 00000525: RETURN 00000526: JUMPDEST 00000527: CALLVALUE 00000528: DUP1 00000529: ISZERO 0000052a: PUSH2 0x0532 0000052d: JUMPI 0000052e: PUSH1 0x00 00000530: DUP1 00000531: REVERT 00000532: JUMPDEST 00000533: POP 00000534: PUSH2 0x0563 00000537: PUSH1 0x04 00000539: DUP1 0000053a: CALLDATASIZE 0000053b: SUB 0000053c: PUSH1 0x20 0000053e: DUP2 0000053f: LT 00000540: ISZERO 00000541: PUSH2 0x0549 00000544: JUMPI 00000545: PUSH1 0x00 00000547: DUP1 00000548: REVERT 00000549: JUMPDEST 0000054a: DUP2 0000054b: ADD 0000054c: SWAP1 0000054d: DUP1 0000054e: DUP1 0000054f: CALLDATALOAD 00000550: PUSH2 0xffff 00000553: AND 00000554: SWAP1 00000555: PUSH1 0x20 00000557: ADD 00000558: SWAP1 00000559: SWAP3 0000055a: SWAP2 0000055b: SWAP1 0000055c: POP 0000055d: POP 0000055e: POP 0000055f: PUSH2 0x154d 00000562: JUMP 00000563: JUMPDEST 00000564: PUSH1 0x40 00000566: MLOAD 00000567: DUP1 00000568: DUP3 00000569: DUP2 0000056a: MSTORE 0000056b: PUSH1 0x20 0000056d: ADD 0000056e: SWAP2 0000056f: POP 00000570: POP 00000571: PUSH1 0x40 00000573: MLOAD 00000574: DUP1 00000575: SWAP2 00000576: SUB 00000577: SWAP1 00000578: RETURN 00000579: JUMPDEST 0000057a: CALLVALUE 0000057b: DUP1 0000057c: ISZERO 0000057d: PUSH2 0x0585 00000580: JUMPI 00000581: PUSH1 0x00 00000583: DUP1 00000584: REVERT 00000585: JUMPDEST 00000586: POP 00000587: PUSH2 0x058e 0000058a: PUSH2 0x1572 0000058d: JUMP 0000058e: JUMPDEST 0000058f: PUSH1 0x40 00000591: MLOAD 00000592: DUP1 00000593: DUP3 00000594: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005a9: AND 000005aa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005bf: AND 000005c0: DUP2 000005c1: MSTORE 000005c2: PUSH1 0x20 000005c4: ADD 000005c5: SWAP2 000005c6: POP 000005c7: POP 000005c8: PUSH1 0x40 000005ca: MLOAD 000005cb: DUP1 000005cc: SWAP2 000005cd: SUB 000005ce: SWAP1 000005cf: RETURN 000005d0: JUMPDEST 000005d1: PUSH2 0x0620 000005d4: PUSH1 0x04 000005d6: DUP1 000005d7: CALLDATASIZE 000005d8: SUB 000005d9: PUSH1 0x40 000005db: DUP2 000005dc: LT 000005dd: ISZERO 000005de: PUSH2 0x05e6 000005e1: JUMPI 000005e2: PUSH1 0x00 000005e4: DUP1 000005e5: REVERT 000005e6: JUMPDEST 000005e7: DUP2 000005e8: ADD 000005e9: SWAP1 000005ea: DUP1 000005eb: DUP1 000005ec: CALLDATALOAD 000005ed: PUSH2 0xffff 000005f0: AND 000005f1: SWAP1 000005f2: PUSH1 0x20 000005f4: ADD 000005f5: SWAP1 000005f6: SWAP3 000005f7: SWAP2 000005f8: SWAP1 000005f9: DUP1 000005fa: CALLDATALOAD 000005fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000610: AND 00000611: SWAP1 00000612: PUSH1 0x20 00000614: ADD 00000615: SWAP1 00000616: SWAP3 00000617: SWAP2 00000618: SWAP1 00000619: POP 0000061a: POP 0000061b: POP 0000061c: PUSH2 0x1598 0000061f: JUMP 00000620: JUMPDEST 00000621: STOP 00000622: JUMPDEST 00000623: CALLVALUE 00000624: DUP1 00000625: ISZERO 00000626: PUSH2 0x062e 00000629: JUMPI 0000062a: PUSH1 0x00 0000062c: DUP1 0000062d: REVERT 0000062e: JUMPDEST 0000062f: POP 00000630: PUSH2 0x0671 00000633: PUSH1 0x04 00000635: DUP1 00000636: CALLDATASIZE 00000637: SUB 00000638: PUSH1 0x20 0000063a: DUP2 0000063b: LT 0000063c: ISZERO 0000063d: PUSH2 0x0645 00000640: JUMPI 00000641: PUSH1 0x00 00000643: DUP1 00000644: REVERT 00000645: JUMPDEST 00000646: DUP2 00000647: ADD 00000648: SWAP1 00000649: DUP1 0000064a: DUP1 0000064b: CALLDATALOAD 0000064c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000661: AND 00000662: SWAP1 00000663: PUSH1 0x20 00000665: ADD 00000666: SWAP1 00000667: SWAP3 00000668: SWAP2 00000669: SWAP1 0000066a: POP 0000066b: POP 0000066c: POP 0000066d: PUSH2 0x17d1 00000670: JUMP 00000671: JUMPDEST 00000672: STOP 00000673: JUMPDEST 00000674: CALLVALUE 00000675: DUP1 00000676: ISZERO 00000677: PUSH2 0x067f 0000067a: JUMPI 0000067b: PUSH1 0x00 0000067d: DUP1 0000067e: REVERT 0000067f: JUMPDEST 00000680: POP 00000681: PUSH2 0x06ce 00000684: PUSH1 0x04 00000686: DUP1 00000687: CALLDATASIZE 00000688: SUB 00000689: PUSH1 0x40 0000068b: DUP2 0000068c: LT 0000068d: ISZERO 0000068e: PUSH2 0x0696 00000691: JUMPI 00000692: PUSH1 0x00 00000694: DUP1 00000695: REVERT 00000696: JUMPDEST 00000697: DUP2 00000698: ADD 00000699: SWAP1 0000069a: DUP1 0000069b: DUP1 0000069c: CALLDATALOAD 0000069d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006b2: AND 000006b3: SWAP1 000006b4: PUSH1 0x20 000006b6: ADD 000006b7: SWAP1 000006b8: SWAP3 000006b9: SWAP2 000006ba: SWAP1 000006bb: DUP1 000006bc: CALLDATALOAD 000006bd: ISZERO 000006be: ISZERO 000006bf: SWAP1 000006c0: PUSH1 0x20 000006c2: ADD 000006c3: SWAP1 000006c4: SWAP3 000006c5: SWAP2 000006c6: SWAP1 000006c7: POP 000006c8: POP 000006c9: POP 000006ca: PUSH2 0x17f0 000006cd: JUMP 000006ce: JUMPDEST 000006cf: STOP 000006d0: JUMPDEST 000006d1: PUSH1 0x00 000006d3: PUSH1 0x04 000006d5: PUSH1 0x00 000006d7: SWAP1 000006d8: SLOAD 000006d9: SWAP1 000006da: PUSH2 0x0100 000006dd: EXP 000006de: SWAP1 000006df: DIV 000006e0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006f5: AND 000006f6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000070b: AND 0000070c: PUSH4 0x9989948f 00000711: DUP4 00000712: PUSH1 0x40 00000714: MLOAD 00000715: DUP3 00000716: PUSH4 0xffffffff 0000071b: AND 0000071c: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 0000073a: MUL 0000073b: DUP2 0000073c: MSTORE 0000073d: PUSH1 0x04 0000073f: ADD 00000740: DUP1 00000741: DUP3 00000742: DUP2 00000743: MSTORE 00000744: PUSH1 0x20 00000746: ADD 00000747: SWAP2 00000748: POP 00000749: POP 0000074a: PUSH1 0x20 0000074c: PUSH1 0x40 0000074e: MLOAD 0000074f: DUP1 00000750: DUP4 00000751: SUB 00000752: DUP2 00000753: DUP7 00000754: DUP1 00000755: EXTCODESIZE 00000756: ISZERO 00000757: DUP1 00000758: ISZERO 00000759: PUSH2 0x0761 0000075c: JUMPI 0000075d: PUSH1 0x00 0000075f: DUP1 00000760: REVERT 00000761: JUMPDEST 00000762: POP 00000763: GAS 00000764: STATICCALL 00000765: ISZERO 00000766: DUP1 00000767: ISZERO 00000768: PUSH2 0x0775 0000076b: JUMPI 0000076c: RETURNDATASIZE 0000076d: PUSH1 0x00 0000076f: DUP1 00000770: RETURNDATACOPY 00000771: RETURNDATASIZE 00000772: PUSH1 0x00 00000774: REVERT 00000775: JUMPDEST 00000776: POP 00000777: POP 00000778: POP 00000779: POP 0000077a: PUSH1 0x40 0000077c: MLOAD 0000077d: RETURNDATASIZE 0000077e: PUSH1 0x20 00000780: DUP2 00000781: LT 00000782: ISZERO 00000783: PUSH2 0x078b 00000786: JUMPI 00000787: PUSH1 0x00 00000789: DUP1 0000078a: REVERT 0000078b: JUMPDEST 0000078c: DUP2 0000078d: ADD 0000078e: SWAP1 0000078f: DUP1 00000790: DUP1 00000791: MLOAD 00000792: SWAP1 00000793: PUSH1 0x20 00000795: ADD 00000796: SWAP1 00000797: SWAP3 00000798: SWAP2 00000799: SWAP1 0000079a: POP 0000079b: POP 0000079c: POP 0000079d: ISZERO 0000079e: ISZERO 0000079f: PUSH2 0x07a7 000007a2: JUMPI 000007a3: PUSH1 0x00 000007a5: DUP1 000007a6: REVERT 000007a7: JUMPDEST 000007a8: PUSH1 0x00 000007aa: PUSH1 0x04 000007ac: PUSH1 0x00 000007ae: SWAP1 000007af: SLOAD 000007b0: SWAP1 000007b1: PUSH2 0x0100 000007b4: EXP 000007b5: SWAP1 000007b6: DIV 000007b7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007cc: AND 000007cd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007e2: AND 000007e3: PUSH4 0x410cb3f8 000007e8: DUP5 000007e9: PUSH1 0x40 000007eb: MLOAD 000007ec: DUP3 000007ed: PUSH4 0xffffffff 000007f2: AND 000007f3: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00000811: MUL 00000812: DUP2 00000813: MSTORE 00000814: PUSH1 0x04 00000816: ADD 00000817: DUP1 00000818: DUP3 00000819: DUP2 0000081a: MSTORE 0000081b: PUSH1 0x20 0000081d: ADD 0000081e: SWAP2 0000081f: POP 00000820: POP 00000821: PUSH1 0x20 00000823: PUSH1 0x40 00000825: MLOAD 00000826: DUP1 00000827: DUP4 00000828: SUB 00000829: DUP2 0000082a: DUP7 0000082b: DUP1 0000082c: EXTCODESIZE 0000082d: ISZERO 0000082e: DUP1 0000082f: ISZERO 00000830: PUSH2 0x0838 00000833: JUMPI 00000834: PUSH1 0x00 00000836: DUP1 00000837: REVERT 00000838: JUMPDEST 00000839: POP 0000083a: GAS 0000083b: STATICCALL 0000083c: ISZERO 0000083d: DUP1 0000083e: ISZERO 0000083f: PUSH2 0x084c 00000842: JUMPI 00000843: RETURNDATASIZE 00000844: PUSH1 0x00 00000846: DUP1 00000847: RETURNDATACOPY 00000848: RETURNDATASIZE 00000849: PUSH1 0x00 0000084b: REVERT 0000084c: JUMPDEST 0000084d: POP 0000084e: POP 0000084f: POP 00000850: POP 00000851: PUSH1 0x40 00000853: MLOAD 00000854: RETURNDATASIZE 00000855: PUSH1 0x20 00000857: DUP2 00000858: LT 00000859: ISZERO 0000085a: PUSH2 0x0862 0000085d: JUMPI 0000085e: PUSH1 0x00 00000860: DUP1 00000861: REVERT 00000862: JUMPDEST 00000863: DUP2 00000864: ADD 00000865: SWAP1 00000866: DUP1 00000867: DUP1 00000868: MLOAD 00000869: SWAP1 0000086a: PUSH1 0x20 0000086c: ADD 0000086d: SWAP1 0000086e: SWAP3 0000086f: SWAP2 00000870: SWAP1 00000871: POP 00000872: POP 00000873: POP 00000874: SWAP1 00000875: POP 00000876: PUSH1 0x00 00000878: DUP1 00000879: PUSH1 0x04 0000087b: PUSH1 0x00 0000087d: SWAP1 0000087e: SLOAD 0000087f: SWAP1 00000880: PUSH2 0x0100 00000883: EXP 00000884: SWAP1 00000885: DIV 00000886: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000089b: AND 0000089c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008b1: AND 000008b2: PUSH4 0x1ee2ec93 000008b7: DUP7 000008b8: PUSH1 0x40 000008ba: MLOAD 000008bb: DUP3 000008bc: PUSH4 0xffffffff 000008c1: AND 000008c2: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 000008e0: MUL 000008e1: DUP2 000008e2: MSTORE 000008e3: PUSH1 0x04 000008e5: ADD 000008e6: DUP1 000008e7: DUP3 000008e8: DUP2 000008e9: MSTORE 000008ea: PUSH1 0x20 000008ec: ADD 000008ed: SWAP2 000008ee: POP 000008ef: POP 000008f0: PUSH1 0x40 000008f2: DUP1 000008f3: MLOAD 000008f4: DUP1 000008f5: DUP4 000008f6: SUB 000008f7: DUP2 000008f8: DUP7 000008f9: DUP1 000008fa: EXTCODESIZE 000008fb: ISZERO 000008fc: DUP1 000008fd: ISZERO 000008fe: PUSH2 0x0906 00000901: JUMPI 00000902: PUSH1 0x00 00000904: DUP1 00000905: REVERT 00000906: JUMPDEST 00000907: POP 00000908: GAS 00000909: STATICCALL 0000090a: ISZERO 0000090b: DUP1 0000090c: ISZERO 0000090d: PUSH2 0x091a 00000910: JUMPI 00000911: RETURNDATASIZE 00000912: PUSH1 0x00 00000914: DUP1 00000915: RETURNDATACOPY 00000916: RETURNDATASIZE 00000917: PUSH1 0x00 00000919: REVERT 0000091a: JUMPDEST 0000091b: POP 0000091c: POP 0000091d: POP 0000091e: POP 0000091f: PUSH1 0x40 00000921: MLOAD 00000922: RETURNDATASIZE 00000923: PUSH1 0x40 00000925: DUP2 00000926: LT 00000927: ISZERO 00000928: PUSH2 0x0930 0000092b: JUMPI 0000092c: PUSH1 0x00 0000092e: DUP1 0000092f: REVERT 00000930: JUMPDEST 00000931: DUP2 00000932: ADD 00000933: SWAP1 00000934: DUP1 00000935: DUP1 00000936: MLOAD 00000937: SWAP1 00000938: PUSH1 0x20 0000093a: ADD 0000093b: SWAP1 0000093c: SWAP3 0000093d: SWAP2 0000093e: SWAP1 0000093f: DUP1 00000940: MLOAD 00000941: SWAP1 00000942: PUSH1 0x20 00000944: ADD 00000945: SWAP1 00000946: SWAP3 00000947: SWAP2 00000948: SWAP1 00000949: POP 0000094a: POP 0000094b: POP 0000094c: SWAP2 0000094d: POP 0000094e: SWAP2 0000094f: POP 00000950: PUSH1 0x00 00000952: PUSH2 0x0991 00000955: DUP3 00000956: PUSH2 0x0983 00000959: DUP6 0000095a: PUSH1 0x05 0000095c: PUSH1 0x00 0000095e: DUP10 0000095f: PUSH2 0xffff 00000962: AND 00000963: PUSH2 0xffff 00000966: AND 00000967: DUP2 00000968: MSTORE 00000969: PUSH1 0x20 0000096b: ADD 0000096c: SWAP1 0000096d: DUP2 0000096e: MSTORE 0000096f: PUSH1 0x20 00000971: ADD 00000972: PUSH1 0x00 00000974: KECCAK256 00000975: SLOAD 00000976: PUSH2 0x18cd 00000979: SWAP1 0000097a: SWAP2 0000097b: SWAP1 0000097c: PUSH4 0xffffffff 00000981: AND 00000982: JUMP 00000983: JUMPDEST 00000984: PUSH2 0x190b 00000987: SWAP1 00000988: SWAP2 00000989: SWAP1 0000098a: PUSH4 0xffffffff 0000098f: AND 00000990: JUMP 00000991: JUMPDEST 00000992: SWAP1 00000993: POP 00000994: PUSH2 0x09b9 00000997: PUSH1 0x06 00000999: PUSH1 0x00 0000099b: DUP9 0000099c: DUP2 0000099d: MSTORE 0000099e: PUSH1 0x20 000009a0: ADD 000009a1: SWAP1 000009a2: DUP2 000009a3: MSTORE 000009a4: PUSH1 0x20 000009a6: ADD 000009a7: PUSH1 0x00 000009a9: KECCAK256 000009aa: SLOAD 000009ab: DUP3 000009ac: PUSH2 0x1935 000009af: SWAP1 000009b0: SWAP2 000009b1: SWAP1 000009b2: PUSH4 0xffffffff 000009b7: AND 000009b8: JUMP 000009b9: JUMPDEST 000009ba: SWAP5 000009bb: POP 000009bc: POP 000009bd: POP 000009be: POP 000009bf: POP 000009c0: SWAP2 000009c1: SWAP1 000009c2: POP 000009c3: JUMP 000009c4: JUMPDEST 000009c5: PUSH2 0x09cc 000009c8: PUSH2 0x14a0 000009cb: JUMP 000009cc: JUMPDEST 000009cd: ISZERO 000009ce: ISZERO 000009cf: PUSH2 0x09d7 000009d2: JUMPI 000009d3: PUSH1 0x00 000009d5: DUP1 000009d6: REVERT 000009d7: JUMPDEST 000009d8: DUP1 000009d9: PUSH1 0x04 000009db: PUSH1 0x00 000009dd: PUSH2 0x0100 000009e0: EXP 000009e1: DUP2 000009e2: SLOAD 000009e3: DUP2 000009e4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009f9: MUL 000009fa: NOT 000009fb: AND 000009fc: SWAP1 000009fd: DUP4 000009fe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a13: AND 00000a14: MUL 00000a15: OR 00000a16: SWAP1 00000a17: SSTORE 00000a18: POP 00000a19: POP 00000a1a: JUMP 00000a1b: JUMPDEST 00000a1c: PUSH2 0x0a24 00000a1f: CALLER 00000a20: PUSH2 0x0aca 00000a23: JUMP 00000a24: JUMPDEST 00000a25: ISZERO 00000a26: ISZERO 00000a27: PUSH2 0x0a2f 00000a2a: JUMPI 00000a2b: PUSH1 0x00 00000a2d: DUP1 00000a2e: REVERT 00000a2f: JUMPDEST 00000a30: PUSH1 0x02 00000a32: PUSH1 0x00 00000a34: SWAP1 00000a35: SLOAD 00000a36: SWAP1 00000a37: PUSH2 0x0100 00000a3a: EXP 00000a3b: SWAP1 00000a3c: DIV 00000a3d: PUSH1 0xff 00000a3f: AND 00000a40: ISZERO 00000a41: ISZERO 00000a42: PUSH2 0x0a4a 00000a45: JUMPI 00000a46: PUSH1 0x00 00000a48: DUP1 00000a49: REVERT 00000a4a: JUMPDEST 00000a4b: PUSH1 0x00 00000a4d: PUSH1 0x02 00000a4f: PUSH1 0x00 00000a51: PUSH2 0x0100 00000a54: EXP 00000a55: DUP2 00000a56: SLOAD 00000a57: DUP2 00000a58: PUSH1 0xff 00000a5a: MUL 00000a5b: NOT 00000a5c: AND 00000a5d: SWAP1 00000a5e: DUP4 00000a5f: ISZERO 00000a60: ISZERO 00000a61: MUL 00000a62: OR 00000a63: SWAP1 00000a64: SSTORE 00000a65: POP 00000a66: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa 00000a87: CALLER 00000a88: PUSH1 0x40 00000a8a: MLOAD 00000a8b: DUP1 00000a8c: DUP3 00000a8d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000aa2: AND 00000aa3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ab8: AND 00000ab9: DUP2 00000aba: MSTORE 00000abb: PUSH1 0x20 00000abd: ADD 00000abe: SWAP2 00000abf: POP 00000ac0: POP 00000ac1: PUSH1 0x40 00000ac3: MLOAD 00000ac4: DUP1 00000ac5: SWAP2 00000ac6: SUB 00000ac7: SWAP1 00000ac8: LOG1 00000ac9: JUMP 00000aca: JUMPDEST 00000acb: PUSH1 0x00 00000acd: PUSH2 0x0ae0 00000ad0: DUP3 00000ad1: PUSH1 0x01 00000ad3: PUSH2 0x1957 00000ad6: SWAP1 00000ad7: SWAP2 00000ad8: SWAP1 00000ad9: PUSH4 0xffffffff 00000ade: AND 00000adf: JUMP 00000ae0: JUMPDEST 00000ae1: SWAP1 00000ae2: POP 00000ae3: SWAP2 00000ae4: SWAP1 00000ae5: POP 00000ae6: JUMP 00000ae7: JUMPDEST 00000ae8: PUSH1 0x02 00000aea: PUSH1 0x00 00000aec: SWAP1 00000aed: SLOAD 00000aee: SWAP1 00000aef: PUSH2 0x0100 00000af2: EXP 00000af3: SWAP1 00000af4: DIV 00000af5: PUSH1 0xff 00000af7: AND 00000af8: ISZERO 00000af9: ISZERO 00000afa: ISZERO 00000afb: PUSH2 0x0b03 00000afe: JUMPI 00000aff: PUSH1 0x00 00000b01: DUP1 00000b02: REVERT 00000b03: JUMPDEST 00000b04: PUSH1 0x01 00000b06: PUSH1 0x03 00000b08: PUSH1 0x00 00000b0a: DUP3 00000b0b: DUP3 00000b0c: SLOAD 00000b0d: ADD 00000b0e: SWAP3 00000b0f: POP 00000b10: POP 00000b11: DUP2 00000b12: SWAP1 00000b13: SSTORE 00000b14: POP 00000b15: PUSH1 0x00 00000b17: PUSH1 0x03 00000b19: SLOAD 00000b1a: SWAP1 00000b1b: POP 00000b1c: CALLER 00000b1d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b32: AND 00000b33: PUSH1 0x04 00000b35: PUSH1 0x00 00000b37: SWAP1 00000b38: SLOAD 00000b39: SWAP1 00000b3a: PUSH2 0x0100 00000b3d: EXP 00000b3e: SWAP1 00000b3f: DIV 00000b40: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b55: AND 00000b56: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b6b: AND 00000b6c: PUSH4 0x6352211e 00000b71: DUP5 00000b72: PUSH1 0x40 00000b74: MLOAD 00000b75: DUP3 00000b76: PUSH4 0xffffffff 00000b7b: AND 00000b7c: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00000b9a: MUL 00000b9b: DUP2 00000b9c: MSTORE 00000b9d: PUSH1 0x04 00000b9f: ADD 00000ba0: DUP1 00000ba1: DUP3 00000ba2: DUP2 00000ba3: MSTORE 00000ba4: PUSH1 0x20 00000ba6: ADD 00000ba7: SWAP2 00000ba8: POP 00000ba9: POP 00000baa: PUSH1 0x20 00000bac: PUSH1 0x40 00000bae: MLOAD 00000baf: DUP1 00000bb0: DUP4 00000bb1: SUB 00000bb2: DUP2 00000bb3: DUP7 00000bb4: DUP1 00000bb5: EXTCODESIZE 00000bb6: ISZERO 00000bb7: DUP1 00000bb8: ISZERO 00000bb9: PUSH2 0x0bc1 00000bbc: JUMPI 00000bbd: PUSH1 0x00 00000bbf: DUP1 00000bc0: REVERT 00000bc1: JUMPDEST 00000bc2: POP 00000bc3: GAS 00000bc4: STATICCALL 00000bc5: ISZERO 00000bc6: DUP1 00000bc7: ISZERO 00000bc8: PUSH2 0x0bd5 00000bcb: JUMPI 00000bcc: RETURNDATASIZE 00000bcd: PUSH1 0x00 00000bcf: DUP1 00000bd0: RETURNDATACOPY 00000bd1: RETURNDATASIZE 00000bd2: PUSH1 0x00 00000bd4: REVERT 00000bd5: JUMPDEST 00000bd6: POP 00000bd7: POP 00000bd8: POP 00000bd9: POP 00000bda: PUSH1 0x40 00000bdc: MLOAD 00000bdd: RETURNDATASIZE 00000bde: PUSH1 0x20 00000be0: DUP2 00000be1: LT 00000be2: ISZERO 00000be3: PUSH2 0x0beb 00000be6: JUMPI 00000be7: PUSH1 0x00 00000be9: DUP1 00000bea: REVERT 00000beb: JUMPDEST 00000bec: DUP2 00000bed: ADD 00000bee: SWAP1 00000bef: DUP1 00000bf0: DUP1 00000bf1: MLOAD 00000bf2: SWAP1 00000bf3: PUSH1 0x20 00000bf5: ADD 00000bf6: SWAP1 00000bf7: SWAP3 00000bf8: SWAP2 00000bf9: SWAP1 00000bfa: POP 00000bfb: POP 00000bfc: POP 00000bfd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c12: AND 00000c13: EQ 00000c14: ISZERO 00000c15: ISZERO 00000c16: PUSH2 0x0c1e 00000c19: JUMPI 00000c1a: PUSH1 0x00 00000c1c: DUP1 00000c1d: REVERT 00000c1e: JUMPDEST 00000c1f: PUSH1 0x00 00000c21: PUSH2 0x0c29 00000c24: DUP4 00000c25: PUSH2 0x06d0 00000c28: JUMP 00000c29: JUMPDEST 00000c2a: SWAP1 00000c2b: POP 00000c2c: PUSH1 0x00 00000c2e: DUP2 00000c2f: GT 00000c30: ISZERO 00000c31: ISZERO 00000c32: PUSH2 0x0c3a 00000c35: JUMPI 00000c36: PUSH1 0x00 00000c38: DUP1 00000c39: REVERT 00000c3a: JUMPDEST 00000c3b: DUP1 00000c3c: PUSH1 0x06 00000c3e: PUSH1 0x00 00000c40: DUP6 00000c41: DUP2 00000c42: MSTORE 00000c43: PUSH1 0x20 00000c45: ADD 00000c46: SWAP1 00000c47: DUP2 00000c48: MSTORE 00000c49: PUSH1 0x20 00000c4b: ADD 00000c4c: PUSH1 0x00 00000c4e: KECCAK256 00000c4f: PUSH1 0x00 00000c51: DUP3 00000c52: DUP3 00000c53: SLOAD 00000c54: ADD 00000c55: SWAP3 00000c56: POP 00000c57: POP 00000c58: DUP2 00000c59: SWAP1 00000c5a: SSTORE 00000c5b: POP 00000c5c: CALLER 00000c5d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c72: AND 00000c73: PUSH2 0x08fc 00000c76: DUP3 00000c77: SWAP1 00000c78: DUP2 00000c79: ISZERO 00000c7a: MUL 00000c7b: SWAP1 00000c7c: PUSH1 0x40 00000c7e: MLOAD 00000c7f: PUSH1 0x00 00000c81: PUSH1 0x40 00000c83: MLOAD 00000c84: DUP1 00000c85: DUP4 00000c86: SUB 00000c87: DUP2 00000c88: DUP6 00000c89: DUP9 00000c8a: DUP9 00000c8b: CALL 00000c8c: SWAP4 00000c8d: POP 00000c8e: POP 00000c8f: POP 00000c90: POP 00000c91: ISZERO 00000c92: DUP1 00000c93: ISZERO 00000c94: PUSH2 0x0ca1 00000c97: JUMPI 00000c98: RETURNDATASIZE 00000c99: PUSH1 0x00 00000c9b: DUP1 00000c9c: RETURNDATACOPY 00000c9d: RETURNDATASIZE 00000c9e: PUSH1 0x00 00000ca0: REVERT 00000ca1: JUMPDEST 00000ca2: POP 00000ca3: CALLER 00000ca4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000cb9: AND 00000cba: DUP4 00000cbb: PUSH32 0xa2af676ed4f1045c96ac2b367997d51c256e9d758a41490190108d260e9634f7 00000cdc: DUP4 00000cdd: TIMESTAMP 00000cde: PUSH1 0x40 00000ce0: MLOAD 00000ce1: DUP1 00000ce2: DUP4 00000ce3: DUP2 00000ce4: MSTORE 00000ce5: PUSH1 0x20 00000ce7: ADD 00000ce8: DUP3 00000ce9: DUP2 00000cea: MSTORE 00000ceb: PUSH1 0x20 00000ced: ADD 00000cee: SWAP3 00000cef: POP 00000cf0: POP 00000cf1: POP 00000cf2: PUSH1 0x40 00000cf4: MLOAD 00000cf5: DUP1 00000cf6: SWAP2 00000cf7: SUB 00000cf8: SWAP1 00000cf9: LOG3 00000cfa: POP 00000cfb: PUSH1 0x03 00000cfd: SLOAD 00000cfe: DUP2 00000cff: EQ 00000d00: ISZERO 00000d01: ISZERO 00000d02: PUSH2 0x0d0a 00000d05: JUMPI 00000d06: PUSH1 0x00 00000d08: DUP1 00000d09: REVERT 00000d0a: JUMPDEST 00000d0b: POP 00000d0c: POP 00000d0d: JUMP 00000d0e: JUMPDEST 00000d0f: PUSH1 0x00 00000d11: PUSH1 0x02 00000d13: PUSH1 0x00 00000d15: SWAP1 00000d16: SLOAD 00000d17: SWAP1 00000d18: PUSH2 0x0100 00000d1b: EXP 00000d1c: SWAP1 00000d1d: DIV 00000d1e: PUSH1 0xff 00000d20: AND 00000d21: SWAP1 00000d22: POP 00000d23: SWAP1 00000d24: JUMP 00000d25: JUMPDEST 00000d26: PUSH2 0x0d2e 00000d29: CALLER 00000d2a: PUSH2 0x19eb 00000d2d: JUMP 00000d2e: JUMPDEST 00000d2f: JUMP 00000d30: JUMPDEST 00000d31: PUSH2 0x0d38 00000d34: PUSH2 0x14a0 00000d37: JUMP 00000d38: JUMPDEST 00000d39: ISZERO 00000d3a: ISZERO 00000d3b: PUSH2 0x0d43 00000d3e: JUMPI 00000d3f: PUSH1 0x00 00000d41: DUP1 00000d42: REVERT 00000d43: JUMPDEST 00000d44: PUSH1 0x00 00000d46: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d5b: AND 00000d5c: PUSH1 0x00 00000d5e: DUP1 00000d5f: SWAP1 00000d60: SLOAD 00000d61: SWAP1 00000d62: PUSH2 0x0100 00000d65: EXP 00000d66: SWAP1 00000d67: DIV 00000d68: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d7d: AND 00000d7e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d93: AND 00000d94: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00000db5: PUSH1 0x40 00000db7: MLOAD 00000db8: PUSH1 0x40 00000dba: MLOAD 00000dbb: DUP1 00000dbc: SWAP2 00000dbd: SUB 00000dbe: SWAP1 00000dbf: LOG3 00000dc0: PUSH1 0x00 00000dc2: DUP1 00000dc3: PUSH1 0x00 00000dc5: PUSH2 0x0100 00000dc8: EXP 00000dc9: DUP2 00000dca: SLOAD 00000dcb: DUP2 00000dcc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000de1: MUL 00000de2: NOT 00000de3: AND 00000de4: SWAP1 00000de5: DUP4 00000de6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000dfb: AND 00000dfc: MUL 00000dfd: OR 00000dfe: SWAP1 00000dff: SSTORE 00000e00: POP 00000e01: JUMP 00000e02: JUMPDEST 00000e03: PUSH1 0x02 00000e05: PUSH1 0x00 00000e07: SWAP1 00000e08: SLOAD 00000e09: SWAP1 00000e0a: PUSH2 0x0100 00000e0d: EXP 00000e0e: SWAP1 00000e0f: DIV 00000e10: PUSH1 0xff 00000e12: AND 00000e13: ISZERO 00000e14: ISZERO 00000e15: ISZERO 00000e16: PUSH2 0x0e1e 00000e19: JUMPI 00000e1a: PUSH1 0x00 00000e1c: DUP1 00000e1d: REVERT 00000e1e: JUMPDEST 00000e1f: PUSH1 0x01 00000e21: PUSH1 0x03 00000e23: PUSH1 0x00 00000e25: DUP3 00000e26: DUP3 00000e27: SLOAD 00000e28: ADD 00000e29: SWAP3 00000e2a: POP 00000e2b: POP 00000e2c: DUP2 00000e2d: SWAP1 00000e2e: SSTORE 00000e2f: POP 00000e30: PUSH1 0x00 00000e32: PUSH1 0x03 00000e34: SLOAD 00000e35: SWAP1 00000e36: POP 00000e37: PUSH1 0x00 00000e39: PUSH2 0x0e41 00000e3c: CALLER 00000e3d: PUSH2 0x1173 00000e40: JUMP 00000e41: JUMPDEST 00000e42: GT 00000e43: ISZERO 00000e44: ISZERO 00000e45: PUSH2 0x0e4d 00000e48: JUMPI 00000e49: PUSH1 0x00 00000e4b: DUP1 00000e4c: REVERT 00000e4d: JUMPDEST 00000e4e: PUSH1 0x00 00000e50: DUP1 00000e51: PUSH1 0x04 00000e53: PUSH1 0x00 00000e55: SWAP1 00000e56: SLOAD 00000e57: SWAP1 00000e58: PUSH2 0x0100 00000e5b: EXP 00000e5c: SWAP1 00000e5d: DIV 00000e5e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e73: AND 00000e74: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e89: AND 00000e8a: PUSH4 0x70a08231 00000e8f: CALLER 00000e90: PUSH1 0x40 00000e92: MLOAD 00000e93: DUP3 00000e94: PUSH4 0xffffffff 00000e99: AND 00000e9a: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00000eb8: MUL 00000eb9: DUP2 00000eba: MSTORE 00000ebb: PUSH1 0x04 00000ebd: ADD 00000ebe: DUP1 00000ebf: DUP3 00000ec0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ed5: AND 00000ed6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000eeb: AND 00000eec: DUP2 00000eed: MSTORE 00000eee: PUSH1 0x20 00000ef0: ADD 00000ef1: SWAP2 00000ef2: POP 00000ef3: POP 00000ef4: PUSH1 0x20 00000ef6: PUSH1 0x40 00000ef8: MLOAD 00000ef9: DUP1 00000efa: DUP4 00000efb: SUB 00000efc: DUP2 00000efd: DUP7 00000efe: DUP1 00000eff: EXTCODESIZE 00000f00: ISZERO 00000f01: DUP1 00000f02: ISZERO 00000f03: PUSH2 0x0f0b 00000f06: JUMPI 00000f07: PUSH1 0x00 00000f09: DUP1 00000f0a: REVERT 00000f0b: JUMPDEST 00000f0c: POP 00000f0d: GAS 00000f0e: STATICCALL 00000f0f: ISZERO 00000f10: DUP1 00000f11: ISZERO 00000f12: PUSH2 0x0f1f 00000f15: JUMPI 00000f16: RETURNDATASIZE 00000f17: PUSH1 0x00 00000f19: DUP1 00000f1a: RETURNDATACOPY 00000f1b: RETURNDATASIZE 00000f1c: PUSH1 0x00 00000f1e: REVERT 00000f1f: JUMPDEST 00000f20: POP 00000f21: POP 00000f22: POP 00000f23: POP 00000f24: PUSH1 0x40 00000f26: MLOAD 00000f27: RETURNDATASIZE 00000f28: PUSH1 0x20 00000f2a: DUP2 00000f2b: LT 00000f2c: ISZERO 00000f2d: PUSH2 0x0f35 00000f30: JUMPI 00000f31: PUSH1 0x00 00000f33: DUP1 00000f34: REVERT 00000f35: JUMPDEST 00000f36: DUP2 00000f37: ADD 00000f38: SWAP1 00000f39: DUP1 00000f3a: DUP1 00000f3b: MLOAD 00000f3c: SWAP1 00000f3d: PUSH1 0x20 00000f3f: ADD 00000f40: SWAP1 00000f41: SWAP3 00000f42: SWAP2 00000f43: SWAP1 00000f44: POP 00000f45: POP 00000f46: POP 00000f47: SWAP1 00000f48: POP 00000f49: PUSH1 0x00 00000f4b: DUP2 00000f4c: SWAP1 00000f4d: POP 00000f4e: JUMPDEST 00000f4f: PUSH1 0x00 00000f51: DUP2 00000f52: GT 00000f53: ISZERO 00000f54: PUSH2 0x10f6 00000f57: JUMPI 00000f58: PUSH1 0x00 00000f5a: PUSH1 0x04 00000f5c: PUSH1 0x00 00000f5e: SWAP1 00000f5f: SLOAD 00000f60: SWAP1 00000f61: PUSH2 0x0100 00000f64: EXP 00000f65: SWAP1 00000f66: DIV 00000f67: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f7c: AND 00000f7d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f92: AND 00000f93: PUSH4 0x2f745c59 00000f98: CALLER 00000f99: PUSH1 0x01 00000f9b: DUP6 00000f9c: SUB 00000f9d: PUSH1 0x40 00000f9f: MLOAD 00000fa0: DUP4 00000fa1: PUSH4 0xffffffff 00000fa6: AND 00000fa7: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00000fc5: MUL 00000fc6: DUP2 00000fc7: MSTORE 00000fc8: PUSH1 0x04 00000fca: ADD 00000fcb: DUP1 00000fcc: DUP4 00000fcd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fe2: AND 00000fe3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ff8: AND 00000ff9: DUP2 00000ffa: MSTORE 00000ffb: PUSH1 0x20 00000ffd: ADD 00000ffe: DUP3 00000fff: DUP2 00001000: MSTORE 00001001: PUSH1 0x20 00001003: ADD 00001004: SWAP3 00001005: POP 00001006: POP 00001007: POP 00001008: PUSH1 0x20 0000100a: PUSH1 0x40 0000100c: MLOAD 0000100d: DUP1 0000100e: DUP4 0000100f: SUB 00001010: DUP2 00001011: DUP7 00001012: DUP1 00001013: EXTCODESIZE 00001014: ISZERO 00001015: DUP1 00001016: ISZERO 00001017: PUSH2 0x101f 0000101a: JUMPI 0000101b: PUSH1 0x00 0000101d: DUP1 0000101e: REVERT 0000101f: JUMPDEST 00001020: POP 00001021: GAS 00001022: STATICCALL 00001023: ISZERO 00001024: DUP1 00001025: ISZERO 00001026: PUSH2 0x1033 00001029: JUMPI 0000102a: RETURNDATASIZE 0000102b: PUSH1 0x00 0000102d: DUP1 0000102e: RETURNDATACOPY 0000102f: RETURNDATASIZE 00001030: PUSH1 0x00 00001032: REVERT 00001033: JUMPDEST 00001034: POP 00001035: POP 00001036: POP 00001037: POP 00001038: PUSH1 0x40 0000103a: MLOAD 0000103b: RETURNDATASIZE 0000103c: PUSH1 0x20 0000103e: DUP2 0000103f: LT 00001040: ISZERO 00001041: PUSH2 0x1049 00001044: JUMPI 00001045: PUSH1 0x00 00001047: DUP1 00001048: REVERT 00001049: JUMPDEST 0000104a: DUP2 0000104b: ADD 0000104c: SWAP1 0000104d: DUP1 0000104e: DUP1 0000104f: MLOAD 00001050: SWAP1 00001051: PUSH1 0x20 00001053: ADD 00001054: SWAP1 00001055: SWAP3 00001056: SWAP2 00001057: SWAP1 00001058: POP 00001059: POP 0000105a: POP 0000105b: SWAP1 0000105c: POP 0000105d: PUSH1 0x00 0000105f: PUSH2 0x1067 00001062: DUP3 00001063: PUSH2 0x06d0 00001066: JUMP 00001067: JUMPDEST 00001068: SWAP1 00001069: POP 0000106a: DUP1 0000106b: DUP6 0000106c: ADD 0000106d: SWAP5 0000106e: POP 0000106f: DUP1 00001070: PUSH1 0x06 00001072: PUSH1 0x00 00001074: DUP5 00001075: DUP2 00001076: MSTORE 00001077: PUSH1 0x20 00001079: ADD 0000107a: SWAP1 0000107b: DUP2 0000107c: MSTORE 0000107d: PUSH1 0x20 0000107f: ADD 00001080: PUSH1 0x00 00001082: KECCAK256 00001083: PUSH1 0x00 00001085: DUP3 00001086: DUP3 00001087: SLOAD 00001088: ADD 00001089: SWAP3 0000108a: POP 0000108b: POP 0000108c: DUP2 0000108d: SWAP1 0000108e: SSTORE 0000108f: POP 00001090: CALLER 00001091: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010a6: AND 000010a7: DUP3 000010a8: PUSH32 0xa2af676ed4f1045c96ac2b367997d51c256e9d758a41490190108d260e9634f7 000010c9: DUP4 000010ca: TIMESTAMP 000010cb: PUSH1 0x40 000010cd: MLOAD 000010ce: DUP1 000010cf: DUP4 000010d0: DUP2 000010d1: MSTORE 000010d2: PUSH1 0x20 000010d4: ADD 000010d5: DUP3 000010d6: DUP2 000010d7: MSTORE 000010d8: PUSH1 0x20 000010da: ADD 000010db: SWAP3 000010dc: POP 000010dd: POP 000010de: POP 000010df: PUSH1 0x40 000010e1: MLOAD 000010e2: DUP1 000010e3: SWAP2 000010e4: SUB 000010e5: SWAP1 000010e6: LOG3 000010e7: POP 000010e8: POP 000010e9: DUP1 000010ea: DUP1 000010eb: PUSH1 0x01 000010ed: SWAP1 000010ee: SUB 000010ef: SWAP2 000010f0: POP 000010f1: POP 000010f2: PUSH2 0x0f4e 000010f5: JUMP 000010f6: JUMPDEST 000010f7: POP 000010f8: CALLER 000010f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000110e: AND 0000110f: PUSH2 0x08fc 00001112: DUP4 00001113: SWAP1 00001114: DUP2 00001115: ISZERO 00001116: MUL 00001117: SWAP1 00001118: PUSH1 0x40 0000111a: MLOAD 0000111b: PUSH1 0x00 0000111d: PUSH1 0x40 0000111f: MLOAD 00001120: DUP1 00001121: DUP4 00001122: SUB 00001123: DUP2 00001124: DUP6 00001125: DUP9 00001126: DUP9 00001127: CALL 00001128: SWAP4 00001129: POP 0000112a: POP 0000112b: POP 0000112c: POP 0000112d: ISZERO 0000112e: DUP1 0000112f: ISZERO 00001130: PUSH2 0x113d 00001133: JUMPI 00001134: RETURNDATASIZE 00001135: PUSH1 0x00 00001137: DUP1 00001138: RETURNDATACOPY 00001139: RETURNDATASIZE 0000113a: PUSH1 0x00 0000113c: REVERT 0000113d: JUMPDEST 0000113e: POP 0000113f: POP 00001140: POP 00001141: PUSH1 0x03 00001143: SLOAD 00001144: DUP2 00001145: EQ 00001146: ISZERO 00001147: ISZERO 00001148: PUSH2 0x1150 0000114b: JUMPI 0000114c: PUSH1 0x00 0000114e: DUP1 0000114f: REVERT 00001150: JUMPDEST 00001151: POP 00001152: JUMP 00001153: JUMPDEST 00001154: PUSH2 0x115c 00001157: CALLER 00001158: PUSH2 0x0aca 0000115b: JUMP 0000115c: JUMPDEST 0000115d: ISZERO 0000115e: ISZERO 0000115f: PUSH2 0x1167 00001162: JUMPI 00001163: PUSH1 0x00 00001165: DUP1 00001166: REVERT 00001167: JUMPDEST 00001168: PUSH2 0x1170 0000116b: DUP2 0000116c: PUSH2 0x1a45 0000116f: JUMP 00001170: JUMPDEST 00001171: POP 00001172: JUMP 00001173: JUMPDEST 00001174: PUSH1 0x00 00001176: DUP1 00001177: PUSH1 0x04 00001179: PUSH1 0x00 0000117b: SWAP1 0000117c: SLOAD 0000117d: SWAP1 0000117e: PUSH2 0x0100 00001181: EXP 00001182: SWAP1 00001183: DIV 00001184: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001199: AND 0000119a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011af: AND 000011b0: PUSH4 0x70a08231 000011b5: DUP5 000011b6: PUSH1 0x40 000011b8: MLOAD 000011b9: DUP3 000011ba: PUSH4 0xffffffff 000011bf: AND 000011c0: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 000011de: MUL 000011df: DUP2 000011e0: MSTORE 000011e1: PUSH1 0x04 000011e3: ADD 000011e4: DUP1 000011e5: DUP3 000011e6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011fb: AND 000011fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001211: AND 00001212: DUP2 00001213: MSTORE 00001214: PUSH1 0x20 00001216: ADD 00001217: SWAP2 00001218: POP 00001219: POP 0000121a: PUSH1 0x20 0000121c: PUSH1 0x40 0000121e: MLOAD 0000121f: DUP1 00001220: DUP4 00001221: SUB 00001222: DUP2 00001223: DUP7 00001224: DUP1 00001225: EXTCODESIZE 00001226: ISZERO 00001227: DUP1 00001228: ISZERO 00001229: PUSH2 0x1231 0000122c: JUMPI 0000122d: PUSH1 0x00 0000122f: DUP1 00001230: REVERT 00001231: JUMPDEST 00001232: POP 00001233: GAS 00001234: STATICCALL 00001235: ISZERO 00001236: DUP1 00001237: ISZERO 00001238: PUSH2 0x1245 0000123b: JUMPI 0000123c: RETURNDATASIZE 0000123d: PUSH1 0x00 0000123f: DUP1 00001240: RETURNDATACOPY 00001241: RETURNDATASIZE 00001242: PUSH1 0x00 00001244: REVERT 00001245: JUMPDEST 00001246: POP 00001247: POP 00001248: POP 00001249: POP 0000124a: PUSH1 0x40 0000124c: MLOAD 0000124d: RETURNDATASIZE 0000124e: PUSH1 0x20 00001250: DUP2 00001251: LT 00001252: ISZERO 00001253: PUSH2 0x125b 00001256: JUMPI 00001257: PUSH1 0x00 00001259: DUP1 0000125a: REVERT 0000125b: JUMPDEST 0000125c: DUP2 0000125d: ADD 0000125e: SWAP1 0000125f: DUP1 00001260: DUP1 00001261: MLOAD 00001262: SWAP1 00001263: PUSH1 0x20 00001265: ADD 00001266: SWAP1 00001267: SWAP3 00001268: SWAP2 00001269: SWAP1 0000126a: POP 0000126b: POP 0000126c: POP 0000126d: SWAP1 0000126e: POP 0000126f: PUSH1 0x00 00001271: DUP1 00001272: DUP3 00001273: SWAP1 00001274: POP 00001275: JUMPDEST 00001276: PUSH1 0x00 00001278: DUP2 00001279: GT 0000127a: ISZERO 0000127b: PUSH2 0x139f 0000127e: JUMPI 0000127f: PUSH1 0x00 00001281: PUSH1 0x04 00001283: PUSH1 0x00 00001285: SWAP1 00001286: SLOAD 00001287: SWAP1 00001288: PUSH2 0x0100 0000128b: EXP 0000128c: SWAP1 0000128d: DIV 0000128e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012a3: AND 000012a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012b9: AND 000012ba: PUSH4 0x2f745c59 000012bf: DUP8 000012c0: PUSH1 0x01 000012c2: DUP6 000012c3: SUB 000012c4: PUSH1 0x40 000012c6: MLOAD 000012c7: DUP4 000012c8: PUSH4 0xffffffff 000012cd: AND 000012ce: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 000012ec: MUL 000012ed: DUP2 000012ee: MSTORE 000012ef: PUSH1 0x04 000012f1: ADD 000012f2: DUP1 000012f3: DUP4 000012f4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001309: AND 0000130a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000131f: AND 00001320: DUP2 00001321: MSTORE 00001322: PUSH1 0x20 00001324: ADD 00001325: DUP3 00001326: DUP2 00001327: MSTORE 00001328: PUSH1 0x20 0000132a: ADD 0000132b: SWAP3 0000132c: POP 0000132d: POP 0000132e: POP 0000132f: PUSH1 0x20 00001331: PUSH1 0x40 00001333: MLOAD 00001334: DUP1 00001335: DUP4 00001336: SUB 00001337: DUP2 00001338: DUP7 00001339: DUP1 0000133a: EXTCODESIZE 0000133b: ISZERO 0000133c: DUP1 0000133d: ISZERO 0000133e: PUSH2 0x1346 00001341: JUMPI 00001342: PUSH1 0x00 00001344: DUP1 00001345: REVERT 00001346: JUMPDEST 00001347: POP 00001348: GAS 00001349: STATICCALL 0000134a: ISZERO 0000134b: DUP1 0000134c: ISZERO 0000134d: PUSH2 0x135a 00001350: JUMPI 00001351: RETURNDATASIZE 00001352: PUSH1 0x00 00001354: DUP1 00001355: RETURNDATACOPY 00001356: RETURNDATASIZE 00001357: PUSH1 0x00 00001359: REVERT 0000135a: JUMPDEST 0000135b: POP 0000135c: POP 0000135d: POP 0000135e: POP 0000135f: PUSH1 0x40 00001361: MLOAD 00001362: RETURNDATASIZE 00001363: PUSH1 0x20 00001365: DUP2 00001366: LT 00001367: ISZERO 00001368: PUSH2 0x1370 0000136b: JUMPI 0000136c: PUSH1 0x00 0000136e: DUP1 0000136f: REVERT 00001370: JUMPDEST 00001371: DUP2 00001372: ADD 00001373: SWAP1 00001374: DUP1 00001375: DUP1 00001376: MLOAD 00001377: SWAP1 00001378: PUSH1 0x20 0000137a: ADD 0000137b: SWAP1 0000137c: SWAP3 0000137d: SWAP2 0000137e: SWAP1 0000137f: POP 00001380: POP 00001381: POP 00001382: SWAP1 00001383: POP 00001384: PUSH2 0x138c 00001387: DUP2 00001388: PUSH2 0x06d0 0000138b: JUMP 0000138c: JUMPDEST 0000138d: DUP4 0000138e: ADD 0000138f: SWAP3 00001390: POP 00001391: POP 00001392: DUP1 00001393: DUP1 00001394: PUSH1 0x01 00001396: SWAP1 00001397: SUB 00001398: SWAP2 00001399: POP 0000139a: POP 0000139b: PUSH2 0x1275 0000139e: JUMP 0000139f: JUMPDEST 000013a0: POP 000013a1: DUP1 000013a2: SWAP3 000013a3: POP 000013a4: POP 000013a5: POP 000013a6: SWAP2 000013a7: SWAP1 000013a8: POP 000013a9: JUMP 000013aa: JUMPDEST 000013ab: PUSH2 0x13b3 000013ae: CALLER 000013af: PUSH2 0x0aca 000013b2: JUMP 000013b3: JUMPDEST 000013b4: ISZERO 000013b5: ISZERO 000013b6: PUSH2 0x13be 000013b9: JUMPI 000013ba: PUSH1 0x00 000013bc: DUP1 000013bd: REVERT 000013be: JUMPDEST 000013bf: PUSH1 0x02 000013c1: PUSH1 0x00 000013c3: SWAP1 000013c4: SLOAD 000013c5: SWAP1 000013c6: PUSH2 0x0100 000013c9: EXP 000013ca: SWAP1 000013cb: DIV 000013cc: PUSH1 0xff 000013ce: AND 000013cf: ISZERO 000013d0: ISZERO 000013d1: ISZERO 000013d2: PUSH2 0x13da 000013d5: JUMPI 000013d6: PUSH1 0x00 000013d8: DUP1 000013d9: REVERT 000013da: JUMPDEST 000013db: PUSH1 0x01 000013dd: PUSH1 0x02 000013df: PUSH1 0x00 000013e1: PUSH2 0x0100 000013e4: EXP 000013e5: DUP2 000013e6: SLOAD 000013e7: DUP2 000013e8: PUSH1 0xff 000013ea: MUL 000013eb: NOT 000013ec: AND 000013ed: SWAP1 000013ee: DUP4 000013ef: ISZERO 000013f0: ISZERO 000013f1: MUL 000013f2: OR 000013f3: SWAP1 000013f4: SSTORE 000013f5: POP 000013f6: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258 00001417: CALLER 00001418: PUSH1 0x40 0000141a: MLOAD 0000141b: DUP1 0000141c: DUP3 0000141d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001432: AND 00001433: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001448: AND 00001449: DUP2 0000144a: MSTORE 0000144b: PUSH1 0x20 0000144d: ADD 0000144e: SWAP2 0000144f: POP 00001450: POP 00001451: PUSH1 0x40 00001453: MLOAD 00001454: DUP1 00001455: SWAP2 00001456: SUB 00001457: SWAP1 00001458: LOG1 00001459: JUMP 0000145a: JUMPDEST 0000145b: PUSH1 0x00 0000145d: PUSH1 0x06 0000145f: PUSH1 0x00 00001461: DUP4 00001462: DUP2 00001463: MSTORE 00001464: PUSH1 0x20 00001466: ADD 00001467: SWAP1 00001468: DUP2 00001469: MSTORE 0000146a: PUSH1 0x20 0000146c: ADD 0000146d: PUSH1 0x00 0000146f: KECCAK256 00001470: SLOAD 00001471: SWAP1 00001472: POP 00001473: SWAP2 00001474: SWAP1 00001475: POP 00001476: JUMP 00001477: JUMPDEST 00001478: PUSH1 0x00 0000147a: DUP1 0000147b: PUSH1 0x00 0000147d: SWAP1 0000147e: SLOAD 0000147f: SWAP1 00001480: PUSH2 0x0100 00001483: EXP 00001484: SWAP1 00001485: DIV 00001486: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000149b: AND 0000149c: SWAP1 0000149d: POP 0000149e: SWAP1 0000149f: JUMP 000014a0: JUMPDEST 000014a1: PUSH1 0x00 000014a3: DUP1 000014a4: PUSH1 0x00 000014a6: SWAP1 000014a7: SLOAD 000014a8: SWAP1 000014a9: PUSH2 0x0100 000014ac: EXP 000014ad: SWAP1 000014ae: DIV 000014af: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014c4: AND 000014c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014da: AND 000014db: CALLER 000014dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014f1: AND 000014f2: EQ 000014f3: SWAP1 000014f4: POP 000014f5: SWAP1 000014f6: JUMP 000014f7: JUMPDEST 000014f8: PUSH1 0x00 000014fa: PUSH1 0x07 000014fc: PUSH1 0x00 000014fe: DUP4 000014ff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001514: AND 00001515: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000152a: AND 0000152b: DUP2 0000152c: MSTORE 0000152d: PUSH1 0x20 0000152f: ADD 00001530: SWAP1 00001531: DUP2 00001532: MSTORE 00001533: PUSH1 0x20 00001535: ADD 00001536: PUSH1 0x00 00001538: KECCAK256 00001539: PUSH1 0x00 0000153b: SWAP1 0000153c: SLOAD 0000153d: SWAP1 0000153e: PUSH2 0x0100 00001541: EXP 00001542: SWAP1 00001543: DIV 00001544: PUSH1 0xff 00001546: AND 00001547: SWAP1 00001548: POP 00001549: SWAP2 0000154a: SWAP1 0000154b: POP 0000154c: JUMP 0000154d: JUMPDEST 0000154e: PUSH1 0x00 00001550: PUSH1 0x05 00001552: PUSH1 0x00 00001554: DUP4 00001555: PUSH2 0xffff 00001558: AND 00001559: PUSH2 0xffff 0000155c: AND 0000155d: DUP2 0000155e: MSTORE 0000155f: PUSH1 0x20 00001561: ADD 00001562: SWAP1 00001563: DUP2 00001564: MSTORE 00001565: PUSH1 0x20 00001567: ADD 00001568: PUSH1 0x00 0000156a: KECCAK256 0000156b: SLOAD 0000156c: SWAP1 0000156d: POP 0000156e: SWAP2 0000156f: SWAP1 00001570: POP 00001571: JUMP 00001572: JUMPDEST 00001573: PUSH1 0x04 00001575: PUSH1 0x00 00001577: SWAP1 00001578: SLOAD 00001579: SWAP1 0000157a: PUSH2 0x0100 0000157d: EXP 0000157e: SWAP1 0000157f: DIV 00001580: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001595: AND 00001596: DUP2 00001597: JUMP 00001598: JUMPDEST 00001599: PUSH1 0x02 0000159b: PUSH1 0x00 0000159d: SWAP1 0000159e: SLOAD 0000159f: SWAP1 000015a0: PUSH2 0x0100 000015a3: EXP 000015a4: SWAP1 000015a5: DIV 000015a6: PUSH1 0xff 000015a8: AND 000015a9: ISZERO 000015aa: ISZERO 000015ab: ISZERO 000015ac: PUSH2 0x15b4 000015af: JUMPI 000015b0: PUSH1 0x00 000015b2: DUP1 000015b3: REVERT 000015b4: JUMPDEST 000015b5: PUSH1 0x01 000015b7: PUSH1 0x03 000015b9: PUSH1 0x00 000015bb: DUP3 000015bc: DUP3 000015bd: SLOAD 000015be: ADD 000015bf: SWAP3 000015c0: POP 000015c1: POP 000015c2: DUP2 000015c3: SWAP1 000015c4: SSTORE 000015c5: POP 000015c6: PUSH1 0x00 000015c8: PUSH1 0x03 000015ca: SLOAD 000015cb: SWAP1 000015cc: POP 000015cd: PUSH1 0x00 000015cf: PUSH1 0x04 000015d1: PUSH1 0x00 000015d3: SWAP1 000015d4: SLOAD 000015d5: SWAP1 000015d6: PUSH2 0x0100 000015d9: EXP 000015da: SWAP1 000015db: DIV 000015dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015f1: AND 000015f2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001607: AND 00001608: PUSH4 0xfbba7b62 0000160d: DUP6 0000160e: PUSH1 0x40 00001610: MLOAD 00001611: DUP3 00001612: PUSH4 0xffffffff 00001617: AND 00001618: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00001636: MUL 00001637: DUP2 00001638: MSTORE 00001639: PUSH1 0x04 0000163b: ADD 0000163c: DUP1 0000163d: DUP3 0000163e: PUSH2 0xffff 00001641: AND 00001642: PUSH2 0xffff 00001645: AND 00001646: DUP2 00001647: MSTORE 00001648: PUSH1 0x20 0000164a: ADD 0000164b: SWAP2 0000164c: POP 0000164d: POP 0000164e: PUSH1 0x20 00001650: PUSH1 0x40 00001652: MLOAD 00001653: DUP1 00001654: DUP4 00001655: SUB 00001656: DUP2 00001657: DUP7 00001658: DUP1 00001659: EXTCODESIZE 0000165a: ISZERO 0000165b: DUP1 0000165c: ISZERO 0000165d: PUSH2 0x1665 00001660: JUMPI 00001661: PUSH1 0x00 00001663: DUP1 00001664: REVERT 00001665: JUMPDEST 00001666: POP 00001667: GAS 00001668: STATICCALL 00001669: ISZERO 0000166a: DUP1 0000166b: ISZERO 0000166c: PUSH2 0x1679 0000166f: JUMPI 00001670: RETURNDATASIZE 00001671: PUSH1 0x00 00001673: DUP1 00001674: RETURNDATACOPY 00001675: RETURNDATASIZE 00001676: PUSH1 0x00 00001678: REVERT 00001679: JUMPDEST 0000167a: POP 0000167b: POP 0000167c: POP 0000167d: POP 0000167e: PUSH1 0x40 00001680: MLOAD 00001681: RETURNDATASIZE 00001682: PUSH1 0x20 00001684: DUP2 00001685: LT 00001686: ISZERO 00001687: PUSH2 0x168f 0000168a: JUMPI 0000168b: PUSH1 0x00 0000168d: DUP1 0000168e: REVERT 0000168f: JUMPDEST 00001690: DUP2 00001691: ADD 00001692: SWAP1 00001693: DUP1 00001694: DUP1 00001695: MLOAD 00001696: SWAP1 00001697: PUSH1 0x20 00001699: ADD 0000169a: SWAP1 0000169b: SWAP3 0000169c: SWAP2 0000169d: SWAP1 0000169e: POP 0000169f: POP 000016a0: POP 000016a1: GT 000016a2: ISZERO 000016a3: ISZERO 000016a4: PUSH2 0x16ac 000016a7: JUMPI 000016a8: PUSH1 0x00 000016aa: DUP1 000016ab: REVERT 000016ac: JUMPDEST 000016ad: PUSH1 0x07 000016af: PUSH1 0x00 000016b1: CALLER 000016b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016c7: AND 000016c8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016dd: AND 000016de: DUP2 000016df: MSTORE 000016e0: PUSH1 0x20 000016e2: ADD 000016e3: SWAP1 000016e4: DUP2 000016e5: MSTORE 000016e6: PUSH1 0x20 000016e8: ADD 000016e9: PUSH1 0x00 000016eb: KECCAK256 000016ec: PUSH1 0x00 000016ee: SWAP1 000016ef: SLOAD 000016f0: SWAP1 000016f1: PUSH2 0x0100 000016f4: EXP 000016f5: SWAP1 000016f6: DIV 000016f7: PUSH1 0xff 000016f9: AND 000016fa: ISZERO 000016fb: ISZERO 000016fc: PUSH2 0x1704 000016ff: JUMPI 00001700: PUSH1 0x00 00001702: DUP1 00001703: REVERT 00001704: JUMPDEST 00001705: CALLVALUE 00001706: PUSH1 0x05 00001708: PUSH1 0x00 0000170a: DUP6 0000170b: PUSH2 0xffff 0000170e: AND 0000170f: PUSH2 0xffff 00001712: AND 00001713: DUP2 00001714: MSTORE 00001715: PUSH1 0x20 00001717: ADD 00001718: SWAP1 00001719: DUP2 0000171a: MSTORE 0000171b: PUSH1 0x20 0000171d: ADD 0000171e: PUSH1 0x00 00001720: KECCAK256 00001721: PUSH1 0x00 00001723: DUP3 00001724: DUP3 00001725: SLOAD 00001726: ADD 00001727: SWAP3 00001728: POP 00001729: POP 0000172a: DUP2 0000172b: SWAP1 0000172c: SSTORE 0000172d: POP 0000172e: DUP2 0000172f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001744: AND 00001745: DUP4 00001746: PUSH2 0xffff 00001749: AND 0000174a: PUSH32 0x47fc953414cd61a5494c179efb796283502f867ea6d50a54853a0281f1b7c3fc 0000176b: CALLER 0000176c: CALLVALUE 0000176d: TIMESTAMP 0000176e: PUSH1 0x40 00001770: MLOAD 00001771: DUP1 00001772: DUP5 00001773: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001788: AND 00001789: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000179e: AND 0000179f: DUP2 000017a0: MSTORE 000017a1: PUSH1 0x20 000017a3: ADD 000017a4: DUP4 000017a5: DUP2 000017a6: MSTORE 000017a7: PUSH1 0x20 000017a9: ADD 000017aa: DUP3 000017ab: DUP2 000017ac: MSTORE 000017ad: PUSH1 0x20 000017af: ADD 000017b0: SWAP4 000017b1: POP 000017b2: POP 000017b3: POP 000017b4: POP 000017b5: PUSH1 0x40 000017b7: MLOAD 000017b8: DUP1 000017b9: SWAP2 000017ba: SUB 000017bb: SWAP1 000017bc: LOG3 000017bd: PUSH1 0x03 000017bf: SLOAD 000017c0: DUP2 000017c1: EQ 000017c2: ISZERO 000017c3: ISZERO 000017c4: PUSH2 0x17cc 000017c7: JUMPI 000017c8: PUSH1 0x00 000017ca: DUP1 000017cb: REVERT 000017cc: JUMPDEST 000017cd: POP 000017ce: POP 000017cf: POP 000017d0: JUMP 000017d1: JUMPDEST 000017d2: PUSH2 0x17d9 000017d5: PUSH2 0x14a0 000017d8: JUMP 000017d9: JUMPDEST 000017da: ISZERO 000017db: ISZERO 000017dc: PUSH2 0x17e4 000017df: JUMPI 000017e0: PUSH1 0x00 000017e2: DUP1 000017e3: REVERT 000017e4: JUMPDEST 000017e5: PUSH2 0x17ed 000017e8: DUP2 000017e9: PUSH2 0x1a9f 000017ec: JUMP 000017ed: JUMPDEST 000017ee: POP 000017ef: JUMP 000017f0: JUMPDEST 000017f1: PUSH2 0x17f8 000017f4: PUSH2 0x14a0 000017f7: JUMP 000017f8: JUMPDEST 000017f9: ISZERO 000017fa: ISZERO 000017fb: PUSH2 0x1803 000017fe: JUMPI 000017ff: PUSH1 0x00 00001801: DUP1 00001802: REVERT 00001803: JUMPDEST 00001804: DUP1 00001805: PUSH1 0x07 00001807: PUSH1 0x00 00001809: DUP5 0000180a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000181f: AND 00001820: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001835: AND 00001836: DUP2 00001837: MSTORE 00001838: PUSH1 0x20 0000183a: ADD 0000183b: SWAP1 0000183c: DUP2 0000183d: MSTORE 0000183e: PUSH1 0x20 00001840: ADD 00001841: PUSH1 0x00 00001843: KECCAK256 00001844: PUSH1 0x00 00001846: PUSH2 0x0100 00001849: EXP 0000184a: DUP2 0000184b: SLOAD 0000184c: DUP2 0000184d: PUSH1 0xff 0000184f: MUL 00001850: NOT 00001851: AND 00001852: SWAP1 00001853: DUP4 00001854: ISZERO 00001855: ISZERO 00001856: MUL 00001857: OR 00001858: SWAP1 00001859: SSTORE 0000185a: POP 0000185b: PUSH32 0x46c9694d3c1e0c41a8202a712e5b1295ec8c263892e58a3866e30e8ee44141e7 0000187c: DUP3 0000187d: DUP3 0000187e: PUSH1 0x40 00001880: MLOAD 00001881: DUP1 00001882: DUP4 00001883: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001898: AND 00001899: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018ae: AND 000018af: DUP2 000018b0: MSTORE 000018b1: PUSH1 0x20 000018b3: ADD 000018b4: DUP3 000018b5: ISZERO 000018b6: ISZERO 000018b7: ISZERO 000018b8: ISZERO 000018b9: DUP2 000018ba: MSTORE 000018bb: PUSH1 0x20 000018bd: ADD 000018be: SWAP3 000018bf: POP 000018c0: POP 000018c1: POP 000018c2: PUSH1 0x40 000018c4: MLOAD 000018c5: DUP1 000018c6: SWAP2 000018c7: SUB 000018c8: SWAP1 000018c9: LOG1 000018ca: POP 000018cb: POP 000018cc: JUMP 000018cd: JUMPDEST 000018ce: PUSH1 0x00 000018d0: DUP1 000018d1: DUP4 000018d2: EQ 000018d3: ISZERO 000018d4: PUSH2 0x18e0 000018d7: JUMPI 000018d8: PUSH1 0x00 000018da: SWAP1 000018db: POP 000018dc: PUSH2 0x1905 000018df: JUMP 000018e0: JUMPDEST 000018e1: PUSH1 0x00 000018e3: DUP3 000018e4: DUP5 000018e5: MUL 000018e6: SWAP1 000018e7: POP 000018e8: DUP3 000018e9: DUP5 000018ea: DUP3 000018eb: DUP2 000018ec: ISZERO 000018ed: ISZERO 000018ee: PUSH2 0x18f3 000018f1: JUMPI 000018f2: INVALID 000018f3: JUMPDEST 000018f4: DIV 000018f5: EQ 000018f6: ISZERO 000018f7: ISZERO 000018f8: PUSH2 0x1900 000018fb: JUMPI 000018fc: PUSH1 0x00 000018fe: DUP1 000018ff: REVERT 00001900: JUMPDEST 00001901: DUP1 00001902: SWAP2 00001903: POP 00001904: POP 00001905: JUMPDEST 00001906: SWAP3 00001907: SWAP2 00001908: POP 00001909: POP 0000190a: JUMP 0000190b: JUMPDEST 0000190c: PUSH1 0x00 0000190e: DUP1 0000190f: DUP3 00001910: GT 00001911: ISZERO 00001912: ISZERO 00001913: PUSH2 0x191b 00001916: JUMPI 00001917: PUSH1 0x00 00001919: DUP1 0000191a: REVERT 0000191b: JUMPDEST 0000191c: PUSH1 0x00 0000191e: DUP3 0000191f: DUP5 00001920: DUP2 00001921: ISZERO 00001922: ISZERO 00001923: PUSH2 0x1928 00001926: JUMPI 00001927: INVALID 00001928: JUMPDEST 00001929: DIV 0000192a: SWAP1 0000192b: POP 0000192c: DUP1 0000192d: SWAP2 0000192e: POP 0000192f: POP 00001930: SWAP3 00001931: SWAP2 00001932: POP 00001933: POP 00001934: JUMP 00001935: JUMPDEST 00001936: PUSH1 0x00 00001938: DUP3 00001939: DUP3 0000193a: GT 0000193b: ISZERO 0000193c: ISZERO 0000193d: ISZERO 0000193e: PUSH2 0x1946 00001941: JUMPI 00001942: PUSH1 0x00 00001944: DUP1 00001945: REVERT 00001946: JUMPDEST 00001947: PUSH1 0x00 00001949: DUP3 0000194a: DUP5 0000194b: SUB 0000194c: SWAP1 0000194d: POP 0000194e: DUP1 0000194f: SWAP2 00001950: POP 00001951: POP 00001952: SWAP3 00001953: SWAP2 00001954: POP 00001955: POP 00001956: JUMP 00001957: JUMPDEST 00001958: PUSH1 0x00 0000195a: DUP1 0000195b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001970: AND 00001971: DUP3 00001972: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001987: AND 00001988: EQ 00001989: ISZERO 0000198a: ISZERO 0000198b: ISZERO 0000198c: PUSH2 0x1994 0000198f: JUMPI 00001990: PUSH1 0x00 00001992: DUP1 00001993: REVERT 00001994: JUMPDEST 00001995: DUP3 00001996: PUSH1 0x00 00001998: ADD 00001999: PUSH1 0x00 0000199b: DUP4 0000199c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000019b1: AND 000019b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000019c7: AND 000019c8: DUP2 000019c9: MSTORE 000019ca: PUSH1 0x20 000019cc: ADD 000019cd: SWAP1 000019ce: DUP2 000019cf: MSTORE 000019d0: PUSH1 0x20 000019d2: ADD 000019d3: PUSH1 0x00 000019d5: KECCAK256 000019d6: PUSH1 0x00 000019d8: SWAP1 000019d9: SLOAD 000019da: SWAP1 000019db: PUSH2 0x0100 000019de: EXP 000019df: SWAP1 000019e0: DIV 000019e1: PUSH1 0xff 000019e3: AND 000019e4: SWAP1 000019e5: POP 000019e6: SWAP3 000019e7: SWAP2 000019e8: POP 000019e9: POP 000019ea: JUMP 000019eb: JUMPDEST 000019ec: PUSH2 0x19ff 000019ef: DUP2 000019f0: PUSH1 0x01 000019f2: PUSH2 0x1b99 000019f5: SWAP1 000019f6: SWAP2 000019f7: SWAP1 000019f8: PUSH4 0xffffffff 000019fd: AND 000019fe: JUMP 000019ff: JUMPDEST 00001a00: DUP1 00001a01: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a16: AND 00001a17: PUSH32 0xcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e 00001a38: PUSH1 0x40 00001a3a: MLOAD 00001a3b: PUSH1 0x40 00001a3d: MLOAD 00001a3e: DUP1 00001a3f: SWAP2 00001a40: SUB 00001a41: SWAP1 00001a42: LOG2 00001a43: POP 00001a44: JUMP 00001a45: JUMPDEST 00001a46: PUSH2 0x1a59 00001a49: DUP2 00001a4a: PUSH1 0x01 00001a4c: PUSH2 0x1c48 00001a4f: SWAP1 00001a50: SWAP2 00001a51: SWAP1 00001a52: PUSH4 0xffffffff 00001a57: AND 00001a58: JUMP 00001a59: JUMPDEST 00001a5a: DUP1 00001a5b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a70: AND 00001a71: PUSH32 0x6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f8 00001a92: PUSH1 0x40 00001a94: MLOAD 00001a95: PUSH1 0x40 00001a97: MLOAD 00001a98: DUP1 00001a99: SWAP2 00001a9a: SUB 00001a9b: SWAP1 00001a9c: LOG2 00001a9d: POP 00001a9e: JUMP 00001a9f: JUMPDEST 00001aa0: PUSH1 0x00 00001aa2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ab7: AND 00001ab8: DUP2 00001ab9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ace: AND 00001acf: EQ 00001ad0: ISZERO 00001ad1: ISZERO 00001ad2: ISZERO 00001ad3: PUSH2 0x1adb 00001ad6: JUMPI 00001ad7: PUSH1 0x00 00001ad9: DUP1 00001ada: REVERT 00001adb: JUMPDEST 00001adc: DUP1 00001add: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001af2: AND 00001af3: PUSH1 0x00 00001af5: DUP1 00001af6: SWAP1 00001af7: SLOAD 00001af8: SWAP1 00001af9: PUSH2 0x0100 00001afc: EXP 00001afd: SWAP1 00001afe: DIV 00001aff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b14: AND 00001b15: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b2a: AND 00001b2b: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00001b4c: PUSH1 0x40 00001b4e: MLOAD 00001b4f: PUSH1 0x40 00001b51: MLOAD 00001b52: DUP1 00001b53: SWAP2 00001b54: SUB 00001b55: SWAP1 00001b56: LOG3 00001b57: DUP1 00001b58: PUSH1 0x00 00001b5a: DUP1 00001b5b: PUSH2 0x0100 00001b5e: EXP 00001b5f: DUP2 00001b60: SLOAD 00001b61: DUP2 00001b62: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b77: MUL 00001b78: NOT 00001b79: AND 00001b7a: SWAP1 00001b7b: DUP4 00001b7c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b91: AND 00001b92: MUL 00001b93: OR 00001b94: SWAP1 00001b95: SSTORE 00001b96: POP 00001b97: POP 00001b98: JUMP 00001b99: JUMPDEST 00001b9a: PUSH1 0x00 00001b9c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001bb1: AND 00001bb2: DUP2 00001bb3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001bc8: AND 00001bc9: EQ 00001bca: ISZERO 00001bcb: ISZERO 00001bcc: ISZERO 00001bcd: PUSH2 0x1bd5 00001bd0: JUMPI 00001bd1: PUSH1 0x00 00001bd3: DUP1 00001bd4: REVERT 00001bd5: JUMPDEST 00001bd6: PUSH2 0x1bdf 00001bd9: DUP3 00001bda: DUP3 00001bdb: PUSH2 0x1957 00001bde: JUMP 00001bdf: JUMPDEST 00001be0: ISZERO 00001be1: ISZERO 00001be2: PUSH2 0x1bea 00001be5: JUMPI 00001be6: PUSH1 0x00 00001be8: DUP1 00001be9: REVERT 00001bea: JUMPDEST 00001beb: PUSH1 0x00 00001bed: DUP3 00001bee: PUSH1 0x00 00001bf0: ADD 00001bf1: PUSH1 0x00 00001bf3: DUP4 00001bf4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c09: AND 00001c0a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c1f: AND 00001c20: DUP2 00001c21: MSTORE 00001c22: PUSH1 0x20 00001c24: ADD 00001c25: SWAP1 00001c26: DUP2 00001c27: MSTORE 00001c28: PUSH1 0x20 00001c2a: ADD 00001c2b: PUSH1 0x00 00001c2d: KECCAK256 00001c2e: PUSH1 0x00 00001c30: PUSH2 0x0100 00001c33: EXP 00001c34: DUP2 00001c35: SLOAD 00001c36: DUP2 00001c37: PUSH1 0xff 00001c39: MUL 00001c3a: NOT 00001c3b: AND 00001c3c: SWAP1 00001c3d: DUP4 00001c3e: ISZERO 00001c3f: ISZERO 00001c40: MUL 00001c41: OR 00001c42: SWAP1 00001c43: SSTORE 00001c44: POP 00001c45: POP 00001c46: POP 00001c47: JUMP 00001c48: JUMPDEST 00001c49: PUSH1 0x00 00001c4b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c60: AND 00001c61: DUP2 00001c62: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c77: AND 00001c78: EQ 00001c79: ISZERO 00001c7a: ISZERO 00001c7b: ISZERO 00001c7c: PUSH2 0x1c84 00001c7f: JUMPI 00001c80: PUSH1 0x00 00001c82: DUP1 00001c83: REVERT 00001c84: JUMPDEST 00001c85: PUSH2 0x1c8e 00001c88: DUP3 00001c89: DUP3 00001c8a: PUSH2 0x1957 00001c8d: JUMP 00001c8e: JUMPDEST 00001c8f: ISZERO 00001c90: ISZERO 00001c91: ISZERO 00001c92: PUSH2 0x1c9a 00001c95: JUMPI 00001c96: PUSH1 0x00 00001c98: DUP1 00001c99: REVERT 00001c9a: JUMPDEST 00001c9b: PUSH1 0x01 00001c9d: DUP3 00001c9e: PUSH1 0x00 00001ca0: ADD 00001ca1: PUSH1 0x00 00001ca3: DUP4 00001ca4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001cb9: AND 00001cba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ccf: AND 00001cd0: DUP2 00001cd1: MSTORE 00001cd2: PUSH1 0x20 00001cd4: ADD 00001cd5: SWAP1 00001cd6: DUP2 00001cd7: MSTORE 00001cd8: PUSH1 0x20 00001cda: ADD 00001cdb: PUSH1 0x00 00001cdd: KECCAK256 00001cde: PUSH1 0x00 00001ce0: PUSH2 0x0100 00001ce3: EXP 00001ce4: DUP2 00001ce5: SLOAD 00001ce6: DUP2 00001ce7: PUSH1 0xff 00001ce9: MUL 00001cea: NOT 00001ceb: AND 00001cec: SWAP1 00001ced: DUP4 00001cee: ISZERO 00001cef: ISZERO 00001cf0: MUL 00001cf1: OR 00001cf2: SWAP1 00001cf3: SSTORE 00001cf4: POP 00001cf5: POP 00001cf6: POP 00001cf7: JUMP 00001cf8: INVALID 00001cf9: LOG1 00001cfa: PUSH6 0x627a7a723058 00001d01: KECCAK256 00001d02: UNKNOWN(0xED) 00001d03: JUMPI 00001d04: DUP14 00001d05: BLOBHASH 00001d06: AND 00001d07: DUP7 00001d08: DUP4 00001d09: UNKNOWN(0x2C) 00001d0a: CALLDATACOPY 00001d0b: UNKNOWN(0xFB) 00001d0c: UNKNOWN(0xAB) 00001d0d: UNKNOWN(0xCB) 00001d0e: KECCAK256 00001d0f: UNKNOWN(0xAC) 00001d10: UNKNOWN(0xB7) 00001d11: GAS 00001d12: UNKNOWN(0xDA) 00001d13: UNKNOWN(0xEF) 00001d14: ORIGIN 00001d15: UNKNOWN(0xD8) 00001d16: RETURNDATASIZE 00001d17: KECCAK256 00001d18: RETURNDATACOPY 00001d19: DUP15 00001d1a: MSTORE8 00001d1b: UNKNOWN(0xC9) 00001d1c: OR 00001d1d: UNKNOWN(0xE3) 00001d1e: UNKNOWN(0xF9) 00001d1f: UNKNOWN(0xF9) 00001d20: UNKNOWN(0xBA) 00001d21: SWAP4 00001d22: STOP 00001d23: UNKNOWN(0x29)
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | auth | detector | Authorization based on tx.origin | 70 | no | — |
viewvalidation_json{
"reason": "missing sink mapping",
"status": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xced7ed2c",
"selector": "0xced7ed2c",
"calldata_variants": [
"0xced7ed2c",
"0xced7ed2c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd239da84",
"selector": "0xd239da84",
"calldata_variants": [
"0xd239da84",
"0xd239da840000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdba8f3f6",
"selector": "0xdba8f3f6",
"calldata_variants": [
"0xdba8f3f6",
"0xdba8f3f60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe274e18e",
"selector": "0xe274e18e",
"calldata_variants": [
"0xe274e18e",
"0xe274e18e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfae36986",
"selector": "0xfae36986",
"calldata_variants": [
"0xfae36986",
"0xfae369860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x843592d3",
"selector": "0x843592d3",
"calldata_variants": [
"0x843592d3",
"0x843592d30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8456cb59",
"selector": "0x8456cb59",
"calldata_variants": [
"0x8456cb59",
"0x8456cb590000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 5339,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 7444,
"type": "tx_origin_used"
}
]
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x301b6ce01f4950fa9b3db1bd9ecf7d6f948b45606ff0cc81fcfbec719e600a77
call_targets:
0x4a627b324189014fa757ed7cc730b180879232d7
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x301b6ce01f4950fa9b3db1bd9ecf7d6f948b45606ff0cc81fcfbec719e600a77",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x4a627b324189014fa757ed7cc730b180879232d7"
],
"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": "0xced7ed2c",
"selector": "0xced7ed2c",
"calldata_variants": [
"0xced7ed2c",
"0xced7ed2c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd239da84",
"selector": "0xd239da84",
"calldata_variants": [
"0xd239da84",
"0xd239da840000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdba8f3f6",
"selector": "0xdba8f3f6",
"calldata_variants": [
"0xdba8f3f6",
"0xdba8f3f60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe274e18e",
"selector": "0xe274e18e",
"calldata_variants": [
"0xe274e18e",
"0xe274e18e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfae36986",
"selector": "0xfae36986",
"calldata_variants": [
"0xfae36986",
"0xfae369860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x843592d3",
"selector": "0x843592d3",
"calldata_variants": [
"0x843592d3",
"0x843592d30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8456cb59",
"selector": "0x8456cb59",
"calldata_variants": [
"0x8456cb59",
"0x8456cb590000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3211,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4391,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 2,
"guards_detected": [
{
"pc": 5339,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 7444,
"type": "tx_origin_used"
}
],
"untrusted_call_count": 2
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x301b6ce01f4950fa9b3db1bd9ecf7d6f948b45606ff0cc81fcfbec719e600a77
call_targets:
0x4a627b324189014fa757ed7cc730b180879232d7
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x301b6ce01f4950fa9b3db1bd9ecf7d6f948b45606ff0cc81fcfbec719e600a77",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x4a627b324189014fa757ed7cc730b180879232d7"
],
"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": "0xced7ed2c",
"selector": "0xced7ed2c",
"calldata_variants": [
"0xced7ed2c",
"0xced7ed2c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd239da84",
"selector": "0xd239da84",
"calldata_variants": [
"0xd239da84",
"0xd239da840000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdba8f3f6",
"selector": "0xdba8f3f6",
"calldata_variants": [
"0xdba8f3f6",
"0xdba8f3f60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe274e18e",
"selector": "0xe274e18e",
"calldata_variants": [
"0xe274e18e",
"0xe274e18e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfae36986",
"selector": "0xfae36986",
"calldata_variants": [
"0xfae36986",
"0xfae369860000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x843592d3",
"selector": "0x843592d3",
"calldata_variants": [
"0x843592d3",
"0x843592d30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8456cb59",
"selector": "0x8456cb59",
"calldata_variants": [
"0x8456cb59",
"0x8456cb590000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3211,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4391,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": [
{
"pc": 5339,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 7444,
"type": "tx_origin_used"
}
]
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 9
}
|