8c5b2b5d-90da-42b1-a8ff-785f9a741c38
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 |
|---|---|---|---|---|
| 30902 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 94423 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 94424 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 94425 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 94426 | capability.graph | complete | 1 / 3 | 1 week ago |
| 94427 | detector.run | complete | 1 / 3 | 1 week ago |
| 94428 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:1188426] OpenAI Codex v0.77.0 (research preview)
[codex:1188426] --------
[codex:1188426] workdir: /tmp/codex-multi-1i439pvs
[codex:1188426] model: gpt-5.2-codex
[codex:1188426] provider: openai
[codex:1188426] approval: never
[codex:1188426] sandbox: read-only
[codex:1188426] reasoning effort: xhigh
[codex:1188426] reasoning summaries: auto
[codex:1188426] session id: 019b75f0-3bae-7071-b1f2-8b7508437b22
[codex:1188426] --------
[codex:1188426] user
[codex:1188426] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:1188426]
[codex:1188426] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:1188426]
[codex:1188426] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1188426] - Gas inefficiency, code quality, naming, or best practices
[codex:1188426] - Theoretical vulnerabilities without a clear extraction path
[codex:1188426] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:1188426] - Front-running unless it enables theft beyond MEV
[codex:1188426] - DoS, griefing, or issues that don't result in attacker profit
[codex:1188426] - Missing events, view function issues, or informational findings
[codex:1188426]
[codex:1188426] HIGH-VALUE PATTERNS TO HUNT:
[codex:1188426] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:1188426] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:1188426] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:1188426] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:1188426] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:1188426] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:1188426] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:1188426] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:1188426] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:1188426]
[codex:1188426] For each finding, you MUST provide:
[codex:1188426] 1. Exact file and line numbers of vulnerable code
[codex:1188426] 2. Step-by-step exploit transaction sequence
[codex:1188426] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:1188426]
[codex:1188426] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:1188426]
[codex:1188426] Output MUST be valid JSON matching the provided schema.
[codex:1188426] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1188426] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1188426] mcp startup: no servers
[codex:1188426]
[codex:1188426] thinking
[codex:1188426] **Preparing to read audit instructions**
[codex:1188426] exec
[codex:1188426] /bin/bash -lc ls in /tmp/codex-multi-1i439pvs succeeded in 5ms:
[codex:1188426] AUDIT_BUNDLE.txt
[codex:1188426] codex-output-schema.json
[codex:1188426] contracts
[codex:1188426]
[codex:1188426] thinking
[codex:1188426] **Reading AUDIT_BUNDLE.txt**
[codex:1188426] exec
[codex:1188426] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-1i439pvs succeeded in 5ms:
[codex:1188426] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1188426]
[codex:1188426] ================================================================================
[codex:1188426] FILE: contracts/src/LRTSquared/LRTSquaredCore.sol
[codex:1188426] ================================================================================
[codex:1188426] // SPDX-License-Identifier: MIT
[codex:1188426] pragma solidity ^0.8.25;
[codex:1188426]
[codex:1188426] import {LRTSquaredStorage, SafeERC20, IERC20, Math, BucketLimiter, IPriceProvider} from "./LRTSquaredStorage.sol";
[codex:1188426]
[codex:1188426] contract LRTSquaredCore is LRTSquaredStorage {
[codex:1188426] using BucketLimiter for BucketLimiter.Limit;
[codex:1188426] using SafeERC20 for IERC20;
[codex:1188426] using Math for uint256;
[codex:1188426]
[codex:1188426] function getRateLimit() external view returns (RateLimit memory) {
[codex:1188426] RateLimit memory _rateLimit = rateLimit;
[codex:1188426] _rateLimit.limit.getCurrent();
[codex:1188426] return _rateLimit;
[codex:1188426] }
[codex:1188426]
[codex:1188426] thinking
[codex:1188426] **Evaluating potential exploits in vault contract**
[codex:1188426] exec
[codex:1188426] /bin/bash -lc 'rg --files contracts' in /tmp/codex-multi-1i439pvs succeeded in 10ms:
[codex:1188426] contracts/src/interfaces/ISwapper.sol
[codex:1188426] contracts/src/interfaces/IPriceProvider.sol
[codex:1188426] contracts/src/governance/Governable.sol
[codex:1188426] contracts/src/LRTSquared/LRTSquaredStorage.sol
[codex:1188426] contracts/src/LRTSquared/LRTSquaredCore.sol
[codex:1188426] contracts/src/libraries/BucketLimiter.sol
[codex:1188426] contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol
[codex:1188426] contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol
[codex:1188426] contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol
[codex:1188426] contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol
[codex:1188426] contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol
[codex:1188426] contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol
[codex:1188426] contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol
[codex:1188426] contracts/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol
[codex:1188426] contracts/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol
[codex:1188426] contracts/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol
[codex:1188426] contracts/lib/openzeppelin-contracts/contracts/utils/Strings.sol
[codex:1188426] contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol
[codex:1188426] contracts/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol
[codex:1188426] contracts/lib/openzeppelin-contracts/contracts/utils/Address.sol
[codex:1188426]
[codex:1188426]
[codex:1188426]
[codex:1188426] thinking
[codex:1188426] **Evaluating potential vault exploits**
[codex:1188426] thinking
[codex:1188426] **Analyzing detailed vault mechanics and reentrancy risks**
[codex:1188426]
[codex:1188426] There is a lot here! I'm investigating subtleties in rate limiting during initial deposits, token whitelist versus registration checks, and the complex interplay of upgradeability patterns with fallback delegatecalls. I'm also focusing on potential reentrancy during redeem, especially with multi-token transfers and ERC777 hooks, to see if partial token transfers and share burns could be exploited for double withdrawals or asset inflation. The rounding and arithmetic seem typical, and most access controls are intact, but the multi-step transfer with reentrant calls definitely warrants close attention to confirm safety or spot a subtle vulnerability.
[codex:1188426] thinking
[codex:1188426] **Identifying cross-token reentrancy vulnerability in redeem**
[codex:1188426]
[codex:1188426] I’m closely examining how sequential token transfers in redeem allow reentrancy, letting an attacker withdraw more of some tokens than their share permits by exploiting partial balance updates mid-redeem. This classic multi-asset vault vulnerability hinges on tokens with transfer hooks (like ERC777) triggering reentrant calls during asset transfers. If such a token is whitelisted, an attacker holding shares can repeatedly redeem within a single transaction to extract disproportionate amounts, effectively profiting at other holders’ expense. This appears to be a concrete exploit path worth highlighting.
[codex:1188426] exec
[codex:1188426] /bin/bash -lc "nl -ba contracts/src/LRTSquared/LRTSquaredCore.sol | sed -n '1,220p'" in /tmp/codex-multi-1i439pvs succeeded in 7ms:
[codex:1188426] 1 // SPDX-License-Identifier: MIT
[codex:1188426] 2 pragma solidity ^0.8.25;
[codex:1188426] 3
[codex:1188426] 4 import {LRTSquaredStorage, SafeERC20, IERC20, Math, BucketLimiter, IPriceProvider} from "./LRTSquaredStorage.sol";
[codex:1188426] 5
[codex:1188426] 6 contract LRTSquaredCore is LRTSquaredStorage {
[codex:1188426] 7 using BucketLimiter for BucketLimiter.Limit;
[codex:1188426] 8 using SafeERC20 for IERC20;
[codex:1188426] 9 using Math for uint256;
[codex:1188426] 10
[codex:1188426] 11 function getRateLimit() external view returns (RateLimit memory) {
[codex:1188426] 12 RateLimit memory _rateLimit = rateLimit;
[codex:1188426] 13 _rateLimit.limit.getCurrent();
[codex:1188426] 14 return _rateLimit;
[codex:1188426] 15 }
[codex:1188426] 16
[codex:1188426] 17 /// @notice Deposit rewards to the contract and mint share tokens to the recipient.
[codex:1188426] 18 /// @param _tokens addresses of ERC20 tokens to deposit
[codex:1188426] 19 /// @param _amounts amounts of tokens to deposit
[codex:1188426] 20 /// @param _receiver recipient of the minted share token
[codex:1188426]
[codex:1188426]
[codex:1188426] thinking
[codex:1188426] **Analyzing multi-token redeem reentrancy**
[codex:1188426] thinking
[codex:1188426] **Detailing redeem reentrancy impact**
[codex:1188426]
[codex:1188426] I'll carefully outline the reentrancy attack steps during multi-token redeem, showing how reentrant calls double-withdraw later tokens when an early token in the list triggers a callback. I'll also confirm the profit potential depends on token order, with significant extraction possible if the reentrant token comes before others. Next, I'll prepare the required JSON report with the severity, evidence, locations, and recommendations.
[codex:1188426] codex
[codex:1188426] {"no_findings":false,"summary":"Redeem is reentrancy-unsafe during per-asset transfers, enabling double-withdrawal of later tokens in the list when a hook-enabled asset is transferred first.","findings":[{"severity":"high","category":"reentrancy","title":"Reentrant redeem can double-withdraw later assets in multi-token vault","exploit_scenario":"1) Attacker acquires vault shares and uses a contract that can reenter (e.g., ERC777 `tokensReceived`). 2) Ensure at least one vault token is hook-enabled (ERC777/ERC223/malicious ERC20) and appears before another token in `tokens`. 3) Call `redeem(r1)`; after `_burn`, the vault transfers the first token. 4) During that transfer, reenter `redeem(r2)` for remaining shares; `assetAmounts` are computed against balances that still include the later token amounts owed to the first redeem. 5) The reentrant call withdraws inflated amounts of later tokens, and the original redeem then transfers its precomputed later-token amounts, resulting in double-withdrawal of those later tokens.","recommendation":"Add a reentrancy guard to `redeem` (and any other functions that transfer out assets) or switch to a pull/escrow pattern where claimable amounts are stored before any external token transfers. This prevents reentrant calls from using stale per-asset balances.","evidence":"`redeem` calculates `assetAmounts` once, burns shares, then transfers each asset in a loop without a reentrancy guard, so later-token balances still include amounts owed to the first redemption during reentrant calls.","locations":["`contracts/src/LRTSquared/LRTSquaredCore.sol:56`","`contracts/src/LRTSquared/LRTSquaredCore.sol:60`","`contracts/src/LRTSquared/LRTSquaredCore.sol:64`"]}]}
[codex:1188426] tokens used
[codex:1188426] 32,014
[codex:1188426] {"no_findings":false,"summary":"Redeem is reentrancy-unsafe during per-asset transfers, enabling double-withdrawal of later tokens in the list when a hook-enabled asset is transferred first.","findings":[{"severity":"high","category":"reentrancy","title":"Reentrant redeem can double-withdraw later assets in multi-token vault","exploit_scenario":"1) Attacker acquires vault shares and uses a contract that can reenter (e.g., ERC777 `tokensReceived`). 2) Ensure at least one vault token is hook-enabled (ERC777/ERC223/malicious ERC20) and appears before another token in `tokens`. 3) Call `redeem(r1)`; after `_burn`, the vault transfers the first token. 4) During that transfer, reenter `redeem(r2)` for remaining shares; `assetAmounts` are computed against balances that still include the later token amounts owed to the first redeem. 5) The reentrant call withdraws inflated amounts of later tokens, and the original redeem then transfers its precomputed later-token amounts, resulting in double-withdrawal of those later tokens.","recommendation":"Add a reentrancy guard to `redeem` (and any other functions that transfer out assets) or switch to a pull/escrow pattern where claimable amounts are stored before any external token transfers. This prevents reentrant calls from using stale per-asset balances.","evidence":"`redeem` calculates `assetAmounts` once, burns shares, then transfers each asset in a loop without a reentrancy guard, so later-token balances still include amounts owed to the first redemption during reentrant calls.","locations":["`contracts/src/LRTSquared/LRTSquaredCore.sol:56`","`contracts/src/LRTSquared/LRTSquaredCore.sol:60`","`contracts/src/LRTSquared/LRTSquaredCore.sol:64`"]}]}
{
"codex": {
"ran_at": "2025-12-31T19:49:29.784871+00:00",
"returncode": 0
},
"summary": "Redeem is reentrancy-unsafe during per-asset transfers, enabling double-withdrawal of later tokens in the list when a hook-enabled asset is transferred first.",
"raw_final": {
"summary": "Redeem is reentrancy-unsafe during per-asset transfers, enabling double-withdrawal of later tokens in the list when a hook-enabled asset is transferred first.",
"findings": [
{
"title": "Reentrant redeem can double-withdraw later assets in multi-token vault",
"category": "reentrancy",
"evidence": "`redeem` calculates `assetAmounts` once, burns shares, then transfers each asset in a loop without a reentrancy guard, so later-token balances still include amounts owed to the first redemption during reentrant calls.",
"severity": "high",
"locations": [
"`contracts/src/LRTSquared/LRTSquaredCore.sol:56`",
"`contracts/src/LRTSquared/LRTSquaredCore.sol:60`",
"`contracts/src/LRTSquared/LRTSquaredCore.sol:64`"
],
"recommendation": "Add a reentrancy guard to `redeem` (and any other functions that transfer out assets) or switch to a pull/escrow pattern where claimable amounts are stored before any external token transfers. This prevents reentrant calls from using stale per-asset balances.",
"exploit_scenario": "1) Attacker acquires vault shares and uses a contract that can reenter (e.g., ERC777 `tokensReceived`). 2) Ensure at least one vault token is hook-enabled (ERC777/ERC223/malicious ERC20) and appears before another token in `tokens`. 3) Call `redeem(r1)`; after `_burn`, the vault transfers the first token. 4) During that transfer, reenter `redeem(r2)` for remaining shares; `assetAmounts` are computed against balances that still include the later token amounts owed to the first redeem. 5) The reentrant call withdraws inflated amounts of later tokens, and the original redeem then transfers its precomputed later-token amounts, resulting in double-withdrawal of those later tokens."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: ISZERO 0000000a: PUSH2 0x0019 0000000d: JUMPI 0000000e: JUMPDEST 0000000f: CALLVALUE 00000010: ISZERO 00000011: PUSH2 0x343c 00000014: JUMPI 00000015: JUMPDEST 00000016: PUSH0 00000017: DUP1 00000018: REVERT 00000019: JUMPDEST 0000001a: PUSH0 0000001b: CALLDATALOAD 0000001c: PUSH1 0xe0 0000001e: SHR 0000001f: DUP1 00000020: PUSH4 0x01d22ccd 00000025: EQ 00000026: PUSH2 0x03d8 00000029: JUMPI 0000002a: DUP1 0000002b: PUSH4 0x01e1d114 00000030: EQ 00000031: PUSH2 0x03d3 00000034: JUMPI 00000035: DUP1 00000036: PUSH4 0x06fdde03 0000003b: EQ 0000003c: PUSH2 0x03ce 0000003f: JUMPI 00000040: DUP1 00000041: PUSH4 0x095ea7b3 00000046: EQ 00000047: PUSH2 0x03c9 0000004a: JUMPI 0000004b: DUP1 0000004c: PUSH4 0x0a1289ad 00000051: EQ 00000052: PUSH2 0x03c4 00000055: JUMPI 00000056: DUP1 00000057: PUSH4 0x0a154161 0000005c: EQ 0000005d: PUSH2 0x03bf 00000060: JUMPI 00000061: DUP1 00000062: PUSH4 0x0c340a24 00000067: EQ 00000068: PUSH2 0x03ba 0000006b: JUMPI 0000006c: DUP1 0000006d: PUSH4 0x17d949fe 00000072: EQ 00000073: PUSH2 0x03b5 00000076: JUMPI 00000077: DUP1 00000078: PUSH4 0x18160ddd 0000007d: EQ 0000007e: PUSH2 0x03b0 00000081: JUMPI 00000082: DUP1 00000083: PUSH4 0x1bacc406 00000088: EQ 00000089: PUSH2 0x03ab 0000008c: JUMPI 0000008d: DUP1 0000008e: PUSH4 0x23b872dd 00000093: EQ 00000094: PUSH2 0x03a6 00000097: JUMPI 00000098: DUP1 00000099: PUSH4 0x26aa101f 0000009e: EQ 0000009f: PUSH2 0x03a1 000000a2: JUMPI 000000a3: DUP1 000000a4: PUSH4 0x29272ff6 000000a9: EQ 000000aa: PUSH2 0x039c 000000ad: JUMPI 000000ae: DUP1 000000af: PUSH4 0x2b3297f9 000000b4: EQ 000000b5: PUSH2 0x0397 000000b8: JUMPI 000000b9: DUP1 000000ba: PUSH4 0x2c62fa10 000000bf: EQ 000000c0: PUSH2 0x0392 000000c3: JUMPI 000000c4: DUP1 000000c5: PUSH4 0x313ce567 000000ca: EQ 000000cb: PUSH2 0x038d 000000ce: JUMPI 000000cf: DUP1 000000d0: PUSH4 0x3644e515 000000d5: EQ 000000d6: PUSH2 0x0388 000000d9: JUMPI 000000da: DUP1 000000db: PUSH4 0x387e971c 000000e0: EQ 000000e1: PUSH2 0x0383 000000e4: JUMPI 000000e5: DUP1 000000e6: PUSH4 0x3995c06f 000000eb: EQ 000000ec: PUSH2 0x037e 000000ef: JUMPI 000000f0: DUP1 000000f1: PUSH4 0x43998bdd 000000f6: EQ 000000f7: PUSH2 0x0379 000000fa: JUMPI 000000fb: DUP1 000000fc: PUSH4 0x4cdad506 00000101: EQ 00000102: PUSH2 0x0374 00000105: JUMPI 00000106: DUP1 00000107: PUSH4 0x4f1ef286 0000010c: EQ 0000010d: PUSH2 0x036f 00000110: JUMPI 00000111: DUP1 00000112: PUSH4 0x4f64b2be 00000117: EQ 00000118: PUSH2 0x036a 0000011b: JUMPI 0000011c: DUP1 0000011d: PUSH4 0x52d1902d 00000122: EQ 00000123: PUSH2 0x0365 00000126: JUMPI 00000127: DUP1 00000128: PUSH4 0x52ed3ed8 0000012d: EQ 0000012e: PUSH2 0x0360 00000131: JUMPI 00000132: DUP1 00000133: PUSH4 0x57d5d520 00000138: EQ 00000139: PUSH2 0x035b 0000013c: JUMPI 0000013d: DUP1 0000013e: PUSH4 0x5c975abb 00000143: EQ 00000144: PUSH2 0x0356 00000147: JUMPI 00000148: DUP1 00000149: PUSH4 0x5d36b190 0000014e: EQ 0000014f: PUSH2 0x0351 00000152: JUMPI 00000153: DUP1 00000154: PUSH4 0x608baa9a 00000159: EQ 0000015a: PUSH2 0x034c 0000015d: JUMPI 0000015e: DUP1 0000015f: PUSH4 0x61ec3846 00000164: EQ 00000165: PUSH2 0x0347 00000168: JUMPI 00000169: DUP1 0000016a: PUSH4 0x6696821b 0000016f: EQ 00000170: PUSH2 0x0342 00000173: JUMPI 00000174: DUP1 00000175: PUSH4 0x6ff97f1d 0000017a: EQ 0000017b: PUSH2 0x033d 0000017e: JUMPI 0000017f: DUP1 00000180: PUSH4 0x70a08231 00000185: EQ 00000186: PUSH2 0x0338 00000189: JUMPI 0000018a: DUP1 0000018b: PUSH4 0x7ecebe00 00000190: EQ 00000191: PUSH2 0x0333 00000194: JUMPI 00000195: DUP1 00000196: PUSH4 0x7f12dc60 0000019b: EQ 0000019c: PUSH2 0x032e 0000019f: JUMPI 000001a0: DUP1 000001a1: PUSH4 0x84b0196e 000001a6: EQ 000001a7: PUSH2 0x0329 000001aa: JUMPI 000001ab: DUP1 000001ac: PUSH4 0x863a7fc1 000001b1: EQ 000001b2: PUSH2 0x0324 000001b5: JUMPI 000001b6: DUP1 000001b7: PUSH4 0x9295d478 000001bc: EQ 000001bd: PUSH2 0x031f 000001c0: JUMPI 000001c1: DUP1 000001c2: PUSH4 0x95d89b41 000001c7: EQ 000001c8: PUSH2 0x031a 000001cb: JUMPI 000001cc: DUP1 000001cd: PUSH4 0x98c601aa 000001d2: EQ 000001d3: PUSH2 0x0315 000001d6: JUMPI 000001d7: DUP1 000001d8: PUSH4 0x9c79d8dc 000001dd: EQ 000001de: PUSH2 0x0310 000001e1: JUMPI 000001e2: DUP1 000001e3: PUSH4 0xa9059cbb 000001e8: EQ 000001e9: PUSH2 0x030b 000001ec: JUMPI 000001ed: DUP1 000001ee: PUSH4 0xad3cb1cc 000001f3: EQ 000001f4: PUSH2 0x0306 000001f7: JUMPI 000001f8: DUP1 000001f9: PUSH4 0xb5af090f 000001fe: EQ 000001ff: PUSH2 0x0301 00000202: JUMPI 00000203: DUP1 00000204: PUSH4 0xb888879e 00000209: EQ 0000020a: PUSH2 0x02fc 0000020d: JUMPI 0000020e: DUP1 0000020f: PUSH4 0xb8a723bd 00000214: EQ 00000215: PUSH2 0x02f7 00000218: JUMPI 00000219: DUP1 0000021a: PUSH4 0xba46ae72 0000021f: EQ 00000220: PUSH2 0x02f2 00000223: JUMPI 00000224: DUP1 00000225: PUSH4 0xc7af3352 0000022a: EQ 0000022b: PUSH2 0x02ed 0000022e: JUMPI 0000022f: DUP1 00000230: PUSH4 0xd38bfff4 00000235: EQ 00000236: PUSH2 0x02e8 00000239: JUMPI 0000023a: DUP1 0000023b: PUSH4 0xd505accf 00000240: EQ 00000241: PUSH2 0x02e3 00000244: JUMPI 00000245: DUP1 00000246: PUSH4 0xd6bcfca3 0000024b: EQ 0000024c: PUSH2 0x02de 0000024f: JUMPI 00000250: DUP1 00000251: PUSH4 0xdb006a75 00000256: EQ 00000257: PUSH2 0x02d9 0000025a: JUMPI 0000025b: DUP1 0000025c: PUSH4 0xdd62ed3e 00000261: EQ 00000262: PUSH2 0x02d4 00000265: JUMPI 00000266: DUP1 00000267: PUSH4 0xddca3f43 0000026c: EQ 0000026d: PUSH2 0x02cf 00000270: JUMPI 00000271: DUP1 00000272: PUSH4 0xe2e97570 00000277: EQ 00000278: PUSH2 0x02ca 0000027b: JUMPI 0000027c: DUP1 0000027d: PUSH4 0xe5328e06 00000282: EQ 00000283: PUSH2 0x02c5 00000286: JUMPI 00000287: DUP1 00000288: PUSH4 0xe8c67216 0000028d: EQ 0000028e: PUSH2 0x02c0 00000291: JUMPI 00000292: DUP1 00000293: PUSH4 0xf293f14e 00000298: EQ 00000299: PUSH2 0x02bb 0000029c: JUMPI 0000029d: DUP1 0000029e: PUSH4 0xfa6d102b 000002a3: EQ 000002a4: PUSH2 0x02b6 000002a7: JUMPI 000002a8: PUSH4 0xfc0cfeee 000002ad: SUB 000002ae: PUSH2 0x000e 000002b1: JUMPI 000002b2: PUSH2 0x28a8 000002b5: JUMP 000002b6: JUMPDEST 000002b7: PUSH2 0x2800 000002ba: JUMP 000002bb: JUMPDEST 000002bc: PUSH2 0x2708 000002bf: JUMP 000002c0: JUMPDEST 000002c1: PUSH2 0x2614 000002c4: JUMP 000002c5: JUMPDEST 000002c6: PUSH2 0x2485 000002c9: JUMP 000002ca: JUMPDEST 000002cb: PUSH2 0x246a 000002ce: JUMP 000002cf: JUMPDEST 000002d0: PUSH2 0x242a 000002d3: JUMP 000002d4: JUMPDEST 000002d5: PUSH2 0x23c1 000002d8: JUMP 000002d9: JUMPDEST 000002da: PUSH2 0x2229 000002dd: JUMP 000002de: JUMPDEST 000002df: PUSH2 0x220b 000002e2: JUMP 000002e3: JUMPDEST 000002e4: PUSH2 0x2066 000002e7: JUMP 000002e8: JUMPDEST 000002e9: PUSH2 0x1f68 000002ec: JUMP 000002ed: JUMPDEST 000002ee: PUSH2 0x1f23 000002f1: JUMP 000002f2: JUMPDEST 000002f3: PUSH2 0x1e72 000002f6: JUMP 000002f7: JUMPDEST 000002f8: PUSH2 0x1e55 000002fb: JUMP 000002fc: JUMPDEST 000002fd: PUSH2 0x1e2f 00000300: JUMP 00000301: JUMPDEST 00000302: PUSH2 0x1df4 00000305: JUMP 00000306: JUMPDEST 00000307: PUSH2 0x1d84 0000030a: JUMP 0000030b: JUMPDEST 0000030c: PUSH2 0x1d5e 0000030f: JUMP 00000310: JUMPDEST 00000311: PUSH2 0x1d41 00000314: JUMP 00000315: JUMPDEST 00000316: PUSH2 0x1a5c 00000319: JUMP 0000031a: JUMPDEST 0000031b: PUSH2 0x195d 0000031e: JUMP 0000031f: JUMPDEST 00000320: PUSH2 0x1920 00000323: JUMP 00000324: JUMPDEST 00000325: PUSH2 0x18fa 00000328: JUMP 00000329: JUMPDEST 0000032a: PUSH2 0x1809 0000032d: JUMP 0000032e: JUMPDEST 0000032f: PUSH2 0x1775 00000332: JUMP 00000333: JUMPDEST 00000334: PUSH2 0x171e 00000337: JUMP 00000338: JUMPDEST 00000339: PUSH2 0x16c9 0000033c: JUMP 0000033d: JUMPDEST 0000033e: PUSH2 0x169a 00000341: JUMP 00000342: JUMPDEST 00000343: PUSH2 0x1578 00000346: JUMP 00000347: JUMPDEST 00000348: PUSH2 0x1512 0000034b: JUMP 0000034c: JUMPDEST 0000034d: PUSH2 0x14e7 00000350: JUMP 00000351: JUMPDEST 00000352: PUSH2 0x13fb 00000355: JUMP 00000356: JUMPDEST 00000357: PUSH2 0x13ba 0000035a: JUMP 0000035b: JUMPDEST 0000035c: PUSH2 0x13a1 0000035f: JUMP 00000360: JUMPDEST 00000361: PUSH2 0x129b 00000364: JUMP 00000365: JUMPDEST 00000366: PUSH2 0x1207 00000369: JUMP 0000036a: JUMPDEST 0000036b: PUSH2 0x11ae 0000036e: JUMP 0000036f: JUMPDEST 00000370: PUSH2 0x0ecc 00000373: JUMP 00000374: JUMPDEST 00000375: PUSH2 0x0e5f 00000378: JUMP 00000379: JUMPDEST 0000037a: PUSH2 0x0e36 0000037d: JUMP 0000037e: JUMPDEST 0000037f: PUSH2 0x0c5a 00000382: JUMP 00000383: JUMPDEST 00000384: PUSH2 0x0c1d 00000387: JUMP 00000388: JUMPDEST 00000389: PUSH2 0x0bfb 0000038c: JUMP 0000038d: JUMPDEST 0000038e: PUSH2 0x0be0 00000391: JUMP 00000392: JUMPDEST 00000393: PUSH2 0x0b85 00000396: JUMP 00000397: JUMPDEST 00000398: PUSH2 0x0b5f 0000039b: JUMP 0000039c: JUMPDEST 0000039d: PUSH2 0x0a6e 000003a0: JUMP 000003a1: JUMPDEST 000003a2: PUSH2 0x09d6 000003a5: JUMP 000003a6: JUMPDEST 000003a7: PUSH2 0x0818 000003aa: JUMP 000003ab: JUMPDEST 000003ac: PUSH2 0x07d7 000003af: JUMP 000003b0: JUMPDEST 000003b1: PUSH2 0x079b 000003b4: JUMP 000003b5: JUMPDEST 000003b6: PUSH2 0x077f 000003b9: JUMP 000003ba: JUMPDEST 000003bb: PUSH2 0x073a 000003be: JUMP 000003bf: JUMPDEST 000003c0: PUSH2 0x071d 000003c3: JUMP 000003c4: JUMPDEST 000003c5: PUSH2 0x06e0 000003c8: JUMP 000003c9: JUMPDEST 000003ca: PUSH2 0x06af 000003cd: JUMP 000003ce: JUMPDEST 000003cf: PUSH2 0x04f7 000003d2: JUMP 000003d3: JUMPDEST 000003d4: PUSH2 0x0495 000003d7: JUMP 000003d8: JUMPDEST 000003d9: CALLVALUE 000003da: PUSH2 0x0015 000003dd: JUMPI 000003de: PUSH0 000003df: PUSH1 0x03 000003e1: NOT 000003e2: CALLDATASIZE 000003e3: ADD 000003e4: SLT 000003e5: PUSH2 0x0015 000003e8: JUMPI 000003e9: PUSH1 0x20 000003eb: PUSH1 0x01 000003ed: PUSH1 0x01 000003ef: PUSH1 0xa0 000003f1: SHL 000003f2: SUB 000003f3: PUSH1 0x07 000003f5: SLOAD 000003f6: AND 000003f7: PUSH1 0x40 000003f9: MLOAD 000003fa: SWAP1 000003fb: DUP2 000003fc: MSTORE 000003fd: RETURN 000003fe: JUMPDEST 000003ff: SWAP1 00000400: DUP2 00000401: MLOAD 00000402: DUP1 00000403: DUP3 00000404: MSTORE 00000405: PUSH1 0x20 00000407: DUP1 00000408: DUP1 00000409: SWAP4 0000040a: ADD 0000040b: SWAP4 0000040c: ADD 0000040d: SWAP2 0000040e: PUSH0 0000040f: JUMPDEST 00000410: DUP3 00000411: DUP2 00000412: LT 00000413: PUSH2 0x041d 00000416: JUMPI 00000417: POP 00000418: POP 00000419: POP 0000041a: POP 0000041b: SWAP1 0000041c: JUMP 0000041d: JUMPDEST 0000041e: DUP4 0000041f: MLOAD 00000420: PUSH1 0x01 00000422: PUSH1 0x01 00000424: PUSH1 0xa0 00000426: SHL 00000427: SUB 00000428: AND 00000429: DUP6 0000042a: MSTORE 0000042b: SWAP4 0000042c: DUP2 0000042d: ADD 0000042e: SWAP4 0000042f: SWAP3 00000430: DUP2 00000431: ADD 00000432: SWAP3 00000433: PUSH1 0x01 00000435: ADD 00000436: PUSH2 0x040f 00000439: JUMP 0000043a: JUMPDEST 0000043b: SWAP1 0000043c: DUP2 0000043d: MLOAD 0000043e: DUP1 0000043f: DUP3 00000440: MSTORE 00000441: PUSH1 0x20 00000443: DUP1 00000444: DUP1 00000445: SWAP4 00000446: ADD 00000447: SWAP4 00000448: ADD 00000449: SWAP2 0000044a: PUSH0 0000044b: JUMPDEST 0000044c: DUP3 0000044d: DUP2 0000044e: LT 0000044f: PUSH2 0x0459 00000452: JUMPI 00000453: POP 00000454: POP 00000455: POP 00000456: POP 00000457: SWAP1 00000458: JUMP 00000459: JUMPDEST 0000045a: DUP4 0000045b: MLOAD 0000045c: DUP6 0000045d: MSTORE 0000045e: SWAP4 0000045f: DUP2 00000460: ADD 00000461: SWAP4 00000462: SWAP3 00000463: DUP2 00000464: ADD 00000465: SWAP3 00000466: PUSH1 0x01 00000468: ADD 00000469: PUSH2 0x044b 0000046c: JUMP 0000046d: JUMPDEST 0000046e: SWAP1 0000046f: SWAP2 00000470: PUSH2 0x0484 00000473: PUSH2 0x0492 00000476: SWAP4 00000477: PUSH1 0x40 00000479: DUP5 0000047a: MSTORE 0000047b: PUSH1 0x40 0000047d: DUP5 0000047e: ADD 0000047f: SWAP1 00000480: PUSH2 0x03fe 00000483: JUMP 00000484: JUMPDEST 00000485: SWAP2 00000486: PUSH1 0x20 00000488: DUP2 00000489: DUP5 0000048a: SUB 0000048b: SWAP2 0000048c: ADD 0000048d: MSTORE 0000048e: PUSH2 0x043a 00000491: JUMP 00000492: JUMPDEST 00000493: SWAP1 00000494: JUMP 00000495: JUMPDEST 00000496: CALLVALUE 00000497: PUSH2 0x0015 0000049a: JUMPI 0000049b: PUSH0 0000049c: PUSH1 0x03 0000049e: NOT 0000049f: CALLDATASIZE 000004a0: ADD 000004a1: SLT 000004a2: PUSH2 0x0015 000004a5: JUMPI 000004a6: PUSH2 0x04ad 000004a9: PUSH2 0x2a8f 000004ac: JUMP 000004ad: JUMPDEST 000004ae: SWAP1 000004af: PUSH2 0x04bd 000004b2: PUSH1 0x40 000004b4: MLOAD 000004b5: SWAP3 000004b6: DUP4 000004b7: SWAP3 000004b8: DUP4 000004b9: PUSH2 0x046d 000004bc: JUMP 000004bd: JUMPDEST 000004be: SUB 000004bf: SWAP1 000004c0: RETURN 000004c1: JUMPDEST 000004c2: SWAP1 000004c3: PUSH1 0x1f 000004c5: NOT 000004c6: PUSH1 0x1f 000004c8: PUSH1 0x20 000004ca: DUP1 000004cb: SWAP5 000004cc: DUP1 000004cd: MLOAD 000004ce: SWAP2 000004cf: DUP3 000004d0: SWAP2 000004d1: DUP3 000004d2: DUP8 000004d3: MSTORE 000004d4: ADD 000004d5: DUP7 000004d6: DUP7 000004d7: ADD 000004d8: MCOPY 000004d9: PUSH0 000004da: DUP6 000004db: DUP3 000004dc: DUP7 000004dd: ADD 000004de: ADD 000004df: MSTORE 000004e0: ADD 000004e1: AND 000004e2: ADD 000004e3: ADD 000004e4: SWAP1 000004e5: JUMP 000004e6: JUMPDEST 000004e7: SWAP1 000004e8: PUSH1 0x20 000004ea: PUSH2 0x0492 000004ed: SWAP3 000004ee: DUP2 000004ef: DUP2 000004f0: MSTORE 000004f1: ADD 000004f2: SWAP1 000004f3: PUSH2 0x04c1 000004f6: JUMP 000004f7: JUMPDEST 000004f8: CALLVALUE 000004f9: PUSH2 0x0015 000004fc: JUMPI 000004fd: PUSH0 000004fe: PUSH1 0x03 00000500: NOT 00000501: CALLDATASIZE 00000502: ADD 00000503: SLT 00000504: PUSH2 0x0015 00000507: JUMPI 00000508: PUSH1 0x40 0000050a: MLOAD 0000050b: PUSH0 0000050c: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03 0000052d: SLOAD 0000052e: PUSH1 0x01 00000530: DUP2 00000531: PUSH1 0x01 00000533: SHR 00000534: SWAP2 00000535: PUSH1 0x01 00000537: DUP2 00000538: AND 00000539: SWAP2 0000053a: DUP3 0000053b: ISZERO 0000053c: PUSH2 0x0663 0000053f: JUMPI 00000540: JUMPDEST 00000541: PUSH1 0x20 00000543: SWAP2 00000544: PUSH1 0x20 00000546: DUP6 00000547: LT 00000548: DUP5 00000549: EQ 0000054a: PUSH2 0x0636 0000054d: JUMPI 0000054e: DUP5 0000054f: DUP8 00000550: MSTORE 00000551: PUSH1 0x20 00000553: DUP8 00000554: ADD 00000555: SWAP4 00000556: SWAP1 00000557: DUP2 00000558: ISZERO 00000559: PUSH2 0x05f9 0000055c: JUMPI 0000055d: POP 0000055e: PUSH1 0x01 00000560: EQ 00000561: PUSH2 0x0581 00000564: JUMPI 00000565: JUMPDEST 00000566: PUSH2 0x04bd 00000569: DUP7 0000056a: PUSH2 0x0575 0000056d: DUP2 0000056e: DUP9 0000056f: SUB 00000570: DUP3 00000571: PUSH2 0x0ce7 00000574: JUMP 00000575: JUMPDEST 00000576: PUSH1 0x40 00000578: MLOAD 00000579: SWAP2 0000057a: DUP3 0000057b: SWAP2 0000057c: DUP3 0000057d: PUSH2 0x04e6 00000580: JUMP 00000581: JUMPDEST 00000582: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03 000005a3: PUSH0 000005a4: SWAP1 000005a5: DUP2 000005a6: MSTORE 000005a7: SWAP5 000005a8: POP 000005a9: SWAP2 000005aa: SWAP3 000005ab: SWAP2 000005ac: PUSH32 0x2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0 000005cd: JUMPDEST 000005ce: DUP4 000005cf: DUP7 000005d0: LT 000005d1: PUSH2 0x05e8 000005d4: JUMPI 000005d5: POP 000005d6: POP 000005d7: POP 000005d8: SWAP2 000005d9: ADD 000005da: SWAP1 000005db: POP 000005dc: PUSH2 0x0575 000005df: DUP3 000005e0: PUSH2 0x04bd 000005e3: PUSH0 000005e4: PUSH2 0x0565 000005e7: JUMP 000005e8: JUMPDEST 000005e9: DUP1 000005ea: SLOAD 000005eb: DUP6 000005ec: DUP8 000005ed: ADD 000005ee: MSTORE 000005ef: SWAP5 000005f0: DUP3 000005f1: ADD 000005f2: SWAP5 000005f3: DUP2 000005f4: ADD 000005f5: PUSH2 0x05cd 000005f8: JUMP 000005f9: JUMPDEST 000005fa: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 0000061b: AND 0000061c: DUP5 0000061d: MSTORE 0000061e: POP 0000061f: POP 00000620: POP 00000621: SWAP1 00000622: ISZERO 00000623: ISZERO 00000624: PUSH1 0x05 00000626: SHL 00000627: ADD 00000628: SWAP1 00000629: POP 0000062a: PUSH2 0x0575 0000062d: DUP3 0000062e: PUSH2 0x04bd 00000631: PUSH0 00000632: PUSH2 0x0565 00000635: JUMP 00000636: JUMPDEST 00000637: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00000658: PUSH0 00000659: MSTORE 0000065a: PUSH1 0x22 0000065c: PUSH1 0x04 0000065e: MSTORE 0000065f: PUSH1 0x24 00000661: PUSH0 00000662: REVERT 00000663: JUMPDEST 00000664: SWAP3 00000665: PUSH1 0x7f 00000667: AND 00000668: SWAP3 00000669: PUSH2 0x0540 0000066c: JUMP 0000066d: JUMPDEST 0000066e: PUSH1 0x04 00000670: CALLDATALOAD 00000671: SWAP1 00000672: PUSH1 0x01 00000674: PUSH1 0x01 00000676: PUSH1 0xa0 00000678: SHL 00000679: SUB 0000067a: DUP3 0000067b: AND 0000067c: DUP3 0000067d: SUB 0000067e: PUSH2 0x0015 00000681: JUMPI 00000682: JUMP 00000683: JUMPDEST 00000684: PUSH1 0x24 00000686: CALLDATALOAD 00000687: SWAP1 00000688: PUSH1 0x01 0000068a: PUSH1 0x01 0000068c: PUSH1 0xa0 0000068e: SHL 0000068f: SUB 00000690: DUP3 00000691: AND 00000692: DUP3 00000693: SUB 00000694: PUSH2 0x0015 00000697: JUMPI 00000698: JUMP 00000699: JUMPDEST 0000069a: PUSH1 0x44 0000069c: CALLDATALOAD 0000069d: SWAP1 0000069e: PUSH1 0x01 000006a0: PUSH1 0x01 000006a2: PUSH1 0xa0 000006a4: SHL 000006a5: SUB 000006a6: DUP3 000006a7: AND 000006a8: DUP3 000006a9: SUB 000006aa: PUSH2 0x0015 000006ad: JUMPI 000006ae: JUMP 000006af: JUMPDEST 000006b0: CALLVALUE 000006b1: PUSH2 0x0015 000006b4: JUMPI 000006b5: PUSH1 0x40 000006b7: PUSH1 0x03 000006b9: NOT 000006ba: CALLDATASIZE 000006bb: ADD 000006bc: SLT 000006bd: PUSH2 0x0015 000006c0: JUMPI 000006c1: PUSH2 0x06d5 000006c4: PUSH2 0x06cb 000006c7: PUSH2 0x066d 000006ca: JUMP 000006cb: JUMPDEST 000006cc: PUSH1 0x24 000006ce: CALLDATALOAD 000006cf: SWAP1 000006d0: CALLER 000006d1: PUSH2 0x3ff0 000006d4: JUMP 000006d5: JUMPDEST 000006d6: PUSH1 0x20 000006d8: PUSH1 0x40 000006da: MLOAD 000006db: PUSH1 0x01 000006dd: DUP2 000006de: MSTORE 000006df: RETURN 000006e0: JUMPDEST 000006e1: CALLVALUE 000006e2: PUSH2 0x0015 000006e5: JUMPI 000006e6: PUSH1 0x20 000006e8: PUSH1 0x03 000006ea: NOT 000006eb: CALLDATASIZE 000006ec: ADD 000006ed: SLT 000006ee: PUSH2 0x0015 000006f1: JUMPI 000006f2: PUSH1 0x01 000006f4: PUSH1 0x01 000006f6: PUSH1 0xa0 000006f8: SHL 000006f9: SUB 000006fa: PUSH2 0x0701 000006fd: PUSH2 0x066d 00000700: JUMP 00000701: JUMPDEST 00000702: AND 00000703: PUSH0 00000704: MSTORE 00000705: PUSH1 0x0b 00000707: PUSH1 0x20 00000709: MSTORE 0000070a: PUSH1 0x20 0000070c: PUSH1 0xff 0000070e: PUSH1 0x40 00000710: PUSH0 00000711: KECCAK256 00000712: SLOAD 00000713: AND 00000714: PUSH1 0x40 00000716: MLOAD 00000717: SWAP1 00000718: ISZERO 00000719: ISZERO 0000071a: DUP2 0000071b: MSTORE 0000071c: RETURN 0000071d: JUMPDEST 0000071e: CALLVALUE 0000071f: PUSH2 0x0015 00000722: JUMPI 00000723: PUSH0 00000724: PUSH1 0x03 00000726: NOT 00000727: CALLDATASIZE 00000728: ADD 00000729: SLT 0000072a: PUSH2 0x0015 0000072d: JUMPI 0000072e: PUSH1 0x20 00000730: PUSH1 0x0d 00000732: SLOAD 00000733: PUSH1 0x40 00000735: MLOAD 00000736: SWAP1 00000737: DUP2 00000738: MSTORE 00000739: RETURN 0000073a: JUMPDEST 0000073b: CALLVALUE 0000073c: PUSH2 0x0015 0000073f: JUMPI 00000740: PUSH0 00000741: PUSH1 0x03 00000743: NOT 00000744: CALLDATASIZE 00000745: ADD 00000746: SLT 00000747: PUSH2 0x0015 0000074a: JUMPI 0000074b: PUSH1 0x20 0000074d: PUSH32 0x7d8b90e89a676f7a8a3cf40a0c23c3d2ea61cec6ae800738fbd79bc111b5ea87 0000076e: SLOAD 0000076f: PUSH1 0x01 00000771: PUSH1 0x01 00000773: PUSH1 0xa0 00000775: SHL 00000776: SUB 00000777: PUSH1 0x40 00000779: MLOAD 0000077a: SWAP2 0000077b: AND 0000077c: DUP2 0000077d: MSTORE 0000077e: RETURN 0000077f: JUMPDEST 00000780: CALLVALUE 00000781: PUSH2 0x0015 00000784: JUMPI 00000785: PUSH1 0x20 00000787: PUSH1 0x03 00000789: NOT 0000078a: CALLDATASIZE 0000078b: ADD 0000078c: SLT 0000078d: PUSH2 0x0015 00000790: JUMPI 00000791: PUSH2 0x04ad 00000794: PUSH1 0x04 00000796: CALLDATALOAD 00000797: PUSH2 0x2d74 0000079a: JUMP 0000079b: JUMPDEST 0000079c: CALLVALUE 0000079d: PUSH2 0x0015 000007a0: JUMPI 000007a1: PUSH0 000007a2: PUSH1 0x03 000007a4: NOT 000007a5: CALLDATASIZE 000007a6: ADD 000007a7: SLT 000007a8: PUSH2 0x0015 000007ab: JUMPI 000007ac: PUSH1 0x20 000007ae: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02 000007cf: SLOAD 000007d0: PUSH1 0x40 000007d2: MLOAD 000007d3: SWAP1 000007d4: DUP2 000007d5: MSTORE 000007d6: RETURN 000007d7: JUMPDEST 000007d8: CALLVALUE 000007d9: PUSH2 0x0015 000007dc: JUMPI 000007dd: PUSH1 0x20 000007df: PUSH1 0x03 000007e1: NOT 000007e2: CALLDATASIZE 000007e3: ADD 000007e4: SLT 000007e5: PUSH2 0x0015 000007e8: JUMPI 000007e9: PUSH1 0x40 000007eb: PUSH1 0x01 000007ed: PUSH1 0x01 000007ef: PUSH1 0xa0 000007f1: SHL 000007f2: SUB 000007f3: DUP1 000007f4: PUSH2 0x07fb 000007f7: PUSH2 0x066d 000007fa: JUMP 000007fb: JUMPDEST 000007fc: AND 000007fd: PUSH0 000007fe: MSTORE 000007ff: PUSH1 0x0f 00000801: PUSH1 0x20 00000803: MSTORE 00000804: DUP2 00000805: PUSH0 00000806: KECCAK256 00000807: SLOAD 00000808: DUP3 00000809: MLOAD 0000080a: SWAP2 0000080b: DUP2 0000080c: AND 0000080d: DUP3 0000080e: MSTORE 0000080f: PUSH1 0xa0 00000811: SHR 00000812: PUSH1 0x20 00000814: DUP3 00000815: ADD 00000816: MSTORE 00000817: RETURN 00000818: JUMPDEST 00000819: CALLVALUE 0000081a: PUSH2 0x0015 0000081d: JUMPI 0000081e: PUSH1 0x60 00000820: PUSH1 0x03 00000822: NOT 00000823: CALLDATASIZE 00000824: ADD 00000825: SLT 00000826: PUSH2 0x0015 00000829: JUMPI 0000082a: PUSH2 0x0831 0000082d: PUSH2 0x066d 00000830: JUMP 00000831: JUMPDEST 00000832: PUSH2 0x0839 00000835: PUSH2 0x0683 00000838: JUMP 00000839: JUMPDEST 0000083a: PUSH1 0x44 0000083c: CALLDATALOAD 0000083d: SWAP1 0000083e: PUSH2 0x0891 00000841: CALLER 00000842: PUSH2 0x087b 00000845: DUP6 00000846: PUSH1 0x01 00000848: PUSH1 0x01 0000084a: PUSH1 0xa0 0000084c: SHL 0000084d: SUB 0000084e: AND 0000084f: PUSH0 00000850: MSTORE 00000851: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace01 00000872: PUSH1 0x20 00000874: MSTORE 00000875: PUSH1 0x40 00000877: PUSH0 00000878: KECCAK256 00000879: SWAP1 0000087a: JUMP 0000087b: JUMPDEST 0000087c: SWAP1 0000087d: PUSH1 0x01 0000087f: PUSH1 0x01 00000881: PUSH1 0xa0 00000883: SHL 00000884: SUB 00000885: AND 00000886: PUSH0 00000887: MSTORE 00000888: PUSH1 0x20 0000088a: MSTORE 0000088b: PUSH1 0x40 0000088d: PUSH0 0000088e: KECCAK256 0000088f: SWAP1 00000890: JUMP 00000891: JUMPDEST 00000892: SLOAD 00000893: SWAP3 00000894: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000008b5: DUP5 000008b6: SUB 000008b7: PUSH2 0x08d1 000008ba: JUMPI 000008bb: JUMPDEST 000008bc: PUSH2 0x08c5 000008bf: SWAP4 000008c0: POP 000008c1: PUSH2 0x3479 000008c4: JUMP 000008c5: JUMPDEST 000008c6: PUSH1 0x40 000008c8: MLOAD 000008c9: PUSH1 0x01 000008cb: DUP2 000008cc: MSTORE 000008cd: PUSH1 0x20 000008cf: SWAP1 000008d0: RETURN 000008d1: JUMPDEST 000008d2: DUP3 000008d3: DUP5 000008d4: LT 000008d5: PUSH2 0x0997 000008d8: JUMPI 000008d9: PUSH1 0x01 000008db: PUSH1 0x01 000008dd: PUSH1 0xa0 000008df: SHL 000008e0: SUB 000008e1: DUP2 000008e2: AND 000008e3: ISZERO 000008e4: PUSH2 0x0967 000008e7: JUMPI 000008e8: CALLER 000008e9: ISZERO 000008ea: PUSH2 0x0937 000008ed: JUMPI 000008ee: DUP3 000008ef: PUSH2 0x08c5 000008f2: SWAP5 000008f3: SUB 000008f4: PUSH2 0x0931 000008f7: CALLER 000008f8: PUSH2 0x087b 000008fb: DUP5 000008fc: PUSH1 0x01 000008fe: PUSH1 0x01 00000900: PUSH1 0xa0 00000902: SHL 00000903: SUB 00000904: AND 00000905: PUSH0 00000906: MSTORE 00000907: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace01 00000928: PUSH1 0x20 0000092a: MSTORE 0000092b: PUSH1 0x40 0000092d: PUSH0 0000092e: KECCAK256 0000092f: SWAP1 00000930: JUMP 00000931: JUMPDEST 00000932: SSTORE 00000933: PUSH2 0x08bb 00000936: JUMP 00000937: JUMPDEST 00000938: PUSH1 0x24 0000093a: PUSH1 0x40 0000093c: MLOAD 0000093d: PUSH32 0x94280d6200000000000000000000000000000000000000000000000000000000 0000095e: DUP2 0000095f: MSTORE 00000960: PUSH0 00000961: PUSH1 0x04 00000963: DUP3 00000964: ADD 00000965: MSTORE 00000966: REVERT 00000967: JUMPDEST 00000968: PUSH1 0x24 0000096a: PUSH1 0x40 0000096c: MLOAD 0000096d: PUSH32 0xe602df0500000000000000000000000000000000000000000000000000000000 0000098e: DUP2 0000098f: MSTORE 00000990: PUSH0 00000991: PUSH1 0x04 00000993: DUP3 00000994: ADD 00000995: MSTORE 00000996: REVERT 00000997: JUMPDEST 00000998: PUSH1 0x40 0000099a: MLOAD 0000099b: PUSH32 0xfb8f41b200000000000000000000000000000000000000000000000000000000 000009bc: DUP2 000009bd: MSTORE 000009be: CALLER 000009bf: PUSH1 0x04 000009c1: DUP3 000009c2: ADD 000009c3: MSTORE 000009c4: PUSH1 0x24 000009c6: DUP2 000009c7: ADD 000009c8: DUP6 000009c9: SWAP1 000009ca: MSTORE 000009cb: PUSH1 0x44 000009cd: DUP2 000009ce: ADD 000009cf: DUP5 000009d0: SWAP1 000009d1: MSTORE 000009d2: PUSH1 0x64 000009d4: SWAP1 000009d5: REVERT 000009d6: JUMPDEST 000009d7: CALLVALUE 000009d8: PUSH2 0x0015 000009db: JUMPI 000009dc: PUSH1 0x20 000009de: PUSH1 0x03 000009e0: NOT 000009e1: CALLDATASIZE 000009e2: ADD 000009e3: SLT 000009e4: PUSH2 0x0015 000009e7: JUMPI 000009e8: PUSH1 0x20 000009ea: PUSH2 0x0a0e 000009ed: PUSH2 0x09f4 000009f0: PUSH2 0x066d 000009f3: JUMP 000009f4: JUMPDEST 000009f5: PUSH1 0x01 000009f7: PUSH1 0x01 000009f9: PUSH1 0xa0 000009fb: SHL 000009fc: SUB 000009fd: AND 000009fe: PUSH0 000009ff: MSTORE 00000a00: PUSH0 00000a01: PUSH1 0x20 00000a03: MSTORE 00000a04: PUSH1 0xff 00000a06: PUSH1 0x40 00000a08: PUSH0 00000a09: KECCAK256 00000a0a: SLOAD 00000a0b: AND 00000a0c: SWAP1 00000a0d: JUMP 00000a0e: JUMPDEST 00000a0f: PUSH1 0x40 00000a11: MLOAD 00000a12: SWAP1 00000a13: ISZERO 00000a14: ISZERO 00000a15: DUP2 00000a16: MSTORE 00000a17: RETURN 00000a18: JUMPDEST 00000a19: SWAP1 00000a1a: PUSH2 0x0a2b 00000a1d: SWAP1 00000a1e: PUSH1 0x40 00000a20: DUP4 00000a21: MSTORE 00000a22: PUSH1 0x40 00000a24: DUP4 00000a25: ADD 00000a26: SWAP1 00000a27: PUSH2 0x03fe 00000a2a: JUMP 00000a2b: JUMPDEST 00000a2c: DUP2 00000a2d: DUP2 00000a2e: SUB 00000a2f: PUSH1 0x20 00000a31: SWAP3 00000a32: DUP4 00000a33: ADD 00000a34: MSTORE 00000a35: DUP3 00000a36: MLOAD 00000a37: DUP1 00000a38: DUP3 00000a39: MSTORE 00000a3a: SWAP1 00000a3b: DUP3 00000a3c: ADD 00000a3d: SWAP3 00000a3e: DUP3 00000a3f: ADD 00000a40: SWAP2 00000a41: PUSH0 00000a42: JUMPDEST 00000a43: DUP3 00000a44: DUP2 00000a45: LT 00000a46: PUSH2 0x0a50 00000a49: JUMPI 00000a4a: POP 00000a4b: POP 00000a4c: POP 00000a4d: POP 00000a4e: SWAP1 00000a4f: JUMP 00000a50: JUMPDEST 00000a51: DUP4 00000a52: MLOAD 00000a53: PUSH8 0xffffffffffffffff 00000a5c: AND 00000a5d: DUP6 00000a5e: MSTORE 00000a5f: SWAP4 00000a60: DUP2 00000a61: ADD 00000a62: SWAP4 00000a63: SWAP3 00000a64: DUP2 00000a65: ADD 00000a66: SWAP3 00000a67: PUSH1 0x01 00000a69: ADD 00000a6a: PUSH2 0x0a42 00000a6d: JUMP 00000a6e: JUMPDEST 00000a6f: CALLVALUE 00000a70: PUSH2 0x0015 00000a73: JUMPI 00000a74: PUSH0 00000a75: PUSH1 0x03 00000a77: NOT 00000a78: CALLDATASIZE 00000a79: ADD 00000a7a: SLT 00000a7b: PUSH2 0x0015 00000a7e: JUMPI 00000a7f: PUSH1 0x02 00000a81: DUP1 00000a82: SLOAD 00000a83: PUSH2 0x0a8b 00000a86: DUP2 00000a87: PUSH2 0x0d0a 00000a8a: JUMP 00000a8b: JUMPDEST 00000a8c: SWAP2 00000a8d: PUSH2 0x0a99 00000a90: PUSH1 0x40 00000a92: MLOAD 00000a93: SWAP4 00000a94: DUP5 00000a95: PUSH2 0x0ce7 00000a98: JUMP 00000a99: JUMPDEST 00000a9a: DUP2 00000a9b: DUP4 00000a9c: MSTORE 00000a9d: PUSH1 0x1f 00000a9f: NOT 00000aa0: PUSH2 0x0aa8 00000aa3: DUP4 00000aa4: PUSH2 0x0d0a 00000aa7: JUMP 00000aa8: JUMPDEST 00000aa9: ADD 00000aaa: CALLDATASIZE 00000aab: PUSH1 0x20 00000aad: DUP6 00000aae: ADD 00000aaf: CALLDATACOPY 00000ab0: PUSH2 0x0ad9 00000ab3: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02 00000ad4: SLOAD 00000ad5: PUSH2 0x368f 00000ad8: JUMP 00000ad9: JUMPDEST 00000ada: SWAP1 00000adb: PUSH0 00000adc: JUMPDEST 00000add: DUP4 00000ade: DUP2 00000adf: LT 00000ae0: PUSH2 0x0afb 00000ae3: JUMPI 00000ae4: DUP5 00000ae5: PUSH2 0x0aec 00000ae8: PUSH2 0x291d 00000aeb: JUMP 00000aec: JUMPDEST 00000aed: PUSH2 0x04bd 00000af0: PUSH1 0x40 00000af2: MLOAD 00000af3: SWAP3 00000af4: DUP4 00000af5: SWAP3 00000af6: DUP4 00000af7: PUSH2 0x0a18 00000afa: JUMP 00000afb: JUMPDEST 00000afc: PUSH1 0x01 00000afe: SWAP1 00000aff: DUP3 00000b00: PUSH0 00000b01: MSTORE 00000b02: PUSH2 0x0b59 00000b05: PUSH2 0x0b40 00000b08: DUP6 00000b09: PUSH2 0x0b3b 00000b0c: DUP5 00000b0d: PUSH32 0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace 00000b2e: ADD 00000b2f: SLOAD 00000b30: PUSH1 0x01 00000b32: PUSH1 0x01 00000b34: PUSH1 0xa0 00000b36: SHL 00000b37: SUB 00000b38: AND 00000b39: SWAP1 00000b3a: JUMP 00000b3b: JUMPDEST 00000b3c: PUSH2 0x36d6 00000b3f: JUMP 00000b40: JUMPDEST 00000b41: PUSH2 0x0b4a 00000b44: DUP4 00000b45: DUP10 00000b46: PUSH2 0x2a61 00000b49: JUMP 00000b4a: JUMPDEST 00000b4b: SWAP1 00000b4c: PUSH8 0xffffffffffffffff 00000b55: AND 00000b56: SWAP1 00000b57: MSTORE 00000b58: JUMP 00000b59: JUMPDEST 00000b5a: ADD 00000b5b: PUSH2 0x0adc 00000b5e: JUMP 00000b5f: JUMPDEST 00000b60: CALLVALUE 00000b61: PUSH2 0x0015 00000b64: JUMPI 00000b65: PUSH0 00000b66: PUSH1 0x03 00000b68: NOT 00000b69: CALLDATASIZE 00000b6a: ADD 00000b6b: SLT 00000b6c: PUSH2 0x0015 00000b6f: JUMPI 00000b70: PUSH1 0x20 00000b72: PUSH1 0x01 00000b74: PUSH1 0x01 00000b76: PUSH1 0xa0 00000b78: SHL 00000b79: SUB 00000b7a: PUSH1 0x0a 00000b7c: SLOAD 00000b7d: AND 00000b7e: PUSH1 0x40 00000b80: MLOAD 00000b81: SWAP1 00000b82: DUP2 00000b83: MSTORE 00000b84: RETURN 00000b85: JUMPDEST 00000b86: CALLVALUE 00000b87: PUSH2 0x0015 00000b8a: JUMPI 00000b8b: PUSH1 0x20 00000b8d: PUSH1 0x03 00000b8f: NOT 00000b90: CALLDATASIZE 00000b91: ADD 00000b92: SLT 00000b93: PUSH2 0x0015 00000b96: JUMPI 00000b97: PUSH2 0x04ad 00000b9a: PUSH2 0x0bda 00000b9d: PUSH2 0x0ba4 00000ba0: PUSH2 0x066d 00000ba3: JUMP 00000ba4: JUMPDEST 00000ba5: PUSH1 0x01 00000ba7: PUSH1 0x01 00000ba9: PUSH1 0xa0 00000bab: SHL 00000bac: SUB 00000bad: AND 00000bae: PUSH0 00000baf: MSTORE 00000bb0: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00 00000bd1: PUSH1 0x20 00000bd3: MSTORE 00000bd4: PUSH1 0x40 00000bd6: PUSH0 00000bd7: KECCAK256 00000bd8: SWAP1 00000bd9: JUMP 00000bda: JUMPDEST 00000bdb: SLOAD 00000bdc: PUSH2 0x2d74 00000bdf: JUMP 00000be0: JUMPDEST 00000be1: CALLVALUE 00000be2: PUSH2 0x0015 00000be5: JUMPI 00000be6: PUSH0 00000be7: PUSH1 0x03 00000be9: NOT 00000bea: CALLDATASIZE 00000beb: ADD 00000bec: SLT 00000bed: PUSH2 0x0015 00000bf0: JUMPI 00000bf1: PUSH1 0x20 00000bf3: PUSH1 0x40 00000bf5: MLOAD 00000bf6: PUSH1 0x12 00000bf8: DUP2 00000bf9: MSTORE 00000bfa: RETURN 00000bfb: JUMPDEST 00000bfc: CALLVALUE 00000bfd: PUSH2 0x0015 00000c00: JUMPI 00000c01: PUSH0 00000c02: PUSH1 0x03 00000c04: NOT 00000c05: CALLDATASIZE 00000c06: ADD 00000c07: SLT 00000c08: PUSH2 0x0015 00000c0b: JUMPI 00000c0c: PUSH1 0x20 00000c0e: PUSH2 0x0c15 00000c11: PUSH2 0x4079 00000c14: JUMP 00000c15: JUMPDEST 00000c16: PUSH1 0x40 00000c18: MLOAD 00000c19: SWAP1 00000c1a: DUP2 00000c1b: MSTORE 00000c1c: RETURN 00000c1d: JUMPDEST 00000c1e: CALLVALUE 00000c1f: PUSH2 0x0015 00000c22: JUMPI 00000c23: PUSH1 0x20 00000c25: PUSH1 0x03 00000c27: NOT 00000c28: CALLDATASIZE 00000c29: ADD 00000c2a: SLT 00000c2b: PUSH2 0x0015 00000c2e: JUMPI 00000c2f: PUSH1 0x01 00000c31: PUSH1 0x01 00000c33: PUSH1 0xa0 00000c35: SHL 00000c36: SUB 00000c37: PUSH2 0x0c3e 00000c3a: PUSH2 0x066d 00000c3d: JUMP 00000c3e: JUMPDEST 00000c3f: AND 00000c40: PUSH0 00000c41: MSTORE 00000c42: PUSH1 0x01 00000c44: PUSH1 0x20 00000c46: MSTORE 00000c47: PUSH1 0x20 00000c49: PUSH1 0xff 00000c4b: PUSH1 0x40 00000c4d: PUSH0 00000c4e: KECCAK256 00000c4f: SLOAD 00000c50: AND 00000c51: PUSH1 0x40 00000c53: MLOAD 00000c54: SWAP1 00000c55: ISZERO 00000c56: ISZERO 00000c57: DUP2 00000c58: MSTORE 00000c59: RETURN 00000c5a: JUMPDEST 00000c5b: CALLVALUE 00000c5c: PUSH2 0x0015 00000c5f: JUMPI 00000c60: PUSH1 0x20 00000c62: PUSH1 0x03 00000c64: NOT 00000c65: CALLDATASIZE 00000c66: ADD 00000c67: SLT 00000c68: PUSH2 0x0015 00000c6b: JUMPI 00000c6c: PUSH1 0x20 00000c6e: PUSH2 0x0c15 00000c71: PUSH2 0x0c78 00000c74: PUSH2 0x066d 00000c77: JUMP 00000c78: JUMPDEST 00000c79: PUSH2 0x2ead 00000c7c: JUMP 00000c7d: JUMPDEST 00000c7e: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00000c9f: PUSH0 00000ca0: MSTORE 00000ca1: PUSH1 0x41 00000ca3: PUSH1 0x04 00000ca5: MSTORE 00000ca6: PUSH1 0x24 00000ca8: PUSH0 00000ca9: REVERT 00000caa: JUMPDEST 00000cab: PUSH1 0x60 00000cad: DUP2 00000cae: ADD 00000caf: SWAP1 00000cb0: DUP2 00000cb1: LT 00000cb2: PUSH8 0xffffffffffffffff 00000cbb: DUP3 00000cbc: GT 00000cbd: OR 00000cbe: PUSH2 0x0cc6 00000cc1: JUMPI 00000cc2: PUSH1 0x40 00000cc4: MSTORE 00000cc5: JUMP 00000cc6: JUMPDEST 00000cc7: PUSH2 0x0c7d 00000cca: JUMP 00000ccb: JUMPDEST 00000ccc: PUSH1 0x80 00000cce: DUP2 00000ccf: ADD 00000cd0: SWAP1 00000cd1: DUP2 00000cd2: LT 00000cd3: PUSH8 0xffffffffffffffff 00000cdc: DUP3 00000cdd: GT 00000cde: OR 00000cdf: PUSH2 0x0cc6 00000ce2: JUMPI 00000ce3: PUSH1 0x40 00000ce5: MSTORE 00000ce6: JUMP 00000ce7: JUMPDEST 00000ce8: SWAP1 00000ce9: PUSH1 0x1f 00000ceb: PUSH1 0x1f 00000ced: NOT 00000cee: SWAP2 00000cef: ADD 00000cf0: AND 00000cf1: DUP2 00000cf2: ADD 00000cf3: SWAP1 00000cf4: DUP2 00000cf5: LT 00000cf6: PUSH8 0xffffffffffffffff 00000cff: DUP3 00000d00: GT 00000d01: OR 00000d02: PUSH2 0x0cc6 00000d05: JUMPI 00000d06: PUSH1 0x40 00000d08: MSTORE 00000d09: JUMP 00000d0a: JUMPDEST 00000d0b: PUSH8 0xffffffffffffffff 00000d14: DUP2 00000d15: GT 00000d16: PUSH2 0x0cc6 00000d19: JUMPI 00000d1a: PUSH1 0x05 00000d1c: SHL 00000d1d: PUSH1 0x20 00000d1f: ADD 00000d20: SWAP1 00000d21: JUMP 00000d22: JUMPDEST 00000d23: SWAP1 00000d24: DUP1 00000d25: PUSH1 0x1f 00000d27: DUP4 00000d28: ADD 00000d29: SLT 00000d2a: ISZERO 00000d2b: PUSH2 0x0015 00000d2e: JUMPI 00000d2f: PUSH1 0x20 00000d31: SWAP1 00000d32: DUP3 00000d33: CALLDATALOAD 00000d34: PUSH2 0x0d3c 00000d37: DUP2 00000d38: PUSH2 0x0d0a 00000d3b: JUMP 00000d3c: JUMPDEST 00000d3d: SWAP4 00000d3e: PUSH2 0x0d4a 00000d41: PUSH1 0x40 00000d43: MLOAD 00000d44: SWAP6 00000d45: DUP7 00000d46: PUSH2 0x0ce7 00000d49: JUMP 00000d4a: JUMPDEST 00000d4b: DUP2 00000d4c: DUP6 00000d4d: MSTORE 00000d4e: PUSH1 0x20 00000d50: DUP1 00000d51: DUP7 00000d52: ADD 00000d53: SWAP3 00000d54: PUSH1 0x05 00000d56: SHL 00000d57: DUP3 00000d58: ADD 00000d59: ADD 00000d5a: SWAP3 00000d5b: DUP4 00000d5c: GT 00000d5d: PUSH2 0x0015 00000d60: JUMPI 00000d61: PUSH1 0x20 00000d63: ADD 00000d64: SWAP1 00000d65: JUMPDEST 00000d66: DUP3 00000d67: DUP3 00000d68: LT 00000d69: PUSH2 0x0d73 00000d6c: JUMPI 00000d6d: POP 00000d6e: POP 00000d6f: POP 00000d70: POP 00000d71: SWAP1 00000d72: JUMP 00000d73: JUMPDEST 00000d74: DUP2 00000d75: CALLDATALOAD 00000d76: PUSH1 0x01 00000d78: PUSH1 0x01 00000d7a: PUSH1 0xa0 00000d7c: SHL 00000d7d: SUB 00000d7e: DUP2 00000d7f: AND 00000d80: DUP2 00000d81: SUB 00000d82: PUSH2 0x0015 00000d85: JUMPI 00000d86: DUP2 00000d87: MSTORE 00000d88: SWAP1 00000d89: DUP4 00000d8a: ADD 00000d8b: SWAP1 00000d8c: DUP4 00000d8d: ADD 00000d8e: PUSH2 0x0d65 00000d91: JUMP 00000d92: JUMPDEST 00000d93: SWAP1 00000d94: DUP1 00000d95: PUSH1 0x1f 00000d97: DUP4 00000d98: ADD 00000d99: SLT 00000d9a: ISZERO 00000d9b: PUSH2 0x0015 00000d9e: JUMPI 00000d9f: PUSH1 0x20 00000da1: SWAP1 00000da2: DUP3 00000da3: CALLDATALOAD 00000da4: PUSH2 0x0dac 00000da7: DUP2 00000da8: PUSH2 0x0d0a 00000dab: JUMP 00000dac: JUMPDEST 00000dad: SWAP4 00000dae: PUSH2 0x0dba 00000db1: PUSH1 0x40 00000db3: MLOAD 00000db4: SWAP6 00000db5: DUP7 00000db6: PUSH2 0x0ce7 00000db9: JUMP 00000dba: JUMPDEST 00000dbb: DUP2 00000dbc: DUP6 00000dbd: MSTORE 00000dbe: PUSH1 0x20 00000dc0: DUP1 00000dc1: DUP7 00000dc2: ADD 00000dc3: SWAP3 00000dc4: PUSH1 0x05 00000dc6: SHL 00000dc7: DUP3 00000dc8: ADD 00000dc9: ADD 00000dca: SWAP3 00000dcb: DUP4 00000dcc: GT 00000dcd: PUSH2 0x0015 00000dd0: JUMPI 00000dd1: PUSH1 0x20 00000dd3: ADD 00000dd4: SWAP1 00000dd5: JUMPDEST 00000dd6: DUP3 00000dd7: DUP3 00000dd8: LT 00000dd9: PUSH2 0x0de3 00000ddc: JUMPI 00000ddd: POP 00000dde: POP 00000ddf: POP 00000de0: POP 00000de1: SWAP1 00000de2: JUMP 00000de3: JUMPDEST 00000de4: DUP2 00000de5: CALLDATALOAD 00000de6: DUP2 00000de7: MSTORE 00000de8: SWAP1 00000de9: DUP4 00000dea: ADD 00000deb: SWAP1 00000dec: DUP4 00000ded: ADD 00000dee: PUSH2 0x0dd5 00000df1: JUMP 00000df2: JUMPDEST 00000df3: SWAP1 00000df4: PUSH1 0x40 00000df6: PUSH1 0x03 00000df8: NOT 00000df9: DUP4 00000dfa: ADD 00000dfb: SLT 00000dfc: PUSH2 0x0015 00000dff: JUMPI 00000e00: PUSH8 0xffffffffffffffff 00000e09: PUSH1 0x04 00000e0b: CALLDATALOAD 00000e0c: DUP2 00000e0d: DUP2 00000e0e: GT 00000e0f: PUSH2 0x0015 00000e12: JUMPI 00000e13: DUP4 00000e14: PUSH2 0x0e1f 00000e17: SWAP2 00000e18: PUSH1 0x04 00000e1a: ADD 00000e1b: PUSH2 0x0d22 00000e1e: JUMP 00000e1f: JUMPDEST 00000e20: SWAP3 00000e21: PUSH1 0x24 00000e23: CALLDATALOAD 00000e24: SWAP2 00000e25: DUP3 00000e26: GT 00000e27: PUSH2 0x0015 00000e2a: JUMPI 00000e2b: PUSH2 0x0492 00000e2e: SWAP2 00000e2f: PUSH1 0x04 00000e31: ADD 00000e32: PUSH2 0x0d92 00000e35: JUMP 00000e36: JUMPDEST 00000e37: CALLVALUE 00000e38: PUSH2 0x0015 00000e3b: JUMPI 00000e3c: PUSH2 0x0e4d 00000e3f: PUSH2 0x0e47 00000e42: CALLDATASIZE 00000e43: PUSH2 0x0df2 00000e46: JUMP 00000e47: JUMPDEST 00000e48: SWAP1 00000e49: PUSH2 0x3027 00000e4c: JUMP 00000e4d: JUMPDEST 00000e4e: PUSH1 0x40 00000e50: DUP1 00000e51: MLOAD 00000e52: SWAP3 00000e53: DUP4 00000e54: MSTORE 00000e55: PUSH1 0x20 00000e57: DUP4 00000e58: ADD 00000e59: SWAP2 00000e5a: SWAP1 00000e5b: SWAP2 00000e5c: MSTORE 00000e5d: SWAP1 00000e5e: RETURN 00000e5f: JUMPDEST 00000e60: CALLVALUE 00000e61: PUSH2 0x0015 00000e64: JUMPI 00000e65: PUSH1 0x20 00000e67: PUSH1 0x03 00000e69: NOT 00000e6a: CALLDATASIZE 00000e6b: ADD 00000e6c: SLT 00000e6d: PUSH2 0x0015 00000e70: JUMPI 00000e71: PUSH2 0x0e98 00000e74: PUSH2 0x0ea6 00000e77: PUSH2 0x0e81 00000e7a: PUSH1 0x04 00000e7c: CALLDATALOAD 00000e7d: PUSH2 0x3060 00000e80: JUMP 00000e81: JUMPDEST 00000e82: SWAP2 00000e83: SWAP3 00000e84: SWAP1 00000e85: PUSH1 0x40 00000e87: MLOAD 00000e88: SWAP5 00000e89: DUP6 00000e8a: SWAP5 00000e8b: PUSH1 0x60 00000e8d: DUP7 00000e8e: MSTORE 00000e8f: PUSH1 0x60 00000e91: DUP7 00000e92: ADD 00000e93: SWAP1 00000e94: PUSH2 0x03fe 00000e97: JUMP 00000e98: JUMPDEST 00000e99: SWAP1 00000e9a: DUP5 00000e9b: DUP3 00000e9c: SUB 00000e9d: PUSH1 0x20 00000e9f: DUP7 00000ea0: ADD 00000ea1: MSTORE 00000ea2: PUSH2 0x043a 00000ea5: JUMP 00000ea6: JUMPDEST 00000ea7: SWAP1 00000ea8: PUSH1 0x40 00000eaa: DUP4 00000eab: ADD 00000eac: MSTORE 00000ead: SUB 00000eae: SWAP1 00000eaf: RETURN 00000eb0: JUMPDEST 00000eb1: PUSH8 0xffffffffffffffff 00000eba: DUP2 00000ebb: GT 00000ebc: PUSH2 0x0cc6 00000ebf: JUMPI 00000ec0: PUSH1 0x1f 00000ec2: ADD 00000ec3: PUSH1 0x1f 00000ec5: NOT 00000ec6: AND 00000ec7: PUSH1 0x20 00000ec9: ADD 00000eca: SWAP1 00000ecb: JUMP 00000ecc: JUMPDEST 00000ecd: PUSH1 0x40 00000ecf: DUP1 00000ed0: PUSH1 0x03 00000ed2: NOT 00000ed3: CALLDATASIZE 00000ed4: ADD 00000ed5: SLT 00000ed6: PUSH2 0x0015 00000ed9: JUMPI 00000eda: PUSH2 0x0ee1 00000edd: PUSH2 0x066d 00000ee0: JUMP 00000ee1: JUMPDEST 00000ee2: SWAP1 00000ee3: PUSH1 0x24 00000ee5: CALLDATALOAD 00000ee6: SWAP1 00000ee7: PUSH8 0xffffffffffffffff 00000ef0: DUP3 00000ef1: GT 00000ef2: PUSH2 0x0015 00000ef5: JUMPI 00000ef6: PUSH1 0x04 00000ef8: SWAP2 00000ef9: CALLDATASIZE 00000efa: PUSH1 0x23 00000efc: DUP3 00000efd: ADD 00000efe: SLT 00000eff: ISZERO 00000f00: PUSH2 0x0015 00000f03: JUMPI 00000f04: DUP1 00000f05: DUP4 00000f06: ADD 00000f07: CALLDATALOAD 00000f08: PUSH2 0x0f10 00000f0b: DUP2 00000f0c: PUSH2 0x0eb0 00000f0f: JUMP 00000f10: JUMPDEST 00000f11: SWAP2 00000f12: PUSH2 0x0f1d 00000f15: DUP5 00000f16: MLOAD 00000f17: SWAP4 00000f18: DUP5 00000f19: PUSH2 0x0ce7 00000f1c: JUMP 00000f1d: JUMPDEST 00000f1e: DUP2 00000f1f: DUP4 00000f20: MSTORE 00000f21: CALLDATASIZE 00000f22: PUSH1 0x24 00000f24: DUP4 00000f25: DUP4 00000f26: ADD 00000f27: ADD 00000f28: GT 00000f29: PUSH2 0x0015 00000f2c: JUMPI 00000f2d: DUP2 00000f2e: PUSH0 00000f2f: SWAP3 00000f30: PUSH1 0x24 00000f32: PUSH1 0x20 00000f34: SWAP4 00000f35: ADD 00000f36: DUP4 00000f37: DUP7 00000f38: ADD 00000f39: CALLDATACOPY 00000f3a: DUP4 00000f3b: ADD 00000f3c: ADD 00000f3d: MSTORE 00000f3e: PUSH1 0x01 00000f40: PUSH1 0x01 00000f42: PUSH1 0xa0 00000f44: SHL 00000f45: SUB 00000f46: DUP1 00000f47: PUSH32 0x0000000000000000000000001cb489ef513e1cc35c4657c91853a2e6ff1957de 00000f68: AND 00000f69: DUP1 00000f6a: ADDRESS 00000f6b: EQ 00000f6c: SWAP1 00000f6d: DUP2 00000f6e: ISZERO 00000f6f: PUSH2 0x1119 00000f72: JUMPI 00000f73: JUMPDEST 00000f74: POP 00000f75: PUSH2 0x10f1 00000f78: JUMPI 00000f79: PUSH2 0x0fab 00000f7c: PUSH1 0x01 00000f7e: PUSH1 0x01 00000f80: PUSH1 0xa0 00000f82: SHL 00000f83: SUB 00000f84: PUSH32 0x7d8b90e89a676f7a8a3cf40a0c23c3d2ea61cec6ae800738fbd79bc111b5ea87 00000fa5: SLOAD 00000fa6: AND 00000fa7: CALLER 00000fa8: EQ 00000fa9: SWAP1 00000faa: JUMP 00000fab: JUMPDEST 00000fac: ISZERO 00000fad: PUSH2 0x10c9 00000fb0: JUMPI 00000fb1: SWAP1 00000fb2: PUSH1 0x20 00000fb4: DUP5 00000fb5: SWAP3 00000fb6: DUP5 00000fb7: MLOAD 00000fb8: SWAP4 00000fb9: DUP5 00000fba: DUP1 00000fbb: SWAP3 00000fbc: PUSH32 0x52d1902d00000000000000000000000000000000000000000000000000000000 00000fdd: DUP3 00000fde: MSTORE 00000fdf: DUP10 00000fe0: AND 00000fe1: GAS 00000fe2: STATICCALL 00000fe3: PUSH0 00000fe4: SWAP3 00000fe5: DUP2 00000fe6: PUSH2 0x1098 00000fe9: JUMPI 00000fea: JUMPDEST 00000feb: POP 00000fec: PUSH2 0x102f 00000fef: JUMPI 00000ff0: POP 00000ff1: POP 00000ff2: MLOAD 00000ff3: PUSH32 0x4c9c8ce300000000000000000000000000000000000000000000000000000000 00001014: DUP2 00001015: MSTORE 00001016: PUSH1 0x01 00001018: PUSH1 0x01 0000101a: PUSH1 0xa0 0000101c: SHL 0000101d: SUB 0000101e: SWAP1 0000101f: SWAP3 00001020: AND 00001021: SWAP1 00001022: DUP3 00001023: ADD 00001024: SWAP1 00001025: DUP2 00001026: MSTORE 00001027: DUP2 00001028: SWAP1 00001029: PUSH1 0x20 0000102b: ADD 0000102c: SUB 0000102d: SWAP1 0000102e: REVERT 0000102f: JUMPDEST 00001030: DUP5 00001031: DUP5 00001032: DUP5 00001033: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc 00001054: DUP6 00001055: SUB 00001056: PUSH2 0x1065 00001059: JUMPI 0000105a: PUSH2 0x1063 0000105d: DUP5 0000105e: DUP5 0000105f: PUSH2 0x4111 00001062: JUMP 00001063: JUMPDEST 00001064: STOP 00001065: JUMPDEST 00001066: MLOAD 00001067: PUSH32 0xaa1d49a400000000000000000000000000000000000000000000000000000000 00001088: DUP2 00001089: MSTORE 0000108a: SWAP1 0000108b: DUP2 0000108c: ADD 0000108d: DUP5 0000108e: DUP2 0000108f: MSTORE 00001090: DUP2 00001091: SWAP1 00001092: PUSH1 0x20 00001094: ADD 00001095: SUB 00001096: SWAP1 00001097: REVERT 00001098: JUMPDEST 00001099: PUSH2 0x10bb 0000109c: SWAP2 0000109d: SWAP4 0000109e: POP 0000109f: PUSH1 0x20 000010a1: RETURNDATASIZE 000010a2: PUSH1 0x20 000010a4: GT 000010a5: PUSH2 0x10c2 000010a8: JUMPI 000010a9: JUMPDEST 000010aa: PUSH2 0x10b3 000010ad: DUP2 000010ae: DUP4 000010af: PUSH2 0x0ce7 000010b2: JUMP 000010b3: JUMPDEST 000010b4: DUP2 000010b5: ADD 000010b6: SWAP1 000010b7: PUSH2 0x2a75 000010ba: JUMP 000010bb: JUMPDEST 000010bc: SWAP2 000010bd: PUSH0 000010be: PUSH2 0x0fea 000010c1: JUMP 000010c2: JUMPDEST 000010c3: POP 000010c4: RETURNDATASIZE 000010c5: PUSH2 0x10a9 000010c8: JUMP 000010c9: JUMPDEST 000010ca: POP 000010cb: POP 000010cc: MLOAD 000010cd: PUSH32 0xe0a8b92000000000000000000000000000000000000000000000000000000000 000010ee: DUP2 000010ef: MSTORE 000010f0: REVERT 000010f1: JUMPDEST 000010f2: POP 000010f3: POP 000010f4: MLOAD 000010f5: PUSH32 0xe07c8dba00000000000000000000000000000000000000000000000000000000 00001116: DUP2 00001117: MSTORE 00001118: REVERT 00001119: JUMPDEST 0000111a: SWAP1 0000111b: POP 0000111c: DUP2 0000111d: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc 0000113e: SLOAD 0000113f: AND 00001140: EQ 00001141: ISZERO 00001142: PUSH0 00001143: PUSH2 0x0f73 00001146: JUMP 00001147: JUMPDEST 00001148: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00001169: PUSH0 0000116a: MSTORE 0000116b: PUSH1 0x32 0000116d: PUSH1 0x04 0000116f: MSTORE 00001170: PUSH1 0x24 00001172: PUSH0 00001173: REVERT 00001174: JUMPDEST 00001175: PUSH1 0x02 00001177: SLOAD 00001178: DUP2 00001179: LT 0000117a: ISZERO 0000117b: PUSH2 0x11a9 0000117e: JUMPI 0000117f: PUSH1 0x02 00001181: PUSH0 00001182: MSTORE 00001183: PUSH32 0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace 000011a4: ADD 000011a5: SWAP1 000011a6: PUSH0 000011a7: SWAP1 000011a8: JUMP 000011a9: JUMPDEST 000011aa: PUSH2 0x1147 000011ad: JUMP 000011ae: JUMPDEST 000011af: CALLVALUE 000011b0: PUSH2 0x0015 000011b3: JUMPI 000011b4: PUSH1 0x20 000011b6: PUSH1 0x03 000011b8: NOT 000011b9: CALLDATASIZE 000011ba: ADD 000011bb: SLT 000011bc: PUSH2 0x0015 000011bf: JUMPI 000011c0: PUSH1 0x04 000011c2: CALLDATALOAD 000011c3: PUSH1 0x02 000011c5: SLOAD 000011c6: DUP2 000011c7: LT 000011c8: ISZERO 000011c9: PUSH2 0x0015 000011cc: JUMPI 000011cd: PUSH1 0x01 000011cf: PUSH1 0x01 000011d1: PUSH1 0xa0 000011d3: SHL 000011d4: SUB 000011d5: PUSH1 0x20 000011d7: SWAP2 000011d8: PUSH1 0x02 000011da: PUSH0 000011db: MSTORE 000011dc: PUSH32 0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace 000011fd: ADD 000011fe: SLOAD 000011ff: AND 00001200: PUSH1 0x40 00001202: MLOAD 00001203: SWAP1 00001204: DUP2 00001205: MSTORE 00001206: RETURN 00001207: JUMPDEST 00001208: CALLVALUE 00001209: PUSH2 0x0015 0000120c: JUMPI 0000120d: PUSH0 0000120e: PUSH1 0x03 00001210: NOT 00001211: CALLDATASIZE 00001212: ADD 00001213: SLT 00001214: PUSH2 0x0015 00001217: JUMPI 00001218: PUSH1 0x01 0000121a: PUSH1 0x01 0000121c: PUSH1 0xa0 0000121e: SHL 0000121f: SUB 00001220: PUSH32 0x0000000000000000000000001cb489ef513e1cc35c4657c91853a2e6ff1957de 00001241: AND 00001242: ADDRESS 00001243: SUB 00001244: PUSH2 0x1271 00001247: JUMPI 00001248: PUSH1 0x20 0000124a: PUSH1 0x40 0000124c: MLOAD 0000124d: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc 0000126e: DUP2 0000126f: MSTORE 00001270: RETURN 00001271: JUMPDEST 00001272: PUSH1 0x04 00001274: PUSH1 0x40 00001276: MLOAD 00001277: PUSH32 0xe07c8dba00000000000000000000000000000000000000000000000000000000 00001298: DUP2 00001299: MSTORE 0000129a: REVERT 0000129b: JUMPDEST 0000129c: CALLVALUE 0000129d: PUSH2 0x0015 000012a0: JUMPI 000012a1: PUSH1 0x20 000012a3: PUSH1 0x03 000012a5: NOT 000012a6: CALLDATASIZE 000012a7: ADD 000012a8: SLT 000012a9: PUSH2 0x0015 000012ac: JUMPI 000012ad: PUSH2 0x12b7 000012b0: PUSH1 0x04 000012b2: CALLDATALOAD 000012b3: PUSH2 0x368f 000012b6: JUMP 000012b7: JUMPDEST 000012b8: PUSH1 0x03 000012ba: SLOAD 000012bb: PUSH1 0x01 000012bd: PUSH1 0x01 000012bf: PUSH1 0xa0 000012c1: SHL 000012c2: SUB 000012c3: AND 000012c4: SWAP1 000012c5: PUSH1 0x04 000012c7: PUSH1 0x40 000012c9: DUP1 000012ca: SWAP4 000012cb: DUP2 000012cc: MLOAD 000012cd: SWAP3 000012ce: DUP4 000012cf: DUP1 000012d0: SWAP3 000012d1: PUSH32 0xa0a8045e00000000000000000000000000000000000000000000000000000000 000012f2: DUP3 000012f3: MSTORE 000012f4: GAS 000012f5: STATICCALL 000012f6: SWAP1 000012f7: DUP2 000012f8: ISZERO 000012f9: PUSH2 0x139c 000012fc: JUMPI 000012fd: PUSH0 000012fe: SWAP1 000012ff: PUSH0 00001300: SWAP3 00001301: PUSH2 0x136c 00001304: JUMPI 00001305: JUMPDEST 00001306: POP 00001307: DUP1 00001308: ISZERO 00001309: PUSH2 0x1343 0000130c: JUMPI 0000130d: PUSH2 0x04bd 00001310: SWAP2 00001311: PUSH2 0x1326 00001314: PUSH2 0x1320 00001317: PUSH2 0x132c 0000131a: SWAP4 0000131b: DUP7 0000131c: PUSH2 0x2e48 0000131f: JUMP 00001320: JUMPDEST 00001321: SWAP2 00001322: PUSH2 0x2e60 00001325: JUMP 00001326: JUMPDEST 00001327: SWAP1 00001328: PUSH2 0x2e9e 0000132b: JUMP 0000132c: JUMPDEST 0000132d: SWAP3 0000132e: MLOAD 0000132f: SWAP2 00001330: DUP3 00001331: MSTORE 00001332: PUSH1 0x20 00001334: DUP3 00001335: ADD 00001336: SWAP3 00001337: SWAP1 00001338: SWAP3 00001339: MSTORE 0000133a: SWAP1 0000133b: DUP2 0000133c: SWAP1 0000133d: PUSH1 0x40 0000133f: DUP3 00001340: ADD 00001341: SWAP1 00001342: JUMP 00001343: JUMPDEST 00001344: PUSH1 0x04 00001346: DUP5 00001347: MLOAD 00001348: PUSH32 0x68a7617000000000000000000000000000000000000000000000000000000000 00001369: DUP2 0000136a: MSTORE 0000136b: REVERT 0000136c: JUMPDEST 0000136d: SWAP1 0000136e: POP 0000136f: PUSH2 0x138e 00001372: SWAP2 00001373: POP 00001374: DUP4 00001375: RETURNDATASIZE 00001376: DUP6 00001377: GT 00001378: PUSH2 0x1395 0000137b: JUMPI 0000137c: JUMPDEST 0000137d: PUSH2 0x1386 00001380: DUP2 00001381: DUP4 00001382: PUSH2 0x0ce7 00001385: JUMP 00001386: JUMPDEST 00001387: DUP2 00001388: ADD 00001389: SWAP1 0000138a: PUSH2 0x308a 0000138d: JUMP 0000138e: JUMPDEST 0000138f: SWAP1 00001390: PUSH0 00001391: PUSH2 0x1305 00001394: JUMP 00001395: JUMPDEST 00001396: POP 00001397: RETURNDATASIZE 00001398: PUSH2 0x137c 0000139b: JUMP 0000139c: JUMPDEST 0000139d: PUSH2 0x2a84 000013a0: JUMP 000013a1: JUMPDEST 000013a2: CALLVALUE 000013a3: PUSH2 0x0015 000013a6: JUMPI 000013a7: PUSH1 0x20 000013a9: PUSH2 0x0c15 000013ac: PUSH2 0x13b4 000013af: CALLDATASIZE 000013b0: PUSH2 0x0df2 000013b3: JUMP 000013b4: JUMPDEST 000013b5: SWAP1 000013b6: PUSH2 0x30b3 000013b9: JUMP 000013ba: JUMPDEST 000013bb: CALLVALUE 000013bc: PUSH2 0x0015 000013bf: JUMPI 000013c0: PUSH0 000013c1: PUSH1 0x03 000013c3: NOT 000013c4: CALLDATASIZE 000013c5: ADD 000013c6: SLT 000013c7: PUSH2 0x0015 000013ca: JUMPI 000013cb: PUSH1 0x20 000013cd: PUSH1 0xff 000013cf: PUSH32 0xcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300 000013f0: SLOAD 000013f1: AND 000013f2: PUSH1 0x40 000013f4: MLOAD 000013f5: SWAP1 000013f6: ISZERO 000013f7: ISZERO 000013f8: DUP2 000013f9: MSTORE 000013fa: RETURN 000013fb: JUMPDEST 000013fc: CALLVALUE 000013fd: PUSH2 0x0015 00001400: JUMPI 00001401: PUSH0 00001402: PUSH1 0x03 00001404: NOT 00001405: CALLDATASIZE 00001406: ADD 00001407: SLT 00001408: PUSH2 0x0015 0000140b: JUMPI 0000140c: PUSH1 0x01 0000140e: PUSH1 0x01 00001410: PUSH1 0xa0 00001412: SHL 00001413: SUB 00001414: DUP1 00001415: PUSH32 0x0fe544e960ecab9b6f1eee0df869972d09c3c135c0d116422cce176351b52237 00001436: SLOAD 00001437: AND 00001438: CALLER 00001439: SUB 0000143a: PUSH2 0x14bd 0000143d: JUMPI 0000143e: CALLER 0000143f: ISZERO 00001440: PUSH2 0x1493 00001443: JUMPI 00001444: PUSH32 0x7d8b90e89a676f7a8a3cf40a0c23c3d2ea61cec6ae800738fbd79bc111b5ea87 00001465: SWAP1 00001466: CALLER 00001467: SWAP1 00001468: DUP3 00001469: SLOAD 0000146a: AND 0000146b: PUSH32 0xc7c0c772add429241571afb3805861fb3cfa2af374534088b76cdb4325a87e9a 0000148c: PUSH0 0000148d: DUP1 0000148e: LOG3 0000148f: CALLER 00001490: SWAP1 00001491: SSTORE 00001492: STOP 00001493: JUMPDEST 00001494: PUSH1 0x04 00001496: PUSH1 0x40 00001498: MLOAD 00001499: PUSH32 0x8843aaaf00000000000000000000000000000000000000000000000000000000 000014ba: DUP2 000014bb: MSTORE 000014bc: REVERT 000014bd: JUMPDEST 000014be: PUSH1 0x04 000014c0: PUSH1 0x40 000014c2: MLOAD 000014c3: PUSH32 0x9ba0305d00000000000000000000000000000000000000000000000000000000 000014e4: DUP2 000014e5: MSTORE 000014e6: REVERT 000014e7: JUMPDEST 000014e8: CALLVALUE 000014e9: PUSH2 0x0015 000014ec: JUMPI 000014ed: PUSH1 0x40 000014ef: PUSH1 0x03 000014f1: NOT 000014f2: CALLDATASIZE 000014f3: ADD 000014f4: SLT 000014f5: PUSH2 0x0015 000014f8: JUMPI 000014f9: PUSH1 0x24 000014fb: CALLDATALOAD 000014fc: PUSH1 0x04 000014fe: DUP2 000014ff: LT 00001500: ISZERO 00001501: PUSH2 0x0015 00001504: JUMPI 00001505: PUSH2 0x0c15 00001508: PUSH1 0x20 0000150a: SWAP2 0000150b: PUSH1 0x04 0000150d: CALLDATALOAD 0000150e: PUSH2 0x3261 00001511: JUMP 00001512: JUMPDEST 00001513: CALLVALUE 00001514: PUSH2 0x0015 00001517: JUMPI 00001518: PUSH1 0x40 0000151a: PUSH1 0x03 0000151c: NOT 0000151d: CALLDATASIZE 0000151e: ADD 0000151f: SLT 00001520: PUSH2 0x0015 00001523: JUMPI 00001524: PUSH1 0x20 00001526: PUSH2 0x0c15 00001529: PUSH2 0x1530 0000152c: PUSH2 0x066d 0000152f: JUMP 00001530: JUMPDEST 00001531: PUSH2 0x1573 00001534: PUSH2 0x153b 00001537: PUSH2 0x0683 0000153a: JUMP 0000153b: JUMPDEST 0000153c: SWAP2 0000153d: PUSH1 0x01 0000153f: PUSH1 0x01 00001541: PUSH1 0xa0 00001543: SHL 00001544: SUB 00001545: AND 00001546: PUSH0 00001547: MSTORE 00001548: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00 00001569: PUSH1 0x20 0000156b: MSTORE 0000156c: PUSH1 0x40 0000156e: PUSH0 0000156f: KECCAK256 00001570: SLOAD 00001571: SWAP1 00001572: JUMP 00001573: JUMPDEST 00001574: PUSH2 0x32e0 00001577: JUMP 00001578: JUMPDEST 00001579: PUSH0 0000157a: PUSH1 0x03 0000157c: NOT 0000157d: CALLDATASIZE 0000157e: ADD 0000157f: SLT 00001580: PUSH2 0x0015 00001583: JUMPI 00001584: PUSH2 0x158b 00001587: PUSH2 0x398c 0000158a: JUMP 0000158b: JUMPDEST 0000158c: PUSH1 0x0c 0000158e: SLOAD 0000158f: DUP1 00001590: ISZERO 00001591: PUSH2 0x1670 00001594: JUMPI 00001595: CALLVALUE 00001596: SUB 00001597: PUSH2 0x1646 0000159a: JUMPI 0000159b: PUSH2 0x15a2 0000159e: PUSH2 0x398c 000015a1: JUMP 000015a2: JUMPDEST 000015a3: PUSH32 0xcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300 000015c4: PUSH1 0x01 000015c6: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 000015e7: DUP3 000015e8: SLOAD 000015e9: AND 000015ea: OR 000015eb: SWAP1 000015ec: SSTORE 000015ed: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258 0000160e: PUSH1 0x20 00001610: PUSH1 0x40 00001612: MLOAD 00001613: CALLER 00001614: DUP2 00001615: MSTORE 00001616: LOG1 00001617: PUSH2 0x161f 0000161a: CALLVALUE 0000161b: PUSH1 0x0d 0000161d: SSTORE 0000161e: JUMP 0000161f: JUMPDEST 00001620: CALLER 00001621: PUSH32 0xfd7ee573b5f0025377dc7fc832e85c1f9a1bf8c0ab7f9ba6fdc741d117b444ed 00001642: PUSH0 00001643: DUP1 00001644: LOG2 00001645: STOP 00001646: JUMPDEST 00001647: PUSH1 0x04 00001649: PUSH1 0x40 0000164b: MLOAD 0000164c: PUSH32 0x95b0fc1c00000000000000000000000000000000000000000000000000000000 0000166d: DUP2 0000166e: MSTORE 0000166f: REVERT 00001670: JUMPDEST 00001671: PUSH1 0x04 00001673: PUSH1 0x40 00001675: MLOAD 00001676: PUSH32 0x400f6a8700000000000000000000000000000000000000000000000000000000 00001697: DUP2 00001698: MSTORE 00001699: REVERT 0000169a: JUMPDEST 0000169b: CALLVALUE 0000169c: PUSH2 0x0015 0000169f: JUMPI 000016a0: PUSH0 000016a1: PUSH1 0x03 000016a3: NOT 000016a4: CALLDATASIZE 000016a5: ADD 000016a6: SLT 000016a7: PUSH2 0x0015 000016aa: JUMPI 000016ab: PUSH2 0x04bd 000016ae: PUSH2 0x16b5 000016b1: PUSH2 0x291d 000016b4: JUMP 000016b5: JUMPDEST 000016b6: PUSH1 0x40 000016b8: MLOAD 000016b9: SWAP2 000016ba: DUP3 000016bb: SWAP2 000016bc: PUSH1 0x20 000016be: DUP4 000016bf: MSTORE 000016c0: PUSH1 0x20 000016c2: DUP4 000016c3: ADD 000016c4: SWAP1 000016c5: PUSH2 0x03fe 000016c8: JUMP 000016c9: JUMPDEST 000016ca: CALLVALUE 000016cb: PUSH2 0x0015 000016ce: JUMPI 000016cf: PUSH1 0x20 000016d1: PUSH1 0x03 000016d3: NOT 000016d4: CALLDATASIZE 000016d5: ADD 000016d6: SLT 000016d7: PUSH2 0x0015 000016da: JUMPI 000016db: PUSH1 0x20 000016dd: PUSH2 0x0c15 000016e0: PUSH2 0x16e7 000016e3: PUSH2 0x066d 000016e6: JUMP 000016e7: JUMPDEST 000016e8: PUSH1 0x01 000016ea: PUSH1 0x01 000016ec: PUSH1 0xa0 000016ee: SHL 000016ef: SUB 000016f0: AND 000016f1: PUSH0 000016f2: MSTORE 000016f3: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00 00001714: PUSH1 0x20 00001716: MSTORE 00001717: PUSH1 0x40 00001719: PUSH0 0000171a: KECCAK256 0000171b: SLOAD 0000171c: SWAP1 0000171d: JUMP 0000171e: JUMPDEST 0000171f: CALLVALUE 00001720: PUSH2 0x0015 00001723: JUMPI 00001724: PUSH1 0x20 00001726: PUSH1 0x03 00001728: NOT 00001729: CALLDATASIZE 0000172a: ADD 0000172b: SLT 0000172c: PUSH2 0x0015 0000172f: JUMPI 00001730: PUSH1 0x01 00001732: PUSH1 0x01 00001734: PUSH1 0xa0 00001736: SHL 00001737: SUB 00001738: PUSH2 0x173f 0000173b: PUSH2 0x066d 0000173e: JUMP 0000173f: JUMPDEST 00001740: AND 00001741: PUSH0 00001742: MSTORE 00001743: PUSH32 0x5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00 00001764: PUSH1 0x20 00001766: MSTORE 00001767: PUSH1 0x20 00001769: PUSH1 0x40 0000176b: PUSH0 0000176c: KECCAK256 0000176d: SLOAD 0000176e: PUSH1 0x40 00001770: MLOAD 00001771: SWAP1 00001772: DUP2 00001773: MSTORE 00001774: RETURN 00001775: JUMPDEST 00001776: CALLVALUE 00001777: PUSH2 0x0015 0000177a: JUMPI 0000177b: PUSH0 0000177c: PUSH1 0x03 0000177e: NOT 0000177f: CALLDATASIZE 00001780: ADD 00001781: SLT 00001782: PUSH2 0x0015 00001785: JUMPI 00001786: PUSH1 0x20 00001788: PUSH1 0x40 0000178a: MLOAD 0000178b: PUSH2 0x2710 0000178e: DUP2 0000178f: MSTORE 00001790: RETURN 00001791: JUMPDEST 00001792: SWAP2 00001793: SWAP4 00001794: PUSH2 0x17ea 00001797: PUSH2 0x0492 0000179a: SWAP7 0000179b: SWAP5 0000179c: SWAP6 0000179d: PUSH2 0x17dc 000017a0: PUSH1 0x01 000017a2: PUSH1 0x01 000017a4: PUSH1 0xa0 000017a6: SHL 000017a7: SUB 000017a8: SWAP5 000017a9: PUSH32 0x0f00000000000000000000000000000000000000000000000000000000000000 000017ca: DUP8 000017cb: MSTORE 000017cc: PUSH1 0xe0 000017ce: PUSH1 0x20 000017d0: DUP9 000017d1: ADD 000017d2: MSTORE 000017d3: PUSH1 0xe0 000017d5: DUP8 000017d6: ADD 000017d7: SWAP1 000017d8: PUSH2 0x04c1 000017db: JUMP 000017dc: JUMPDEST 000017dd: SWAP1 000017de: DUP6 000017df: DUP3 000017e0: SUB 000017e1: PUSH1 0x40 000017e3: DUP8 000017e4: ADD 000017e5: MSTORE 000017e6: PUSH2 0x04c1 000017e9: JUMP 000017ea: JUMPDEST 000017eb: SWAP5 000017ec: PUSH1 0x60 000017ee: DUP5 000017ef: ADD 000017f0: MSTORE 000017f1: AND 000017f2: PUSH1 0x80 000017f4: DUP3 000017f5: ADD 000017f6: MSTORE 000017f7: PUSH0 000017f8: PUSH1 0xa0 000017fa: DUP3 000017fb: ADD 000017fc: MSTORE 000017fd: PUSH1 0xc0 000017ff: DUP2 00001800: DUP5 00001801: SUB 00001802: SWAP2 00001803: ADD 00001804: MSTORE 00001805: PUSH2 0x043a 00001808: JUMP 00001809: JUMPDEST 0000180a: CALLVALUE 0000180b: PUSH2 0x0015 0000180e: JUMPI 0000180f: PUSH0 00001810: PUSH1 0x03 00001812: NOT 00001813: CALLDATASIZE 00001814: ADD 00001815: SLT 00001816: PUSH2 0x0015 00001819: JUMPI 0000181a: PUSH32 0xa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100 0000183b: SLOAD 0000183c: ISZERO 0000183d: DUP1 0000183e: PUSH2 0x18d1 00001841: JUMPI 00001842: JUMPDEST 00001843: ISZERO 00001844: PUSH2 0x1873 00001847: JUMPI 00001848: PUSH2 0x184f 0000184b: PUSH2 0x2b43 0000184e: JUMP 0000184f: JUMPDEST 00001850: PUSH2 0x1857 00001853: PUSH2 0x2c7b 00001856: JUMP 00001857: JUMPDEST 00001858: SWAP1 00001859: PUSH2 0x04bd 0000185c: PUSH2 0x1863 0000185f: PUSH2 0x2a09 00001862: JUMP 00001863: JUMPDEST 00001864: PUSH1 0x40 00001866: MLOAD 00001867: SWAP4 00001868: DUP5 00001869: SWAP4 0000186a: ADDRESS 0000186b: SWAP2 0000186c: CHAINID 0000186d: SWAP2 0000186e: DUP7 0000186f: PUSH2 0x1791 00001872: JUMP 00001873: JUMPDEST 00001874: PUSH1 0x64 00001876: PUSH1 0x40 00001878: MLOAD 00001879: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000189a: DUP2 0000189b: MSTORE 0000189c: PUSH1 0x20 0000189e: PUSH1 0x04 000018a0: DUP3 000018a1: ADD 000018a2: MSTORE 000018a3: PUSH1 0x15 000018a5: PUSH1 0x24 000018a7: DUP3 000018a8: ADD 000018a9: MSTORE 000018aa: PUSH32 0x4549503731323a20556e696e697469616c697a65640000000000000000000000 000018cb: PUSH1 0x44 000018cd: DUP3 000018ce: ADD 000018cf: MSTORE 000018d0: REVERT 000018d1: JUMPDEST 000018d2: POP 000018d3: PUSH32 0xa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d101 000018f4: SLOAD 000018f5: ISZERO 000018f6: PUSH2 0x1842 000018f9: JUMP 000018fa: JUMPDEST 000018fb: CALLVALUE 000018fc: PUSH2 0x0015 000018ff: JUMPI 00001900: PUSH1 0x40 00001902: PUSH1 0x03 00001904: NOT 00001905: CALLDATASIZE 00001906: ADD 00001907: SLT 00001908: PUSH2 0x0015 0000190b: JUMPI 0000190c: PUSH1 0x20 0000190e: PUSH2 0x0c15 00001911: PUSH2 0x1918 00001914: PUSH2 0x0683 00001917: JUMP 00001918: JUMPDEST 00001919: PUSH1 0x04 0000191b: CALLDATALOAD 0000191c: PUSH2 0x32e0 0000191f: JUMP 00001920: JUMPDEST 00001921: CALLVALUE 00001922: PUSH2 0x0015 00001925: JUMPI 00001926: PUSH1 0x20 00001928: PUSH1 0x03 0000192a: NOT 0000192b: CALLDATASIZE 0000192c: ADD 0000192d: SLT 0000192e: PUSH2 0x0015 00001931: JUMPI 00001932: PUSH1 0x01 00001934: PUSH1 0x01 00001936: PUSH1 0xa0 00001938: SHL 00001939: SUB 0000193a: PUSH2 0x1941 0000193d: PUSH2 0x066d 00001940: JUMP 00001941: JUMPDEST 00001942: AND 00001943: PUSH0 00001944: MSTORE 00001945: PUSH1 0x08 00001947: PUSH1 0x20 00001949: MSTORE 0000194a: PUSH1 0x20 0000194c: PUSH1 0xff 0000194e: PUSH1 0x40 00001950: PUSH0 00001951: KECCAK256 00001952: SLOAD 00001953: AND 00001954: PUSH1 0x40 00001956: MLOAD 00001957: SWAP1 00001958: ISZERO 00001959: ISZERO 0000195a: DUP2 0000195b: MSTORE 0000195c: RETURN 0000195d: JUMPDEST 0000195e: CALLVALUE 0000195f: PUSH2 0x0015 00001962: JUMPI 00001963: PUSH0 00001964: PUSH1 0x03 00001966: NOT 00001967: CALLDATASIZE 00001968: ADD 00001969: SLT 0000196a: PUSH2 0x0015 0000196d: JUMPI 0000196e: PUSH1 0x40 00001970: MLOAD 00001971: PUSH0 00001972: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04 00001993: SLOAD 00001994: PUSH1 0x01 00001996: DUP2 00001997: PUSH1 0x01 00001999: SHR 0000199a: SWAP2 0000199b: PUSH1 0x01 0000199d: DUP2 0000199e: AND 0000199f: SWAP2 000019a0: DUP3 000019a1: ISZERO 000019a2: PUSH2 0x1a52 000019a5: JUMPI 000019a6: JUMPDEST 000019a7: PUSH1 0x20 000019a9: SWAP2 000019aa: PUSH1 0x20 000019ac: DUP6 000019ad: LT 000019ae: DUP5 000019af: EQ 000019b0: PUSH2 0x0636 000019b3: JUMPI 000019b4: DUP5 000019b5: DUP8 000019b6: MSTORE 000019b7: PUSH1 0x20 000019b9: DUP8 000019ba: ADD 000019bb: SWAP4 000019bc: SWAP1 000019bd: DUP2 000019be: ISZERO 000019bf: PUSH2 0x05f9 000019c2: JUMPI 000019c3: POP 000019c4: PUSH1 0x01 000019c6: EQ 000019c7: PUSH2 0x19da 000019ca: JUMPI 000019cb: PUSH2 0x04bd 000019ce: DUP7 000019cf: PUSH2 0x0575 000019d2: DUP2 000019d3: DUP9 000019d4: SUB 000019d5: DUP3 000019d6: PUSH2 0x0ce7 000019d9: JUMP 000019da: JUMPDEST 000019db: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04 000019fc: PUSH0 000019fd: SWAP1 000019fe: DUP2 000019ff: MSTORE 00001a00: SWAP5 00001a01: POP 00001a02: SWAP2 00001a03: SWAP3 00001a04: SWAP2 00001a05: PUSH32 0x46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa 00001a26: JUMPDEST 00001a27: DUP4 00001a28: DUP7 00001a29: LT 00001a2a: PUSH2 0x1a41 00001a2d: JUMPI 00001a2e: POP 00001a2f: POP 00001a30: POP 00001a31: SWAP2 00001a32: ADD 00001a33: SWAP1 00001a34: POP 00001a35: PUSH2 0x0575 00001a38: DUP3 00001a39: PUSH2 0x04bd 00001a3c: PUSH0 00001a3d: PUSH2 0x0565 00001a40: JUMP 00001a41: JUMPDEST 00001a42: DUP1 00001a43: SLOAD 00001a44: DUP6 00001a45: DUP8 00001a46: ADD 00001a47: MSTORE 00001a48: SWAP5 00001a49: DUP3 00001a4a: ADD 00001a4b: SWAP5 00001a4c: DUP2 00001a4d: ADD 00001a4e: PUSH2 0x1a26 00001a51: JUMP 00001a52: JUMPDEST 00001a53: SWAP3 00001a54: PUSH1 0x7f 00001a56: AND 00001a57: SWAP3 00001a58: PUSH2 0x19a6 00001a5b: JUMP 00001a5c: JUMPDEST 00001a5d: CALLVALUE 00001a5e: PUSH2 0x0015 00001a61: JUMPI 00001a62: PUSH1 0x60 00001a64: PUSH1 0x03 00001a66: NOT 00001a67: CALLDATASIZE 00001a68: ADD 00001a69: SLT 00001a6a: PUSH2 0x0015 00001a6d: JUMPI 00001a6e: PUSH8 0xffffffffffffffff 00001a77: PUSH1 0x04 00001a79: DUP1 00001a7a: CALLDATALOAD 00001a7b: DUP3 00001a7c: DUP2 00001a7d: GT 00001a7e: PUSH2 0x0015 00001a81: JUMPI 00001a82: PUSH2 0x1a8e 00001a85: SWAP1 00001a86: CALLDATASIZE 00001a87: SWAP1 00001a88: DUP4 00001a89: ADD 00001a8a: PUSH2 0x0d22 00001a8d: JUMP 00001a8e: JUMPDEST 00001a8f: SWAP2 00001a90: PUSH1 0x24 00001a92: CALLDATALOAD 00001a93: SWAP1 00001a94: DUP2 00001a95: GT 00001a96: PUSH2 0x0015 00001a99: JUMPI 00001a9a: PUSH2 0x1aa6 00001a9d: SWAP1 00001a9e: CALLDATASIZE 00001a9f: SWAP1 00001aa0: DUP4 00001aa1: ADD 00001aa2: PUSH2 0x0d92 00001aa5: JUMP 00001aa6: JUMPDEST 00001aa7: SWAP2 00001aa8: PUSH2 0x1aaf 00001aab: PUSH2 0x0699 00001aae: JUMP 00001aaf: JUMPDEST 00001ab0: PUSH2 0x1ab7 00001ab3: PUSH2 0x398c 00001ab6: JUMP 00001ab7: JUMPDEST 00001ab8: CALLER 00001ab9: PUSH0 00001aba: MSTORE 00001abb: PUSH1 0x01 00001abd: PUSH1 0x20 00001abf: MSTORE 00001ac0: PUSH1 0x40 00001ac2: SWAP4 00001ac3: PUSH1 0xff 00001ac5: DUP6 00001ac6: PUSH0 00001ac7: KECCAK256 00001ac8: SLOAD 00001ac9: AND 00001aca: ISZERO 00001acb: PUSH2 0x1d19 00001ace: JUMPI 00001acf: PUSH2 0x1ad6 00001ad2: PUSH2 0x39e1 00001ad5: JUMP 00001ad6: JUMPDEST 00001ad7: DUP3 00001ad8: MLOAD 00001ad9: DUP2 00001ada: MLOAD 00001adb: SUB 00001adc: PUSH2 0x1cf1 00001adf: JUMPI 00001ae0: PUSH1 0x01 00001ae2: PUSH1 0x01 00001ae4: PUSH1 0xa0 00001ae6: SHL 00001ae7: SUB 00001ae8: DUP3 00001ae9: AND 00001aea: SWAP5 00001aeb: DUP6 00001aec: ISZERO 00001aed: PUSH2 0x1cc9 00001af0: JUMPI 00001af1: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02 00001b12: SLOAD 00001b13: ISZERO 00001b14: SWAP5 00001b15: PUSH2 0x1b1c 00001b18: PUSH2 0x3639 00001b1b: JUMP 00001b1c: JUMPDEST 00001b1d: DUP7 00001b1e: PUSH2 0x1b27 00001b21: DUP6 00001b22: DUP9 00001b23: PUSH2 0x3027 00001b26: JUMP 00001b27: JUMPDEST 00001b28: SWAP7 00001b29: SWAP1 00001b2a: SWAP9 00001b2b: PUSH2 0x1c50 00001b2e: JUMPI 00001b2f: JUMPDEST 00001b30: PUSH2 0x1b60 00001b33: PUSH2 0x1b5c 00001b36: PUSH2 0x1b57 00001b39: PUSH2 0x1b42 00001b3c: DUP11 00001b3d: DUP14 00001b3e: PUSH2 0x30a6 00001b41: JUMP 00001b42: JUMPDEST 00001b43: PUSH16 0xffffffffffffffffffffffffffffffff 00001b54: AND 00001b55: SWAP1 00001b56: JUMP 00001b57: JUMPDEST 00001b58: PUSH2 0x3af9 00001b5b: JUMP 00001b5c: JUMPDEST 00001b5d: ISZERO 00001b5e: SWAP1 00001b5f: JUMP 00001b60: JUMPDEST 00001b61: PUSH2 0x1c28 00001b64: JUMPI 00001b65: DUP9 00001b66: ISZERO 00001b67: PUSH2 0x1c00 00001b6a: JUMPI 00001b6b: PUSH2 0x1b77 00001b6e: SWAP1 00001b6f: DUP8 00001b70: DUP11 00001b71: DUP9 00001b72: DUP12 00001b73: PUSH2 0x3ba5 00001b76: JUMP 00001b77: JUMPDEST 00001b78: PUSH2 0x1b7f 00001b7b: PUSH2 0x3cd5 00001b7e: JUMP 00001b7f: JUMPDEST 00001b80: PUSH2 0x1b87 00001b83: PUSH2 0x3639 00001b86: JUMP 00001b87: JUMPDEST 00001b88: SWAP1 00001b89: ISZERO 00001b8a: SWAP2 00001b8b: DUP3 00001b8c: PUSH2 0x1bf6 00001b8f: JUMPI 00001b90: JUMPDEST 00001b91: POP 00001b92: POP 00001b93: PUSH2 0x1bd0 00001b96: JUMPI 00001b97: POP 00001b98: PUSH32 0x6fa8234a2db30e7490b3e314f2d1783c1de3ec2bf7be5f873d2a9d4f7b8bdf3d 00001bb9: SWAP4 00001bba: SWAP3 00001bbb: SWAP2 00001bbc: PUSH2 0x1bcb 00001bbf: SWAP2 00001bc0: MLOAD 00001bc1: SWAP4 00001bc2: DUP5 00001bc3: SWAP4 00001bc4: CALLER 00001bc5: SWAP8 00001bc6: DUP6 00001bc7: PUSH2 0x33a3 00001bca: JUMP 00001bcb: JUMPDEST 00001bcc: SUB 00001bcd: SWAP1 00001bce: LOG3 00001bcf: STOP 00001bd0: JUMPDEST 00001bd1: SWAP1 00001bd2: MLOAD 00001bd3: PUSH31 0xb6e3b800000000000000000000000000000000000000000000000000000000 00001bf3: DUP2 00001bf4: MSTORE 00001bf5: REVERT 00001bf6: JUMPDEST 00001bf7: GT 00001bf8: SWAP1 00001bf9: POP 00001bfa: PUSH0 00001bfb: DUP1 00001bfc: PUSH2 0x1b90 00001bff: JUMP 00001c00: JUMPDEST 00001c01: DUP4 00001c02: DUP6 00001c03: MLOAD 00001c04: PUSH32 0xc48af02400000000000000000000000000000000000000000000000000000000 00001c25: DUP2 00001c26: MSTORE 00001c27: REVERT 00001c28: JUMPDEST 00001c29: DUP4 00001c2a: DUP6 00001c2b: MLOAD 00001c2c: PUSH32 0xa74c1c5f00000000000000000000000000000000000000000000000000000000 00001c4d: DUP2 00001c4e: MSTORE 00001c4f: REVERT 00001c50: JUMPDEST 00001c51: PUSH2 0x1cc4 00001c54: PUSH2 0x1c82 00001c57: PUSH2 0x1c6f 00001c5a: PUSH2 0x1c7c 00001c5d: PUSH2 0x1c6f 00001c60: PUSH1 0x06 00001c62: SLOAD 00001c63: PUSH8 0xffffffffffffffff 00001c6c: AND 00001c6d: SWAP1 00001c6e: JUMP 00001c6f: JUMPDEST 00001c70: PUSH8 0xffffffffffffffff 00001c79: AND 00001c7a: SWAP1 00001c7b: JUMP 00001c7c: JUMPDEST 00001c7d: TIMESTAMP 00001c7e: PUSH2 0x30a6 00001c81: JUMP 00001c82: JUMPDEST 00001c83: PUSH32 0xffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff 00001ca4: PUSH16 0xffffffffffffffff0000000000000000 00001cb5: PUSH1 0x06 00001cb7: SLOAD 00001cb8: SWAP3 00001cb9: PUSH1 0x40 00001cbb: SHL 00001cbc: AND 00001cbd: SWAP2 00001cbe: AND 00001cbf: OR 00001cc0: PUSH1 0x06 00001cc2: SSTORE 00001cc3: JUMP 00001cc4: JUMPDEST 00001cc5: PUSH2 0x1b2f 00001cc8: JUMP 00001cc9: JUMPDEST 00001cca: DUP5 00001ccb: SWAP1 00001ccc: MLOAD 00001ccd: PUSH32 0x9c8d2cd200000000000000000000000000000000000000000000000000000000 00001cee: DUP2 00001cef: MSTORE 00001cf0: REVERT 00001cf1: JUMPDEST 00001cf2: DUP4 00001cf3: DUP6 00001cf4: MLOAD 00001cf5: PUSH32 0xa24a13a600000000000000000000000000000000000000000000000000000000 00001d16: DUP2 00001d17: MSTORE 00001d18: REVERT 00001d19: JUMPDEST 00001d1a: DUP4 00001d1b: DUP6 00001d1c: MLOAD 00001d1d: PUSH32 0x0afa41a800000000000000000000000000000000000000000000000000000000 00001d3e: DUP2 00001d3f: MSTORE 00001d40: REVERT 00001d41: JUMPDEST 00001d42: CALLVALUE 00001d43: PUSH2 0x0015 00001d46: JUMPI 00001d47: PUSH0 00001d48: PUSH1 0x03 00001d4a: NOT 00001d4b: CALLDATASIZE 00001d4c: ADD 00001d4d: SLT 00001d4e: PUSH2 0x0015 00001d51: JUMPI 00001d52: PUSH1 0x20 00001d54: PUSH1 0x0c 00001d56: SLOAD 00001d57: PUSH1 0x40 00001d59: MLOAD 00001d5a: SWAP1 00001d5b: DUP2 00001d5c: MSTORE 00001d5d: RETURN 00001d5e: JUMPDEST 00001d5f: CALLVALUE 00001d60: PUSH2 0x0015 00001d63: JUMPI 00001d64: PUSH1 0x40 00001d66: PUSH1 0x03 00001d68: NOT 00001d69: CALLDATASIZE 00001d6a: ADD 00001d6b: SLT 00001d6c: PUSH2 0x0015 00001d6f: JUMPI 00001d70: PUSH2 0x06d5 00001d73: PUSH2 0x1d7a 00001d76: PUSH2 0x066d 00001d79: JUMP 00001d7a: JUMPDEST 00001d7b: PUSH1 0x24 00001d7d: CALLDATALOAD 00001d7e: SWAP1 00001d7f: CALLER 00001d80: PUSH2 0x3479 00001d83: JUMP 00001d84: JUMPDEST 00001d85: CALLVALUE 00001d86: PUSH2 0x0015 00001d89: JUMPI 00001d8a: PUSH0 00001d8b: PUSH1 0x03 00001d8d: NOT 00001d8e: CALLDATASIZE 00001d8f: ADD 00001d90: SLT 00001d91: PUSH2 0x0015 00001d94: JUMPI 00001d95: PUSH1 0x40 00001d97: MLOAD 00001d98: PUSH1 0x40 00001d9a: DUP2 00001d9b: ADD 00001d9c: SWAP1 00001d9d: DUP1 00001d9e: DUP3 00001d9f: LT 00001da0: PUSH8 0xffffffffffffffff 00001da9: DUP4 00001daa: GT 00001dab: OR 00001dac: PUSH2 0x0cc6 00001daf: JUMPI 00001db0: PUSH2 0x04bd 00001db3: SWAP2 00001db4: PUSH1 0x40 00001db6: MSTORE 00001db7: PUSH1 0x05 00001db9: DUP2 00001dba: MSTORE 00001dbb: PUSH32 0x352e302e30000000000000000000000000000000000000000000000000000000 00001ddc: PUSH1 0x20 00001dde: DUP3 00001ddf: ADD 00001de0: MSTORE 00001de1: PUSH1 0x40 00001de3: MLOAD 00001de4: SWAP2 00001de5: DUP3 00001de6: SWAP2 00001de7: PUSH1 0x20 00001de9: DUP4 00001dea: MSTORE 00001deb: PUSH1 0x20 00001ded: DUP4 00001dee: ADD 00001def: SWAP1 00001df0: PUSH2 0x04c1 00001df3: JUMP 00001df4: JUMPDEST 00001df5: CALLVALUE 00001df6: PUSH2 0x0015 00001df9: JUMPI 00001dfa: PUSH1 0x20 00001dfc: PUSH1 0x03 00001dfe: NOT 00001dff: CALLDATASIZE 00001e00: ADD 00001e01: SLT 00001e02: PUSH2 0x0015 00001e05: JUMPI 00001e06: PUSH1 0x20 00001e08: PUSH2 0x0a0e 00001e0b: PUSH2 0x1e12 00001e0e: PUSH2 0x066d 00001e11: JUMP 00001e12: JUMPDEST 00001e13: PUSH1 0x01 00001e15: PUSH1 0x01 00001e17: PUSH1 0xa0 00001e19: SHL 00001e1a: SUB 00001e1b: AND 00001e1c: PUSH0 00001e1d: MSTORE 00001e1e: PUSH0 00001e1f: PUSH1 0x20 00001e21: MSTORE 00001e22: PUSH1 0xff 00001e24: PUSH1 0x40 00001e26: PUSH0 00001e27: KECCAK256 00001e28: SLOAD 00001e29: PUSH1 0x08 00001e2b: SHR 00001e2c: AND 00001e2d: SWAP1 00001e2e: JUMP 00001e2f: JUMPDEST 00001e30: CALLVALUE 00001e31: PUSH2 0x0015 00001e34: JUMPI 00001e35: PUSH0 00001e36: PUSH1 0x03 00001e38: NOT 00001e39: CALLDATASIZE 00001e3a: ADD 00001e3b: SLT 00001e3c: PUSH2 0x0015 00001e3f: JUMPI 00001e40: PUSH1 0x20 00001e42: PUSH1 0x01 00001e44: PUSH1 0x01 00001e46: PUSH1 0xa0 00001e48: SHL 00001e49: SUB 00001e4a: PUSH1 0x03 00001e4c: SLOAD 00001e4d: AND 00001e4e: PUSH1 0x40 00001e50: MLOAD 00001e51: SWAP1 00001e52: DUP2 00001e53: MSTORE 00001e54: RETURN 00001e55: JUMPDEST 00001e56: CALLVALUE 00001e57: PUSH2 0x0015 00001e5a: JUMPI 00001e5b: PUSH0 00001e5c: PUSH1 0x03 00001e5e: NOT 00001e5f: CALLDATASIZE 00001e60: ADD 00001e61: SLT 00001e62: PUSH2 0x0015 00001e65: JUMPI 00001e66: PUSH1 0x20 00001e68: PUSH1 0x09 00001e6a: SLOAD 00001e6b: PUSH1 0x40 00001e6d: MLOAD 00001e6e: SWAP1 00001e6f: DUP2 00001e70: MSTORE 00001e71: RETURN 00001e72: JUMPDEST 00001e73: CALLVALUE 00001e74: PUSH2 0x0015 00001e77: JUMPI 00001e78: PUSH1 0x20 00001e7a: PUSH1 0x03 00001e7c: NOT 00001e7d: CALLDATASIZE 00001e7e: ADD 00001e7f: SLT 00001e80: PUSH2 0x0015 00001e83: JUMPI 00001e84: PUSH2 0x04bd 00001e87: PUSH2 0x1e8e 00001e8a: PUSH2 0x066d 00001e8d: JUMP 00001e8e: JUMPDEST 00001e8f: PUSH1 0x01 00001e91: PUSH1 0x01 00001e93: PUSH1 0xa0 00001e95: SHL 00001e96: SUB 00001e97: PUSH1 0x40 00001e99: SWAP2 00001e9a: PUSH0 00001e9b: DUP4 00001e9c: DUP1 00001e9d: MLOAD 00001e9e: PUSH2 0x1ea6 00001ea1: DUP2 00001ea2: PUSH2 0x0caa 00001ea5: JUMP 00001ea6: JUMPDEST 00001ea7: DUP3 00001ea8: DUP2 00001ea9: MSTORE 00001eaa: DUP3 00001eab: PUSH1 0x20 00001ead: DUP3 00001eae: ADD 00001eaf: MSTORE 00001eb0: ADD 00001eb1: MSTORE 00001eb2: AND 00001eb3: PUSH0 00001eb4: MSTORE 00001eb5: PUSH0 00001eb6: PUSH1 0x20 00001eb8: MSTORE 00001eb9: DUP1 00001eba: PUSH0 00001ebb: KECCAK256 00001ebc: SWAP1 00001ebd: PUSH8 0xffffffffffffffff 00001ec6: DUP2 00001ec7: MLOAD 00001ec8: SWAP3 00001ec9: PUSH2 0x1ed1 00001ecc: DUP5 00001ecd: PUSH2 0x0caa 00001ed0: JUMP 00001ed1: JUMPDEST 00001ed2: SLOAD 00001ed3: PUSH1 0xff 00001ed5: DUP2 00001ed6: AND 00001ed7: ISZERO 00001ed8: ISZERO 00001ed9: DUP5 00001eda: MSTORE 00001edb: PUSH1 0xff 00001edd: DUP2 00001ede: PUSH1 0x08 00001ee0: SHR 00001ee1: AND 00001ee2: ISZERO 00001ee3: ISZERO 00001ee4: PUSH1 0x20 00001ee6: DUP6 00001ee7: ADD 00001ee8: MSTORE 00001ee9: PUSH1 0x10 00001eeb: SHR 00001eec: AND 00001eed: DUP2 00001eee: DUP4 00001eef: ADD 00001ef0: MSTORE 00001ef1: MLOAD 00001ef2: SWAP2 00001ef3: DUP3 00001ef4: SWAP2 00001ef5: DUP3 00001ef6: SWAP2 00001ef7: SWAP1 00001ef8: SWAP2 00001ef9: PUSH1 0x40 00001efb: PUSH8 0xffffffffffffffff 00001f04: DUP2 00001f05: PUSH1 0x60 00001f07: DUP5 00001f08: ADD 00001f09: SWAP6 00001f0a: DUP1 00001f0b: MLOAD 00001f0c: ISZERO 00001f0d: ISZERO 00001f0e: DUP6 00001f0f: MSTORE 00001f10: PUSH1 0x20 00001f12: DUP2 00001f13: ADD 00001f14: MLOAD 00001f15: ISZERO 00001f16: ISZERO 00001f17: PUSH1 0x20 00001f19: DUP7 00001f1a: ADD 00001f1b: MSTORE 00001f1c: ADD 00001f1d: MLOAD 00001f1e: AND 00001f1f: SWAP2 00001f20: ADD 00001f21: MSTORE 00001f22: JUMP 00001f23: JUMPDEST 00001f24: CALLVALUE 00001f25: PUSH2 0x0015 00001f28: JUMPI 00001f29: PUSH0 00001f2a: PUSH1 0x03 00001f2c: NOT 00001f2d: CALLDATASIZE 00001f2e: ADD 00001f2f: SLT 00001f30: PUSH2 0x0015 00001f33: JUMPI 00001f34: PUSH1 0x20 00001f36: PUSH2 0x0a0e 00001f39: PUSH1 0x01 00001f3b: PUSH1 0x01 00001f3d: PUSH1 0xa0 00001f3f: SHL 00001f40: SUB 00001f41: PUSH32 0x7d8b90e89a676f7a8a3cf40a0c23c3d2ea61cec6ae800738fbd79bc111b5ea87 00001f62: SLOAD 00001f63: AND 00001f64: CALLER 00001f65: EQ 00001f66: SWAP1 00001f67: JUMP 00001f68: JUMPDEST 00001f69: CALLVALUE 00001f6a: PUSH2 0x0015 00001f6d: JUMPI 00001f6e: PUSH1 0x20 00001f70: PUSH1 0x03 00001f72: NOT 00001f73: CALLDATASIZE 00001f74: ADD 00001f75: SLT 00001f76: PUSH2 0x0015 00001f79: JUMPI 00001f7a: PUSH2 0x1f81 00001f7d: PUSH2 0x066d 00001f80: JUMP 00001f81: JUMPDEST 00001f82: PUSH2 0x1fb4 00001f85: PUSH1 0x01 00001f87: PUSH1 0x01 00001f89: PUSH1 0xa0 00001f8b: SHL 00001f8c: SUB 00001f8d: PUSH32 0x7d8b90e89a676f7a8a3cf40a0c23c3d2ea61cec6ae800738fbd79bc111b5ea87 00001fae: SLOAD 00001faf: AND 00001fb0: CALLER 00001fb1: EQ 00001fb2: SWAP1 00001fb3: JUMP 00001fb4: JUMPDEST 00001fb5: ISZERO 00001fb6: PUSH2 0x2031 00001fb9: JUMPI 00001fba: DUP1 00001fbb: PUSH32 0x0fe544e960ecab9b6f1eee0df869972d09c3c135c0d116422cce176351b52237 00001fdc: SSTORE 00001fdd: PUSH1 0x01 00001fdf: PUSH1 0x01 00001fe1: PUSH1 0xa0 00001fe3: SHL 00001fe4: SUB 00001fe5: DUP1 00001fe6: PUSH32 0x7d8b90e89a676f7a8a3cf40a0c23c3d2ea61cec6ae800738fbd79bc111b5ea87 00002007: SLOAD 00002008: AND 00002009: SWAP2 0000200a: AND 0000200b: SWAP1 0000200c: PUSH32 0xa39cc5eb22d0f34d8beaefee8a3f17cc229c1a1d1ef87a5ad47313487b1c4f0d 0000202d: PUSH0 0000202e: DUP1 0000202f: LOG3 00002030: STOP 00002031: JUMPDEST 00002032: PUSH1 0x04 00002034: PUSH1 0x40 00002036: MLOAD 00002037: PUSH32 0xe0a8b92000000000000000000000000000000000000000000000000000000000 00002058: DUP2 00002059: MSTORE 0000205a: REVERT 0000205b: JUMPDEST 0000205c: PUSH1 0xff 0000205e: DUP2 0000205f: AND 00002060: SUB 00002061: PUSH2 0x0015 00002064: JUMPI 00002065: JUMP 00002066: JUMPDEST 00002067: CALLVALUE 00002068: PUSH2 0x0015 0000206b: JUMPI 0000206c: PUSH1 0xe0 0000206e: PUSH1 0x03 00002070: NOT 00002071: CALLDATASIZE 00002072: ADD 00002073: SLT 00002074: PUSH2 0x0015 00002077: JUMPI 00002078: PUSH2 0x207f 0000207b: PUSH2 0x066d 0000207e: JUMP 0000207f: JUMPDEST 00002080: PUSH2 0x2087 00002083: PUSH2 0x0683 00002086: JUMP 00002087: JUMPDEST 00002088: PUSH1 0x44 0000208a: CALLDATALOAD 0000208b: SWAP1 0000208c: PUSH1 0x64 0000208e: CALLDATALOAD 0000208f: PUSH1 0x84 00002091: CALLDATALOAD 00002092: PUSH2 0x209a 00002095: DUP2 00002096: PUSH2 0x205b 00002099: JUMP 0000209a: JUMPDEST 0000209b: DUP2 0000209c: TIMESTAMP 0000209d: GT 0000209e: PUSH2 0x21da 000020a1: JUMPI 000020a2: SWAP1 000020a3: PUSH2 0x2154 000020a6: PUSH2 0x217a 000020a9: SWAP3 000020aa: PUSH2 0x2162 000020ad: PUSH2 0x20ef 000020b0: DUP9 000020b1: PUSH1 0x01 000020b3: PUSH1 0x01 000020b5: PUSH1 0xa0 000020b7: SHL 000020b8: SUB 000020b9: AND 000020ba: PUSH0 000020bb: MSTORE 000020bc: PUSH32 0x5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00 000020dd: PUSH1 0x20 000020df: MSTORE 000020e0: PUSH1 0x40 000020e2: PUSH0 000020e3: KECCAK256 000020e4: DUP1 000020e5: SLOAD 000020e6: SWAP1 000020e7: PUSH1 0x01 000020e9: DUP3 000020ea: ADD 000020eb: SWAP1 000020ec: SSTORE 000020ed: SWAP1 000020ee: JUMP 000020ef: JUMPDEST 000020f0: SWAP4 000020f1: PUSH1 0x40 000020f3: MLOAD 000020f4: SWAP4 000020f5: DUP5 000020f6: SWAP2 000020f7: PUSH1 0x20 000020f9: DUP4 000020fa: ADD 000020fb: SWAP7 000020fc: DUP11 000020fd: DUP11 000020fe: DUP14 000020ff: DUP11 00002100: SWAP2 00002101: SWAP6 00002102: SWAP5 00002103: SWAP4 00002104: SWAP1 00002105: SWAP3 00002106: PUSH1 0xa0 00002108: SWAP4 00002109: PUSH1 0xc0 0000210b: DUP5 0000210c: ADD 0000210d: SWAP8 0000210e: PUSH32 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9 0000212f: DUP6 00002130: MSTORE 00002131: PUSH1 0x01 00002133: PUSH1 0x01 00002135: PUSH1 0xa0 00002137: SHL 00002138: SUB 00002139: DUP1 0000213a: SWAP3 0000213b: AND 0000213c: PUSH1 0x20 0000213e: DUP7 0000213f: ADD 00002140: MSTORE 00002141: AND 00002142: PUSH1 0x40 00002144: DUP5 00002145: ADD 00002146: MSTORE 00002147: PUSH1 0x60 00002149: DUP4 0000214a: ADD 0000214b: MSTORE 0000214c: PUSH1 0x80 0000214e: DUP3 0000214f: ADD 00002150: MSTORE 00002151: ADD 00002152: MSTORE 00002153: JUMP 00002154: JUMPDEST 00002155: SUB 00002156: PUSH1 0x1f 00002158: NOT 00002159: DUP2 0000215a: ADD 0000215b: DUP5 0000215c: MSTORE 0000215d: DUP4 0000215e: PUSH2 0x0ce7 00002161: JUMP 00002162: JUMPDEST 00002163: PUSH2 0x2175 00002166: PUSH1 0xc4 00002168: CALLDATALOAD 00002169: SWAP4 0000216a: PUSH1 0xa4 0000216c: CALLDATALOAD 0000216d: SWAP4 0000216e: MLOAD 0000216f: SWAP1 00002170: KECCAK256 00002171: PUSH2 0x3dcd 00002174: JUMP 00002175: JUMPDEST 00002176: PUSH2 0x3e0e 00002179: JUMP 0000217a: JUMPDEST 0000217b: PUSH1 0x01 0000217d: PUSH1 0x01 0000217f: PUSH1 0xa0 00002181: SHL 00002182: SUB 00002183: DUP1 00002184: DUP6 00002185: AND 00002186: SWAP1 00002187: DUP3 00002188: AND 00002189: SUB 0000218a: PUSH2 0x2197 0000218d: JUMPI 0000218e: POP 0000218f: PUSH2 0x1063 00002192: SWAP3 00002193: PUSH2 0x3ff0 00002196: JUMP 00002197: JUMPDEST 00002198: PUSH1 0x40 0000219a: MLOAD 0000219b: PUSH32 0x4b800e4600000000000000000000000000000000000000000000000000000000 000021bc: DUP2 000021bd: MSTORE 000021be: PUSH1 0x01 000021c0: PUSH1 0x01 000021c2: PUSH1 0xa0 000021c4: SHL 000021c5: SUB 000021c6: SWAP2 000021c7: DUP3 000021c8: AND 000021c9: PUSH1 0x04 000021cb: DUP3 000021cc: ADD 000021cd: MSTORE 000021ce: SWAP1 000021cf: DUP5 000021d0: AND 000021d1: PUSH1 0x24 000021d3: DUP3 000021d4: ADD 000021d5: MSTORE 000021d6: PUSH1 0x44 000021d8: SWAP1 000021d9: REVERT 000021da: JUMPDEST 000021db: PUSH1 0x24 000021dd: DUP3 000021de: PUSH1 0x40 000021e0: MLOAD 000021e1: SWAP1 000021e2: PUSH32 0x6279130200000000000000000000000000000000000000000000000000000000 00002203: DUP3 00002204: MSTORE 00002205: PUSH1 0x04 00002207: DUP3 00002208: ADD 00002209: MSTORE 0000220a: REVERT 0000220b: JUMPDEST 0000220c: CALLVALUE 0000220d: PUSH2 0x0015 00002210: JUMPI 00002211: PUSH0 00002212: PUSH1 0x03 00002214: NOT 00002215: CALLDATASIZE 00002216: ADD 00002217: SLT 00002218: PUSH2 0x0015 0000221b: JUMPI 0000221c: PUSH1 0x20 0000221e: PUSH1 0x40 00002220: MLOAD 00002221: PUSH4 0x3b9aca00 00002226: DUP2 00002227: MSTORE 00002228: RETURN 00002229: JUMPDEST 0000222a: CALLVALUE 0000222b: PUSH2 0x0015 0000222e: JUMPI 0000222f: PUSH1 0x20 00002231: PUSH1 0x03 00002233: NOT 00002234: CALLDATASIZE 00002235: ADD 00002236: SLT 00002237: PUSH2 0x0015 0000223a: JUMPI 0000223b: PUSH1 0x04 0000223d: CALLDATALOAD 0000223e: DUP1 0000223f: ISZERO 00002240: PUSH2 0x2397 00002243: JUMPI 00002244: DUP1 00002245: PUSH2 0x227e 00002248: CALLER 00002249: PUSH1 0x01 0000224b: PUSH1 0x01 0000224d: PUSH1 0xa0 0000224f: SHL 00002250: SUB 00002251: AND 00002252: PUSH0 00002253: MSTORE 00002254: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00 00002275: PUSH1 0x20 00002277: MSTORE 00002278: PUSH1 0x40 0000227a: PUSH0 0000227b: KECCAK256 0000227c: SWAP1 0000227d: JUMP 0000227e: JUMPDEST 0000227f: SLOAD 00002280: LT 00002281: PUSH2 0x236d 00002284: JUMPI 00002285: PUSH2 0x228d 00002288: DUP2 00002289: PUSH2 0x3060 0000228c: JUMP 0000228d: JUMPDEST 0000228e: SWAP3 0000228f: DUP4 00002290: SWAP3 00002291: SWAP2 00002292: SWAP3 00002293: PUSH2 0x234c 00002296: JUMPI 00002297: JUMPDEST 00002298: PUSH2 0x22aa 0000229b: PUSH2 0x22a4 0000229e: DUP6 0000229f: DUP4 000022a0: PUSH2 0x301a 000022a3: JUMP 000022a4: JUMPDEST 000022a5: CALLER 000022a6: PUSH2 0x3e26 000022a9: JUMP 000022aa: JUMPDEST 000022ab: PUSH0 000022ac: JUMPDEST 000022ad: DUP3 000022ae: MLOAD 000022af: DUP2 000022b0: LT 000022b1: ISZERO 000022b2: PUSH2 0x2312 000022b5: JUMPI 000022b6: DUP1 000022b7: PUSH2 0x22c2 000022ba: PUSH1 0x01 000022bc: SWAP3 000022bd: DUP7 000022be: PUSH2 0x2a61 000022c1: JUMP 000022c2: JUMPDEST 000022c3: MLOAD 000022c4: PUSH2 0x22ce 000022c7: JUMPI 000022c8: JUMPDEST 000022c9: ADD 000022ca: PUSH2 0x22ac 000022cd: JUMP 000022ce: JUMPDEST 000022cf: PUSH2 0x230d 000022d2: PUSH2 0x22fa 000022d5: PUSH2 0x22ee 000022d8: PUSH2 0x22e1 000022db: DUP5 000022dc: DUP9 000022dd: PUSH2 0x2a61 000022e0: JUMP 000022e1: JUMPDEST 000022e2: MLOAD 000022e3: PUSH1 0x01 000022e5: PUSH1 0x01 000022e7: PUSH1 0xa0 000022e9: SHL 000022ea: SUB 000022eb: AND 000022ec: SWAP1 000022ed: JUMP 000022ee: JUMPDEST 000022ef: PUSH1 0x01 000022f1: PUSH1 0x01 000022f3: PUSH1 0xa0 000022f5: SHL 000022f6: SUB 000022f7: AND 000022f8: SWAP1 000022f9: JUMP 000022fa: JUMPDEST 000022fb: PUSH2 0x2304 000022fe: DUP4 000022ff: DUP9 00002300: PUSH2 0x2a61 00002303: JUMP 00002304: JUMPDEST 00002305: MLOAD 00002306: SWAP1 00002307: CALLER 00002308: SWAP1 00002309: PUSH2 0x3f5c 0000230c: JUMP 0000230d: JUMPDEST 0000230e: PUSH2 0x22c8 00002311: JUMP 00002312: JUMPDEST 00002313: POP 00002314: SWAP3 00002315: PUSH2 0x2347 00002318: PUSH32 0x5db1997bc8fc1e1e4bcea6438a652310893f2756d6138bece7142ac25e9187dd 00002339: SWAP4 0000233a: PUSH1 0x40 0000233c: MLOAD 0000233d: SWAP4 0000233e: DUP5 0000233f: SWAP4 00002340: CALLER 00002341: SWAP8 00002342: DUP6 00002343: PUSH2 0x33a3 00002346: JUMP 00002347: JUMPDEST 00002348: SUB 00002349: SWAP1 0000234a: LOG2 0000234b: STOP 0000234c: JUMPDEST 0000234d: PUSH2 0x2368 00002350: DUP5 00002351: PUSH2 0x2362 00002354: PUSH1 0x0e 00002356: SLOAD 00002357: PUSH1 0x01 00002359: PUSH1 0x01 0000235b: PUSH1 0xa0 0000235d: SHL 0000235e: SUB 0000235f: AND 00002360: SWAP1 00002361: JUMP 00002362: JUMPDEST 00002363: CALLER 00002364: PUSH2 0x3479 00002367: JUMP 00002368: JUMPDEST 00002369: PUSH2 0x2297 0000236c: JUMP 0000236d: JUMPDEST 0000236e: PUSH1 0x04 00002370: PUSH1 0x40 00002372: MLOAD 00002373: PUSH32 0x3999656700000000000000000000000000000000000000000000000000000000 00002394: DUP2 00002395: MSTORE 00002396: REVERT 00002397: JUMPDEST 00002398: PUSH1 0x04 0000239a: PUSH1 0x40 0000239c: MLOAD 0000239d: PUSH32 0xc48af02400000000000000000000000000000000000000000000000000000000 000023be: DUP2 000023bf: MSTORE 000023c0: REVERT 000023c1: JUMPDEST 000023c2: CALLVALUE 000023c3: PUSH2 0x0015 000023c6: JUMPI 000023c7: PUSH1 0x40 000023c9: PUSH1 0x03 000023cb: NOT 000023cc: CALLDATASIZE 000023cd: ADD 000023ce: SLT 000023cf: PUSH2 0x0015 000023d2: JUMPI 000023d3: PUSH1 0x20 000023d5: PUSH2 0x2421 000023d8: PUSH2 0x23df 000023db: PUSH2 0x066d 000023de: JUMP 000023df: JUMPDEST 000023e0: PUSH2 0x087b 000023e3: PUSH2 0x23ea 000023e6: PUSH2 0x0683 000023e9: JUMP 000023ea: JUMPDEST 000023eb: SWAP2 000023ec: PUSH1 0x01 000023ee: PUSH1 0x01 000023f0: PUSH1 0xa0 000023f2: SHL 000023f3: SUB 000023f4: AND 000023f5: PUSH0 000023f6: MSTORE 000023f7: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace01 00002418: PUSH1 0x20 0000241a: MSTORE 0000241b: PUSH1 0x40 0000241d: PUSH0 0000241e: KECCAK256 0000241f: SWAP1 00002420: JUMP 00002421: JUMPDEST 00002422: SLOAD 00002423: PUSH1 0x40 00002425: MLOAD 00002426: SWAP1 00002427: DUP2 00002428: MSTORE 00002429: RETURN 0000242a: JUMPDEST 0000242b: CALLVALUE 0000242c: PUSH2 0x0015 0000242f: JUMPI 00002430: PUSH0 00002431: PUSH1 0x03 00002433: NOT 00002434: CALLDATASIZE 00002435: ADD 00002436: SLT 00002437: PUSH2 0x0015 0000243a: JUMPI 0000243b: PUSH1 0x60 0000243d: PUSH1 0x0e 0000243f: SLOAD 00002440: PUSH1 0x40 00002442: MLOAD 00002443: SWAP1 00002444: PUSH1 0x01 00002446: PUSH1 0x01 00002448: PUSH1 0xa0 0000244a: SHL 0000244b: SUB 0000244c: DUP2 0000244d: AND 0000244e: DUP3 0000244f: MSTORE 00002450: PUSH6 0xffffffffffff 00002457: DUP2 00002458: PUSH1 0xa0 0000245a: SHR 0000245b: AND 0000245c: PUSH1 0x20 0000245e: DUP4 0000245f: ADD 00002460: MSTORE 00002461: PUSH1 0xd0 00002463: SHR 00002464: PUSH1 0x40 00002466: DUP3 00002467: ADD 00002468: MSTORE 00002469: RETURN 0000246a: JUMPDEST 0000246b: CALLVALUE 0000246c: PUSH2 0x0015 0000246f: JUMPI 00002470: PUSH0 00002471: PUSH1 0x03 00002473: NOT 00002474: CALLDATASIZE 00002475: ADD 00002476: SLT 00002477: PUSH2 0x0015 0000247a: JUMPI 0000247b: PUSH1 0x20 0000247d: PUSH1 0x40 0000247f: MLOAD 00002480: PUSH1 0x64 00002482: DUP2 00002483: MSTORE 00002484: RETURN 00002485: JUMPDEST 00002486: CALLVALUE 00002487: PUSH2 0x0015 0000248a: JUMPI 0000248b: PUSH0 0000248c: PUSH1 0x03 0000248e: NOT 0000248f: CALLDATASIZE 00002490: ADD 00002491: SLT 00002492: PUSH2 0x0015 00002495: JUMPI 00002496: PUSH2 0x249d 00002499: PUSH2 0x2a8f 0000249c: JUMP 0000249d: JUMPDEST 0000249e: SWAP1 0000249f: PUSH0 000024a0: DUP1 000024a1: PUSH2 0x24b8 000024a4: PUSH2 0x22ee 000024a7: PUSH2 0x22ee 000024aa: PUSH1 0x03 000024ac: SLOAD 000024ad: PUSH1 0x01 000024af: PUSH1 0x01 000024b1: PUSH1 0xa0 000024b3: SHL 000024b4: SUB 000024b5: AND 000024b6: SWAP1 000024b7: JUMP 000024b8: JUMPDEST 000024b9: SWAP2 000024ba: JUMPDEST 000024bb: DUP4 000024bc: MLOAD 000024bd: DUP3 000024be: LT 000024bf: ISZERO 000024c0: PUSH2 0x2599 000024c3: JUMPI 000024c4: PUSH2 0x2526 000024c7: SWAP1 000024c8: PUSH2 0x24d1 000024cb: DUP4 000024cc: DUP8 000024cd: PUSH2 0x2a61 000024d0: JUMP 000024d1: JUMPDEST 000024d2: MLOAD 000024d3: SWAP1 000024d4: PUSH2 0x24e0 000024d7: PUSH2 0x22e1 000024da: DUP6 000024db: DUP9 000024dc: PUSH2 0x2a61 000024df: JUMP 000024e0: JUMPDEST 000024e1: PUSH1 0x40 000024e3: MLOAD 000024e4: PUSH32 0x34ff2eeb00000000000000000000000000000000000000000000000000000000 00002505: DUP2 00002506: MSTORE 00002507: PUSH1 0x01 00002509: PUSH1 0x01 0000250b: PUSH1 0xa0 0000250d: SHL 0000250e: SUB 0000250f: SWAP1 00002510: SWAP2 00002511: AND 00002512: PUSH1 0x04 00002514: DUP3 00002515: ADD 00002516: MSTORE 00002517: PUSH1 0x20 00002519: SWAP4 0000251a: DUP5 0000251b: SWAP1 0000251c: DUP3 0000251d: SWAP1 0000251e: DUP2 0000251f: SWAP1 00002520: PUSH1 0x24 00002522: DUP3 00002523: ADD 00002524: SWAP1 00002525: JUMP 00002526: JUMPDEST 00002527: SUB 00002528: DUP2 00002529: DUP10 0000252a: GAS 0000252b: STATICCALL 0000252c: SWAP4 0000252d: DUP5 0000252e: ISZERO 0000252f: PUSH2 0x139c 00002532: JUMPI 00002533: PUSH1 0x01 00002535: SWAP5 00002536: PUSH2 0x2572 00002539: SWAP5 0000253a: PUSH2 0x256c 0000253d: SWAP4 0000253e: PUSH2 0x254f 00002541: SWAP4 00002542: PUSH0 00002543: SWAP4 00002544: PUSH2 0x257a 00002547: JUMPI 00002548: JUMPDEST 00002549: POP 0000254a: POP 0000254b: PUSH2 0x2e48 0000254e: JUMP 0000254f: JUMPDEST 00002550: PUSH2 0x1326 00002553: PUSH2 0x2567 00002556: PUSH2 0x2562 00002559: PUSH2 0x22e1 0000255c: DUP10 0000255d: DUP13 0000255e: PUSH2 0x2a61 00002561: JUMP 00002562: JUMPDEST 00002563: PUSH2 0x3749 00002566: JUMP 00002567: JUMPDEST 00002568: PUSH2 0x2e60 0000256b: JUMP 0000256c: JUMPDEST 0000256d: SWAP1 0000256e: PUSH2 0x30a6 00002571: JUMP 00002572: JUMPDEST 00002573: SWAP2 00002574: ADD 00002575: SWAP1 00002576: PUSH2 0x24ba 00002579: JUMP 0000257a: JUMPDEST 0000257b: PUSH2 0x2591 0000257e: SWAP3 0000257f: SWAP4 00002580: POP 00002581: DUP1 00002582: RETURNDATASIZE 00002583: LT 00002584: PUSH2 0x10c2 00002587: JUMPI 00002588: PUSH2 0x10b3 0000258b: DUP2 0000258c: DUP4 0000258d: PUSH2 0x0ce7 00002590: JUMP 00002591: JUMPDEST 00002592: SWAP1 00002593: PUSH0 00002594: DUP1 00002595: PUSH2 0x2548 00002598: JUMP 00002599: JUMPDEST 0000259a: PUSH1 0x40 0000259c: DUP1 0000259d: MLOAD 0000259e: PUSH32 0xa0a8045e00000000000000000000000000000000000000000000000000000000 000025bf: DUP2 000025c0: MSTORE 000025c1: SWAP1 000025c2: DUP2 000025c3: PUSH1 0x04 000025c5: DUP2 000025c6: DUP8 000025c7: GAS 000025c8: STATICCALL 000025c9: DUP1 000025ca: ISZERO 000025cb: PUSH2 0x139c 000025ce: JUMPI 000025cf: PUSH2 0x0e4d 000025d2: SWAP2 000025d3: PUSH0 000025d4: SWAP1 000025d5: PUSH0 000025d6: SWAP3 000025d7: PUSH2 0x25e9 000025da: JUMPI 000025db: JUMPDEST 000025dc: POP 000025dd: PUSH2 0x1320 000025e0: PUSH2 0x1326 000025e3: SWAP2 000025e4: DUP6 000025e5: PUSH2 0x2e48 000025e8: JUMP 000025e9: JUMPDEST 000025ea: PUSH2 0x1320 000025ed: SWAP3 000025ee: POP 000025ef: PUSH2 0x1326 000025f2: SWAP2 000025f3: POP 000025f4: PUSH2 0x260b 000025f7: SWAP1 000025f8: PUSH1 0x40 000025fa: RETURNDATASIZE 000025fb: PUSH1 0x40 000025fd: GT 000025fe: PUSH2 0x1395 00002601: JUMPI 00002602: PUSH2 0x1386 00002605: DUP2 00002606: DUP4 00002607: PUSH2 0x0ce7 0000260a: JUMP 0000260b: JUMPDEST 0000260c: SWAP3 0000260d: SWAP1 0000260e: SWAP2 0000260f: POP 00002610: PUSH2 0x25db 00002613: JUMP 00002614: JUMPDEST 00002615: CALLVALUE 00002616: PUSH2 0x0015 00002619: JUMPI 0000261a: PUSH0 0000261b: PUSH1 0x03 0000261d: NOT 0000261e: CALLDATASIZE 0000261f: ADD 00002620: SLT 00002621: PUSH2 0x0015 00002624: JUMPI 00002625: PUSH2 0x04bd 00002628: PUSH1 0x40 0000262a: PUSH0 0000262b: PUSH1 0x60 0000262d: DUP3 0000262e: MLOAD 0000262f: PUSH2 0x2637 00002632: DUP2 00002633: PUSH2 0x0ccb 00002636: JUMP 00002637: JUMPDEST 00002638: PUSH2 0x263f 0000263b: PUSH2 0x33d3 0000263e: JUMP 0000263f: JUMPDEST 00002640: DUP2 00002641: MSTORE 00002642: DUP3 00002643: PUSH1 0x20 00002645: DUP3 00002646: ADD 00002647: MSTORE 00002648: DUP3 00002649: DUP5 0000264a: DUP3 0000264b: ADD 0000264c: MSTORE 0000264d: ADD 0000264e: MSTORE 0000264f: DUP1 00002650: MLOAD 00002651: SWAP1 00002652: PUSH2 0x265a 00002655: DUP3 00002656: PUSH2 0x0ccb 00002659: JUMP 0000265a: JUMPDEST 0000265b: PUSH2 0x2691 0000265e: PUSH2 0x2665 00002661: PUSH2 0x33f7 00002664: JUMP 00002665: JUMPDEST 00002666: DUP1 00002667: DUP5 00002668: MSTORE 00002669: PUSH1 0x06 0000266b: SLOAD 0000266c: PUSH8 0xffffffffffffffff 00002675: DUP1 00002676: DUP3 00002677: AND 00002678: PUSH1 0x20 0000267a: DUP8 0000267b: ADD 0000267c: MSTORE 0000267d: DUP2 0000267e: DUP6 0000267f: SHR 00002680: AND 00002681: DUP5 00002682: DUP7 00002683: ADD 00002684: MSTORE 00002685: PUSH1 0x80 00002687: SHR 00002688: PUSH1 0x60 0000268a: DUP6 0000268b: ADD 0000268c: MSTORE 0000268d: PUSH2 0x3faf 00002690: JUMP 00002691: JUMPDEST 00002692: POP 00002693: MLOAD 00002694: SWAP2 00002695: DUP3 00002696: SWAP2 00002697: DUP3 00002698: SWAP2 00002699: SWAP1 0000269a: SWAP2 0000269b: PUSH1 0xc0 0000269d: PUSH1 0x60 0000269f: DUP1 000026a0: PUSH1 0xe0 000026a2: DUP5 000026a3: ADD 000026a4: SWAP6 000026a5: DUP1 000026a6: MLOAD 000026a7: PUSH16 0xffffffffffffffffffffffffffffffff 000026b8: SWAP4 000026b9: DUP2 000026ba: DUP6 000026bb: DUP1 000026bc: SWAP4 000026bd: MLOAD 000026be: AND 000026bf: DUP9 000026c0: MSTORE 000026c1: DUP3 000026c2: PUSH1 0x20 000026c4: DUP3 000026c5: ADD 000026c6: MLOAD 000026c7: AND 000026c8: PUSH1 0x20 000026ca: DUP10 000026cb: ADD 000026cc: MSTORE 000026cd: DUP3 000026ce: PUSH1 0x40 000026d0: DUP3 000026d1: ADD 000026d2: MLOAD 000026d3: AND 000026d4: PUSH1 0x40 000026d6: DUP10 000026d7: ADD 000026d8: MSTORE 000026d9: ADD 000026da: MLOAD 000026db: AND 000026dc: DUP3 000026dd: DUP7 000026de: ADD 000026df: MSTORE 000026e0: PUSH1 0x20 000026e2: DUP2 000026e3: ADD 000026e4: MLOAD 000026e5: PUSH8 0xffffffffffffffff 000026ee: DUP1 000026ef: SWAP2 000026f0: AND 000026f1: PUSH1 0x80 000026f3: DUP8 000026f4: ADD 000026f5: MSTORE 000026f6: PUSH1 0x40 000026f8: DUP3 000026f9: ADD 000026fa: MLOAD 000026fb: AND 000026fc: PUSH1 0xa0 000026fe: DUP7 000026ff: ADD 00002700: MSTORE 00002701: ADD 00002702: MLOAD 00002703: AND 00002704: SWAP2 00002705: ADD 00002706: MSTORE 00002707: JUMP 00002708: JUMPDEST 00002709: CALLVALUE 0000270a: PUSH2 0x0015 0000270d: JUMPI 0000270e: PUSH0 0000270f: PUSH1 0x03 00002711: NOT 00002712: CALLDATASIZE 00002713: ADD 00002714: SLT 00002715: PUSH2 0x0015 00002718: JUMPI 00002719: PUSH1 0x0d 0000271b: SLOAD 0000271c: DUP1 0000271d: ISZERO 0000271e: PUSH2 0x27d6 00002721: JUMPI 00002722: PUSH0 00002723: PUSH1 0x0d 00002725: SSTORE 00002726: PUSH32 0x7d8b90e89a676f7a8a3cf40a0c23c3d2ea61cec6ae800738fbd79bc111b5ea87 00002747: PUSH0 00002748: DUP1 00002749: DUP1 0000274a: DUP1 0000274b: DUP6 0000274c: PUSH1 0x01 0000274e: PUSH1 0x01 00002750: PUSH1 0xa0 00002752: SHL 00002753: SUB 00002754: DUP7 00002755: SLOAD 00002756: AND 00002757: GAS 00002758: CALL 00002759: PUSH2 0x2760 0000275c: PUSH2 0x3fc1 0000275f: JUMP 00002760: JUMPDEST 00002761: POP 00002762: ISZERO 00002763: PUSH2 0x27ac 00002766: JUMPI 00002767: PUSH2 0x2347 0000276a: PUSH2 0x279b 0000276d: PUSH32 0xd6060418062d03ef3ef2e9cca5d7e94502c0224f1ea338059fa40ecfb8bd121a 0000278e: SWAP3 0000278f: SLOAD 00002790: PUSH1 0x01 00002792: PUSH1 0x01 00002794: PUSH1 0xa0 00002796: SHL 00002797: SUB 00002798: AND 00002799: SWAP1 0000279a: JUMP 0000279b: JUMPDEST 0000279c: PUSH1 0x40 0000279e: MLOAD 0000279f: SWAP4 000027a0: DUP5 000027a1: MSTORE 000027a2: SWAP3 000027a3: SWAP1 000027a4: DUP2 000027a5: SWAP1 000027a6: PUSH1 0x20 000027a8: DUP3 000027a9: ADD 000027aa: SWAP1 000027ab: JUMP 000027ac: JUMPDEST 000027ad: PUSH1 0x04 000027af: PUSH1 0x40 000027b1: MLOAD 000027b2: PUSH32 0x6747a28800000000000000000000000000000000000000000000000000000000 000027d3: DUP2 000027d4: MSTORE 000027d5: REVERT 000027d6: JUMPDEST 000027d7: PUSH1 0x04 000027d9: PUSH1 0x40 000027db: MLOAD 000027dc: PUSH32 0xeb0ac26000000000000000000000000000000000000000000000000000000000 000027fd: DUP2 000027fe: MSTORE 000027ff: REVERT 00002800: JUMPDEST 00002801: CALLVALUE 00002802: PUSH2 0x0015 00002805: JUMPI 00002806: PUSH1 0x20 00002808: PUSH1 0x03 0000280a: NOT 0000280b: CALLDATASIZE 0000280c: ADD 0000280d: SLT 0000280e: PUSH2 0x0015 00002811: JUMPI 00002812: PUSH2 0x2819 00002815: PUSH2 0x066d 00002818: JUMP 00002819: JUMPDEST 0000281a: PUSH1 0x01 0000281c: PUSH1 0x01 0000281e: PUSH1 0xa0 00002820: SHL 00002821: SUB 00002822: DUP2 00002823: AND 00002824: PUSH0 00002825: MSTORE 00002826: PUSH0 00002827: PUSH1 0x20 00002829: MSTORE 0000282a: PUSH1 0xff 0000282c: PUSH1 0x40 0000282e: PUSH0 0000282f: KECCAK256 00002830: SLOAD 00002831: AND 00002832: ISZERO 00002833: PUSH2 0x287e 00002836: JUMPI 00002837: PUSH2 0x286c 0000283a: PUSH1 0x20 0000283c: SWAP2 0000283d: PUSH2 0x2866 00002840: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02 00002861: SLOAD 00002862: PUSH2 0x368f 00002865: JUMP 00002866: JUMPDEST 00002867: SWAP1 00002868: PUSH2 0x36d6 0000286b: JUMP 0000286c: JUMPDEST 0000286d: PUSH8 0xffffffffffffffff 00002876: PUSH1 0x40 00002878: MLOAD 00002879: SWAP2 0000287a: AND 0000287b: DUP2 0000287c: MSTORE 0000287d: RETURN 0000287e: JUMPDEST 0000287f: PUSH1 0x04 00002881: PUSH1 0x40 00002883: MLOAD 00002884: PUSH32 0x259ba1ad00000000000000000000000000000000000000000000000000000000 000028a5: DUP2 000028a6: MSTORE 000028a7: REVERT 000028a8: JUMPDEST 000028a9: CALLVALUE 000028aa: PUSH2 0x0015 000028ad: JUMPI 000028ae: PUSH1 0x20 000028b0: PUSH1 0x03 000028b2: NOT 000028b3: CALLDATASIZE 000028b4: ADD 000028b5: SLT 000028b6: PUSH2 0x0015 000028b9: JUMPI 000028ba: PUSH2 0x28c1 000028bd: PUSH2 0x066d 000028c0: JUMP 000028c1: JUMPDEST 000028c2: PUSH2 0x28f4 000028c5: PUSH1 0x01 000028c7: PUSH1 0x01 000028c9: PUSH1 0xa0 000028cb: SHL 000028cc: SUB 000028cd: PUSH32 0x7d8b90e89a676f7a8a3cf40a0c23c3d2ea61cec6ae800738fbd79bc111b5ea87 000028ee: SLOAD 000028ef: AND 000028f0: CALLER 000028f1: EQ 000028f2: SWAP1 000028f3: JUMP 000028f4: JUMPDEST 000028f5: ISZERO 000028f6: PUSH2 0x2031 000028f9: JUMPI 000028fa: PUSH32 0x67f3bdb99ec85305417f06f626cf52c7dee7e44607664b5f1cce0af5d822472f 0000291b: SSTORE 0000291c: STOP 0000291d: JUMPDEST 0000291e: PUSH1 0x40 00002920: MLOAD 00002921: SWAP1 00002922: PUSH1 0x02 00002924: SLOAD 00002925: DUP1 00002926: DUP4 00002927: MSTORE 00002928: DUP3 00002929: PUSH1 0x20 0000292b: SWAP2 0000292c: PUSH1 0x20 0000292e: DUP3 0000292f: ADD 00002930: SWAP1 00002931: PUSH1 0x02 00002933: PUSH0 00002934: MSTORE 00002935: PUSH32 0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace 00002956: SWAP4 00002957: PUSH0 00002958: SWAP1 00002959: JUMPDEST 0000295a: DUP3 0000295b: DUP3 0000295c: LT 0000295d: PUSH2 0x2971 00002960: JUMPI 00002961: POP 00002962: POP 00002963: POP 00002964: PUSH2 0x296f 00002967: SWAP3 00002968: POP 00002969: SUB 0000296a: DUP4 0000296b: PUSH2 0x0ce7 0000296e: JUMP 0000296f: JUMPDEST 00002970: JUMP 00002971: JUMPDEST 00002972: DUP6 00002973: SLOAD 00002974: PUSH1 0x01 00002976: PUSH1 0x01 00002978: PUSH1 0xa0 0000297a: SHL 0000297b: SUB 0000297c: AND 0000297d: DUP5 0000297e: MSTORE 0000297f: PUSH1 0x01 00002981: SWAP6 00002982: DUP7 00002983: ADD 00002984: SWAP6 00002985: DUP9 00002986: SWAP6 00002987: POP 00002988: SWAP4 00002989: DUP2 0000298a: ADD 0000298b: SWAP4 0000298c: SWAP1 0000298d: SWAP2 0000298e: ADD 0000298f: SWAP1 00002990: PUSH2 0x2959 00002993: JUMP 00002994: JUMPDEST 00002995: PUSH1 0x40 00002997: MLOAD 00002998: SWAP1 00002999: PUSH1 0x02 0000299b: SLOAD 0000299c: DUP1 0000299d: DUP4 0000299e: MSTORE 0000299f: DUP3 000029a0: PUSH1 0x20 000029a2: SWAP2 000029a3: PUSH1 0x20 000029a5: DUP3 000029a6: ADD 000029a7: SWAP1 000029a8: PUSH1 0x02 000029aa: PUSH0 000029ab: MSTORE 000029ac: PUSH32 0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace 000029cd: SWAP4 000029ce: PUSH0 000029cf: SWAP1 000029d0: JUMPDEST 000029d1: DUP3 000029d2: DUP3 000029d3: LT 000029d4: PUSH2 0x29e6 000029d7: JUMPI 000029d8: POP 000029d9: POP 000029da: POP 000029db: PUSH2 0x296f 000029de: SWAP3 000029df: POP 000029e0: SUB 000029e1: DUP4 000029e2: PUSH2 0x0ce7 000029e5: JUMP 000029e6: JUMPDEST 000029e7: DUP6 000029e8: SLOAD 000029e9: PUSH1 0x01 000029eb: PUSH1 0x01 000029ed: PUSH1 0xa0 000029ef: SHL 000029f0: SUB 000029f1: AND 000029f2: DUP5 000029f3: MSTORE 000029f4: PUSH1 0x01 000029f6: SWAP6 000029f7: DUP7 000029f8: ADD 000029f9: SWAP6 000029fa: DUP9 000029fb: SWAP6 000029fc: POP 000029fd: SWAP4 000029fe: DUP2 000029ff: ADD 00002a00: SWAP4 00002a01: SWAP1 00002a02: SWAP2 00002a03: ADD 00002a04: SWAP1 00002a05: PUSH2 0x29d0 00002a08: JUMP 00002a09: JUMPDEST 00002a0a: PUSH1 0x40 00002a0c: MLOAD 00002a0d: PUSH1 0x20 00002a0f: DUP2 00002a10: ADD 00002a11: DUP2 00002a12: DUP2 00002a13: LT 00002a14: PUSH8 0xffffffffffffffff 00002a1d: DUP3 00002a1e: GT 00002a1f: OR 00002a20: PUSH2 0x0cc6 00002a23: JUMPI 00002a24: PUSH1 0x40 00002a26: MSTORE 00002a27: PUSH0 00002a28: DUP2 00002a29: MSTORE 00002a2a: SWAP1 00002a2b: PUSH0 00002a2c: CALLDATASIZE 00002a2d: DUP2 00002a2e: CALLDATACOPY 00002a2f: JUMP 00002a30: JUMPDEST 00002a31: SWAP1 00002a32: PUSH2 0x2a3a 00002a35: DUP3 00002a36: PUSH2 0x0d0a 00002a39: JUMP 00002a3a: JUMPDEST 00002a3b: PUSH2 0x2a47 00002a3e: PUSH1 0x40 00002a40: MLOAD 00002a41: SWAP2 00002a42: DUP3 00002a43: PUSH2 0x0ce7 00002a46: JUMP 00002a47: JUMPDEST 00002a48: DUP3 00002a49: DUP2 00002a4a: MSTORE 00002a4b: PUSH1 0x1f 00002a4d: NOT 00002a4e: PUSH2 0x2a57 00002a51: DUP3 00002a52: SWAP5 00002a53: PUSH2 0x0d0a 00002a56: JUMP 00002a57: JUMPDEST 00002a58: ADD 00002a59: SWAP1 00002a5a: PUSH1 0x20 00002a5c: CALLDATASIZE 00002a5d: SWAP2 00002a5e: ADD 00002a5f: CALLDATACOPY 00002a60: JUMP 00002a61: JUMPDEST 00002a62: DUP1 00002a63: MLOAD 00002a64: DUP3 00002a65: LT 00002a66: ISZERO 00002a67: PUSH2 0x11a9 00002a6a: JUMPI 00002a6b: PUSH1 0x20 00002a6d: SWAP2 00002a6e: PUSH1 0x05 00002a70: SHL 00002a71: ADD 00002a72: ADD 00002a73: SWAP1 00002a74: JUMP 00002a75: JUMPDEST 00002a76: SWAP1 00002a77: DUP2 00002a78: PUSH1 0x20 00002a7a: SWAP2 00002a7b: SUB 00002a7c: SLT 00002a7d: PUSH2 0x0015 00002a80: JUMPI 00002a81: MLOAD 00002a82: SWAP1 00002a83: JUMP 00002a84: JUMPDEST 00002a85: PUSH1 0x40 00002a87: MLOAD 00002a88: RETURNDATASIZE 00002a89: PUSH0 00002a8a: DUP3 00002a8b: RETURNDATACOPY 00002a8c: RETURNDATASIZE 00002a8d: SWAP1 00002a8e: REVERT 00002a8f: JUMPDEST 00002a90: PUSH2 0x2a97 00002a93: PUSH2 0x2994 00002a96: JUMP 00002a97: JUMPDEST 00002a98: SWAP1 00002a99: DUP2 00002a9a: MLOAD 00002a9b: SWAP2 00002a9c: PUSH2 0x2aa4 00002a9f: DUP4 00002aa0: PUSH2 0x2a30 00002aa3: JUMP 00002aa4: JUMPDEST 00002aa5: SWAP3 00002aa6: PUSH0 00002aa7: JUMPDEST 00002aa8: DUP2 00002aa9: DUP2 00002aaa: LT 00002aab: PUSH2 0x2ab4 00002aae: JUMPI 00002aaf: POP 00002ab0: POP 00002ab1: SWAP2 00002ab2: SWAP1 00002ab3: JUMP 00002ab4: JUMPDEST 00002ab5: PUSH2 0x2ac7 00002ab8: PUSH2 0x22ee 00002abb: PUSH2 0x22ee 00002abe: PUSH2 0x22e1 00002ac1: DUP5 00002ac2: DUP8 00002ac3: PUSH2 0x2a61 00002ac6: JUMP 00002ac7: JUMPDEST 00002ac8: PUSH1 0x40 00002aca: MLOAD 00002acb: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 00002aec: DUP2 00002aed: MSTORE 00002aee: ADDRESS 00002aef: PUSH1 0x04 00002af1: DUP3 00002af2: ADD 00002af3: MSTORE 00002af4: PUSH1 0x20 00002af6: SWAP3 00002af7: SWAP2 00002af8: DUP4 00002af9: SWAP1 00002afa: DUP3 00002afb: SWAP1 00002afc: PUSH1 0x24 00002afe: SWAP1 00002aff: DUP3 00002b00: SWAP1 00002b01: GAS 00002b02: STATICCALL 00002b03: SWAP1 00002b04: DUP2 00002b05: ISZERO 00002b06: PUSH2 0x139c 00002b09: JUMPI 00002b0a: PUSH1 0x01 00002b0c: SWAP4 00002b0d: PUSH0 00002b0e: SWAP3 00002b0f: PUSH2 0x2b26 00002b12: JUMPI 00002b13: JUMPDEST 00002b14: POP 00002b15: POP 00002b16: PUSH2 0x2b1f 00002b19: DUP3 00002b1a: DUP9 00002b1b: PUSH2 0x2a61 00002b1e: JUMP 00002b1f: JUMPDEST 00002b20: MSTORE 00002b21: ADD 00002b22: PUSH2 0x2aa7 00002b25: JUMP 00002b26: JUMPDEST 00002b27: PUSH2 0x2b3c 00002b2a: SWAP3 00002b2b: POP 00002b2c: DUP1 00002b2d: RETURNDATASIZE 00002b2e: LT 00002b2f: PUSH2 0x10c2 00002b32: JUMPI 00002b33: PUSH2 0x10b3 00002b36: DUP2 00002b37: DUP4 00002b38: PUSH2 0x0ce7 00002b3b: JUMP 00002b3c: JUMPDEST 00002b3d: PUSH0 00002b3e: DUP1 00002b3f: PUSH2 0x2b13 00002b42: JUMP 00002b43: JUMPDEST 00002b44: PUSH1 0x40 00002b46: MLOAD 00002b47: SWAP1 00002b48: PUSH0 00002b49: PUSH32 0xa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102 00002b6a: SLOAD 00002b6b: PUSH1 0x01 00002b6d: SWAP2 00002b6e: DUP2 00002b6f: PUSH1 0x01 00002b71: SHR 00002b72: SWAP3 00002b73: PUSH1 0x01 00002b75: DUP4 00002b76: AND 00002b77: SWAP1 00002b78: DUP2 00002b79: ISZERO 00002b7a: PUSH2 0x2c71 00002b7d: JUMPI 00002b7e: JUMPDEST 00002b7f: PUSH1 0x20 00002b81: SWAP1 00002b82: PUSH1 0x20 00002b84: DUP7 00002b85: LT 00002b86: DUP4 00002b87: EQ 00002b88: PUSH2 0x0636 00002b8b: JUMPI 00002b8c: DUP6 00002b8d: DUP9 00002b8e: MSTORE 00002b8f: DUP8 00002b90: SWAP5 00002b91: PUSH1 0x20 00002b93: DUP7 00002b94: ADD 00002b95: SWAP4 00002b96: SWAP1 00002b97: DUP2 00002b98: ISZERO 00002b99: PUSH2 0x2c33 00002b9c: JUMPI 00002b9d: POP 00002b9e: PUSH1 0x01 00002ba0: EQ 00002ba1: PUSH2 0x2bb4 00002ba4: JUMPI 00002ba5: JUMPDEST 00002ba6: POP 00002ba7: POP 00002ba8: POP 00002ba9: PUSH2 0x296f 00002bac: SWAP3 00002bad: POP 00002bae: SUB 00002baf: DUP4 00002bb0: PUSH2 0x0ce7 00002bb3: JUMP 00002bb4: JUMPDEST 00002bb5: SWAP3 00002bb6: POP 00002bb7: SWAP4 00002bb8: PUSH2 0x2c01 00002bbb: PUSH32 0xa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102 00002bdc: PUSH0 00002bdd: MSTORE 00002bde: PUSH32 0x42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d 00002bff: SWAP1 00002c00: JUMP 00002c01: JUMPDEST 00002c02: SWAP5 00002c03: PUSH0 00002c04: SWAP4 00002c05: JUMPDEST 00002c06: DUP3 00002c07: DUP6 00002c08: LT 00002c09: PUSH2 0x2c1d 00002c0c: JUMPI 00002c0d: POP 00002c0e: POP 00002c0f: POP 00002c10: PUSH2 0x296f 00002c13: SWAP4 00002c14: POP 00002c15: ADD 00002c16: PUSH0 00002c17: DUP1 00002c18: DUP1 00002c19: PUSH2 0x2ba5 00002c1c: JUMP 00002c1d: JUMPDEST 00002c1e: DUP7 00002c1f: SLOAD 00002c20: DUP6 00002c21: DUP6 00002c22: ADD 00002c23: MSTORE 00002c24: SWAP6 00002c25: DUP7 00002c26: ADD 00002c27: SWAP6 00002c28: DUP9 00002c29: SWAP6 00002c2a: POP 00002c2b: SWAP4 00002c2c: DUP2 00002c2d: ADD 00002c2e: SWAP4 00002c2f: PUSH2 0x2c05 00002c32: JUMP 00002c33: JUMPDEST 00002c34: SWAP2 00002c35: POP 00002c36: POP 00002c37: PUSH2 0x296f 00002c3a: SWAP6 00002c3b: SWAP3 00002c3c: SWAP4 00002c3d: POP 00002c3e: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00002c5f: SWAP2 00002c60: POP 00002c61: AND 00002c62: DUP3 00002c63: MSTORE 00002c64: ISZERO 00002c65: ISZERO 00002c66: PUSH1 0x05 00002c68: SHL 00002c69: ADD 00002c6a: PUSH0 00002c6b: DUP1 00002c6c: DUP1 00002c6d: PUSH2 0x2ba5 00002c70: JUMP 00002c71: JUMPDEST 00002c72: SWAP4 00002c73: PUSH1 0x7f 00002c75: AND 00002c76: SWAP4 00002c77: PUSH2 0x2b7e 00002c7a: JUMP 00002c7b: JUMPDEST 00002c7c: PUSH1 0x40 00002c7e: MLOAD 00002c7f: SWAP1 00002c80: PUSH0 00002c81: PUSH32 0xa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d103 00002ca2: SLOAD 00002ca3: PUSH1 0x01 00002ca5: SWAP2 00002ca6: DUP2 00002ca7: PUSH1 0x01 00002ca9: SHR 00002caa: SWAP3 00002cab: PUSH1 0x01 00002cad: DUP4 00002cae: AND 00002caf: SWAP1 00002cb0: DUP2 00002cb1: ISZERO 00002cb2: PUSH2 0x2d6a 00002cb5: JUMPI 00002cb6: JUMPDEST 00002cb7: PUSH1 0x20 00002cb9: SWAP1 00002cba: PUSH1 0x20 00002cbc: DUP7 00002cbd: LT 00002cbe: DUP4 00002cbf: EQ 00002cc0: PUSH2 0x0636 00002cc3: JUMPI 00002cc4: DUP6 00002cc5: DUP9 00002cc6: MSTORE 00002cc7: DUP8 00002cc8: SWAP5 00002cc9: PUSH1 0x20 00002ccb: DUP7 00002ccc: ADD 00002ccd: SWAP4 00002cce: SWAP1 00002ccf: DUP2 00002cd0: ISZERO 00002cd1: PUSH2 0x2c33 00002cd4: JUMPI 00002cd5: POP 00002cd6: PUSH1 0x01 00002cd8: EQ 00002cd9: PUSH2 0x2ceb 00002cdc: JUMPI 00002cdd: POP 00002cde: POP 00002cdf: POP 00002ce0: PUSH2 0x296f 00002ce3: SWAP3 00002ce4: POP 00002ce5: SUB 00002ce6: DUP4 00002ce7: PUSH2 0x0ce7 00002cea: JUMP 00002ceb: JUMPDEST 00002cec: SWAP3 00002ced: POP 00002cee: SWAP4 00002cef: PUSH2 0x2d38 00002cf2: PUSH32 0xa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d103 00002d13: PUSH0 00002d14: MSTORE 00002d15: PUSH32 0x5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b75 00002d36: SWAP1 00002d37: JUMP 00002d38: JUMPDEST 00002d39: SWAP5 00002d3a: PUSH0 00002d3b: SWAP4 00002d3c: JUMPDEST 00002d3d: DUP3 00002d3e: DUP6 00002d3f: LT 00002d40: PUSH2 0x2d54 00002d43: JUMPI 00002d44: POP 00002d45: POP 00002d46: POP 00002d47: PUSH2 0x296f 00002d4a: SWAP4 00002d4b: POP 00002d4c: ADD 00002d4d: PUSH0 00002d4e: DUP1 00002d4f: DUP1 00002d50: PUSH2 0x2ba5 00002d53: JUMP 00002d54: JUMPDEST 00002d55: DUP7 00002d56: SLOAD 00002d57: DUP6 00002d58: DUP6 00002d59: ADD 00002d5a: MSTORE 00002d5b: SWAP6 00002d5c: DUP7 00002d5d: ADD 00002d5e: SWAP6 00002d5f: DUP9 00002d60: SWAP6 00002d61: POP 00002d62: SWAP4 00002d63: DUP2 00002d64: ADD 00002d65: SWAP4 00002d66: PUSH2 0x2d3c 00002d69: JUMP 00002d6a: JUMPDEST 00002d6b: SWAP4 00002d6c: PUSH1 0x7f 00002d6e: AND 00002d6f: SWAP4 00002d70: PUSH2 0x2cb6 00002d73: JUMP 00002d74: JUMPDEST 00002d75: SWAP1 00002d76: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02 00002d97: SLOAD 00002d98: ISZERO 00002d99: PUSH2 0x2df1 00002d9c: JUMPI 00002d9d: PUSH2 0x2da4 00002da0: PUSH2 0x2994 00002da3: JUMP 00002da4: JUMPDEST 00002da5: DUP1 00002da6: MLOAD 00002da7: PUSH2 0x2daf 00002daa: DUP2 00002dab: PUSH2 0x2a30 00002dae: JUMP 00002daf: JUMPDEST 00002db0: SWAP4 00002db1: PUSH0 00002db2: JUMPDEST 00002db3: DUP3 00002db4: DUP2 00002db5: LT 00002db6: PUSH2 0x2dc0 00002db9: JUMPI 00002dba: POP 00002dbb: POP 00002dbc: POP 00002dbd: SWAP2 00002dbe: SWAP1 00002dbf: JUMP 00002dc0: JUMPDEST 00002dc1: DUP1 00002dc2: PUSH2 0x2de0 00002dc5: PUSH1 0x01 00002dc7: PUSH1 0x01 00002dc9: PUSH1 0xa0 00002dcb: SHL 00002dcc: SUB 00002dcd: PUSH2 0x2dd8 00002dd0: PUSH1 0x01 00002dd2: SWAP5 00002dd3: DUP9 00002dd4: PUSH2 0x2a61 00002dd7: JUMP 00002dd8: JUMPDEST 00002dd9: MLOAD 00002dda: AND 00002ddb: DUP5 00002ddc: PUSH2 0x32e0 00002ddf: JUMP 00002de0: JUMPDEST 00002de1: PUSH2 0x2dea 00002de4: DUP3 00002de5: DUP10 00002de6: PUSH2 0x2a61 00002de9: JUMP 00002dea: JUMPDEST 00002deb: MSTORE 00002dec: ADD 00002ded: PUSH2 0x2db2 00002df0: JUMP 00002df1: JUMPDEST 00002df2: PUSH1 0x04 00002df4: PUSH1 0x40 00002df6: MLOAD 00002df7: PUSH32 0xed0f386100000000000000000000000000000000000000000000000000000000 00002e18: DUP2 00002e19: MSTORE 00002e1a: REVERT 00002e1b: JUMPDEST 00002e1c: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00002e3d: PUSH0 00002e3e: MSTORE 00002e3f: PUSH1 0x11 00002e41: PUSH1 0x04 00002e43: MSTORE 00002e44: PUSH1 0x24 00002e46: PUSH0 00002e47: REVERT 00002e48: JUMPDEST 00002e49: DUP2 00002e4a: DUP2 00002e4b: MUL 00002e4c: SWAP3 00002e4d: SWAP2 00002e4e: DUP2 00002e4f: ISZERO 00002e50: SWAP2 00002e51: DUP5 00002e52: DIV 00002e53: EQ 00002e54: OR 00002e55: ISZERO 00002e56: PUSH2 0x2e5b 00002e59: JUMPI 00002e5a: JUMP 00002e5b: JUMPDEST 00002e5c: PUSH2 0x2e1b 00002e5f: JUMP 00002e60: JUMPDEST 00002e61: PUSH1 0xff 00002e63: AND 00002e64: PUSH1 0x4d 00002e66: DUP2 00002e67: GT 00002e68: PUSH2 0x2e5b 00002e6b: JUMPI 00002e6c: PUSH1 0x0a 00002e6e: EXP 00002e6f: SWAP1 00002e70: JUMP 00002e71: JUMPDEST 00002e72: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00002e93: PUSH0 00002e94: MSTORE 00002e95: PUSH1 0x12 00002e97: PUSH1 0x04 00002e99: MSTORE 00002e9a: PUSH1 0x24 00002e9c: PUSH0 00002e9d: REVERT 00002e9e: JUMPDEST 00002e9f: DUP2 00002ea0: ISZERO 00002ea1: PUSH2 0x2ea8 00002ea4: JUMPI 00002ea5: DIV 00002ea6: SWAP1 00002ea7: JUMP 00002ea8: JUMPDEST 00002ea9: PUSH2 0x2e71 00002eac: JUMP 00002ead: JUMPDEST 00002eae: PUSH2 0x2ec5 00002eb1: PUSH2 0x22ee 00002eb4: PUSH2 0x22ee 00002eb7: PUSH1 0x03 00002eb9: SLOAD 00002eba: PUSH1 0x01 00002ebc: PUSH1 0x01 00002ebe: PUSH1 0xa0 00002ec0: SHL 00002ec1: SUB 00002ec2: AND 00002ec3: SWAP1 00002ec4: JUMP 00002ec5: JUMPDEST 00002ec6: PUSH1 0x40 00002ec8: MLOAD 00002ec9: PUSH32 0x34ff2eeb00000000000000000000000000000000000000000000000000000000 00002eea: DUP1 00002eeb: DUP3 00002eec: MSTORE 00002eed: PUSH1 0x01 00002eef: PUSH1 0x01 00002ef1: PUSH1 0xa0 00002ef3: SHL 00002ef4: SUB 00002ef5: DUP5 00002ef6: AND 00002ef7: PUSH1 0x04 00002ef9: DUP4 00002efa: ADD 00002efb: MSTORE 00002efc: PUSH1 0x20 00002efe: SWAP4 00002eff: SWAP3 00002f00: SWAP1 00002f01: SWAP2 00002f02: DUP5 00002f03: DUP2 00002f04: PUSH1 0x24 00002f06: DUP2 00002f07: DUP6 00002f08: GAS 00002f09: STATICCALL 00002f0a: SWAP1 00002f0b: DUP2 00002f0c: ISZERO 00002f0d: PUSH2 0x139c 00002f10: JUMPI 00002f11: PUSH0 00002f12: SWAP2 00002f13: PUSH2 0x2ffd 00002f16: JUMPI 00002f17: JUMPDEST 00002f18: POP 00002f19: ISZERO 00002f1a: PUSH2 0x2fd3 00002f1d: JUMPI 00002f1e: PUSH1 0x40 00002f20: MLOAD 00002f21: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 00002f42: DUP2 00002f43: MSTORE 00002f44: ADDRESS 00002f45: PUSH1 0x04 00002f47: DUP3 00002f48: ADD 00002f49: MSTORE 00002f4a: DUP5 00002f4b: DUP2 00002f4c: PUSH1 0x24 00002f4e: DUP2 00002f4f: PUSH1 0x01 00002f51: PUSH1 0x01 00002f53: PUSH1 0xa0 00002f55: SHL 00002f56: SUB 00002f57: DUP9 00002f58: AND 00002f59: GAS 00002f5a: STATICCALL 00002f5b: SWAP3 00002f5c: DUP4 00002f5d: ISZERO 00002f5e: PUSH2 0x139c 00002f61: JUMPI 00002f62: DUP6 00002f63: SWAP2 00002f64: PUSH0 00002f65: SWAP5 00002f66: PUSH2 0x2fb4 00002f69: JUMPI 00002f6a: JUMPDEST 00002f6b: POP 00002f6c: PUSH1 0x40 00002f6e: MLOAD 00002f6f: SWAP1 00002f70: DUP2 00002f71: MSTORE 00002f72: PUSH1 0x01 00002f74: PUSH1 0x01 00002f76: PUSH1 0xa0 00002f78: SHL 00002f79: SUB 00002f7a: DUP6 00002f7b: AND 00002f7c: PUSH1 0x04 00002f7e: DUP3 00002f7f: ADD 00002f80: MSTORE 00002f81: SWAP2 00002f82: DUP3 00002f83: SWAP1 00002f84: PUSH1 0x24 00002f86: SWAP1 00002f87: DUP3 00002f88: SWAP1 00002f89: GAS 00002f8a: STATICCALL 00002f8b: SWAP4 00002f8c: DUP5 00002f8d: ISZERO 00002f8e: PUSH2 0x139c 00002f91: JUMPI 00002f92: PUSH2 0x0492 00002f95: SWAP5 00002f96: PUSH2 0x1326 00002f99: SWAP4 00002f9a: PUSH2 0x2567 00002f9d: SWAP4 00002f9e: PUSH2 0x2fae 00002fa1: SWAP4 00002fa2: PUSH0 00002fa3: SWAP4 00002fa4: PUSH2 0x257a 00002fa7: JUMPI 00002fa8: POP 00002fa9: POP 00002faa: PUSH2 0x2e48 00002fad: JUMP 00002fae: JUMPDEST 00002faf: SWAP3 00002fb0: PUSH2 0x3749 00002fb3: JUMP 00002fb4: JUMPDEST 00002fb5: PUSH2 0x2fcc 00002fb8: SWAP2 00002fb9: SWAP5 00002fba: POP 00002fbb: DUP3 00002fbc: RETURNDATASIZE 00002fbd: DUP5 00002fbe: GT 00002fbf: PUSH2 0x10c2 00002fc2: JUMPI 00002fc3: PUSH2 0x10b3 00002fc6: DUP2 00002fc7: DUP4 00002fc8: PUSH2 0x0ce7 00002fcb: JUMP 00002fcc: JUMPDEST 00002fcd: SWAP3 00002fce: PUSH0 00002fcf: PUSH2 0x2f6a 00002fd2: JUMP 00002fd3: JUMPDEST 00002fd4: PUSH1 0x04 00002fd6: PUSH1 0x40 00002fd8: MLOAD 00002fd9: PUSH32 0x68a7617000000000000000000000000000000000000000000000000000000000 00002ffa: DUP2 00002ffb: MSTORE 00002ffc: REVERT 00002ffd: JUMPDEST 00002ffe: PUSH2 0x3014 00003001: SWAP2 00003002: POP 00003003: DUP6 00003004: RETURNDATASIZE 00003005: DUP8 00003006: GT 00003007: PUSH2 0x10c2 0000300a: JUMPI 0000300b: PUSH2 0x10b3 0000300e: DUP2 0000300f: DUP4 00003010: PUSH2 0x0ce7 00003013: JUMP 00003014: JUMPDEST 00003015: PUSH0 00003016: PUSH2 0x2f17 00003019: JUMP 0000301a: JUMPDEST 0000301b: SWAP2 0000301c: SWAP1 0000301d: DUP3 0000301e: SUB 0000301f: SWAP2 00003020: DUP3 00003021: GT 00003022: PUSH2 0x2e5b 00003025: JUMPI 00003026: JUMP 00003027: JUMPDEST 00003028: PUSH2 0x3039 0000302b: SWAP2 0000302c: PUSH2 0x3034 0000302f: SWAP2 00003030: PUSH2 0x30b3 00003033: JUMP 00003034: JUMPDEST 00003035: PUSH2 0x3221 00003038: JUMP 00003039: JUMPDEST 0000303a: SWAP1 0000303b: PUSH2 0x3051 0000303e: PUSH6 0xffffffffffff 00003045: PUSH1 0x0e 00003047: SLOAD 00003048: PUSH1 0xa0 0000304a: SHR 0000304b: AND 0000304c: DUP4 0000304d: PUSH2 0x37c9 00003050: JUMP 00003051: JUMPDEST 00003052: SWAP2 00003053: DUP3 00003054: DUP2 00003055: SUB 00003056: SWAP1 00003057: DUP2 00003058: GT 00003059: PUSH2 0x2e5b 0000305c: JUMPI 0000305d: SWAP2 0000305e: SWAP1 0000305f: JUMP 00003060: JUMPDEST 00003061: PUSH2 0x306f 00003064: PUSH1 0x0e 00003066: SLOAD 00003067: PUSH1 0xd0 00003069: SHR 0000306a: DUP3 0000306b: PUSH2 0x37c9 0000306e: JUMP 0000306f: JUMPDEST 00003070: SWAP1 00003071: DUP2 00003072: DUP2 00003073: SUB 00003074: SWAP1 00003075: DUP2 00003076: GT 00003077: PUSH2 0x2e5b 0000307a: JUMPI 0000307b: PUSH2 0x3083 0000307e: SWAP1 0000307f: PUSH2 0x2d74 00003082: JUMP 00003083: JUMPDEST 00003084: SWAP3 00003085: SWAP1 00003086: SWAP3 00003087: SWAP2 00003088: SWAP1 00003089: JUMP 0000308a: JUMPDEST 0000308b: SWAP2 0000308c: SWAP1 0000308d: DUP3 0000308e: PUSH1 0x40 00003090: SWAP2 00003091: SUB 00003092: SLT 00003093: PUSH2 0x0015 00003096: JUMPI 00003097: PUSH1 0x20 00003099: DUP3 0000309a: MLOAD 0000309b: SWAP3 0000309c: ADD 0000309d: MLOAD 0000309e: PUSH2 0x0492 000030a1: DUP2 000030a2: PUSH2 0x205b 000030a5: JUMP 000030a6: JUMPDEST 000030a7: SWAP2 000030a8: SWAP1 000030a9: DUP3 000030aa: ADD 000030ab: DUP1 000030ac: SWAP3 000030ad: GT 000030ae: PUSH2 0x2e5b 000030b1: JUMPI 000030b2: JUMP 000030b3: JUMPDEST 000030b4: PUSH0 000030b5: SWAP3 000030b6: DUP2 000030b7: MLOAD 000030b8: DUP4 000030b9: MLOAD 000030ba: SUB 000030bb: PUSH2 0x31f7 000030be: JUMPI 000030bf: SWAP2 000030c0: SWAP3 000030c1: PUSH0 000030c2: SWAP4 000030c3: PUSH2 0x30da 000030c6: PUSH2 0x22ee 000030c9: PUSH2 0x22ee 000030cc: PUSH1 0x03 000030ce: SLOAD 000030cf: PUSH1 0x01 000030d1: PUSH1 0x01 000030d3: PUSH1 0xa0 000030d5: SHL 000030d6: SUB 000030d7: AND 000030d8: SWAP1 000030d9: JUMP 000030da: JUMPDEST 000030db: SWAP2 000030dc: JUMPDEST 000030dd: DUP4 000030de: MLOAD 000030df: DUP7 000030e0: LT 000030e1: ISZERO 000030e2: PUSH2 0x31f0 000030e5: JUMPI 000030e6: PUSH2 0x30f8 000030e9: PUSH2 0x1b5c 000030ec: PUSH2 0x09f4 000030ef: PUSH2 0x22e1 000030f2: DUP10 000030f3: DUP9 000030f4: PUSH2 0x2a61 000030f7: JUMP 000030f8: JUMPDEST 000030f9: PUSH2 0x287e 000030fc: JUMPI 000030fd: PUSH2 0x3109 00003100: PUSH2 0x22e1 00003103: DUP8 00003104: DUP7 00003105: PUSH2 0x2a61 00003108: JUMP 00003109: JUMPDEST 0000310a: PUSH1 0x40 0000310c: SWAP1 0000310d: DUP2 0000310e: MLOAD 0000310f: SWAP2 00003110: PUSH32 0x34ff2eeb00000000000000000000000000000000000000000000000000000000 00003131: DUP4 00003132: MSTORE 00003133: PUSH1 0x20 00003135: SWAP3 00003136: DUP4 00003137: DUP2 00003138: DUP1 00003139: PUSH2 0x3156 0000313c: PUSH1 0x04 0000313e: SWAP7 0000313f: DUP8 00003140: DUP4 00003141: ADD 00003142: SWAP2 00003143: SWAP1 00003144: SWAP2 00003145: PUSH1 0x01 00003147: PUSH1 0x01 00003149: PUSH1 0xa0 0000314b: SHL 0000314c: SUB 0000314d: PUSH1 0x20 0000314f: DUP3 00003150: ADD 00003151: SWAP4 00003152: AND 00003153: SWAP1 00003154: MSTORE 00003155: JUMP 00003156: JUMPDEST 00003157: SUB 00003158: DUP2 00003159: DUP11 0000315a: GAS 0000315b: STATICCALL 0000315c: SWAP4 0000315d: DUP5 0000315e: ISZERO 0000315f: PUSH2 0x139c 00003162: JUMPI 00003163: PUSH0 00003164: SWAP5 00003165: PUSH2 0x31d1 00003168: JUMPI 00003169: JUMPDEST 0000316a: POP 0000316b: POP 0000316c: DUP3 0000316d: ISZERO 0000316e: PUSH2 0x31ab 00003171: JUMPI 00003172: POP 00003173: POP 00003174: PUSH1 0x01 00003176: SWAP2 00003177: PUSH2 0x256c 0000317a: PUSH2 0x3190 0000317d: PUSH2 0x31a3 00003180: SWAP4 00003181: PUSH2 0x318a 00003184: DUP12 00003185: DUP9 00003186: PUSH2 0x2a61 00003189: JUMP 0000318a: JUMPDEST 0000318b: MLOAD 0000318c: PUSH2 0x2e48 0000318f: JUMP 00003190: JUMPDEST 00003191: PUSH2 0x1326 00003194: PUSH2 0x2567 00003197: PUSH2 0x2562 0000319a: PUSH2 0x22e1 0000319d: DUP14 0000319e: DUP13 0000319f: PUSH2 0x2a61 000031a2: JUMP 000031a3: JUMPDEST 000031a4: SWAP6 000031a5: ADD 000031a6: SWAP5 000031a7: PUSH2 0x30dc 000031aa: JUMP 000031ab: JUMPDEST 000031ac: MLOAD 000031ad: PUSH32 0x68a7617000000000000000000000000000000000000000000000000000000000 000031ce: DUP2 000031cf: MSTORE 000031d0: REVERT 000031d1: JUMPDEST 000031d2: PUSH2 0x31e8 000031d5: SWAP3 000031d6: SWAP5 000031d7: POP 000031d8: DUP1 000031d9: RETURNDATASIZE 000031da: LT 000031db: PUSH2 0x10c2 000031de: JUMPI 000031df: PUSH2 0x10b3 000031e2: DUP2 000031e3: DUP4 000031e4: PUSH2 0x0ce7 000031e7: JUMP 000031e8: JUMPDEST 000031e9: SWAP2 000031ea: PUSH0 000031eb: DUP1 000031ec: PUSH2 0x3169 000031ef: JUMP 000031f0: JUMPDEST 000031f1: SWAP5 000031f2: POP 000031f3: POP 000031f4: POP 000031f5: POP 000031f6: JUMP 000031f7: JUMPDEST 000031f8: PUSH1 0x04 000031fa: PUSH1 0x40 000031fc: MLOAD 000031fd: PUSH32 0xa24a13a600000000000000000000000000000000000000000000000000000000 0000321e: DUP2 0000321f: MSTORE 00003220: REVERT 00003221: JUMPDEST 00003222: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02 00003243: SLOAD 00003244: DUP1 00003245: ISZERO 00003246: PUSH2 0x325d 00003249: JUMPI 0000324a: SWAP1 0000324b: DUP2 0000324c: PUSH2 0x3257 0000324f: PUSH2 0x0492 00003252: SWAP4 00003253: PUSH2 0x368f 00003256: JUMP 00003257: JUMPDEST 00003258: SWAP2 00003259: PUSH2 0x38e0 0000325c: JUMP 0000325d: JUMPDEST 0000325e: POP 0000325f: SWAP1 00003260: JUMP 00003261: JUMPDEST 00003262: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02 00003283: SLOAD 00003284: DUP1 00003285: ISZERO 00003286: PUSH2 0x32da 00003289: JUMPI 0000328a: PUSH2 0x3292 0000328d: DUP2 0000328e: PUSH2 0x368f 00003291: JUMP 00003292: JUMPDEST 00003293: SWAP1 00003294: PUSH1 0x01 00003296: DUP1 00003297: PUSH2 0x32a1 0000329a: DUP5 0000329b: DUP5 0000329c: DUP8 0000329d: PUSH2 0x38e0 000032a0: JUMP 000032a1: JUMPDEST 000032a2: SWAP6 000032a3: PUSH2 0x32ab 000032a6: DUP2 000032a7: PUSH2 0x420d 000032aa: JUMP 000032ab: JUMPDEST 000032ac: AND 000032ad: EQ 000032ae: SWAP3 000032af: DUP4 000032b0: PUSH2 0x32c5 000032b3: JUMPI 000032b4: JUMPDEST 000032b5: POP 000032b6: POP 000032b7: POP 000032b8: ISZERO 000032b9: ISZERO 000032ba: DUP2 000032bb: ADD 000032bc: DUP1 000032bd: SWAP2 000032be: GT 000032bf: PUSH2 0x2e5b 000032c2: JUMPI 000032c3: SWAP1 000032c4: JUMP 000032c5: JUMPDEST 000032c6: SWAP1 000032c7: SWAP2 000032c8: DUP1 000032c9: SWAP4 000032ca: POP 000032cb: ISZERO 000032cc: PUSH2 0x2ea8 000032cf: JUMPI 000032d0: MULMOD 000032d1: ISZERO 000032d2: ISZERO 000032d3: PUSH0 000032d4: DUP1 000032d5: DUP1 000032d6: PUSH2 0x32b4 000032d9: JUMP 000032da: JUMPDEST 000032db: POP 000032dc: SWAP1 000032dd: POP 000032de: SWAP1 000032df: JUMP 000032e0: JUMPDEST 000032e1: SWAP1 000032e2: PUSH1 0x01 000032e4: PUSH1 0x01 000032e6: PUSH1 0xa0 000032e8: SHL 000032e9: SUB 000032ea: AND 000032eb: SWAP1 000032ec: DUP2 000032ed: PUSH0 000032ee: MSTORE 000032ef: PUSH0 000032f0: PUSH1 0x20 000032f2: MSTORE 000032f3: PUSH1 0xff 000032f5: PUSH1 0x40 000032f7: PUSH0 000032f8: KECCAK256 000032f9: SLOAD 000032fa: AND 000032fb: ISZERO 000032fc: PUSH2 0x287e 000032ff: JUMPI 00003300: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02 00003321: SLOAD 00003322: SWAP1 00003323: DUP2 00003324: ISZERO 00003325: PUSH2 0x2df1 00003328: JUMPI 00003329: PUSH1 0x40 0000332b: MLOAD 0000332c: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 0000334d: DUP2 0000334e: MSTORE 0000334f: ADDRESS 00003350: PUSH1 0x04 00003352: DUP3 00003353: ADD 00003354: MSTORE 00003355: SWAP3 00003356: PUSH1 0x20 00003358: SWAP1 00003359: DUP5 0000335a: SWAP1 0000335b: PUSH1 0x24 0000335d: SWAP1 0000335e: DUP3 0000335f: SWAP1 00003360: GAS 00003361: STATICCALL 00003362: SWAP1 00003363: DUP2 00003364: ISZERO 00003365: PUSH2 0x139c 00003368: JUMPI 00003369: PUSH2 0x0492 0000336c: SWAP4 0000336d: PUSH0 0000336e: SWAP3 0000336f: PUSH2 0x3382 00003372: JUMPI 00003373: JUMPDEST 00003374: POP 00003375: DUP2 00003376: PUSH2 0x38e0 00003379: JUMPI 0000337a: PUSH1 0x01 0000337c: SWAP2 0000337d: POP 0000337e: PUSH2 0x38e0 00003381: JUMP 00003382: JUMPDEST 00003383: PUSH2 0x339c 00003386: SWAP2 00003387: SWAP3 00003388: POP 00003389: PUSH1 0x20 0000338b: RETURNDATASIZE 0000338c: PUSH1 0x20 0000338e: GT 0000338f: PUSH2 0x10c2 00003392: JUMPI 00003393: PUSH2 0x10b3 00003396: DUP2 00003397: DUP4 00003398: PUSH2 0x0ce7 0000339b: JUMP 0000339c: JUMPDEST 0000339d: SWAP1 0000339e: PUSH0 0000339f: PUSH2 0x3373 000033a2: JUMP 000033a3: JUMPDEST 000033a4: SWAP3 000033a5: PUSH2 0x0492 000033a8: SWAP5 000033a9: SWAP3 000033aa: PUSH2 0x33c5 000033ad: SWAP3 000033ae: DUP6 000033af: MSTORE 000033b0: PUSH1 0x20 000033b2: DUP6 000033b3: ADD 000033b4: MSTORE 000033b5: PUSH1 0x80 000033b7: PUSH1 0x40 000033b9: DUP6 000033ba: ADD 000033bb: MSTORE 000033bc: PUSH1 0x80 000033be: DUP5 000033bf: ADD 000033c0: SWAP1 000033c1: PUSH2 0x03fe 000033c4: JUMP 000033c5: JUMPDEST 000033c6: SWAP2 000033c7: PUSH1 0x60 000033c9: DUP2 000033ca: DUP5 000033cb: SUB 000033cc: SWAP2 000033cd: ADD 000033ce: MSTORE 000033cf: PUSH2 0x043a 000033d2: JUMP 000033d3: JUMPDEST 000033d4: PUSH1 0x40 000033d6: MLOAD 000033d7: SWAP1 000033d8: PUSH2 0x33e0 000033db: DUP3 000033dc: PUSH2 0x0ccb 000033df: JUMP 000033e0: JUMPDEST 000033e1: PUSH0 000033e2: PUSH1 0x60 000033e4: DUP4 000033e5: DUP3 000033e6: DUP2 000033e7: MSTORE 000033e8: DUP3 000033e9: PUSH1 0x20 000033eb: DUP3 000033ec: ADD 000033ed: MSTORE 000033ee: DUP3 000033ef: PUSH1 0x40 000033f1: DUP3 000033f2: ADD 000033f3: MSTORE 000033f4: ADD 000033f5: MSTORE 000033f6: JUMP 000033f7: JUMPDEST 000033f8: PUSH1 0x40 000033fa: MLOAD 000033fb: SWAP1 000033fc: PUSH2 0x3404 000033ff: DUP3 00003400: PUSH2 0x0ccb 00003403: JUMP 00003404: JUMPDEST 00003405: DUP2 00003406: PUSH1 0x60 00003408: PUSH1 0x04 0000340a: SLOAD 0000340b: PUSH16 0xffffffffffffffffffffffffffffffff 0000341c: SWAP1 0000341d: DUP2 0000341e: DUP2 0000341f: AND 00003420: DUP5 00003421: MSTORE 00003422: PUSH1 0x80 00003424: SHR 00003425: PUSH1 0x20 00003427: DUP5 00003428: ADD 00003429: MSTORE 0000342a: PUSH1 0x05 0000342c: SLOAD 0000342d: SWAP1 0000342e: DUP2 0000342f: AND 00003430: PUSH1 0x40 00003432: DUP5 00003433: ADD 00003434: MSTORE 00003435: PUSH1 0x80 00003437: SHR 00003438: SWAP2 00003439: ADD 0000343a: MSTORE 0000343b: JUMP 0000343c: JUMPDEST 0000343d: CALLDATASIZE 0000343e: PUSH0 0000343f: DUP1 00003440: CALLDATACOPY 00003441: PUSH0 00003442: DUP1 00003443: CALLDATASIZE 00003444: DUP2 00003445: PUSH32 0x67f3bdb99ec85305417f06f626cf52c7dee7e44607664b5f1cce0af5d822472f 00003466: SLOAD 00003467: GAS 00003468: DELEGATECALL 00003469: RETURNDATASIZE 0000346a: PUSH0 0000346b: DUP1 0000346c: RETURNDATACOPY 0000346d: ISZERO 0000346e: PUSH2 0x3475 00003471: JUMPI 00003472: RETURNDATASIZE 00003473: PUSH0 00003474: RETURN 00003475: JUMPDEST 00003476: RETURNDATASIZE 00003477: PUSH0 00003478: REVERT 00003479: JUMPDEST 0000347a: SWAP2 0000347b: PUSH1 0x01 0000347d: PUSH1 0x01 0000347f: PUSH1 0xa0 00003481: SHL 00003482: SUB 00003483: SWAP2 00003484: DUP3 00003485: DUP5 00003486: AND 00003487: SWAP3 00003488: DUP4 00003489: ISZERO 0000348a: PUSH2 0x3609 0000348d: JUMPI 0000348e: DUP2 0000348f: AND 00003490: SWAP4 00003491: DUP5 00003492: ISZERO 00003493: PUSH2 0x35d9 00003496: JUMPI 00003497: PUSH2 0x34d0 0000349a: DUP2 0000349b: PUSH1 0x01 0000349d: PUSH1 0x01 0000349f: PUSH1 0xa0 000034a1: SHL 000034a2: SUB 000034a3: AND 000034a4: PUSH0 000034a5: MSTORE 000034a6: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00 000034c7: PUSH1 0x20 000034c9: MSTORE 000034ca: PUSH1 0x40 000034cc: PUSH0 000034cd: KECCAK256 000034ce: SWAP1 000034cf: JUMP 000034d0: JUMPDEST 000034d1: SLOAD 000034d2: DUP4 000034d3: DUP2 000034d4: LT 000034d5: PUSH2 0x3591 000034d8: JUMPI 000034d9: PUSH2 0x358c 000034dc: SWAP3 000034dd: DUP5 000034de: SWAP3 000034df: PUSH2 0x353f 000034e2: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00003503: SWAP7 00003504: PUSH2 0x3576 00003507: SWAP5 00003508: SUB 00003509: SWAP2 0000350a: PUSH1 0x01 0000350c: PUSH1 0x01 0000350e: PUSH1 0xa0 00003510: SHL 00003511: SUB 00003512: AND 00003513: PUSH0 00003514: MSTORE 00003515: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00 00003536: PUSH1 0x20 00003538: MSTORE 00003539: PUSH1 0x40 0000353b: PUSH0 0000353c: KECCAK256 0000353d: SWAP1 0000353e: JUMP 0000353f: JUMPDEST 00003540: SSTORE 00003541: PUSH1 0x01 00003543: PUSH1 0x01 00003545: PUSH1 0xa0 00003547: SHL 00003548: SUB 00003549: AND 0000354a: PUSH0 0000354b: MSTORE 0000354c: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00 0000356d: PUSH1 0x20 0000356f: MSTORE 00003570: PUSH1 0x40 00003572: PUSH0 00003573: KECCAK256 00003574: SWAP1 00003575: JUMP 00003576: JUMPDEST 00003577: DUP1 00003578: SLOAD 00003579: DUP3 0000357a: ADD 0000357b: SWAP1 0000357c: SSTORE 0000357d: PUSH1 0x40 0000357f: MLOAD 00003580: SWAP1 00003581: DUP2 00003582: MSTORE 00003583: SWAP1 00003584: DUP2 00003585: SWAP1 00003586: PUSH1 0x20 00003588: DUP3 00003589: ADD 0000358a: SWAP1 0000358b: JUMP 0000358c: JUMPDEST 0000358d: SUB 0000358e: SWAP1 0000358f: LOG3 00003590: JUMP 00003591: JUMPDEST 00003592: PUSH1 0x40 00003594: MLOAD 00003595: PUSH32 0xe450d38c00000000000000000000000000000000000000000000000000000000 000035b6: DUP2 000035b7: MSTORE 000035b8: PUSH1 0x01 000035ba: PUSH1 0x01 000035bc: PUSH1 0xa0 000035be: SHL 000035bf: SUB 000035c0: SWAP3 000035c1: SWAP1 000035c2: SWAP3 000035c3: AND 000035c4: PUSH1 0x04 000035c6: DUP4 000035c7: ADD 000035c8: MSTORE 000035c9: PUSH1 0x24 000035cb: DUP3 000035cc: ADD 000035cd: MSTORE 000035ce: PUSH1 0x44 000035d0: DUP2 000035d1: ADD 000035d2: DUP4 000035d3: SWAP1 000035d4: MSTORE 000035d5: PUSH1 0x64 000035d7: SWAP1 000035d8: REVERT 000035d9: JUMPDEST 000035da: PUSH1 0x24 000035dc: PUSH1 0x40 000035de: MLOAD 000035df: PUSH32 0xec442f0500000000000000000000000000000000000000000000000000000000 00003600: DUP2 00003601: MSTORE 00003602: PUSH0 00003603: PUSH1 0x04 00003605: DUP3 00003606: ADD 00003607: MSTORE 00003608: REVERT 00003609: JUMPDEST 0000360a: PUSH1 0x24 0000360c: PUSH1 0x40 0000360e: MLOAD 0000360f: PUSH32 0x96c6fd1e00000000000000000000000000000000000000000000000000000000 00003630: DUP2 00003631: MSTORE 00003632: PUSH0 00003633: PUSH1 0x04 00003635: DUP3 00003636: ADD 00003637: MSTORE 00003638: REVERT 00003639: JUMPDEST 0000363a: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02 0000365b: SLOAD 0000365c: DUP1 0000365d: ISZERO 0000365e: PUSH2 0x368a 00003661: JUMPI 00003662: PUSH2 0x366c 00003665: PUSH2 0x13b4 00003668: PUSH2 0x2a8f 0000366b: JUMP 0000366c: JUMPDEST 0000366d: PUSH8 0x0de0b6b3a7640000 00003676: SWAP1 00003677: DUP2 00003678: DUP2 00003679: MUL 0000367a: SWAP2 0000367b: DUP2 0000367c: DUP4 0000367d: DIV 0000367e: EQ 0000367f: SWAP1 00003680: ISZERO 00003681: OR 00003682: ISZERO 00003683: PUSH2 0x2e5b 00003686: JUMPI 00003687: DIV 00003688: SWAP1 00003689: JUMP 0000368a: JUMPDEST 0000368b: POP 0000368c: PUSH0 0000368d: SWAP1 0000368e: JUMP 0000368f: JUMPDEST 00003690: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02 000036b1: SLOAD 000036b2: SWAP1 000036b3: DUP2 000036b4: ISZERO 000036b5: PUSH2 0x36d0 000036b8: JUMPI 000036b9: PUSH2 0x36cc 000036bc: SWAP1 000036bd: PUSH2 0x36c7 000036c0: PUSH2 0x13b4 000036c3: PUSH2 0x2a8f 000036c6: JUMP 000036c7: JUMPDEST 000036c8: PUSH2 0x2e48 000036cb: JUMP 000036cc: JUMPDEST 000036cd: DIV 000036ce: SWAP1 000036cf: JUMP 000036d0: JUMPDEST 000036d1: POP 000036d2: POP 000036d3: PUSH0 000036d4: SWAP1 000036d5: JUMP 000036d6: JUMPDEST 000036d7: PUSH2 0x36df 000036da: SWAP1 000036db: PUSH2 0x2ead 000036de: JUMP 000036df: JUMPDEST 000036e0: PUSH4 0x3b9aca00 000036e5: SWAP1 000036e6: DUP2 000036e7: DUP2 000036e8: MUL 000036e9: SWAP2 000036ea: DUP2 000036eb: DUP4 000036ec: DIV 000036ed: EQ 000036ee: SWAP1 000036ef: ISZERO 000036f0: OR 000036f1: ISZERO 000036f2: PUSH2 0x2e5b 000036f5: JUMPI 000036f6: DUP2 000036f7: ISZERO 000036f8: PUSH2 0x2ea8 000036fb: JUMPI 000036fc: DIV 000036fd: PUSH8 0xffffffffffffffff 00003706: SWAP1 00003707: DUP2 00003708: DUP2 00003709: GT 0000370a: PUSH2 0x3711 0000370d: JUMPI 0000370e: AND 0000370f: SWAP1 00003710: JUMP 00003711: JUMPDEST 00003712: PUSH1 0x44 00003714: SWAP1 00003715: PUSH1 0x40 00003717: MLOAD 00003718: SWAP1 00003719: PUSH32 0x6dfcc65000000000000000000000000000000000000000000000000000000000 0000373a: DUP3 0000373b: MSTORE 0000373c: PUSH1 0x40 0000373e: PUSH1 0x04 00003740: DUP4 00003741: ADD 00003742: MSTORE 00003743: PUSH1 0x24 00003745: DUP3 00003746: ADD 00003747: MSTORE 00003748: REVERT 00003749: JUMPDEST 0000374a: PUSH1 0x20 0000374c: PUSH1 0x01 0000374e: PUSH1 0x01 00003750: PUSH1 0xa0 00003752: SHL 00003753: SUB 00003754: SWAP2 00003755: PUSH1 0x04 00003757: PUSH1 0x40 00003759: MLOAD 0000375a: DUP1 0000375b: SWAP5 0000375c: DUP2 0000375d: SWAP4 0000375e: PUSH32 0x313ce56700000000000000000000000000000000000000000000000000000000 0000377f: DUP4 00003780: MSTORE 00003781: AND 00003782: GAS 00003783: STATICCALL 00003784: SWAP1 00003785: DUP2 00003786: ISZERO 00003787: PUSH2 0x139c 0000378a: JUMPI 0000378b: PUSH0 0000378c: SWAP2 0000378d: PUSH2 0x3794 00003790: JUMPI 00003791: POP 00003792: SWAP1 00003793: JUMP 00003794: JUMPDEST 00003795: SWAP1 00003796: POP 00003797: PUSH1 0x20 00003799: DUP2 0000379a: RETURNDATASIZE 0000379b: PUSH1 0x20 0000379d: GT 0000379e: PUSH2 0x37c1 000037a1: JUMPI 000037a2: JUMPDEST 000037a3: DUP2 000037a4: PUSH2 0x37af 000037a7: PUSH1 0x20 000037a9: SWAP4 000037aa: DUP4 000037ab: PUSH2 0x0ce7 000037ae: JUMP 000037af: JUMPDEST 000037b0: DUP2 000037b1: ADD 000037b2: SUB 000037b3: SLT 000037b4: PUSH2 0x0015 000037b7: JUMPI 000037b8: MLOAD 000037b9: PUSH2 0x0492 000037bc: DUP2 000037bd: PUSH2 0x205b 000037c0: JUMP 000037c1: JUMPDEST 000037c2: RETURNDATASIZE 000037c3: SWAP2 000037c4: POP 000037c5: PUSH2 0x37a2 000037c8: JUMP 000037c9: JUMPDEST 000037ca: SWAP1 000037cb: DUP1 000037cc: DUP3 000037cd: MUL 000037ce: SWAP1 000037cf: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000037f0: DUP2 000037f1: DUP5 000037f2: MULMOD 000037f3: SWAP1 000037f4: DUP3 000037f5: DUP1 000037f6: DUP4 000037f7: LT 000037f8: SWAP3 000037f9: SUB 000037fa: SWAP2 000037fb: DUP1 000037fc: DUP4 000037fd: SUB 000037fe: SWAP3 000037ff: EQ 00003800: PUSH2 0x384a 00003803: JUMPI 00003804: PUSH2 0x2710 00003807: SWAP1 00003808: DUP3 00003809: DUP3 0000380a: GT 0000380b: ISZERO 0000380c: PUSH2 0x3845 0000380f: JUMPI 00003810: PUSH32 0xbc01a36e2eb1c432ca57a786c226809d495182a9930be0ded288ce703afb7e91 00003831: SWAP5 00003832: MULMOD 00003833: SWAP1 00003834: DUP3 00003835: DUP3 00003836: GT 00003837: SWAP1 00003838: SUB 00003839: PUSH1 0xfc 0000383b: SHL 0000383c: SWAP2 0000383d: SUB 0000383e: PUSH1 0x04 00003840: SHR 00003841: OR 00003842: MUL 00003843: SWAP1 00003844: JUMP 00003845: JUMPDEST 00003846: PUSH2 0x40ef 00003849: JUMP 0000384a: JUMPDEST 0000384b: POP 0000384c: POP 0000384d: PUSH2 0x2710 00003850: SWAP2 00003851: POP 00003852: DIV 00003853: SWAP1 00003854: JUMP 00003855: JUMPDEST 00003856: SWAP1 00003857: DUP1 00003858: DUP3 00003859: MUL 0000385a: SWAP1 0000385b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000387c: DUP2 0000387d: DUP5 0000387e: MULMOD 0000387f: SWAP1 00003880: DUP3 00003881: DUP1 00003882: DUP4 00003883: LT 00003884: SWAP3 00003885: SUB 00003886: SWAP2 00003887: DUP1 00003888: DUP4 00003889: SUB 0000388a: SWAP3 0000388b: EQ 0000388c: PUSH2 0x38d3 0000388f: JUMPI 00003890: PUSH4 0x3b9aca00 00003895: SWAP1 00003896: DUP3 00003897: DUP3 00003898: GT 00003899: ISZERO 0000389a: PUSH2 0x3845 0000389d: JUMPI 0000389e: PUSH32 0x88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d 000038bf: SWAP5 000038c0: MULMOD 000038c1: SWAP1 000038c2: DUP3 000038c3: DUP3 000038c4: GT 000038c5: SWAP1 000038c6: SUB 000038c7: PUSH1 0xf7 000038c9: SHL 000038ca: SWAP2 000038cb: SUB 000038cc: PUSH1 0x09 000038ce: SHR 000038cf: OR 000038d0: MUL 000038d1: SWAP1 000038d2: JUMP 000038d3: JUMPDEST 000038d4: POP 000038d5: POP 000038d6: PUSH4 0x3b9aca00 000038db: SWAP2 000038dc: POP 000038dd: DIV 000038de: SWAP1 000038df: JUMP 000038e0: JUMPDEST 000038e1: SWAP2 000038e2: DUP2 000038e3: DUP4 000038e4: MUL 000038e5: SWAP2 000038e6: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00003907: DUP2 00003908: DUP6 00003909: MULMOD 0000390a: SWAP4 0000390b: DUP4 0000390c: DUP1 0000390d: DUP7 0000390e: LT 0000390f: SWAP6 00003910: SUB 00003911: SWAP5 00003912: DUP1 00003913: DUP7 00003914: SUB 00003915: SWAP6 00003916: EQ 00003917: PUSH2 0x397f 0000391a: JUMPI 0000391b: DUP5 0000391c: DUP4 0000391d: GT 0000391e: ISZERO 0000391f: PUSH2 0x3972 00003922: JUMPI 00003923: SWAP1 00003924: DUP3 00003925: SWAP2 00003926: MULMOD 00003927: DUP2 00003928: PUSH0 00003929: SUB 0000392a: DUP3 0000392b: AND 0000392c: DUP1 0000392d: SWAP3 0000392e: DIV 0000392f: PUSH1 0x02 00003931: DUP1 00003932: DUP3 00003933: PUSH1 0x03 00003935: MUL 00003936: XOR 00003937: DUP1 00003938: DUP4 00003939: MUL 0000393a: DUP3 0000393b: SUB 0000393c: MUL 0000393d: DUP1 0000393e: DUP4 0000393f: MUL 00003940: DUP3 00003941: SUB 00003942: MUL 00003943: DUP1 00003944: DUP4 00003945: MUL 00003946: DUP3 00003947: SUB 00003948: MUL 00003949: DUP1 0000394a: DUP4 0000394b: MUL 0000394c: DUP3 0000394d: SUB 0000394e: MUL 0000394f: DUP1 00003950: DUP4 00003951: MUL 00003952: DUP3 00003953: SUB 00003954: MUL 00003955: DUP1 00003956: SWAP3 00003957: MUL 00003958: SWAP1 00003959: SUB 0000395a: MUL 0000395b: SWAP4 0000395c: PUSH1 0x01 0000395e: DUP4 0000395f: DUP1 00003960: PUSH0 00003961: SUB 00003962: DIV 00003963: ADD 00003964: SWAP1 00003965: DUP5 00003966: DUP4 00003967: GT 00003968: SWAP1 00003969: SUB 0000396a: MUL 0000396b: SWAP3 0000396c: SUB 0000396d: DIV 0000396e: OR 0000396f: MUL 00003970: SWAP1 00003971: JUMP 00003972: JUMPDEST 00003973: DUP3 00003974: ISZERO 00003975: PUSH1 0x03 00003977: MUL 00003978: PUSH1 0x11 0000397a: XOR 0000397b: PUSH2 0x4101 0000397e: JUMP 0000397f: JUMPDEST 00003980: POP 00003981: POP 00003982: SWAP1 00003983: PUSH2 0x0492 00003986: SWAP3 00003987: POP 00003988: PUSH2 0x2e9e 0000398b: JUMP 0000398c: JUMPDEST 0000398d: PUSH1 0xff 0000398f: PUSH32 0xcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300 000039b0: SLOAD 000039b1: AND 000039b2: PUSH2 0x39b7 000039b5: JUMPI 000039b6: JUMP 000039b7: JUMPDEST 000039b8: PUSH1 0x04 000039ba: PUSH1 0x40 000039bc: MLOAD 000039bd: PUSH32 0xd93c066500000000000000000000000000000000000000000000000000000000 000039de: DUP2 000039df: MSTORE 000039e0: REVERT 000039e1: JUMPDEST 000039e2: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02 00003a03: SLOAD 00003a04: DUP1 00003a05: ISZERO 00003a06: PUSH2 0x3af6 00003a09: JUMPI 00003a0a: PUSH1 0x06 00003a0c: SLOAD 00003a0d: SWAP1 00003a0e: PUSH8 0xffffffffffffffff 00003a17: DUP3 00003a18: PUSH1 0x40 00003a1a: SHR 00003a1b: AND 00003a1c: TIMESTAMP 00003a1d: GT 00003a1e: PUSH2 0x3a25 00003a21: JUMPI 00003a22: POP 00003a23: POP 00003a24: JUMP 00003a25: JUMPDEST 00003a26: PUSH2 0x3ad7 00003a29: SWAP2 00003a2a: PUSH2 0x3a49 00003a2d: PUSH16 0xffffffffffffffffffffffffffffffff 00003a3e: SWAP3 00003a3f: DUP4 00003a40: SWAP3 00003a41: PUSH1 0x80 00003a43: SHR 00003a44: SWAP1 00003a45: PUSH2 0x3855 00003a48: JUMP 00003a49: JUMPDEST 00003a4a: AND 00003a4b: SWAP1 00003a4c: PUSH1 0x05 00003a4e: SLOAD 00003a4f: PUSH1 0x80 00003a51: SHR 00003a52: SWAP1 00003a53: PUSH2 0x3a5a 00003a56: PUSH2 0x33d3 00003a59: JUMP 00003a5a: JUMPDEST 00003a5b: POP 00003a5c: PUSH1 0x40 00003a5e: MLOAD 00003a5f: SWAP3 00003a60: PUSH2 0x3a68 00003a63: DUP5 00003a64: PUSH2 0x0ccb 00003a67: JUMP 00003a68: JUMPDEST 00003a69: DUP1 00003a6a: DUP5 00003a6b: MSTORE 00003a6c: PUSH1 0x20 00003a6e: DUP5 00003a6f: ADD 00003a70: MSTORE 00003a71: TIMESTAMP 00003a72: AND 00003a73: PUSH1 0x40 00003a75: DUP4 00003a76: ADD 00003a77: MSTORE 00003a78: PUSH1 0x60 00003a7a: DUP3 00003a7b: ADD 00003a7c: MSTORE 00003a7d: PUSH16 0xffffffffffffffffffffffffffffffff 00003a8e: PUSH1 0x60 00003a90: DUP2 00003a91: DUP4 00003a92: MLOAD 00003a93: AND 00003a94: SWAP2 00003a95: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000 00003ab6: SWAP3 00003ab7: DUP4 00003ab8: PUSH1 0x20 00003aba: DUP7 00003abb: ADD 00003abc: MLOAD 00003abd: PUSH1 0x80 00003abf: SHL 00003ac0: AND 00003ac1: OR 00003ac2: PUSH1 0x04 00003ac4: SSTORE 00003ac5: PUSH1 0x40 00003ac7: DUP5 00003ac8: ADD 00003ac9: MLOAD 00003aca: AND 00003acb: SWAP3 00003acc: ADD 00003acd: MLOAD 00003ace: PUSH1 0x80 00003ad0: SHL 00003ad1: AND 00003ad2: OR 00003ad3: PUSH1 0x05 00003ad5: SSTORE 00003ad6: JUMP 00003ad7: JUMPDEST 00003ad8: PUSH2 0x296f 00003adb: PUSH2 0x1c82 00003ade: PUSH2 0x1c6f 00003ae1: PUSH2 0x1c7c 00003ae4: PUSH2 0x1c6f 00003ae7: PUSH1 0x06 00003ae9: SLOAD 00003aea: PUSH8 0xffffffffffffffff 00003af3: AND 00003af4: SWAP1 00003af5: JUMP 00003af6: JUMPDEST 00003af7: POP 00003af8: JUMP 00003af9: JUMPDEST 00003afa: PUSH1 0x40 00003afc: MLOAD 00003afd: SWAP1 00003afe: PUSH2 0x3b06 00003b01: DUP3 00003b02: PUSH2 0x0ccb 00003b05: JUMP 00003b06: JUMPDEST 00003b07: PUSH1 0x04 00003b09: SLOAD 00003b0a: SWAP2 00003b0b: PUSH16 0xffffffffffffffffffffffffffffffff 00003b1c: SWAP1 00003b1d: DUP2 00003b1e: DUP5 00003b1f: AND 00003b20: SWAP3 00003b21: DUP4 00003b22: DUP3 00003b23: MSTORE 00003b24: PUSH1 0x20 00003b26: DUP3 00003b27: ADD 00003b28: SWAP5 00003b29: PUSH1 0x80 00003b2b: SHR 00003b2c: DUP6 00003b2d: MSTORE 00003b2e: DUP3 00003b2f: DUP1 00003b30: PUSH1 0x05 00003b32: SLOAD 00003b33: SWAP7 00003b34: PUSH2 0x3b4e 00003b37: PUSH1 0x40 00003b39: DUP7 00003b3a: ADD 00003b3b: SWAP6 00003b3c: DUP4 00003b3d: DUP11 00003b3e: AND 00003b3f: DUP8 00003b40: MSTORE 00003b41: DUP10 00003b42: PUSH1 0x80 00003b44: SHR 00003b45: PUSH1 0x60 00003b47: DUP3 00003b48: ADD 00003b49: MSTORE 00003b4a: PUSH2 0x4244 00003b4d: JUMP 00003b4e: JUMPDEST 00003b4f: MLOAD 00003b50: AND 00003b51: SWAP2 00003b52: AND 00003b53: SWAP1 00003b54: DUP2 00003b55: DUP2 00003b56: LT 00003b57: PUSH2 0x3b9b 00003b5a: JUMPI 00003b5b: SUB 00003b5c: SWAP3 00003b5d: DUP3 00003b5e: DUP5 00003b5f: GT 00003b60: PUSH2 0x2e5b 00003b63: JUMPI 00003b64: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000 00003b85: DUP1 00003b86: SWAP5 00003b87: PUSH1 0x80 00003b89: SHL 00003b8a: AND 00003b8b: OR 00003b8c: PUSH1 0x04 00003b8e: SSTORE 00003b8f: MLOAD 00003b90: AND 00003b91: SWAP2 00003b92: AND 00003b93: OR 00003b94: PUSH1 0x05 00003b96: SSTORE 00003b97: PUSH1 0x01 00003b99: SWAP1 00003b9a: JUMP 00003b9b: JUMPDEST 00003b9c: POP 00003b9d: POP 00003b9e: POP 00003b9f: POP 00003ba0: POP 00003ba1: POP 00003ba2: PUSH0 00003ba3: SWAP1 00003ba4: JUMP 00003ba5: JUMPDEST 00003ba6: SWAP3 00003ba7: SWAP4 00003ba8: SWAP5 00003ba9: SWAP2 00003baa: SWAP1 00003bab: SWAP5 00003bac: PUSH0 00003bad: JUMPDEST 00003bae: DUP5 00003baf: MLOAD 00003bb0: DUP2 00003bb1: LT 00003bb2: ISZERO 00003bb3: PUSH2 0x3c9e 00003bb6: JUMPI 00003bb7: PUSH1 0x01 00003bb9: PUSH1 0x01 00003bbb: PUSH1 0xa0 00003bbd: SHL 00003bbe: SUB 00003bbf: PUSH2 0x3beb 00003bc2: DUP2 00003bc3: PUSH2 0x3bcc 00003bc6: DUP5 00003bc7: DUP10 00003bc8: PUSH2 0x2a61 00003bcb: JUMP 00003bcc: JUMPDEST 00003bcd: MLOAD 00003bce: AND 00003bcf: PUSH1 0x01 00003bd1: PUSH1 0x01 00003bd3: PUSH1 0xa0 00003bd5: SHL 00003bd6: SUB 00003bd7: AND 00003bd8: PUSH0 00003bd9: MSTORE 00003bda: PUSH0 00003bdb: PUSH1 0x20 00003bdd: MSTORE 00003bde: PUSH1 0xff 00003be0: PUSH1 0x40 00003be2: PUSH0 00003be3: KECCAK256 00003be4: SLOAD 00003be5: PUSH1 0x08 00003be7: SHR 00003be8: AND 00003be9: SWAP1 00003bea: JUMP 00003beb: JUMPDEST 00003bec: ISZERO 00003bed: PUSH2 0x3c74 00003bf0: JUMPI 00003bf1: PUSH2 0x3bfa 00003bf4: DUP3 00003bf5: DUP8 00003bf6: PUSH2 0x2a61 00003bf9: JUMP 00003bfa: JUMPDEST 00003bfb: MLOAD 00003bfc: AND 00003bfd: SWAP1 00003bfe: PUSH2 0x3c07 00003c01: DUP2 00003c02: DUP10 00003c03: PUSH2 0x2a61 00003c06: JUMP 00003c07: JUMPDEST 00003c08: MLOAD 00003c09: PUSH1 0x40 00003c0b: SWAP1 00003c0c: DUP2 00003c0d: MLOAD 00003c0e: SWAP1 00003c0f: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000 00003c30: PUSH1 0x20 00003c32: DUP4 00003c33: ADD 00003c34: MSTORE 00003c35: CALLER 00003c36: PUSH1 0x24 00003c38: DUP4 00003c39: ADD 00003c3a: MSTORE 00003c3b: ADDRESS 00003c3c: PUSH1 0x44 00003c3e: DUP4 00003c3f: ADD 00003c40: MSTORE 00003c41: PUSH1 0x64 00003c43: SWAP1 00003c44: DUP2 00003c45: DUP4 00003c46: ADD 00003c47: MSTORE 00003c48: DUP2 00003c49: MSTORE 00003c4a: PUSH1 0xa0 00003c4c: DUP2 00003c4d: ADD 00003c4e: SWAP4 00003c4f: DUP2 00003c50: DUP6 00003c51: LT 00003c52: PUSH8 0xffffffffffffffff 00003c5b: DUP7 00003c5c: GT 00003c5d: OR 00003c5e: PUSH2 0x0cc6 00003c61: JUMPI 00003c62: PUSH1 0x01 00003c64: SWAP5 00003c65: PUSH2 0x3c6e 00003c68: SWAP4 00003c69: MSTORE 00003c6a: PUSH2 0x44b3 00003c6d: JUMP 00003c6e: JUMPDEST 00003c6f: ADD 00003c70: PUSH2 0x3bad 00003c73: JUMP 00003c74: JUMPDEST 00003c75: PUSH1 0x04 00003c77: PUSH1 0x40 00003c79: MLOAD 00003c7a: PUSH32 0xf84835a000000000000000000000000000000000000000000000000000000000 00003c9b: DUP2 00003c9c: MSTORE 00003c9d: REVERT 00003c9e: JUMPDEST 00003c9f: POP 00003ca0: SWAP2 00003ca1: SWAP5 00003ca2: POP 00003ca3: SWAP2 00003ca4: POP 00003ca5: PUSH2 0x296f 00003ca8: SWAP3 00003ca9: DUP1 00003caa: PUSH2 0x3cb4 00003cad: JUMPI 00003cae: JUMPDEST 00003caf: POP 00003cb0: PUSH2 0x42a9 00003cb3: JUMP 00003cb4: JUMPDEST 00003cb5: PUSH2 0x3ccf 00003cb8: SWAP1 00003cb9: PUSH2 0x3cca 00003cbc: PUSH1 0x0e 00003cbe: SLOAD 00003cbf: PUSH1 0x01 00003cc1: PUSH1 0x01 00003cc3: PUSH1 0xa0 00003cc5: SHL 00003cc6: SUB 00003cc7: AND 00003cc8: SWAP1 00003cc9: JUMP 00003cca: JUMPDEST 00003ccb: PUSH2 0x42a9 00003cce: JUMP 00003ccf: JUMPDEST 00003cd0: PUSH0 00003cd1: PUSH2 0x3cae 00003cd4: JUMP 00003cd5: JUMPDEST 00003cd6: PUSH1 0x02 00003cd8: SLOAD 00003cd9: PUSH2 0x3d02 00003cdc: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02 00003cfd: SLOAD 00003cfe: PUSH2 0x368f 00003d01: JUMP 00003d02: JUMPDEST 00003d03: DUP1 00003d04: ISZERO 00003d05: PUSH2 0x3dc9 00003d08: JUMPI 00003d09: PUSH0 00003d0a: JUMPDEST 00003d0b: DUP3 00003d0c: DUP2 00003d0d: LT 00003d0e: PUSH2 0x3d16 00003d11: JUMPI 00003d12: POP 00003d13: POP 00003d14: POP 00003d15: JUMP 00003d16: JUMPDEST 00003d17: PUSH2 0x3d38 00003d1a: DUP3 00003d1b: PUSH1 0x01 00003d1d: PUSH1 0x01 00003d1f: PUSH1 0xa0 00003d21: SHL 00003d22: SUB 00003d23: PUSH2 0x3d2b 00003d26: DUP5 00003d27: PUSH2 0x1174 00003d2a: JUMP 00003d2b: JUMPDEST 00003d2c: SWAP1 00003d2d: SLOAD 00003d2e: SWAP1 00003d2f: PUSH1 0x03 00003d31: SHL 00003d32: SHR 00003d33: AND 00003d34: PUSH2 0x36d6 00003d37: JUMP 00003d38: JUMPDEST 00003d39: PUSH8 0xffffffffffffffff 00003d42: PUSH2 0x3d90 00003d45: PUSH2 0x1c6f 00003d48: PUSH2 0x3d7f 00003d4b: PUSH2 0x3d69 00003d4e: PUSH2 0x3d56 00003d51: DUP8 00003d52: PUSH2 0x1174 00003d55: JUMP 00003d56: JUMPDEST 00003d57: SWAP1 00003d58: SLOAD 00003d59: PUSH1 0x01 00003d5b: PUSH1 0x01 00003d5d: PUSH1 0xa0 00003d5f: SHL 00003d60: SUB 00003d61: SWAP2 00003d62: PUSH1 0x03 00003d64: SHL 00003d65: SHR 00003d66: AND 00003d67: SWAP1 00003d68: JUMP 00003d69: JUMPDEST 00003d6a: PUSH1 0x01 00003d6c: PUSH1 0x01 00003d6e: PUSH1 0xa0 00003d70: SHL 00003d71: SUB 00003d72: AND 00003d73: PUSH0 00003d74: MSTORE 00003d75: PUSH0 00003d76: PUSH1 0x20 00003d78: MSTORE 00003d79: PUSH1 0x40 00003d7b: PUSH0 00003d7c: KECCAK256 00003d7d: SWAP1 00003d7e: JUMP 00003d7f: JUMPDEST 00003d80: SLOAD 00003d81: PUSH1 0x10 00003d83: SHR 00003d84: PUSH8 0xffffffffffffffff 00003d8d: AND 00003d8e: SWAP1 00003d8f: JUMP 00003d90: JUMPDEST 00003d91: SWAP2 00003d92: AND 00003d93: GT 00003d94: PUSH2 0x3d9f 00003d97: JUMPI 00003d98: PUSH1 0x01 00003d9a: ADD 00003d9b: PUSH2 0x3d0a 00003d9e: JUMP 00003d9f: JUMPDEST 00003da0: PUSH1 0x04 00003da2: PUSH1 0x40 00003da4: MLOAD 00003da5: PUSH32 0xa4a7227e00000000000000000000000000000000000000000000000000000000 00003dc6: DUP2 00003dc7: MSTORE 00003dc8: REVERT 00003dc9: JUMPDEST 00003dca: POP 00003dcb: POP 00003dcc: JUMP 00003dcd: JUMPDEST 00003dce: PUSH1 0x42 00003dd0: SWAP1 00003dd1: PUSH2 0x3dd8 00003dd4: PUSH2 0x4079 00003dd7: JUMP 00003dd8: JUMPDEST 00003dd9: SWAP1 00003dda: PUSH1 0x40 00003ddc: MLOAD 00003ddd: SWAP2 00003dde: PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 00003dff: DUP4 00003e00: MSTORE 00003e01: PUSH1 0x02 00003e03: DUP4 00003e04: ADD 00003e05: MSTORE 00003e06: PUSH1 0x22 00003e08: DUP3 00003e09: ADD 00003e0a: MSTORE 00003e0b: KECCAK256 00003e0c: SWAP1 00003e0d: JUMP 00003e0e: JUMPDEST 00003e0f: SWAP2 00003e10: PUSH2 0x0492 00003e13: SWAP4 00003e14: SWAP2 00003e15: PUSH2 0x3e1d 00003e18: SWAP4 00003e19: PUSH2 0x435a 00003e1c: JUMP 00003e1d: JUMPDEST 00003e1e: SWAP1 00003e1f: SWAP3 00003e20: SWAP2 00003e21: SWAP3 00003e22: PUSH2 0x43dc 00003e25: JUMP 00003e26: JUMPDEST 00003e27: SWAP2 00003e28: SWAP1 00003e29: PUSH1 0x01 00003e2b: PUSH1 0x01 00003e2d: PUSH1 0xa0 00003e2f: SHL 00003e30: SUB 00003e31: DUP4 00003e32: AND 00003e33: SWAP1 00003e34: DUP2 00003e35: ISZERO 00003e36: PUSH2 0x3609 00003e39: JUMPI 00003e3a: PUSH2 0x3e73 00003e3d: DUP5 00003e3e: PUSH1 0x01 00003e40: PUSH1 0x01 00003e42: PUSH1 0xa0 00003e44: SHL 00003e45: SUB 00003e46: AND 00003e47: PUSH0 00003e48: MSTORE 00003e49: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00 00003e6a: PUSH1 0x20 00003e6c: MSTORE 00003e6d: PUSH1 0x40 00003e6f: PUSH0 00003e70: KECCAK256 00003e71: SWAP1 00003e72: JUMP 00003e73: JUMPDEST 00003e74: SLOAD 00003e75: SWAP4 00003e76: DUP2 00003e77: DUP6 00003e78: LT 00003e79: PUSH2 0x3f11 00003e7c: JUMPI 00003e7d: DUP2 00003e7e: PUSH1 0x20 00003e80: SWAP2 00003e81: PUSH2 0x3ee0 00003e84: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00003ea5: SWAP5 00003ea6: PUSH0 00003ea7: SWAP8 00003ea8: SWAP9 00003ea9: SUB 00003eaa: SWAP2 00003eab: PUSH1 0x01 00003ead: PUSH1 0x01 00003eaf: PUSH1 0xa0 00003eb1: SHL 00003eb2: SUB 00003eb3: AND 00003eb4: PUSH0 00003eb5: MSTORE 00003eb6: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00 00003ed7: PUSH1 0x20 00003ed9: MSTORE 00003eda: PUSH1 0x40 00003edc: PUSH0 00003edd: KECCAK256 00003ede: SWAP1 00003edf: JUMP 00003ee0: JUMPDEST 00003ee1: SSTORE 00003ee2: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02 00003f03: DUP2 00003f04: DUP2 00003f05: SLOAD 00003f06: SUB 00003f07: SWAP1 00003f08: SSTORE 00003f09: PUSH1 0x40 00003f0b: MLOAD 00003f0c: SWAP1 00003f0d: DUP2 00003f0e: MSTORE 00003f0f: LOG3 00003f10: JUMP 00003f11: JUMPDEST 00003f12: PUSH1 0x40 00003f14: MLOAD 00003f15: PUSH32 0xe450d38c00000000000000000000000000000000000000000000000000000000 00003f36: DUP2 00003f37: MSTORE 00003f38: PUSH1 0x01 00003f3a: PUSH1 0x01 00003f3c: PUSH1 0xa0 00003f3e: SHL 00003f3f: SUB 00003f40: SWAP2 00003f41: SWAP1 00003f42: SWAP2 00003f43: AND 00003f44: PUSH1 0x04 00003f46: DUP3 00003f47: ADD 00003f48: MSTORE 00003f49: PUSH1 0x24 00003f4b: DUP2 00003f4c: ADD 00003f4d: DUP6 00003f4e: SWAP1 00003f4f: MSTORE 00003f50: PUSH1 0x44 00003f52: DUP2 00003f53: ADD 00003f54: SWAP2 00003f55: SWAP1 00003f56: SWAP2 00003f57: MSTORE 00003f58: PUSH1 0x64 00003f5a: SWAP1 00003f5b: REVERT 00003f5c: JUMPDEST 00003f5d: PUSH2 0x296f 00003f60: SWAP3 00003f61: PUSH1 0x01 00003f63: PUSH1 0x01 00003f65: PUSH1 0xa0 00003f67: SHL 00003f68: SUB 00003f69: PUSH1 0x40 00003f6b: MLOAD 00003f6c: SWAP4 00003f6d: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 00003f8e: PUSH1 0x20 00003f90: DUP7 00003f91: ADD 00003f92: MSTORE 00003f93: AND 00003f94: PUSH1 0x24 00003f96: DUP5 00003f97: ADD 00003f98: MSTORE 00003f99: PUSH1 0x44 00003f9b: DUP4 00003f9c: ADD 00003f9d: MSTORE 00003f9e: PUSH1 0x44 00003fa0: DUP3 00003fa1: MSTORE 00003fa2: PUSH2 0x3faa 00003fa5: DUP3 00003fa6: PUSH2 0x0ccb 00003fa9: JUMP 00003faa: JUMPDEST 00003fab: PUSH2 0x44b3 00003fae: JUMP 00003faf: JUMPDEST 00003fb0: PUSH2 0x3fb7 00003fb3: PUSH2 0x33d3 00003fb6: JUMP 00003fb7: JUMPDEST 00003fb8: POP 00003fb9: PUSH2 0x0492 00003fbc: DUP2 00003fbd: PUSH2 0x4244 00003fc0: JUMP 00003fc1: JUMPDEST 00003fc2: RETURNDATASIZE 00003fc3: ISZERO 00003fc4: PUSH2 0x3feb 00003fc7: JUMPI 00003fc8: RETURNDATASIZE 00003fc9: SWAP1 00003fca: PUSH2 0x3fd2 00003fcd: DUP3 00003fce: PUSH2 0x0eb0 00003fd1: JUMP 00003fd2: JUMPDEST 00003fd3: SWAP2 00003fd4: PUSH2 0x3fe0 00003fd7: PUSH1 0x40 00003fd9: MLOAD 00003fda: SWAP4 00003fdb: DUP5 00003fdc: PUSH2 0x0ce7 00003fdf: JUMP 00003fe0: JUMPDEST 00003fe1: DUP3 00003fe2: MSTORE 00003fe3: RETURNDATASIZE 00003fe4: PUSH0 00003fe5: PUSH1 0x20 00003fe7: DUP5 00003fe8: ADD 00003fe9: RETURNDATACOPY 00003fea: JUMP 00003feb: JUMPDEST 00003fec: PUSH1 0x60 00003fee: SWAP1 00003fef: JUMP 00003ff0: JUMPDEST 00003ff1: SWAP1 00003ff2: PUSH1 0x01 00003ff4: PUSH1 0x01 00003ff6: PUSH1 0xa0 00003ff8: SHL 00003ff9: SUB 00003ffa: SWAP2 00003ffb: DUP3 00003ffc: DUP2 00003ffd: AND 00003ffe: SWAP3 00003fff: DUP4 00004000: ISZERO 00004001: PUSH2 0x0967 00004004: JUMPI 00004005: DUP3 00004006: AND 00004007: SWAP4 00004008: DUP5 00004009: ISZERO 0000400a: PUSH2 0x0937 0000400d: JUMPI 0000400e: DUP1 0000400f: PUSH2 0x406f 00004012: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925 00004033: SWAP5 00004034: PUSH2 0x087b 00004037: PUSH1 0x20 00004039: SWAP6 0000403a: PUSH1 0x01 0000403c: PUSH1 0x01 0000403e: PUSH1 0xa0 00004040: SHL 00004041: SUB 00004042: AND 00004043: PUSH0 00004044: MSTORE 00004045: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace01 00004066: PUSH1 0x20 00004068: MSTORE 00004069: PUSH1 0x40 0000406b: PUSH0 0000406c: KECCAK256 0000406d: SWAP1 0000406e: JUMP 0000406f: JUMPDEST 00004070: SSTORE 00004071: PUSH1 0x40 00004073: MLOAD 00004074: SWAP1 00004075: DUP2 00004076: MSTORE 00004077: LOG3 00004078: JUMP 00004079: JUMPDEST 0000407a: PUSH2 0x4081 0000407d: PUSH2 0x4525 00004080: JUMP 00004081: JUMPDEST 00004082: PUSH2 0x4089 00004085: PUSH2 0x458f 00004088: JUMP 00004089: JUMPDEST 0000408a: PUSH1 0x40 0000408c: MLOAD 0000408d: SWAP1 0000408e: PUSH1 0x20 00004090: DUP3 00004091: ADD 00004092: SWAP3 00004093: PUSH32 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f 000040b4: DUP5 000040b5: MSTORE 000040b6: PUSH1 0x40 000040b8: DUP4 000040b9: ADD 000040ba: MSTORE 000040bb: PUSH1 0x60 000040bd: DUP3 000040be: ADD 000040bf: MSTORE 000040c0: CHAINID 000040c1: PUSH1 0x80 000040c3: DUP3 000040c4: ADD 000040c5: MSTORE 000040c6: ADDRESS 000040c7: PUSH1 0xa0 000040c9: DUP3 000040ca: ADD 000040cb: MSTORE 000040cc: PUSH1 0xa0 000040ce: DUP2 000040cf: MSTORE 000040d0: PUSH1 0xc0 000040d2: DUP2 000040d3: ADD 000040d4: DUP2 000040d5: DUP2 000040d6: LT 000040d7: PUSH8 0xffffffffffffffff 000040e0: DUP3 000040e1: GT 000040e2: OR 000040e3: PUSH2 0x0cc6 000040e6: JUMPI 000040e7: PUSH1 0x40 000040e9: MSTORE 000040ea: MLOAD 000040eb: SWAP1 000040ec: KECCAK256 000040ed: SWAP1 000040ee: JUMP 000040ef: JUMPDEST 000040f0: PUSH4 0x4e487b71 000040f5: PUSH0 000040f6: MSTORE 000040f7: PUSH1 0x11 000040f9: PUSH1 0x20 000040fb: MSTORE 000040fc: PUSH1 0x24 000040fe: PUSH1 0x1c 00004100: REVERT 00004101: JUMPDEST 00004102: PUSH4 0x4e487b71 00004107: PUSH0 00004108: MSTORE 00004109: PUSH1 0x20 0000410b: MSTORE 0000410c: PUSH1 0x24 0000410e: PUSH1 0x1c 00004110: REVERT 00004111: JUMPDEST 00004112: SWAP1 00004113: DUP2 00004114: EXTCODESIZE 00004115: ISZERO 00004116: PUSH2 0x41d3 00004119: JUMPI 0000411a: PUSH1 0x01 0000411c: PUSH1 0x01 0000411e: PUSH1 0xa0 00004120: SHL 00004121: SUB 00004122: DUP3 00004123: AND 00004124: PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc 00004145: DUP2 00004146: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00004167: DUP3 00004168: SLOAD 00004169: AND 0000416a: OR 0000416b: SWAP1 0000416c: SSTORE 0000416d: PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b 0000418e: PUSH0 0000418f: DUP1 00004190: LOG2 00004191: DUP1 00004192: MLOAD 00004193: ISZERO 00004194: PUSH2 0x41a0 00004197: JUMPI 00004198: PUSH2 0x3af6 0000419b: SWAP2 0000419c: PUSH2 0x45d4 0000419f: JUMP 000041a0: JUMPDEST 000041a1: POP 000041a2: POP 000041a3: CALLVALUE 000041a4: PUSH2 0x41a9 000041a7: JUMPI 000041a8: JUMP 000041a9: JUMPDEST 000041aa: PUSH1 0x04 000041ac: PUSH1 0x40 000041ae: MLOAD 000041af: PUSH32 0xb398979f00000000000000000000000000000000000000000000000000000000 000041d0: DUP2 000041d1: MSTORE 000041d2: REVERT 000041d3: JUMPDEST 000041d4: PUSH1 0x24 000041d6: DUP3 000041d7: PUSH1 0x01 000041d9: PUSH1 0x01 000041db: PUSH1 0xa0 000041dd: SHL 000041de: SUB 000041df: PUSH1 0x40 000041e1: MLOAD 000041e2: SWAP2 000041e3: PUSH32 0x4c9c8ce300000000000000000000000000000000000000000000000000000000 00004204: DUP4 00004205: MSTORE 00004206: AND 00004207: PUSH1 0x04 00004209: DUP3 0000420a: ADD 0000420b: MSTORE 0000420c: REVERT 0000420d: JUMPDEST 0000420e: PUSH1 0x04 00004210: GT 00004211: ISZERO 00004212: PUSH2 0x4217 00004215: JUMPI 00004216: JUMP 00004217: JUMPDEST 00004218: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00004239: PUSH0 0000423a: MSTORE 0000423b: PUSH1 0x21 0000423d: PUSH1 0x04 0000423f: MSTORE 00004240: PUSH1 0x24 00004242: PUSH0 00004243: REVERT 00004244: JUMPDEST 00004245: PUSH16 0xffffffffffffffffffffffffffffffff 00004256: DUP1 00004257: TIMESTAMP 00004258: AND 00004259: SWAP2 0000425a: PUSH1 0x40 0000425c: DUP2 0000425d: ADD 0000425e: SWAP2 0000425f: DUP1 00004260: DUP1 00004261: DUP5 00004262: MLOAD 00004263: AND 00004264: DUP6 00004265: SUB 00004266: AND 00004267: DUP2 00004268: PUSH1 0x60 0000426a: DUP5 0000426b: ADD 0000426c: MLOAD 0000426d: AND 0000426e: MUL 0000426f: SWAP2 00004270: DUP2 00004271: DUP4 00004272: AND 00004273: SWAP3 00004274: DUP4 00004275: SUB 00004276: PUSH2 0x2e5b 00004279: JUMPI 0000427a: PUSH1 0x20 0000427c: DUP2 0000427d: ADD 0000427e: SWAP3 0000427f: DUP3 00004280: DUP5 00004281: MLOAD 00004282: AND 00004283: ADD 00004284: DUP3 00004285: DUP2 00004286: GT 00004287: PUSH2 0x2e5b 0000428a: JUMPI 0000428b: DUP2 0000428c: MLOAD 0000428d: SWAP1 0000428e: DUP4 0000428f: AND 00004290: SWAP1 00004291: DUP4 00004292: AND 00004293: DUP2 00004294: GT 00004295: ISZERO 00004296: PUSH2 0x42a1 00004299: JUMPI 0000429a: POP 0000429b: MLOAD 0000429c: AND 0000429d: SWAP1 0000429e: MSTORE 0000429f: MSTORE 000042a0: JUMP 000042a1: JUMPDEST 000042a2: SWAP3 000042a3: SWAP2 000042a4: POP 000042a5: POP 000042a6: MSTORE 000042a7: MSTORE 000042a8: JUMP 000042a9: JUMPDEST 000042aa: SWAP1 000042ab: PUSH1 0x01 000042ad: PUSH1 0x01 000042af: PUSH1 0xa0 000042b1: SHL 000042b2: SUB 000042b3: DUP3 000042b4: AND 000042b5: SWAP2 000042b6: DUP3 000042b7: ISZERO 000042b8: PUSH2 0x35d9 000042bb: JUMPI 000042bc: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02 000042dd: SWAP2 000042de: DUP3 000042df: SLOAD 000042e0: SWAP1 000042e1: DUP1 000042e2: DUP3 000042e3: ADD 000042e4: DUP1 000042e5: SWAP3 000042e6: GT 000042e7: PUSH2 0x2e5b 000042ea: JUMPI 000042eb: PUSH2 0x434b 000042ee: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 0000430f: SWAP4 00004310: PUSH1 0x20 00004312: SWAP4 00004313: PUSH0 00004314: SWAP7 00004315: SSTORE 00004316: PUSH1 0x01 00004318: PUSH1 0x01 0000431a: PUSH1 0xa0 0000431c: SHL 0000431d: SUB 0000431e: AND 0000431f: PUSH0 00004320: MSTORE 00004321: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00 00004342: PUSH1 0x20 00004344: MSTORE 00004345: PUSH1 0x40 00004347: PUSH0 00004348: KECCAK256 00004349: SWAP1 0000434a: JUMP 0000434b: JUMPDEST 0000434c: DUP2 0000434d: DUP2 0000434e: SLOAD 0000434f: ADD 00004350: SWAP1 00004351: SSTORE 00004352: PUSH1 0x40 00004354: MLOAD 00004355: SWAP1 00004356: DUP2 00004357: MSTORE 00004358: LOG3 00004359: JUMP 0000435a: JUMPDEST 0000435b: SWAP2 0000435c: SWAP1 0000435d: PUSH32 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0 0000437e: DUP5 0000437f: GT 00004380: PUSH2 0x43d1 00004383: JUMPI 00004384: SWAP2 00004385: PUSH1 0x20 00004387: SWAP4 00004388: PUSH1 0x80 0000438a: SWAP3 0000438b: PUSH1 0xff 0000438d: PUSH0 0000438e: SWAP6 0000438f: PUSH1 0x40 00004391: MLOAD 00004392: SWAP5 00004393: DUP6 00004394: MSTORE 00004395: AND 00004396: DUP7 00004397: DUP5 00004398: ADD 00004399: MSTORE 0000439a: PUSH1 0x40 0000439c: DUP4 0000439d: ADD 0000439e: MSTORE 0000439f: PUSH1 0x60 000043a1: DUP3 000043a2: ADD 000043a3: MSTORE 000043a4: DUP3 000043a5: DUP1 000043a6: MSTORE 000043a7: PUSH1 0x01 000043a9: GAS 000043aa: STATICCALL 000043ab: ISZERO 000043ac: PUSH2 0x139c 000043af: JUMPI 000043b0: PUSH0 000043b1: MLOAD 000043b2: PUSH1 0x01 000043b4: PUSH1 0x01 000043b6: PUSH1 0xa0 000043b8: SHL 000043b9: SUB 000043ba: DUP2 000043bb: AND 000043bc: ISZERO 000043bd: PUSH2 0x43c7 000043c0: JUMPI 000043c1: SWAP1 000043c2: PUSH0 000043c3: SWAP1 000043c4: PUSH0 000043c5: SWAP1 000043c6: JUMP 000043c7: JUMPDEST 000043c8: POP 000043c9: PUSH0 000043ca: SWAP1 000043cb: PUSH1 0x01 000043cd: SWAP1 000043ce: PUSH0 000043cf: SWAP1 000043d0: JUMP 000043d1: JUMPDEST 000043d2: POP 000043d3: POP 000043d4: POP 000043d5: PUSH0 000043d6: SWAP2 000043d7: PUSH1 0x03 000043d9: SWAP2 000043da: SWAP1 000043db: JUMP 000043dc: JUMPDEST 000043dd: PUSH2 0x43e5 000043e0: DUP2 000043e1: PUSH2 0x420d 000043e4: JUMP 000043e5: JUMPDEST 000043e6: DUP1 000043e7: PUSH2 0x43ee 000043ea: JUMPI 000043eb: POP 000043ec: POP 000043ed: JUMP 000043ee: JUMPDEST 000043ef: PUSH2 0x43f7 000043f2: DUP2 000043f3: PUSH2 0x420d 000043f6: JUMP 000043f7: JUMPDEST 000043f8: PUSH1 0x01 000043fa: DUP2 000043fb: SUB 000043fc: PUSH2 0x4429 000043ff: JUMPI 00004400: PUSH1 0x04 00004402: PUSH1 0x40 00004404: MLOAD 00004405: PUSH32 0xf645eedf00000000000000000000000000000000000000000000000000000000 00004426: DUP2 00004427: MSTORE 00004428: REVERT 00004429: JUMPDEST 0000442a: PUSH2 0x4432 0000442d: DUP2 0000442e: PUSH2 0x420d 00004431: JUMP 00004432: JUMPDEST 00004433: PUSH1 0x02 00004435: DUP2 00004436: SUB 00004437: PUSH2 0x446c 0000443a: JUMPI 0000443b: PUSH1 0x40 0000443d: MLOAD 0000443e: PUSH32 0xfce698f700000000000000000000000000000000000000000000000000000000 0000445f: DUP2 00004460: MSTORE 00004461: PUSH1 0x04 00004463: DUP2 00004464: ADD 00004465: DUP4 00004466: SWAP1 00004467: MSTORE 00004468: PUSH1 0x24 0000446a: SWAP1 0000446b: REVERT 0000446c: JUMPDEST 0000446d: DUP1 0000446e: PUSH2 0x4478 00004471: PUSH1 0x03 00004473: SWAP3 00004474: PUSH2 0x420d 00004477: JUMP 00004478: JUMPDEST 00004479: EQ 0000447a: PUSH2 0x4480 0000447d: JUMPI 0000447e: POP 0000447f: JUMP 00004480: JUMPDEST 00004481: PUSH1 0x40 00004483: MLOAD 00004484: PUSH32 0xd78bce0c00000000000000000000000000000000000000000000000000000000 000044a5: DUP2 000044a6: MSTORE 000044a7: PUSH1 0x04 000044a9: DUP2 000044aa: ADD 000044ab: SWAP2 000044ac: SWAP1 000044ad: SWAP2 000044ae: MSTORE 000044af: PUSH1 0x24 000044b1: SWAP1 000044b2: REVERT 000044b3: JUMPDEST 000044b4: SWAP1 000044b5: PUSH0 000044b6: PUSH1 0x20 000044b8: SWAP2 000044b9: DUP3 000044ba: DUP2 000044bb: MLOAD 000044bc: SWAP2 000044bd: ADD 000044be: DUP3 000044bf: DUP6 000044c0: GAS 000044c1: CALL 000044c2: ISZERO 000044c3: PUSH2 0x2a84 000044c6: JUMPI 000044c7: PUSH0 000044c8: MLOAD 000044c9: RETURNDATASIZE 000044ca: PUSH2 0x451c 000044cd: JUMPI 000044ce: POP 000044cf: PUSH1 0x01 000044d1: PUSH1 0x01 000044d3: PUSH1 0xa0 000044d5: SHL 000044d6: SUB 000044d7: DUP2 000044d8: AND 000044d9: EXTCODESIZE 000044da: ISZERO 000044db: JUMPDEST 000044dc: PUSH2 0x44e2 000044df: JUMPI 000044e0: POP 000044e1: JUMP 000044e2: JUMPDEST 000044e3: PUSH1 0x24 000044e5: SWAP1 000044e6: PUSH1 0x01 000044e8: PUSH1 0x01 000044ea: PUSH1 0xa0 000044ec: SHL 000044ed: SUB 000044ee: PUSH1 0x40 000044f0: MLOAD 000044f1: SWAP2 000044f2: PUSH32 0x5274afe700000000000000000000000000000000000000000000000000000000 00004513: DUP4 00004514: MSTORE 00004515: AND 00004516: PUSH1 0x04 00004518: DUP3 00004519: ADD 0000451a: MSTORE 0000451b: REVERT 0000451c: JUMPDEST 0000451d: PUSH1 0x01 0000451f: EQ 00004520: ISZERO 00004521: PUSH2 0x44db 00004524: JUMP 00004525: JUMPDEST 00004526: PUSH2 0x452d 00004529: PUSH2 0x2b43 0000452c: JUMP 0000452d: JUMPDEST 0000452e: DUP1 0000452f: MLOAD 00004530: SWAP1 00004531: DUP2 00004532: ISZERO 00004533: PUSH2 0x453d 00004536: JUMPI 00004537: PUSH1 0x20 00004539: ADD 0000453a: KECCAK256 0000453b: SWAP1 0000453c: JUMP 0000453d: JUMPDEST 0000453e: POP 0000453f: POP 00004540: PUSH32 0xa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100 00004561: SLOAD 00004562: DUP1 00004563: ISZERO 00004564: PUSH2 0x456a 00004567: JUMPI 00004568: SWAP1 00004569: JUMP 0000456a: JUMPDEST 0000456b: POP 0000456c: PUSH32 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 0000458d: SWAP1 0000458e: JUMP 0000458f: JUMPDEST 00004590: PUSH2 0x4597 00004593: PUSH2 0x2c7b 00004596: JUMP 00004597: JUMPDEST 00004598: DUP1 00004599: MLOAD 0000459a: SWAP1 0000459b: DUP2 0000459c: ISZERO 0000459d: PUSH2 0x45a7 000045a0: JUMPI 000045a1: PUSH1 0x20 000045a3: ADD 000045a4: KECCAK256 000045a5: SWAP1 000045a6: JUMP 000045a7: JUMPDEST 000045a8: POP 000045a9: POP 000045aa: PUSH32 0xa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d101 000045cb: SLOAD 000045cc: DUP1 000045cd: ISZERO 000045ce: PUSH2 0x456a 000045d1: JUMPI 000045d2: SWAP1 000045d3: JUMP 000045d4: JUMPDEST 000045d5: PUSH0 000045d6: DUP1 000045d7: PUSH2 0x0492 000045da: SWAP4 000045db: PUSH1 0x20 000045dd: DUP2 000045de: MLOAD 000045df: SWAP2 000045e0: ADD 000045e1: DUP5 000045e2: GAS 000045e3: DELEGATECALL 000045e4: PUSH2 0x45eb 000045e7: PUSH2 0x3fc1 000045ea: JUMP 000045eb: JUMPDEST 000045ec: SWAP2 000045ed: SWAP1 000045ee: PUSH2 0x462b 000045f1: JUMPI 000045f2: POP 000045f3: DUP1 000045f4: MLOAD 000045f5: ISZERO 000045f6: PUSH2 0x4601 000045f9: JUMPI 000045fa: DUP1 000045fb: MLOAD 000045fc: SWAP1 000045fd: PUSH1 0x20 000045ff: ADD 00004600: REVERT 00004601: JUMPDEST 00004602: PUSH1 0x04 00004604: PUSH1 0x40 00004606: MLOAD 00004607: PUSH32 0xd6bda27500000000000000000000000000000000000000000000000000000000 00004628: DUP2 00004629: MSTORE 0000462a: REVERT 0000462b: JUMPDEST 0000462c: DUP2 0000462d: MLOAD 0000462e: ISZERO 0000462f: DUP1 00004630: PUSH2 0x4676 00004633: JUMPI 00004634: JUMPDEST 00004635: PUSH2 0x463c 00004638: JUMPI 00004639: POP 0000463a: SWAP1 0000463b: JUMP 0000463c: JUMPDEST 0000463d: PUSH1 0x24 0000463f: SWAP1 00004640: PUSH1 0x01 00004642: PUSH1 0x01 00004644: PUSH1 0xa0 00004646: SHL 00004647: SUB 00004648: PUSH1 0x40 0000464a: MLOAD 0000464b: SWAP2 0000464c: PUSH32 0x9996b31500000000000000000000000000000000000000000000000000000000 0000466d: DUP4 0000466e: MSTORE 0000466f: AND 00004670: PUSH1 0x04 00004672: DUP3 00004673: ADD 00004674: MSTORE 00004675: REVERT 00004676: JUMPDEST 00004677: POP 00004678: DUP1 00004679: EXTCODESIZE 0000467a: ISZERO 0000467b: PUSH2 0x4634 0000467e: JUMP 0000467f: INVALID 00004680: LOG2 00004681: PUSH5 0x6970667358 00004687: UNKNOWN(0x22) 00004688: SLT 00004689: KECCAK256 0000468a: UNKNOWN(0xE5) 0000468b: PUSH30 0xd4be98a30c3d62d16e9004a28d87ed7a798455019a27b3a35a7216dffd46 000046aa: PUSH5 0x736f6c6343 000046b0: STOP 000046b1: ADDMOD 000046b2: NOT 000046b3: STOP 000046b4: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | no | no |
viewtrace_id: 0x20cc36c0f69f64308861d6f0fde63ae99da0d2fb89bb8778f210e3369a817980
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 192,
"trace_id": "0x20cc36c0f69f64308861d6f0fde63ae99da0d2fb89bb8778f210e3369a817980",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x01d22ccd",
"selector": "0x01d22ccd",
"calldata_variants": [
"0x01d22ccd",
"0x01d22ccd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x01e1d114",
"selector": "0x01e1d114",
"calldata_variants": [
"0x01e1d114",
"0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x095ea7b3",
"selector": "0x095ea7b3",
"calldata_variants": [
"0x095ea7b3",
"0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0a1289ad",
"selector": "0x0a1289ad",
"calldata_variants": [
"0x0a1289ad",
"0x0a1289ad0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0a154161",
"selector": "0x0a154161",
"calldata_variants": [
"0x0a154161",
"0x0a1541610000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0c340a24",
"selector": "0x0c340a24",
"calldata_variants": [
"0x0c340a24",
"0x0c340a240000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x17d949fe",
"selector": "0x17d949fe",
"calldata_variants": [
"0x17d949fe",
"0x17d949fe0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 13416,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 17891,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [],
"delegatecall_count": 2,
"untrusted_delegatecall_count": 2
}
|
| high | reentrancy | codex | Reentrant redeem can double-withdraw later assets in multi-token vault | 85 | no | — |
viewevidence_json{
"evidence": "`redeem` calculates `assetAmounts` once, burns shares, then transfers each asset in a loop without a reentrancy guard, so later-token balances still include amounts owed to the first redemption during reentrant calls.",
"locations": [
"`contracts/src/LRTSquared/LRTSquaredCore.sol:56`",
"`contracts/src/LRTSquared/LRTSquaredCore.sol:60`",
"`contracts/src/LRTSquared/LRTSquaredCore.sol:64`"
],
"recommendation": "Add a reentrancy guard to `redeem` (and any other functions that transfer out assets) or switch to a pull/escrow pattern where claimable amounts are stored before any external token transfers. This prevents reentrant calls from using stale per-asset balances.",
"exploit_scenario": "1) Attacker acquires vault shares and uses a contract that can reenter (e.g., ERC777 `tokensReceived`). 2) Ensure at least one vault token is hook-enabled (ERC777/ERC223/malicious ERC20) and appears before another token in `tokens`. 3) Call `redeem(r1)`; after `_burn`, the vault transfers the first token. 4) During that transfer, reenter `redeem(r2)` for remaining shares; `assetAmounts` are computed against balances that still include the later token amounts owed to the first redeem. 5) The reentrant call withdraws inflated amounts of later tokens, and the original redeem then transfers its precomputed later-token amounts, resulting in double-withdrawal of those later tokens."
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xe424759ab1fc0a115ccbb0448cf89a43475c67f9f2fd7792e2cae94b621cd5aa
call_targets:
0x1cb489ef513e1cc35c4657c91853a2e6ff1957de
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xe424759ab1fc0a115ccbb0448cf89a43475c67f9f2fd7792e2cae94b621cd5aa",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x1cb489ef513e1cc35c4657c91853a2e6ff1957de"
],
"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": "0x01d22ccd",
"selector": "0x01d22ccd",
"calldata_variants": [
"0x01d22ccd",
"0x01d22ccd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x01e1d114",
"selector": "0x01e1d114",
"calldata_variants": [
"0x01e1d114",
"0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x095ea7b3",
"selector": "0x095ea7b3",
"calldata_variants": [
"0x095ea7b3",
"0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0a1289ad",
"selector": "0x0a1289ad",
"calldata_variants": [
"0x0a1289ad",
"0x0a1289ad0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0a154161",
"selector": "0x0a154161",
"calldata_variants": [
"0x0a154161",
"0x0a1541610000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0c340a24",
"selector": "0x0c340a24",
"calldata_variants": [
"0x0c340a24",
"0x0c340a240000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x17d949fe",
"selector": "0x17d949fe",
"calldata_variants": [
"0x17d949fe",
"0x17d949fe0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 10072,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 17601,
"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: 0xe424759ab1fc0a115ccbb0448cf89a43475c67f9f2fd7792e2cae94b621cd5aa
call_targets:
0x1cb489ef513e1cc35c4657c91853a2e6ff1957de
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xe424759ab1fc0a115ccbb0448cf89a43475c67f9f2fd7792e2cae94b621cd5aa",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x1cb489ef513e1cc35c4657c91853a2e6ff1957de"
],
"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": "0x01d22ccd",
"selector": "0x01d22ccd",
"calldata_variants": [
"0x01d22ccd",
"0x01d22ccd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x01e1d114",
"selector": "0x01e1d114",
"calldata_variants": [
"0x01e1d114",
"0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x095ea7b3",
"selector": "0x095ea7b3",
"calldata_variants": [
"0x095ea7b3",
"0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0a1289ad",
"selector": "0x0a1289ad",
"calldata_variants": [
"0x0a1289ad",
"0x0a1289ad0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0a154161",
"selector": "0x0a154161",
"calldata_variants": [
"0x0a154161",
"0x0a1541610000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0c340a24",
"selector": "0x0c340a24",
"calldata_variants": [
"0x0c340a24",
"0x0c340a240000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x17d949fe",
"selector": "0x17d949fe",
"calldata_variants": [
"0x17d949fe",
"0x17d949fe0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 10072,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 17601,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": []
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 2
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 14
}
|