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

Analysis Run

6135d45a-d0f2-4f1f-b22b-e68d02134baa

complete
Chain ID
1
Address
Block Number
Created
Mon, Dec 29, 2025 4:00 PM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30518 report.consolidate complete 1 / 1 3 months ago
103967 artifact.fetch complete 1 / 3 1 week ago
103968 tool.cast_disasm complete 1 / 3 1 week ago
103969 analysis.bundle complete 1 / 3 1 week ago
103970 capability.graph complete 1 / 3 1 week ago
103971 detector.run complete 1 / 3 1 week ago
103972 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
1
No findings?
no
Summary
Found 1 issue: signed swap/deposit/withdrawal messages are replayable because there is no nonce/fill tracking; quotes can be reused until `goodUntil`.
View stderr
[codex:833421] OpenAI Codex v0.77.0 (research preview)
[codex:833421] --------
[codex:833421] workdir: /tmp/codex-multi-07jkjw56
[codex:833421] model: gpt-5.2-codex
[codex:833421] provider: openai
[codex:833421] approval: never
[codex:833421] sandbox: read-only
[codex:833421] reasoning effort: xhigh
[codex:833421] reasoning summaries: auto
[codex:833421] session id: 019b6acb-b968-7440-9c30-02219adef112
[codex:833421] --------
[codex:833421] user
[codex:833421] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:833421] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:833421] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:833421] 
[codex:833421] Scope rules:
[codex:833421] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:833421] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:833421] 
[codex:833421] Output MUST be valid JSON matching the provided schema.
[codex:833421] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:833421] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:833421] 
[codex:833421] Output constraints (IMPORTANT):
[codex:833421] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:833421] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:833421] mcp startup: no servers
[codex:833421] 
[codex:833421] thinking
[codex:833421] **Checking for relevant skills**
[codex:833421] exec
[codex:833421] /bin/bash -lc ls in /tmp/codex-multi-07jkjw56 succeeded in 6ms:
[codex:833421] AUDIT_BUNDLE.txt
[codex:833421] codex-output-schema.json
[codex:833421] contracts
[codex:833421] exec
[codex:833421] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-07jkjw56 succeeded in 6ms:
[codex:833421] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:833421] 
[codex:833421] ================================================================================
[codex:833421] FILE: contracts/@openzeppelin/contracts/access/Ownable.sol
[codex:833421] ================================================================================
[codex:833421] // SPDX-License-Identifier: MIT
[codex:833421] // OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)
[codex:833421] 
[codex:833421] pragma solidity ^0.8.0;
[codex:833421] 
[codex:833421] import "../utils/Context.sol";
[codex:833421] 
[codex:833421] /**
[codex:833421]  * @dev Contract module which provides a basic access control mechanism, where
[codex:833421]  * there is an account (an owner) that can be granted exclusive access to
[codex:833421]  * specific functions.
[codex:833421]  *
[codex:833421]  * By default, the owner account will be the one that deploys the contract. This
[codex:833421]  * can later be changed with {transferOwnership}.
[codex:833421]  *
[codex:833421] 
[codex:833421] thinking
[codex:833421] **Searching for first-party contracts in audit bundle**
[codex:833421] exec
[codex:833421] /bin/bash -lc 'rg -n "FILE: contracts/contracts" -n AUDIT_BUNDLE.txt' in /tmp/codex-multi-07jkjw56 succeeded in 6ms:
[codex:833421] 3551:FILE: contracts/contracts/ClipperApproximateCaravelExchange.sol
[codex:833421] 3813:FILE: contracts/contracts/ClipperCaravelExchange.sol
[codex:833421] 4137:FILE: contracts/contracts/ClipperCommonExchange.sol
[codex:833421] 4514:FILE: contracts/contracts/interfaces/TriageContractInterface.sol
[codex:833421] 4525:FILE: contracts/contracts/interfaces/WrapperContractInterface.sol
[codex:833421] 
[codex:833421] thinking
[codex:833421] **Extracting relevant code sections**
[codex:833421] exec
[codex:833421] /bin/bash -lc "awk 'NR>=3551 && NR<3813 {print}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-07jkjw56 succeeded in 11ms:
[codex:833421] FILE: contracts/contracts/ClipperApproximateCaravelExchange.sol
[codex:833421] ================================================================================
[codex:833421] // SPDX-License-Identifier: UNLICENSED
[codex:833421] // Copyright 2023 Shipyard Software, Inc.
[codex:833421] pragma solidity ^0.8.0;
[codex:833421] 
[codex:833421] import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:833421] import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:833421] import "@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol";
[codex:833421] 
[codex:833421] import "./interfaces/WrapperContractInterface.sol";
[codex:833421] import "./interfaces/TriageContractInterface.sol";
[codex:833421] 
[codex:833421] import "./ClipperCaravelExchange.sol";
[codex:833421] 
[codex:833421] contract ClipperApproximateCaravelExchange is ClipperCaravelExchange, ERC20Permit {
[codex:833421]   using SafeERC20 for IERC20;
[codex:833421] 
[codex:833421]   uint256 constant ONE_IN_SIX_DECIMALS = 1e6;
[codex:833421] 
[codex:833421] 
[codex:833421] thinking
[codex:833421] **Retrieving specific code section**
[codex:833421] exec
[codex:833421] /bin/bash -lc "awk 'NR>=3813 && NR<4137 {print}' AUDIT_BUNDLE.txt" in /tmp/codex-multi-07jkjw56 succeeded in 8ms:
[codex:833421] FILE: contracts/contracts/ClipperCaravelExchange.sol
[codex:833421] ================================================================================
[codex:833421] // SPDX-License-Identifier: UNLICENSED
[codex:833421] // Copyright 2023 Shipyard Software, Inc.
[codex:833421] pragma solidity ^0.8.0;
[codex:833421] 
[codex:833421] import "@openzeppelin/contracts/access/Ownable.sol";
[codex:833421] import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:833421] import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:833421] import "@openzeppelin/contracts/utils/structs/EnumerableSet.sol";
[codex:833421] import "@openzeppelin/contracts/utils/math/SafeCast.sol";
[codex:833421] 
[codex:833421] import "./interfaces/WrapperContractInterface.sol";
[codex:833421] 
[codex:833421] import "./ClipperCommonExchange.sol";
[codex:833421] 
[codex:833421] contract ClipperCaravelExchange is ClipperCommonExchange, Ownable {
[codex:833421]   using SafeCast for uint256;
[codex:833421]   using SafeERC20 for IERC20;
[codex:833421]   using EnumerableSet for EnumerableSet.AddressSet;
[codex:833421] 
[codex:833421] 
[codex:833421] 
[codex:833421] 
[codex:833421] thinking
[codex:833421] **Analyzing first-party contract vulnerabilities**
[codex:833421] 
[codex:833421] I'm reviewing first-party DEX contracts for security issues like reentrancy, access control, and signature validation. There’s concern about using tx.origin in signatures and uniqueness checks, possible reentrancy during withdrawal loops despite nonReentrant guards, and replay risks since off-chain signatures lack nonces. I’m carefully weighing how functions update state relative to external calls, looking for possible exploits or denial-of-service scenarios. Let’s explore these subtleties together!
[codex:833421] thinking
[codex:833421] **Examining reentrancy and token validation risks**
[codex:833421] 
[codex:833421] I’m digging into how ETH wrapping via a wrapper contract might enable reentrant calls during deposits and swaps before state updates occur, potentially letting attackers exploit token balance discrepancies. I’m also checking how missing or inconsistent token whitelist checks in certain approximate exchange functions could let unauthorized tokens be used if the designated signer approves. There are nuanced interactions involving signature verification with tx.origin and uniqueness guards that I’m examining closely to understand potential implications.
[codex:833421] thinking
[codex:833421] **Analyzing deposit and token input inconsistencies**
[codex:833421] 
[codex:833421] I’m exploring how deposits with ETH wrapping can cause unaccounted WETH balances benefiting the pool rather than the sender, and how fee-on-transfer tokens might lead to over-crediting and potential drain when input amounts don’t match actual received tokens. There’s also detailed consideration of signature reuse, reentrancy effects on balance updates, and how these behaviors could affect swaps and withdrawals under different token standards.
[codex:833421] thinking
[codex:833421] **Examining reentrancy and signature replay risks**
[codex:833421] 
[codex:833421] I’m focusing on how the lack of nonce in signatures might allow repeated withdrawals by the token holder and how reentrancy protections are uneven—withdrawSingleAsset lacks nonReentrant while other functions use it. There’s also exploration of confirmUnique’s hash collisions, handling of token equality in swaps, and potential issues in token balance checks and transfer flows that could impact correctness or cause reverts rather than security breaks.
[codex:833421] exec
[codex:833421] /bin/bash -lc "rg -n \"delegatecall|call\\{|staticcall|tx.origin|nonReentrant|permit|upgrade|proxy\" AUDIT_BUNDLE.txt" in /tmp/codex-multi-07jkjw56 succeeded in 12ms:
[codex:833421] 101: * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier
[codex:833421] 105: * Note that because there is a single `nonReentrant` guard, functions marked as
[codex:833421] 106: * `nonReentrant` may not call one another. This can be worked around by making
[codex:833421] 107: * those functions `private`, and then adding `external` `nonReentrant` entry
[codex:833421] 118:    // back. This is the compiler's defense against contract upgrades and
[codex:833421] 122:    // but in exchange the refund on every call to nonReentrant will be lower in
[codex:833421] 137:     * Calling a `nonReentrant` function from another `nonReentrant`
[codex:833421] 139:     * by making the `nonReentrant` function external, and making it call a
[codex:833421] 142:    modifier nonReentrant() {
[codex:833421] 143:        _nonReentrantBefore();
[codex:833421] 145:        _nonReentrantAfter();
[codex:833421] 148:    function _nonReentrantBefore() private {
[codex:833421] 149:        // On the first call to nonReentrant, _status will be _NOT_ENTERED
[codex:833421] 152:        // Any calls to nonReentrant after this point will fail
[codex:833421] 156:    function _nonReentrantAfter() private {
[codex:833421] 692: * Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by
[codex:833421] 708:     * However, to ensure consistency with the upgradeable transpiler, we will continue
[codex:833421] 723:     * @dev See {IERC20Permit-permit}.
[codex:833421] 725:    function permit(
[codex:833421] 785: * Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by
[codex:833421] 
[codex:833421] 
[codex:833421] 
[codex:833421] 
[codex:833421] thinking
[codex:833421] **Analyzing subtle contract vulnerabilities**
[codex:833421] 
[codex:833421] I’m carefully checking for tricky issues in the code, focusing on potential vulnerabilities like misuse of tx.origin, unchecked divisions, improper ETH balance handling, reentrancy risks, and signature-related logic, to identify any real exploitable problems amidst complex contract behavior.
[codex:833421] thinking
[codex:833421] **Examining reentrancy and token transfer risks**
[codex:833421] 
[codex:833421] I’m working through possible reentrancy attacks tied to token transfers and signature checks, especially around malicious or ERC777 tokens during `safeTransferFrom`. The interplay between state updates, lastBalances, and confirmUnique using tx.origin shows reentrancy attempts would likely revert, preventing exploitation but posing complex edge cases to consider.
[codex:833421] thinking
[codex:833421] **Analyzing ETH handling and signature verification nuances**
[codex:833421] 
[codex:833421] There is a lot here about ETH management, mismatched inputAmount vs msg.value, and how leftover ETH stuck in contract could be spent via trades using donated ETH. I’m also exploring complex effects of tx.origin in signature verification and how reentrancy combined with confirmUnique might cause transaction reverts or denial-of-service, though no clear exploit emerges.
[codex:833421] thinking
[codex:833421] **Evaluating reentrancy risks and tx.origin effects**
[codex:833421] 
[codex:833421] I’m examining how reentrancy during burnToWithdraw could cause denial-of-service if a malicious token is in the assetSet, leveraging lastBalances updates and confirmUnique’s use of tx.origin. Also, I’m considering how tx.origin in signature verification might influence front-running protections and reviewing safeEthSend behavior with different wrappers.
[codex:833421] exec
[codex:833421] /bin/bash -lc 'rg -n "TODO|FIXME|NOTE" contracts/contracts' in /tmp/codex-multi-07jkjw56 exited 1 in 10ms:
[codex:833421] 
[codex:833421] 
[codex:833421] 
[codex:833421] 
[codex:833421] thinking
[codex:833421] **Analyzing complex contract vulnerabilities**
[codex:833421] 
[codex:833421] I'm carefully reviewing potential risks like signature replay due to missing nonces, token ordering issues, off-by-one risks in asset enumeration, lack of isToken checks in approximate exchange allowing non-whitelisted tokens, signature validity timing quirks, invariant breaks from token rebasing, and possible use of stray ETH in trades. I'm also considering front-running or griefing via signature reuse and token pre-transfer scenarios, weighing which ones constitute real vulnerabilities versus expected design trade-offs. Overall, I’m leaning toward reporting no major findings but highlighting nuanced medium- and low-severity considerations around signature replay, token validation, and handling of ETH and balances.
[codex:833421] thinking
[codex:833421] **Identifying edge case risks and design quirks**
[codex:833421] 
[codex:833421] I'm exploring scenarios where tokens accidentally sent to the contract could be used by others for swaps, potentially causing user loss but not protocol breach. I also notice a revert bug when selling WETH for ETH via a transmit function due to balance update conflicts. There are subtle issues with missing token whitelist checks in the approximate exchange and Ethereum wrapping logic using contract ETH balance, leading to minor economic discrepancies. Finally, the use of tx.origin for uniqueness and signature replay risks stand out, indicating design decisions that might cause low-severity concerns though not clear-cut vulnerabilities. Overall, these feel like edge cases or limitations rather than outright security flaws.
[codex:833421] thinking
[codex:833421] **Highlighting signature replay vulnerabilities**
[codex:833421] 
[codex:833421] I'm examining how signed swap quotes can be replayed multiple times due to absence of nonce or fill tracking, allowing repeated trades at the same favorable rates until the signature expires. This could lead to draining liquidity if the offchain signer issues long-lived quotes or misprices. I’m focusing on functions in ClipperCommonExchange like createSwapDigest and verifyDigestSignature that lack nonce handling, and the swap/deposit/withdraw functions that don’t mark signatures as used. This poses a medium-severity authorization risk worth reporting.
[codex:833421] exec
[codex:833421] /bin/bash -lc "nl -ba contracts/contracts/ClipperCommonExchange.sol | sed -n '180,320p'" in /tmp/codex-multi-07jkjw56 succeeded in 7ms:
[codex:833421]    180	    } else {
[codex:833421]    181	      uint256 theFraction = (ONE_IN_TEN_DECIMALS*actualInput)/statedInput;
[codex:833421]    182	      if(theFraction >= MAX_ALLOWED_OVER_TEN_DECIMALS) {
[codex:833421]    183	        return (MAX_ALLOWED_OVER_TEN_DECIMALS*statedOutput)/ONE_IN_TEN_DECIMALS;
[codex:833421]    184	      } else {
[codex:833421]    185	        return (theFraction*statedOutput)/ONE_IN_TEN_DECIMALS;
[codex:833421]    186	      }
[codex:833421]    187	    }
[codex:833421]    188	  }
[codex:833421]    189	
[codex:833421]    190	  /* DEPOSIT FUNCTIONALITY */
[codex:833421]    191	  function canUnlockDeposit(address theAddress) public view returns (bool) {
[codex:833421]    192	      Deposit storage myDeposit = vestingDeposits[theAddress];
[codex:833421]    193	      return (myDeposit.poolTokenAmount > 0) && (myDeposit.lockedUntil <= block.timestamp);
[codex:833421]    194	  }
[codex:833421]    195	
[codex:833421]    196	  function unlockDeposit() external returns (uint256 poolTokens) {
[codex:833421]    197	    require(canUnlockDeposit(msg.sender), "ClipperDirect: Deposit cannot be unlocked");
[codex:833421]    198	    poolTokens = vestingDeposits[msg.sender].poolTokenAmount;
[codex:833421]    199	    delete vestingDeposits[msg.sender];
[codex:833421] 
[codex:833421] thinking
[codex:833421] **Continuing to locate line numbers**
[codex:833421] exec
[codex:833421] /bin/bash -lc "nl -ba contracts/contracts/ClipperCommonExchange.sol | sed -n '320,520p'" in /tmp/codex-multi-07jkjw56 succeeded in 6ms:
[codex:833421]    320	        inputToken,
[codex:833421]    321	        inputAmount,
[codex:833421]    322	        daysLocked,
[codex:833421]    323	        poolTokens,
[codex:833421]    324	        goodUntil
[codex:833421]    325	      ));
[codex:833421]    326	  }
[codex:833421]    327	
[codex:833421]    328	  function hashWithdrawal(address tokenHolder, uint256 poolTokenAmountToBurn, address assetAddress, uint256 assetAmount,
[codex:833421]    329	                    uint256 goodUntil) internal pure returns (bytes32) {
[codex:833421]    330	    return keccak256(abi.encode(
[codex:833421]    331	        WITHDRAWALSTRUCT_TYPEHASH,
[codex:833421]    332	        tokenHolder,
[codex:833421]    333	        poolTokenAmountToBurn,
[codex:833421]    334	        assetAddress,
[codex:833421]    335	        assetAmount,
[codex:833421]    336	        goodUntil
[codex:833421]    337	      ));
[codex:833421]    338	  }
[codex:833421]    339	
[codex:833421] 
[codex:833421] thinking
[codex:833421] **Gathering evidence from swap functions**
[codex:833421] exec
[codex:833421] /bin/bash -lc "nl -ba contracts/contracts/ClipperCaravelExchange.sol | sed -n '120,260p'" in /tmp/codex-multi-07jkjw56 succeeded in 7ms:
[codex:833421]    120	      safeEthSend(WRAPPER_CONTRACT, msg.value);
[codex:833421]    121	    }
[codex:833421]    122	    // Make sure the depositor is allowed
[codex:833421]    123	    require(msg.sender==sender && isToken(inputToken), "Invalid input");
[codex:833421]    124	
[codex:833421]    125	    // Check the signature
[codex:833421]    126	    bytes32 depositDigest = createSingleDepositDigest(sender, inputToken, inputAmount, nDays, poolTokens, goodUntil);
[codex:833421]    127	    // Revert if it's signed by the wrong address
[codex:833421]    128	    verifyDigestSignature(depositDigest, theSignature);
[codex:833421]    129	
[codex:833421]    130	    // Check deposit amount and sync balance
[codex:833421]    131	    uint256 currentBalance = tokenBalance(inputToken);
[codex:833421]    132	    require(currentBalance - getLastBalance(inputToken) >= inputAmount, "Insufficient token deposit");
[codex:833421]    133	    // sync the balance
[codex:833421]    134	    setBalance(inputToken, currentBalance);
[codex:833421]    135	
[codex:833421]    136	    // OK now we're good
[codex:833421]    137	    _mintOrVesting(sender, nDays, poolTokens);
[codex:833421]    138	    emit Deposited(sender, poolTokens, nDays);
[codex:833421]    139	  }
[codex:833421] 
[codex:833421] thinking
[codex:833421] **Evaluating nonce usage in contracts**
[codex:833421] exec
[codex:833421] /bin/bash -lc 'rg -n "nonce" contracts/contracts' in /tmp/codex-multi-07jkjw56 exited 1 in 9ms:
[codex:833421] 
[codex:833421] 
[codex:833421] thinking
[codex:833421] **Summarizing replayable signature vulnerability**
[codex:833421] codex
[codex:833421] {"no_findings":false,"summary":"Found 1 issue: signed swap/deposit/withdrawal messages are replayable because there is no nonce/fill tracking; quotes can be reused until `goodUntil`.","findings":[{"severity":"low","category":"auth","title":"Replayable signed quotes due to missing nonce/fill tracking","exploit_scenario":"If the designated signer issues a quote intended for single use, any caller can execute the same signature repeatedly (across blocks) until `goodUntil`, since signatures are not marked as consumed. This lets an attacker repeatedly trade/withdraw at a stale price, potentially draining liquidity beyond the signer’s intended fill size.","recommendation":"Include a per-order nonce or unique salt in the signed data and track used digests (or per-user nonces) on-chain. Reject any signature whose nonce/order hash has already been consumed.","evidence":"Signed payloads only include tokens/amounts/timestamps/destination, and `verifyDigestSignature` only checks signer validity without recording usage. Swap/withdraw/deposit paths simply call `verifyDigestSignature` and proceed.","locations":["contracts/contracts/ClipperCommonExchange.sol:292","contracts/contracts/ClipperCommonExchange.sol:340","contracts/contracts/ClipperCommonExchange.sol:361","contracts/contracts/ClipperCaravelExchange.sol:182"]}]}
[codex:833421] tokens used
[codex:833421] 69,431
[codex:833421] {"no_findings":false,"summary":"Found 1 issue: signed swap/deposit/withdrawal messages are replayable because there is no nonce/fill tracking; quotes can be reused until `goodUntil`.","findings":[{"severity":"low","category":"auth","title":"Replayable signed quotes due to missing nonce/fill tracking","exploit_scenario":"If the designated signer issues a quote intended for single use, any caller can execute the same signature repeatedly (across blocks) until `goodUntil`, since signatures are not marked as consumed. This lets an attacker repeatedly trade/withdraw at a stale price, potentially draining liquidity beyond the signer’s intended fill size.","recommendation":"Include a per-order nonce or unique salt in the signed data and track used digests (or per-user nonces) on-chain. Reject any signature whose nonce/order hash has already been consumed.","evidence":"Signed payloads only include tokens/amounts/timestamps/destination, and `verifyDigestSignature` only checks signer validity without recording usage. Swap/withdraw/deposit paths simply call `verifyDigestSignature` and proceed.","locations":["contracts/contracts/ClipperCommonExchange.sol:292","contracts/contracts/ClipperCommonExchange.sol:340","contracts/contracts/ClipperCommonExchange.sol:361","contracts/contracts/ClipperCaravelExchange.sol:182"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-29T16:00:53.235836+00:00",
        "returncode": 0
    },
    "summary": "Found 1 issue: signed swap/deposit/withdrawal messages are replayable because there is no nonce/fill tracking; quotes can be reused until `goodUntil`.",
    "raw_final": {
        "summary": "Found 1 issue: signed swap/deposit/withdrawal messages are replayable because there is no nonce/fill tracking; quotes can be reused until `goodUntil`.",
        "findings": [
            {
                "title": "Replayable signed quotes due to missing nonce/fill tracking",
                "category": "auth",
                "evidence": "Signed payloads only include tokens/amounts/timestamps/destination, and `verifyDigestSignature` only checks signer validity without recording usage. Swap/withdraw/deposit paths simply call `verifyDigestSignature` and proceed.",
                "severity": "low",
                "locations": [
                    "contracts/contracts/ClipperCommonExchange.sol:292",
                    "contracts/contracts/ClipperCommonExchange.sol:340",
                    "contracts/contracts/ClipperCommonExchange.sol:361",
                    "contracts/contracts/ClipperCaravelExchange.sol:182"
                ],
                "recommendation": "Include a per-order nonce or unique salt in the signed data and track used digests (or per-user nonces) on-chain. Reject any signature whose nonce/order hash has already been consumed.",
                "exploit_scenario": "If the designated signer issues a quote intended for single use, any caller can execute the same signature repeatedly (across blocks) until `goodUntil`, since signatures are not marked as consumed. This lets an attacker repeatedly trade/withdraw at a stale price, potentially draining liquidity beyond the signer\u2019s intended fill size."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
8
EXT*/BALANCE
4
Total opcodes
9976
Flags
No heuristic flags raised.
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x02f6
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x5aecdda5
00000019: GT
0000001a: PUSH2 0x018f
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xa457c2d7
00000024: GT
00000025: PUSH2 0x00e1
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xd505accf
0000002f: GT
00000030: PUSH2 0x008a
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xeb1c6453
0000003a: GT
0000003b: PUSH2 0x0064
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xeb1c6453
00000045: EQ
00000046: PUSH2 0x08a9
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xecc7633d
00000050: EQ
00000051: PUSH2 0x08c9
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xf2fde38b
0000005b: EQ
0000005c: PUSH2 0x08f6
0000005f: JUMPI
00000060: PUSH1 0x00
00000062: DUP1
00000063: REVERT
00000064: JUMPDEST
00000065: DUP1
00000066: PUSH4 0xd505accf
0000006b: EQ
0000006c: PUSH2 0x081e
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0xda5014c5
00000076: EQ
00000077: PUSH2 0x083e
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xdd62ed3e
00000081: EQ
00000082: PUSH2 0x0863
00000085: JUMPI
00000086: PUSH1 0x00
00000088: DUP1
00000089: REVERT
0000008a: JUMPDEST
0000008b: DUP1
0000008c: PUSH4 0xc325a549
00000091: GT
00000092: PUSH2 0x00bb
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0xc325a549
0000009c: EQ
0000009d: PUSH2 0x0795
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0xc72da66a
000000a7: EQ
000000a8: PUSH2 0x07de
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0xceaf4339
000000b2: EQ
000000b3: PUSH2 0x07fe
000000b6: JUMPI
000000b7: PUSH1 0x00
000000b9: DUP1
000000ba: REVERT
000000bb: JUMPDEST
000000bc: DUP1
000000bd: PUSH4 0xa457c2d7
000000c2: EQ
000000c3: PUSH2 0x0735
000000c6: JUMPI
000000c7: DUP1
000000c8: PUSH4 0xa9059cbb
000000cd: EQ
000000ce: PUSH2 0x0755
000000d1: JUMPI
000000d2: DUP1
000000d3: PUSH4 0xc0d5ebfd
000000d8: EQ
000000d9: PUSH2 0x0775
000000dc: JUMPI
000000dd: PUSH1 0x00
000000df: DUP1
000000e0: REVERT
000000e1: JUMPDEST
000000e2: DUP1
000000e3: PUSH4 0x87e08c25
000000e8: GT
000000e9: PUSH2 0x0143
000000ec: JUMPI
000000ed: DUP1
000000ee: PUSH4 0x8dda8f3f
000000f3: GT
000000f4: PUSH2 0x011d
000000f7: JUMPI
000000f8: DUP1
000000f9: PUSH4 0x8dda8f3f
000000fe: EQ
000000ff: PUSH2 0x06cc
00000102: JUMPI
00000103: DUP1
00000104: PUSH4 0x92a91a3a
00000109: EQ
0000010a: PUSH2 0x0700
0000010d: JUMPI
0000010e: DUP1
0000010f: PUSH4 0x95d89b41
00000114: EQ
00000115: PUSH2 0x0720
00000118: JUMPI
00000119: PUSH1 0x00
0000011b: DUP1
0000011c: REVERT
0000011d: JUMPDEST
0000011e: DUP1
0000011f: PUSH4 0x87e08c25
00000124: EQ
00000125: PUSH2 0x0686
00000128: JUMPI
00000129: DUP1
0000012a: PUSH4 0x8baeefce
0000012f: EQ
00000130: PUSH2 0x0699
00000133: JUMPI
00000134: DUP1
00000135: PUSH4 0x8da5cb5b
0000013a: EQ
0000013b: PUSH2 0x06ae
0000013e: JUMPI
0000013f: PUSH1 0x00
00000141: DUP1
00000142: REVERT
00000143: JUMPDEST
00000144: DUP1
00000145: PUSH4 0x70a08231
0000014a: GT
0000014b: PUSH2 0x0174
0000014e: JUMPI
0000014f: DUP1
00000150: PUSH4 0x70a08231
00000155: EQ
00000156: PUSH2 0x061b
00000159: JUMPI
0000015a: DUP1
0000015b: PUSH4 0x715018a6
00000160: EQ
00000161: PUSH2 0x0651
00000164: JUMPI
00000165: DUP1
00000166: PUSH4 0x7ecebe00
0000016b: EQ
0000016c: PUSH2 0x0666
0000016f: JUMPI
00000170: PUSH1 0x00
00000172: DUP1
00000173: REVERT
00000174: JUMPDEST
00000175: DUP1
00000176: PUSH4 0x5aecdda5
0000017b: EQ
0000017c: PUSH2 0x05af
0000017f: JUMPI
00000180: DUP1
00000181: PUSH4 0x62fb4e01
00000186: EQ
00000187: PUSH2 0x05fb
0000018a: JUMPI
0000018b: PUSH1 0x00
0000018d: DUP1
0000018e: REVERT
0000018f: JUMPDEST
00000190: DUP1
00000191: PUSH4 0x2b651a6c
00000196: GT
00000197: PUSH2 0x0248
0000019a: JUMPI
0000019b: DUP1
0000019c: PUSH4 0x368dfc18
000001a1: GT
000001a2: PUSH2 0x01fc
000001a5: JUMPI
000001a6: DUP1
000001a7: PUSH4 0x3b26e4eb
000001ac: GT
000001ad: PUSH2 0x01d6
000001b0: JUMPI
000001b1: DUP1
000001b2: PUSH4 0x3b26e4eb
000001b7: EQ
000001b8: PUSH2 0x055c
000001bb: JUMPI
000001bc: DUP1
000001bd: PUSH4 0x4cb6864c
000001c2: EQ
000001c3: PUSH2 0x057c
000001c6: JUMPI
000001c7: DUP1
000001c8: PUSH4 0x5250d730
000001cd: EQ
000001ce: PUSH2 0x059c
000001d1: JUMPI
000001d2: PUSH1 0x00
000001d4: DUP1
000001d5: REVERT
000001d6: JUMPDEST
000001d7: DUP1
000001d8: PUSH4 0x368dfc18
000001dd: EQ
000001de: PUSH2 0x0507
000001e1: JUMPI
000001e2: DUP1
000001e3: PUSH4 0x377a368c
000001e8: EQ
000001e9: PUSH2 0x0527
000001ec: JUMPI
000001ed: DUP1
000001ee: PUSH4 0x39509351
000001f3: EQ
000001f4: PUSH2 0x053c
000001f7: JUMPI
000001f8: PUSH1 0x00
000001fa: DUP1
000001fb: REVERT
000001fc: JUMPDEST
000001fd: DUP1
000001fe: PUSH4 0x313ce567
00000203: GT
00000204: PUSH2 0x022d
00000207: JUMPI
00000208: DUP1
00000209: PUSH4 0x313ce567
0000020e: EQ
0000020f: PUSH2 0x0497
00000212: JUMPI
00000213: DUP1
00000214: PUSH4 0x34cb3d7f
00000219: EQ
0000021a: PUSH2 0x04b3
0000021d: JUMPI
0000021e: DUP1
0000021f: PUSH4 0x3644e515
00000224: EQ
00000225: PUSH2 0x04f2
00000228: JUMPI
00000229: PUSH1 0x00
0000022b: DUP1
0000022c: REVERT
0000022d: JUMPDEST
0000022e: DUP1
0000022f: PUSH4 0x2b651a6c
00000234: EQ
00000235: PUSH2 0x0462
00000238: JUMPI
00000239: DUP1
0000023a: PUSH4 0x2e7e1bd3
0000023f: EQ
00000240: PUSH2 0x0482
00000243: JUMPI
00000244: PUSH1 0x00
00000246: DUP1
00000247: REVERT
00000248: JUMPDEST
00000249: DUP1
0000024a: PUSH4 0x1dc6f5a5
0000024f: GT
00000250: PUSH2 0x02aa
00000253: JUMPI
00000254: DUP1
00000255: PUSH4 0x27a9b424
0000025a: GT
0000025b: PUSH2 0x0284
0000025e: JUMPI
0000025f: DUP1
00000260: PUSH4 0x27a9b424
00000265: EQ
00000266: PUSH2 0x040d
00000269: JUMPI
0000026a: DUP1
0000026b: PUSH4 0x298410e5
00000270: EQ
00000271: PUSH2 0x0422
00000274: JUMPI
00000275: DUP1
00000276: PUSH4 0x29d0c8fc
0000027b: EQ
0000027c: PUSH2 0x0442
0000027f: JUMPI
00000280: PUSH1 0x00
00000282: DUP1
00000283: REVERT
00000284: JUMPDEST
00000285: DUP1
00000286: PUSH4 0x1dc6f5a5
0000028b: EQ
0000028c: PUSH2 0x03b1
0000028f: JUMPI
00000290: DUP1
00000291: PUSH4 0x23b872dd
00000296: EQ
00000297: PUSH2 0x03d5
0000029a: JUMPI
0000029b: DUP1
0000029c: PUSH4 0x26d9b5b3
000002a1: EQ
000002a2: PUSH2 0x03f5
000002a5: JUMPI
000002a6: PUSH1 0x00
000002a8: DUP1
000002a9: REVERT
000002aa: JUMPDEST
000002ab: DUP1
000002ac: PUSH4 0x18160ddd
000002b1: GT
000002b2: PUSH2 0x02db
000002b5: JUMPI
000002b6: DUP1
000002b7: PUSH4 0x18160ddd
000002bc: EQ
000002bd: PUSH2 0x035d
000002c0: JUMPI
000002c1: DUP1
000002c2: PUSH4 0x19f37361
000002c7: EQ
000002c8: PUSH2 0x037c
000002cb: JUMPI
000002cc: DUP1
000002cd: PUSH4 0x1b6a8759
000002d2: EQ
000002d3: PUSH2 0x039c
000002d6: JUMPI
000002d7: PUSH1 0x00
000002d9: DUP1
000002da: REVERT
000002db: JUMPDEST
000002dc: DUP1
000002dd: PUSH4 0x06fdde03
000002e2: EQ
000002e3: PUSH2 0x0302
000002e6: JUMPI
000002e7: DUP1
000002e8: PUSH4 0x095ea7b3
000002ed: EQ
000002ee: PUSH2 0x032d
000002f1: JUMPI
000002f2: PUSH1 0x00
000002f4: DUP1
000002f5: REVERT
000002f6: JUMPDEST
000002f7: CALLDATASIZE
000002f8: PUSH2 0x02fd
000002fb: JUMPI
000002fc: STOP
000002fd: JUMPDEST
000002fe: PUSH1 0x00
00000300: DUP1
00000301: REVERT
00000302: JUMPDEST
00000303: CALLVALUE
00000304: DUP1
00000305: ISZERO
00000306: PUSH2 0x030e
00000309: JUMPI
0000030a: PUSH1 0x00
0000030c: DUP1
0000030d: REVERT
0000030e: JUMPDEST
0000030f: POP
00000310: PUSH2 0x0317
00000313: PUSH2 0x0916
00000316: JUMP
00000317: JUMPDEST
00000318: PUSH1 0x40
0000031a: MLOAD
0000031b: PUSH2 0x0324
0000031e: SWAP2
0000031f: SWAP1
00000320: PUSH2 0x3fc8
00000323: JUMP
00000324: JUMPDEST
00000325: PUSH1 0x40
00000327: MLOAD
00000328: DUP1
00000329: SWAP2
0000032a: SUB
0000032b: SWAP1
0000032c: RETURN
0000032d: JUMPDEST
0000032e: CALLVALUE
0000032f: DUP1
00000330: ISZERO
00000331: PUSH2 0x0339
00000334: JUMPI
00000335: PUSH1 0x00
00000337: DUP1
00000338: REVERT
00000339: JUMPDEST
0000033a: POP
0000033b: PUSH2 0x034d
0000033e: PUSH2 0x0348
00000341: CALLDATASIZE
00000342: PUSH1 0x04
00000344: PUSH2 0x4017
00000347: JUMP
00000348: JUMPDEST
00000349: PUSH2 0x09a8
0000034c: JUMP
0000034d: JUMPDEST
0000034e: PUSH1 0x40
00000350: MLOAD
00000351: SWAP1
00000352: ISZERO
00000353: ISZERO
00000354: DUP2
00000355: MSTORE
00000356: PUSH1 0x20
00000358: ADD
00000359: PUSH2 0x0324
0000035c: JUMP
0000035d: JUMPDEST
0000035e: CALLVALUE
0000035f: DUP1
00000360: ISZERO
00000361: PUSH2 0x0369
00000364: JUMPI
00000365: PUSH1 0x00
00000367: DUP1
00000368: REVERT
00000369: JUMPDEST
0000036a: POP
0000036b: PUSH1 0x02
0000036d: SLOAD
0000036e: JUMPDEST
0000036f: PUSH1 0x40
00000371: MLOAD
00000372: SWAP1
00000373: DUP2
00000374: MSTORE
00000375: PUSH1 0x20
00000377: ADD
00000378: PUSH2 0x0324
0000037b: JUMP
0000037c: JUMPDEST
0000037d: CALLVALUE
0000037e: DUP1
0000037f: ISZERO
00000380: PUSH2 0x0388
00000383: JUMPI
00000384: PUSH1 0x00
00000386: DUP1
00000387: REVERT
00000388: JUMPDEST
00000389: POP
0000038a: PUSH2 0x034d
0000038d: PUSH2 0x0397
00000390: CALLDATASIZE
00000391: PUSH1 0x04
00000393: PUSH2 0x4041
00000396: JUMP
00000397: JUMPDEST
00000398: PUSH2 0x09c2
0000039b: JUMP
0000039c: JUMPDEST
0000039d: CALLVALUE
0000039e: DUP1
0000039f: ISZERO
000003a0: PUSH2 0x03a8
000003a3: JUMPI
000003a4: PUSH1 0x00
000003a6: DUP1
000003a7: REVERT
000003a8: JUMPDEST
000003a9: POP
000003aa: PUSH2 0x036e
000003ad: PUSH2 0x09cf
000003b0: JUMP
000003b1: JUMPDEST
000003b2: CALLVALUE
000003b3: DUP1
000003b4: ISZERO
000003b5: PUSH2 0x03bd
000003b8: JUMPI
000003b9: PUSH1 0x00
000003bb: DUP1
000003bc: REVERT
000003bd: JUMPDEST
000003be: POP
000003bf: PUSH2 0x03c6
000003c2: PUSH2 0x09e0
000003c5: JUMP
000003c6: JUMPDEST
000003c7: PUSH1 0x40
000003c9: MLOAD
000003ca: PUSH2 0x0324
000003cd: SWAP4
000003ce: SWAP3
000003cf: SWAP2
000003d0: SWAP1
000003d1: PUSH2 0x405c
000003d4: JUMP
000003d5: JUMPDEST
000003d6: CALLVALUE
000003d7: DUP1
000003d8: ISZERO
000003d9: PUSH2 0x03e1
000003dc: JUMPI
000003dd: PUSH1 0x00
000003df: DUP1
000003e0: REVERT
000003e1: JUMPDEST
000003e2: POP
000003e3: PUSH2 0x034d
000003e6: PUSH2 0x03f0
000003e9: CALLDATASIZE
000003ea: PUSH1 0x04
000003ec: PUSH2 0x40e9
000003ef: JUMP
000003f0: JUMPDEST
000003f1: PUSH2 0x0b34
000003f4: JUMP
000003f5: JUMPDEST
000003f6: CALLVALUE
000003f7: DUP1
000003f8: ISZERO
000003f9: PUSH2 0x0401
000003fc: JUMPI
000003fd: PUSH1 0x00
000003ff: DUP1
00000400: REVERT
00000401: JUMPDEST
00000402: POP
00000403: PUSH1 0x0d
00000405: SLOAD
00000406: PUSH1 0xff
00000408: AND
00000409: PUSH2 0x034d
0000040c: JUMP
0000040d: JUMPDEST
0000040e: PUSH2 0x0420
00000411: PUSH2 0x041b
00000414: CALLDATASIZE
00000415: PUSH1 0x04
00000417: PUSH2 0x4180
0000041a: JUMP
0000041b: JUMPDEST
0000041c: PUSH2 0x0b5a
0000041f: JUMP
00000420: JUMPDEST
00000421: STOP
00000422: JUMPDEST
00000423: CALLVALUE
00000424: DUP1
00000425: ISZERO
00000426: PUSH2 0x042e
00000429: JUMPI
0000042a: PUSH1 0x00
0000042c: DUP1
0000042d: REVERT
0000042e: JUMPDEST
0000042f: POP
00000430: PUSH2 0x0420
00000433: PUSH2 0x043d
00000436: CALLDATASIZE
00000437: PUSH1 0x04
00000439: PUSH2 0x4041
0000043c: JUMP
0000043d: JUMPDEST
0000043e: PUSH2 0x0cf4
00000441: JUMP
00000442: JUMPDEST
00000443: CALLVALUE
00000444: DUP1
00000445: ISZERO
00000446: PUSH2 0x044e
00000449: JUMPI
0000044a: PUSH1 0x00
0000044c: DUP1
0000044d: REVERT
0000044e: JUMPDEST
0000044f: POP
00000450: PUSH2 0x0420
00000453: PUSH2 0x045d
00000456: CALLDATASIZE
00000457: PUSH1 0x04
00000459: PUSH2 0x425a
0000045c: JUMP
0000045d: JUMPDEST
0000045e: PUSH2 0x0d14
00000461: JUMP
00000462: JUMPDEST
00000463: CALLVALUE
00000464: DUP1
00000465: ISZERO
00000466: PUSH2 0x046e
00000469: JUMPI
0000046a: PUSH1 0x00
0000046c: DUP1
0000046d: REVERT
0000046e: JUMPDEST
0000046f: POP
00000470: PUSH2 0x0420
00000473: PUSH2 0x047d
00000476: CALLDATASIZE
00000477: PUSH1 0x04
00000479: PUSH2 0x42ca
0000047c: JUMP
0000047d: JUMPDEST
0000047e: PUSH2 0x0d92
00000481: JUMP
00000482: JUMPDEST
00000483: CALLVALUE
00000484: DUP1
00000485: ISZERO
00000486: PUSH2 0x048e
00000489: JUMPI
0000048a: PUSH1 0x00
0000048c: DUP1
0000048d: REVERT
0000048e: JUMPDEST
0000048f: POP
00000490: PUSH2 0x0420
00000493: PUSH2 0x0ea6
00000496: JUMP
00000497: JUMPDEST
00000498: CALLVALUE
00000499: DUP1
0000049a: ISZERO
0000049b: PUSH2 0x04a3
0000049e: JUMPI
0000049f: PUSH1 0x00
000004a1: DUP1
000004a2: REVERT
000004a3: JUMPDEST
000004a4: POP
000004a5: PUSH1 0x40
000004a7: MLOAD
000004a8: PUSH1 0x12
000004aa: DUP2
000004ab: MSTORE
000004ac: PUSH1 0x20
000004ae: ADD
000004af: PUSH2 0x0324
000004b2: JUMP
000004b3: JUMPDEST
000004b4: CALLVALUE
000004b5: DUP1
000004b6: ISZERO
000004b7: PUSH2 0x04bf
000004ba: JUMPI
000004bb: PUSH1 0x00
000004bd: DUP1
000004be: REVERT
000004bf: JUMPDEST
000004c0: POP
000004c1: PUSH2 0x036e
000004c4: PUSH2 0x04ce
000004c7: CALLDATASIZE
000004c8: PUSH1 0x04
000004ca: PUSH2 0x4041
000004cd: JUMP
000004ce: JUMPDEST
000004cf: PUSH1 0x01
000004d1: PUSH1 0x01
000004d3: PUSH1 0xa0
000004d5: SHL
000004d6: SUB
000004d7: AND
000004d8: PUSH1 0x00
000004da: SWAP1
000004db: DUP2
000004dc: MSTORE
000004dd: PUSH1 0x06
000004df: PUSH1 0x20
000004e1: MSTORE
000004e2: PUSH1 0x40
000004e4: SWAP1
000004e5: KECCAK256
000004e6: SLOAD
000004e7: PUSH1 0x01
000004e9: PUSH1 0x01
000004eb: PUSH1 0xe0
000004ed: SHL
000004ee: SUB
000004ef: AND
000004f0: SWAP1
000004f1: JUMP
000004f2: JUMPDEST
000004f3: CALLVALUE
000004f4: DUP1
000004f5: ISZERO
000004f6: PUSH2 0x04fe
000004f9: JUMPI
000004fa: PUSH1 0x00
000004fc: DUP1
000004fd: REVERT
000004fe: JUMPDEST
000004ff: POP
00000500: PUSH2 0x036e
00000503: PUSH2 0x0eca
00000506: JUMP
00000507: JUMPDEST
00000508: CALLVALUE
00000509: DUP1
0000050a: ISZERO
0000050b: PUSH2 0x0513
0000050e: JUMPI
0000050f: PUSH1 0x00
00000511: DUP1
00000512: REVERT
00000513: JUMPDEST
00000514: POP
00000515: PUSH2 0x0420
00000518: PUSH2 0x0522
0000051b: CALLDATASIZE
0000051c: PUSH1 0x04
0000051e: PUSH2 0x4372
00000521: JUMP
00000522: JUMPDEST
00000523: PUSH2 0x0ed4
00000526: JUMP
00000527: JUMPDEST
00000528: CALLVALUE
00000529: DUP1
0000052a: ISZERO
0000052b: PUSH2 0x0533
0000052e: JUMPI
0000052f: PUSH1 0x00
00000531: DUP1
00000532: REVERT
00000533: JUMPDEST
00000534: POP
00000535: PUSH2 0x036e
00000538: PUSH2 0x0f4c
0000053b: JUMP
0000053c: JUMPDEST
0000053d: CALLVALUE
0000053e: DUP1
0000053f: ISZERO
00000540: PUSH2 0x0548
00000543: JUMPI
00000544: PUSH1 0x00
00000546: DUP1
00000547: REVERT
00000548: JUMPDEST
00000549: POP
0000054a: PUSH2 0x034d
0000054d: PUSH2 0x0557
00000550: CALLDATASIZE
00000551: PUSH1 0x04
00000553: PUSH2 0x4017
00000556: JUMP
00000557: JUMPDEST
00000558: PUSH2 0x0ffc
0000055b: JUMP
0000055c: JUMPDEST
0000055d: CALLVALUE
0000055e: DUP1
0000055f: ISZERO
00000560: PUSH2 0x0568
00000563: JUMPI
00000564: PUSH1 0x00
00000566: DUP1
00000567: REVERT
00000568: JUMPDEST
00000569: POP
0000056a: PUSH2 0x0420
0000056d: PUSH2 0x0577
00000570: CALLDATASIZE
00000571: PUSH1 0x04
00000573: PUSH2 0x42ca
00000576: JUMP
00000577: JUMPDEST
00000578: PUSH2 0x103b
0000057b: JUMP
0000057c: JUMPDEST
0000057d: CALLVALUE
0000057e: DUP1
0000057f: ISZERO
00000580: PUSH2 0x0588
00000583: JUMPI
00000584: PUSH1 0x00
00000586: DUP1
00000587: REVERT
00000588: JUMPDEST
00000589: POP
0000058a: PUSH2 0x0420
0000058d: PUSH2 0x0597
00000590: CALLDATASIZE
00000591: PUSH1 0x04
00000593: PUSH2 0x4180
00000596: JUMP
00000597: JUMPDEST
00000598: PUSH2 0x113c
0000059b: JUMP
0000059c: JUMPDEST
0000059d: PUSH2 0x0420
000005a0: PUSH2 0x05aa
000005a3: CALLDATASIZE
000005a4: PUSH1 0x04
000005a6: PUSH2 0x438b
000005a9: JUMP
000005aa: JUMPDEST
000005ab: PUSH2 0x1327
000005ae: JUMP
000005af: JUMPDEST
000005b0: CALLVALUE
000005b1: DUP1
000005b2: ISZERO
000005b3: PUSH2 0x05bb
000005b6: JUMPI
000005b7: PUSH1 0x00
000005b9: DUP1
000005ba: REVERT
000005bb: JUMPDEST
000005bc: POP
000005bd: PUSH2 0x05e3
000005c0: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000005e1: DUP2
000005e2: JUMP
000005e3: JUMPDEST
000005e4: PUSH1 0x40
000005e6: MLOAD
000005e7: PUSH1 0x01
000005e9: PUSH1 0x01
000005eb: PUSH1 0xa0
000005ed: SHL
000005ee: SUB
000005ef: SWAP1
000005f0: SWAP2
000005f1: AND
000005f2: DUP2
000005f3: MSTORE
000005f4: PUSH1 0x20
000005f6: ADD
000005f7: PUSH2 0x0324
000005fa: JUMP
000005fb: JUMPDEST
000005fc: CALLVALUE
000005fd: DUP1
000005fe: ISZERO
000005ff: PUSH2 0x0607
00000602: JUMPI
00000603: PUSH1 0x00
00000605: DUP1
00000606: REVERT
00000607: JUMPDEST
00000608: POP
00000609: PUSH2 0x0420
0000060c: PUSH2 0x0616
0000060f: CALLDATASIZE
00000610: PUSH1 0x04
00000612: PUSH2 0x440e
00000615: JUMP
00000616: JUMPDEST
00000617: PUSH2 0x15a2
0000061a: JUMP
0000061b: JUMPDEST
0000061c: CALLVALUE
0000061d: DUP1
0000061e: ISZERO
0000061f: PUSH2 0x0627
00000622: JUMPI
00000623: PUSH1 0x00
00000625: DUP1
00000626: REVERT
00000627: JUMPDEST
00000628: POP
00000629: PUSH2 0x036e
0000062c: PUSH2 0x0636
0000062f: CALLDATASIZE
00000630: PUSH1 0x04
00000632: PUSH2 0x4041
00000635: JUMP
00000636: JUMPDEST
00000637: PUSH1 0x01
00000639: PUSH1 0x01
0000063b: PUSH1 0xa0
0000063d: SHL
0000063e: SUB
0000063f: AND
00000640: PUSH1 0x00
00000642: SWAP1
00000643: DUP2
00000644: MSTORE
00000645: PUSH1 0x20
00000647: DUP2
00000648: SWAP1
00000649: MSTORE
0000064a: PUSH1 0x40
0000064c: SWAP1
0000064d: KECCAK256
0000064e: SLOAD
0000064f: SWAP1
00000650: JUMP
00000651: JUMPDEST
00000652: CALLVALUE
00000653: DUP1
00000654: ISZERO
00000655: PUSH2 0x065d
00000658: JUMPI
00000659: PUSH1 0x00
0000065b: DUP1
0000065c: REVERT
0000065d: JUMPDEST
0000065e: POP
0000065f: PUSH2 0x0420
00000662: PUSH2 0x17f2
00000665: JUMP
00000666: JUMPDEST
00000667: CALLVALUE
00000668: DUP1
00000669: ISZERO
0000066a: PUSH2 0x0672
0000066d: JUMPI
0000066e: PUSH1 0x00
00000670: DUP1
00000671: REVERT
00000672: JUMPDEST
00000673: POP
00000674: PUSH2 0x036e
00000677: PUSH2 0x0681
0000067a: CALLDATASIZE
0000067b: PUSH1 0x04
0000067d: PUSH2 0x4041
00000680: JUMP
00000681: JUMPDEST
00000682: PUSH2 0x1804
00000685: JUMP
00000686: JUMPDEST
00000687: PUSH2 0x0420
0000068a: PUSH2 0x0694
0000068d: CALLDATASIZE
0000068e: PUSH1 0x04
00000690: PUSH2 0x4463
00000693: JUMP
00000694: JUMPDEST
00000695: PUSH2 0x1822
00000698: JUMP
00000699: JUMPDEST
0000069a: CALLVALUE
0000069b: DUP1
0000069c: ISZERO
0000069d: PUSH2 0x06a5
000006a0: JUMPI
000006a1: PUSH1 0x00
000006a3: DUP1
000006a4: REVERT
000006a5: JUMPDEST
000006a6: POP
000006a7: PUSH2 0x0420
000006aa: PUSH2 0x1a21
000006ad: JUMP
000006ae: JUMPDEST
000006af: CALLVALUE
000006b0: DUP1
000006b1: ISZERO
000006b2: PUSH2 0x06ba
000006b5: JUMPI
000006b6: PUSH1 0x00
000006b8: DUP1
000006b9: REVERT
000006ba: JUMPDEST
000006bb: POP
000006bc: PUSH1 0x0a
000006be: SLOAD
000006bf: PUSH1 0x01
000006c1: PUSH1 0x01
000006c3: PUSH1 0xa0
000006c5: SHL
000006c6: SUB
000006c7: AND
000006c8: PUSH2 0x05e3
000006cb: JUMP
000006cc: JUMPDEST
000006cd: CALLVALUE
000006ce: DUP1
000006cf: ISZERO
000006d0: PUSH2 0x06d8
000006d3: JUMPI
000006d4: PUSH1 0x00
000006d6: DUP1
000006d7: REVERT
000006d8: JUMPDEST
000006d9: POP
000006da: PUSH2 0x05e3
000006dd: PUSH32 0x00000000000000000000000008938a61ba9523298dbcacee0cda5b371fb7f1f8
000006fe: DUP2
000006ff: JUMP
00000700: JUMPDEST
00000701: CALLVALUE
00000702: DUP1
00000703: ISZERO
00000704: PUSH2 0x070c
00000707: JUMPI
00000708: PUSH1 0x00
0000070a: DUP1
0000070b: REVERT
0000070c: JUMPDEST
0000070d: POP
0000070e: PUSH2 0x05e3
00000711: PUSH2 0x071b
00000714: CALLDATASIZE
00000715: PUSH1 0x04
00000717: PUSH2 0x4372
0000071a: JUMP
0000071b: JUMPDEST
0000071c: PUSH2 0x1a47
0000071f: JUMP
00000720: JUMPDEST
00000721: CALLVALUE
00000722: DUP1
00000723: ISZERO
00000724: PUSH2 0x072c
00000727: JUMPI
00000728: PUSH1 0x00
0000072a: DUP1
0000072b: REVERT
0000072c: JUMPDEST
0000072d: POP
0000072e: PUSH2 0x0317
00000731: PUSH2 0x1a54
00000734: JUMP
00000735: JUMPDEST
00000736: CALLVALUE
00000737: DUP1
00000738: ISZERO
00000739: PUSH2 0x0741
0000073c: JUMPI
0000073d: PUSH1 0x00
0000073f: DUP1
00000740: REVERT
00000741: JUMPDEST
00000742: POP
00000743: PUSH2 0x034d
00000746: PUSH2 0x0750
00000749: CALLDATASIZE
0000074a: PUSH1 0x04
0000074c: PUSH2 0x4017
0000074f: JUMP
00000750: JUMPDEST
00000751: PUSH2 0x1a63
00000754: JUMP
00000755: JUMPDEST
00000756: CALLVALUE
00000757: DUP1
00000758: ISZERO
00000759: PUSH2 0x0761
0000075c: JUMPI
0000075d: PUSH1 0x00
0000075f: DUP1
00000760: REVERT
00000761: JUMPDEST
00000762: POP
00000763: PUSH2 0x034d
00000766: PUSH2 0x0770
00000769: CALLDATASIZE
0000076a: PUSH1 0x04
0000076c: PUSH2 0x4017
0000076f: JUMP
00000770: JUMPDEST
00000771: PUSH2 0x1b18
00000774: JUMP
00000775: JUMPDEST
00000776: CALLVALUE
00000777: DUP1
00000778: ISZERO
00000779: PUSH2 0x0781
0000077c: JUMPI
0000077d: PUSH1 0x00
0000077f: DUP1
00000780: REVERT
00000781: JUMPDEST
00000782: POP
00000783: PUSH2 0x0420
00000786: PUSH2 0x0790
00000789: CALLDATASIZE
0000078a: PUSH1 0x04
0000078c: PUSH2 0x44c1
0000078f: JUMP
00000790: JUMPDEST
00000791: PUSH2 0x1b26
00000794: JUMP
00000795: JUMPDEST
00000796: CALLVALUE
00000797: DUP1
00000798: ISZERO
00000799: PUSH2 0x07a1
0000079c: JUMPI
0000079d: PUSH1 0x00
0000079f: DUP1
000007a0: REVERT
000007a1: JUMPDEST
000007a2: POP
000007a3: PUSH2 0x07c9
000007a6: PUSH2 0x07b0
000007a9: CALLDATASIZE
000007aa: PUSH1 0x04
000007ac: PUSH2 0x4041
000007af: JUMP
000007b0: JUMPDEST
000007b1: PUSH1 0x09
000007b3: PUSH1 0x20
000007b5: MSTORE
000007b6: PUSH1 0x00
000007b8: SWAP1
000007b9: DUP2
000007ba: MSTORE
000007bb: PUSH1 0x40
000007bd: SWAP1
000007be: KECCAK256
000007bf: DUP1
000007c0: SLOAD
000007c1: PUSH1 0x01
000007c3: SWAP1
000007c4: SWAP2
000007c5: ADD
000007c6: SLOAD
000007c7: DUP3
000007c8: JUMP
000007c9: JUMPDEST
000007ca: PUSH1 0x40
000007cc: DUP1
000007cd: MLOAD
000007ce: SWAP3
000007cf: DUP4
000007d0: MSTORE
000007d1: PUSH1 0x20
000007d3: DUP4
000007d4: ADD
000007d5: SWAP2
000007d6: SWAP1
000007d7: SWAP2
000007d8: MSTORE
000007d9: ADD
000007da: PUSH2 0x0324
000007dd: JUMP
000007de: JUMPDEST
000007df: CALLVALUE
000007e0: DUP1
000007e1: ISZERO
000007e2: PUSH2 0x07ea
000007e5: JUMPI
000007e6: PUSH1 0x00
000007e8: DUP1
000007e9: REVERT
000007ea: JUMPDEST
000007eb: POP
000007ec: PUSH2 0x0420
000007ef: PUSH2 0x07f9
000007f2: CALLDATASIZE
000007f3: PUSH1 0x04
000007f5: PUSH2 0x4180
000007f8: JUMP
000007f9: JUMPDEST
000007fa: PUSH2 0x1c5e
000007fd: JUMP
000007fe: JUMPDEST
000007ff: CALLVALUE
00000800: DUP1
00000801: ISZERO
00000802: PUSH2 0x080a
00000805: JUMPI
00000806: PUSH1 0x00
00000808: DUP1
00000809: REVERT
0000080a: JUMPDEST
0000080b: POP
0000080c: PUSH2 0x0420
0000080f: PUSH2 0x0819
00000812: CALLDATASIZE
00000813: PUSH1 0x04
00000815: PUSH2 0x4041
00000818: JUMP
00000819: JUMPDEST
0000081a: PUSH2 0x1e39
0000081d: JUMP
0000081e: JUMPDEST
0000081f: CALLVALUE
00000820: DUP1
00000821: ISZERO
00000822: PUSH2 0x082a
00000825: JUMPI
00000826: PUSH1 0x00
00000828: DUP1
00000829: REVERT
0000082a: JUMPDEST
0000082b: POP
0000082c: PUSH2 0x0420
0000082f: PUSH2 0x0839
00000832: CALLDATASIZE
00000833: PUSH1 0x04
00000835: PUSH2 0x4520
00000838: JUMP
00000839: JUMPDEST
0000083a: PUSH2 0x1eaa
0000083d: JUMP
0000083e: JUMPDEST
0000083f: CALLVALUE
00000840: DUP1
00000841: ISZERO
00000842: PUSH2 0x084a
00000845: JUMPI
00000846: PUSH1 0x00
00000848: DUP1
00000849: REVERT
0000084a: JUMPDEST
0000084b: POP
0000084c: PUSH1 0x0d
0000084e: SLOAD
0000084f: PUSH2 0x05e3
00000852: SWAP1
00000853: PUSH2 0x0100
00000856: SWAP1
00000857: DIV
00000858: PUSH1 0x01
0000085a: PUSH1 0x01
0000085c: PUSH1 0xa0
0000085e: SHL
0000085f: SUB
00000860: AND
00000861: DUP2
00000862: JUMP
00000863: JUMPDEST
00000864: CALLVALUE
00000865: DUP1
00000866: ISZERO
00000867: PUSH2 0x086f
0000086a: JUMPI
0000086b: PUSH1 0x00
0000086d: DUP1
0000086e: REVERT
0000086f: JUMPDEST
00000870: POP
00000871: PUSH2 0x036e
00000874: PUSH2 0x087e
00000877: CALLDATASIZE
00000878: PUSH1 0x04
0000087a: PUSH2 0x458a
0000087d: JUMP
0000087e: JUMPDEST
0000087f: PUSH1 0x01
00000881: PUSH1 0x01
00000883: PUSH1 0xa0
00000885: SHL
00000886: SUB
00000887: SWAP2
00000888: DUP3
00000889: AND
0000088a: PUSH1 0x00
0000088c: SWAP1
0000088d: DUP2
0000088e: MSTORE
0000088f: PUSH1 0x01
00000891: PUSH1 0x20
00000893: SWAP1
00000894: DUP2
00000895: MSTORE
00000896: PUSH1 0x40
00000898: DUP1
00000899: DUP4
0000089a: KECCAK256
0000089b: SWAP4
0000089c: SWAP1
0000089d: SWAP5
0000089e: AND
0000089f: DUP3
000008a0: MSTORE
000008a1: SWAP2
000008a2: SWAP1
000008a3: SWAP2
000008a4: MSTORE
000008a5: KECCAK256
000008a6: SLOAD
000008a7: SWAP1
000008a8: JUMP
000008a9: JUMPDEST
000008aa: CALLVALUE
000008ab: DUP1
000008ac: ISZERO
000008ad: PUSH2 0x08b5
000008b0: JUMPI
000008b1: PUSH1 0x00
000008b3: DUP1
000008b4: REVERT
000008b5: JUMPDEST
000008b6: POP
000008b7: PUSH2 0x034d
000008ba: PUSH2 0x08c4
000008bd: CALLDATASIZE
000008be: PUSH1 0x04
000008c0: PUSH2 0x4041
000008c3: JUMP
000008c4: JUMPDEST
000008c5: PUSH2 0x200e
000008c8: JUMP
000008c9: JUMPDEST
000008ca: CALLVALUE
000008cb: DUP1
000008cc: ISZERO
000008cd: PUSH2 0x08d5
000008d0: JUMPI
000008d1: PUSH1 0x00
000008d3: DUP1
000008d4: REVERT
000008d5: JUMPDEST
000008d6: POP
000008d7: PUSH2 0x036e
000008da: PUSH2 0x08e4
000008dd: CALLDATASIZE
000008de: PUSH1 0x04
000008e0: PUSH2 0x4041
000008e3: JUMP
000008e4: JUMPDEST
000008e5: PUSH1 0x06
000008e7: PUSH1 0x20
000008e9: MSTORE
000008ea: PUSH1 0x00
000008ec: SWAP1
000008ed: DUP2
000008ee: MSTORE
000008ef: PUSH1 0x40
000008f1: SWAP1
000008f2: KECCAK256
000008f3: SLOAD
000008f4: DUP2
000008f5: JUMP
000008f6: JUMPDEST
000008f7: CALLVALUE
000008f8: DUP1
000008f9: ISZERO
000008fa: PUSH2 0x0902
000008fd: JUMPI
000008fe: PUSH1 0x00
00000900: DUP1
00000901: REVERT
00000902: JUMPDEST
00000903: POP
00000904: PUSH2 0x0420
00000907: PUSH2 0x0911
0000090a: CALLDATASIZE
0000090b: PUSH1 0x04
0000090d: PUSH2 0x4041
00000910: JUMP
00000911: JUMPDEST
00000912: PUSH2 0x203e
00000915: JUMP
00000916: JUMPDEST
00000917: PUSH1 0x60
00000919: PUSH1 0x03
0000091b: DUP1
0000091c: SLOAD
0000091d: PUSH2 0x0925
00000920: SWAP1
00000921: PUSH2 0x45bd
00000924: JUMP
00000925: JUMPDEST
00000926: DUP1
00000927: PUSH1 0x1f
00000929: ADD
0000092a: PUSH1 0x20
0000092c: DUP1
0000092d: SWAP2
0000092e: DIV
0000092f: MUL
00000930: PUSH1 0x20
00000932: ADD
00000933: PUSH1 0x40
00000935: MLOAD
00000936: SWAP1
00000937: DUP2
00000938: ADD
00000939: PUSH1 0x40
0000093b: MSTORE
0000093c: DUP1
0000093d: SWAP3
0000093e: SWAP2
0000093f: SWAP1
00000940: DUP2
00000941: DUP2
00000942: MSTORE
00000943: PUSH1 0x20
00000945: ADD
00000946: DUP3
00000947: DUP1
00000948: SLOAD
00000949: PUSH2 0x0951
0000094c: SWAP1
0000094d: PUSH2 0x45bd
00000950: JUMP
00000951: JUMPDEST
00000952: DUP1
00000953: ISZERO
00000954: PUSH2 0x099e
00000957: JUMPI
00000958: DUP1
00000959: PUSH1 0x1f
0000095b: LT
0000095c: PUSH2 0x0973
0000095f: JUMPI
00000960: PUSH2 0x0100
00000963: DUP1
00000964: DUP4
00000965: SLOAD
00000966: DIV
00000967: MUL
00000968: DUP4
00000969: MSTORE
0000096a: SWAP2
0000096b: PUSH1 0x20
0000096d: ADD
0000096e: SWAP2
0000096f: PUSH2 0x099e
00000972: JUMP
00000973: JUMPDEST
00000974: DUP3
00000975: ADD
00000976: SWAP2
00000977: SWAP1
00000978: PUSH1 0x00
0000097a: MSTORE
0000097b: PUSH1 0x20
0000097d: PUSH1 0x00
0000097f: KECCAK256
00000980: SWAP1
00000981: JUMPDEST
00000982: DUP2
00000983: SLOAD
00000984: DUP2
00000985: MSTORE
00000986: SWAP1
00000987: PUSH1 0x01
00000989: ADD
0000098a: SWAP1
0000098b: PUSH1 0x20
0000098d: ADD
0000098e: DUP1
0000098f: DUP4
00000990: GT
00000991: PUSH2 0x0981
00000994: JUMPI
00000995: DUP3
00000996: SWAP1
00000997: SUB
00000998: PUSH1 0x1f
0000099a: AND
0000099b: DUP3
0000099c: ADD
0000099d: SWAP2
0000099e: JUMPDEST
0000099f: POP
000009a0: POP
000009a1: POP
000009a2: POP
000009a3: POP
000009a4: SWAP1
000009a5: POP
000009a6: SWAP1
000009a7: JUMP
000009a8: JUMPDEST
000009a9: PUSH1 0x00
000009ab: CALLER
000009ac: PUSH2 0x09b6
000009af: DUP2
000009b0: DUP6
000009b1: DUP6
000009b2: PUSH2 0x20cb
000009b5: JUMP
000009b6: JUMPDEST
000009b7: PUSH1 0x01
000009b9: SWAP2
000009ba: POP
000009bb: POP
000009bc: JUMPDEST
000009bd: SWAP3
000009be: SWAP2
000009bf: POP
000009c0: POP
000009c1: JUMP
000009c2: JUMPDEST
000009c3: PUSH1 0x00
000009c5: PUSH2 0x09bc
000009c8: PUSH1 0x07
000009ca: DUP4
000009cb: PUSH2 0x2223
000009ce: JUMP
000009cf: JUMPDEST
000009d0: PUSH1 0x00
000009d2: PUSH2 0x09db
000009d5: PUSH1 0x07
000009d7: PUSH2 0x2245
000009da: JUMP
000009db: JUMPDEST
000009dc: SWAP1
000009dd: POP
000009de: SWAP1
000009df: JUMP
000009e0: JUMPDEST
000009e1: PUSH1 0x60
000009e3: DUP1
000009e4: PUSH1 0x00
000009e6: DUP1
000009e7: PUSH2 0x09ee
000009ea: PUSH2 0x09cf
000009ed: JUMP
000009ee: JUMPDEST
000009ef: SWAP1
000009f0: POP
000009f1: PUSH1 0x00
000009f3: DUP2
000009f4: PUSH8 0xffffffffffffffff
000009fd: DUP2
000009fe: GT
000009ff: ISZERO
00000a00: PUSH2 0x0a0b
00000a03: JUMPI
00000a04: PUSH2 0x0a0b
00000a07: PUSH2 0x45f1
00000a0a: JUMP
00000a0b: JUMPDEST
00000a0c: PUSH1 0x40
00000a0e: MLOAD
00000a0f: SWAP1
00000a10: DUP1
00000a11: DUP3
00000a12: MSTORE
00000a13: DUP1
00000a14: PUSH1 0x20
00000a16: MUL
00000a17: PUSH1 0x20
00000a19: ADD
00000a1a: DUP3
00000a1b: ADD
00000a1c: PUSH1 0x40
00000a1e: MSTORE
00000a1f: DUP1
00000a20: ISZERO
00000a21: PUSH2 0x0a34
00000a24: JUMPI
00000a25: DUP2
00000a26: PUSH1 0x20
00000a28: ADD
00000a29: PUSH1 0x20
00000a2b: DUP3
00000a2c: MUL
00000a2d: DUP1
00000a2e: CALLDATASIZE
00000a2f: DUP4
00000a30: CALLDATACOPY
00000a31: ADD
00000a32: SWAP1
00000a33: POP
00000a34: JUMPDEST
00000a35: POP
00000a36: SWAP1
00000a37: POP
00000a38: PUSH1 0x00
00000a3a: DUP3
00000a3b: PUSH8 0xffffffffffffffff
00000a44: DUP2
00000a45: GT
00000a46: ISZERO
00000a47: PUSH2 0x0a52
00000a4a: JUMPI
00000a4b: PUSH2 0x0a52
00000a4e: PUSH2 0x45f1
00000a51: JUMP
00000a52: JUMPDEST
00000a53: PUSH1 0x40
00000a55: MLOAD
00000a56: SWAP1
00000a57: DUP1
00000a58: DUP3
00000a59: MSTORE
00000a5a: DUP1
00000a5b: PUSH1 0x20
00000a5d: MUL
00000a5e: PUSH1 0x20
00000a60: ADD
00000a61: DUP3
00000a62: ADD
00000a63: PUSH1 0x40
00000a65: MSTORE
00000a66: DUP1
00000a67: ISZERO
00000a68: PUSH2 0x0a7b
00000a6b: JUMPI
00000a6c: DUP2
00000a6d: PUSH1 0x20
00000a6f: ADD
00000a70: PUSH1 0x20
00000a72: DUP3
00000a73: MUL
00000a74: DUP1
00000a75: CALLDATASIZE
00000a76: DUP4
00000a77: CALLDATACOPY
00000a78: ADD
00000a79: SWAP1
00000a7a: POP
00000a7b: JUMPDEST
00000a7c: POP
00000a7d: SWAP1
00000a7e: POP
00000a7f: PUSH1 0x00
00000a81: JUMPDEST
00000a82: DUP4
00000a83: DUP2
00000a84: LT
00000a85: ISZERO
00000a86: PUSH2 0x0b1a
00000a89: JUMPI
00000a8a: PUSH1 0x00
00000a8c: PUSH2 0x0a94
00000a8f: DUP3
00000a90: PUSH2 0x1a47
00000a93: JUMP
00000a94: JUMPDEST
00000a95: SWAP1
00000a96: POP
00000a97: PUSH2 0x0abe
00000a9a: DUP2
00000a9b: PUSH1 0x01
00000a9d: PUSH1 0x01
00000a9f: PUSH1 0xa0
00000aa1: SHL
00000aa2: SUB
00000aa3: AND
00000aa4: PUSH1 0x00
00000aa6: SWAP1
00000aa7: DUP2
00000aa8: MSTORE
00000aa9: PUSH1 0x06
00000aab: PUSH1 0x20
00000aad: MSTORE
00000aae: PUSH1 0x40
00000ab0: SWAP1
00000ab1: KECCAK256
00000ab2: SLOAD
00000ab3: PUSH1 0x01
00000ab5: PUSH1 0x01
00000ab7: PUSH1 0xe0
00000ab9: SHL
00000aba: SUB
00000abb: AND
00000abc: SWAP1
00000abd: JUMP
00000abe: JUMPDEST
00000abf: DUP5
00000ac0: DUP4
00000ac1: DUP2
00000ac2: MLOAD
00000ac3: DUP2
00000ac4: LT
00000ac5: PUSH2 0x0ad0
00000ac8: JUMPI
00000ac9: PUSH2 0x0ad0
00000acc: PUSH2 0x4607
00000acf: JUMP
00000ad0: JUMPDEST
00000ad1: PUSH1 0x20
00000ad3: MUL
00000ad4: PUSH1 0x20
00000ad6: ADD
00000ad7: ADD
00000ad8: DUP2
00000ad9: DUP2
00000ada: MSTORE
00000adb: POP
00000adc: POP
00000add: DUP1
00000ade: DUP4
00000adf: DUP4
00000ae0: DUP2
00000ae1: MLOAD
00000ae2: DUP2
00000ae3: LT
00000ae4: PUSH2 0x0aef
00000ae7: JUMPI
00000ae8: PUSH2 0x0aef
00000aeb: PUSH2 0x4607
00000aee: JUMP
00000aef: JUMPDEST
00000af0: PUSH1 0x01
00000af2: PUSH1 0x01
00000af4: PUSH1 0xa0
00000af6: SHL
00000af7: SUB
00000af8: SWAP1
00000af9: SWAP3
00000afa: AND
00000afb: PUSH1 0x20
00000afd: SWAP3
00000afe: DUP4
00000aff: MUL
00000b00: SWAP2
00000b01: SWAP1
00000b02: SWAP2
00000b03: ADD
00000b04: SWAP1
00000b05: SWAP2
00000b06: ADD
00000b07: MSTORE
00000b08: POP
00000b09: DUP1
00000b0a: PUSH2 0x0b12
00000b0d: DUP2
00000b0e: PUSH2 0x4633
00000b11: JUMP
00000b12: JUMPDEST
00000b13: SWAP2
00000b14: POP
00000b15: POP
00000b16: PUSH2 0x0a81
00000b19: JUMP
00000b1a: JUMPDEST
00000b1b: POP
00000b1c: DUP2
00000b1d: DUP2
00000b1e: PUSH2 0x0b26
00000b21: PUSH1 0x02
00000b23: SLOAD
00000b24: SWAP1
00000b25: JUMP
00000b26: JUMPDEST
00000b27: SWAP6
00000b28: POP
00000b29: SWAP6
00000b2a: POP
00000b2b: SWAP6
00000b2c: POP
00000b2d: POP
00000b2e: POP
00000b2f: POP
00000b30: SWAP1
00000b31: SWAP2
00000b32: SWAP3
00000b33: JUMP
00000b34: JUMPDEST
00000b35: PUSH1 0x00
00000b37: CALLER
00000b38: PUSH2 0x0b42
00000b3b: DUP6
00000b3c: DUP3
00000b3d: DUP6
00000b3e: PUSH2 0x224f
00000b41: JUMP
00000b42: JUMPDEST
00000b43: PUSH2 0x0b4d
00000b46: DUP6
00000b47: DUP6
00000b48: DUP6
00000b49: PUSH2 0x22e1
00000b4c: JUMP
00000b4d: JUMPDEST
00000b4e: PUSH1 0x01
00000b50: SWAP2
00000b51: POP
00000b52: POP
00000b53: JUMPDEST
00000b54: SWAP4
00000b55: SWAP3
00000b56: POP
00000b57: POP
00000b58: POP
00000b59: JUMP
00000b5a: JUMPDEST
00000b5b: PUSH1 0x0d
00000b5d: SLOAD
00000b5e: PUSH1 0xff
00000b60: AND
00000b61: ISZERO
00000b62: PUSH2 0x0b7e
00000b65: JUMPI
00000b66: PUSH1 0x40
00000b68: MLOAD
00000b69: PUSH4 0x40a47f03
00000b6e: PUSH1 0xe1
00000b70: SHL
00000b71: DUP2
00000b72: MSTORE
00000b73: PUSH1 0x04
00000b75: ADD
00000b76: PUSH1 0x40
00000b78: MLOAD
00000b79: DUP1
00000b7a: SWAP2
00000b7b: SUB
00000b7c: SWAP1
00000b7d: REVERT
00000b7e: JUMPDEST
00000b7f: PUSH2 0x0ba8
00000b82: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000ba3: DUP9
00000ba4: PUSH2 0x24ce
00000ba7: JUMP
00000ba8: JUMPDEST
00000ba9: PUSH1 0x00
00000bab: PUSH2 0x0bd8
00000bae: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000bcf: DUP11
00000bd0: DUP11
00000bd1: DUP11
00000bd2: DUP11
00000bd3: DUP11
00000bd4: PUSH2 0x2576
00000bd7: JUMP
00000bd8: JUMPDEST
00000bd9: SWAP1
00000bda: POP
00000bdb: PUSH2 0x0be4
00000bde: DUP2
00000bdf: DUP6
00000be0: PUSH2 0x25ec
00000be3: JUMP
00000be4: JUMPDEST
00000be5: PUSH1 0x00
00000be7: DUP1
00000be8: PUSH2 0x0c12
00000beb: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000c0c: DUP13
00000c0d: DUP11
00000c0e: PUSH2 0x270c
00000c11: JUMP
00000c12: JUMPDEST
00000c13: SWAP1
00000c14: SWAP3
00000c15: POP
00000c16: SWAP1
00000c17: POP
00000c18: PUSH2 0x0c4a
00000c1b: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000c3c: PUSH2 0x0c45
00000c3f: DUP13
00000c40: DUP6
00000c41: PUSH2 0x464c
00000c44: JUMP
00000c45: JUMPDEST
00000c46: PUSH2 0x2815
00000c49: JUMP
00000c4a: JUMPDEST
00000c4b: PUSH2 0x0c58
00000c4e: DUP12
00000c4f: PUSH2 0x0c45
00000c52: DUP12
00000c53: DUP5
00000c54: PUSH2 0x465f
00000c57: JUMP
00000c58: JUMPDEST
00000c59: PUSH2 0x0c6c
00000c5c: PUSH1 0x01
00000c5e: PUSH1 0x01
00000c60: PUSH1 0xa0
00000c62: SHL
00000c63: SUB
00000c64: DUP13
00000c65: AND
00000c66: DUP9
00000c67: DUP12
00000c68: PUSH2 0x284e
00000c6b: JUMP
00000c6c: JUMPDEST
00000c6d: DUP7
00000c6e: PUSH1 0x01
00000c70: PUSH1 0x01
00000c72: PUSH1 0xa0
00000c74: SHL
00000c75: SUB
00000c76: AND
00000c77: DUP12
00000c78: PUSH1 0x01
00000c7a: PUSH1 0x01
00000c7c: PUSH1 0xa0
00000c7e: SHL
00000c7f: SUB
00000c80: AND
00000c81: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000ca2: PUSH1 0x01
00000ca4: PUSH1 0x01
00000ca6: PUSH1 0xa0
00000ca8: SHL
00000ca9: SUB
00000caa: AND
00000cab: PUSH32 0x4be05c8d54f5e056ab2cfa033e9f582057001268c3e28561bb999d35d2c8f2c8
00000ccc: DUP14
00000ccd: DUP14
00000cce: DUP11
00000ccf: DUP11
00000cd0: PUSH1 0x40
00000cd2: MLOAD
00000cd3: PUSH2 0x0cdf
00000cd6: SWAP5
00000cd7: SWAP4
00000cd8: SWAP3
00000cd9: SWAP2
00000cda: SWAP1
00000cdb: PUSH2 0x4672
00000cde: JUMP
00000cdf: JUMPDEST
00000ce0: PUSH1 0x40
00000ce2: MLOAD
00000ce3: DUP1
00000ce4: SWAP2
00000ce5: SUB
00000ce6: SWAP1
00000ce7: LOG4
00000ce8: POP
00000ce9: POP
00000cea: POP
00000ceb: POP
00000cec: POP
00000ced: POP
00000cee: POP
00000cef: POP
00000cf0: POP
00000cf1: POP
00000cf2: POP
00000cf3: JUMP
00000cf4: JUMPDEST
00000cf5: PUSH2 0x0cfc
00000cf8: PUSH2 0x28e2
00000cfb: JUMP
00000cfc: JUMPDEST
00000cfd: PUSH2 0x0d07
00000d00: PUSH1 0x07
00000d02: DUP3
00000d03: PUSH2 0x293c
00000d06: JUMP
00000d07: JUMPDEST
00000d08: POP
00000d09: PUSH2 0x0d11
00000d0c: DUP2
00000d0d: PUSH2 0x2951
00000d10: JUMP
00000d11: JUMPDEST
00000d12: POP
00000d13: JUMP
00000d14: JUMPDEST
00000d15: PUSH1 0x00
00000d17: DUP6
00000d18: JUMPDEST
00000d19: DUP1
00000d1a: DUP3
00000d1b: LT
00000d1c: ISZERO
00000d1d: PUSH2 0x0d79
00000d20: JUMPI
00000d21: PUSH1 0x00
00000d23: DUP9
00000d24: DUP9
00000d25: DUP5
00000d26: DUP2
00000d27: DUP2
00000d28: LT
00000d29: PUSH2 0x0d34
00000d2c: JUMPI
00000d2d: PUSH2 0x0d34
00000d30: PUSH2 0x4607
00000d33: JUMP
00000d34: JUMPDEST
00000d35: SWAP1
00000d36: POP
00000d37: PUSH1 0x20
00000d39: MUL
00000d3a: ADD
00000d3b: CALLDATALOAD
00000d3c: SWAP1
00000d3d: POP
00000d3e: PUSH1 0x00
00000d40: DUP2
00000d41: GT
00000d42: ISZERO
00000d43: PUSH2 0x0d66
00000d46: JUMPI
00000d47: PUSH2 0x0d66
00000d4a: CALLER
00000d4b: ADDRESS
00000d4c: DUP4
00000d4d: PUSH2 0x0d55
00000d50: DUP8
00000d51: PUSH2 0x1a47
00000d54: JUMP
00000d55: JUMPDEST
00000d56: PUSH1 0x01
00000d58: PUSH1 0x01
00000d5a: PUSH1 0xa0
00000d5c: SHL
00000d5d: SUB
00000d5e: AND
00000d5f: SWAP3
00000d60: SWAP2
00000d61: SWAP1
00000d62: PUSH2 0x295e
00000d65: JUMP
00000d66: JUMPDEST
00000d67: DUP3
00000d68: PUSH2 0x0d70
00000d6b: DUP2
00000d6c: PUSH2 0x4633
00000d6f: JUMP
00000d70: JUMPDEST
00000d71: SWAP4
00000d72: POP
00000d73: POP
00000d74: POP
00000d75: PUSH2 0x0d18
00000d78: JUMP
00000d79: JUMPDEST
00000d7a: PUSH2 0x0d88
00000d7d: CALLER
00000d7e: DUP10
00000d7f: DUP10
00000d80: DUP10
00000d81: DUP10
00000d82: DUP10
00000d83: DUP10
00000d84: PUSH2 0x1327
00000d87: JUMP
00000d88: JUMPDEST
00000d89: POP
00000d8a: POP
00000d8b: POP
00000d8c: POP
00000d8d: POP
00000d8e: POP
00000d8f: POP
00000d90: POP
00000d91: JUMP
00000d92: JUMPDEST
00000d93: PUSH1 0x0d
00000d95: SLOAD
00000d96: PUSH1 0xff
00000d98: AND
00000d99: ISZERO
00000d9a: PUSH2 0x0db6
00000d9d: JUMPI
00000d9e: PUSH1 0x40
00000da0: MLOAD
00000da1: PUSH4 0x40a47f03
00000da6: PUSH1 0xe1
00000da8: SHL
00000da9: DUP2
00000daa: MSTORE
00000dab: PUSH1 0x04
00000dad: ADD
00000dae: PUSH1 0x40
00000db0: MLOAD
00000db1: DUP1
00000db2: SWAP2
00000db3: SUB
00000db4: SWAP1
00000db5: REVERT
00000db6: JUMPDEST
00000db7: PUSH1 0x00
00000db9: PUSH2 0x0dc6
00000dbc: DUP11
00000dbd: DUP11
00000dbe: DUP11
00000dbf: DUP11
00000dc0: DUP11
00000dc1: DUP11
00000dc2: PUSH2 0x2576
00000dc5: JUMP
00000dc6: JUMPDEST
00000dc7: SWAP1
00000dc8: POP
00000dc9: PUSH2 0x0dd2
00000dcc: DUP2
00000dcd: DUP6
00000dce: PUSH2 0x25ec
00000dd1: JUMP
00000dd2: JUMPDEST
00000dd3: POP
00000dd4: PUSH1 0x00
00000dd6: DUP1
00000dd7: PUSH2 0x0de1
00000dda: DUP12
00000ddb: DUP12
00000ddc: DUP10
00000ddd: PUSH2 0x270c
00000de0: JUMP
00000de1: JUMPDEST
00000de2: SWAP2
00000de3: POP
00000de4: SWAP2
00000de5: POP
00000de6: PUSH1 0x00
00000de8: PUSH2 0x0df0
00000deb: DUP13
00000dec: PUSH2 0x29af
00000def: JUMP
00000df0: JUMPDEST
00000df1: SWAP1
00000df2: POP
00000df3: PUSH1 0x00
00000df5: PUSH2 0x0dfe
00000df8: DUP5
00000df9: DUP4
00000dfa: PUSH2 0x465f
00000dfd: JUMP
00000dfe: JUMPDEST
00000dff: SWAP1
00000e00: POP
00000e01: PUSH1 0x00
00000e03: PUSH2 0x0e0d
00000e06: DUP13
00000e07: DUP4
00000e08: DUP14
00000e09: PUSH2 0x2a98
00000e0c: JUMP
00000e0d: JUMPDEST
00000e0e: SWAP1
00000e0f: POP
00000e10: PUSH2 0x0e19
00000e13: DUP15
00000e14: DUP5
00000e15: PUSH2 0x2815
00000e18: JUMP
00000e19: JUMPDEST
00000e1a: PUSH2 0x0e27
00000e1d: DUP14
00000e1e: PUSH2 0x0c45
00000e21: DUP4
00000e22: DUP8
00000e23: PUSH2 0x465f
00000e26: JUMP
00000e27: JUMPDEST
00000e28: PUSH2 0x0e3b
00000e2b: PUSH1 0x01
00000e2d: PUSH1 0x01
00000e2f: PUSH1 0xa0
00000e31: SHL
00000e32: SUB
00000e33: DUP15
00000e34: AND
00000e35: DUP11
00000e36: DUP4
00000e37: PUSH2 0x284e
00000e3a: JUMP
00000e3b: JUMPDEST
00000e3c: DUP9
00000e3d: PUSH1 0x01
00000e3f: PUSH1 0x01
00000e41: PUSH1 0xa0
00000e43: SHL
00000e44: SUB
00000e45: AND
00000e46: DUP14
00000e47: PUSH1 0x01
00000e49: PUSH1 0x01
00000e4b: PUSH1 0xa0
00000e4d: SHL
00000e4e: SUB
00000e4f: AND
00000e50: DUP16
00000e51: PUSH1 0x01
00000e53: PUSH1 0x01
00000e55: PUSH1 0xa0
00000e57: SHL
00000e58: SUB
00000e59: AND
00000e5a: PUSH32 0x4be05c8d54f5e056ab2cfa033e9f582057001268c3e28561bb999d35d2c8f2c8
00000e7b: DUP6
00000e7c: DUP6
00000e7d: DUP13
00000e7e: DUP13
00000e7f: PUSH1 0x40
00000e81: MLOAD
00000e82: PUSH2 0x0e8e
00000e85: SWAP5
00000e86: SWAP4
00000e87: SWAP3
00000e88: SWAP2
00000e89: SWAP1
00000e8a: PUSH2 0x4672
00000e8d: JUMP
00000e8e: JUMPDEST
00000e8f: PUSH1 0x40
00000e91: MLOAD
00000e92: DUP1
00000e93: SWAP2
00000e94: SUB
00000e95: SWAP1
00000e96: LOG4
00000e97: POP
00000e98: POP
00000e99: POP
00000e9a: POP
00000e9b: POP
00000e9c: POP
00000e9d: POP
00000e9e: POP
00000e9f: POP
00000ea0: POP
00000ea1: POP
00000ea2: POP
00000ea3: POP
00000ea4: POP
00000ea5: JUMP
00000ea6: JUMPDEST
00000ea7: PUSH1 0x0d
00000ea9: SLOAD
00000eaa: PUSH2 0x0100
00000ead: SWAP1
00000eae: DIV
00000eaf: PUSH1 0x01
00000eb1: PUSH1 0x01
00000eb3: PUSH1 0xa0
00000eb5: SHL
00000eb6: SUB
00000eb7: AND
00000eb8: CALLER
00000eb9: SUB
00000eba: PUSH2 0x0ec8
00000ebd: JUMPI
00000ebe: PUSH1 0x0d
00000ec0: DUP1
00000ec1: SLOAD
00000ec2: PUSH1 0xff
00000ec4: NOT
00000ec5: AND
00000ec6: SWAP1
00000ec7: SSTORE
00000ec8: JUMPDEST
00000ec9: JUMP
00000eca: JUMPDEST
00000ecb: PUSH1 0x00
00000ecd: PUSH2 0x09db
00000ed0: PUSH2 0x2b20
00000ed3: JUMP
00000ed4: JUMPDEST
00000ed5: PUSH1 0x00
00000ed7: PUSH2 0x0edf
00000eda: PUSH1 0x02
00000edc: SLOAD
00000edd: SWAP1
00000ede: JUMP
00000edf: JUMPDEST
00000ee0: PUSH2 0x0eee
00000ee3: DUP4
00000ee4: PUSH5 0x02540be400
00000eea: PUSH2 0x46af
00000eed: JUMP
00000eee: JUMPDEST
00000eef: PUSH2 0x0ef8
00000ef2: SWAP2
00000ef3: SWAP1
00000ef4: PUSH2 0x46c6
00000ef7: JUMP
00000ef8: JUMPDEST
00000ef9: SWAP1
00000efa: POP
00000efb: PUSH2 0x0f04
00000efe: CALLER
00000eff: DUP4
00000f00: PUSH2 0x2c47
00000f03: JUMP
00000f04: JUMPDEST
00000f05: PUSH2 0x0f0d
00000f08: DUP2
00000f09: PUSH2 0x2db0
00000f0c: JUMP
00000f0d: JUMPDEST
00000f0e: PUSH1 0x40
00000f10: DUP1
00000f11: MLOAD
00000f12: DUP4
00000f13: DUP2
00000f14: MSTORE
00000f15: PUSH1 0x20
00000f17: DUP2
00000f18: ADD
00000f19: DUP4
00000f1a: SWAP1
00000f1b: MSTORE
00000f1c: CALLER
00000f1d: SWAP2
00000f1e: PUSH32 0x92ccf450a286a957af52509bc1c9939d1a6a481783e142e41e2499f0bb66ebc6
00000f3f: SWAP2
00000f40: ADD
00000f41: PUSH1 0x40
00000f43: MLOAD
00000f44: DUP1
00000f45: SWAP2
00000f46: SUB
00000f47: SWAP1
00000f48: LOG2
00000f49: POP
00000f4a: POP
00000f4b: JUMP
00000f4c: JUMPDEST
00000f4d: PUSH1 0x00
00000f4f: PUSH2 0x0f57
00000f52: CALLER
00000f53: PUSH2 0x200e
00000f56: JUMP
00000f57: JUMPDEST
00000f58: PUSH2 0x0fce
00000f5b: JUMPI
00000f5c: PUSH1 0x40
00000f5e: MLOAD
00000f5f: PUSH3 0x461bcd
00000f63: PUSH1 0xe5
00000f65: SHL
00000f66: DUP2
00000f67: MSTORE
00000f68: PUSH1 0x20
00000f6a: PUSH1 0x04
00000f6c: DUP3
00000f6d: ADD
00000f6e: MSTORE
00000f6f: PUSH1 0x29
00000f71: PUSH1 0x24
00000f73: DUP3
00000f74: ADD
00000f75: MSTORE
00000f76: PUSH32 0x436c69707065724469726563743a204465706f7369742063616e6e6f74206265
00000f97: PUSH1 0x44
00000f99: DUP3
00000f9a: ADD
00000f9b: MSTORE
00000f9c: PUSH32 0x20756e6c6f636b65640000000000000000000000000000000000000000000000
00000fbd: PUSH1 0x64
00000fbf: DUP3
00000fc0: ADD
00000fc1: MSTORE
00000fc2: PUSH1 0x84
00000fc4: ADD
00000fc5: JUMPDEST
00000fc6: PUSH1 0x40
00000fc8: MLOAD
00000fc9: DUP1
00000fca: SWAP2
00000fcb: SUB
00000fcc: SWAP1
00000fcd: REVERT
00000fce: JUMPDEST
00000fcf: POP
00000fd0: CALLER
00000fd1: PUSH1 0x00
00000fd3: DUP2
00000fd4: DUP2
00000fd5: MSTORE
00000fd6: PUSH1 0x09
00000fd8: PUSH1 0x20
00000fda: MSTORE
00000fdb: PUSH1 0x40
00000fdd: DUP2
00000fde: KECCAK256
00000fdf: PUSH1 0x01
00000fe1: DUP2
00000fe2: ADD
00000fe3: DUP1
00000fe4: SLOAD
00000fe5: SWAP2
00000fe6: DUP4
00000fe7: SWAP1
00000fe8: SSTORE
00000fe9: SWAP2
00000fea: SWAP1
00000feb: SWAP2
00000fec: SSTORE
00000fed: SWAP1
00000fee: PUSH2 0x0ff9
00000ff1: SWAP1
00000ff2: ADDRESS
00000ff3: SWAP1
00000ff4: DUP4
00000ff5: PUSH2 0x22e1
00000ff8: JUMP
00000ff9: JUMPDEST
00000ffa: SWAP1
00000ffb: JUMP
00000ffc: JUMPDEST
00000ffd: CALLER
00000ffe: PUSH1 0x00
00001000: DUP2
00001001: DUP2
00001002: MSTORE
00001003: PUSH1 0x01
00001005: PUSH1 0x20
00001007: SWAP1
00001008: DUP2
00001009: MSTORE
0000100a: PUSH1 0x40
0000100c: DUP1
0000100d: DUP4
0000100e: KECCAK256
0000100f: PUSH1 0x01
00001011: PUSH1 0x01
00001013: PUSH1 0xa0
00001015: SHL
00001016: SUB
00001017: DUP8
00001018: AND
00001019: DUP5
0000101a: MSTORE
0000101b: SWAP1
0000101c: SWAP2
0000101d: MSTORE
0000101e: DUP2
0000101f: KECCAK256
00001020: SLOAD
00001021: SWAP1
00001022: SWAP2
00001023: SWAP1
00001024: PUSH2 0x09b6
00001027: SWAP1
00001028: DUP3
00001029: SWAP1
0000102a: DUP7
0000102b: SWAP1
0000102c: PUSH2 0x1036
0000102f: SWAP1
00001030: DUP8
00001031: SWAP1
00001032: PUSH2 0x464c
00001035: JUMP
00001036: JUMPDEST
00001037: PUSH2 0x20cb
0000103a: JUMP
0000103b: JUMPDEST
0000103c: PUSH1 0x0d
0000103e: SLOAD
0000103f: PUSH1 0xff
00001041: AND
00001042: ISZERO
00001043: PUSH2 0x105f
00001046: JUMPI
00001047: PUSH1 0x40
00001049: MLOAD
0000104a: PUSH4 0x40a47f03
0000104f: PUSH1 0xe1
00001051: SHL
00001052: DUP2
00001053: MSTORE
00001054: PUSH1 0x04
00001056: ADD
00001057: PUSH1 0x40
00001059: MLOAD
0000105a: DUP1
0000105b: SWAP2
0000105c: SUB
0000105d: SWAP1
0000105e: REVERT
0000105f: JUMPDEST
00001060: PUSH2 0x1074
00001063: PUSH1 0x01
00001065: PUSH1 0x01
00001067: PUSH1 0xa0
00001069: SHL
0000106a: SUB
0000106b: DUP11
0000106c: AND
0000106d: CALLER
0000106e: ADDRESS
0000106f: DUP11
00001070: PUSH2 0x295e
00001073: JUMP
00001074: JUMPDEST
00001075: PUSH1 0x00
00001077: PUSH2 0x1084
0000107a: DUP11
0000107b: DUP11
0000107c: DUP11
0000107d: DUP11
0000107e: DUP11
0000107f: DUP11
00001080: PUSH2 0x2576
00001083: JUMP
00001084: JUMPDEST
00001085: SWAP1
00001086: POP
00001087: PUSH2 0x1090
0000108a: DUP2
0000108b: DUP6
0000108c: PUSH2 0x25ec
0000108f: JUMP
00001090: JUMPDEST
00001091: PUSH1 0x00
00001093: DUP1
00001094: PUSH2 0x109e
00001097: DUP13
00001098: DUP13
00001099: DUP11
0000109a: PUSH2 0x270c
0000109d: JUMP
0000109e: JUMPDEST
0000109f: SWAP1
000010a0: SWAP3
000010a1: POP
000010a2: SWAP1
000010a3: POP
000010a4: PUSH2 0x10b1
000010a7: DUP13
000010a8: PUSH2 0x0c45
000010ab: DUP13
000010ac: DUP6
000010ad: PUSH2 0x464c
000010b0: JUMP
000010b1: JUMPDEST
000010b2: PUSH2 0x10bf
000010b5: DUP12
000010b6: PUSH2 0x0c45
000010b9: DUP12
000010ba: DUP5
000010bb: PUSH2 0x465f
000010be: JUMP
000010bf: JUMPDEST
000010c0: PUSH2 0x10d3
000010c3: PUSH1 0x01
000010c5: PUSH1 0x01
000010c7: PUSH1 0xa0
000010c9: SHL
000010ca: SUB
000010cb: DUP13
000010cc: AND
000010cd: DUP9
000010ce: DUP12
000010cf: PUSH2 0x284e
000010d2: JUMP
000010d3: JUMPDEST
000010d4: DUP7
000010d5: PUSH1 0x01
000010d7: PUSH1 0x01
000010d9: PUSH1 0xa0
000010db: SHL
000010dc: SUB
000010dd: AND
000010de: DUP12
000010df: PUSH1 0x01
000010e1: PUSH1 0x01
000010e3: PUSH1 0xa0
000010e5: SHL
000010e6: SUB
000010e7: AND
000010e8: DUP14
000010e9: PUSH1 0x01
000010eb: PUSH1 0x01
000010ed: PUSH1 0xa0
000010ef: SHL
000010f0: SUB
000010f1: AND
000010f2: PUSH32 0x4be05c8d54f5e056ab2cfa033e9f582057001268c3e28561bb999d35d2c8f2c8
00001113: DUP14
00001114: DUP14
00001115: DUP11
00001116: DUP11
00001117: PUSH1 0x40
00001119: MLOAD
0000111a: PUSH2 0x1126
0000111d: SWAP5
0000111e: SWAP4
0000111f: SWAP3
00001120: SWAP2
00001121: SWAP1
00001122: PUSH2 0x4672
00001125: JUMP
00001126: JUMPDEST
00001127: PUSH1 0x40
00001129: MLOAD
0000112a: DUP1
0000112b: SWAP2
0000112c: SUB
0000112d: SWAP1
0000112e: LOG4
0000112f: POP
00001130: POP
00001131: POP
00001132: POP
00001133: POP
00001134: POP
00001135: POP
00001136: POP
00001137: POP
00001138: POP
00001139: POP
0000113a: POP
0000113b: JUMP
0000113c: JUMPDEST
0000113d: PUSH1 0x0d
0000113f: SLOAD
00001140: PUSH1 0xff
00001142: AND
00001143: ISZERO
00001144: PUSH2 0x1160
00001147: JUMPI
00001148: PUSH1 0x40
0000114a: MLOAD
0000114b: PUSH4 0x40a47f03
00001150: PUSH1 0xe1
00001152: SHL
00001153: DUP2
00001154: MSTORE
00001155: PUSH1 0x04
00001157: ADD
00001158: PUSH1 0x40
0000115a: MLOAD
0000115b: DUP1
0000115c: SWAP2
0000115d: SUB
0000115e: SWAP1
0000115f: REVERT
00001160: JUMPDEST
00001161: PUSH1 0x00
00001163: PUSH2 0x1190
00001166: DUP10
00001167: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001188: DUP11
00001189: DUP11
0000118a: DUP11
0000118b: DUP11
0000118c: PUSH2 0x2576
0000118f: JUMP
00001190: JUMPDEST
00001191: SWAP1
00001192: POP
00001193: PUSH2 0x119c
00001196: DUP2
00001197: DUP6
00001198: PUSH2 0x25ec
0000119b: JUMP
0000119c: JUMPDEST
0000119d: PUSH1 0x00
0000119f: DUP1
000011a0: PUSH2 0x11ca
000011a3: DUP12
000011a4: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000011c5: DUP11
000011c6: PUSH2 0x270c
000011c9: JUMP
000011ca: JUMPDEST
000011cb: SWAP2
000011cc: POP
000011cd: SWAP2
000011ce: POP
000011cf: PUSH1 0x00
000011d1: PUSH2 0x11d9
000011d4: DUP13
000011d5: PUSH2 0x29af
000011d8: JUMP
000011d9: JUMPDEST
000011da: SWAP1
000011db: POP
000011dc: PUSH1 0x00
000011de: PUSH2 0x11e7
000011e1: DUP5
000011e2: DUP4
000011e3: PUSH2 0x465f
000011e6: JUMP
000011e7: JUMPDEST
000011e8: SWAP1
000011e9: POP
000011ea: PUSH1 0x00
000011ec: PUSH2 0x11f6
000011ef: DUP14
000011f0: DUP4
000011f1: DUP15
000011f2: PUSH2 0x2a98
000011f5: JUMP
000011f6: JUMPDEST
000011f7: SWAP1
000011f8: POP
000011f9: PUSH2 0x1202
000011fc: DUP15
000011fd: DUP5
000011fe: PUSH2 0x2815
00001201: JUMP
00001202: JUMPDEST
00001203: PUSH2 0x1230
00001206: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001227: PUSH2 0x0c45
0000122a: DUP4
0000122b: DUP8
0000122c: PUSH2 0x465f
0000122f: JUMP
00001230: JUMPDEST
00001231: PUSH1 0x40
00001233: MLOAD
00001234: PUSH4 0x2e1a7d4d
00001239: PUSH1 0xe0
0000123b: SHL
0000123c: DUP2
0000123d: MSTORE
0000123e: PUSH1 0x04
00001240: DUP2
00001241: ADD
00001242: DUP3
00001243: SWAP1
00001244: MSTORE
00001245: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001266: PUSH1 0x01
00001268: PUSH1 0x01
0000126a: PUSH1 0xa0
0000126c: SHL
0000126d: SUB
0000126e: AND
0000126f: SWAP1
00001270: PUSH4 0x2e1a7d4d
00001275: SWAP1
00001276: PUSH1 0x24
00001278: ADD
00001279: PUSH1 0x00
0000127b: PUSH1 0x40
0000127d: MLOAD
0000127e: DUP1
0000127f: DUP4
00001280: SUB
00001281: DUP2
00001282: PUSH1 0x00
00001284: DUP8
00001285: DUP1
00001286: EXTCODESIZE
00001287: ISZERO
00001288: DUP1
00001289: ISZERO
0000128a: PUSH2 0x1292
0000128d: JUMPI
0000128e: PUSH1 0x00
00001290: DUP1
00001291: REVERT
00001292: JUMPDEST
00001293: POP
00001294: GAS
00001295: CALL
00001296: ISZERO
00001297: DUP1
00001298: ISZERO
00001299: PUSH2 0x12a6
0000129c: JUMPI
0000129d: RETURNDATASIZE
0000129e: PUSH1 0x00
000012a0: DUP1
000012a1: RETURNDATACOPY
000012a2: RETURNDATASIZE
000012a3: PUSH1 0x00
000012a5: REVERT
000012a6: JUMPDEST
000012a7: POP
000012a8: POP
000012a9: POP
000012aa: POP
000012ab: PUSH2 0x12b4
000012ae: DUP11
000012af: DUP3
000012b0: PUSH2 0x24ce
000012b3: JUMP
000012b4: JUMPDEST
000012b5: DUP10
000012b6: PUSH1 0x01
000012b8: PUSH1 0x01
000012ba: PUSH1 0xa0
000012bc: SHL
000012bd: SUB
000012be: AND
000012bf: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000012e0: PUSH1 0x01
000012e2: PUSH1 0x01
000012e4: PUSH1 0xa0
000012e6: SHL
000012e7: SUB
000012e8: AND
000012e9: DUP16
000012ea: PUSH1 0x01
000012ec: PUSH1 0x01
000012ee: PUSH1 0xa0
000012f0: SHL
000012f1: SUB
000012f2: AND
000012f3: PUSH32 0x4be05c8d54f5e056ab2cfa033e9f582057001268c3e28561bb999d35d2c8f2c8
00001314: DUP6
00001315: DUP6
00001316: DUP14
00001317: DUP14
00001318: PUSH1 0x40
0000131a: MLOAD
0000131b: PUSH2 0x0e8e
0000131e: SWAP5
0000131f: SWAP4
00001320: SWAP3
00001321: SWAP2
00001322: SWAP1
00001323: PUSH2 0x4672
00001326: JUMP
00001327: JUMPDEST
00001328: PUSH1 0x0d
0000132a: SLOAD
0000132b: PUSH1 0xff
0000132d: AND
0000132e: ISZERO
0000132f: PUSH2 0x134b
00001332: JUMPI
00001333: PUSH1 0x40
00001335: MLOAD
00001336: PUSH4 0x40a47f03
0000133b: PUSH1 0xe1
0000133d: SHL
0000133e: DUP2
0000133f: MSTORE
00001340: PUSH1 0x04
00001342: ADD
00001343: PUSH1 0x40
00001345: MLOAD
00001346: DUP1
00001347: SWAP2
00001348: SUB
00001349: SWAP1
0000134a: REVERT
0000134b: JUMPDEST
0000134c: DUP2
0000134d: DUP1
0000134e: TIMESTAMP
0000134f: GT
00001350: ISZERO
00001351: PUSH2 0x138f
00001354: JUMPI
00001355: PUSH1 0x40
00001357: MLOAD
00001358: PUSH3 0x461bcd
0000135c: PUSH1 0xe5
0000135e: SHL
0000135f: DUP2
00001360: MSTORE
00001361: PUSH1 0x20
00001363: PUSH1 0x04
00001365: DUP3
00001366: ADD
00001367: MSTORE
00001368: PUSH1 0x10
0000136a: PUSH1 0x24
0000136c: DUP3
0000136d: ADD
0000136e: MSTORE
0000136f: PUSH16 0x10db1a5c1c195c8e88115e1c1a5c9959
00001380: PUSH1 0x82
00001382: SHL
00001383: PUSH1 0x44
00001385: DUP3
00001386: ADD
00001387: MSTORE
00001388: PUSH1 0x64
0000138a: ADD
0000138b: PUSH2 0x0fc5
0000138e: JUMP
0000138f: JUMPDEST
00001390: CALLVALUE
00001391: ISZERO
00001392: PUSH2 0x13bf
00001395: JUMPI
00001396: PUSH2 0x13bf
00001399: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000013ba: CALLVALUE
000013bb: PUSH2 0x24ce
000013be: JUMP
000013bf: JUMPDEST
000013c0: CALLER
000013c1: PUSH1 0x01
000013c3: PUSH1 0x01
000013c5: PUSH1 0xa0
000013c7: SHL
000013c8: SUB
000013c9: DUP10
000013ca: AND
000013cb: EQ
000013cc: PUSH2 0x143d
000013cf: JUMPI
000013d0: PUSH1 0x40
000013d2: MLOAD
000013d3: PUSH3 0x461bcd
000013d7: PUSH1 0xe5
000013d9: SHL
000013da: DUP2
000013db: MSTORE
000013dc: PUSH1 0x20
000013de: PUSH1 0x04
000013e0: DUP3
000013e1: ADD
000013e2: MSTORE
000013e3: PUSH1 0x27
000013e5: PUSH1 0x24
000013e7: DUP3
000013e8: ADD
000013e9: MSTORE
000013ea: PUSH32 0x4c69737465642073656e64657220646f6573206e6f74206d61746368206d7367
0000140b: PUSH1 0x44
0000140d: DUP3
0000140e: ADD
0000140f: MSTORE
00001410: PUSH32 0x2e73656e64657200000000000000000000000000000000000000000000000000
00001431: PUSH1 0x64
00001433: DUP3
00001434: ADD
00001435: MSTORE
00001436: PUSH1 0x84
00001438: ADD
00001439: PUSH2 0x0fc5
0000143c: JUMP
0000143d: JUMPDEST
0000143e: PUSH1 0x00
00001440: PUSH2 0x144d
00001443: DUP10
00001444: DUP10
00001445: DUP10
00001446: DUP10
00001447: DUP10
00001448: DUP10
00001449: PUSH2 0x2e37
0000144c: JUMP
0000144d: JUMPDEST
0000144e: SWAP1
0000144f: POP
00001450: PUSH2 0x1459
00001453: DUP2
00001454: DUP5
00001455: PUSH2 0x25ec
00001458: JUMP
00001459: JUMPDEST
0000145a: PUSH1 0x00
0000145c: DUP8
0000145d: JUMPDEST
0000145e: DUP1
0000145f: DUP3
00001460: LT
00001461: ISZERO
00001462: PUSH2 0x1546
00001465: JUMPI
00001466: PUSH1 0x00
00001468: DUP11
00001469: DUP11
0000146a: DUP5
0000146b: DUP2
0000146c: DUP2
0000146d: LT
0000146e: PUSH2 0x1479
00001471: JUMPI
00001472: PUSH2 0x1479
00001475: PUSH2 0x4607
00001478: JUMP
00001479: JUMPDEST
0000147a: SWAP1
0000147b: POP
0000147c: PUSH1 0x20
0000147e: MUL
0000147f: ADD
00001480: CALLDATALOAD
00001481: SWAP1
00001482: POP
00001483: PUSH1 0x00
00001485: DUP2
00001486: GT
00001487: ISZERO
00001488: PUSH2 0x1533
0000148b: JUMPI
0000148c: PUSH1 0x00
0000148e: PUSH2 0x1496
00001491: DUP5
00001492: PUSH2 0x1a47
00001495: JUMP
00001496: JUMPDEST
00001497: SWAP1
00001498: POP
00001499: PUSH1 0x00
0000149b: PUSH2 0x14a3
0000149e: DUP3
0000149f: PUSH2 0x29af
000014a2: JUMP
000014a3: JUMPDEST
000014a4: SWAP1
000014a5: POP
000014a6: DUP3
000014a7: PUSH2 0x14ce
000014aa: DUP4
000014ab: PUSH1 0x01
000014ad: PUSH1 0x01
000014af: PUSH1 0xa0
000014b1: SHL
000014b2: SUB
000014b3: AND
000014b4: PUSH1 0x00
000014b6: SWAP1
000014b7: DUP2
000014b8: MSTORE
000014b9: PUSH1 0x06
000014bb: PUSH1 0x20
000014bd: MSTORE
000014be: PUSH1 0x40
000014c0: SWAP1
000014c1: KECCAK256
000014c2: SLOAD
000014c3: PUSH1 0x01
000014c5: PUSH1 0x01
000014c7: PUSH1 0xe0
000014c9: SHL
000014ca: SUB
000014cb: AND
000014cc: SWAP1
000014cd: JUMP
000014ce: JUMPDEST
000014cf: PUSH2 0x14d8
000014d2: SWAP1
000014d3: DUP4
000014d4: PUSH2 0x465f
000014d7: JUMP
000014d8: JUMPDEST
000014d9: LT
000014da: ISZERO
000014db: PUSH2 0x1526
000014de: JUMPI
000014df: PUSH1 0x40
000014e1: MLOAD
000014e2: PUSH3 0x461bcd
000014e6: PUSH1 0xe5
000014e8: SHL
000014e9: DUP2
000014ea: MSTORE
000014eb: PUSH1 0x20
000014ed: PUSH1 0x04
000014ef: DUP3
000014f0: ADD
000014f1: MSTORE
000014f2: PUSH1 0x1a
000014f4: PUSH1 0x24
000014f6: DUP3
000014f7: ADD
000014f8: MSTORE
000014f9: PUSH32 0x496e73756666696369656e7420746f6b656e206465706f736974000000000000
0000151a: PUSH1 0x44
0000151c: DUP3
0000151d: ADD
0000151e: MSTORE
0000151f: PUSH1 0x64
00001521: ADD
00001522: PUSH2 0x0fc5
00001525: JUMP
00001526: JUMPDEST
00001527: PUSH2 0x1530
0000152a: DUP3
0000152b: DUP3
0000152c: PUSH2 0x2815
0000152f: JUMP
00001530: JUMPDEST
00001531: POP
00001532: POP
00001533: JUMPDEST
00001534: DUP3
00001535: PUSH2 0x153d
00001538: DUP2
00001539: PUSH2 0x4633
0000153c: JUMP
0000153d: JUMPDEST
0000153e: SWAP4
0000153f: POP
00001540: POP
00001541: POP
00001542: PUSH2 0x145d
00001545: JUMP
00001546: JUMPDEST
00001547: PUSH2 0x1551
0000154a: DUP12
0000154b: DUP10
0000154c: DUP10
0000154d: PUSH2 0x2e48
00001550: JUMP
00001551: JUMPDEST
00001552: PUSH1 0x40
00001554: DUP1
00001555: MLOAD
00001556: DUP9
00001557: DUP2
00001558: MSTORE
00001559: PUSH1 0x20
0000155b: DUP2
0000155c: ADD
0000155d: DUP11
0000155e: SWAP1
0000155f: MSTORE
00001560: PUSH1 0x01
00001562: PUSH1 0x01
00001564: PUSH1 0xa0
00001566: SHL
00001567: SUB
00001568: DUP14
00001569: AND
0000156a: SWAP2
0000156b: PUSH32 0x73a19dd210f1a7f902193214c0ee91dd35ee5b4d920cba8d519eca65a7b488ca
0000158c: SWAP2
0000158d: ADD
0000158e: PUSH1 0x40
00001590: MLOAD
00001591: DUP1
00001592: SWAP2
00001593: SUB
00001594: SWAP1
00001595: LOG2
00001596: POP
00001597: POP
00001598: POP
00001599: POP
0000159a: POP
0000159b: POP
0000159c: POP
0000159d: POP
0000159e: POP
0000159f: POP
000015a0: POP
000015a1: JUMP
000015a2: JUMPDEST
000015a3: PUSH1 0x0d
000015a5: SLOAD
000015a6: PUSH1 0xff
000015a8: AND
000015a9: ISZERO
000015aa: PUSH2 0x15c6
000015ad: JUMPI
000015ae: PUSH1 0x40
000015b0: MLOAD
000015b1: PUSH4 0x40a47f03
000015b6: PUSH1 0xe1
000015b8: SHL
000015b9: DUP2
000015ba: MSTORE
000015bb: PUSH1 0x04
000015bd: ADD
000015be: PUSH1 0x40
000015c0: MLOAD
000015c1: DUP1
000015c2: SWAP2
000015c3: SUB
000015c4: SWAP1
000015c5: REVERT
000015c6: JUMPDEST
000015c7: DUP2
000015c8: DUP1
000015c9: TIMESTAMP
000015ca: GT
000015cb: ISZERO
000015cc: PUSH2 0x160a
000015cf: JUMPI
000015d0: PUSH1 0x40
000015d2: MLOAD
000015d3: PUSH3 0x461bcd
000015d7: PUSH1 0xe5
000015d9: SHL
000015da: DUP2
000015db: MSTORE
000015dc: PUSH1 0x20
000015de: PUSH1 0x04
000015e0: DUP3
000015e1: ADD
000015e2: MSTORE
000015e3: PUSH1 0x10
000015e5: PUSH1 0x24
000015e7: DUP3
000015e8: ADD
000015e9: MSTORE
000015ea: PUSH16 0x10db1a5c1c195c8e88115e1c1a5c9959
000015fb: PUSH1 0x82
000015fd: SHL
000015fe: PUSH1 0x44
00001600: DUP3
00001601: ADD
00001602: MSTORE
00001603: PUSH1 0x64
00001605: ADD
00001606: PUSH2 0x0fc5
00001609: JUMP
0000160a: JUMPDEST
0000160b: CALLER
0000160c: PUSH1 0x01
0000160e: PUSH1 0x01
00001610: PUSH1 0xa0
00001612: SHL
00001613: SUB
00001614: DUP9
00001615: AND
00001616: EQ
00001617: PUSH2 0x1688
0000161a: JUMPI
0000161b: PUSH1 0x40
0000161d: MLOAD
0000161e: PUSH3 0x461bcd
00001622: PUSH1 0xe5
00001624: SHL
00001625: DUP2
00001626: MSTORE
00001627: PUSH1 0x20
00001629: PUSH1 0x04
0000162b: DUP3
0000162c: ADD
0000162d: MSTORE
0000162e: PUSH1 0x25
00001630: PUSH1 0x24
00001632: DUP3
00001633: ADD
00001634: MSTORE
00001635: PUSH32 0x746f6b656e486f6c64657220646f6573206e6f74206d61746368206d73672e73
00001656: PUSH1 0x44
00001658: DUP3
00001659: ADD
0000165a: MSTORE
0000165b: PUSH32 0x656e646572000000000000000000000000000000000000000000000000000000
0000167c: PUSH1 0x64
0000167e: DUP3
0000167f: ADD
00001680: MSTORE
00001681: PUSH1 0x84
00001683: ADD
00001684: PUSH2 0x0fc5
00001687: JUMP
00001688: JUMPDEST
00001689: PUSH1 0x00
0000168b: PUSH1 0x01
0000168d: PUSH1 0x01
0000168f: PUSH1 0xa0
00001691: SHL
00001692: SUB
00001693: DUP7
00001694: AND
00001695: PUSH2 0x16bf
00001698: JUMPI
00001699: POP
0000169a: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000016bb: SWAP5
000016bc: POP
000016bd: PUSH1 0x01
000016bf: JUMPDEST
000016c0: PUSH1 0x00
000016c2: PUSH2 0x16ce
000016c5: DUP10
000016c6: DUP10
000016c7: DUP10
000016c8: DUP10
000016c9: DUP10
000016ca: PUSH2 0x2e65
000016cd: JUMP
000016ce: JUMPDEST
000016cf: SWAP1
000016d0: POP
000016d1: PUSH2 0x16da
000016d4: DUP2
000016d5: DUP6
000016d6: PUSH2 0x25ec
000016d9: JUMP
000016da: JUMPDEST
000016db: PUSH2 0x16e4
000016de: CALLER
000016df: DUP10
000016e0: PUSH2 0x2c47
000016e3: JUMP
000016e4: JUMPDEST
000016e5: PUSH2 0x16ee
000016e8: DUP8
000016e9: DUP8
000016ea: PUSH2 0x2edc
000016ed: JUMP
000016ee: JUMPDEST
000016ef: DUP2
000016f0: ISZERO
000016f1: PUSH2 0x177d
000016f4: JUMPI
000016f5: PUSH1 0x40
000016f7: MLOAD
000016f8: PUSH4 0x2e1a7d4d
000016fd: PUSH1 0xe0
000016ff: SHL
00001700: DUP2
00001701: MSTORE
00001702: PUSH1 0x04
00001704: DUP2
00001705: ADD
00001706: DUP8
00001707: SWAP1
00001708: MSTORE
00001709: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
0000172a: PUSH1 0x01
0000172c: PUSH1 0x01
0000172e: PUSH1 0xa0
00001730: SHL
00001731: SUB
00001732: AND
00001733: SWAP1
00001734: PUSH4 0x2e1a7d4d
00001739: SWAP1
0000173a: PUSH1 0x24
0000173c: ADD
0000173d: PUSH1 0x00
0000173f: PUSH1 0x40
00001741: MLOAD
00001742: DUP1
00001743: DUP4
00001744: SUB
00001745: DUP2
00001746: PUSH1 0x00
00001748: DUP8
00001749: DUP1
0000174a: EXTCODESIZE
0000174b: ISZERO
0000174c: DUP1
0000174d: ISZERO
0000174e: PUSH2 0x1756
00001751: JUMPI
00001752: PUSH1 0x00
00001754: DUP1
00001755: REVERT
00001756: JUMPDEST
00001757: POP
00001758: GAS
00001759: CALL
0000175a: ISZERO
0000175b: DUP1
0000175c: ISZERO
0000175d: PUSH2 0x176a
00001760: JUMPI
00001761: RETURNDATASIZE
00001762: PUSH1 0x00
00001764: DUP1
00001765: RETURNDATACOPY
00001766: RETURNDATASIZE
00001767: PUSH1 0x00
00001769: REVERT
0000176a: JUMPDEST
0000176b: POP
0000176c: POP
0000176d: POP
0000176e: POP
0000176f: PUSH2 0x1778
00001772: CALLER
00001773: DUP8
00001774: PUSH2 0x24ce
00001777: JUMP
00001778: JUMPDEST
00001779: PUSH2 0x1791
0000177c: JUMP
0000177d: JUMPDEST
0000177e: PUSH2 0x1791
00001781: PUSH1 0x01
00001783: PUSH1 0x01
00001785: PUSH1 0xa0
00001787: SHL
00001788: SUB
00001789: DUP9
0000178a: AND
0000178b: CALLER
0000178c: DUP9
0000178d: PUSH2 0x284e
00001790: JUMP
00001791: JUMPDEST
00001792: DUP7
00001793: PUSH1 0x01
00001795: PUSH1 0x01
00001797: PUSH1 0xa0
00001799: SHL
0000179a: SUB
0000179b: AND
0000179c: DUP10
0000179d: PUSH1 0x01
0000179f: PUSH1 0x01
000017a1: PUSH1 0xa0
000017a3: SHL
000017a4: SUB
000017a5: AND
000017a6: PUSH32 0x41e79959bad1d45680578f8a544fb5af76d72b04090e65a51b4d0eaab959a9ab
000017c7: DUP11
000017c8: DUP10
000017c9: PUSH1 0x40
000017cb: MLOAD
000017cc: PUSH2 0x17df
000017cf: SWAP3
000017d0: SWAP2
000017d1: SWAP1
000017d2: SWAP2
000017d3: DUP3
000017d4: MSTORE
000017d5: PUSH1 0x20
000017d7: DUP3
000017d8: ADD
000017d9: MSTORE
000017da: PUSH1 0x40
000017dc: ADD
000017dd: SWAP1
000017de: JUMP
000017df: JUMPDEST
000017e0: PUSH1 0x40
000017e2: MLOAD
000017e3: DUP1
000017e4: SWAP2
000017e5: SUB
000017e6: SWAP1
000017e7: LOG3
000017e8: POP
000017e9: POP
000017ea: POP
000017eb: POP
000017ec: POP
000017ed: POP
000017ee: POP
000017ef: POP
000017f0: POP
000017f1: JUMP
000017f2: JUMPDEST
000017f3: PUSH2 0x17fa
000017f6: PUSH2 0x28e2
000017f9: JUMP
000017fa: JUMPDEST
000017fb: PUSH2 0x0ec8
000017fe: PUSH1 0x00
00001800: PUSH2 0x2f22
00001803: JUMP
00001804: JUMPDEST
00001805: PUSH1 0x01
00001807: PUSH1 0x01
00001809: PUSH1 0xa0
0000180b: SHL
0000180c: SUB
0000180d: DUP2
0000180e: AND
0000180f: PUSH1 0x00
00001811: SWAP1
00001812: DUP2
00001813: MSTORE
00001814: PUSH1 0x0b
00001816: PUSH1 0x20
00001818: MSTORE
00001819: PUSH1 0x40
0000181b: DUP2
0000181c: KECCAK256
0000181d: SLOAD
0000181e: PUSH2 0x09bc
00001821: JUMP
00001822: JUMPDEST
00001823: PUSH1 0x0d
00001825: SLOAD
00001826: PUSH1 0xff
00001828: AND
00001829: ISZERO
0000182a: PUSH2 0x1846
0000182d: JUMPI
0000182e: PUSH1 0x40
00001830: MLOAD
00001831: PUSH4 0x40a47f03
00001836: PUSH1 0xe1
00001838: SHL
00001839: DUP2
0000183a: MSTORE
0000183b: PUSH1 0x04
0000183d: ADD
0000183e: PUSH1 0x40
00001840: MLOAD
00001841: DUP1
00001842: SWAP2
00001843: SUB
00001844: SWAP1
00001845: REVERT
00001846: JUMPDEST
00001847: DUP2
00001848: DUP1
00001849: TIMESTAMP
0000184a: GT
0000184b: ISZERO
0000184c: PUSH2 0x188a
0000184f: JUMPI
00001850: PUSH1 0x40
00001852: MLOAD
00001853: PUSH3 0x461bcd
00001857: PUSH1 0xe5
00001859: SHL
0000185a: DUP2
0000185b: MSTORE
0000185c: PUSH1 0x20
0000185e: PUSH1 0x04
00001860: DUP3
00001861: ADD
00001862: MSTORE
00001863: PUSH1 0x10
00001865: PUSH1 0x24
00001867: DUP3
00001868: ADD
00001869: MSTORE
0000186a: PUSH16 0x10db1a5c1c195c8e88115e1c1a5c9959
0000187b: PUSH1 0x82
0000187d: SHL
0000187e: PUSH1 0x44
00001880: DUP3
00001881: ADD
00001882: MSTORE
00001883: PUSH1 0x64
00001885: ADD
00001886: PUSH2 0x0fc5
00001889: JUMP
0000188a: JUMPDEST
0000188b: CALLVALUE
0000188c: ISZERO
0000188d: PUSH2 0x18ba
00001890: JUMPI
00001891: PUSH2 0x18ba
00001894: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000018b5: CALLVALUE
000018b6: PUSH2 0x24ce
000018b9: JUMP
000018ba: JUMPDEST
000018bb: CALLER
000018bc: PUSH1 0x01
000018be: PUSH1 0x01
000018c0: PUSH1 0xa0
000018c2: SHL
000018c3: SUB
000018c4: DUP10
000018c5: AND
000018c6: EQ
000018c7: DUP1
000018c8: ISZERO
000018c9: PUSH2 0x18d6
000018cc: JUMPI
000018cd: POP
000018ce: PUSH2 0x18d6
000018d1: DUP8
000018d2: PUSH2 0x09c2
000018d5: JUMP
000018d6: JUMPDEST
000018d7: PUSH2 0x1912
000018da: JUMPI
000018db: PUSH1 0x40
000018dd: MLOAD
000018de: PUSH3 0x461bcd
000018e2: PUSH1 0xe5
000018e4: SHL
000018e5: DUP2
000018e6: MSTORE
000018e7: PUSH1 0x20
000018e9: PUSH1 0x04
000018eb: DUP3
000018ec: ADD
000018ed: MSTORE
000018ee: PUSH1 0x0d
000018f0: PUSH1 0x24
000018f2: DUP3
000018f3: ADD
000018f4: MSTORE
000018f5: PUSH13 0x125b9d985b1a59081a5b9c1d5d
00001903: PUSH1 0x9a
00001905: SHL
00001906: PUSH1 0x44
00001908: DUP3
00001909: ADD
0000190a: MSTORE
0000190b: PUSH1 0x64
0000190d: ADD
0000190e: PUSH2 0x0fc5
00001911: JUMP
00001912: JUMPDEST
00001913: PUSH1 0x00
00001915: PUSH2 0x1922
00001918: DUP10
00001919: DUP10
0000191a: DUP10
0000191b: DUP10
0000191c: DUP10
0000191d: DUP10
0000191e: PUSH2 0x2f8c
00001921: JUMP
00001922: JUMPDEST
00001923: SWAP1
00001924: POP
00001925: PUSH2 0x192e
00001928: DUP2
00001929: DUP5
0000192a: PUSH2 0x25ec
0000192d: JUMP
0000192e: JUMPDEST
0000192f: PUSH1 0x00
00001931: PUSH2 0x1939
00001934: DUP10
00001935: PUSH2 0x29af
00001938: JUMP
00001939: JUMPDEST
0000193a: SWAP1
0000193b: POP
0000193c: DUP8
0000193d: PUSH2 0x1964
00001940: DUP11
00001941: PUSH1 0x01
00001943: PUSH1 0x01
00001945: PUSH1 0xa0
00001947: SHL
00001948: SUB
00001949: AND
0000194a: PUSH1 0x00
0000194c: SWAP1
0000194d: DUP2
0000194e: MSTORE
0000194f: PUSH1 0x06
00001951: PUSH1 0x20
00001953: MSTORE
00001954: PUSH1 0x40
00001956: SWAP1
00001957: KECCAK256
00001958: SLOAD
00001959: PUSH1 0x01
0000195b: PUSH1 0x01
0000195d: PUSH1 0xe0
0000195f: SHL
00001960: SUB
00001961: AND
00001962: SWAP1
00001963: JUMP
00001964: JUMPDEST
00001965: PUSH2 0x196e
00001968: SWAP1
00001969: DUP4
0000196a: PUSH2 0x465f
0000196d: JUMP
0000196e: JUMPDEST
0000196f: LT
00001970: ISZERO
00001971: PUSH2 0x19bc
00001974: JUMPI
00001975: PUSH1 0x40
00001977: MLOAD
00001978: PUSH3 0x461bcd
0000197c: PUSH1 0xe5
0000197e: SHL
0000197f: DUP2
00001980: MSTORE
00001981: PUSH1 0x20
00001983: PUSH1 0x04
00001985: DUP3
00001986: ADD
00001987: MSTORE
00001988: PUSH1 0x1a
0000198a: PUSH1 0x24
0000198c: DUP3
0000198d: ADD
0000198e: MSTORE
0000198f: PUSH32 0x496e73756666696369656e7420746f6b656e206465706f736974000000000000
000019b0: PUSH1 0x44
000019b2: DUP3
000019b3: ADD
000019b4: MSTORE
000019b5: PUSH1 0x64
000019b7: ADD
000019b8: PUSH2 0x0fc5
000019bb: JUMP
000019bc: JUMPDEST
000019bd: PUSH2 0x19c6
000019c0: DUP10
000019c1: DUP3
000019c2: PUSH2 0x2815
000019c5: JUMP
000019c6: JUMPDEST
000019c7: PUSH2 0x19d1
000019ca: DUP11
000019cb: DUP9
000019cc: DUP9
000019cd: PUSH2 0x2e48
000019d0: JUMP
000019d1: JUMPDEST
000019d2: PUSH1 0x40
000019d4: DUP1
000019d5: MLOAD
000019d6: DUP8
000019d7: DUP2
000019d8: MSTORE
000019d9: PUSH1 0x20
000019db: DUP2
000019dc: ADD
000019dd: DUP10
000019de: SWAP1
000019df: MSTORE
000019e0: PUSH1 0x01
000019e2: PUSH1 0x01
000019e4: PUSH1 0xa0
000019e6: SHL
000019e7: SUB
000019e8: DUP13
000019e9: AND
000019ea: SWAP2
000019eb: PUSH32 0x73a19dd210f1a7f902193214c0ee91dd35ee5b4d920cba8d519eca65a7b488ca
00001a0c: SWAP2
00001a0d: ADD
00001a0e: PUSH1 0x40
00001a10: MLOAD
00001a11: DUP1
00001a12: SWAP2
00001a13: SUB
00001a14: SWAP1
00001a15: LOG2
00001a16: POP
00001a17: POP
00001a18: POP
00001a19: POP
00001a1a: POP
00001a1b: POP
00001a1c: POP
00001a1d: POP
00001a1e: POP
00001a1f: POP
00001a20: JUMP
00001a21: JUMPDEST
00001a22: PUSH1 0x0d
00001a24: SLOAD
00001a25: PUSH2 0x0100
00001a28: SWAP1
00001a29: DIV
00001a2a: PUSH1 0x01
00001a2c: PUSH1 0x01
00001a2e: PUSH1 0xa0
00001a30: SHL
00001a31: SUB
00001a32: AND
00001a33: CALLER
00001a34: SUB
00001a35: PUSH2 0x0ec8
00001a38: JUMPI
00001a39: PUSH1 0x0d
00001a3b: DUP1
00001a3c: SLOAD
00001a3d: PUSH1 0xff
00001a3f: NOT
00001a40: AND
00001a41: PUSH1 0x01
00001a43: OR
00001a44: SWAP1
00001a45: SSTORE
00001a46: JUMP
00001a47: JUMPDEST
00001a48: PUSH1 0x00
00001a4a: PUSH2 0x09bc
00001a4d: PUSH1 0x07
00001a4f: DUP4
00001a50: PUSH2 0x2f9d
00001a53: JUMP
00001a54: JUMPDEST
00001a55: PUSH1 0x60
00001a57: PUSH1 0x04
00001a59: DUP1
00001a5a: SLOAD
00001a5b: PUSH2 0x0925
00001a5e: SWAP1
00001a5f: PUSH2 0x45bd
00001a62: JUMP
00001a63: JUMPDEST
00001a64: CALLER
00001a65: PUSH1 0x00
00001a67: DUP2
00001a68: DUP2
00001a69: MSTORE
00001a6a: PUSH1 0x01
00001a6c: PUSH1 0x20
00001a6e: SWAP1
00001a6f: DUP2
00001a70: MSTORE
00001a71: PUSH1 0x40
00001a73: DUP1
00001a74: DUP4
00001a75: KECCAK256
00001a76: PUSH1 0x01
00001a78: PUSH1 0x01
00001a7a: PUSH1 0xa0
00001a7c: SHL
00001a7d: SUB
00001a7e: DUP8
00001a7f: AND
00001a80: DUP5
00001a81: MSTORE
00001a82: SWAP1
00001a83: SWAP2
00001a84: MSTORE
00001a85: DUP2
00001a86: KECCAK256
00001a87: SLOAD
00001a88: SWAP1
00001a89: SWAP2
00001a8a: SWAP1
00001a8b: DUP4
00001a8c: DUP2
00001a8d: LT
00001a8e: ISZERO
00001a8f: PUSH2 0x1b00
00001a92: JUMPI
00001a93: PUSH1 0x40
00001a95: MLOAD
00001a96: PUSH3 0x461bcd
00001a9a: PUSH1 0xe5
00001a9c: SHL
00001a9d: DUP2
00001a9e: MSTORE
00001a9f: PUSH1 0x20
00001aa1: PUSH1 0x04
00001aa3: DUP3
00001aa4: ADD
00001aa5: MSTORE
00001aa6: PUSH1 0x25
00001aa8: PUSH1 0x24
00001aaa: DUP3
00001aab: ADD
00001aac: MSTORE
00001aad: PUSH32 0x45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77
00001ace: PUSH1 0x44
00001ad0: DUP3
00001ad1: ADD
00001ad2: MSTORE
00001ad3: PUSH32 0x207a65726f000000000000000000000000000000000000000000000000000000
00001af4: PUSH1 0x64
00001af6: DUP3
00001af7: ADD
00001af8: MSTORE
00001af9: PUSH1 0x84
00001afb: ADD
00001afc: PUSH2 0x0fc5
00001aff: JUMP
00001b00: JUMPDEST
00001b01: PUSH2 0x1b0d
00001b04: DUP3
00001b05: DUP7
00001b06: DUP7
00001b07: DUP5
00001b08: SUB
00001b09: PUSH2 0x20cb
00001b0c: JUMP
00001b0d: JUMPDEST
00001b0e: POP
00001b0f: PUSH1 0x01
00001b11: SWAP5
00001b12: SWAP4
00001b13: POP
00001b14: POP
00001b15: POP
00001b16: POP
00001b17: JUMP
00001b18: JUMPDEST
00001b19: PUSH1 0x00
00001b1b: CALLER
00001b1c: PUSH2 0x09b6
00001b1f: DUP2
00001b20: DUP6
00001b21: DUP6
00001b22: PUSH2 0x22e1
00001b25: JUMP
00001b26: JUMPDEST
00001b27: PUSH1 0x0d
00001b29: SLOAD
00001b2a: PUSH1 0xff
00001b2c: AND
00001b2d: ISZERO
00001b2e: PUSH2 0x1b4a
00001b31: JUMPI
00001b32: PUSH1 0x40
00001b34: MLOAD
00001b35: PUSH4 0x40a47f03
00001b3a: PUSH1 0xe1
00001b3c: SHL
00001b3d: DUP2
00001b3e: MSTORE
00001b3f: PUSH1 0x04
00001b41: ADD
00001b42: PUSH1 0x40
00001b44: MLOAD
00001b45: DUP1
00001b46: SWAP2
00001b47: SUB
00001b48: SWAP1
00001b49: REVERT
00001b4a: JUMPDEST
00001b4b: DUP2
00001b4c: DUP1
00001b4d: TIMESTAMP
00001b4e: GT
00001b4f: ISZERO
00001b50: PUSH2 0x1b8e
00001b53: JUMPI
00001b54: PUSH1 0x40
00001b56: MLOAD
00001b57: PUSH3 0x461bcd
00001b5b: PUSH1 0xe5
00001b5d: SHL
00001b5e: DUP2
00001b5f: MSTORE
00001b60: PUSH1 0x20
00001b62: PUSH1 0x04
00001b64: DUP3
00001b65: ADD
00001b66: MSTORE
00001b67: PUSH1 0x10
00001b69: PUSH1 0x24
00001b6b: DUP3
00001b6c: ADD
00001b6d: MSTORE
00001b6e: PUSH16 0x10db1a5c1c195c8e88115e1c1a5c9959
00001b7f: PUSH1 0x82
00001b81: SHL
00001b82: PUSH1 0x44
00001b84: DUP3
00001b85: ADD
00001b86: MSTORE
00001b87: PUSH1 0x64
00001b89: ADD
00001b8a: PUSH2 0x0fc5
00001b8d: JUMP
00001b8e: JUMPDEST
00001b8f: PUSH2 0x1b97
00001b92: DUP8
00001b93: PUSH2 0x09c2
00001b96: JUMP
00001b97: JUMPDEST
00001b98: PUSH2 0x1bd3
00001b9b: JUMPI
00001b9c: PUSH1 0x40
00001b9e: MLOAD
00001b9f: PUSH3 0x461bcd
00001ba3: PUSH1 0xe5
00001ba5: SHL
00001ba6: DUP2
00001ba7: MSTORE
00001ba8: PUSH1 0x20
00001baa: PUSH1 0x04
00001bac: DUP3
00001bad: ADD
00001bae: MSTORE
00001baf: PUSH1 0x0d
00001bb1: PUSH1 0x24
00001bb3: DUP3
00001bb4: ADD
00001bb5: MSTORE
00001bb6: PUSH13 0x125b9d985b1a59081a5b9c1d5d
00001bc4: PUSH1 0x9a
00001bc6: SHL
00001bc7: PUSH1 0x44
00001bc9: DUP3
00001bca: ADD
00001bcb: MSTORE
00001bcc: PUSH1 0x64
00001bce: ADD
00001bcf: PUSH2 0x0fc5
00001bd2: JUMP
00001bd3: JUMPDEST
00001bd4: PUSH2 0x1be8
00001bd7: PUSH1 0x01
00001bd9: PUSH1 0x01
00001bdb: PUSH1 0xa0
00001bdd: SHL
00001bde: SUB
00001bdf: DUP9
00001be0: AND
00001be1: CALLER
00001be2: ADDRESS
00001be3: DUP10
00001be4: PUSH2 0x295e
00001be7: JUMP
00001be8: JUMPDEST
00001be9: PUSH1 0x00
00001beb: PUSH2 0x1bf8
00001bee: CALLER
00001bef: DUP10
00001bf0: DUP10
00001bf1: DUP10
00001bf2: DUP10
00001bf3: DUP10
00001bf4: PUSH2 0x2f8c
00001bf7: JUMP
00001bf8: JUMPDEST
00001bf9: SWAP1
00001bfa: POP
00001bfb: PUSH2 0x1c04
00001bfe: DUP2
00001bff: DUP5
00001c00: PUSH2 0x25ec
00001c03: JUMP
00001c04: JUMPDEST
00001c05: PUSH2 0x1c0e
00001c08: DUP9
00001c09: DUP9
00001c0a: PUSH2 0x2fa9
00001c0d: JUMP
00001c0e: JUMPDEST
00001c0f: PUSH2 0x1c19
00001c12: CALLER
00001c13: DUP8
00001c14: DUP8
00001c15: PUSH2 0x2e48
00001c18: JUMP
00001c19: JUMPDEST
00001c1a: PUSH1 0x40
00001c1c: DUP1
00001c1d: MLOAD
00001c1e: DUP7
00001c1f: DUP2
00001c20: MSTORE
00001c21: PUSH1 0x20
00001c23: DUP2
00001c24: ADD
00001c25: DUP9
00001c26: SWAP1
00001c27: MSTORE
00001c28: CALLER
00001c29: SWAP2
00001c2a: PUSH32 0x73a19dd210f1a7f902193214c0ee91dd35ee5b4d920cba8d519eca65a7b488ca
00001c4b: SWAP2
00001c4c: ADD
00001c4d: PUSH1 0x40
00001c4f: MLOAD
00001c50: DUP1
00001c51: SWAP2
00001c52: SUB
00001c53: SWAP1
00001c54: LOG2
00001c55: POP
00001c56: POP
00001c57: POP
00001c58: POP
00001c59: POP
00001c5a: POP
00001c5b: POP
00001c5c: POP
00001c5d: JUMP
00001c5e: JUMPDEST
00001c5f: PUSH1 0x0d
00001c61: SLOAD
00001c62: PUSH1 0xff
00001c64: AND
00001c65: ISZERO
00001c66: PUSH2 0x1c82
00001c69: JUMPI
00001c6a: PUSH1 0x40
00001c6c: MLOAD
00001c6d: PUSH4 0x40a47f03
00001c72: PUSH1 0xe1
00001c74: SHL
00001c75: DUP2
00001c76: MSTORE
00001c77: PUSH1 0x04
00001c79: ADD
00001c7a: PUSH1 0x40
00001c7c: MLOAD
00001c7d: DUP1
00001c7e: SWAP2
00001c7f: SUB
00001c80: SWAP1
00001c81: REVERT
00001c82: JUMPDEST
00001c83: PUSH2 0x1c97
00001c86: PUSH1 0x01
00001c88: PUSH1 0x01
00001c8a: PUSH1 0xa0
00001c8c: SHL
00001c8d: SUB
00001c8e: DUP10
00001c8f: AND
00001c90: CALLER
00001c91: ADDRESS
00001c92: DUP11
00001c93: PUSH2 0x295e
00001c96: JUMP
00001c97: JUMPDEST
00001c98: PUSH1 0x00
00001c9a: PUSH2 0x1cc7
00001c9d: DUP10
00001c9e: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001cbf: DUP11
00001cc0: DUP11
00001cc1: DUP11
00001cc2: DUP11
00001cc3: PUSH2 0x2576
00001cc6: JUMP
00001cc7: JUMPDEST
00001cc8: SWAP1
00001cc9: POP
00001cca: PUSH2 0x1cd3
00001ccd: DUP2
00001cce: DUP6
00001ccf: PUSH2 0x25ec
00001cd2: JUMP
00001cd3: JUMPDEST
00001cd4: PUSH1 0x00
00001cd6: DUP1
00001cd7: PUSH2 0x1d01
00001cda: DUP12
00001cdb: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001cfc: DUP11
00001cfd: PUSH2 0x270c
00001d00: JUMP
00001d01: JUMPDEST
00001d02: SWAP1
00001d03: SWAP3
00001d04: POP
00001d05: SWAP1
00001d06: POP
00001d07: PUSH2 0x1d14
00001d0a: DUP12
00001d0b: PUSH2 0x0c45
00001d0e: DUP13
00001d0f: DUP6
00001d10: PUSH2 0x464c
00001d13: JUMP
00001d14: JUMPDEST
00001d15: PUSH2 0x1d42
00001d18: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001d39: PUSH2 0x0c45
00001d3c: DUP12
00001d3d: DUP5
00001d3e: PUSH2 0x465f
00001d41: JUMP
00001d42: JUMPDEST
00001d43: PUSH1 0x40
00001d45: MLOAD
00001d46: PUSH4 0x2e1a7d4d
00001d4b: PUSH1 0xe0
00001d4d: SHL
00001d4e: DUP2
00001d4f: MSTORE
00001d50: PUSH1 0x04
00001d52: DUP2
00001d53: ADD
00001d54: DUP11
00001d55: SWAP1
00001d56: MSTORE
00001d57: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001d78: PUSH1 0x01
00001d7a: PUSH1 0x01
00001d7c: PUSH1 0xa0
00001d7e: SHL
00001d7f: SUB
00001d80: AND
00001d81: SWAP1
00001d82: PUSH4 0x2e1a7d4d
00001d87: SWAP1
00001d88: PUSH1 0x24
00001d8a: ADD
00001d8b: PUSH1 0x00
00001d8d: PUSH1 0x40
00001d8f: MLOAD
00001d90: DUP1
00001d91: DUP4
00001d92: SUB
00001d93: DUP2
00001d94: PUSH1 0x00
00001d96: DUP8
00001d97: DUP1
00001d98: EXTCODESIZE
00001d99: ISZERO
00001d9a: DUP1
00001d9b: ISZERO
00001d9c: PUSH2 0x1da4
00001d9f: JUMPI
00001da0: PUSH1 0x00
00001da2: DUP1
00001da3: REVERT
00001da4: JUMPDEST
00001da5: POP
00001da6: GAS
00001da7: CALL
00001da8: ISZERO
00001da9: DUP1
00001daa: ISZERO
00001dab: PUSH2 0x1db8
00001dae: JUMPI
00001daf: RETURNDATASIZE
00001db0: PUSH1 0x00
00001db2: DUP1
00001db3: RETURNDATACOPY
00001db4: RETURNDATASIZE
00001db5: PUSH1 0x00
00001db7: REVERT
00001db8: JUMPDEST
00001db9: POP
00001dba: POP
00001dbb: POP
00001dbc: POP
00001dbd: PUSH2 0x1dc6
00001dc0: DUP8
00001dc1: DUP11
00001dc2: PUSH2 0x24ce
00001dc5: JUMP
00001dc6: JUMPDEST
00001dc7: DUP7
00001dc8: PUSH1 0x01
00001dca: PUSH1 0x01
00001dcc: PUSH1 0xa0
00001dce: SHL
00001dcf: SUB
00001dd0: AND
00001dd1: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001df2: PUSH1 0x01
00001df4: PUSH1 0x01
00001df6: PUSH1 0xa0
00001df8: SHL
00001df9: SUB
00001dfa: AND
00001dfb: DUP13
00001dfc: PUSH1 0x01
00001dfe: PUSH1 0x01
00001e00: PUSH1 0xa0
00001e02: SHL
00001e03: SUB
00001e04: AND
00001e05: PUSH32 0x4be05c8d54f5e056ab2cfa033e9f582057001268c3e28561bb999d35d2c8f2c8
00001e26: DUP14
00001e27: DUP14
00001e28: DUP11
00001e29: DUP11
00001e2a: PUSH1 0x40
00001e2c: MLOAD
00001e2d: PUSH2 0x0cdf
00001e30: SWAP5
00001e31: SWAP4
00001e32: SWAP3
00001e33: SWAP2
00001e34: SWAP1
00001e35: PUSH2 0x4672
00001e38: JUMP
00001e39: JUMPDEST
00001e3a: PUSH2 0x1e41
00001e3d: PUSH2 0x28e2
00001e40: JUMP
00001e41: JUMPDEST
00001e42: PUSH1 0x0d
00001e44: DUP1
00001e45: SLOAD
00001e46: PUSH32 0xffffffffffffffffffffff0000000000000000000000000000000000000000ff
00001e67: AND
00001e68: PUSH2 0x0100
00001e6b: PUSH1 0x01
00001e6d: PUSH1 0x01
00001e6f: PUSH1 0xa0
00001e71: SHL
00001e72: SUB
00001e73: DUP5
00001e74: AND
00001e75: SWAP1
00001e76: DUP2
00001e77: MUL
00001e78: SWAP2
00001e79: SWAP1
00001e7a: SWAP2
00001e7b: OR
00001e7c: SWAP1
00001e7d: SWAP2
00001e7e: SSTORE
00001e7f: PUSH1 0x40
00001e81: MLOAD
00001e82: PUSH32 0x7fb818801719b0f482b3e69a97fd8c5a1bddd186808ae2a83bdf1dac62c550ec
00001ea3: SWAP1
00001ea4: PUSH1 0x00
00001ea6: SWAP1
00001ea7: LOG2
00001ea8: POP
00001ea9: JUMP
00001eaa: JUMPDEST
00001eab: DUP4
00001eac: TIMESTAMP
00001ead: GT
00001eae: ISZERO
00001eaf: PUSH2 0x1efa
00001eb2: JUMPI
00001eb3: PUSH1 0x40
00001eb5: MLOAD
00001eb6: PUSH3 0x461bcd
00001eba: PUSH1 0xe5
00001ebc: SHL
00001ebd: DUP2
00001ebe: MSTORE
00001ebf: PUSH1 0x20
00001ec1: PUSH1 0x04
00001ec3: DUP3
00001ec4: ADD
00001ec5: MSTORE
00001ec6: PUSH1 0x1d
00001ec8: PUSH1 0x24
00001eca: DUP3
00001ecb: ADD
00001ecc: MSTORE
00001ecd: PUSH32 0x45524332305065726d69743a206578706972656420646561646c696e65000000
00001eee: PUSH1 0x44
00001ef0: DUP3
00001ef1: ADD
00001ef2: MSTORE
00001ef3: PUSH1 0x64
00001ef5: ADD
00001ef6: PUSH2 0x0fc5
00001ef9: JUMP
00001efa: JUMPDEST
00001efb: PUSH1 0x00
00001efd: PUSH32 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9
00001f1e: DUP9
00001f1f: DUP9
00001f20: DUP9
00001f21: PUSH2 0x1f29
00001f24: DUP13
00001f25: PUSH2 0x2fc8
00001f28: JUMP
00001f29: JUMPDEST
00001f2a: PUSH1 0x40
00001f2c: DUP1
00001f2d: MLOAD
00001f2e: PUSH1 0x20
00001f30: DUP2
00001f31: ADD
00001f32: SWAP7
00001f33: SWAP1
00001f34: SWAP7
00001f35: MSTORE
00001f36: PUSH1 0x01
00001f38: PUSH1 0x01
00001f3a: PUSH1 0xa0
00001f3c: SHL
00001f3d: SUB
00001f3e: SWAP5
00001f3f: DUP6
00001f40: AND
00001f41: SWAP1
00001f42: DUP7
00001f43: ADD
00001f44: MSTORE
00001f45: SWAP3
00001f46: SWAP1
00001f47: SWAP2
00001f48: AND
00001f49: PUSH1 0x60
00001f4b: DUP5
00001f4c: ADD
00001f4d: MSTORE
00001f4e: PUSH1 0x80
00001f50: DUP4
00001f51: ADD
00001f52: MSTORE
00001f53: PUSH1 0xa0
00001f55: DUP3
00001f56: ADD
00001f57: MSTORE
00001f58: PUSH1 0xc0
00001f5a: DUP2
00001f5b: ADD
00001f5c: DUP7
00001f5d: SWAP1
00001f5e: MSTORE
00001f5f: PUSH1 0xe0
00001f61: ADD
00001f62: PUSH1 0x40
00001f64: MLOAD
00001f65: PUSH1 0x20
00001f67: DUP2
00001f68: DUP4
00001f69: SUB
00001f6a: SUB
00001f6b: DUP2
00001f6c: MSTORE
00001f6d: SWAP1
00001f6e: PUSH1 0x40
00001f70: MSTORE
00001f71: DUP1
00001f72: MLOAD
00001f73: SWAP1
00001f74: PUSH1 0x20
00001f76: ADD
00001f77: KECCAK256
00001f78: SWAP1
00001f79: POP
00001f7a: PUSH1 0x00
00001f7c: PUSH2 0x1f84
00001f7f: DUP3
00001f80: PUSH2 0x2ff0
00001f83: JUMP
00001f84: JUMPDEST
00001f85: SWAP1
00001f86: POP
00001f87: PUSH1 0x00
00001f89: PUSH2 0x1f94
00001f8c: DUP3
00001f8d: DUP8
00001f8e: DUP8
00001f8f: DUP8
00001f90: PUSH2 0x303e
00001f93: JUMP
00001f94: JUMPDEST
00001f95: SWAP1
00001f96: POP
00001f97: DUP10
00001f98: PUSH1 0x01
00001f9a: PUSH1 0x01
00001f9c: PUSH1 0xa0
00001f9e: SHL
00001f9f: SUB
00001fa0: AND
00001fa1: DUP2
00001fa2: PUSH1 0x01
00001fa4: PUSH1 0x01
00001fa6: PUSH1 0xa0
00001fa8: SHL
00001fa9: SUB
00001faa: AND
00001fab: EQ
00001fac: PUSH2 0x1ff7
00001faf: JUMPI
00001fb0: PUSH1 0x40
00001fb2: MLOAD
00001fb3: PUSH3 0x461bcd
00001fb7: PUSH1 0xe5
00001fb9: SHL
00001fba: DUP2
00001fbb: MSTORE
00001fbc: PUSH1 0x20
00001fbe: PUSH1 0x04
00001fc0: DUP3
00001fc1: ADD
00001fc2: MSTORE
00001fc3: PUSH1 0x1e
00001fc5: PUSH1 0x24
00001fc7: DUP3
00001fc8: ADD
00001fc9: MSTORE
00001fca: PUSH32 0x45524332305065726d69743a20696e76616c6964207369676e61747572650000
00001feb: PUSH1 0x44
00001fed: DUP3
00001fee: ADD
00001fef: MSTORE
00001ff0: PUSH1 0x64
00001ff2: ADD
00001ff3: PUSH2 0x0fc5
00001ff6: JUMP
00001ff7: JUMPDEST
00001ff8: PUSH2 0x2002
00001ffb: DUP11
00001ffc: DUP11
00001ffd: DUP11
00001ffe: PUSH2 0x20cb
00002001: JUMP
00002002: JUMPDEST
00002003: POP
00002004: POP
00002005: POP
00002006: POP
00002007: POP
00002008: POP
00002009: POP
0000200a: POP
0000200b: POP
0000200c: POP
0000200d: JUMP
0000200e: JUMPDEST
0000200f: PUSH1 0x01
00002011: PUSH1 0x01
00002013: PUSH1 0xa0
00002015: SHL
00002016: SUB
00002017: DUP2
00002018: AND
00002019: PUSH1 0x00
0000201b: SWAP1
0000201c: DUP2
0000201d: MSTORE
0000201e: PUSH1 0x09
00002020: PUSH1 0x20
00002022: MSTORE
00002023: PUSH1 0x40
00002025: DUP2
00002026: KECCAK256
00002027: PUSH1 0x01
00002029: DUP2
0000202a: ADD
0000202b: SLOAD
0000202c: ISZERO
0000202d: DUP1
0000202e: ISZERO
0000202f: SWAP1
00002030: PUSH2 0x0b53
00002033: JUMPI
00002034: POP
00002035: SLOAD
00002036: TIMESTAMP
00002037: LT
00002038: ISZERO
00002039: SWAP3
0000203a: SWAP2
0000203b: POP
0000203c: POP
0000203d: JUMP
0000203e: JUMPDEST
0000203f: PUSH2 0x2046
00002042: PUSH2 0x28e2
00002045: JUMP
00002046: JUMPDEST
00002047: PUSH1 0x01
00002049: PUSH1 0x01
0000204b: PUSH1 0xa0
0000204d: SHL
0000204e: SUB
0000204f: DUP2
00002050: AND
00002051: PUSH2 0x20c2
00002054: JUMPI
00002055: PUSH1 0x40
00002057: MLOAD
00002058: PUSH3 0x461bcd
0000205c: PUSH1 0xe5
0000205e: SHL
0000205f: DUP2
00002060: MSTORE
00002061: PUSH1 0x20
00002063: PUSH1 0x04
00002065: DUP3
00002066: ADD
00002067: MSTORE
00002068: PUSH1 0x26
0000206a: PUSH1 0x24
0000206c: DUP3
0000206d: ADD
0000206e: MSTORE
0000206f: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061
00002090: PUSH1 0x44
00002092: DUP3
00002093: ADD
00002094: MSTORE
00002095: PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000
000020b6: PUSH1 0x64
000020b8: DUP3
000020b9: ADD
000020ba: MSTORE
000020bb: PUSH1 0x84
000020bd: ADD
000020be: PUSH2 0x0fc5
000020c1: JUMP
000020c2: JUMPDEST
000020c3: PUSH2 0x0d11
000020c6: DUP2
000020c7: PUSH2 0x2f22
000020ca: JUMP
000020cb: JUMPDEST
000020cc: PUSH1 0x01
000020ce: PUSH1 0x01
000020d0: PUSH1 0xa0
000020d2: SHL
000020d3: SUB
000020d4: DUP4
000020d5: AND
000020d6: PUSH2 0x2146
000020d9: JUMPI
000020da: PUSH1 0x40
000020dc: MLOAD
000020dd: PUSH3 0x461bcd
000020e1: PUSH1 0xe5
000020e3: SHL
000020e4: DUP2
000020e5: MSTORE
000020e6: PUSH1 0x20
000020e8: PUSH1 0x04
000020ea: DUP3
000020eb: ADD
000020ec: MSTORE
000020ed: PUSH1 0x24
000020ef: DUP1
000020f0: DUP3
000020f1: ADD
000020f2: MSTORE
000020f3: PUSH32 0x45524332303a20617070726f76652066726f6d20746865207a65726f20616464
00002114: PUSH1 0x44
00002116: DUP3
00002117: ADD
00002118: MSTORE
00002119: PUSH32 0x7265737300000000000000000000000000000000000000000000000000000000
0000213a: PUSH1 0x64
0000213c: DUP3
0000213d: ADD
0000213e: MSTORE
0000213f: PUSH1 0x84
00002141: ADD
00002142: PUSH2 0x0fc5
00002145: JUMP
00002146: JUMPDEST
00002147: PUSH1 0x01
00002149: PUSH1 0x01
0000214b: PUSH1 0xa0
0000214d: SHL
0000214e: SUB
0000214f: DUP3
00002150: AND
00002151: PUSH2 0x21c2
00002154: JUMPI
00002155: PUSH1 0x40
00002157: MLOAD
00002158: PUSH3 0x461bcd
0000215c: PUSH1 0xe5
0000215e: SHL
0000215f: DUP2
00002160: MSTORE
00002161: PUSH1 0x20
00002163: PUSH1 0x04
00002165: DUP3
00002166: ADD
00002167: MSTORE
00002168: PUSH1 0x22
0000216a: PUSH1 0x24
0000216c: DUP3
0000216d: ADD
0000216e: MSTORE
0000216f: PUSH32 0x45524332303a20617070726f766520746f20746865207a65726f206164647265
00002190: PUSH1 0x44
00002192: DUP3
00002193: ADD
00002194: MSTORE
00002195: PUSH32 0x7373000000000000000000000000000000000000000000000000000000000000
000021b6: PUSH1 0x64
000021b8: DUP3
000021b9: ADD
000021ba: MSTORE
000021bb: PUSH1 0x84
000021bd: ADD
000021be: PUSH2 0x0fc5
000021c1: JUMP
000021c2: JUMPDEST
000021c3: PUSH1 0x01
000021c5: PUSH1 0x01
000021c7: PUSH1 0xa0
000021c9: SHL
000021ca: SUB
000021cb: DUP4
000021cc: DUP2
000021cd: AND
000021ce: PUSH1 0x00
000021d0: DUP2
000021d1: DUP2
000021d2: MSTORE
000021d3: PUSH1 0x01
000021d5: PUSH1 0x20
000021d7: SWAP1
000021d8: DUP2
000021d9: MSTORE
000021da: PUSH1 0x40
000021dc: DUP1
000021dd: DUP4
000021de: KECCAK256
000021df: SWAP5
000021e0: DUP8
000021e1: AND
000021e2: DUP1
000021e3: DUP5
000021e4: MSTORE
000021e5: SWAP5
000021e6: DUP3
000021e7: MSTORE
000021e8: SWAP2
000021e9: DUP3
000021ea: SWAP1
000021eb: KECCAK256
000021ec: DUP6
000021ed: SWAP1
000021ee: SSTORE
000021ef: SWAP1
000021f0: MLOAD
000021f1: DUP5
000021f2: DUP2
000021f3: MSTORE
000021f4: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
00002215: SWAP2
00002216: ADD
00002217: PUSH1 0x40
00002219: MLOAD
0000221a: DUP1
0000221b: SWAP2
0000221c: SUB
0000221d: SWAP1
0000221e: LOG3
0000221f: POP
00002220: POP
00002221: POP
00002222: JUMP
00002223: JUMPDEST
00002224: PUSH1 0x01
00002226: PUSH1 0x01
00002228: PUSH1 0xa0
0000222a: SHL
0000222b: SUB
0000222c: DUP2
0000222d: AND
0000222e: PUSH1 0x00
00002230: SWAP1
00002231: DUP2
00002232: MSTORE
00002233: PUSH1 0x01
00002235: DUP4
00002236: ADD
00002237: PUSH1 0x20
00002239: MSTORE
0000223a: PUSH1 0x40
0000223c: DUP2
0000223d: KECCAK256
0000223e: SLOAD
0000223f: ISZERO
00002240: ISZERO
00002241: PUSH2 0x0b53
00002244: JUMP
00002245: JUMPDEST
00002246: PUSH1 0x00
00002248: PUSH2 0x09bc
0000224b: DUP3
0000224c: SLOAD
0000224d: SWAP1
0000224e: JUMP
0000224f: JUMPDEST
00002250: PUSH1 0x01
00002252: PUSH1 0x01
00002254: PUSH1 0xa0
00002256: SHL
00002257: SUB
00002258: DUP4
00002259: DUP2
0000225a: AND
0000225b: PUSH1 0x00
0000225d: SWAP1
0000225e: DUP2
0000225f: MSTORE
00002260: PUSH1 0x01
00002262: PUSH1 0x20
00002264: SWAP1
00002265: DUP2
00002266: MSTORE
00002267: PUSH1 0x40
00002269: DUP1
0000226a: DUP4
0000226b: KECCAK256
0000226c: SWAP4
0000226d: DUP7
0000226e: AND
0000226f: DUP4
00002270: MSTORE
00002271: SWAP3
00002272: SWAP1
00002273: MSTORE
00002274: KECCAK256
00002275: SLOAD
00002276: PUSH1 0x00
00002278: NOT
00002279: DUP2
0000227a: EQ
0000227b: PUSH2 0x22db
0000227e: JUMPI
0000227f: DUP2
00002280: DUP2
00002281: LT
00002282: ISZERO
00002283: PUSH2 0x22ce
00002286: JUMPI
00002287: PUSH1 0x40
00002289: MLOAD
0000228a: PUSH3 0x461bcd
0000228e: PUSH1 0xe5
00002290: SHL
00002291: DUP2
00002292: MSTORE
00002293: PUSH1 0x20
00002295: PUSH1 0x04
00002297: DUP3
00002298: ADD
00002299: MSTORE
0000229a: PUSH1 0x1d
0000229c: PUSH1 0x24
0000229e: DUP3
0000229f: ADD
000022a0: MSTORE
000022a1: PUSH32 0x45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000
000022c2: PUSH1 0x44
000022c4: DUP3
000022c5: ADD
000022c6: MSTORE
000022c7: PUSH1 0x64
000022c9: ADD
000022ca: PUSH2 0x0fc5
000022cd: JUMP
000022ce: JUMPDEST
000022cf: PUSH2 0x22db
000022d2: DUP5
000022d3: DUP5
000022d4: DUP5
000022d5: DUP5
000022d6: SUB
000022d7: PUSH2 0x20cb
000022da: JUMP
000022db: JUMPDEST
000022dc: POP
000022dd: POP
000022de: POP
000022df: POP
000022e0: JUMP
000022e1: JUMPDEST
000022e2: PUSH1 0x01
000022e4: PUSH1 0x01
000022e6: PUSH1 0xa0
000022e8: SHL
000022e9: SUB
000022ea: DUP4
000022eb: AND
000022ec: PUSH2 0x235d
000022ef: JUMPI
000022f0: PUSH1 0x40
000022f2: MLOAD
000022f3: PUSH3 0x461bcd
000022f7: PUSH1 0xe5
000022f9: SHL
000022fa: DUP2
000022fb: MSTORE
000022fc: PUSH1 0x20
000022fe: PUSH1 0x04
00002300: DUP3
00002301: ADD
00002302: MSTORE
00002303: PUSH1 0x25
00002305: PUSH1 0x24
00002307: DUP3
00002308: ADD
00002309: MSTORE
0000230a: PUSH32 0x45524332303a207472616e736665722066726f6d20746865207a65726f206164
0000232b: PUSH1 0x44
0000232d: DUP3
0000232e: ADD
0000232f: MSTORE
00002330: PUSH32 0x6472657373000000000000000000000000000000000000000000000000000000
00002351: PUSH1 0x64
00002353: DUP3
00002354: ADD
00002355: MSTORE
00002356: PUSH1 0x84
00002358: ADD
00002359: PUSH2 0x0fc5
0000235c: JUMP
0000235d: JUMPDEST
0000235e: PUSH1 0x01
00002360: PUSH1 0x01
00002362: PUSH1 0xa0
00002364: SHL
00002365: SUB
00002366: DUP3
00002367: AND
00002368: PUSH2 0x23d9
0000236b: JUMPI
0000236c: PUSH1 0x40
0000236e: MLOAD
0000236f: PUSH3 0x461bcd
00002373: PUSH1 0xe5
00002375: SHL
00002376: DUP2
00002377: MSTORE
00002378: PUSH1 0x20
0000237a: PUSH1 0x04
0000237c: DUP3
0000237d: ADD
0000237e: MSTORE
0000237f: PUSH1 0x23
00002381: PUSH1 0x24
00002383: DUP3
00002384: ADD
00002385: MSTORE
00002386: PUSH32 0x45524332303a207472616e7366657220746f20746865207a65726f2061646472
000023a7: PUSH1 0x44
000023a9: DUP3
000023aa: ADD
000023ab: MSTORE
000023ac: PUSH32 0x6573730000000000000000000000000000000000000000000000000000000000
000023cd: PUSH1 0x64
000023cf: DUP3
000023d0: ADD
000023d1: MSTORE
000023d2: PUSH1 0x84
000023d4: ADD
000023d5: PUSH2 0x0fc5
000023d8: JUMP
000023d9: JUMPDEST
000023da: PUSH1 0x01
000023dc: PUSH1 0x01
000023de: PUSH1 0xa0
000023e0: SHL
000023e1: SUB
000023e2: DUP4
000023e3: AND
000023e4: PUSH1 0x00
000023e6: SWAP1
000023e7: DUP2
000023e8: MSTORE
000023e9: PUSH1 0x20
000023eb: DUP2
000023ec: SWAP1
000023ed: MSTORE
000023ee: PUSH1 0x40
000023f0: SWAP1
000023f1: KECCAK256
000023f2: SLOAD
000023f3: DUP2
000023f4: DUP2
000023f5: LT
000023f6: ISZERO
000023f7: PUSH2 0x2468
000023fa: JUMPI
000023fb: PUSH1 0x40
000023fd: MLOAD
000023fe: PUSH3 0x461bcd
00002402: PUSH1 0xe5
00002404: SHL
00002405: DUP2
00002406: MSTORE
00002407: PUSH1 0x20
00002409: PUSH1 0x04
0000240b: DUP3
0000240c: ADD
0000240d: MSTORE
0000240e: PUSH1 0x26
00002410: PUSH1 0x24
00002412: DUP3
00002413: ADD
00002414: MSTORE
00002415: PUSH32 0x45524332303a207472616e7366657220616d6f756e7420657863656564732062
00002436: PUSH1 0x44
00002438: DUP3
00002439: ADD
0000243a: MSTORE
0000243b: PUSH32 0x616c616e63650000000000000000000000000000000000000000000000000000
0000245c: PUSH1 0x64
0000245e: DUP3
0000245f: ADD
00002460: MSTORE
00002461: PUSH1 0x84
00002463: ADD
00002464: PUSH2 0x0fc5
00002467: JUMP
00002468: JUMPDEST
00002469: PUSH1 0x01
0000246b: PUSH1 0x01
0000246d: PUSH1 0xa0
0000246f: SHL
00002470: SUB
00002471: DUP5
00002472: DUP2
00002473: AND
00002474: PUSH1 0x00
00002476: DUP2
00002477: DUP2
00002478: MSTORE
00002479: PUSH1 0x20
0000247b: DUP2
0000247c: DUP2
0000247d: MSTORE
0000247e: PUSH1 0x40
00002480: DUP1
00002481: DUP4
00002482: KECCAK256
00002483: DUP8
00002484: DUP8
00002485: SUB
00002486: SWAP1
00002487: SSTORE
00002488: SWAP4
00002489: DUP8
0000248a: AND
0000248b: DUP1
0000248c: DUP4
0000248d: MSTORE
0000248e: SWAP2
0000248f: DUP5
00002490: SWAP1
00002491: KECCAK256
00002492: DUP1
00002493: SLOAD
00002494: DUP8
00002495: ADD
00002496: SWAP1
00002497: SSTORE
00002498: SWAP3
00002499: MLOAD
0000249a: DUP6
0000249b: DUP2
0000249c: MSTORE
0000249d: SWAP1
0000249e: SWAP3
0000249f: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
000024c0: SWAP2
000024c1: ADD
000024c2: PUSH1 0x40
000024c4: MLOAD
000024c5: DUP1
000024c6: SWAP2
000024c7: SUB
000024c8: SWAP1
000024c9: LOG3
000024ca: PUSH2 0x22db
000024cd: JUMP
000024ce: JUMPDEST
000024cf: PUSH1 0x00
000024d1: DUP3
000024d2: PUSH1 0x01
000024d4: PUSH1 0x01
000024d6: PUSH1 0xa0
000024d8: SHL
000024d9: SUB
000024da: AND
000024db: DUP3
000024dc: PUSH1 0x40
000024de: MLOAD
000024df: PUSH1 0x00
000024e1: PUSH1 0x40
000024e3: MLOAD
000024e4: DUP1
000024e5: DUP4
000024e6: SUB
000024e7: DUP2
000024e8: DUP6
000024e9: DUP8
000024ea: GAS
000024eb: CALL
000024ec: SWAP3
000024ed: POP
000024ee: POP
000024ef: POP
000024f0: RETURNDATASIZE
000024f1: DUP1
000024f2: PUSH1 0x00
000024f4: DUP2
000024f5: EQ
000024f6: PUSH2 0x251b
000024f9: JUMPI
000024fa: PUSH1 0x40
000024fc: MLOAD
000024fd: SWAP2
000024fe: POP
000024ff: PUSH1 0x1f
00002501: NOT
00002502: PUSH1 0x3f
00002504: RETURNDATASIZE
00002505: ADD
00002506: AND
00002507: DUP3
00002508: ADD
00002509: PUSH1 0x40
0000250b: MSTORE
0000250c: RETURNDATASIZE
0000250d: DUP3
0000250e: MSTORE
0000250f: RETURNDATASIZE
00002510: PUSH1 0x00
00002512: PUSH1 0x20
00002514: DUP5
00002515: ADD
00002516: RETURNDATACOPY
00002517: PUSH2 0x2520
0000251a: JUMP
0000251b: JUMPDEST
0000251c: PUSH1 0x60
0000251e: SWAP2
0000251f: POP
00002520: JUMPDEST
00002521: POP
00002522: POP
00002523: SWAP1
00002524: POP
00002525: DUP1
00002526: PUSH2 0x2571
00002529: JUMPI
0000252a: PUSH1 0x40
0000252c: MLOAD
0000252d: PUSH3 0x461bcd
00002531: PUSH1 0xe5
00002533: SHL
00002534: DUP2
00002535: MSTORE
00002536: PUSH1 0x20
00002538: PUSH1 0x04
0000253a: DUP3
0000253b: ADD
0000253c: MSTORE
0000253d: PUSH1 0x16
0000253f: PUSH1 0x24
00002541: DUP3
00002542: ADD
00002543: MSTORE
00002544: PUSH32 0x43616c6c20776974682076616c7565206661696c656400000000000000000000
00002565: PUSH1 0x44
00002567: DUP3
00002568: ADD
00002569: MSTORE
0000256a: PUSH1 0x64
0000256c: ADD
0000256d: PUSH2 0x0fc5
00002570: JUMP
00002571: JUMPDEST
00002572: POP
00002573: POP
00002574: POP
00002575: JUMP
00002576: JUMPDEST
00002577: PUSH1 0x00
00002579: DUP1
0000257a: PUSH2 0x2587
0000257d: DUP9
0000257e: DUP9
0000257f: DUP9
00002580: DUP9
00002581: DUP9
00002582: DUP9
00002583: PUSH2 0x3066
00002586: JUMP
00002587: JUMPDEST
00002588: PUSH1 0x40
0000258a: DUP1
0000258b: MLOAD
0000258c: PUSH2 0x1901
0000258f: PUSH1 0xf0
00002591: SHL
00002592: PUSH1 0x20
00002594: DUP1
00002595: DUP4
00002596: ADD
00002597: SWAP2
00002598: SWAP1
00002599: SWAP2
0000259a: MSTORE
0000259b: PUSH32 0x9c375120fd1b2b9e0dd15884920fbd98721138d35a3734a1c079ce8cf5d24762
000025bc: PUSH1 0x22
000025be: DUP4
000025bf: ADD
000025c0: MSTORE
000025c1: PUSH1 0x42
000025c3: DUP1
000025c4: DUP4
000025c5: ADD
000025c6: SWAP5
000025c7: SWAP1
000025c8: SWAP5
000025c9: MSTORE
000025ca: DUP3
000025cb: MLOAD
000025cc: DUP1
000025cd: DUP4
000025ce: SUB
000025cf: SWAP1
000025d0: SWAP5
000025d1: ADD
000025d2: DUP5
000025d3: MSTORE
000025d4: PUSH1 0x62
000025d6: SWAP1
000025d7: SWAP2
000025d8: ADD
000025d9: SWAP1
000025da: SWAP2
000025db: MSTORE
000025dc: DUP2
000025dd: MLOAD
000025de: SWAP2
000025df: ADD
000025e0: KECCAK256
000025e1: SWAP9
000025e2: SWAP8
000025e3: POP
000025e4: POP
000025e5: POP
000025e6: POP
000025e7: POP
000025e8: POP
000025e9: POP
000025ea: POP
000025eb: JUMP
000025ec: JUMPDEST
000025ed: PUSH1 0x00
000025ef: PUSH2 0x260e
000025f2: DUP4
000025f3: PUSH2 0x25ff
000025f6: PUSH1 0x20
000025f8: DUP6
000025f9: ADD
000025fa: DUP6
000025fb: PUSH2 0x46e8
000025fe: JUMP
000025ff: JUMPDEST
00002600: DUP5
00002601: PUSH1 0x20
00002603: ADD
00002604: CALLDATALOAD
00002605: DUP6
00002606: PUSH1 0x40
00002608: ADD
00002609: CALLDATALOAD
0000260a: PUSH2 0x303e
0000260d: JUMP
0000260e: JUMPDEST
0000260f: SWAP1
00002610: POP
00002611: PUSH32 0x00000000000000000000000008938a61ba9523298dbcacee0cda5b371fb7f1f8
00002632: PUSH1 0x01
00002634: PUSH1 0x01
00002636: PUSH1 0xa0
00002638: SHL
00002639: SUB
0000263a: AND
0000263b: DUP2
0000263c: PUSH1 0x01
0000263e: PUSH1 0x01
00002640: PUSH1 0xa0
00002642: SHL
00002643: SUB
00002644: AND
00002645: EQ
00002646: PUSH2 0x2571
00002649: JUMPI
0000264a: PUSH2 0x269f
0000264d: DUP4
0000264e: ORIGIN
0000264f: PUSH1 0x40
00002651: MLOAD
00002652: PUSH1 0x20
00002654: ADD
00002655: PUSH2 0x267a
00002658: SWAP3
00002659: SWAP2
0000265a: SWAP1
0000265b: SWAP2
0000265c: DUP3
0000265d: MSTORE
0000265e: PUSH1 0x60
00002660: SHL
00002661: PUSH12 0xffffffffffffffffffffffff
0000266e: NOT
0000266f: AND
00002670: PUSH1 0x20
00002672: DUP3
00002673: ADD
00002674: MSTORE
00002675: PUSH1 0x34
00002677: ADD
00002678: SWAP1
00002679: JUMP
0000267a: JUMPDEST
0000267b: PUSH1 0x40
0000267d: DUP1
0000267e: MLOAD
0000267f: PUSH1 0x1f
00002681: NOT
00002682: DUP2
00002683: DUP5
00002684: SUB
00002685: ADD
00002686: DUP2
00002687: MSTORE
00002688: SWAP2
00002689: SWAP1
0000268a: MSTORE
0000268b: DUP1
0000268c: MLOAD
0000268d: PUSH1 0x20
0000268f: SWAP2
00002690: DUP3
00002691: ADD
00002692: KECCAK256
00002693: SWAP1
00002694: PUSH2 0x25ff
00002697: SWAP1
00002698: DUP6
00002699: ADD
0000269a: DUP6
0000269b: PUSH2 0x46e8
0000269e: JUMP
0000269f: JUMPDEST
000026a0: SWAP1
000026a1: POP
000026a2: PUSH32 0x00000000000000000000000008938a61ba9523298dbcacee0cda5b371fb7f1f8
000026c3: PUSH1 0x01
000026c5: PUSH1 0x01
000026c7: PUSH1 0xa0
000026c9: SHL
000026ca: SUB
000026cb: AND
000026cc: DUP2
000026cd: PUSH1 0x01
000026cf: PUSH1 0x01
000026d1: PUSH1 0xa0
000026d3: SHL
000026d4: SUB
000026d5: AND
000026d6: EQ
000026d7: PUSH2 0x2571
000026da: JUMPI
000026db: PUSH1 0x40
000026dd: MLOAD
000026de: PUSH32 0x616876a500000000000000000000000000000000000000000000000000000000
000026ff: DUP2
00002700: MSTORE
00002701: PUSH1 0x04
00002703: ADD
00002704: PUSH1 0x40
00002706: MLOAD
00002707: DUP1
00002708: SWAP2
00002709: SUB
0000270a: SWAP1
0000270b: REVERT
0000270c: JUMPDEST
0000270d: PUSH1 0x00
0000270f: DUP1
00002710: DUP3
00002711: PUSH4 0xffffffff
00002716: AND
00002717: DUP1
00002718: TIMESTAMP
00002719: GT
0000271a: ISZERO
0000271b: PUSH2 0x2759
0000271e: JUMPI
0000271f: PUSH1 0x40
00002721: MLOAD
00002722: PUSH3 0x461bcd
00002726: PUSH1 0xe5
00002728: SHL
00002729: DUP2
0000272a: MSTORE
0000272b: PUSH1 0x20
0000272d: PUSH1 0x04
0000272f: DUP3
00002730: ADD
00002731: MSTORE
00002732: PUSH1 0x10
00002734: PUSH1 0x24
00002736: DUP3
00002737: ADD
00002738: MSTORE
00002739: PUSH16 0x10db1a5c1c195c8e88115e1c1a5c9959
0000274a: PUSH1 0x82
0000274c: SHL
0000274d: PUSH1 0x44
0000274f: DUP3
00002750: ADD
00002751: MSTORE
00002752: PUSH1 0x64
00002754: ADD
00002755: PUSH2 0x0fc5
00002758: JUMP
00002759: JUMPDEST
0000275a: PUSH1 0x00
0000275c: DUP1
0000275d: PUSH1 0x00
0000275f: DUP1
00002760: PUSH2 0x2768
00002763: DUP9
00002764: PUSH2 0x31ad
00002767: JUMP
00002768: JUMPDEST
00002769: SWAP4
0000276a: POP
0000276b: SWAP4
0000276c: POP
0000276d: SWAP4
0000276e: POP
0000276f: SWAP4
00002770: POP
00002771: PUSH2 0x2798
00002774: DUP11
00002775: PUSH1 0x01
00002777: PUSH1 0x01
00002779: PUSH1 0xa0
0000277b: SHL
0000277c: SUB
0000277d: AND
0000277e: PUSH1 0x00
00002780: SWAP1
00002781: DUP2
00002782: MSTORE
00002783: PUSH1 0x06
00002785: PUSH1 0x20
00002787: MSTORE
00002788: PUSH1 0x40
0000278a: SWAP1
0000278b: KECCAK256
0000278c: SLOAD
0000278d: PUSH1 0x01
0000278f: PUSH1 0x01
00002791: PUSH1 0xe0
00002793: SHL
00002794: SUB
00002795: AND
00002796: SWAP1
00002797: JUMP
00002798: JUMPDEST
00002799: SWAP7
0000279a: POP
0000279b: PUSH2 0x27c2
0000279e: DUP10
0000279f: PUSH1 0x01
000027a1: PUSH1 0x01
000027a3: PUSH1 0xa0
000027a5: SHL
000027a6: SUB
000027a7: AND
000027a8: PUSH1 0x00
000027aa: SWAP1
000027ab: DUP2
000027ac: MSTORE
000027ad: PUSH1 0x06
000027af: PUSH1 0x20
000027b1: MSTORE
000027b2: PUSH1 0x40
000027b4: SWAP1
000027b5: KECCAK256
000027b6: SLOAD
000027b7: PUSH1 0x01
000027b9: PUSH1 0x01
000027bb: PUSH1 0xe0
000027bd: SHL
000027be: SUB
000027bf: AND
000027c0: SWAP1
000027c1: JUMP
000027c2: JUMPDEST
000027c3: SWAP6
000027c4: POP
000027c5: PUSH2 0x27d2
000027c8: DUP8
000027c9: DUP8
000027ca: DUP7
000027cb: DUP7
000027cc: DUP7
000027cd: DUP7
000027ce: PUSH2 0x322c
000027d1: JUMP
000027d2: JUMPDEST
000027d3: PUSH2 0x2808
000027d6: JUMPI
000027d7: PUSH1 0x40
000027d9: MLOAD
000027da: PUSH32 0xa899aa1300000000000000000000000000000000000000000000000000000000
000027fb: DUP2
000027fc: MSTORE
000027fd: PUSH1 0x04
000027ff: ADD
00002800: PUSH1 0x40
00002802: MLOAD
00002803: DUP1
00002804: SWAP2
00002805: SUB
00002806: SWAP1
00002807: REVERT
00002808: JUMPDEST
00002809: POP
0000280a: POP
0000280b: POP
0000280c: POP
0000280d: POP
0000280e: SWAP4
0000280f: POP
00002810: SWAP4
00002811: SWAP2
00002812: POP
00002813: POP
00002814: JUMP
00002815: JUMPDEST
00002816: PUSH1 0x00
00002818: PUSH2 0x2820
0000281b: DUP4
0000281c: PUSH2 0x32e9
0000281f: JUMP
00002820: JUMPDEST
00002821: POP
00002822: SWAP1
00002823: POP
00002824: PUSH2 0x282d
00002827: DUP2
00002828: DUP4
00002829: PUSH2 0x3380
0000282c: JUMP
0000282d: JUMPDEST
0000282e: PUSH1 0x01
00002830: PUSH1 0x01
00002832: PUSH1 0xa0
00002834: SHL
00002835: SUB
00002836: SWAP1
00002837: SWAP4
00002838: AND
00002839: PUSH1 0x00
0000283b: SWAP1
0000283c: DUP2
0000283d: MSTORE
0000283e: PUSH1 0x06
00002840: PUSH1 0x20
00002842: MSTORE
00002843: PUSH1 0x40
00002845: SWAP1
00002846: KECCAK256
00002847: SWAP3
00002848: SWAP1
00002849: SWAP3
0000284a: SSTORE
0000284b: POP
0000284c: POP
0000284d: JUMP
0000284e: JUMPDEST
0000284f: PUSH1 0x40
00002851: MLOAD
00002852: PUSH1 0x01
00002854: PUSH1 0x01
00002856: PUSH1 0xa0
00002858: SHL
00002859: SUB
0000285a: DUP4
0000285b: AND
0000285c: PUSH1 0x24
0000285e: DUP3
0000285f: ADD
00002860: MSTORE
00002861: PUSH1 0x44
00002863: DUP2
00002864: ADD
00002865: DUP3
00002866: SWAP1
00002867: MSTORE
00002868: PUSH2 0x2571
0000286b: SWAP1
0000286c: DUP5
0000286d: SWAP1
0000286e: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
0000288f: SWAP1
00002890: PUSH1 0x64
00002892: ADD
00002893: JUMPDEST
00002894: PUSH1 0x40
00002896: DUP1
00002897: MLOAD
00002898: PUSH1 0x1f
0000289a: NOT
0000289b: DUP2
0000289c: DUP5
0000289d: SUB
0000289e: ADD
0000289f: DUP2
000028a0: MSTORE
000028a1: SWAP2
000028a2: SWAP1
000028a3: MSTORE
000028a4: PUSH1 0x20
000028a6: DUP2
000028a7: ADD
000028a8: DUP1
000028a9: MLOAD
000028aa: PUSH1 0x01
000028ac: PUSH1 0x01
000028ae: PUSH1 0xe0
000028b0: SHL
000028b1: SUB
000028b2: AND
000028b3: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
000028d4: SWAP1
000028d5: SWAP4
000028d6: AND
000028d7: SWAP3
000028d8: SWAP1
000028d9: SWAP3
000028da: OR
000028db: SWAP1
000028dc: SWAP2
000028dd: MSTORE
000028de: PUSH2 0x33c4
000028e1: JUMP
000028e2: JUMPDEST
000028e3: PUSH1 0x0a
000028e5: SLOAD
000028e6: PUSH1 0x01
000028e8: PUSH1 0x01
000028ea: PUSH1 0xa0
000028ec: SHL
000028ed: SUB
000028ee: AND
000028ef: CALLER
000028f0: EQ
000028f1: PUSH2 0x0ec8
000028f4: JUMPI
000028f5: PUSH1 0x40
000028f7: MLOAD
000028f8: PUSH3 0x461bcd
000028fc: PUSH1 0xe5
000028fe: SHL
000028ff: DUP2
00002900: MSTORE
00002901: PUSH1 0x20
00002903: PUSH1 0x04
00002905: DUP3
00002906: ADD
00002907: DUP2
00002908: SWAP1
00002909: MSTORE
0000290a: PUSH1 0x24
0000290c: DUP3
0000290d: ADD
0000290e: MSTORE
0000290f: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00002930: PUSH1 0x44
00002932: DUP3
00002933: ADD
00002934: MSTORE
00002935: PUSH1 0x64
00002937: ADD
00002938: PUSH2 0x0fc5
0000293b: JUMP
0000293c: JUMPDEST
0000293d: PUSH1 0x00
0000293f: PUSH2 0x0b53
00002942: DUP4
00002943: PUSH1 0x01
00002945: PUSH1 0x01
00002947: PUSH1 0xa0
00002949: SHL
0000294a: SUB
0000294b: DUP5
0000294c: AND
0000294d: PUSH2 0x34a9
00002950: JUMP
00002951: JUMPDEST
00002952: PUSH2 0x0d11
00002955: DUP2
00002956: PUSH2 0x0c45
00002959: DUP4
0000295a: PUSH2 0x29af
0000295d: JUMP
0000295e: JUMPDEST
0000295f: PUSH1 0x40
00002961: MLOAD
00002962: PUSH1 0x01
00002964: PUSH1 0x01
00002966: PUSH1 0xa0
00002968: SHL
00002969: SUB
0000296a: DUP1
0000296b: DUP6
0000296c: AND
0000296d: PUSH1 0x24
0000296f: DUP4
00002970: ADD
00002971: MSTORE
00002972: DUP4
00002973: AND
00002974: PUSH1 0x44
00002976: DUP3
00002977: ADD
00002978: MSTORE
00002979: PUSH1 0x64
0000297b: DUP2
0000297c: ADD
0000297d: DUP3
0000297e: SWAP1
0000297f: MSTORE
00002980: PUSH2 0x22db
00002983: SWAP1
00002984: DUP6
00002985: SWAP1
00002986: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000
000029a7: SWAP1
000029a8: PUSH1 0x84
000029aa: ADD
000029ab: PUSH2 0x2893
000029ae: JUMP
000029af: JUMPDEST
000029b0: PUSH1 0x40
000029b2: DUP1
000029b3: MLOAD
000029b4: ADDRESS
000029b5: PUSH1 0x24
000029b7: DUP1
000029b8: DUP4
000029b9: ADD
000029ba: SWAP2
000029bb: SWAP1
000029bc: SWAP2
000029bd: MSTORE
000029be: DUP3
000029bf: MLOAD
000029c0: DUP1
000029c1: DUP4
000029c2: SUB
000029c3: SWAP1
000029c4: SWAP2
000029c5: ADD
000029c6: DUP2
000029c7: MSTORE
000029c8: PUSH1 0x44
000029ca: SWAP1
000029cb: SWAP2
000029cc: ADD
000029cd: DUP3
000029ce: MSTORE
000029cf: PUSH1 0x20
000029d1: DUP2
000029d2: ADD
000029d3: DUP1
000029d4: MLOAD
000029d5: PUSH1 0x01
000029d7: PUSH1 0x01
000029d9: PUSH1 0xe0
000029db: SHL
000029dc: SUB
000029dd: AND
000029de: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
000029ff: OR
00002a00: SWAP1
00002a01: MSTORE
00002a02: SWAP1
00002a03: MLOAD
00002a04: PUSH1 0x00
00002a06: SWAP2
00002a07: DUP3
00002a08: SWAP2
00002a09: DUP3
00002a0a: SWAP2
00002a0b: PUSH1 0x01
00002a0d: PUSH1 0x01
00002a0f: PUSH1 0xa0
00002a11: SHL
00002a12: SUB
00002a13: DUP7
00002a14: AND
00002a15: SWAP2
00002a16: PUSH2 0x2a1f
00002a19: SWAP2
00002a1a: SWAP1
00002a1b: PUSH2 0x4703
00002a1e: JUMP
00002a1f: JUMPDEST
00002a20: PUSH1 0x00
00002a22: PUSH1 0x40
00002a24: MLOAD
00002a25: DUP1
00002a26: DUP4
00002a27: SUB
00002a28: DUP2
00002a29: DUP6
00002a2a: GAS
00002a2b: STATICCALL
00002a2c: SWAP2
00002a2d: POP
00002a2e: POP
00002a2f: RETURNDATASIZE
00002a30: DUP1
00002a31: PUSH1 0x00
00002a33: DUP2
00002a34: EQ
00002a35: PUSH2 0x2a5a
00002a38: JUMPI
00002a39: PUSH1 0x40
00002a3b: MLOAD
00002a3c: SWAP2
00002a3d: POP
00002a3e: PUSH1 0x1f
00002a40: NOT
00002a41: PUSH1 0x3f
00002a43: RETURNDATASIZE
00002a44: ADD
00002a45: AND
00002a46: DUP3
00002a47: ADD
00002a48: PUSH1 0x40
00002a4a: MSTORE
00002a4b: RETURNDATASIZE
00002a4c: DUP3
00002a4d: MSTORE
00002a4e: RETURNDATASIZE
00002a4f: PUSH1 0x00
00002a51: PUSH1 0x20
00002a53: DUP5
00002a54: ADD
00002a55: RETURNDATACOPY
00002a56: PUSH2 0x2a5f
00002a59: JUMP
00002a5a: JUMPDEST
00002a5b: PUSH1 0x60
00002a5d: SWAP2
00002a5e: POP
00002a5f: JUMPDEST
00002a60: POP
00002a61: SWAP2
00002a62: POP
00002a63: SWAP2
00002a64: POP
00002a65: DUP2
00002a66: DUP1
00002a67: ISZERO
00002a68: PUSH2 0x2a73
00002a6b: JUMPI
00002a6c: POP
00002a6d: PUSH1 0x20
00002a6f: DUP2
00002a70: MLOAD
00002a71: LT
00002a72: ISZERO
00002a73: JUMPDEST
00002a74: PUSH2 0x2a7c
00002a77: JUMPI
00002a78: PUSH1 0x00
00002a7a: DUP1
00002a7b: REVERT
00002a7c: JUMPDEST
00002a7d: DUP1
00002a7e: DUP1
00002a7f: PUSH1 0x20
00002a81: ADD
00002a82: SWAP1
00002a83: MLOAD
00002a84: DUP2
00002a85: ADD
00002a86: SWAP1
00002a87: PUSH2 0x2a90
00002a8a: SWAP2
00002a8b: SWAP1
00002a8c: PUSH2 0x471f
00002a8f: JUMP
00002a90: JUMPDEST
00002a91: SWAP5
00002a92: SWAP4
00002a93: POP
00002a94: POP
00002a95: POP
00002a96: POP
00002a97: JUMP
00002a98: JUMPDEST
00002a99: PUSH1 0x00
00002a9b: DUP4
00002a9c: DUP4
00002a9d: SUB
00002a9e: PUSH2 0x2aa8
00002aa1: JUMPI
00002aa2: POP
00002aa3: DUP1
00002aa4: PUSH2 0x0b53
00002aa7: JUMP
00002aa8: JUMPDEST
00002aa9: PUSH1 0x00
00002aab: DUP5
00002aac: PUSH2 0x2aba
00002aaf: DUP6
00002ab0: PUSH5 0x02540be400
00002ab6: PUSH2 0x46af
00002ab9: JUMP
00002aba: JUMPDEST
00002abb: PUSH2 0x2ac4
00002abe: SWAP2
00002abf: SWAP1
00002ac0: PUSH2 0x46c6
00002ac3: JUMP
00002ac4: JUMPDEST
00002ac5: SWAP1
00002ac6: POP
00002ac7: PUSH2 0x2ad9
00002aca: PUSH5 0x02540be400
00002ad0: PUSH4 0x02faf080
00002ad5: PUSH2 0x464c
00002ad8: JUMP
00002ad9: JUMPDEST
00002ada: DUP2
00002adb: LT
00002adc: PUSH2 0x2b10
00002adf: JUMPI
00002ae0: PUSH5 0x02540be400
00002ae6: DUP4
00002ae7: PUSH2 0x2af4
00002aea: DUP3
00002aeb: PUSH4 0x02faf080
00002af0: PUSH2 0x464c
00002af3: JUMP
00002af4: JUMPDEST
00002af5: PUSH2 0x2afe
00002af8: SWAP2
00002af9: SWAP1
00002afa: PUSH2 0x46af
00002afd: JUMP
00002afe: JUMPDEST
00002aff: PUSH2 0x2b08
00002b02: SWAP2
00002b03: SWAP1
00002b04: PUSH2 0x46c6
00002b07: JUMP
00002b08: JUMPDEST
00002b09: SWAP2
00002b0a: POP
00002b0b: POP
00002b0c: PUSH2 0x0b53
00002b0f: JUMP
00002b10: JUMPDEST
00002b11: PUSH5 0x02540be400
00002b17: PUSH2 0x2afe
00002b1a: DUP5
00002b1b: DUP4
00002b1c: PUSH2 0x46af
00002b1f: JUMP
00002b20: JUMPDEST
00002b21: PUSH1 0x00
00002b23: ADDRESS
00002b24: PUSH1 0x01
00002b26: PUSH1 0x01
00002b28: PUSH1 0xa0
00002b2a: SHL
00002b2b: SUB
00002b2c: PUSH32 0x000000000000000000000000655edce464cc797526600a462a8154650eee4b77
00002b4d: AND
00002b4e: EQ
00002b4f: DUP1
00002b50: ISZERO
00002b51: PUSH2 0x2b79
00002b54: JUMPI
00002b55: POP
00002b56: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001
00002b77: CHAINID
00002b78: EQ
00002b79: JUMPDEST
00002b7a: ISZERO
00002b7b: PUSH2 0x2ba3
00002b7e: JUMPI
00002b7f: POP
00002b80: PUSH32 0xf18ab41bcbc20675c913a88c50731c12607d317d5a9f2854a69051ac5c6d7e6d
00002ba1: SWAP1
00002ba2: JUMP
00002ba3: JUMPDEST
00002ba4: POP
00002ba5: PUSH1 0x40
00002ba7: DUP1
00002ba8: MLOAD
00002ba9: PUSH32 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f
00002bca: PUSH1 0x20
00002bcc: DUP1
00002bcd: DUP4
00002bce: ADD
00002bcf: SWAP2
00002bd0: SWAP1
00002bd1: SWAP2
00002bd2: MSTORE
00002bd3: PUSH32 0x9c6cb91ae6995c4f98d5c96a94038cb2c21550a5e2fba91ca66049240423046c
00002bf4: DUP3
00002bf5: DUP5
00002bf6: ADD
00002bf7: MSTORE
00002bf8: PUSH32 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6
00002c19: PUSH1 0x60
00002c1b: DUP4
00002c1c: ADD
00002c1d: MSTORE
00002c1e: CHAINID
00002c1f: PUSH1 0x80
00002c21: DUP4
00002c22: ADD
00002c23: MSTORE
00002c24: ADDRESS
00002c25: PUSH1 0xa0
00002c27: DUP1
00002c28: DUP5
00002c29: ADD
00002c2a: SWAP2
00002c2b: SWAP1
00002c2c: SWAP2
00002c2d: MSTORE
00002c2e: DUP4
00002c2f: MLOAD
00002c30: DUP1
00002c31: DUP5
00002c32: SUB
00002c33: SWAP1
00002c34: SWAP2
00002c35: ADD
00002c36: DUP2
00002c37: MSTORE
00002c38: PUSH1 0xc0
00002c3a: SWAP1
00002c3b: SWAP3
00002c3c: ADD
00002c3d: SWAP1
00002c3e: SWAP3
00002c3f: MSTORE
00002c40: DUP1
00002c41: MLOAD
00002c42: SWAP2
00002c43: ADD
00002c44: KECCAK256
00002c45: SWAP1
00002c46: JUMP
00002c47: JUMPDEST
00002c48: PUSH1 0x01
00002c4a: PUSH1 0x01
00002c4c: PUSH1 0xa0
00002c4e: SHL
00002c4f: SUB
00002c50: DUP3
00002c51: AND
00002c52: PUSH2 0x2cc3
00002c55: JUMPI
00002c56: PUSH1 0x40
00002c58: MLOAD
00002c59: PUSH3 0x461bcd
00002c5d: PUSH1 0xe5
00002c5f: SHL
00002c60: DUP2
00002c61: MSTORE
00002c62: PUSH1 0x20
00002c64: PUSH1 0x04
00002c66: DUP3
00002c67: ADD
00002c68: MSTORE
00002c69: PUSH1 0x21
00002c6b: PUSH1 0x24
00002c6d: DUP3
00002c6e: ADD
00002c6f: MSTORE
00002c70: PUSH32 0x45524332303a206275726e2066726f6d20746865207a65726f20616464726573
00002c91: PUSH1 0x44
00002c93: DUP3
00002c94: ADD
00002c95: MSTORE
00002c96: PUSH32 0x7300000000000000000000000000000000000000000000000000000000000000
00002cb7: PUSH1 0x64
00002cb9: DUP3
00002cba: ADD
00002cbb: MSTORE
00002cbc: PUSH1 0x84
00002cbe: ADD
00002cbf: PUSH2 0x0fc5
00002cc2: JUMP
00002cc3: JUMPDEST
00002cc4: PUSH1 0x01
00002cc6: PUSH1 0x01
00002cc8: PUSH1 0xa0
00002cca: SHL
00002ccb: SUB
00002ccc: DUP3
00002ccd: AND
00002cce: PUSH1 0x00
00002cd0: SWAP1
00002cd1: DUP2
00002cd2: MSTORE
00002cd3: PUSH1 0x20
00002cd5: DUP2
00002cd6: SWAP1
00002cd7: MSTORE
00002cd8: PUSH1 0x40
00002cda: SWAP1
00002cdb: KECCAK256
00002cdc: SLOAD
00002cdd: DUP2
00002cde: DUP2
00002cdf: LT
00002ce0: ISZERO
00002ce1: PUSH2 0x2d52
00002ce4: JUMPI
00002ce5: PUSH1 0x40
00002ce7: MLOAD
00002ce8: PUSH3 0x461bcd
00002cec: PUSH1 0xe5
00002cee: SHL
00002cef: DUP2
00002cf0: MSTORE
00002cf1: PUSH1 0x20
00002cf3: PUSH1 0x04
00002cf5: DUP3
00002cf6: ADD
00002cf7: MSTORE
00002cf8: PUSH1 0x22
00002cfa: PUSH1 0x24
00002cfc: DUP3
00002cfd: ADD
00002cfe: MSTORE
00002cff: PUSH32 0x45524332303a206275726e20616d6f756e7420657863656564732062616c616e
00002d20: PUSH1 0x44
00002d22: DUP3
00002d23: ADD
00002d24: MSTORE
00002d25: PUSH32 0x6365000000000000000000000000000000000000000000000000000000000000
00002d46: PUSH1 0x64
00002d48: DUP3
00002d49: ADD
00002d4a: MSTORE
00002d4b: PUSH1 0x84
00002d4d: ADD
00002d4e: PUSH2 0x0fc5
00002d51: JUMP
00002d52: JUMPDEST
00002d53: PUSH1 0x01
00002d55: PUSH1 0x01
00002d57: PUSH1 0xa0
00002d59: SHL
00002d5a: SUB
00002d5b: DUP4
00002d5c: AND
00002d5d: PUSH1 0x00
00002d5f: DUP2
00002d60: DUP2
00002d61: MSTORE
00002d62: PUSH1 0x20
00002d64: DUP2
00002d65: DUP2
00002d66: MSTORE
00002d67: PUSH1 0x40
00002d69: DUP1
00002d6a: DUP4
00002d6b: KECCAK256
00002d6c: DUP7
00002d6d: DUP7
00002d6e: SUB
00002d6f: SWAP1
00002d70: SSTORE
00002d71: PUSH1 0x02
00002d73: DUP1
00002d74: SLOAD
00002d75: DUP8
00002d76: SWAP1
00002d77: SUB
00002d78: SWAP1
00002d79: SSTORE
00002d7a: MLOAD
00002d7b: DUP6
00002d7c: DUP2
00002d7d: MSTORE
00002d7e: SWAP2
00002d7f: SWAP3
00002d80: SWAP2
00002d81: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00002da2: SWAP2
00002da3: ADD
00002da4: PUSH1 0x40
00002da6: MLOAD
00002da7: DUP1
00002da8: SWAP2
00002da9: SUB
00002daa: SWAP1
00002dab: LOG3
00002dac: POP
00002dad: POP
00002dae: POP
00002daf: JUMP
00002db0: JUMPDEST
00002db1: PUSH1 0x00
00002db3: DUP1
00002db4: PUSH1 0x00
00002db6: PUSH2 0x2dbd
00002db9: PUSH2 0x09cf
00002dbc: JUMP
00002dbd: JUMPDEST
00002dbe: SWAP1
00002dbf: POP
00002dc0: JUMPDEST
00002dc1: DUP1
00002dc2: DUP3
00002dc3: LT
00002dc4: ISZERO
00002dc5: PUSH2 0x22db
00002dc8: JUMPI
00002dc9: PUSH1 0x00
00002dcb: PUSH2 0x2dd3
00002dce: DUP4
00002dcf: PUSH2 0x1a47
00002dd2: JUMP
00002dd3: JUMPDEST
00002dd4: SWAP1
00002dd5: POP
00002dd6: PUSH5 0x02540be400
00002ddc: PUSH2 0x2e03
00002ddf: DUP3
00002de0: PUSH1 0x01
00002de2: PUSH1 0x01
00002de4: PUSH1 0xa0
00002de6: SHL
00002de7: SUB
00002de8: AND
00002de9: PUSH1 0x00
00002deb: SWAP1
00002dec: DUP2
00002ded: MSTORE
00002dee: PUSH1 0x06
00002df0: PUSH1 0x20
00002df2: MSTORE
00002df3: PUSH1 0x40
00002df5: SWAP1
00002df6: KECCAK256
00002df7: SLOAD
00002df8: PUSH1 0x01
00002dfa: PUSH1 0x01
00002dfc: PUSH1 0xe0
00002dfe: SHL
00002dff: SUB
00002e00: AND
00002e01: SWAP1
00002e02: JUMP
00002e03: JUMPDEST
00002e04: PUSH2 0x2e0d
00002e07: SWAP1
00002e08: DUP8
00002e09: PUSH2 0x46af
00002e0c: JUMP
00002e0d: JUMPDEST
00002e0e: PUSH2 0x2e17
00002e11: SWAP2
00002e12: SWAP1
00002e13: PUSH2 0x46c6
00002e16: JUMP
00002e17: JUMPDEST
00002e18: SWAP4
00002e19: POP
00002e1a: PUSH2 0x2e24
00002e1d: DUP2
00002e1e: CALLER
00002e1f: DUP7
00002e20: PUSH2 0x34f8
00002e23: JUMP
00002e24: JUMPDEST
00002e25: DUP3
00002e26: PUSH2 0x2e2e
00002e29: DUP2
00002e2a: PUSH2 0x4633
00002e2d: JUMP
00002e2e: JUMPDEST
00002e2f: SWAP4
00002e30: POP
00002e31: POP
00002e32: POP
00002e33: PUSH2 0x2dc0
00002e36: JUMP
00002e37: JUMPDEST
00002e38: PUSH1 0x00
00002e3a: DUP1
00002e3b: PUSH2 0x2587
00002e3e: DUP9
00002e3f: DUP9
00002e40: DUP9
00002e41: DUP9
00002e42: DUP9
00002e43: DUP9
00002e44: PUSH2 0x3527
00002e47: JUMP
00002e48: JUMPDEST
00002e49: DUP2
00002e4a: PUSH1 0x00
00002e4c: SUB
00002e4d: PUSH2 0x2e5a
00002e50: JUMPI
00002e51: PUSH2 0x2571
00002e54: DUP4
00002e55: DUP3
00002e56: PUSH2 0x3666
00002e59: JUMP
00002e5a: JUMPDEST
00002e5b: PUSH2 0x2571
00002e5e: DUP4
00002e5f: DUP4
00002e60: DUP4
00002e61: PUSH2 0x3725
00002e64: JUMP
00002e65: JUMPDEST
00002e66: PUSH1 0x00
00002e68: DUP1
00002e69: PUSH2 0x2e75
00002e6c: DUP8
00002e6d: DUP8
00002e6e: DUP8
00002e6f: DUP8
00002e70: DUP8
00002e71: PUSH2 0x38b1
00002e74: JUMP
00002e75: JUMPDEST
00002e76: PUSH1 0x40
00002e78: DUP1
00002e79: MLOAD
00002e7a: PUSH2 0x1901
00002e7d: PUSH1 0xf0
00002e7f: SHL
00002e80: PUSH1 0x20
00002e82: DUP1
00002e83: DUP4
00002e84: ADD
00002e85: SWAP2
00002e86: SWAP1
00002e87: SWAP2
00002e88: MSTORE
00002e89: PUSH32 0x9c375120fd1b2b9e0dd15884920fbd98721138d35a3734a1c079ce8cf5d24762
00002eaa: PUSH1 0x22
00002eac: DUP4
00002ead: ADD
00002eae: MSTORE
00002eaf: PUSH1 0x42
00002eb1: DUP1
00002eb2: DUP4
00002eb3: ADD
00002eb4: DUP6
00002eb5: SWAP1
00002eb6: MSTORE
00002eb7: DUP4
00002eb8: MLOAD
00002eb9: DUP1
00002eba: DUP5
00002ebb: SUB
00002ebc: SWAP1
00002ebd: SWAP2
00002ebe: ADD
00002ebf: DUP2
00002ec0: MSTORE
00002ec1: PUSH1 0x62
00002ec3: SWAP1
00002ec4: SWAP3
00002ec5: ADD
00002ec6: SWAP1
00002ec7: SWAP3
00002ec8: MSTORE
00002ec9: DUP1
00002eca: MLOAD
00002ecb: SWAP2
00002ecc: ADD
00002ecd: KECCAK256
00002ece: SWAP1
00002ecf: SWAP2
00002ed0: POP
00002ed1: JUMPDEST
00002ed2: SWAP8
00002ed3: SWAP7
00002ed4: POP
00002ed5: POP
00002ed6: POP
00002ed7: POP
00002ed8: POP
00002ed9: POP
00002eda: POP
00002edb: JUMP
00002edc: JUMPDEST
00002edd: PUSH1 0x00
00002edf: DUP1
00002ee0: PUSH2 0x2ee8
00002ee3: DUP5
00002ee4: PUSH2 0x32e9
00002ee7: JUMP
00002ee8: JUMPDEST
00002ee9: SWAP1
00002eea: SWAP3
00002eeb: POP
00002eec: SWAP1
00002eed: POP
00002eee: PUSH2 0x2f00
00002ef1: DUP3
00002ef2: PUSH2 0x2efb
00002ef5: DUP6
00002ef6: DUP5
00002ef7: PUSH2 0x465f
00002efa: JUMP
00002efb: JUMPDEST
00002efc: PUSH2 0x3380
00002eff: JUMP
00002f00: JUMPDEST
00002f01: PUSH1 0x01
00002f03: PUSH1 0x01
00002f05: PUSH1 0xa0
00002f07: SHL
00002f08: SUB
00002f09: SWAP1
00002f0a: SWAP5
00002f0b: AND
00002f0c: PUSH1 0x00
00002f0e: SWAP1
00002f0f: DUP2
00002f10: MSTORE
00002f11: PUSH1 0x06
00002f13: PUSH1 0x20
00002f15: MSTORE
00002f16: PUSH1 0x40
00002f18: SWAP1
00002f19: KECCAK256
00002f1a: SWAP4
00002f1b: SWAP1
00002f1c: SWAP4
00002f1d: SSTORE
00002f1e: POP
00002f1f: POP
00002f20: POP
00002f21: JUMP
00002f22: JUMPDEST
00002f23: PUSH1 0x0a
00002f25: DUP1
00002f26: SLOAD
00002f27: PUSH1 0x01
00002f29: PUSH1 0x01
00002f2b: PUSH1 0xa0
00002f2d: SHL
00002f2e: SUB
00002f2f: DUP4
00002f30: DUP2
00002f31: AND
00002f32: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00002f53: DUP4
00002f54: AND
00002f55: DUP2
00002f56: OR
00002f57: SWAP1
00002f58: SWAP4
00002f59: SSTORE
00002f5a: PUSH1 0x40
00002f5c: MLOAD
00002f5d: SWAP2
00002f5e: AND
00002f5f: SWAP2
00002f60: SWAP1
00002f61: DUP3
00002f62: SWAP1
00002f63: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00002f84: SWAP1
00002f85: PUSH1 0x00
00002f87: SWAP1
00002f88: LOG3
00002f89: POP
00002f8a: POP
00002f8b: JUMP
00002f8c: JUMPDEST
00002f8d: PUSH1 0x00
00002f8f: DUP1
00002f90: PUSH2 0x2587
00002f93: DUP9
00002f94: DUP9
00002f95: DUP9
00002f96: DUP9
00002f97: DUP9
00002f98: DUP9
00002f99: PUSH2 0x39e5
00002f9c: JUMP
00002f9d: JUMPDEST
00002f9e: PUSH1 0x00
00002fa0: PUSH2 0x0b53
00002fa3: DUP4
00002fa4: DUP4
00002fa5: PUSH2 0x3ae6
00002fa8: JUMP
00002fa9: JUMPDEST
00002faa: PUSH1 0x00
00002fac: DUP1
00002fad: PUSH2 0x2fb5
00002fb0: DUP5
00002fb1: PUSH2 0x32e9
00002fb4: JUMP
00002fb5: JUMPDEST
00002fb6: SWAP1
00002fb7: SWAP3
00002fb8: POP
00002fb9: SWAP1
00002fba: POP
00002fbb: PUSH2 0x2f00
00002fbe: DUP3
00002fbf: PUSH2 0x2efb
00002fc2: DUP6
00002fc3: DUP5
00002fc4: PUSH2 0x464c
00002fc7: JUMP
00002fc8: JUMPDEST
00002fc9: PUSH1 0x01
00002fcb: PUSH1 0x01
00002fcd: PUSH1 0xa0
00002fcf: SHL
00002fd0: SUB
00002fd1: DUP2
00002fd2: AND
00002fd3: PUSH1 0x00
00002fd5: SWAP1
00002fd6: DUP2
00002fd7: MSTORE
00002fd8: PUSH1 0x0b
00002fda: PUSH1 0x20
00002fdc: MSTORE
00002fdd: PUSH1 0x40
00002fdf: SWAP1
00002fe0: KECCAK256
00002fe1: DUP1
00002fe2: SLOAD
00002fe3: PUSH1 0x01
00002fe5: DUP2
00002fe6: ADD
00002fe7: DUP3
00002fe8: SSTORE
00002fe9: SWAP1
00002fea: JUMPDEST
00002feb: POP
00002fec: SWAP2
00002fed: SWAP1
00002fee: POP
00002fef: JUMP
00002ff0: JUMPDEST
00002ff1: PUSH1 0x00
00002ff3: PUSH2 0x09bc
00002ff6: PUSH2 0x2ffd
00002ff9: PUSH2 0x2b20
00002ffc: JUMP
00002ffd: JUMPDEST
00002ffe: DUP4
00002fff: PUSH1 0x40
00003001: MLOAD
00003002: PUSH2 0x1901
00003005: PUSH1 0xf0
00003007: SHL
00003008: PUSH1 0x20
0000300a: DUP3
0000300b: ADD
0000300c: MSTORE
0000300d: PUSH1 0x22
0000300f: DUP2
00003010: ADD
00003011: DUP4
00003012: SWAP1
00003013: MSTORE
00003014: PUSH1 0x42
00003016: DUP2
00003017: ADD
00003018: DUP3
00003019: SWAP1
0000301a: MSTORE
0000301b: PUSH1 0x00
0000301d: SWAP1
0000301e: PUSH1 0x62
00003020: ADD
00003021: PUSH1 0x40
00003023: MLOAD
00003024: PUSH1 0x20
00003026: DUP2
00003027: DUP4
00003028: SUB
00003029: SUB
0000302a: DUP2
0000302b: MSTORE
0000302c: SWAP1
0000302d: PUSH1 0x40
0000302f: MSTORE
00003030: DUP1
00003031: MLOAD
00003032: SWAP1
00003033: PUSH1 0x20
00003035: ADD
00003036: KECCAK256
00003037: SWAP1
00003038: POP
00003039: SWAP3
0000303a: SWAP2
0000303b: POP
0000303c: POP
0000303d: JUMP
0000303e: JUMPDEST
0000303f: PUSH1 0x00
00003041: DUP1
00003042: PUSH1 0x00
00003044: PUSH2 0x304f
00003047: DUP8
00003048: DUP8
00003049: DUP8
0000304a: DUP8
0000304b: PUSH2 0x3b10
0000304e: JUMP
0000304f: JUMPDEST
00003050: SWAP2
00003051: POP
00003052: SWAP2
00003053: POP
00003054: PUSH2 0x305c
00003057: DUP2
00003058: PUSH2 0x3bd4
0000305b: JUMP
0000305c: JUMPDEST
0000305d: POP
0000305e: SWAP6
0000305f: SWAP5
00003060: POP
00003061: POP
00003062: POP
00003063: POP
00003064: POP
00003065: JUMP
00003066: JUMPDEST
00003067: PUSH1 0x00
00003069: PUSH1 0x40
0000306b: MLOAD
0000306c: PUSH1 0x20
0000306e: ADD
0000306f: PUSH2 0x3133
00003072: SWAP1
00003073: PUSH32 0x4f66666572537472756374286164647265737320696e7075745f746f6b656e2c
00003094: DUP2
00003095: MSTORE
00003096: PUSH32 0x61646472657373206f75747075745f746f6b656e2c75696e7432353620696e70
000030b7: PUSH1 0x20
000030b9: DUP3
000030ba: ADD
000030bb: MSTORE
000030bc: PUSH32 0x75745f616d6f756e742c75696e74323536206f75747075745f616d6f756e742c
000030dd: PUSH1 0x40
000030df: DUP3
000030e0: ADD
000030e1: MSTORE
000030e2: PUSH32 0x75696e7432353620676f6f645f756e74696c2c61646472657373206465737469
00003103: PUSH1 0x60
00003105: DUP3
00003106: ADD
00003107: MSTORE
00003108: PUSH32 0x6e6174696f6e5f61646472657373290000000000000000000000000000000000
00003129: PUSH1 0x80
0000312b: DUP3
0000312c: ADD
0000312d: MSTORE
0000312e: PUSH1 0x8f
00003130: ADD
00003131: SWAP1
00003132: JUMP
00003133: JUMPDEST
00003134: PUSH1 0x40
00003136: DUP1
00003137: MLOAD
00003138: PUSH1 0x1f
0000313a: NOT
0000313b: DUP2
0000313c: DUP5
0000313d: SUB
0000313e: ADD
0000313f: DUP2
00003140: MSTORE
00003141: DUP3
00003142: DUP3
00003143: MSTORE
00003144: DUP1
00003145: MLOAD
00003146: PUSH1 0x20
00003148: SWAP2
00003149: DUP3
0000314a: ADD
0000314b: KECCAK256
0000314c: SWAP1
0000314d: DUP4
0000314e: ADD
0000314f: MSTORE
00003150: PUSH1 0x01
00003152: PUSH1 0x01
00003154: PUSH1 0xa0
00003156: SHL
00003157: SUB
00003158: DUP1
00003159: DUP11
0000315a: AND
0000315b: SWAP2
0000315c: DUP4
0000315d: ADD
0000315e: SWAP2
0000315f: SWAP1
00003160: SWAP2
00003161: MSTORE
00003162: DUP1
00003163: DUP9
00003164: AND
00003165: PUSH1 0x60
00003167: DUP4
00003168: ADD
00003169: MSTORE
0000316a: PUSH1 0x80
0000316c: DUP3
0000316d: ADD
0000316e: DUP8
0000316f: SWAP1
00003170: MSTORE
00003171: PUSH1 0xa0
00003173: DUP3
00003174: ADD
00003175: DUP7
00003176: SWAP1
00003177: MSTORE
00003178: PUSH1 0xc0
0000317a: DUP3
0000317b: ADD
0000317c: DUP6
0000317d: SWAP1
0000317e: MSTORE
0000317f: DUP4
00003180: AND
00003181: PUSH1 0xe0
00003183: DUP3
00003184: ADD
00003185: MSTORE
00003186: PUSH2 0x0100
00003189: ADD
0000318a: JUMPDEST
0000318b: PUSH1 0x40
0000318d: MLOAD
0000318e: PUSH1 0x20
00003190: DUP2
00003191: DUP4
00003192: SUB
00003193: SUB
00003194: DUP2
00003195: MSTORE
00003196: SWAP1
00003197: PUSH1 0x40
00003199: MSTORE
0000319a: DUP1
0000319b: MLOAD
0000319c: SWAP1
0000319d: PUSH1 0x20
0000319f: ADD
000031a0: KECCAK256
000031a1: SWAP1
000031a2: POP
000031a3: JUMPDEST
000031a4: SWAP7
000031a5: SWAP6
000031a6: POP
000031a7: POP
000031a8: POP
000031a9: POP
000031aa: POP
000031ab: POP
000031ac: JUMP
000031ad: JUMPDEST
000031ae: PUSH1 0xa0
000031b0: DUP2
000031b1: SWAP1
000031b2: SHR
000031b3: PUSH12 0xffffffffffffffffffffffff
000031c0: PUSH1 0x40
000031c2: DUP4
000031c3: SWAP1
000031c4: SHR
000031c5: AND
000031c6: PUSH1 0x00
000031c8: DUP1
000031c9: PUSH2 0xffff
000031cc: PUSH1 0x30
000031ce: DUP7
000031cf: SWAP1
000031d0: SHR
000031d1: DUP2
000031d2: AND
000031d3: SWAP1
000031d4: PUSH1 0x20
000031d6: DUP8
000031d7: SWAP1
000031d8: SHR
000031d9: AND
000031da: PUSH3 0x0f4240
000031de: DUP7
000031df: PUSH2 0x31e8
000031e2: DUP5
000031e3: DUP4
000031e4: PUSH2 0x464c
000031e7: JUMP
000031e8: JUMPDEST
000031e9: PUSH2 0x31f2
000031ec: SWAP2
000031ed: SWAP1
000031ee: PUSH2 0x46af
000031f1: JUMP
000031f2: JUMPDEST
000031f3: PUSH2 0x31fc
000031f6: SWAP2
000031f7: SWAP1
000031f8: PUSH2 0x46c6
000031fb: JUMP
000031fc: JUMPDEST
000031fd: SWAP4
000031fe: POP
000031ff: PUSH3 0x0f4240
00003203: DUP6
00003204: PUSH2 0x320d
00003207: DUP4
00003208: DUP4
00003209: PUSH2 0x465f
0000320c: JUMP
0000320d: JUMPDEST
0000320e: PUSH2 0x3217
00003211: SWAP2
00003212: SWAP1
00003213: PUSH2 0x46af
00003216: JUMP
00003217: JUMPDEST
00003218: PUSH2 0x3221
0000321b: SWAP2
0000321c: SWAP1
0000321d: PUSH2 0x46c6
00003220: JUMP
00003221: JUMPDEST
00003222: SWAP3
00003223: POP
00003224: POP
00003225: POP
00003226: SWAP2
00003227: SWAP4
00003228: POP
00003229: SWAP2
0000322a: SWAP4
0000322b: JUMP
0000322c: JUMPDEST
0000322d: PUSH1 0x00
0000322f: DUP4
00003230: DUP7
00003231: LT
00003232: ISZERO
00003233: DUP1
00003234: ISZERO
00003235: PUSH2 0x323e
00003238: JUMPI
00003239: POP
0000323a: DUP5
0000323b: DUP8
0000323c: GT
0000323d: ISZERO
0000323e: JUMPDEST
0000323f: ISZERO
00003240: PUSH2 0x324b
00003243: JUMPI
00003244: POP
00003245: PUSH1 0x01
00003247: PUSH2 0x31a3
0000324a: JUMP
0000324b: JUMPDEST
0000324c: DUP2
0000324d: DUP7
0000324e: LT
0000324f: DUP1
00003250: PUSH2 0x3258
00003253: JUMPI
00003254: POP
00003255: DUP3
00003256: DUP8
00003257: GT
00003258: JUMPDEST
00003259: ISZERO
0000325a: PUSH2 0x3265
0000325d: JUMPI
0000325e: POP
0000325f: PUSH1 0x00
00003261: PUSH2 0x31a3
00003264: JUMP
00003265: JUMPDEST
00003266: DUP4
00003267: DUP7
00003268: LT
00003269: PUSH2 0x3274
0000326c: JUMPI
0000326d: POP
0000326e: PUSH1 0x01
00003270: PUSH2 0x31a3
00003273: JUMP
00003274: JUMPDEST
00003275: DUP5
00003276: DUP8
00003277: GT
00003278: PUSH2 0x3283
0000327b: JUMPI
0000327c: POP
0000327d: PUSH1 0x01
0000327f: PUSH2 0x31a3
00003282: JUMP
00003283: JUMPDEST
00003284: PUSH1 0x00
00003286: PUSH3 0x0f4240
0000328a: PUSH2 0x3293
0000328d: DUP5
0000328e: DUP8
0000328f: PUSH2 0x465f
00003292: JUMP
00003293: JUMPDEST
00003294: PUSH2 0x329d
00003297: DUP9
00003298: DUP8
00003299: PUSH2 0x465f
0000329c: JUMP
0000329d: JUMPDEST
0000329e: PUSH2 0x32a7
000032a1: DUP7
000032a2: DUP12
000032a3: PUSH2 0x465f
000032a6: JUMP
000032a7: JUMPDEST
000032a8: PUSH2 0x32b4
000032ab: SWAP1
000032ac: PUSH3 0x0f4240
000032b0: PUSH2 0x46af
000032b3: JUMP
000032b4: JUMPDEST
000032b5: PUSH2 0x32be
000032b8: SWAP2
000032b9: SWAP1
000032ba: PUSH2 0x46af
000032bd: JUMP
000032be: JUMPDEST
000032bf: PUSH2 0x32c8
000032c2: SWAP2
000032c3: SWAP1
000032c4: PUSH2 0x46c6
000032c7: JUMP
000032c8: JUMPDEST
000032c9: PUSH2 0x32d2
000032cc: SWAP2
000032cd: SWAP1
000032ce: PUSH2 0x46c6
000032d1: JUMP
000032d2: JUMPDEST
000032d3: SWAP1
000032d4: POP
000032d5: PUSH2 0x32de
000032d8: DUP2
000032d9: DUP8
000032da: PUSH2 0x464c
000032dd: JUMP
000032de: JUMPDEST
000032df: DUP9
000032e0: GT
000032e1: ISZERO
000032e2: SWAP2
000032e3: POP
000032e4: POP
000032e5: PUSH2 0x31a3
000032e8: JUMP
000032e9: JUMPDEST
000032ea: PUSH1 0x01
000032ec: PUSH1 0x01
000032ee: PUSH1 0xa0
000032f0: SHL
000032f1: SUB
000032f2: DUP2
000032f3: AND
000032f4: PUSH1 0x00
000032f6: SWAP1
000032f7: DUP2
000032f8: MSTORE
000032f9: PUSH1 0x06
000032fb: PUSH1 0x20
000032fd: MSTORE
000032fe: PUSH1 0x40
00003300: DUP2
00003301: KECCAK256
00003302: SLOAD
00003303: PUSH1 0x01
00003305: PUSH1 0x01
00003307: PUSH1 0xe0
00003309: SHL
0000330a: SUB
0000330b: DUP2
0000330c: AND
0000330d: SWAP1
0000330e: PUSH1 0xe0
00003310: DUP2
00003311: SWAP1
00003312: SHR
00003313: PUSH2 0x331c
00003316: ORIGIN
00003317: NUMBER
00003318: PUSH2 0x464c
0000331b: JUMP
0000331c: JUMPDEST
0000331d: SWAP4
0000331e: POP
0000331f: DUP1
00003320: PUSH4 0xffffffff
00003325: AND
00003326: DUP5
00003327: PUSH4 0xffffffff
0000332c: AND
0000332d: SUB
0000332e: PUSH2 0x3379
00003331: JUMPI
00003332: PUSH1 0x40
00003334: MLOAD
00003335: PUSH3 0x461bcd
00003339: PUSH1 0xe5
0000333b: SHL
0000333c: DUP2
0000333d: MSTORE
0000333e: PUSH1 0x20
00003340: PUSH1 0x04
00003342: DUP3
00003343: ADD
00003344: MSTORE
00003345: PUSH1 0x1d
00003347: PUSH1 0x24
00003349: DUP3
0000334a: ADD
0000334b: MSTORE
0000334c: PUSH32 0x436c69707065723a204661696c656420747820756e697175656e657373000000
0000336d: PUSH1 0x44
0000336f: DUP3
00003370: ADD
00003371: MSTORE
00003372: PUSH1 0x64
00003374: ADD
00003375: PUSH2 0x0fc5
00003378: JUMP
00003379: JUMPDEST
0000337a: POP
0000337b: POP
0000337c: SWAP2
0000337d: POP
0000337e: SWAP2
0000337f: JUMP
00003380: JUMPDEST
00003381: PUSH1 0x00
00003383: PUSH2 0x338b
00003386: DUP3
00003387: PUSH2 0x3d39
0000338a: JUMP
0000338b: JUMPDEST
0000338c: PUSH2 0x0b53
0000338f: SWAP1
00003390: PUSH1 0x01
00003392: PUSH1 0x01
00003394: PUSH1 0xe0
00003396: SHL
00003397: SUB
00003398: AND
00003399: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
000033ba: PUSH1 0xe0
000033bc: DUP7
000033bd: SWAP1
000033be: SHL
000033bf: AND
000033c0: PUSH2 0x464c
000033c3: JUMP
000033c4: JUMPDEST
000033c5: PUSH1 0x00
000033c7: PUSH2 0x3419
000033ca: DUP3
000033cb: PUSH1 0x40
000033cd: MLOAD
000033ce: DUP1
000033cf: PUSH1 0x40
000033d1: ADD
000033d2: PUSH1 0x40
000033d4: MSTORE
000033d5: DUP1
000033d6: PUSH1 0x20
000033d8: DUP2
000033d9: MSTORE
000033da: PUSH1 0x20
000033dc: ADD
000033dd: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
000033fe: DUP2
000033ff: MSTORE
00003400: POP
00003401: DUP6
00003402: PUSH1 0x01
00003404: PUSH1 0x01
00003406: PUSH1 0xa0
00003408: SHL
00003409: SUB
0000340a: AND
0000340b: PUSH2 0x3dbc
0000340e: SWAP1
0000340f: SWAP3
00003410: SWAP2
00003411: SWAP1
00003412: PUSH4 0xffffffff
00003417: AND
00003418: JUMP
00003419: JUMPDEST
0000341a: DUP1
0000341b: MLOAD
0000341c: SWAP1
0000341d: SWAP2
0000341e: POP
0000341f: ISZERO
00003420: PUSH2 0x2571
00003423: JUMPI
00003424: DUP1
00003425: DUP1
00003426: PUSH1 0x20
00003428: ADD
00003429: SWAP1
0000342a: MLOAD
0000342b: DUP2
0000342c: ADD
0000342d: SWAP1
0000342e: PUSH2 0x3437
00003431: SWAP2
00003432: SWAP1
00003433: PUSH2 0x4738
00003436: JUMP
00003437: JUMPDEST
00003438: PUSH2 0x2571
0000343b: JUMPI
0000343c: PUSH1 0x40
0000343e: MLOAD
0000343f: PUSH3 0x461bcd
00003443: PUSH1 0xe5
00003445: SHL
00003446: DUP2
00003447: MSTORE
00003448: PUSH1 0x20
0000344a: PUSH1 0x04
0000344c: DUP3
0000344d: ADD
0000344e: MSTORE
0000344f: PUSH1 0x2a
00003451: PUSH1 0x24
00003453: DUP3
00003454: ADD
00003455: MSTORE
00003456: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
00003477: PUSH1 0x44
00003479: DUP3
0000347a: ADD
0000347b: MSTORE
0000347c: PUSH32 0x6f74207375636365656400000000000000000000000000000000000000000000
0000349d: PUSH1 0x64
0000349f: DUP3
000034a0: ADD
000034a1: MSTORE
000034a2: PUSH1 0x84
000034a4: ADD
000034a5: PUSH2 0x0fc5
000034a8: JUMP
000034a9: JUMPDEST
000034aa: PUSH1 0x00
000034ac: DUP2
000034ad: DUP2
000034ae: MSTORE
000034af: PUSH1 0x01
000034b1: DUP4
000034b2: ADD
000034b3: PUSH1 0x20
000034b5: MSTORE
000034b6: PUSH1 0x40
000034b8: DUP2
000034b9: KECCAK256
000034ba: SLOAD
000034bb: PUSH2 0x34f0
000034be: JUMPI
000034bf: POP
000034c0: DUP2
000034c1: SLOAD
000034c2: PUSH1 0x01
000034c4: DUP2
000034c5: DUP2
000034c6: ADD
000034c7: DUP5
000034c8: SSTORE
000034c9: PUSH1 0x00
000034cb: DUP5
000034cc: DUP2
000034cd: MSTORE
000034ce: PUSH1 0x20
000034d0: DUP1
000034d1: DUP3
000034d2: KECCAK256
000034d3: SWAP1
000034d4: SWAP4
000034d5: ADD
000034d6: DUP5
000034d7: SWAP1
000034d8: SSTORE
000034d9: DUP5
000034da: SLOAD
000034db: DUP5
000034dc: DUP3
000034dd: MSTORE
000034de: DUP3
000034df: DUP7
000034e0: ADD
000034e1: SWAP1
000034e2: SWAP4
000034e3: MSTORE
000034e4: PUSH1 0x40
000034e6: SWAP1
000034e7: KECCAK256
000034e8: SWAP2
000034e9: SWAP1
000034ea: SWAP2
000034eb: SSTORE
000034ec: PUSH2 0x09bc
000034ef: JUMP
000034f0: JUMPDEST
000034f1: POP
000034f2: PUSH1 0x00
000034f4: PUSH2 0x09bc
000034f7: JUMP
000034f8: JUMPDEST
000034f9: PUSH2 0x3500
000034fc: PUSH2 0x3dcb
000034ff: JUMP
00003500: JUMPDEST
00003501: PUSH2 0x3514
00003504: PUSH1 0x01
00003506: PUSH1 0x01
00003508: PUSH1 0xa0
0000350a: SHL
0000350b: SUB
0000350c: DUP5
0000350d: AND
0000350e: DUP4
0000350f: DUP4
00003510: PUSH2 0x284e
00003513: JUMP
00003514: JUMPDEST
00003515: PUSH2 0x351d
00003518: DUP4
00003519: PUSH2 0x2951
0000351c: JUMP
0000351d: JUMPDEST
0000351e: PUSH2 0x2571
00003521: PUSH1 0x01
00003523: PUSH1 0x05
00003525: SSTORE
00003526: JUMP
00003527: JUMPDEST
00003528: PUSH1 0x00
0000352a: DUP1
0000352b: DUP7
0000352c: DUP7
0000352d: PUSH1 0x40
0000352f: MLOAD
00003530: PUSH1 0x20
00003532: ADD
00003533: PUSH2 0x353d
00003536: SWAP3
00003537: SWAP2
00003538: SWAP1
00003539: PUSH2 0x475a
0000353c: JUMP
0000353d: JUMPDEST
0000353e: PUSH1 0x40
00003540: MLOAD
00003541: PUSH1 0x20
00003543: DUP2
00003544: DUP4
00003545: SUB
00003546: SUB
00003547: DUP2
00003548: MSTORE
00003549: SWAP1
0000354a: PUSH1 0x40
0000354c: MSTORE
0000354d: DUP1
0000354e: MLOAD
0000354f: SWAP1
00003550: PUSH1 0x20
00003552: ADD
00003553: KECCAK256
00003554: SWAP1
00003555: POP
00003556: PUSH1 0x40
00003558: MLOAD
00003559: PUSH1 0x20
0000355b: ADD
0000355c: PUSH2 0x35fa
0000355f: SWAP1
00003560: PUSH32 0x4465706f73697453747275637428616464726573732073656e6465722c75696e
00003581: DUP2
00003582: MSTORE
00003583: PUSH32 0x743235365b5d206465706f7369745f616d6f756e74732c75696e743235362064
000035a4: PUSH1 0x20
000035a6: DUP3
000035a7: ADD
000035a8: MSTORE
000035a9: PUSH32 0x6179735f6c6f636b65642c75696e7432353620706f6f6c5f746f6b656e732c75
000035ca: PUSH1 0x40
000035cc: DUP3
000035cd: ADD
000035ce: MSTORE
000035cf: PUSH32 0x696e7432353620676f6f645f756e74696c290000000000000000000000000000
000035f0: PUSH1 0x60
000035f2: DUP3
000035f3: ADD
000035f4: MSTORE
000035f5: PUSH1 0x72
000035f7: ADD
000035f8: SWAP1
000035f9: JUMP
000035fa: JUMPDEST
000035fb: PUSH1 0x40
000035fd: DUP1
000035fe: MLOAD
000035ff: PUSH1 0x1f
00003601: NOT
00003602: DUP2
00003603: DUP5
00003604: SUB
00003605: ADD
00003606: DUP2
00003607: MSTORE
00003608: DUP3
00003609: DUP3
0000360a: MSTORE
0000360b: DUP1
0000360c: MLOAD
0000360d: PUSH1 0x20
0000360f: SWAP2
00003610: DUP3
00003611: ADD
00003612: KECCAK256
00003613: SWAP1
00003614: DUP4
00003615: ADD
00003616: MSTORE
00003617: PUSH1 0x01
00003619: PUSH1 0x01
0000361b: PUSH1 0xa0
0000361d: SHL
0000361e: SUB
0000361f: DUP11
00003620: AND
00003621: SWAP1
00003622: DUP3
00003623: ADD
00003624: MSTORE
00003625: PUSH1 0x60
00003627: DUP2
00003628: ADD
00003629: DUP3
0000362a: SWAP1
0000362b: MSTORE
0000362c: PUSH1 0x80
0000362e: DUP2
0000362f: ADD
00003630: DUP7
00003631: SWAP1
00003632: MSTORE
00003633: PUSH1 0xa0
00003635: DUP2
00003636: ADD
00003637: DUP6
00003638: SWAP1
00003639: MSTORE
0000363a: PUSH1 0xc0
0000363c: DUP2
0000363d: ADD
0000363e: DUP5
0000363f: SWAP1
00003640: MSTORE
00003641: PUSH1 0xe0
00003643: ADD
00003644: PUSH1 0x40
00003646: MLOAD
00003647: PUSH1 0x20
00003649: DUP2
0000364a: DUP4
0000364b: SUB
0000364c: SUB
0000364d: DUP2
0000364e: MSTORE
0000364f: SWAP1
00003650: PUSH1 0x40
00003652: MSTORE
00003653: DUP1
00003654: MLOAD
00003655: SWAP1
00003656: PUSH1 0x20
00003658: ADD
00003659: KECCAK256
0000365a: SWAP2
0000365b: POP
0000365c: POP
0000365d: SWAP7
0000365e: SWAP6
0000365f: POP
00003660: POP
00003661: POP
00003662: POP
00003663: POP
00003664: POP
00003665: JUMP
00003666: JUMPDEST
00003667: PUSH1 0x01
00003669: PUSH1 0x01
0000366b: PUSH1 0xa0
0000366d: SHL
0000366e: SUB
0000366f: DUP3
00003670: AND
00003671: PUSH2 0x36bc
00003674: JUMPI
00003675: PUSH1 0x40
00003677: MLOAD
00003678: PUSH3 0x461bcd
0000367c: PUSH1 0xe5
0000367e: SHL
0000367f: DUP2
00003680: MSTORE
00003681: PUSH1 0x20
00003683: PUSH1 0x04
00003685: DUP3
00003686: ADD
00003687: MSTORE
00003688: PUSH1 0x1f
0000368a: PUSH1 0x24
0000368c: DUP3
0000368d: ADD
0000368e: MSTORE
0000368f: PUSH32 0x45524332303a206d696e7420746f20746865207a65726f206164647265737300
000036b0: PUSH1 0x44
000036b2: DUP3
000036b3: ADD
000036b4: MSTORE
000036b5: PUSH1 0x64
000036b7: ADD
000036b8: PUSH2 0x0fc5
000036bb: JUMP
000036bc: JUMPDEST
000036bd: DUP1
000036be: PUSH1 0x02
000036c0: PUSH1 0x00
000036c2: DUP3
000036c3: DUP3
000036c4: SLOAD
000036c5: PUSH2 0x36ce
000036c8: SWAP2
000036c9: SWAP1
000036ca: PUSH2 0x464c
000036cd: JUMP
000036ce: JUMPDEST
000036cf: SWAP1
000036d0: SWAP2
000036d1: SSTORE
000036d2: POP
000036d3: POP
000036d4: PUSH1 0x01
000036d6: PUSH1 0x01
000036d8: PUSH1 0xa0
000036da: SHL
000036db: SUB
000036dc: DUP3
000036dd: AND
000036de: PUSH1 0x00
000036e0: DUP2
000036e1: DUP2
000036e2: MSTORE
000036e3: PUSH1 0x20
000036e5: DUP2
000036e6: DUP2
000036e7: MSTORE
000036e8: PUSH1 0x40
000036ea: DUP1
000036eb: DUP4
000036ec: KECCAK256
000036ed: DUP1
000036ee: SLOAD
000036ef: DUP7
000036f0: ADD
000036f1: SWAP1
000036f2: SSTORE
000036f3: MLOAD
000036f4: DUP5
000036f5: DUP2
000036f6: MSTORE
000036f7: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00003718: SWAP2
00003719: ADD
0000371a: PUSH1 0x40
0000371c: MLOAD
0000371d: DUP1
0000371e: SWAP2
0000371f: SUB
00003720: SWAP1
00003721: LOG3
00003722: POP
00003723: POP
00003724: JUMP
00003725: JUMPDEST
00003726: PUSH1 0x00
00003728: DUP3
00003729: GT
0000372a: PUSH2 0x37c1
0000372d: JUMPI
0000372e: PUSH1 0x40
00003730: MLOAD
00003731: PUSH3 0x461bcd
00003735: PUSH1 0xe5
00003737: SHL
00003738: DUP2
00003739: MSTORE
0000373a: PUSH1 0x20
0000373c: PUSH1 0x04
0000373e: DUP3
0000373f: ADD
00003740: MSTORE
00003741: PUSH1 0x4c
00003743: PUSH1 0x24
00003745: DUP3
00003746: ADD
00003747: MSTORE
00003748: PUSH32 0x436c69707065724469726563743a2043616e6e6f742063726561746520766573
00003769: PUSH1 0x44
0000376b: DUP3
0000376c: ADD
0000376d: MSTORE
0000376e: PUSH32 0x74696e67206465706f73697420776974686f757420706f736974697665207665
0000378f: PUSH1 0x64
00003791: DUP3
00003792: ADD
00003793: MSTORE
00003794: PUSH32 0x7374696e6720706572696f640000000000000000000000000000000000000000
000037b5: PUSH1 0x84
000037b7: DUP3
000037b8: ADD
000037b9: MSTORE
000037ba: PUSH1 0xa4
000037bc: ADD
000037bd: PUSH2 0x0fc5
000037c0: JUMP
000037c1: JUMPDEST
000037c2: PUSH1 0x01
000037c4: PUSH1 0x01
000037c6: PUSH1 0xa0
000037c8: SHL
000037c9: SUB
000037ca: DUP4
000037cb: AND
000037cc: PUSH1 0x00
000037ce: SWAP1
000037cf: DUP2
000037d0: MSTORE
000037d1: PUSH1 0x09
000037d3: PUSH1 0x20
000037d5: MSTORE
000037d6: PUSH1 0x40
000037d8: SWAP1
000037d9: KECCAK256
000037da: PUSH1 0x01
000037dc: ADD
000037dd: SLOAD
000037de: ISZERO
000037df: PUSH2 0x3850
000037e2: JUMPI
000037e3: PUSH1 0x40
000037e5: MLOAD
000037e6: PUSH3 0x461bcd
000037ea: PUSH1 0xe5
000037ec: SHL
000037ed: DUP2
000037ee: MSTORE
000037ef: PUSH1 0x20
000037f1: PUSH1 0x04
000037f3: DUP3
000037f4: ADD
000037f5: MSTORE
000037f6: PUSH1 0x36
000037f8: PUSH1 0x24
000037fa: DUP3
000037fb: ADD
000037fc: MSTORE
000037fd: PUSH32 0x436c69707065724469726563743a204465706f7369746f7220616c7265616479
0000381e: PUSH1 0x44
00003820: DUP3
00003821: ADD
00003822: MSTORE
00003823: PUSH32 0x2068617320616e20616374697665206465706f73697400000000000000000000
00003844: PUSH1 0x64
00003846: DUP3
00003847: ADD
00003848: MSTORE
00003849: PUSH1 0x84
0000384b: ADD
0000384c: PUSH2 0x0fc5
0000384f: JUMP
00003850: JUMPDEST
00003851: PUSH1 0x00
00003853: PUSH1 0x40
00003855: MLOAD
00003856: DUP1
00003857: PUSH1 0x40
00003859: ADD
0000385a: PUSH1 0x40
0000385c: MSTORE
0000385d: DUP1
0000385e: DUP5
0000385f: PUSH3 0x015180
00003863: PUSH2 0x386c
00003866: SWAP2
00003867: SWAP1
00003868: PUSH2 0x46af
0000386b: JUMP
0000386c: JUMPDEST
0000386d: PUSH2 0x3876
00003870: SWAP1
00003871: TIMESTAMP
00003872: PUSH2 0x464c
00003875: JUMP
00003876: JUMPDEST
00003877: DUP2
00003878: MSTORE
00003879: PUSH1 0x20
0000387b: SWAP1
0000387c: DUP2
0000387d: ADD
0000387e: DUP5
0000387f: SWAP1
00003880: MSTORE
00003881: PUSH1 0x01
00003883: PUSH1 0x01
00003885: PUSH1 0xa0
00003887: SHL
00003888: SUB
00003889: DUP7
0000388a: AND
0000388b: PUSH1 0x00
0000388d: SWAP1
0000388e: DUP2
0000388f: MSTORE
00003890: PUSH1 0x09
00003892: DUP3
00003893: MSTORE
00003894: PUSH1 0x40
00003896: SWAP1
00003897: KECCAK256
00003898: DUP3
00003899: MLOAD
0000389a: DUP2
0000389b: SSTORE
0000389c: SWAP1
0000389d: DUP3
0000389e: ADD
0000389f: MLOAD
000038a0: PUSH1 0x01
000038a2: SWAP1
000038a3: SWAP2
000038a4: ADD
000038a5: SSTORE
000038a6: SWAP1
000038a7: POP
000038a8: PUSH2 0x22db
000038ab: ADDRESS
000038ac: DUP4
000038ad: PUSH2 0x3666
000038b0: JUMP
000038b1: JUMPDEST
000038b2: PUSH1 0x00
000038b4: PUSH1 0x40
000038b6: MLOAD
000038b7: PUSH1 0x20
000038b9: ADD
000038ba: PUSH2 0x397e
000038bd: SWAP1
000038be: PUSH32 0x5769746864726177616c537472756374286164647265737320746f6b656e5f68
000038df: DUP2
000038e0: MSTORE
000038e1: PUSH32 0x6f6c6465722c75696e7432353620706f6f6c5f746f6b656e5f616d6f756e745f
00003902: PUSH1 0x20
00003904: DUP3
00003905: ADD
00003906: MSTORE
00003907: PUSH32 0x746f5f6275726e2c616464726573732061737365745f616464726573732c7569
00003928: PUSH1 0x40
0000392a: DUP3
0000392b: ADD
0000392c: MSTORE
0000392d: PUSH32 0x6e743235362061737365745f616d6f756e742c75696e7432353620676f6f645f
0000394e: PUSH1 0x60
00003950: DUP3
00003951: ADD
00003952: MSTORE
00003953: PUSH32 0x756e74696c290000000000000000000000000000000000000000000000000000
00003974: PUSH1 0x80
00003976: DUP3
00003977: ADD
00003978: MSTORE
00003979: PUSH1 0x86
0000397b: ADD
0000397c: SWAP1
0000397d: JUMP
0000397e: JUMPDEST
0000397f: PUSH1 0x40
00003981: DUP1
00003982: MLOAD
00003983: DUP1
00003984: DUP4
00003985: SUB
00003986: PUSH1 0x1f
00003988: NOT
00003989: ADD
0000398a: DUP2
0000398b: MSTORE
0000398c: DUP3
0000398d: DUP3
0000398e: MSTORE
0000398f: DUP1
00003990: MLOAD
00003991: PUSH1 0x20
00003993: SWAP2
00003994: DUP3
00003995: ADD
00003996: KECCAK256
00003997: DUP2
00003998: DUP5
00003999: ADD
0000399a: MSTORE
0000399b: PUSH1 0x01
0000399d: PUSH1 0x01
0000399f: PUSH1 0xa0
000039a1: SHL
000039a2: SUB
000039a3: SWAP9
000039a4: DUP10
000039a5: AND
000039a6: DUP4
000039a7: DUP4
000039a8: ADD
000039a9: MSTORE
000039aa: PUSH1 0x60
000039ac: DUP4
000039ad: ADD
000039ae: SWAP8
000039af: SWAP1
000039b0: SWAP8
000039b1: MSTORE
000039b2: SWAP5
000039b3: SWAP1
000039b4: SWAP7
000039b5: AND
000039b6: PUSH1 0x80
000039b8: DUP8
000039b9: ADD
000039ba: MSTORE
000039bb: POP
000039bc: PUSH1 0xa0
000039be: DUP6
000039bf: ADD
000039c0: SWAP2
000039c1: SWAP1
000039c2: SWAP2
000039c3: MSTORE
000039c4: PUSH1 0xc0
000039c6: DUP1
000039c7: DUP6
000039c8: ADD
000039c9: SWAP2
000039ca: SWAP1
000039cb: SWAP2
000039cc: MSTORE
000039cd: DUP2
000039ce: MLOAD
000039cf: DUP1
000039d0: DUP6
000039d1: SUB
000039d2: SWAP1
000039d3: SWAP2
000039d4: ADD
000039d5: DUP2
000039d6: MSTORE
000039d7: PUSH1 0xe0
000039d9: SWAP1
000039da: SWAP4
000039db: ADD
000039dc: SWAP1
000039dd: MSTORE
000039de: DUP2
000039df: MLOAD
000039e0: SWAP2
000039e1: ADD
000039e2: KECCAK256
000039e3: SWAP1
000039e4: JUMP
000039e5: JUMPDEST
000039e6: PUSH1 0x00
000039e8: PUSH1 0x40
000039ea: MLOAD
000039eb: PUSH1 0x20
000039ed: ADD
000039ee: PUSH2 0x3a8c
000039f1: SWAP1
000039f2: PUSH32 0x53696e676c654465706f73697453747275637428616464726573732073656e64
00003a13: DUP2
00003a14: MSTORE
00003a15: PUSH32 0x65722c6164647265737320746f6b656e2c75696e7432353620616d6f756e742c
00003a36: PUSH1 0x20
00003a38: DUP3
00003a39: ADD
00003a3a: MSTORE
00003a3b: PUSH32 0x75696e7432353620646179735f6c6f636b65642c75696e7432353620706f6f6c
00003a5c: PUSH1 0x40
00003a5e: DUP3
00003a5f: ADD
00003a60: MSTORE
00003a61: PUSH32 0x5f746f6b656e732c75696e7432353620676f6f645f756e74696c290000000000
00003a82: PUSH1 0x60
00003a84: DUP3
00003a85: ADD
00003a86: MSTORE
00003a87: PUSH1 0x7b
00003a89: ADD
00003a8a: SWAP1
00003a8b: JUMP
00003a8c: JUMPDEST
00003a8d: PUSH1 0x40
00003a8f: DUP1
00003a90: MLOAD
00003a91: PUSH1 0x1f
00003a93: NOT
00003a94: DUP2
00003a95: DUP5
00003a96: SUB
00003a97: ADD
00003a98: DUP2
00003a99: MSTORE
00003a9a: DUP3
00003a9b: DUP3
00003a9c: MSTORE
00003a9d: DUP1
00003a9e: MLOAD
00003a9f: PUSH1 0x20
00003aa1: SWAP2
00003aa2: DUP3
00003aa3: ADD
00003aa4: KECCAK256
00003aa5: SWAP1
00003aa6: DUP4
00003aa7: ADD
00003aa8: MSTORE
00003aa9: PUSH1 0x01
00003aab: PUSH1 0x01
00003aad: PUSH1 0xa0
00003aaf: SHL
00003ab0: SUB
00003ab1: DUP1
00003ab2: DUP11
00003ab3: AND
00003ab4: SWAP2
00003ab5: DUP4
00003ab6: ADD
00003ab7: SWAP2
00003ab8: SWAP1
00003ab9: SWAP2
00003aba: MSTORE
00003abb: DUP8
00003abc: AND
00003abd: PUSH1 0x60
00003abf: DUP3
00003ac0: ADD
00003ac1: MSTORE
00003ac2: PUSH1 0x80
00003ac4: DUP2
00003ac5: ADD
00003ac6: DUP7
00003ac7: SWAP1
00003ac8: MSTORE
00003ac9: PUSH1 0xa0
00003acb: DUP2
00003acc: ADD
00003acd: DUP6
00003ace: SWAP1
00003acf: MSTORE
00003ad0: PUSH1 0xc0
00003ad2: DUP2
00003ad3: ADD
00003ad4: DUP5
00003ad5: SWAP1
00003ad6: MSTORE
00003ad7: PUSH1 0xe0
00003ad9: DUP2
00003ada: ADD
00003adb: DUP4
00003adc: SWAP1
00003add: MSTORE
00003ade: PUSH2 0x0100
00003ae1: ADD
00003ae2: PUSH2 0x318a
00003ae5: JUMP
00003ae6: JUMPDEST
00003ae7: PUSH1 0x00
00003ae9: DUP3
00003aea: PUSH1 0x00
00003aec: ADD
00003aed: DUP3
00003aee: DUP2
00003aef: SLOAD
00003af0: DUP2
00003af1: LT
00003af2: PUSH2 0x3afd
00003af5: JUMPI
00003af6: PUSH2 0x3afd
00003af9: PUSH2 0x4607
00003afc: JUMP
00003afd: JUMPDEST
00003afe: SWAP1
00003aff: PUSH1 0x00
00003b01: MSTORE
00003b02: PUSH1 0x20
00003b04: PUSH1 0x00
00003b06: KECCAK256
00003b07: ADD
00003b08: SLOAD
00003b09: SWAP1
00003b0a: POP
00003b0b: SWAP3
00003b0c: SWAP2
00003b0d: POP
00003b0e: POP
00003b0f: JUMP
00003b10: JUMPDEST
00003b11: PUSH1 0x00
00003b13: DUP1
00003b14: PUSH32 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0
00003b35: DUP4
00003b36: GT
00003b37: ISZERO
00003b38: PUSH2 0x3b47
00003b3b: JUMPI
00003b3c: POP
00003b3d: PUSH1 0x00
00003b3f: SWAP1
00003b40: POP
00003b41: PUSH1 0x03
00003b43: PUSH2 0x3bcb
00003b46: JUMP
00003b47: JUMPDEST
00003b48: PUSH1 0x40
00003b4a: DUP1
00003b4b: MLOAD
00003b4c: PUSH1 0x00
00003b4e: DUP1
00003b4f: DUP3
00003b50: MSTORE
00003b51: PUSH1 0x20
00003b53: DUP3
00003b54: ADD
00003b55: DUP1
00003b56: DUP5
00003b57: MSTORE
00003b58: DUP10
00003b59: SWAP1
00003b5a: MSTORE
00003b5b: PUSH1 0xff
00003b5d: DUP9
00003b5e: AND
00003b5f: SWAP3
00003b60: DUP3
00003b61: ADD
00003b62: SWAP3
00003b63: SWAP1
00003b64: SWAP3
00003b65: MSTORE
00003b66: PUSH1 0x60
00003b68: DUP2
00003b69: ADD
00003b6a: DUP7
00003b6b: SWAP1
00003b6c: MSTORE
00003b6d: PUSH1 0x80
00003b6f: DUP2
00003b70: ADD
00003b71: DUP6
00003b72: SWAP1
00003b73: MSTORE
00003b74: PUSH1 0x01
00003b76: SWAP1
00003b77: PUSH1 0xa0
00003b79: ADD
00003b7a: PUSH1 0x20
00003b7c: PUSH1 0x40
00003b7e: MLOAD
00003b7f: PUSH1 0x20
00003b81: DUP2
00003b82: SUB
00003b83: SWAP1
00003b84: DUP1
00003b85: DUP5
00003b86: SUB
00003b87: SWAP1
00003b88: DUP6
00003b89: GAS
00003b8a: STATICCALL
00003b8b: ISZERO
00003b8c: DUP1
00003b8d: ISZERO
00003b8e: PUSH2 0x3b9b
00003b91: JUMPI
00003b92: RETURNDATASIZE
00003b93: PUSH1 0x00
00003b95: DUP1
00003b96: RETURNDATACOPY
00003b97: RETURNDATASIZE
00003b98: PUSH1 0x00
00003b9a: REVERT
00003b9b: JUMPDEST
00003b9c: POP
00003b9d: POP
00003b9e: PUSH1 0x40
00003ba0: MLOAD
00003ba1: PUSH1 0x1f
00003ba3: NOT
00003ba4: ADD
00003ba5: MLOAD
00003ba6: SWAP2
00003ba7: POP
00003ba8: POP
00003ba9: PUSH1 0x01
00003bab: PUSH1 0x01
00003bad: PUSH1 0xa0
00003baf: SHL
00003bb0: SUB
00003bb1: DUP2
00003bb2: AND
00003bb3: PUSH2 0x3bc4
00003bb6: JUMPI
00003bb7: PUSH1 0x00
00003bb9: PUSH1 0x01
00003bbb: SWAP3
00003bbc: POP
00003bbd: SWAP3
00003bbe: POP
00003bbf: POP
00003bc0: PUSH2 0x3bcb
00003bc3: JUMP
00003bc4: JUMPDEST
00003bc5: SWAP2
00003bc6: POP
00003bc7: PUSH1 0x00
00003bc9: SWAP1
00003bca: POP
00003bcb: JUMPDEST
00003bcc: SWAP5
00003bcd: POP
00003bce: SWAP5
00003bcf: SWAP3
00003bd0: POP
00003bd1: POP
00003bd2: POP
00003bd3: JUMP
00003bd4: JUMPDEST
00003bd5: PUSH1 0x00
00003bd7: DUP2
00003bd8: PUSH1 0x04
00003bda: DUP2
00003bdb: GT
00003bdc: ISZERO
00003bdd: PUSH2 0x3be8
00003be0: JUMPI
00003be1: PUSH2 0x3be8
00003be4: PUSH2 0x479c
00003be7: JUMP
00003be8: JUMPDEST
00003be9: SUB
00003bea: PUSH2 0x3bf0
00003bed: JUMPI
00003bee: POP
00003bef: JUMP
00003bf0: JUMPDEST
00003bf1: PUSH1 0x01
00003bf3: DUP2
00003bf4: PUSH1 0x04
00003bf6: DUP2
00003bf7: GT
00003bf8: ISZERO
00003bf9: PUSH2 0x3c04
00003bfc: JUMPI
00003bfd: PUSH2 0x3c04
00003c00: PUSH2 0x479c
00003c03: JUMP
00003c04: JUMPDEST
00003c05: SUB
00003c06: PUSH2 0x3c51
00003c09: JUMPI
00003c0a: PUSH1 0x40
00003c0c: MLOAD
00003c0d: PUSH3 0x461bcd
00003c11: PUSH1 0xe5
00003c13: SHL
00003c14: DUP2
00003c15: MSTORE
00003c16: PUSH1 0x20
00003c18: PUSH1 0x04
00003c1a: DUP3
00003c1b: ADD
00003c1c: MSTORE
00003c1d: PUSH1 0x18
00003c1f: PUSH1 0x24
00003c21: DUP3
00003c22: ADD
00003c23: MSTORE
00003c24: PUSH32 0x45434453413a20696e76616c6964207369676e61747572650000000000000000
00003c45: PUSH1 0x44
00003c47: DUP3
00003c48: ADD
00003c49: MSTORE
00003c4a: PUSH1 0x64
00003c4c: ADD
00003c4d: PUSH2 0x0fc5
00003c50: JUMP
00003c51: JUMPDEST
00003c52: PUSH1 0x02
00003c54: DUP2
00003c55: PUSH1 0x04
00003c57: DUP2
00003c58: GT
00003c59: ISZERO
00003c5a: PUSH2 0x3c65
00003c5d: JUMPI
00003c5e: PUSH2 0x3c65
00003c61: PUSH2 0x479c
00003c64: JUMP
00003c65: JUMPDEST
00003c66: SUB
00003c67: PUSH2 0x3cb2
00003c6a: JUMPI
00003c6b: PUSH1 0x40
00003c6d: MLOAD
00003c6e: PUSH3 0x461bcd
00003c72: PUSH1 0xe5
00003c74: SHL
00003c75: DUP2
00003c76: MSTORE
00003c77: PUSH1 0x20
00003c79: PUSH1 0x04
00003c7b: DUP3
00003c7c: ADD
00003c7d: MSTORE
00003c7e: PUSH1 0x1f
00003c80: PUSH1 0x24
00003c82: DUP3
00003c83: ADD
00003c84: MSTORE
00003c85: PUSH32 0x45434453413a20696e76616c6964207369676e6174757265206c656e67746800
00003ca6: PUSH1 0x44
00003ca8: DUP3
00003ca9: ADD
00003caa: MSTORE
00003cab: PUSH1 0x64
00003cad: ADD
00003cae: PUSH2 0x0fc5
00003cb1: JUMP
00003cb2: JUMPDEST
00003cb3: PUSH1 0x03
00003cb5: DUP2
00003cb6: PUSH1 0x04
00003cb8: DUP2
00003cb9: GT
00003cba: ISZERO
00003cbb: PUSH2 0x3cc6
00003cbe: JUMPI
00003cbf: PUSH2 0x3cc6
00003cc2: PUSH2 0x479c
00003cc5: JUMP
00003cc6: JUMPDEST
00003cc7: SUB
00003cc8: PUSH2 0x0d11
00003ccb: JUMPI
00003ccc: PUSH1 0x40
00003cce: MLOAD
00003ccf: PUSH3 0x461bcd
00003cd3: PUSH1 0xe5
00003cd5: SHL
00003cd6: DUP2
00003cd7: MSTORE
00003cd8: PUSH1 0x20
00003cda: PUSH1 0x04
00003cdc: DUP3
00003cdd: ADD
00003cde: MSTORE
00003cdf: PUSH1 0x22
00003ce1: PUSH1 0x24
00003ce3: DUP3
00003ce4: ADD
00003ce5: MSTORE
00003ce6: PUSH32 0x45434453413a20696e76616c6964207369676e6174757265202773272076616c
00003d07: PUSH1 0x44
00003d09: DUP3
00003d0a: ADD
00003d0b: MSTORE
00003d0c: PUSH32 0x7565000000000000000000000000000000000000000000000000000000000000
00003d2d: PUSH1 0x64
00003d2f: DUP3
00003d30: ADD
00003d31: MSTORE
00003d32: PUSH1 0x84
00003d34: ADD
00003d35: PUSH2 0x0fc5
00003d38: JUMP
00003d39: JUMPDEST
00003d3a: PUSH1 0x00
00003d3c: PUSH1 0x01
00003d3e: PUSH1 0x01
00003d40: PUSH1 0xe0
00003d42: SHL
00003d43: SUB
00003d44: DUP3
00003d45: GT
00003d46: ISZERO
00003d47: PUSH2 0x3db8
00003d4a: JUMPI
00003d4b: PUSH1 0x40
00003d4d: MLOAD
00003d4e: PUSH3 0x461bcd
00003d52: PUSH1 0xe5
00003d54: SHL
00003d55: DUP2
00003d56: MSTORE
00003d57: PUSH1 0x20
00003d59: PUSH1 0x04
00003d5b: DUP3
00003d5c: ADD
00003d5d: MSTORE
00003d5e: PUSH1 0x27
00003d60: PUSH1 0x24
00003d62: DUP3
00003d63: ADD
00003d64: MSTORE
00003d65: PUSH32 0x53616665436173743a2076616c756520646f65736e27742066697420696e2032
00003d86: PUSH1 0x44
00003d88: DUP3
00003d89: ADD
00003d8a: MSTORE
00003d8b: PUSH32 0x3234206269747300000000000000000000000000000000000000000000000000
00003dac: PUSH1 0x64
00003dae: DUP3
00003daf: ADD
00003db0: MSTORE
00003db1: PUSH1 0x84
00003db3: ADD
00003db4: PUSH2 0x0fc5
00003db7: JUMP
00003db8: JUMPDEST
00003db9: POP
00003dba: SWAP1
00003dbb: JUMP
00003dbc: JUMPDEST
00003dbd: PUSH1 0x60
00003dbf: PUSH2 0x2a90
00003dc2: DUP5
00003dc3: DUP5
00003dc4: PUSH1 0x00
00003dc6: DUP6
00003dc7: PUSH2 0x3e24
00003dca: JUMP
00003dcb: JUMPDEST
00003dcc: PUSH1 0x02
00003dce: PUSH1 0x05
00003dd0: SLOAD
00003dd1: SUB
00003dd2: PUSH2 0x3e1d
00003dd5: JUMPI
00003dd6: PUSH1 0x40
00003dd8: MLOAD
00003dd9: PUSH3 0x461bcd
00003ddd: PUSH1 0xe5
00003ddf: SHL
00003de0: DUP2
00003de1: MSTORE
00003de2: PUSH1 0x20
00003de4: PUSH1 0x04
00003de6: DUP3
00003de7: ADD
00003de8: MSTORE
00003de9: PUSH1 0x1f
00003deb: PUSH1 0x24
00003ded: DUP3
00003dee: ADD
00003def: MSTORE
00003df0: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
00003e11: PUSH1 0x44
00003e13: DUP3
00003e14: ADD
00003e15: MSTORE
00003e16: PUSH1 0x64
00003e18: ADD
00003e19: PUSH2 0x0fc5
00003e1c: JUMP
00003e1d: JUMPDEST
00003e1e: PUSH1 0x02
00003e20: PUSH1 0x05
00003e22: SSTORE
00003e23: JUMP
00003e24: JUMPDEST
00003e25: PUSH1 0x60
00003e27: DUP3
00003e28: SELFBALANCE
00003e29: LT
00003e2a: ISZERO
00003e2b: PUSH2 0x3e9c
00003e2e: JUMPI
00003e2f: PUSH1 0x40
00003e31: MLOAD
00003e32: PUSH3 0x461bcd
00003e36: PUSH1 0xe5
00003e38: SHL
00003e39: DUP2
00003e3a: MSTORE
00003e3b: PUSH1 0x20
00003e3d: PUSH1 0x04
00003e3f: DUP3
00003e40: ADD
00003e41: MSTORE
00003e42: PUSH1 0x26
00003e44: PUSH1 0x24
00003e46: DUP3
00003e47: ADD
00003e48: MSTORE
00003e49: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f
00003e6a: PUSH1 0x44
00003e6c: DUP3
00003e6d: ADD
00003e6e: MSTORE
00003e6f: PUSH32 0x722063616c6c0000000000000000000000000000000000000000000000000000
00003e90: PUSH1 0x64
00003e92: DUP3
00003e93: ADD
00003e94: MSTORE
00003e95: PUSH1 0x84
00003e97: ADD
00003e98: PUSH2 0x0fc5
00003e9b: JUMP
00003e9c: JUMPDEST
00003e9d: PUSH1 0x00
00003e9f: DUP1
00003ea0: DUP7
00003ea1: PUSH1 0x01
00003ea3: PUSH1 0x01
00003ea5: PUSH1 0xa0
00003ea7: SHL
00003ea8: SUB
00003ea9: AND
00003eaa: DUP6
00003eab: DUP8
00003eac: PUSH1 0x40
00003eae: MLOAD
00003eaf: PUSH2 0x3eb8
00003eb2: SWAP2
00003eb3: SWAP1
00003eb4: PUSH2 0x4703
00003eb7: JUMP
00003eb8: JUMPDEST
00003eb9: PUSH1 0x00
00003ebb: PUSH1 0x40
00003ebd: MLOAD
00003ebe: DUP1
00003ebf: DUP4
00003ec0: SUB
00003ec1: DUP2
00003ec2: DUP6
00003ec3: DUP8
00003ec4: GAS
00003ec5: CALL
00003ec6: SWAP3
00003ec7: POP
00003ec8: POP
00003ec9: POP
00003eca: RETURNDATASIZE
00003ecb: DUP1
00003ecc: PUSH1 0x00
00003ece: DUP2
00003ecf: EQ
00003ed0: PUSH2 0x3ef5
00003ed3: JUMPI
00003ed4: PUSH1 0x40
00003ed6: MLOAD
00003ed7: SWAP2
00003ed8: POP
00003ed9: PUSH1 0x1f
00003edb: NOT
00003edc: PUSH1 0x3f
00003ede: RETURNDATASIZE
00003edf: ADD
00003ee0: AND
00003ee1: DUP3
00003ee2: ADD
00003ee3: PUSH1 0x40
00003ee5: MSTORE
00003ee6: RETURNDATASIZE
00003ee7: DUP3
00003ee8: MSTORE
00003ee9: RETURNDATASIZE
00003eea: PUSH1 0x00
00003eec: PUSH1 0x20
00003eee: DUP5
00003eef: ADD
00003ef0: RETURNDATACOPY
00003ef1: PUSH2 0x3efa
00003ef4: JUMP
00003ef5: JUMPDEST
00003ef6: PUSH1 0x60
00003ef8: SWAP2
00003ef9: POP
00003efa: JUMPDEST
00003efb: POP
00003efc: SWAP2
00003efd: POP
00003efe: SWAP2
00003eff: POP
00003f00: PUSH2 0x2ed1
00003f03: DUP8
00003f04: DUP4
00003f05: DUP4
00003f06: DUP8
00003f07: PUSH1 0x60
00003f09: DUP4
00003f0a: ISZERO
00003f0b: PUSH2 0x3f75
00003f0e: JUMPI
00003f0f: DUP3
00003f10: MLOAD
00003f11: PUSH1 0x00
00003f13: SUB
00003f14: PUSH2 0x3f6e
00003f17: JUMPI
00003f18: PUSH1 0x01
00003f1a: PUSH1 0x01
00003f1c: PUSH1 0xa0
00003f1e: SHL
00003f1f: SUB
00003f20: DUP6
00003f21: AND
00003f22: EXTCODESIZE
00003f23: PUSH2 0x3f6e
00003f26: JUMPI
00003f27: PUSH1 0x40
00003f29: MLOAD
00003f2a: PUSH3 0x461bcd
00003f2e: PUSH1 0xe5
00003f30: SHL
00003f31: DUP2
00003f32: MSTORE
00003f33: PUSH1 0x20
00003f35: PUSH1 0x04
00003f37: DUP3
00003f38: ADD
00003f39: MSTORE
00003f3a: PUSH1 0x1d
00003f3c: PUSH1 0x24
00003f3e: DUP3
00003f3f: ADD
00003f40: MSTORE
00003f41: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
00003f62: PUSH1 0x44
00003f64: DUP3
00003f65: ADD
00003f66: MSTORE
00003f67: PUSH1 0x64
00003f69: ADD
00003f6a: PUSH2 0x0fc5
00003f6d: JUMP
00003f6e: JUMPDEST
00003f6f: POP
00003f70: DUP2
00003f71: PUSH2 0x2a90
00003f74: JUMP
00003f75: JUMPDEST
00003f76: PUSH2 0x2a90
00003f79: DUP4
00003f7a: DUP4
00003f7b: DUP2
00003f7c: MLOAD
00003f7d: ISZERO
00003f7e: PUSH2 0x3f8a
00003f81: JUMPI
00003f82: DUP2
00003f83: MLOAD
00003f84: DUP1
00003f85: DUP4
00003f86: PUSH1 0x20
00003f88: ADD
00003f89: REVERT
00003f8a: JUMPDEST
00003f8b: DUP1
00003f8c: PUSH1 0x40
00003f8e: MLOAD
00003f8f: PUSH3 0x461bcd
00003f93: PUSH1 0xe5
00003f95: SHL
00003f96: DUP2
00003f97: MSTORE
00003f98: PUSH1 0x04
00003f9a: ADD
00003f9b: PUSH2 0x0fc5
00003f9e: SWAP2
00003f9f: SWAP1
00003fa0: PUSH2 0x3fc8
00003fa3: JUMP
00003fa4: JUMPDEST
00003fa5: PUSH1 0x00
00003fa7: JUMPDEST
00003fa8: DUP4
00003fa9: DUP2
00003faa: LT
00003fab: ISZERO
00003fac: PUSH2 0x3fbf
00003faf: JUMPI
00003fb0: DUP2
00003fb1: DUP2
00003fb2: ADD
00003fb3: MLOAD
00003fb4: DUP4
00003fb5: DUP3
00003fb6: ADD
00003fb7: MSTORE
00003fb8: PUSH1 0x20
00003fba: ADD
00003fbb: PUSH2 0x3fa7
00003fbe: JUMP
00003fbf: JUMPDEST
00003fc0: POP
00003fc1: POP
00003fc2: PUSH1 0x00
00003fc4: SWAP2
00003fc5: ADD
00003fc6: MSTORE
00003fc7: JUMP
00003fc8: JUMPDEST
00003fc9: PUSH1 0x20
00003fcb: DUP2
00003fcc: MSTORE
00003fcd: PUSH1 0x00
00003fcf: DUP3
00003fd0: MLOAD
00003fd1: DUP1
00003fd2: PUSH1 0x20
00003fd4: DUP5
00003fd5: ADD
00003fd6: MSTORE
00003fd7: PUSH2 0x3fe7
00003fda: DUP2
00003fdb: PUSH1 0x40
00003fdd: DUP6
00003fde: ADD
00003fdf: PUSH1 0x20
00003fe1: DUP8
00003fe2: ADD
00003fe3: PUSH2 0x3fa4
00003fe6: JUMP
00003fe7: JUMPDEST
00003fe8: PUSH1 0x1f
00003fea: ADD
00003feb: PUSH1 0x1f
00003fed: NOT
00003fee: AND
00003fef: SWAP2
00003ff0: SWAP1
00003ff1: SWAP2
00003ff2: ADD
00003ff3: PUSH1 0x40
00003ff5: ADD
00003ff6: SWAP3
00003ff7: SWAP2
00003ff8: POP
00003ff9: POP
00003ffa: JUMP
00003ffb: JUMPDEST
00003ffc: DUP1
00003ffd: CALLDATALOAD
00003ffe: PUSH1 0x01
00004000: PUSH1 0x01
00004002: PUSH1 0xa0
00004004: SHL
00004005: SUB
00004006: DUP2
00004007: AND
00004008: DUP2
00004009: EQ
0000400a: PUSH2 0x4012
0000400d: JUMPI
0000400e: PUSH1 0x00
00004010: DUP1
00004011: REVERT
00004012: JUMPDEST
00004013: SWAP2
00004014: SWAP1
00004015: POP
00004016: JUMP
00004017: JUMPDEST
00004018: PUSH1 0x00
0000401a: DUP1
0000401b: PUSH1 0x40
0000401d: DUP4
0000401e: DUP6
0000401f: SUB
00004020: SLT
00004021: ISZERO
00004022: PUSH2 0x402a
00004025: JUMPI
00004026: PUSH1 0x00
00004028: DUP1
00004029: REVERT
0000402a: JUMPDEST
0000402b: PUSH2 0x4033
0000402e: DUP4
0000402f: PUSH2 0x3ffb
00004032: JUMP
00004033: JUMPDEST
00004034: SWAP5
00004035: PUSH1 0x20
00004037: SWAP4
00004038: SWAP1
00004039: SWAP4
0000403a: ADD
0000403b: CALLDATALOAD
0000403c: SWAP4
0000403d: POP
0000403e: POP
0000403f: POP
00004040: JUMP
00004041: JUMPDEST
00004042: PUSH1 0x00
00004044: PUSH1 0x20
00004046: DUP3
00004047: DUP5
00004048: SUB
00004049: SLT
0000404a: ISZERO
0000404b: PUSH2 0x4053
0000404e: JUMPI
0000404f: PUSH1 0x00
00004051: DUP1
00004052: REVERT
00004053: JUMPDEST
00004054: PUSH2 0x0b53
00004057: DUP3
00004058: PUSH2 0x3ffb
0000405b: JUMP
0000405c: JUMPDEST
0000405d: PUSH1 0x60
0000405f: DUP1
00004060: DUP3
00004061: MSTORE
00004062: DUP5
00004063: MLOAD
00004064: SWAP1
00004065: DUP3
00004066: ADD
00004067: DUP2
00004068: SWAP1
00004069: MSTORE
0000406a: PUSH1 0x00
0000406c: SWAP1
0000406d: PUSH1 0x20
0000406f: SWAP1
00004070: PUSH1 0x80
00004072: DUP5
00004073: ADD
00004074: SWAP1
00004075: DUP3
00004076: DUP9
00004077: ADD
00004078: DUP5
00004079: JUMPDEST
0000407a: DUP3
0000407b: DUP2
0000407c: LT
0000407d: ISZERO
0000407e: PUSH2 0x4095
00004081: JUMPI
00004082: DUP2
00004083: MLOAD
00004084: DUP5
00004085: MSTORE
00004086: SWAP3
00004087: DUP5
00004088: ADD
00004089: SWAP3
0000408a: SWAP1
0000408b: DUP5
0000408c: ADD
0000408d: SWAP1
0000408e: PUSH1 0x01
00004090: ADD
00004091: PUSH2 0x4079
00004094: JUMP
00004095: JUMPDEST
00004096: POP
00004097: POP
00004098: POP
00004099: DUP4
0000409a: DUP2
0000409b: SUB
0000409c: DUP3
0000409d: DUP6
0000409e: ADD
0000409f: MSTORE
000040a0: DUP6
000040a1: MLOAD
000040a2: DUP1
000040a3: DUP3
000040a4: MSTORE
000040a5: DUP7
000040a6: DUP4
000040a7: ADD
000040a8: SWAP2
000040a9: DUP4
000040aa: ADD
000040ab: SWAP1
000040ac: PUSH1 0x00
000040ae: JUMPDEST
000040af: DUP2
000040b0: DUP2
000040b1: LT
000040b2: ISZERO
000040b3: PUSH2 0x40d3
000040b6: JUMPI
000040b7: DUP4
000040b8: MLOAD
000040b9: PUSH1 0x01
000040bb: PUSH1 0x01
000040bd: PUSH1 0xa0
000040bf: SHL
000040c0: SUB
000040c1: AND
000040c2: DUP4
000040c3: MSTORE
000040c4: SWAP3
000040c5: DUP5
000040c6: ADD
000040c7: SWAP3
000040c8: SWAP2
000040c9: DUP5
000040ca: ADD
000040cb: SWAP2
000040cc: PUSH1 0x01
000040ce: ADD
000040cf: PUSH2 0x40ae
000040d2: JUMP
000040d3: JUMPDEST
000040d4: POP
000040d5: POP
000040d6: DUP1
000040d7: SWAP4
000040d8: POP
000040d9: POP
000040da: POP
000040db: POP
000040dc: DUP3
000040dd: PUSH1 0x40
000040df: DUP4
000040e0: ADD
000040e1: MSTORE
000040e2: SWAP5
000040e3: SWAP4
000040e4: POP
000040e5: POP
000040e6: POP
000040e7: POP
000040e8: JUMP
000040e9: JUMPDEST
000040ea: PUSH1 0x00
000040ec: DUP1
000040ed: PUSH1 0x00
000040ef: PUSH1 0x60
000040f1: DUP5
000040f2: DUP7
000040f3: SUB
000040f4: SLT
000040f5: ISZERO
000040f6: PUSH2 0x40fe
000040f9: JUMPI
000040fa: PUSH1 0x00
000040fc: DUP1
000040fd: REVERT
000040fe: JUMPDEST
000040ff: PUSH2 0x4107
00004102: DUP5
00004103: PUSH2 0x3ffb
00004106: JUMP
00004107: JUMPDEST
00004108: SWAP3
00004109: POP
0000410a: PUSH2 0x4115
0000410d: PUSH1 0x20
0000410f: DUP6
00004110: ADD
00004111: PUSH2 0x3ffb
00004114: JUMP
00004115: JUMPDEST
00004116: SWAP2
00004117: POP
00004118: PUSH1 0x40
0000411a: DUP5
0000411b: ADD
0000411c: CALLDATALOAD
0000411d: SWAP1
0000411e: POP
0000411f: SWAP3
00004120: POP
00004121: SWAP3
00004122: POP
00004123: SWAP3
00004124: JUMP
00004125: JUMPDEST
00004126: PUSH1 0x00
00004128: PUSH1 0x60
0000412a: DUP3
0000412b: DUP5
0000412c: SUB
0000412d: SLT
0000412e: ISZERO
0000412f: PUSH2 0x2fea
00004132: JUMPI
00004133: PUSH1 0x00
00004135: DUP1
00004136: REVERT
00004137: JUMPDEST
00004138: PUSH1 0x00
0000413a: DUP1
0000413b: DUP4
0000413c: PUSH1 0x1f
0000413e: DUP5
0000413f: ADD
00004140: SLT
00004141: PUSH2 0x4149
00004144: JUMPI
00004145: PUSH1 0x00
00004147: DUP1
00004148: REVERT
00004149: JUMPDEST
0000414a: POP
0000414b: DUP2
0000414c: CALLDATALOAD
0000414d: PUSH8 0xffffffffffffffff
00004156: DUP2
00004157: GT
00004158: ISZERO
00004159: PUSH2 0x4161
0000415c: JUMPI
0000415d: PUSH1 0x00
0000415f: DUP1
00004160: REVERT
00004161: JUMPDEST
00004162: PUSH1 0x20
00004164: DUP4
00004165: ADD
00004166: SWAP2
00004167: POP
00004168: DUP4
00004169: PUSH1 0x20
0000416b: DUP3
0000416c: DUP6
0000416d: ADD
0000416e: ADD
0000416f: GT
00004170: ISZERO
00004171: PUSH2 0x4179
00004174: JUMPI
00004175: PUSH1 0x00
00004177: DUP1
00004178: REVERT
00004179: JUMPDEST
0000417a: SWAP3
0000417b: POP
0000417c: SWAP3
0000417d: SWAP1
0000417e: POP
0000417f: JUMP
00004180: JUMPDEST
00004181: PUSH1 0x00
00004183: DUP1
00004184: PUSH1 0x00
00004186: DUP1
00004187: PUSH1 0x00
00004189: DUP1
0000418a: PUSH1 0x00
0000418c: DUP1
0000418d: PUSH2 0x0120
00004190: DUP10
00004191: DUP12
00004192: SUB
00004193: SLT
00004194: ISZERO
00004195: PUSH2 0x419d
00004198: JUMPI
00004199: PUSH1 0x00
0000419b: DUP1
0000419c: REVERT
0000419d: JUMPDEST
0000419e: PUSH2 0x41a6
000041a1: DUP10
000041a2: PUSH2 0x3ffb
000041a5: JUMP
000041a6: JUMPDEST
000041a7: SWAP8
000041a8: POP
000041a9: PUSH1 0x20
000041ab: DUP10
000041ac: ADD
000041ad: CALLDATALOAD
000041ae: SWAP7
000041af: POP
000041b0: PUSH1 0x40
000041b2: DUP10
000041b3: ADD
000041b4: CALLDATALOAD
000041b5: SWAP6
000041b6: POP
000041b7: PUSH1 0x60
000041b9: DUP10
000041ba: ADD
000041bb: CALLDATALOAD
000041bc: SWAP5
000041bd: POP
000041be: PUSH2 0x41c9
000041c1: PUSH1 0x80
000041c3: DUP11
000041c4: ADD
000041c5: PUSH2 0x3ffb
000041c8: JUMP
000041c9: JUMPDEST
000041ca: SWAP4
000041cb: POP
000041cc: PUSH2 0x41d8
000041cf: DUP11
000041d0: PUSH1 0xa0
000041d2: DUP12
000041d3: ADD
000041d4: PUSH2 0x4125
000041d7: JUMP
000041d8: JUMPDEST
000041d9: SWAP3
000041da: POP
000041db: PUSH2 0x0100
000041de: DUP10
000041df: ADD
000041e0: CALLDATALOAD
000041e1: PUSH8 0xffffffffffffffff
000041ea: DUP2
000041eb: GT
000041ec: ISZERO
000041ed: PUSH2 0x41f5
000041f0: JUMPI
000041f1: PUSH1 0x00
000041f3: DUP1
000041f4: REVERT
000041f5: JUMPDEST
000041f6: PUSH2 0x4201
000041f9: DUP12
000041fa: DUP3
000041fb: DUP13
000041fc: ADD
000041fd: PUSH2 0x4137
00004200: JUMP
00004201: JUMPDEST
00004202: SWAP10
00004203: SWAP13
00004204: SWAP9
00004205: SWAP12
00004206: POP
00004207: SWAP7
00004208: SWAP10
00004209: POP
0000420a: SWAP5
0000420b: SWAP8
0000420c: SWAP4
0000420d: SWAP7
0000420e: SWAP3
0000420f: SWAP6
00004210: SWAP5
00004211: POP
00004212: POP
00004213: POP
00004214: JUMP
00004215: JUMPDEST
00004216: PUSH1 0x00
00004218: DUP1
00004219: DUP4
0000421a: PUSH1 0x1f
0000421c: DUP5
0000421d: ADD
0000421e: SLT
0000421f: PUSH2 0x4227
00004222: JUMPI
00004223: PUSH1 0x00
00004225: DUP1
00004226: REVERT
00004227: JUMPDEST
00004228: POP
00004229: DUP2
0000422a: CALLDATALOAD
0000422b: PUSH8 0xffffffffffffffff
00004234: DUP2
00004235: GT
00004236: ISZERO
00004237: PUSH2 0x423f
0000423a: JUMPI
0000423b: PUSH1 0x00
0000423d: DUP1
0000423e: REVERT
0000423f: JUMPDEST
00004240: PUSH1 0x20
00004242: DUP4
00004243: ADD
00004244: SWAP2
00004245: POP
00004246: DUP4
00004247: PUSH1 0x20
00004249: DUP3
0000424a: PUSH1 0x05
0000424c: SHL
0000424d: DUP6
0000424e: ADD
0000424f: ADD
00004250: GT
00004251: ISZERO
00004252: PUSH2 0x4179
00004255: JUMPI
00004256: PUSH1 0x00
00004258: DUP1
00004259: REVERT
0000425a: JUMPDEST
0000425b: PUSH1 0x00
0000425d: DUP1
0000425e: PUSH1 0x00
00004260: DUP1
00004261: PUSH1 0x00
00004263: DUP1
00004264: PUSH1 0xe0
00004266: DUP8
00004267: DUP10
00004268: SUB
00004269: SLT
0000426a: ISZERO
0000426b: PUSH2 0x4273
0000426e: JUMPI
0000426f: PUSH1 0x00
00004271: DUP1
00004272: REVERT
00004273: JUMPDEST
00004274: DUP7
00004275: CALLDATALOAD
00004276: PUSH8 0xffffffffffffffff
0000427f: DUP2
00004280: GT
00004281: ISZERO
00004282: PUSH2 0x428a
00004285: JUMPI
00004286: PUSH1 0x00
00004288: DUP1
00004289: REVERT
0000428a: JUMPDEST
0000428b: PUSH2 0x4296
0000428e: DUP10
0000428f: DUP3
00004290: DUP11
00004291: ADD
00004292: PUSH2 0x4215
00004295: JUMP
00004296: JUMPDEST
00004297: SWAP1
00004298: SWAP8
00004299: POP
0000429a: SWAP6
0000429b: POP
0000429c: POP
0000429d: PUSH1 0x20
0000429f: DUP8
000042a0: ADD
000042a1: CALLDATALOAD
000042a2: SWAP4
000042a3: POP
000042a4: PUSH1 0x40
000042a6: DUP8
000042a7: ADD
000042a8: CALLDATALOAD
000042a9: SWAP3
000042aa: POP
000042ab: PUSH1 0x60
000042ad: DUP8
000042ae: ADD
000042af: CALLDATALOAD
000042b0: SWAP2
000042b1: POP
000042b2: PUSH2 0x42be
000042b5: DUP9
000042b6: PUSH1 0x80
000042b8: DUP10
000042b9: ADD
000042ba: PUSH2 0x4125
000042bd: JUMP
000042be: JUMPDEST
000042bf: SWAP1
000042c0: POP
000042c1: SWAP3
000042c2: SWAP6
000042c3: POP
000042c4: SWAP3
000042c5: SWAP6
000042c6: POP
000042c7: SWAP3
000042c8: SWAP6
000042c9: JUMP
000042ca: JUMPDEST
000042cb: PUSH1 0x00
000042cd: DUP1
000042ce: PUSH1 0x00
000042d0: DUP1
000042d1: PUSH1 0x00
000042d3: DUP1
000042d4: PUSH1 0x00
000042d6: DUP1
000042d7: PUSH1 0x00
000042d9: PUSH2 0x0140
000042dc: DUP11
000042dd: DUP13
000042de: SUB
000042df: SLT
000042e0: ISZERO
000042e1: PUSH2 0x42e9
000042e4: JUMPI
000042e5: PUSH1 0x00
000042e7: DUP1
000042e8: REVERT
000042e9: JUMPDEST
000042ea: PUSH2 0x42f2
000042ed: DUP11
000042ee: PUSH2 0x3ffb
000042f1: JUMP
000042f2: JUMPDEST
000042f3: SWAP9
000042f4: POP
000042f5: PUSH2 0x4300
000042f8: PUSH1 0x20
000042fa: DUP12
000042fb: ADD
000042fc: PUSH2 0x3ffb
000042ff: JUMP
00004300: JUMPDEST
00004301: SWAP8
00004302: POP
00004303: PUSH1 0x40
00004305: DUP11
00004306: ADD
00004307: CALLDATALOAD
00004308: SWAP7
00004309: POP
0000430a: PUSH1 0x60
0000430c: DUP11
0000430d: ADD
0000430e: CALLDATALOAD
0000430f: SWAP6
00004310: POP
00004311: PUSH1 0x80
00004313: DUP11
00004314: ADD
00004315: CALLDATALOAD
00004316: SWAP5
00004317: POP
00004318: PUSH2 0x4323
0000431b: PUSH1 0xa0
0000431d: DUP12
0000431e: ADD
0000431f: PUSH2 0x3ffb
00004322: JUMP
00004323: JUMPDEST
00004324: SWAP4
00004325: POP
00004326: PUSH2 0x4332
00004329: DUP12
0000432a: PUSH1 0xc0
0000432c: DUP13
0000432d: ADD
0000432e: PUSH2 0x4125
00004331: JUMP
00004332: JUMPDEST
00004333: SWAP3
00004334: POP
00004335: PUSH2 0x0120
00004338: DUP11
00004339: ADD
0000433a: CALLDATALOAD
0000433b: PUSH8 0xffffffffffffffff
00004344: DUP2
00004345: GT
00004346: ISZERO
00004347: PUSH2 0x434f
0000434a: JUMPI
0000434b: PUSH1 0x00
0000434d: DUP1
0000434e: REVERT
0000434f: JUMPDEST
00004350: PUSH2 0x435b
00004353: DUP13
00004354: DUP3
00004355: DUP14
00004356: ADD
00004357: PUSH2 0x4137
0000435a: JUMP
0000435b: JUMPDEST
0000435c: SWAP2
0000435d: POP
0000435e: DUP1
0000435f: SWAP4
00004360: POP
00004361: POP
00004362: DUP1
00004363: SWAP2
00004364: POP
00004365: POP
00004366: SWAP3
00004367: SWAP6
00004368: SWAP9
00004369: POP
0000436a: SWAP3
0000436b: SWAP6
0000436c: SWAP9
0000436d: POP
0000436e: SWAP3
0000436f: SWAP6
00004370: SWAP9
00004371: JUMP
00004372: JUMPDEST
00004373: PUSH1 0x00
00004375: PUSH1 0x20
00004377: DUP3
00004378: DUP5
00004379: SUB
0000437a: SLT
0000437b: ISZERO
0000437c: PUSH2 0x4384
0000437f: JUMPI
00004380: PUSH1 0x00
00004382: DUP1
00004383: REVERT
00004384: JUMPDEST
00004385: POP
00004386: CALLDATALOAD
00004387: SWAP2
00004388: SWAP1
00004389: POP
0000438a: JUMP
0000438b: JUMPDEST
0000438c: PUSH1 0x00
0000438e: DUP1
0000438f: PUSH1 0x00
00004391: DUP1
00004392: PUSH1 0x00
00004394: DUP1
00004395: PUSH1 0x00
00004397: PUSH2 0x0100
0000439a: DUP9
0000439b: DUP11
0000439c: SUB
0000439d: SLT
0000439e: ISZERO
0000439f: PUSH2 0x43a7
000043a2: JUMPI
000043a3: PUSH1 0x00
000043a5: DUP1
000043a6: REVERT
000043a7: JUMPDEST
000043a8: PUSH2 0x43b0
000043ab: DUP9
000043ac: PUSH2 0x3ffb
000043af: JUMP
000043b0: JUMPDEST
000043b1: SWAP7
000043b2: POP
000043b3: PUSH1 0x20
000043b5: DUP9
000043b6: ADD
000043b7: CALLDATALOAD
000043b8: PUSH8 0xffffffffffffffff
000043c1: DUP2
000043c2: GT
000043c3: ISZERO
000043c4: PUSH2 0x43cc
000043c7: JUMPI
000043c8: PUSH1 0x00
000043ca: DUP1
000043cb: REVERT
000043cc: JUMPDEST
000043cd: PUSH2 0x43d8
000043d0: DUP11
000043d1: DUP3
000043d2: DUP12
000043d3: ADD
000043d4: PUSH2 0x4215
000043d7: JUMP
000043d8: JUMPDEST
000043d9: SWAP1
000043da: SWAP8
000043db: POP
000043dc: SWAP6
000043dd: POP
000043de: POP
000043df: PUSH1 0x40
000043e1: DUP9
000043e2: ADD
000043e3: CALLDATALOAD
000043e4: SWAP4
000043e5: POP
000043e6: PUSH1 0x60
000043e8: DUP9
000043e9: ADD
000043ea: CALLDATALOAD
000043eb: SWAP3
000043ec: POP
000043ed: PUSH1 0x80
000043ef: DUP9
000043f0: ADD
000043f1: CALLDATALOAD
000043f2: SWAP2
000043f3: POP
000043f4: PUSH2 0x4400
000043f7: DUP10
000043f8: PUSH1 0xa0
000043fa: DUP11
000043fb: ADD
000043fc: PUSH2 0x4125
000043ff: JUMP
00004400: JUMPDEST
00004401: SWAP1
00004402: POP
00004403: SWAP3
00004404: SWAP6
00004405: SWAP9
00004406: SWAP2
00004407: SWAP5
00004408: SWAP8
00004409: POP
0000440a: SWAP3
0000440b: SWAP6
0000440c: POP
0000440d: JUMP
0000440e: JUMPDEST
0000440f: PUSH1 0x00
00004411: DUP1
00004412: PUSH1 0x00
00004414: DUP1
00004415: PUSH1 0x00
00004417: DUP1
00004418: PUSH2 0x0100
0000441b: DUP8
0000441c: DUP10
0000441d: SUB
0000441e: SLT
0000441f: ISZERO
00004420: PUSH2 0x4428
00004423: JUMPI
00004424: PUSH1 0x00
00004426: DUP1
00004427: REVERT
00004428: JUMPDEST
00004429: PUSH2 0x4431
0000442c: DUP8
0000442d: PUSH2 0x3ffb
00004430: JUMP
00004431: JUMPDEST
00004432: SWAP6
00004433: POP
00004434: PUSH1 0x20
00004436: DUP8
00004437: ADD
00004438: CALLDATALOAD
00004439: SWAP5
0000443a: POP
0000443b: PUSH2 0x4446
0000443e: PUSH1 0x40
00004440: DUP9
00004441: ADD
00004442: PUSH2 0x3ffb
00004445: JUMP
00004446: JUMPDEST
00004447: SWAP4
00004448: POP
00004449: PUSH1 0x60
0000444b: DUP8
0000444c: ADD
0000444d: CALLDATALOAD
0000444e: SWAP3
0000444f: POP
00004450: PUSH1 0x80
00004452: DUP8
00004453: ADD
00004454: CALLDATALOAD
00004455: SWAP2
00004456: POP
00004457: PUSH2 0x42be
0000445a: DUP9
0000445b: PUSH1 0xa0
0000445d: DUP10
0000445e: ADD
0000445f: PUSH2 0x4125
00004462: JUMP
00004463: JUMPDEST
00004464: PUSH1 0x00
00004466: DUP1
00004467: PUSH1 0x00
00004469: DUP1
0000446a: PUSH1 0x00
0000446c: DUP1
0000446d: PUSH1 0x00
0000446f: PUSH2 0x0120
00004472: DUP9
00004473: DUP11
00004474: SUB
00004475: SLT
00004476: ISZERO
00004477: PUSH2 0x447f
0000447a: JUMPI
0000447b: PUSH1 0x00
0000447d: DUP1
0000447e: REVERT
0000447f: JUMPDEST
00004480: PUSH2 0x4488
00004483: DUP9
00004484: PUSH2 0x3ffb
00004487: JUMP
00004488: JUMPDEST
00004489: SWAP7
0000448a: POP
0000448b: PUSH2 0x4496
0000448e: PUSH1 0x20
00004490: DUP10
00004491: ADD
00004492: PUSH2 0x3ffb
00004495: JUMP
00004496: JUMPDEST
00004497: SWAP6
00004498: POP
00004499: PUSH1 0x40
0000449b: DUP9
0000449c: ADD
0000449d: CALLDATALOAD
0000449e: SWAP5
0000449f: POP
000044a0: PUSH1 0x60
000044a2: DUP9
000044a3: ADD
000044a4: CALLDATALOAD
000044a5: SWAP4
000044a6: POP
000044a7: PUSH1 0x80
000044a9: DUP9
000044aa: ADD
000044ab: CALLDATALOAD
000044ac: SWAP3
000044ad: POP
000044ae: PUSH1 0xa0
000044b0: DUP9
000044b1: ADD
000044b2: CALLDATALOAD
000044b3: SWAP2
000044b4: POP
000044b5: PUSH2 0x4400
000044b8: DUP10
000044b9: PUSH1 0xc0
000044bb: DUP11
000044bc: ADD
000044bd: PUSH2 0x4125
000044c0: JUMP
000044c1: JUMPDEST
000044c2: PUSH1 0x00
000044c4: DUP1
000044c5: PUSH1 0x00
000044c7: DUP1
000044c8: PUSH1 0x00
000044ca: DUP1
000044cb: PUSH2 0x0100
000044ce: DUP8
000044cf: DUP10
000044d0: SUB
000044d1: SLT
000044d2: ISZERO
000044d3: PUSH2 0x44db
000044d6: JUMPI
000044d7: PUSH1 0x00
000044d9: DUP1
000044da: REVERT
000044db: JUMPDEST
000044dc: PUSH2 0x44e4
000044df: DUP8
000044e0: PUSH2 0x3ffb
000044e3: JUMP
000044e4: JUMPDEST
000044e5: SWAP6
000044e6: POP
000044e7: PUSH1 0x20
000044e9: DUP8
000044ea: ADD
000044eb: CALLDATALOAD
000044ec: SWAP5
000044ed: POP
000044ee: PUSH1 0x40
000044f0: DUP8
000044f1: ADD
000044f2: CALLDATALOAD
000044f3: SWAP4
000044f4: POP
000044f5: PUSH1 0x60
000044f7: DUP8
000044f8: ADD
000044f9: CALLDATALOAD
000044fa: SWAP3
000044fb: POP
000044fc: PUSH1 0x80
000044fe: DUP8
000044ff: ADD
00004500: CALLDATALOAD
00004501: SWAP2
00004502: POP
00004503: PUSH2 0x42be
00004506: DUP9
00004507: PUSH1 0xa0
00004509: DUP10
0000450a: ADD
0000450b: PUSH2 0x4125
0000450e: JUMP
0000450f: JUMPDEST
00004510: DUP1
00004511: CALLDATALOAD
00004512: PUSH1 0xff
00004514: DUP2
00004515: AND
00004516: DUP2
00004517: EQ
00004518: PUSH2 0x4012
0000451b: JUMPI
0000451c: PUSH1 0x00
0000451e: DUP1
0000451f: REVERT
00004520: JUMPDEST
00004521: PUSH1 0x00
00004523: DUP1
00004524: PUSH1 0x00
00004526: DUP1
00004527: PUSH1 0x00
00004529: DUP1
0000452a: PUSH1 0x00
0000452c: PUSH1 0xe0
0000452e: DUP9
0000452f: DUP11
00004530: SUB
00004531: SLT
00004532: ISZERO
00004533: PUSH2 0x453b
00004536: JUMPI
00004537: PUSH1 0x00
00004539: DUP1
0000453a: REVERT
0000453b: JUMPDEST
0000453c: PUSH2 0x4544
0000453f: DUP9
00004540: PUSH2 0x3ffb
00004543: JUMP
00004544: JUMPDEST
00004545: SWAP7
00004546: POP
00004547: PUSH2 0x4552
0000454a: PUSH1 0x20
0000454c: DUP10
0000454d: ADD
0000454e: PUSH2 0x3ffb
00004551: JUMP
00004552: JUMPDEST
00004553: SWAP6
00004554: POP
00004555: PUSH1 0x40
00004557: DUP9
00004558: ADD
00004559: CALLDATALOAD
0000455a: SWAP5
0000455b: POP
0000455c: PUSH1 0x60
0000455e: DUP9
0000455f: ADD
00004560: CALLDATALOAD
00004561: SWAP4
00004562: POP
00004563: PUSH2 0x456e
00004566: PUSH1 0x80
00004568: DUP10
00004569: ADD
0000456a: PUSH2 0x450f
0000456d: JUMP
0000456e: JUMPDEST
0000456f: SWAP3
00004570: POP
00004571: PUSH1 0xa0
00004573: DUP9
00004574: ADD
00004575: CALLDATALOAD
00004576: SWAP2
00004577: POP
00004578: PUSH1 0xc0
0000457a: DUP9
0000457b: ADD
0000457c: CALLDATALOAD
0000457d: SWAP1
0000457e: POP
0000457f: SWAP3
00004580: SWAP6
00004581: SWAP9
00004582: SWAP2
00004583: SWAP5
00004584: SWAP8
00004585: POP
00004586: SWAP3
00004587: SWAP6
00004588: POP
00004589: JUMP
0000458a: JUMPDEST
0000458b: PUSH1 0x00
0000458d: DUP1
0000458e: PUSH1 0x40
00004590: DUP4
00004591: DUP6
00004592: SUB
00004593: SLT
00004594: ISZERO
00004595: PUSH2 0x459d
00004598: JUMPI
00004599: PUSH1 0x00
0000459b: DUP1
0000459c: REVERT
0000459d: JUMPDEST
0000459e: PUSH2 0x45a6
000045a1: DUP4
000045a2: PUSH2 0x3ffb
000045a5: JUMP
000045a6: JUMPDEST
000045a7: SWAP2
000045a8: POP
000045a9: PUSH2 0x45b4
000045ac: PUSH1 0x20
000045ae: DUP5
000045af: ADD
000045b0: PUSH2 0x3ffb
000045b3: JUMP
000045b4: JUMPDEST
000045b5: SWAP1
000045b6: POP
000045b7: SWAP3
000045b8: POP
000045b9: SWAP3
000045ba: SWAP1
000045bb: POP
000045bc: JUMP
000045bd: JUMPDEST
000045be: PUSH1 0x01
000045c0: DUP2
000045c1: DUP2
000045c2: SHR
000045c3: SWAP1
000045c4: DUP3
000045c5: AND
000045c6: DUP1
000045c7: PUSH2 0x45d1
000045ca: JUMPI
000045cb: PUSH1 0x7f
000045cd: DUP3
000045ce: AND
000045cf: SWAP2
000045d0: POP
000045d1: JUMPDEST
000045d2: PUSH1 0x20
000045d4: DUP3
000045d5: LT
000045d6: DUP2
000045d7: SUB
000045d8: PUSH2 0x2fea
000045db: JUMPI
000045dc: PUSH4 0x4e487b71
000045e1: PUSH1 0xe0
000045e3: SHL
000045e4: PUSH1 0x00
000045e6: MSTORE
000045e7: PUSH1 0x22
000045e9: PUSH1 0x04
000045eb: MSTORE
000045ec: PUSH1 0x24
000045ee: PUSH1 0x00
000045f0: REVERT
000045f1: JUMPDEST
000045f2: PUSH4 0x4e487b71
000045f7: PUSH1 0xe0
000045f9: SHL
000045fa: PUSH1 0x00
000045fc: MSTORE
000045fd: PUSH1 0x41
000045ff: PUSH1 0x04
00004601: MSTORE
00004602: PUSH1 0x24
00004604: PUSH1 0x00
00004606: REVERT
00004607: JUMPDEST
00004608: PUSH4 0x4e487b71
0000460d: PUSH1 0xe0
0000460f: SHL
00004610: PUSH1 0x00
00004612: MSTORE
00004613: PUSH1 0x32
00004615: PUSH1 0x04
00004617: MSTORE
00004618: PUSH1 0x24
0000461a: PUSH1 0x00
0000461c: REVERT
0000461d: JUMPDEST
0000461e: PUSH4 0x4e487b71
00004623: PUSH1 0xe0
00004625: SHL
00004626: PUSH1 0x00
00004628: MSTORE
00004629: PUSH1 0x11
0000462b: PUSH1 0x04
0000462d: MSTORE
0000462e: PUSH1 0x24
00004630: PUSH1 0x00
00004632: REVERT
00004633: JUMPDEST
00004634: PUSH1 0x00
00004636: PUSH1 0x01
00004638: DUP3
00004639: ADD
0000463a: PUSH2 0x4645
0000463d: JUMPI
0000463e: PUSH2 0x4645
00004641: PUSH2 0x461d
00004644: JUMP
00004645: JUMPDEST
00004646: POP
00004647: PUSH1 0x01
00004649: ADD
0000464a: SWAP1
0000464b: JUMP
0000464c: JUMPDEST
0000464d: DUP1
0000464e: DUP3
0000464f: ADD
00004650: DUP1
00004651: DUP3
00004652: GT
00004653: ISZERO
00004654: PUSH2 0x09bc
00004657: JUMPI
00004658: PUSH2 0x09bc
0000465b: PUSH2 0x461d
0000465e: JUMP
0000465f: JUMPDEST
00004660: DUP2
00004661: DUP2
00004662: SUB
00004663: DUP2
00004664: DUP2
00004665: GT
00004666: ISZERO
00004667: PUSH2 0x09bc
0000466a: JUMPI
0000466b: PUSH2 0x09bc
0000466e: PUSH2 0x461d
00004671: JUMP
00004672: JUMPDEST
00004673: DUP5
00004674: DUP2
00004675: MSTORE
00004676: DUP4
00004677: PUSH1 0x20
00004679: DUP3
0000467a: ADD
0000467b: MSTORE
0000467c: PUSH1 0x60
0000467e: PUSH1 0x40
00004680: DUP3
00004681: ADD
00004682: MSTORE
00004683: DUP2
00004684: PUSH1 0x60
00004686: DUP3
00004687: ADD
00004688: MSTORE
00004689: DUP2
0000468a: DUP4
0000468b: PUSH1 0x80
0000468d: DUP4
0000468e: ADD
0000468f: CALLDATACOPY
00004690: PUSH1 0x00
00004692: DUP2
00004693: DUP4
00004694: ADD
00004695: PUSH1 0x80
00004697: SWAP1
00004698: DUP2
00004699: ADD
0000469a: SWAP2
0000469b: SWAP1
0000469c: SWAP2
0000469d: MSTORE
0000469e: PUSH1 0x1f
000046a0: SWAP1
000046a1: SWAP3
000046a2: ADD
000046a3: PUSH1 0x1f
000046a5: NOT
000046a6: AND
000046a7: ADD
000046a8: ADD
000046a9: SWAP4
000046aa: SWAP3
000046ab: POP
000046ac: POP
000046ad: POP
000046ae: JUMP
000046af: JUMPDEST
000046b0: DUP1
000046b1: DUP3
000046b2: MUL
000046b3: DUP2
000046b4: ISZERO
000046b5: DUP3
000046b6: DUP3
000046b7: DIV
000046b8: DUP5
000046b9: EQ
000046ba: OR
000046bb: PUSH2 0x09bc
000046be: JUMPI
000046bf: PUSH2 0x09bc
000046c2: PUSH2 0x461d
000046c5: JUMP
000046c6: JUMPDEST
000046c7: PUSH1 0x00
000046c9: DUP3
000046ca: PUSH2 0x46e3
000046cd: JUMPI
000046ce: PUSH4 0x4e487b71
000046d3: PUSH1 0xe0
000046d5: SHL
000046d6: PUSH1 0x00
000046d8: MSTORE
000046d9: PUSH1 0x12
000046db: PUSH1 0x04
000046dd: MSTORE
000046de: PUSH1 0x24
000046e0: PUSH1 0x00
000046e2: REVERT
000046e3: JUMPDEST
000046e4: POP
000046e5: DIV
000046e6: SWAP1
000046e7: JUMP
000046e8: JUMPDEST
000046e9: PUSH1 0x00
000046eb: PUSH1 0x20
000046ed: DUP3
000046ee: DUP5
000046ef: SUB
000046f0: SLT
000046f1: ISZERO
000046f2: PUSH2 0x46fa
000046f5: JUMPI
000046f6: PUSH1 0x00
000046f8: DUP1
000046f9: REVERT
000046fa: JUMPDEST
000046fb: PUSH2 0x0b53
000046fe: DUP3
000046ff: PUSH2 0x450f
00004702: JUMP
00004703: JUMPDEST
00004704: PUSH1 0x00
00004706: DUP3
00004707: MLOAD
00004708: PUSH2 0x4715
0000470b: DUP2
0000470c: DUP5
0000470d: PUSH1 0x20
0000470f: DUP8
00004710: ADD
00004711: PUSH2 0x3fa4
00004714: JUMP
00004715: JUMPDEST
00004716: SWAP2
00004717: SWAP1
00004718: SWAP2
00004719: ADD
0000471a: SWAP3
0000471b: SWAP2
0000471c: POP
0000471d: POP
0000471e: JUMP
0000471f: JUMPDEST
00004720: PUSH1 0x00
00004722: PUSH1 0x20
00004724: DUP3
00004725: DUP5
00004726: SUB
00004727: SLT
00004728: ISZERO
00004729: PUSH2 0x4731
0000472c: JUMPI
0000472d: PUSH1 0x00
0000472f: DUP1
00004730: REVERT
00004731: JUMPDEST
00004732: POP
00004733: MLOAD
00004734: SWAP2
00004735: SWAP1
00004736: POP
00004737: JUMP
00004738: JUMPDEST
00004739: PUSH1 0x00
0000473b: PUSH1 0x20
0000473d: DUP3
0000473e: DUP5
0000473f: SUB
00004740: SLT
00004741: ISZERO
00004742: PUSH2 0x474a
00004745: JUMPI
00004746: PUSH1 0x00
00004748: DUP1
00004749: REVERT
0000474a: JUMPDEST
0000474b: DUP2
0000474c: MLOAD
0000474d: DUP1
0000474e: ISZERO
0000474f: ISZERO
00004750: DUP2
00004751: EQ
00004752: PUSH2 0x0b53
00004755: JUMPI
00004756: PUSH1 0x00
00004758: DUP1
00004759: REVERT
0000475a: JUMPDEST
0000475b: PUSH1 0x00
0000475d: PUSH32 0x07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000477e: DUP4
0000477f: GT
00004780: ISZERO
00004781: PUSH2 0x4789
00004784: JUMPI
00004785: PUSH1 0x00
00004787: DUP1
00004788: REVERT
00004789: JUMPDEST
0000478a: DUP3
0000478b: PUSH1 0x05
0000478d: SHL
0000478e: DUP1
0000478f: DUP6
00004790: DUP5
00004791: CALLDATACOPY
00004792: SWAP2
00004793: SWAP1
00004794: SWAP2
00004795: ADD
00004796: SWAP4
00004797: SWAP3
00004798: POP
00004799: POP
0000479a: POP
0000479b: JUMP
0000479c: JUMPDEST
0000479d: PUSH4 0x4e487b71
000047a2: PUSH1 0xe0
000047a4: SHL
000047a5: PUSH1 0x00
000047a7: MSTORE
000047a8: PUSH1 0x21
000047aa: PUSH1 0x04
000047ac: MSTORE
000047ad: PUSH1 0x24
000047af: PUSH1 0x00
000047b1: REVERT
000047b2: INVALID
000047b3: LOG2
000047b4: PUSH5 0x6970667358
000047ba: UNKNOWN(0x22)
000047bb: SLT
000047bc: KECCAK256
000047bd: PUSH4 0x80f0ef5a
000047c2: STATICCALL
000047c3: MULMOD
000047c4: RETURN
000047c5: LOG0
000047c6: SWAP11
000047c7: SWAP15
000047c8: PUSH24 0x0adc2e4f9c3b179f7a64eff11ea7c9ebf93bb60564736f6c
000047e1: PUSH4 0x43000813
000047e6: STOP
000047e7: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xeb1c6453",
            "selector": "0xeb1c6453",
            "calldata_variants": [
                "0xeb1c6453",
                "0xeb1c64530000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xecc7633d",
            "selector": "0xecc7633d",
            "calldata_variants": [
                "0xecc7633d",
                "0xecc7633d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd505accf",
            "selector": "0xd505accf",
            "calldata_variants": [
                "0xd505accf",
                "0xd505accf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xda5014c5",
            "selector": "0xda5014c5",
            "calldata_variants": [
                "0xda5014c5",
                "0xda5014c50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc325a549",
            "selector": "0xc325a549",
            "calldata_variants": [
                "0xc325a549",
                "0xc325a5490000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc72da66a",
            "selector": "0xc72da66a",
            "calldata_variants": [
                "0xc72da66a",
                "0xc72da66a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 9806,
            "type": "tx_origin_used"
        },
        {
            "pc": 13078,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0xb308fbadcf2199303050dcf6b2544c1fb9b379337bfc5b395657c8eb91dace8e
call_targets: 0x655edce464cc797526600a462a8154650eee4b77
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xb308fbadcf2199303050dcf6b2544c1fb9b379337bfc5b395657c8eb91dace8e",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x655edce464cc797526600a462a8154650eee4b77"
    ],
    "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": "0xeb1c6453",
            "selector": "0xeb1c6453",
            "calldata_variants": [
                "0xeb1c6453",
                "0xeb1c64530000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xecc7633d",
            "selector": "0xecc7633d",
            "calldata_variants": [
                "0xecc7633d",
                "0xecc7633d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd505accf",
            "selector": "0xd505accf",
            "calldata_variants": [
                "0xd505accf",
                "0xd505accf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xda5014c5",
            "selector": "0xda5014c5",
            "calldata_variants": [
                "0xda5014c5",
                "0xda5014c50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc325a549",
            "selector": "0xc325a549",
            "calldata_variants": [
                "0xc325a549",
                "0xc325a5490000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc72da66a",
            "selector": "0xc72da66a",
            "calldata_variants": [
                "0xc72da66a",
                "0xc72da66a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4757,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5977,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7591,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 5,
    "guards_detected": [
        {
            "pc": 9806,
            "type": "tx_origin_used"
        },
        {
            "pc": 13078,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 5
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0xb308fbadcf2199303050dcf6b2544c1fb9b379337bfc5b395657c8eb91dace8e
call_targets: 0x655edce464cc797526600a462a8154650eee4b77
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xb308fbadcf2199303050dcf6b2544c1fb9b379337bfc5b395657c8eb91dace8e",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x655edce464cc797526600a462a8154650eee4b77"
    ],
    "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": "0xeb1c6453",
            "selector": "0xeb1c6453",
            "calldata_variants": [
                "0xeb1c6453",
                "0xeb1c64530000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xecc7633d",
            "selector": "0xecc7633d",
            "calldata_variants": [
                "0xecc7633d",
                "0xecc7633d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd505accf",
            "selector": "0xd505accf",
            "calldata_variants": [
                "0xd505accf",
                "0xd505accf0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xda5014c5",
            "selector": "0xda5014c5",
            "calldata_variants": [
                "0xda5014c5",
                "0xda5014c50000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc325a549",
            "selector": "0xc325a549",
            "calldata_variants": [
                "0xc325a549",
                "0xc325a5490000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc72da66a",
            "selector": "0xc72da66a",
            "calldata_variants": [
                "0xc72da66a",
                "0xc72da66a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 4757,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5977,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7591,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 5,
    "guards_detected": [
        {
            "pc": 9806,
            "type": "tx_origin_used"
        },
        {
            "pc": 13078,
            "type": "tx_origin_used"
        }
    ]
}
low auth codex Replayable signed quotes due to missing nonce/fill tracking 65 no
view
evidence_json
{
    "evidence": "Signed payloads only include tokens/amounts/timestamps/destination, and `verifyDigestSignature` only checks signer validity without recording usage. Swap/withdraw/deposit paths simply call `verifyDigestSignature` and proceed.",
    "locations": [
        "contracts/contracts/ClipperCommonExchange.sol:292",
        "contracts/contracts/ClipperCommonExchange.sol:340",
        "contracts/contracts/ClipperCommonExchange.sol:361",
        "contracts/contracts/ClipperCaravelExchange.sol:182"
    ],
    "recommendation": "Include a per-order nonce or unique salt in the signed data and track used digests (or per-user nonces) on-chain. Reject any signature whose nonce/order hash has already been consumed.",
    "exploit_scenario": "If the designated signer issues a quote intended for single use, any caller can execute the same signature repeatedly (across blocks) until `goodUntil`, since signatures are not marked as consumed. This lets an attacker repeatedly trade/withdraw at a stale price, potentially draining liquidity beyond the signer\u2019s intended fill size."
}