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

Analysis Run

cd9a2c6e-802a-4f64-9f36-2ed44f0a937c

complete
Chain ID
1
Address
Block Number
Created
Thu, Jan 1, 2026 4:59 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
Unrestricted EIC delegatecall in initialize enables arbitrary code execution and fund drain
crit 0 high 0 proxy context implementation known
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
31084 report.consolidate complete 1 / 1 3 months ago
76318 artifact.fetch complete 1 / 3 1 week ago
76319 tool.cast_disasm complete 1 / 3 1 week ago
76320 analysis.bundle complete 1 / 3 1 week ago
76321 capability.graph complete 1 / 3 1 week ago
76322 detector.run complete 1 / 3 1 week ago
76323 validation.fork complete 1 / 3 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: yes
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
Critical: proxy initializer allows arbitrary delegatecall via user-supplied EIC, enabling full fund drain from bridge proxies.
View stderr
[codex:656753] OpenAI Codex v0.77.0 (research preview)
[codex:656753] --------
[codex:656753] workdir: /tmp/codex-multi-wcfvfs39
[codex:656753] model: gpt-5.2-codex
[codex:656753] provider: openai
[codex:656753] approval: never
[codex:656753] sandbox: read-only
[codex:656753] reasoning effort: xhigh
[codex:656753] reasoning summaries: auto
[codex:656753] session id: 019b7a78-8fec-7b32-b80b-f5f5399aee66
[codex:656753] --------
[codex:656753] user
[codex:656753] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:656753] 
[codex:656753] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:656753] 
[codex:656753] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:656753] - Gas inefficiency, code quality, naming, or best practices
[codex:656753] - Theoretical vulnerabilities without a clear extraction path
[codex:656753] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:656753] - Front-running unless it enables theft beyond MEV
[codex:656753] - DoS, griefing, or issues that don't result in attacker profit
[codex:656753] - Missing events, view function issues, or informational findings
[codex:656753] 
[codex:656753] HIGH-VALUE PATTERNS TO HUNT:
[codex:656753] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:656753] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:656753] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:656753] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:656753] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:656753] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:656753] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:656753] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:656753] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:656753] 
[codex:656753] For each finding, you MUST provide:
[codex:656753] 1. Exact file and line numbers of vulnerable code
[codex:656753] 2. Step-by-step exploit transaction sequence
[codex:656753] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:656753] 
[codex:656753] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:656753] 
[codex:656753] Output MUST be valid JSON matching the provided schema.
[codex:656753] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:656753] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:656753] mcp startup: no servers
[codex:656753] 
[codex:656753] thinking
[codex:656753] **Listing files to find instructions**
[codex:656753] exec
[codex:656753] /bin/bash -lc ls in /tmp/codex-multi-wcfvfs39 succeeded in 5ms:
[codex:656753] AUDIT_BUNDLE.txt
[codex:656753] codex-output-schema.json
[codex:656753] contracts
[codex:656753] exec
[codex:656753] /bin/bash -lc 'rg --files' in /tmp/codex-multi-wcfvfs39 succeeded in 8ms:
[codex:656753] codex-output-schema.json
[codex:656753] AUDIT_BUNDLE.txt
[codex:656753] contracts/src/solidity/IStarkgateManager.sol
[codex:656753] contracts/src/solidity/IStarkgateRegistry.sol
[codex:656753] contracts/src/solidity/LegacyBridge.sol
[codex:656753] contracts/src/solidity/StarknetEthBridge.sol
[codex:656753] contracts/src/solidity/Fees.sol
[codex:656753] contracts/src/solidity/WithdrawalLimit.sol
[codex:656753] contracts/src/solidity/StarkgateConstants.sol
[codex:656753] contracts/src/solidity/StarkgateManager.sol
[codex:656753] contracts/src/solidity/StarknetTokenStorage.sol
[codex:656753] contracts/src/solidity/IStarkgateBridge.sol
[codex:656753] contracts/src/solidity/StarknetTokenBridge.sol
[codex:656753] contracts/src/solidity/utils/Felt252.sol
[codex:656753] contracts/src/solidity/IStarkgateService.sol
[codex:656753] contracts/third_party/open_zeppelin/utils/Strings.sol
[codex:656753] contracts/starkware/solidity/components/Roles.sol
[codex:656753] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol
[codex:656753] contracts/starkware/solidity/interfaces/ProxySupport.sol
[codex:656753] contracts/starkware/solidity/interfaces/ContractInitializer.sol
[codex:656753] 
[codex:656753] thinking
[codex:656753] **Reading AUDIT_BUNDLE.txt**
[codex:656753] exec
[codex:656753] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-wcfvfs39 succeeded in 6ms:
[codex:656753] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:656753] 
[codex:656753] ================================================================================
[codex:656753] FILE: contracts/src/solidity/Fees.sol
[codex:656753] ================================================================================
[codex:656753] /*
[codex:656753]   Copyright 2019-2024 StarkWare Industries Ltd.
[codex:656753] 
[codex:656753]   Licensed under the Apache License, Version 2.0 (the "License").
[codex:656753]   You may not use this file except in compliance with the License.
[codex:656753]   You may obtain a copy of the License at
[codex:656753] 
[codex:656753]   https://www.starkware.co/open-source-license/
[codex:656753] 
[codex:656753]   Unless required by applicable law or agreed to in writing,
[codex:656753]   software distributed under the License is distributed on an "AS IS" BASIS,
[codex:656753]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:656753]   See the License for the specific language governing permissions
[codex:656753]   and limitations under the License.
[codex:656753] */
[codex:656753] 
[codex:656753] thinking
[codex:656753] **Preparing to analyze key contracts**
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '1,260p' contracts/src/solidity/StarknetTokenBridge.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 6ms:
[codex:656753] /*
[codex:656753]   Copyright 2019-2024 StarkWare Industries Ltd.
[codex:656753] 
[codex:656753]   Licensed under the Apache License, Version 2.0 (the "License").
[codex:656753]   You may not use this file except in compliance with the License.
[codex:656753]   You may obtain a copy of the License at
[codex:656753] 
[codex:656753]   https://www.starkware.co/open-source-license/
[codex:656753] 
[codex:656753]   Unless required by applicable law or agreed to in writing,
[codex:656753]   software distributed under the License is distributed on an "AS IS" BASIS,
[codex:656753]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:656753]   See the License for the specific language governing permissions
[codex:656753]   and limitations under the License.
[codex:656753] */
[codex:656753] // SPDX-License-Identifier: Apache-2.0.
[codex:656753] pragma solidity ^0.8.20;
[codex:656753] 
[codex:656753] import "starkware/solidity/interfaces/Identity.sol";
[codex:656753] import "starkware/solidity/interfaces/ProxySupport.sol";
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '260,620p' contracts/src/solidity/StarknetTokenBridge.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 5ms:
[codex:656753]         bytes32 msgHash = settings.deploymentMsgHash;
[codex:656753] 
[codex:656753]         if (messagingContract().l1ToL2Messages(msgHash) == 0) {
[codex:656753]             settings.tokenStatus = TokenStatus.Active;
[codex:656753]         } else if (block.timestamp > settings.pendingDeploymentExpiration) {
[codex:656753]             delete tokenSettings()[token];
[codex:656753]             address registry = IStarkgateManager(manager()).getRegistry();
[codex:656753]             IStarkgateRegistry(registry).selfRemove(token);
[codex:656753]         }
[codex:656753]     }
[codex:656753] 
[codex:656753]     function depositWithMessage(
[codex:656753]         address token,
[codex:656753]         uint256 amount,
[codex:656753]         uint256 l2Recipient,
[codex:656753]         uint256[] calldata message
[codex:656753]     ) external payable onlyServicingToken(token) {
[codex:656753]         uint256 fee = acceptDeposit(token, amount);
[codex:656753]         uint256 nonce = sendDepositMessage(
[codex:656753]             token,
[codex:656753] 
[codex:656753] thinking
[codex:656753] **Exploring related contracts**
[codex:656753] exec
[codex:656753] /bin/bash -lc 'rg -n "contract StarkgateRegistry|StarkgateRegistry" contracts/src/solidity' in /tmp/codex-multi-wcfvfs39 succeeded in 10ms:
[codex:656753] contracts/src/solidity/IStarkgateRegistry.sol:19:interface IStarkgateRegistry {
[codex:656753] contracts/src/solidity/StarkgateManager.sol:26:import "src/solidity/IStarkgateRegistry.sol";
[codex:656753] contracts/src/solidity/StarkgateManager.sol:97:        IStarkgateRegistry(registry()).enlistToken(token, bridge_);
[codex:656753] contracts/src/solidity/StarkgateManager.sol:108:        IStarkgateRegistry registryContract = IStarkgateRegistry(registry());
[codex:656753] contracts/src/solidity/StarkgateManager.sol:132:        IStarkgateRegistry registryContract = IStarkgateRegistry(registry());
[codex:656753] contracts/src/solidity/StarkgateManager.sol:148:        IStarkgateRegistry registryContract = IStarkgateRegistry(registry());
[codex:656753] contracts/src/solidity/StarknetTokenBridge.sol:30:import "src/solidity/IStarkgateRegistry.sol";
[codex:656753] contracts/src/solidity/StarknetTokenBridge.sol:267:            IStarkgateRegistry(registry).selfRemove(token);
[codex:656753] 
[codex:656753] thinking
[codex:656753] **Checking for registry implementation**
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '1,220p' contracts/src/solidity/StarkgateManager.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 6ms:
[codex:656753] /*
[codex:656753]   Copyright 2019-2024 StarkWare Industries Ltd.
[codex:656753] 
[codex:656753]   Licensed under the Apache License, Version 2.0 (the "License").
[codex:656753]   You may not use this file except in compliance with the License.
[codex:656753]   You may obtain a copy of the License at
[codex:656753] 
[codex:656753]   https://www.starkware.co/open-source-license/
[codex:656753] 
[codex:656753]   Unless required by applicable law or agreed to in writing,
[codex:656753]   software distributed under the License is distributed on an "AS IS" BASIS,
[codex:656753]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:656753]   See the License for the specific language governing permissions
[codex:656753]   and limitations under the License.
[codex:656753] */
[codex:656753] // SPDX-License-Identifier: Apache-2.0.
[codex:656753] pragma solidity ^0.8.20;
[codex:656753] 
[codex:656753] import "starkware/solidity/components/Roles.sol";
[codex:656753] import "starkware/solidity/interfaces/Identity.sol";
[codex:656753] 
[codex:656753] thinking
[codex:656753] **Identifying required component**
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '1,260p' contracts/src/solidity/StarknetEthBridge.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 5ms:
[codex:656753] /*
[codex:656753]   Copyright 2019-2024 StarkWare Industries Ltd.
[codex:656753] 
[codex:656753]   Licensed under the Apache License, Version 2.0 (the "License").
[codex:656753]   You may not use this file except in compliance with the License.
[codex:656753]   You may obtain a copy of the License at
[codex:656753] 
[codex:656753]   https://www.starkware.co/open-source-license/
[codex:656753] 
[codex:656753]   Unless required by applicable law or agreed to in writing,
[codex:656753]   software distributed under the License is distributed on an "AS IS" BASIS,
[codex:656753]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:656753]   See the License for the specific language governing permissions
[codex:656753]   and limitations under the License.
[codex:656753] */
[codex:656753] // SPDX-License-Identifier: Apache-2.0.
[codex:656753] pragma solidity ^0.8.20;
[codex:656753] 
[codex:656753] import "starkware/solidity/libraries/Addresses.sol";
[codex:656753] import "src/solidity/Fees.sol";
[codex:656753] 
[codex:656753] thinking
[codex:656753] **Identifying withdrawal limit requirement**
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '1,260p' contracts/src/solidity/WithdrawalLimit.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 5ms:
[codex:656753] /*
[codex:656753]   Copyright 2019-2024 StarkWare Industries Ltd.
[codex:656753] 
[codex:656753]   Licensed under the Apache License, Version 2.0 (the "License").
[codex:656753]   You may not use this file except in compliance with the License.
[codex:656753]   You may obtain a copy of the License at
[codex:656753] 
[codex:656753]   https://www.starkware.co/open-source-license/
[codex:656753] 
[codex:656753]   Unless required by applicable law or agreed to in writing,
[codex:656753]   software distributed under the License is distributed on an "AS IS" BASIS,
[codex:656753]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:656753]   See the License for the specific language governing permissions
[codex:656753]   and limitations under the License.
[codex:656753] */
[codex:656753] // SPDX-License-Identifier: Apache-2.0.
[codex:656753] pragma solidity ^0.8.0;
[codex:656753] 
[codex:656753] import "starkware/solidity/libraries/NamedStorage.sol";
[codex:656753] import "starkware/solidity/tokens/ERC20/IERC20.sol";
[codex:656753] 
[codex:656753] thinking
[codex:656753] **Identifying StarknetTokenStorage**
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '1,260p' contracts/src/solidity/StarknetTokenStorage.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 5ms:
[codex:656753] /*
[codex:656753]   Copyright 2019-2024 StarkWare Industries Ltd.
[codex:656753] 
[codex:656753]   Licensed under the Apache License, Version 2.0 (the "License").
[codex:656753]   You may not use this file except in compliance with the License.
[codex:656753]   You may obtain a copy of the License at
[codex:656753] 
[codex:656753]   https://www.starkware.co/open-source-license/
[codex:656753] 
[codex:656753]   Unless required by applicable law or agreed to in writing,
[codex:656753]   software distributed under the License is distributed on an "AS IS" BASIS,
[codex:656753]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:656753]   See the License for the specific language governing permissions
[codex:656753]   and limitations under the License.
[codex:656753] */
[codex:656753] // SPDX-License-Identifier: Apache-2.0.
[codex:656753] pragma solidity ^0.8.20;
[codex:656753] 
[codex:656753] import "starkware/solidity/libraries/NamedStorage.sol";
[codex:656753] import "starkware/starknet/solidity/IStarknetMessaging.sol";
[codex:656753] 
[codex:656753] thinking
[codex:656753] **Analyzing Bridge Deposit Cancellation and Reentrancy Risks**
[codex:656753] 
[codex:656753] I’m carefully tracing how depositCancelRequest and depositReclaim rely on the messaging contract's sender validations and message payloads, which include msg.sender, to ensure only the original depositor can cancel or reclaim deposits. Although depositCancelRequest lacks explicit onlyDepositor checks, the payload’s use of msg.sender enforces caller identity implicitly, preventing attackers from spoofing. I’m also examining withdraw for potential reentrancy issues during token or ETH transfers, but the state updates (message consumption and quota reduction) occur before transfers, which should block reentrancy exploits. Finally, I’m checking legacy mappings and differences in deposit tracking to evaluate any edge vulnerabilities.
[codex:656753] exec
[codex:656753] /bin/bash -lc "rg -n \"depositors\\(\\)\" -n contracts/src/solidity" in /tmp/codex-multi-wcfvfs39 succeeded in 10ms:
[codex:656753] contracts/src/solidity/LegacyBridge.sol:53:    function depositors() internal pure returns (mapping(uint256 => address) storage) {
[codex:656753] contracts/src/solidity/LegacyBridge.sol:58:        require(depositors()[nonce] == msg.sender, "ONLY_DEPOSITOR");
[codex:656753] 
[codex:656753] thinking
[codex:656753] **Checking depositor mapping usage**
[codex:656753] exec
[codex:656753] /bin/bash -lc 'rg -n "DEPOSITOR_ADDRESSES_TAG|depositor" contracts/src/solidity' in /tmp/codex-multi-wcfvfs39 succeeded in 10ms:
[codex:656753] contracts/src/solidity/LegacyBridge.sol:53:    function depositors() internal pure returns (mapping(uint256 => address) storage) {
[codex:656753] contracts/src/solidity/LegacyBridge.sol:54:        return NamedStorage.uintToAddressMapping(DEPOSITOR_ADDRESSES_TAG);
[codex:656753] contracts/src/solidity/LegacyBridge.sol:58:        require(depositors()[nonce] == msg.sender, "ONLY_DEPOSITOR");
[codex:656753] contracts/src/solidity/StarknetTokenStorage.sol:28:    string internal constant DEPOSITOR_ADDRESSES_TAG = "STARKNET_TOKEN_BRIDGE_DEPOSITOR_ADDRESSES";
[codex:656753] contracts/src/solidity/StarknetTokenBridge.sol:523:      1. The depositor should send a depositCancelRequest request with deposit details & nonce.
[codex:656753] contracts/src/solidity/StarknetTokenBridge.sol:524:      2. After a predetermined time (cancellation delay), the depositor can claim back the funds by
[codex:656753] contracts/src/solidity/StarknetTokenBridge.sol:528:            the cancellation delay time has already passed. Only the depositor is allowed to cancel
[codex:656753] 
[codex:656753] thinking
[codex:656753] **Analyzing token bridge security and deposit logic**
[codex:656753] 
[codex:656753] I've reviewed how depositors mapping is handled in legacy bridges, spotting it might only be set pre-upgrade and not updated in current deposits, which seems harmless given new cancel methods relying on msg.sender. I'm also considering token enrollment and withdrawal flows, wondering about permissions and if malicious tokens could exploit transfer or callbacks. Reentrancy and message validation checks seem solid, but I'm curious about possible edge cases around token status, enrollment, and withdrawal limits. Finally, I'm thinking through initialization and proxy patterns, since improper access there could be risky, though those libs appear trusted. Lots of moving parts here—I'll keep piecing it together!
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '1,260p' contracts/starkware/solidity/interfaces/ProxySupport.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 5ms:
[codex:656753] /*
[codex:656753]   Copyright 2019-2024 StarkWare Industries Ltd.
[codex:656753] 
[codex:656753]   Licensed under the Apache License, Version 2.0 (the "License").
[codex:656753]   You may not use this file except in compliance with the License.
[codex:656753]   You may obtain a copy of the License at
[codex:656753] 
[codex:656753]   https://www.starkware.co/open-source-license/
[codex:656753] 
[codex:656753]   Unless required by applicable law or agreed to in writing,
[codex:656753]   software distributed under the License is distributed on an "AS IS" BASIS,
[codex:656753]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:656753]   See the License for the specific language governing permissions
[codex:656753]   and limitations under the License.
[codex:656753] */
[codex:656753] // SPDX-License-Identifier: Apache-2.0.
[codex:656753] pragma solidity ^0.8.0;
[codex:656753] 
[codex:656753] import "starkware/solidity/components/Roles.sol";
[codex:656753] import "starkware/solidity/libraries/RolesLib.sol";
[codex:656753] 
[codex:656753] 
[codex:656753] thinking
[codex:656753] **Examining proxy and bridge token security**
[codex:656753] thinking
[codex:656753] **Evaluating token enrollment and legacy bridge withdraw risks**
[codex:656753] 
[codex:656753] I'm carefully reviewing how token enrollment and message formats interact, especially in legacy bridge withdraws that fallback to old message formats without token data, which might let a caller specify arbitrary tokens in withdraw calls. I’m considering how this impacts ETH and ERC20 handling, noting that the ETH bridge ignores token parameters during transfers, limiting risk, but I'm curious if any ERC20 legacy bridge usage could pose issues.
[codex:656753] exec
[codex:656753] /bin/bash -lc 'rg -n "LegacyBridge" contracts/src/solidity' in /tmp/codex-multi-wcfvfs39 succeeded in 9ms:
[codex:656753] contracts/src/solidity/LegacyBridge.sol:27:abstract contract LegacyBridge is StarknetTokenBridge, OverrideLegacyProxyGovernance {
[codex:656753] contracts/src/solidity/StarknetEthBridge.sol:21:import "src/solidity/LegacyBridge.sol";
[codex:656753] contracts/src/solidity/StarknetEthBridge.sol:23:contract StarknetEthBridge is LegacyBridge {
[codex:656753] 
[codex:656753] thinking
[codex:656753] **Analyzing message withdrawal and initialization risks**
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '1,200p' contracts/starkware/solidity/interfaces/BlockDirectCall.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 5ms:
[codex:656753] /*
[codex:656753]   Copyright 2019-2024 StarkWare Industries Ltd.
[codex:656753] 
[codex:656753]   Licensed under the Apache License, Version 2.0 (the "License").
[codex:656753]   You may not use this file except in compliance with the License.
[codex:656753]   You may obtain a copy of the License at
[codex:656753] 
[codex:656753]   https://www.starkware.co/open-source-license/
[codex:656753] 
[codex:656753]   Unless required by applicable law or agreed to in writing,
[codex:656753]   software distributed under the License is distributed on an "AS IS" BASIS,
[codex:656753]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:656753]   See the License for the specific language governing permissions
[codex:656753]   and limitations under the License.
[codex:656753] */
[codex:656753] // SPDX-License-Identifier: Apache-2.0.
[codex:656753] pragma solidity ^0.8.0;
[codex:656753] 
[codex:656753] /*
[codex:656753]   This contract provides means to block direct call of an external function.
[codex:656753] 
[codex:656753] thinking
[codex:656753] **Analyzing ProxySupport initialization risks**
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '1,220p' contracts/starkware/solidity/interfaces/ContractInitializer.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 6ms:
[codex:656753] /*
[codex:656753]   Copyright 2019-2024 StarkWare Industries Ltd.
[codex:656753] 
[codex:656753]   Licensed under the Apache License, Version 2.0 (the "License").
[codex:656753]   You may not use this file except in compliance with the License.
[codex:656753]   You may obtain a copy of the License at
[codex:656753] 
[codex:656753]   https://www.starkware.co/open-source-license/
[codex:656753] 
[codex:656753]   Unless required by applicable law or agreed to in writing,
[codex:656753]   software distributed under the License is distributed on an "AS IS" BASIS,
[codex:656753]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:656753]   See the License for the specific language governing permissions
[codex:656753]   and limitations under the License.
[codex:656753] */
[codex:656753] // SPDX-License-Identifier: Apache-2.0.
[codex:656753] pragma solidity ^0.8.0;
[codex:656753] 
[codex:656753] /**
[codex:656753]   Interface for contract initialization.
[codex:656753] 
[codex:656753] thinking
[codex:656753] **Analyzing proxy initialize vulnerability**
[codex:656753] exec
[codex:656753] /bin/bash -lc 'rg -n "Proxy" contracts -g"*.sol"' in /tmp/codex-multi-wcfvfs39 succeeded in 10ms:
[codex:656753] contracts/src/solidity/LegacyBridge.sol:20:import "starkware/solidity/components/OverrideLegacyProxyGovernance.sol";
[codex:656753] contracts/src/solidity/LegacyBridge.sol:27:abstract contract LegacyBridge is StarknetTokenBridge, OverrideLegacyProxyGovernance {
[codex:656753] contracts/src/solidity/StarknetTokenBridge.sol:20:import "starkware/solidity/interfaces/ProxySupport.sol";
[codex:656753] contracts/src/solidity/StarknetTokenBridge.sol:44:    ProxySupport
[codex:656753] contracts/src/solidity/StarknetTokenBridge.sol:120:      Gets the addresses of bridgedToken & messagingContract from the ProxySupport initialize(),
[codex:656753] contracts/src/solidity/StarkgateManager.sol:21:import "starkware/solidity/interfaces/ProxySupport.sol";
[codex:656753] contracts/src/solidity/StarkgateManager.sol:29:contract StarkgateManager is Identity, IStarkgateManager, ProxySupport {
[codex:656753] contracts/starkware/solidity/interfaces/ProxySupport.sol:31:abstract contract ProxySupport is BlockDirectCall, ContractInitializer, Roles(true) {
[codex:656753] contracts/starkware/solidity/interfaces/ProxySupport.sol:34:    // The two function below (isFrozen & initialize) needed to bind to the Proxy.
[codex:656753] contracts/starkware/solidity/interfaces/ContractInitializer.sol:22:  and are called by the ProxySupport contract that implement the generic part of behind-proxy
[codex:656753] contracts/starkware/solidity/libraries/RolesLib.sol:91:            // In case the Proxy already initialized the roles,
[codex:656753] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:27:// PROXY_GOVERNANCE_TAG = "StarkEx.Proxy.2019.GovernorsInformation"
[codex:656753] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:35:abstract contract OverrideLegacyProxyGovernance {
[codex:656753] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:47:    function legacyProxyGovInfo() private pure returns (GovernanceInfoStruct storage gov) {
[codex:656753] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:57:    function assignLegacyProxyGovernor(address account) external GovernanceAdminOnly {
[codex:656753] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:58:        GovernanceInfoStruct storage legacyProxyGov = legacyProxyGovInfo();
[codex:656753] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:59:        legacyProxyGov.effectiveGovernors[account] = true;
[codex:656753] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:60:        delete legacyProxyGov.candidateGovernor;
[codex:656753] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:67:    function removeLegacyProxyGovernor(address account) external GovernanceAdminOnly {
[codex:656753] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:68:        GovernanceInfoStruct storage legacyProxyGov = legacyProxyGovInfo();
[codex:656753] 
[codex:656753] thinking
[codex:656753] **Analyzing unprotected initialize risk**
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '1,260p' contracts/starkware/solidity/components/Roles.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 6ms:
[codex:656753] /*
[codex:656753]   Copyright 2019-2024 StarkWare Industries Ltd.
[codex:656753] 
[codex:656753]   Licensed under the Apache License, Version 2.0 (the "License").
[codex:656753]   You may not use this file except in compliance with the License.
[codex:656753]   You may obtain a copy of the License at
[codex:656753] 
[codex:656753]   https://www.starkware.co/open-source-license/
[codex:656753] 
[codex:656753]   Unless required by applicable law or agreed to in writing,
[codex:656753]   software distributed under the License is distributed on an "AS IS" BASIS,
[codex:656753]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:656753]   See the License for the specific language governing permissions
[codex:656753]   and limitations under the License.
[codex:656753] */
[codex:656753] // SPDX-License-Identifier: Apache-2.0.
[codex:656753] pragma solidity ^0.8.0;
[codex:656753] 
[codex:656753] import "starkware/solidity/libraries/RolesLib.sol";
[codex:656753] 
[codex:656753] 
[codex:656753] thinking
[codex:656753] **Inspecting AccessControl library**
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '1,260p' contracts/starkware/solidity/libraries/AccessControl.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 9ms:
[codex:656753] /*
[codex:656753]   Copyright 2019-2024 StarkWare Industries Ltd.
[codex:656753] 
[codex:656753]   Licensed under the Apache License, Version 2.0 (the "License").
[codex:656753]   You may not use this file except in compliance with the License.
[codex:656753]   You may obtain a copy of the License at
[codex:656753] 
[codex:656753]   https://www.starkware.co/open-source-license/
[codex:656753] 
[codex:656753]   Unless required by applicable law or agreed to in writing,
[codex:656753]   software distributed under the License is distributed on an "AS IS" BASIS,
[codex:656753]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:656753]   See the License for the specific language governing permissions
[codex:656753]   and limitations under the License.
[codex:656753] */
[codex:656753] // SPDX-License-Identifier: MIT
[codex:656753] // Based on OpenZeppelin Contract (access/AccessControl.sol)
[codex:656753] // StarkWare modification (storage slot, change to library).
[codex:656753] 
[codex:656753] pragma solidity ^0.8.0;
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '260,520p' contracts/starkware/solidity/libraries/AccessControl.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 5ms:
[codex:656753]       Using this function in any other way is effectively circumventing the admin
[codex:656753]       system imposed by {AccessControl}.
[codex:656753]       ====
[codex:656753]      
[codex:656753]       NOTE: This function is deprecated in favor of {_grantRole}.
[codex:656753]     */
[codex:656753]     function _setupRole(bytes32 role, address account) internal {
[codex:656753]         _grantRole(role, account);
[codex:656753]     }
[codex:656753] 
[codex:656753]     /*
[codex:656753]       Sets `adminRole` as ``role``'s admin role.
[codex:656753]      
[codex:656753]       Emits a {RoleAdminChanged} event.
[codex:656753]     */
[codex:656753]     function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal {
[codex:656753]         bytes32 previousAdminRole = getRoleAdmin(role);
[codex:656753]         _roles()[role].adminRole = adminRole;
[codex:656753]         emit RoleAdminChanged(role, previousAdminRole, adminRole);
[codex:656753]     }
[codex:656753] 
[codex:656753] thinking
[codex:656753] **Analyzing access control and role enforcement**
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '1,200p' contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 5ms:
[codex:656753] /*
[codex:656753]   Copyright 2019-2024 StarkWare Industries Ltd.
[codex:656753] 
[codex:656753]   Licensed under the Apache License, Version 2.0 (the "License").
[codex:656753]   You may not use this file except in compliance with the License.
[codex:656753]   You may obtain a copy of the License at
[codex:656753] 
[codex:656753]   https://www.starkware.co/open-source-license/
[codex:656753] 
[codex:656753]   Unless required by applicable law or agreed to in writing,
[codex:656753]   software distributed under the License is distributed on an "AS IS" BASIS,
[codex:656753]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:656753]   See the License for the specific language governing permissions
[codex:656753]   and limitations under the License.
[codex:656753] */
[codex:656753] // SPDX-License-Identifier: Apache-2.0.
[codex:656753] pragma solidity ^0.8.0;
[codex:656753] 
[codex:656753] import "starkware/solidity/libraries/RolesLib.sol";
[codex:656753] 
[codex:656753] 
[codex:656753] thinking
[codex:656753] **Analyzing potential vulnerabilities and access controls**
[codex:656753] exec
[codex:656753] /bin/bash -lc 'rg -n "setWithdrawLimitPct" -n' in /tmp/codex-multi-wcfvfs39 succeeded in 10ms:
[codex:656753] contracts/src/solidity/WithdrawalLimit.sol:35:    function setWithdrawLimitPct(uint256 value) internal {
[codex:656753] contracts/src/solidity/StarknetTokenBridge.sol:127:        WithdrawalLimit.setWithdrawLimitPct(WithdrawalLimit.DEFAULT_WITHDRAW_LIMIT_PCT);
[codex:656753] AUDIT_BUNDLE.txt:795:        WithdrawalLimit.setWithdrawLimitPct(WithdrawalLimit.DEFAULT_WITHDRAW_LIMIT_PCT);
[codex:656753] AUDIT_BUNDLE.txt:1415:    function setWithdrawLimitPct(uint256 value) internal {
[codex:656753] 
[codex:656753] thinking
[codex:656753] **Reviewing token bridge protections**
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '1,260p' contracts/starkware/solidity/libraries/Addresses.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 5ms:
[codex:656753] /*
[codex:656753]   Copyright 2019-2024 StarkWare Industries Ltd.
[codex:656753] 
[codex:656753]   Licensed under the Apache License, Version 2.0 (the "License").
[codex:656753]   You may not use this file except in compliance with the License.
[codex:656753]   You may obtain a copy of the License at
[codex:656753] 
[codex:656753]   https://www.starkware.co/open-source-license/
[codex:656753] 
[codex:656753]   Unless required by applicable law or agreed to in writing,
[codex:656753]   software distributed under the License is distributed on an "AS IS" BASIS,
[codex:656753]   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:656753]   See the License for the specific language governing permissions
[codex:656753]   and limitations under the License.
[codex:656753] */
[codex:656753] // SPDX-License-Identifier: Apache-2.0.
[codex:656753] pragma solidity ^0.8.0;
[codex:656753] 
[codex:656753] /*
[codex:656753]   Common Utility Libraries.
[codex:656753] 
[codex:656753] thinking
[codex:656753] **Analyzing potential vulnerabilities in token operations**
[codex:656753] 
[codex:656753] I'm carefully reviewing token deposit, withdrawal, and registration logic for risks like flashloan attacks, reentrancy, quota manipulation, and unsafe external calls. I'm checking state validations, event sequencing, and message authenticity to assess if any exploitable paths or protocol flaws exist.
[codex:656753] exec
[codex:656753] /bin/bash -lc "rg -n \"delegatecall|call\\{|selfdestruct|callExternalInitializer\" contracts/src/solidity contracts/starkware/solidity" in /tmp/codex-multi-wcfvfs39 succeeded in 9ms:
[codex:656753] contracts/starkware/solidity/interfaces/ProxySupport.sol:66:            callExternalInitializer(eicAddress, initData);
[codex:656753] contracts/starkware/solidity/interfaces/ProxySupport.sol:80:    function callExternalInitializer(address externalInitializerAddr, bytes calldata eicData)
[codex:656753] contracts/starkware/solidity/interfaces/ProxySupport.sol:85:        // NOLINTNEXTLINE: low-level-calls, controlled-delegatecall.
[codex:656753] contracts/starkware/solidity/interfaces/ProxySupport.sol:86:        (bool success, bytes memory returndata) = externalInitializerAddr.delegatecall(
[codex:656753] contracts/starkware/solidity/libraries/Addresses.sol:39:        (bool success, ) = recipient.call{value: amount}(""); // NOLINT: low-level-calls.
[codex:656753] 
[codex:656753] thinking
[codex:656753] **Analyzing delegatecall vulnerability in ProxySupport**
[codex:656753] exec
[codex:656753] /bin/bash -lc "nl -ba contracts/starkware/solidity/interfaces/ProxySupport.sol | sed -n '40,140p'" in /tmp/codex-multi-wcfvfs39 succeeded in 6ms:
[codex:656753]     40	      The initialize() function serves as an alternative constructor for a proxied deployment.
[codex:656753]     41	
[codex:656753]     42	      Flow and notes:
[codex:656753]     43	      1. This function cannot be called directly on the deployed contract, but only via
[codex:656753]     44	         delegate call.
[codex:656753]     45	      2. If an EIC is provided - init is passed onto EIC and the standard init flow is skipped.
[codex:656753]     46	         This true for both first intialization or a later one.
[codex:656753]     47	      3. The data passed to this function is as follows:
[codex:656753]     48	         [sub_contracts addresses, eic address, initData].
[codex:656753]     49	
[codex:656753]     50	         When calling on an initialized contract (no EIC scenario), initData.length must be 0.
[codex:656753]     51	    */
[codex:656753]     52	    function initialize(bytes calldata data) external notCalledDirectly {
[codex:656753]     53	        uint256 eicOffset = 32 * numOfSubContracts();
[codex:656753]     54	        uint256 expectedBaseSize = eicOffset + 32;
[codex:656753]     55	        require(data.length >= expectedBaseSize, "INIT_DATA_TOO_SMALL");
[codex:656753]     56	        address eicAddress = abi.decode(data[eicOffset:expectedBaseSize], (address));
[codex:656753]     57	
[codex:656753]     58	        bytes calldata subContractAddresses = data[:eicOffset];
[codex:656753]     59	
[codex:656753] 
[codex:656753] thinking
[codex:656753] **Analyzing ProxySupport initialize delegatecall vulnerability**
[codex:656753] exec
[codex:656753] /bin/bash -lc "nl -ba contracts/src/solidity/StarknetTokenBridge.sol | sed -n '20,80p'" in /tmp/codex-multi-wcfvfs39 succeeded in 6ms:
[codex:656753]     20	import "starkware/solidity/interfaces/ProxySupport.sol";
[codex:656753]     21	import "starkware/solidity/libraries/Addresses.sol";
[codex:656753]     22	import "starkware/solidity/libraries/NamedStorage.sol";
[codex:656753]     23	import "starkware/solidity/libraries/Transfers.sol";
[codex:656753]     24	import "starkware/solidity/tokens/ERC20/IERC20.sol";
[codex:656753]     25	import "starkware/solidity/tokens/ERC20/IERC20Metadata.sol";
[codex:656753]     26	import "starkware/starknet/solidity/IStarknetMessaging.sol";
[codex:656753]     27	import "src/solidity/Fees.sol";
[codex:656753]     28	import "src/solidity/IStarkgateBridge.sol";
[codex:656753]     29	import "src/solidity/IStarkgateManager.sol";
[codex:656753]     30	import "src/solidity/IStarkgateRegistry.sol";
[codex:656753]     31	import "src/solidity/IStarkgateService.sol";
[codex:656753]     32	import "src/solidity/StarkgateConstants.sol";
[codex:656753]     33	import "src/solidity/StarkgateManager.sol";
[codex:656753]     34	import "src/solidity/StarknetTokenStorage.sol";
[codex:656753]     35	import "src/solidity/WithdrawalLimit.sol";
[codex:656753]     36	import "src/solidity/utils/Felt252.sol";
[codex:656753]     37	
[codex:656753]     38	contract StarknetTokenBridge is
[codex:656753]     39	    IStarkgateBridge,
[codex:656753] 
[codex:656753] thinking
[codex:656753] **Tracing inheritance to ProxySupport**
[codex:656753] exec
[codex:656753] /bin/bash -lc "nl -ba contracts/src/solidity/StarkgateManager.sol | sed -n '20,70p'" in /tmp/codex-multi-wcfvfs39 succeeded in 6ms:
[codex:656753]     20	import "starkware/solidity/interfaces/Identity.sol";
[codex:656753]     21	import "starkware/solidity/interfaces/ProxySupport.sol";
[codex:656753]     22	import "starkware/solidity/libraries/Addresses.sol";
[codex:656753]     23	import "starkware/solidity/libraries/NamedStorage.sol";
[codex:656753]     24	import "src/solidity/IStarkgateBridge.sol";
[codex:656753]     25	import "src/solidity/IStarkgateManager.sol";
[codex:656753]     26	import "src/solidity/IStarkgateRegistry.sol";
[codex:656753]     27	import "src/solidity/StarkgateConstants.sol";
[codex:656753]     28	
[codex:656753]     29	contract StarkgateManager is Identity, IStarkgateManager, ProxySupport {
[codex:656753]     30	    using Addresses for address;
[codex:656753]     31	    // Named storage slot tags.
[codex:656753]     32	    string internal constant REGISTRY_TAG = "STARKGATE_MANAGER_REGISTRY_SLOT_TAG";
[codex:656753]     33	    string internal constant BRIDGE_TAG = "STARKGATE_MANAGER_BRIDGE_SLOT_TAG";
[codex:656753]     34	    event TokenEnrolled(address indexed token, address indexed sender);
[codex:656753]     35	    event ExistingBridgeAdded(address indexed token, address indexed bridge);
[codex:656753]     36	    event TokenDeactivated(address indexed token, address indexed sender);
[codex:656753]     37	    event TokenBlocked(address indexed token, address indexed sender);
[codex:656753]     38	
[codex:656753]     39	    function getRegistry() external view returns (address) {
[codex:656753] 
[codex:656753] thinking
[codex:656753] **Summarizing critical proxy delegatecall vulnerability**
[codex:656753] 
[codex:656753] I'll detail a critical exploit path involving the ProxySupport initialize function that allows an attacker to delegatecall malicious code in the proxy context, draining all ETH and ERC20 balances. I'll confirm no other issues qualify, then prepare JSON output specifying severity, exploit steps, and evidence with file and line references.
[codex:656753] codex
[codex:656753] {"no_findings":false,"summary":"Critical: proxy initializer allows arbitrary delegatecall via user-supplied EIC, enabling full fund drain from bridge proxies.","findings":[{"severity":"critical","category":"upgradeability","title":"Unrestricted EIC delegatecall in initialize enables arbitrary code execution and fund drain","exploit_scenario":"1) Attacker deploys a malicious initializer contract with an `initialize(bytes)` function that, when delegatecalled, transfers all ETH and ERC20 balances from `address(this)` to the attacker. 2) Attacker calls the bridge proxy’s `initialize` with `data` crafted so `eicAddress` points to the malicious initializer. 3) `ProxySupport.initialize` unconditionally delegatecalls the attacker’s contract (even if already initialized), executing in the proxy’s context and draining assets. Profit: up to the entire ETH/ERC20 balances held by the bridge proxy (bridge TVL).","recommendation":"Restrict `initialize` to governance/admin-only calls and/or remove the EIC path after first initialization; alternatively, require EIC to be a pre-approved contract or enforce `isInitialized` even for EIC flows.","evidence":"`initialize` accepts a user-supplied `eicAddress` and always delegatecalls it without any caller authorization or `isInitialized` gating, enabling arbitrary code execution in the proxy context.","locations":["contracts/starkware/solidity/interfaces/ProxySupport.sol:52","contracts/starkware/solidity/interfaces/ProxySupport.sol:64","contracts/starkware/solidity/interfaces/ProxySupport.sol:80"]}]}
[codex:656753] tokens used
[codex:656753] 63,635
[codex:656753] {"no_findings":false,"summary":"Critical: proxy initializer allows arbitrary delegatecall via user-supplied EIC, enabling full fund drain from bridge proxies.","findings":[{"severity":"critical","category":"upgradeability","title":"Unrestricted EIC delegatecall in initialize enables arbitrary code execution and fund drain","exploit_scenario":"1) Attacker deploys a malicious initializer contract with an `initialize(bytes)` function that, when delegatecalled, transfers all ETH and ERC20 balances from `address(this)` to the attacker. 2) Attacker calls the bridge proxy’s `initialize` with `data` crafted so `eicAddress` points to the malicious initializer. 3) `ProxySupport.initialize` unconditionally delegatecalls the attacker’s contract (even if already initialized), executing in the proxy’s context and draining assets. Profit: up to the entire ETH/ERC20 balances held by the bridge proxy (bridge TVL).","recommendation":"Restrict `initialize` to governance/admin-only calls and/or remove the EIC path after first initialization; alternatively, require EIC to be a pre-approved contract or enforce `isInitialized` even for EIC flows.","evidence":"`initialize` accepts a user-supplied `eicAddress` and always delegatecalls it without any caller authorization or `isInitialized` gating, enabling arbitrary code execution in the proxy context.","locations":["contracts/starkware/solidity/interfaces/ProxySupport.sol:52","contracts/starkware/solidity/interfaces/ProxySupport.sol:64","contracts/starkware/solidity/interfaces/ProxySupport.sol:80"]}]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-01T16:59:56.333048+00:00",
        "returncode": 0
    },
    "summary": "Critical: proxy initializer allows arbitrary delegatecall via user-supplied EIC, enabling full fund drain from bridge proxies.",
    "raw_final": {
        "summary": "Critical: proxy initializer allows arbitrary delegatecall via user-supplied EIC, enabling full fund drain from bridge proxies.",
        "findings": [
            {
                "title": "Unrestricted EIC delegatecall in initialize enables arbitrary code execution and fund drain",
                "category": "upgradeability",
                "evidence": "`initialize` accepts a user-supplied `eicAddress` and always delegatecalls it without any caller authorization or `isInitialized` gating, enabling arbitrary code execution in the proxy context.",
                "severity": "critical",
                "locations": [
                    "contracts/starkware/solidity/interfaces/ProxySupport.sol:52",
                    "contracts/starkware/solidity/interfaces/ProxySupport.sol:64",
                    "contracts/starkware/solidity/interfaces/ProxySupport.sol:80"
                ],
                "recommendation": "Restrict `initialize` to governance/admin-only calls and/or remove the EIC path after first initialization; alternatively, require EIC to be a pre-approved contract or enforce `isInitialized` even for EIC flows.",
                "exploit_scenario": "1) Attacker deploys a malicious initializer contract with an `initialize(bytes)` function that, when delegatecalled, transfers all ETH and ERC20 balances from `address(this)` to the attacker. 2) Attacker calls the bridge proxy\u2019s `initialize` with `data` crafted so `eicAddress` points to the malicious initializer. 3) `ProxySupport.initialize` unconditionally delegatecalls the attacker\u2019s contract (even if already initialized), executing in the proxy\u2019s context and draining assets. Profit: up to the entire ETH/ERC20 balances held by the bridge proxy (bridge TVL)."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
3
Selfdestruct
0
CREATE2
1
CALL-family (heavy)
15
EXT*/BALANCE
7
Total opcodes
11575
Flags
delegatecall_present create_opcodes_present heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0370
0000000c: JUMPI
0000000d: PUSH0
0000000e: CALLDATALOAD
0000000f: PUSH1 0xe0
00000011: SHR
00000012: DUP1
00000013: PUSH4 0x6ffed68b
00000018: GT
00000019: PUSH2 0x01c8
0000001c: JUMPI
0000001d: DUP1
0000001e: PUSH4 0xcb1cccce
00000023: GT
00000024: PUSH2 0x00fd
00000027: JUMPI
00000028: DUP1
00000029: PUSH4 0xdeec9c5a
0000002e: GT
0000002f: PUSH2 0x009d
00000032: JUMPI
00000033: DUP1
00000034: PUSH4 0xeeb72866
00000039: GT
0000003a: PUSH2 0x006d
0000003d: JUMPI
0000003e: DUP1
0000003f: PUSH4 0xeeb72866
00000044: EQ
00000045: PUSH2 0x09ea
00000048: JUMPI
00000049: DUP1
0000004a: PUSH4 0xf3fef3a3
0000004f: EQ
00000050: PUSH2 0x0a0b
00000053: JUMPI
00000054: DUP1
00000055: PUSH4 0xfa0f73ba
0000005a: EQ
0000005b: PUSH2 0x0a2a
0000005e: JUMPI
0000005f: DUP1
00000060: PUSH4 0xfad8b32a
00000065: EQ
00000066: PUSH2 0x0a49
00000069: JUMPI
0000006a: PUSH0
0000006b: DUP1
0000006c: REVERT
0000006d: JUMPDEST
0000006e: DUP1
0000006f: PUSH4 0xdeec9c5a
00000074: EQ
00000075: PUSH2 0x097a
00000078: JUMPI
00000079: DUP1
0000007a: PUSH4 0xe2bbb158
0000007f: EQ
00000080: PUSH2 0x0999
00000083: JUMPI
00000084: DUP1
00000085: PUSH4 0xed9ef16a
0000008a: EQ
0000008b: PUSH2 0x09ac
0000008e: JUMPI
0000008f: DUP1
00000090: PUSH4 0xee0e6807
00000095: EQ
00000096: PUSH2 0x09cb
00000099: JUMPI
0000009a: PUSH0
0000009b: DUP1
0000009c: REVERT
0000009d: JUMPDEST
0000009e: DUP1
0000009f: PUSH4 0xd08fb6cb
000000a4: GT
000000a5: PUSH2 0x00d8
000000a8: JUMPI
000000a9: DUP1
000000aa: PUSH4 0xd08fb6cb
000000af: EQ
000000b0: PUSH2 0x08fe
000000b3: JUMPI
000000b4: DUP1
000000b5: PUSH4 0xd12fc182
000000ba: EQ
000000bb: PUSH2 0x091d
000000be: JUMPI
000000bf: DUP1
000000c0: PUSH4 0xd2b51eea
000000c5: EQ
000000c6: PUSH2 0x093c
000000c9: JUMPI
000000ca: DUP1
000000cb: PUSH4 0xd9fa7091
000000d0: EQ
000000d1: PUSH2 0x095b
000000d4: JUMPI
000000d5: PUSH0
000000d6: DUP1
000000d7: REVERT
000000d8: JUMPDEST
000000d9: DUP1
000000da: PUSH4 0xcb1cccce
000000df: EQ
000000e0: PUSH2 0x08a1
000000e3: JUMPI
000000e4: DUP1
000000e5: PUSH4 0xcdd1f70d
000000ea: EQ
000000eb: PUSH2 0x08c0
000000ee: JUMPI
000000ef: DUP1
000000f0: PUSH4 0xcf50fd1c
000000f5: EQ
000000f6: PUSH2 0x08df
000000f9: JUMPI
000000fa: PUSH0
000000fb: DUP1
000000fc: REVERT
000000fd: JUMPDEST
000000fe: DUP1
000000ff: PUSH4 0xa2bdde3d
00000104: GT
00000105: PUSH2 0x0168
00000108: JUMPI
00000109: DUP1
0000010a: PUSH4 0xaf8bc15e
0000010f: GT
00000110: PUSH2 0x0143
00000113: JUMPI
00000114: DUP1
00000115: PUSH4 0xaf8bc15e
0000011a: EQ
0000011b: PUSH2 0x083c
0000011e: JUMPI
0000011f: DUP1
00000120: PUSH4 0xb5cd0c3c
00000125: EQ
00000126: PUSH2 0x0850
00000129: JUMPI
0000012a: DUP1
0000012b: PUSH4 0xbe58b18e
00000130: EQ
00000131: PUSH2 0x086f
00000134: JUMPI
00000135: DUP1
00000136: PUSH4 0xc1f5eb3a
0000013b: EQ
0000013c: PUSH2 0x0882
0000013f: JUMPI
00000140: PUSH0
00000141: DUP1
00000142: REVERT
00000143: JUMPDEST
00000144: DUP1
00000145: PUSH4 0xa2bdde3d
0000014a: EQ
0000014b: PUSH2 0x07eb
0000014e: JUMPI
0000014f: DUP1
00000150: PUSH4 0xa6d1d6c6
00000155: EQ
00000156: PUSH2 0x080a
00000159: JUMPI
0000015a: DUP1
0000015b: PUSH4 0xad8b92b4
00000160: EQ
00000161: PUSH2 0x0829
00000164: JUMPI
00000165: PUSH0
00000166: DUP1
00000167: REVERT
00000168: JUMPDEST
00000169: DUP1
0000016a: PUSH4 0x7fc2ab3e
0000016f: GT
00000170: PUSH2 0x01a3
00000173: JUMPI
00000174: DUP1
00000175: PUSH4 0x7fc2ab3e
0000017a: EQ
0000017b: PUSH2 0x076f
0000017e: JUMPI
0000017f: DUP1
00000180: PUSH4 0x8101b64c
00000185: EQ
00000186: PUSH2 0x078e
00000189: JUMPI
0000018a: DUP1
0000018b: PUSH4 0x8e5224ff
00000190: EQ
00000191: PUSH2 0x07ad
00000194: JUMPI
00000195: DUP1
00000196: PUSH4 0x9463629a
0000019b: EQ
0000019c: PUSH2 0x07cc
0000019f: JUMPI
000001a0: PUSH0
000001a1: DUP1
000001a2: REVERT
000001a3: JUMPDEST
000001a4: DUP1
000001a5: PUSH4 0x6ffed68b
000001aa: EQ
000001ab: PUSH2 0x0712
000001ae: JUMPI
000001af: DUP1
000001b0: PUSH4 0x757bd9ab
000001b5: EQ
000001b6: PUSH2 0x0731
000001b9: JUMPI
000001ba: DUP1
000001bb: PUSH4 0x7d22dbc7
000001c0: EQ
000001c1: PUSH2 0x0750
000001c4: JUMPI
000001c5: PUSH0
000001c6: DUP1
000001c7: REVERT
000001c8: JUMPDEST
000001c9: DUP1
000001ca: PUSH4 0x36568abe
000001cf: GT
000001d0: PUSH2 0x02a9
000001d3: JUMPI
000001d4: DUP1
000001d5: PUSH4 0x5a5d1bb9
000001da: GT
000001db: PUSH2 0x0249
000001de: JUMPI
000001df: DUP1
000001e0: PUSH4 0x69328dec
000001e5: GT
000001e6: PUSH2 0x0219
000001e9: JUMPI
000001ea: DUP1
000001eb: PUSH4 0x69328dec
000001f0: EQ
000001f1: PUSH2 0x0696
000001f4: JUMPI
000001f5: DUP1
000001f6: PUSH4 0x6c04d9d5
000001fb: EQ
000001fc: PUSH2 0x06b5
000001ff: JUMPI
00000200: DUP1
00000201: PUSH4 0x6d70f7ae
00000206: EQ
00000207: PUSH2 0x06d4
0000020a: JUMPI
0000020b: DUP1
0000020c: PUSH4 0x6fc97cbf
00000211: EQ
00000212: PUSH2 0x06f3
00000215: JUMPI
00000216: PUSH0
00000217: DUP1
00000218: REVERT
00000219: JUMPDEST
0000021a: DUP1
0000021b: PUSH4 0x5a5d1bb9
00000220: EQ
00000221: PUSH2 0x0626
00000224: JUMPI
00000225: DUP1
00000226: PUSH4 0x5a72af89
0000022b: EQ
0000022c: PUSH2 0x0645
0000022f: JUMPI
00000230: DUP1
00000231: PUSH4 0x6083e59a
00000236: EQ
00000237: PUSH2 0x0664
0000023a: JUMPI
0000023b: DUP1
0000023c: PUSH4 0x62a14376
00000241: EQ
00000242: PUSH2 0x0677
00000245: JUMPI
00000246: PUSH0
00000247: DUP1
00000248: REVERT
00000249: JUMPDEST
0000024a: DUP1
0000024b: PUSH4 0x439fab91
00000250: GT
00000251: PUSH2 0x0284
00000254: JUMPI
00000255: DUP1
00000256: PUSH4 0x439fab91
0000025b: EQ
0000025c: PUSH2 0x05b5
0000025f: JUMPI
00000260: DUP1
00000261: PUSH4 0x496ae54c
00000266: EQ
00000267: PUSH2 0x05d4
0000026a: JUMPI
0000026b: DUP1
0000026c: PUSH4 0x4baf43da
00000271: EQ
00000272: PUSH2 0x05f3
00000275: JUMPI
00000276: DUP1
00000277: PUSH4 0x4d8b92a5
0000027c: EQ
0000027d: PUSH2 0x0612
00000280: JUMPI
00000281: PUSH0
00000282: DUP1
00000283: REVERT
00000284: JUMPDEST
00000285: DUP1
00000286: PUSH4 0x36568abe
0000028b: EQ
0000028c: PUSH2 0x0558
0000028f: JUMPI
00000290: DUP1
00000291: PUSH4 0x3682a450
00000296: EQ
00000297: PUSH2 0x0577
0000029a: JUMPI
0000029b: DUP1
0000029c: PUSH4 0x3ea053eb
000002a1: EQ
000002a2: PUSH2 0x0596
000002a5: JUMPI
000002a6: PUSH0
000002a7: DUP1
000002a8: REVERT
000002a9: JUMPDEST
000002aa: DUP1
000002ab: PUSH4 0x19534075
000002b0: GT
000002b1: PUSH2 0x0314
000002b4: JUMPI
000002b5: DUP1
000002b6: PUSH4 0x2e1a7d4d
000002bb: GT
000002bc: PUSH2 0x02ef
000002bf: JUMPI
000002c0: DUP1
000002c1: PUSH4 0x2e1a7d4d
000002c6: EQ
000002c7: PUSH2 0x04b8
000002ca: JUMPI
000002cb: DUP1
000002cc: PUSH4 0x2f951985
000002d1: EQ
000002d2: PUSH2 0x04d7
000002d5: JUMPI
000002d6: DUP1
000002d7: PUSH4 0x30ccebb5
000002dc: EQ
000002dd: PUSH2 0x04f6
000002e0: JUMPI
000002e1: DUP1
000002e2: PUSH4 0x33eeb147
000002e7: EQ
000002e8: PUSH2 0x0546
000002eb: JUMPI
000002ec: PUSH0
000002ed: DUP1
000002ee: REVERT
000002ef: JUMPDEST
000002f0: DUP1
000002f1: PUSH4 0x19534075
000002f6: EQ
000002f7: PUSH2 0x0458
000002fa: JUMPI
000002fb: DUP1
000002fc: PUSH4 0x23205c52
00000301: EQ
00000302: PUSH2 0x047a
00000305: JUMPI
00000306: DUP1
00000307: PUSH4 0x284b920e
0000030c: EQ
0000030d: PUSH2 0x0499
00000310: JUMPI
00000311: PUSH0
00000312: DUP1
00000313: REVERT
00000314: JUMPDEST
00000315: DUP1
00000316: PUSH4 0x0e770f23
0000031b: GT
0000031c: PUSH2 0x034f
0000031f: JUMPI
00000320: DUP1
00000321: PUSH4 0x0e770f23
00000326: EQ
00000327: PUSH2 0x03e8
0000032a: JUMPI
0000032b: DUP1
0000032c: PUSH4 0x0efe6a8b
00000331: EQ
00000332: PUSH2 0x0407
00000335: JUMPI
00000336: DUP1
00000337: PUSH4 0x14af98b3
0000033c: EQ
0000033d: PUSH2 0x041a
00000340: JUMPI
00000341: DUP1
00000342: PUSH4 0x17896383
00000347: EQ
00000348: PUSH2 0x0439
0000034b: JUMPI
0000034c: PUSH0
0000034d: DUP1
0000034e: REVERT
0000034f: JUMPDEST
00000350: DUP1
00000351: PUSH3 0xf714ce
00000355: EQ
00000356: PUSH2 0x0374
00000359: JUMPI
0000035a: DUP1
0000035b: PUSH4 0x0b3a2d21
00000360: EQ
00000361: PUSH2 0x0395
00000364: JUMPI
00000365: DUP1
00000366: PUSH4 0x0c6f8664
0000036b: EQ
0000036c: PUSH2 0x03b4
0000036f: JUMPI
00000370: JUMPDEST
00000371: PUSH0
00000372: DUP1
00000373: REVERT
00000374: JUMPDEST
00000375: CALLVALUE
00000376: DUP1
00000377: ISZERO
00000378: PUSH2 0x037f
0000037b: JUMPI
0000037c: PUSH0
0000037d: DUP1
0000037e: REVERT
0000037f: JUMPDEST
00000380: POP
00000381: PUSH2 0x0393
00000384: PUSH2 0x038e
00000387: CALLDATASIZE
00000388: PUSH1 0x04
0000038a: PUSH2 0x3d07
0000038d: JUMP
0000038e: JUMPDEST
0000038f: PUSH2 0x0a68
00000392: JUMP
00000393: JUMPDEST
00000394: STOP
00000395: JUMPDEST
00000396: CALLVALUE
00000397: DUP1
00000398: ISZERO
00000399: PUSH2 0x03a0
0000039c: JUMPI
0000039d: PUSH0
0000039e: DUP1
0000039f: REVERT
000003a0: JUMPDEST
000003a1: POP
000003a2: PUSH2 0x0393
000003a5: PUSH2 0x03af
000003a8: CALLDATASIZE
000003a9: PUSH1 0x04
000003ab: PUSH2 0x3d35
000003ae: JUMP
000003af: JUMPDEST
000003b0: PUSH2 0x0a7e
000003b3: JUMP
000003b4: JUMPDEST
000003b5: CALLVALUE
000003b6: DUP1
000003b7: ISZERO
000003b8: PUSH2 0x03bf
000003bb: JUMPI
000003bc: PUSH0
000003bd: DUP1
000003be: REVERT
000003bf: JUMPDEST
000003c0: POP
000003c1: PUSH2 0x03d3
000003c4: PUSH2 0x03ce
000003c7: CALLDATASIZE
000003c8: PUSH1 0x04
000003ca: PUSH2 0x3d35
000003cd: JUMP
000003ce: JUMPDEST
000003cf: PUSH2 0x0a98
000003d2: JUMP
000003d3: JUMPDEST
000003d4: PUSH1 0x40
000003d6: MLOAD
000003d7: SWAP1
000003d8: ISZERO
000003d9: ISZERO
000003da: DUP2
000003db: MSTORE
000003dc: PUSH1 0x20
000003de: ADD
000003df: JUMPDEST
000003e0: PUSH1 0x40
000003e2: MLOAD
000003e3: DUP1
000003e4: SWAP2
000003e5: SUB
000003e6: SWAP1
000003e7: RETURN
000003e8: JUMPDEST
000003e9: CALLVALUE
000003ea: DUP1
000003eb: ISZERO
000003ec: PUSH2 0x03f3
000003ef: JUMPI
000003f0: PUSH0
000003f1: DUP1
000003f2: REVERT
000003f3: JUMPDEST
000003f4: POP
000003f5: PUSH2 0x0393
000003f8: PUSH2 0x0402
000003fb: CALLDATASIZE
000003fc: PUSH1 0x04
000003fe: PUSH2 0x3d35
00000401: JUMP
00000402: JUMPDEST
00000403: PUSH2 0x0af7
00000406: JUMP
00000407: JUMPDEST
00000408: PUSH2 0x0393
0000040b: PUSH2 0x0415
0000040e: CALLDATASIZE
0000040f: PUSH1 0x04
00000411: PUSH2 0x3d50
00000414: JUMP
00000415: JUMPDEST
00000416: PUSH2 0x0b0e
00000419: JUMP
0000041a: JUMPDEST
0000041b: CALLVALUE
0000041c: DUP1
0000041d: ISZERO
0000041e: PUSH2 0x0425
00000421: JUMPI
00000422: PUSH0
00000423: DUP1
00000424: REVERT
00000425: JUMPDEST
00000426: POP
00000427: PUSH2 0x0393
0000042a: PUSH2 0x0434
0000042d: CALLDATASIZE
0000042e: PUSH1 0x04
00000430: PUSH2 0x3d35
00000433: JUMP
00000434: JUMPDEST
00000435: PUSH2 0x0bc6
00000438: JUMP
00000439: JUMPDEST
0000043a: CALLVALUE
0000043b: DUP1
0000043c: ISZERO
0000043d: PUSH2 0x0444
00000440: JUMPI
00000441: PUSH0
00000442: DUP1
00000443: REVERT
00000444: JUMPDEST
00000445: POP
00000446: PUSH2 0x0393
00000449: PUSH2 0x0453
0000044c: CALLDATASIZE
0000044d: PUSH1 0x04
0000044f: PUSH2 0x3d35
00000452: JUMP
00000453: JUMPDEST
00000454: PUSH2 0x0c6c
00000457: JUMP
00000458: JUMPDEST
00000459: CALLVALUE
0000045a: DUP1
0000045b: ISZERO
0000045c: PUSH2 0x0463
0000045f: JUMPI
00000460: PUSH0
00000461: DUP1
00000462: REVERT
00000463: JUMPDEST
00000464: POP
00000465: PUSH2 0x046c
00000468: PUSH2 0x0c83
0000046b: JUMP
0000046c: JUMPDEST
0000046d: PUSH1 0x40
0000046f: MLOAD
00000470: SWAP1
00000471: DUP2
00000472: MSTORE
00000473: PUSH1 0x20
00000475: ADD
00000476: PUSH2 0x03df
00000479: JUMP
0000047a: JUMPDEST
0000047b: CALLVALUE
0000047c: DUP1
0000047d: ISZERO
0000047e: PUSH2 0x0485
00000481: JUMPI
00000482: PUSH0
00000483: DUP1
00000484: REVERT
00000485: JUMPDEST
00000486: POP
00000487: PUSH2 0x0393
0000048a: PUSH2 0x0494
0000048d: CALLDATASIZE
0000048e: PUSH1 0x04
00000490: PUSH2 0x3d82
00000493: JUMP
00000494: JUMPDEST
00000495: PUSH2 0x0c94
00000498: JUMP
00000499: JUMPDEST
0000049a: CALLVALUE
0000049b: DUP1
0000049c: ISZERO
0000049d: PUSH2 0x04a4
000004a0: JUMPI
000004a1: PUSH0
000004a2: DUP1
000004a3: REVERT
000004a4: JUMPDEST
000004a5: POP
000004a6: PUSH2 0x0393
000004a9: PUSH2 0x04b3
000004ac: CALLDATASIZE
000004ad: PUSH1 0x04
000004af: PUSH2 0x3d35
000004b2: JUMP
000004b3: JUMPDEST
000004b4: PUSH2 0x0d86
000004b7: JUMP
000004b8: JUMPDEST
000004b9: CALLVALUE
000004ba: DUP1
000004bb: ISZERO
000004bc: PUSH2 0x04c3
000004bf: JUMPI
000004c0: PUSH0
000004c1: DUP1
000004c2: REVERT
000004c3: JUMPDEST
000004c4: POP
000004c5: PUSH2 0x0393
000004c8: PUSH2 0x04d2
000004cb: CALLDATASIZE
000004cc: PUSH1 0x04
000004ce: PUSH2 0x3dba
000004d1: JUMP
000004d2: JUMPDEST
000004d3: PUSH2 0x0e8b
000004d6: JUMP
000004d7: JUMPDEST
000004d8: CALLVALUE
000004d9: DUP1
000004da: ISZERO
000004db: PUSH2 0x04e2
000004de: JUMPI
000004df: PUSH0
000004e0: DUP1
000004e1: REVERT
000004e2: JUMPDEST
000004e3: POP
000004e4: PUSH2 0x0393
000004e7: PUSH2 0x04f1
000004ea: CALLDATASIZE
000004eb: PUSH1 0x04
000004ed: PUSH2 0x3d35
000004f0: JUMP
000004f1: JUMPDEST
000004f2: PUSH2 0x0e9d
000004f5: JUMP
000004f6: JUMPDEST
000004f7: CALLVALUE
000004f8: DUP1
000004f9: ISZERO
000004fa: PUSH2 0x0501
000004fd: JUMPI
000004fe: PUSH0
000004ff: DUP1
00000500: REVERT
00000501: JUMPDEST
00000502: POP
00000503: PUSH2 0x0539
00000506: PUSH2 0x0510
00000509: CALLDATASIZE
0000050a: PUSH1 0x04
0000050c: PUSH2 0x3d35
0000050f: JUMP
00000510: JUMPDEST
00000511: PUSH1 0x01
00000513: PUSH1 0x01
00000515: PUSH1 0xa0
00000517: SHL
00000518: SUB
00000519: AND
0000051a: PUSH0
0000051b: SWAP1
0000051c: DUP2
0000051d: MSTORE
0000051e: PUSH0
0000051f: DUP1
00000520: MLOAD
00000521: PUSH1 0x20
00000523: PUSH2 0x47d4
00000526: DUP4
00000527: CODECOPY
00000528: DUP2
00000529: MLOAD
0000052a: SWAP2
0000052b: MSTORE
0000052c: PUSH1 0x20
0000052e: MSTORE
0000052f: PUSH1 0x40
00000531: SWAP1
00000532: KECCAK256
00000533: SLOAD
00000534: PUSH1 0xff
00000536: AND
00000537: SWAP1
00000538: JUMP
00000539: JUMPDEST
0000053a: PUSH1 0x40
0000053c: MLOAD
0000053d: PUSH2 0x03df
00000540: SWAP2
00000541: SWAP1
00000542: PUSH2 0x3de5
00000545: JUMP
00000546: JUMPDEST
00000547: CALLVALUE
00000548: DUP1
00000549: ISZERO
0000054a: PUSH2 0x0551
0000054d: JUMPI
0000054e: PUSH0
0000054f: DUP1
00000550: REVERT
00000551: JUMPDEST
00000552: POP
00000553: PUSH0
00000554: PUSH2 0x03d3
00000557: JUMP
00000558: JUMPDEST
00000559: CALLVALUE
0000055a: DUP1
0000055b: ISZERO
0000055c: PUSH2 0x0563
0000055f: JUMPI
00000560: PUSH0
00000561: DUP1
00000562: REVERT
00000563: JUMPDEST
00000564: POP
00000565: PUSH2 0x0393
00000568: PUSH2 0x0572
0000056b: CALLDATASIZE
0000056c: PUSH1 0x04
0000056e: PUSH2 0x3d07
00000571: JUMP
00000572: JUMPDEST
00000573: PUSH2 0x0edd
00000576: JUMP
00000577: JUMPDEST
00000578: CALLVALUE
00000579: DUP1
0000057a: ISZERO
0000057b: PUSH2 0x0582
0000057e: JUMPI
0000057f: PUSH0
00000580: DUP1
00000581: REVERT
00000582: JUMPDEST
00000583: POP
00000584: PUSH2 0x0393
00000587: PUSH2 0x0591
0000058a: CALLDATASIZE
0000058b: PUSH1 0x04
0000058d: PUSH2 0x3d35
00000590: JUMP
00000591: JUMPDEST
00000592: PUSH2 0x0f6e
00000595: JUMP
00000596: JUMPDEST
00000597: CALLVALUE
00000598: DUP1
00000599: ISZERO
0000059a: PUSH2 0x05a1
0000059d: JUMPI
0000059e: PUSH0
0000059f: DUP1
000005a0: REVERT
000005a1: JUMPDEST
000005a2: POP
000005a3: PUSH2 0x0393
000005a6: PUSH2 0x05b0
000005a9: CALLDATASIZE
000005aa: PUSH1 0x04
000005ac: PUSH2 0x3d35
000005af: JUMP
000005b0: JUMPDEST
000005b1: PUSH2 0x0f85
000005b4: JUMP
000005b5: JUMPDEST
000005b6: CALLVALUE
000005b7: DUP1
000005b8: ISZERO
000005b9: PUSH2 0x05c0
000005bc: JUMPI
000005bd: PUSH0
000005be: DUP1
000005bf: REVERT
000005c0: JUMPDEST
000005c1: POP
000005c2: PUSH2 0x0393
000005c5: PUSH2 0x05cf
000005c8: CALLDATASIZE
000005c9: PUSH1 0x04
000005cb: PUSH2 0x3e0b
000005ce: JUMP
000005cf: JUMPDEST
000005d0: PUSH2 0x10ae
000005d3: JUMP
000005d4: JUMPDEST
000005d5: CALLVALUE
000005d6: DUP1
000005d7: ISZERO
000005d8: PUSH2 0x05df
000005db: JUMPI
000005dc: PUSH0
000005dd: DUP1
000005de: REVERT
000005df: JUMPDEST
000005e0: POP
000005e1: PUSH2 0x046c
000005e4: PUSH2 0x05ee
000005e7: CALLDATASIZE
000005e8: PUSH1 0x04
000005ea: PUSH2 0x3d35
000005ed: JUMP
000005ee: JUMPDEST
000005ef: PUSH2 0x125a
000005f2: JUMP
000005f3: JUMPDEST
000005f4: CALLVALUE
000005f5: DUP1
000005f6: ISZERO
000005f7: PUSH2 0x05fe
000005fa: JUMPI
000005fb: PUSH0
000005fc: DUP1
000005fd: REVERT
000005fe: JUMPDEST
000005ff: POP
00000600: PUSH2 0x046c
00000603: PUSH2 0x060d
00000606: CALLDATASIZE
00000607: PUSH1 0x04
00000609: PUSH2 0x3d35
0000060c: JUMP
0000060d: JUMPDEST
0000060e: PUSH2 0x129e
00000611: JUMP
00000612: JUMPDEST
00000613: CALLVALUE
00000614: DUP1
00000615: ISZERO
00000616: PUSH2 0x061d
00000619: JUMPI
0000061a: PUSH0
0000061b: DUP1
0000061c: REVERT
0000061d: JUMPDEST
0000061e: POP
0000061f: PUSH2 0x046c
00000622: PUSH2 0x12da
00000625: JUMP
00000626: JUMPDEST
00000627: CALLVALUE
00000628: DUP1
00000629: ISZERO
0000062a: PUSH2 0x0631
0000062d: JUMPI
0000062e: PUSH0
0000062f: DUP1
00000630: REVERT
00000631: JUMPDEST
00000632: POP
00000633: PUSH2 0x03d3
00000636: PUSH2 0x0640
00000639: CALLDATASIZE
0000063a: PUSH1 0x04
0000063c: PUSH2 0x3d35
0000063f: JUMP
00000640: JUMPDEST
00000641: PUSH2 0x12e3
00000644: JUMP
00000645: JUMPDEST
00000646: CALLVALUE
00000647: DUP1
00000648: ISZERO
00000649: PUSH2 0x0650
0000064c: JUMPI
0000064d: PUSH0
0000064e: DUP1
0000064f: REVERT
00000650: JUMPDEST
00000651: POP
00000652: PUSH2 0x0393
00000655: PUSH2 0x065f
00000658: CALLDATASIZE
00000659: PUSH1 0x04
0000065b: PUSH2 0x3d35
0000065e: JUMP
0000065f: JUMPDEST
00000660: PUSH2 0x12fb
00000663: JUMP
00000664: JUMPDEST
00000665: CALLVALUE
00000666: DUP1
00000667: ISZERO
00000668: PUSH2 0x066f
0000066b: JUMPI
0000066c: PUSH0
0000066d: DUP1
0000066e: REVERT
0000066f: JUMPDEST
00000670: POP
00000671: PUSH0
00000672: NOT
00000673: PUSH2 0x046c
00000676: JUMP
00000677: JUMPDEST
00000678: CALLVALUE
00000679: DUP1
0000067a: ISZERO
0000067b: PUSH2 0x0682
0000067e: JUMPI
0000067f: PUSH0
00000680: DUP1
00000681: REVERT
00000682: JUMPDEST
00000683: POP
00000684: PUSH2 0x0393
00000687: PUSH2 0x0691
0000068a: CALLDATASIZE
0000068b: PUSH1 0x04
0000068d: PUSH2 0x3d35
00000690: JUMP
00000691: JUMPDEST
00000692: PUSH2 0x139e
00000695: JUMP
00000696: JUMPDEST
00000697: CALLVALUE
00000698: DUP1
00000699: ISZERO
0000069a: PUSH2 0x06a1
0000069d: JUMPI
0000069e: PUSH0
0000069f: DUP1
000006a0: REVERT
000006a1: JUMPDEST
000006a2: POP
000006a3: PUSH2 0x0393
000006a6: PUSH2 0x06b0
000006a9: CALLDATASIZE
000006aa: PUSH1 0x04
000006ac: PUSH2 0x3e77
000006af: JUMP
000006b0: JUMPDEST
000006b1: PUSH2 0x13b5
000006b4: JUMP
000006b5: JUMPDEST
000006b6: CALLVALUE
000006b7: DUP1
000006b8: ISZERO
000006b9: PUSH2 0x06c0
000006bc: JUMPI
000006bd: PUSH0
000006be: DUP1
000006bf: REVERT
000006c0: JUMPDEST
000006c1: POP
000006c2: PUSH2 0x03d3
000006c5: PUSH2 0x06cf
000006c8: CALLDATASIZE
000006c9: PUSH1 0x04
000006cb: PUSH2 0x3d35
000006ce: JUMP
000006cf: JUMPDEST
000006d0: PUSH2 0x14a0
000006d3: JUMP
000006d4: JUMPDEST
000006d5: CALLVALUE
000006d6: DUP1
000006d7: ISZERO
000006d8: PUSH2 0x06df
000006db: JUMPI
000006dc: PUSH0
000006dd: DUP1
000006de: REVERT
000006df: JUMPDEST
000006e0: POP
000006e1: PUSH2 0x03d3
000006e4: PUSH2 0x06ee
000006e7: CALLDATASIZE
000006e8: PUSH1 0x04
000006ea: PUSH2 0x3d35
000006ed: JUMP
000006ee: JUMPDEST
000006ef: PUSH2 0x14b8
000006f2: JUMP
000006f3: JUMPDEST
000006f4: CALLVALUE
000006f5: DUP1
000006f6: ISZERO
000006f7: PUSH2 0x06fe
000006fa: JUMPI
000006fb: PUSH0
000006fc: DUP1
000006fd: REVERT
000006fe: JUMPDEST
000006ff: POP
00000700: PUSH2 0x0393
00000703: PUSH2 0x070d
00000706: CALLDATASIZE
00000707: PUSH1 0x04
00000709: PUSH2 0x3d35
0000070c: JUMP
0000070d: JUMPDEST
0000070e: PUSH2 0x14d0
00000711: JUMP
00000712: JUMPDEST
00000713: CALLVALUE
00000714: DUP1
00000715: ISZERO
00000716: PUSH2 0x071d
00000719: JUMPI
0000071a: PUSH0
0000071b: DUP1
0000071c: REVERT
0000071d: JUMPDEST
0000071e: POP
0000071f: PUSH2 0x0393
00000722: PUSH2 0x072c
00000725: CALLDATASIZE
00000726: PUSH1 0x04
00000728: PUSH2 0x3eb6
0000072b: JUMP
0000072c: JUMPDEST
0000072d: PUSH2 0x14e7
00000730: JUMP
00000731: JUMPDEST
00000732: CALLVALUE
00000733: DUP1
00000734: ISZERO
00000735: PUSH2 0x073c
00000738: JUMPI
00000739: PUSH0
0000073a: DUP1
0000073b: REVERT
0000073c: JUMPDEST
0000073d: POP
0000073e: PUSH2 0x03d3
00000741: PUSH2 0x074b
00000744: CALLDATASIZE
00000745: PUSH1 0x04
00000747: PUSH2 0x3d35
0000074a: JUMP
0000074b: JUMPDEST
0000074c: PUSH2 0x1635
0000074f: JUMP
00000750: JUMPDEST
00000751: CALLVALUE
00000752: DUP1
00000753: ISZERO
00000754: PUSH2 0x075b
00000757: JUMPI
00000758: PUSH0
00000759: DUP1
0000075a: REVERT
0000075b: JUMPDEST
0000075c: POP
0000075d: PUSH2 0x0393
00000760: PUSH2 0x076a
00000763: CALLDATASIZE
00000764: PUSH1 0x04
00000766: PUSH2 0x3eb6
00000769: JUMP
0000076a: JUMPDEST
0000076b: PUSH2 0x164d
0000076e: JUMP
0000076f: JUMPDEST
00000770: CALLVALUE
00000771: DUP1
00000772: ISZERO
00000773: PUSH2 0x077a
00000776: JUMPI
00000777: PUSH0
00000778: DUP1
00000779: REVERT
0000077a: JUMPDEST
0000077b: POP
0000077c: PUSH2 0x0393
0000077f: PUSH2 0x0789
00000782: CALLDATASIZE
00000783: PUSH1 0x04
00000785: PUSH2 0x3dba
00000788: JUMP
00000789: JUMPDEST
0000078a: PUSH2 0x17a3
0000078d: JUMP
0000078e: JUMPDEST
0000078f: CALLVALUE
00000790: DUP1
00000791: ISZERO
00000792: PUSH2 0x0799
00000795: JUMPI
00000796: PUSH0
00000797: DUP1
00000798: REVERT
00000799: JUMPDEST
0000079a: POP
0000079b: PUSH2 0x0393
0000079e: PUSH2 0x07a8
000007a1: CALLDATASIZE
000007a2: PUSH1 0x04
000007a4: PUSH2 0x3d35
000007a7: JUMP
000007a8: JUMPDEST
000007a9: PUSH2 0x18c8
000007ac: JUMP
000007ad: JUMPDEST
000007ae: CALLVALUE
000007af: DUP1
000007b0: ISZERO
000007b1: PUSH2 0x07b8
000007b4: JUMPI
000007b5: PUSH0
000007b6: DUP1
000007b7: REVERT
000007b8: JUMPDEST
000007b9: POP
000007ba: PUSH2 0x03d3
000007bd: PUSH2 0x07c7
000007c0: CALLDATASIZE
000007c1: PUSH1 0x04
000007c3: PUSH2 0x3d35
000007c6: JUMP
000007c7: JUMPDEST
000007c8: PUSH2 0x1908
000007cb: JUMP
000007cc: JUMPDEST
000007cd: CALLVALUE
000007ce: DUP1
000007cf: ISZERO
000007d0: PUSH2 0x07d7
000007d3: JUMPI
000007d4: PUSH0
000007d5: DUP1
000007d6: REVERT
000007d7: JUMPDEST
000007d8: POP
000007d9: PUSH2 0x0393
000007dc: PUSH2 0x07e6
000007df: CALLDATASIZE
000007e0: PUSH1 0x04
000007e2: PUSH2 0x3d35
000007e5: JUMP
000007e6: JUMPDEST
000007e7: PUSH2 0x1920
000007ea: JUMP
000007eb: JUMPDEST
000007ec: CALLVALUE
000007ed: DUP1
000007ee: ISZERO
000007ef: PUSH2 0x07f6
000007f2: JUMPI
000007f3: PUSH0
000007f4: DUP1
000007f5: REVERT
000007f6: JUMPDEST
000007f7: POP
000007f8: PUSH2 0x03d3
000007fb: PUSH2 0x0805
000007fe: CALLDATASIZE
000007ff: PUSH1 0x04
00000801: PUSH2 0x3d35
00000804: JUMP
00000805: JUMPDEST
00000806: PUSH2 0x1937
00000809: JUMP
0000080a: JUMPDEST
0000080b: CALLVALUE
0000080c: DUP1
0000080d: ISZERO
0000080e: PUSH2 0x0815
00000811: JUMPI
00000812: PUSH0
00000813: DUP1
00000814: REVERT
00000815: JUMPDEST
00000816: POP
00000817: PUSH2 0x0393
0000081a: PUSH2 0x0824
0000081d: CALLDATASIZE
0000081e: PUSH1 0x04
00000820: PUSH2 0x3d82
00000823: JUMP
00000824: JUMPDEST
00000825: PUSH2 0x194f
00000828: JUMP
00000829: JUMPDEST
0000082a: PUSH2 0x0393
0000082d: PUSH2 0x0837
00000830: CALLDATASIZE
00000831: PUSH1 0x04
00000833: PUSH2 0x3d35
00000836: JUMP
00000837: JUMPDEST
00000838: PUSH2 0x1a2c
0000083b: JUMP
0000083c: JUMPDEST
0000083d: CALLVALUE
0000083e: DUP1
0000083f: ISZERO
00000840: PUSH2 0x0847
00000843: JUMPI
00000844: PUSH0
00000845: DUP1
00000846: REVERT
00000847: JUMPDEST
00000848: POP
00000849: PUSH2 0x046c
0000084c: PUSH2 0x1a62
0000084f: JUMP
00000850: JUMPDEST
00000851: CALLVALUE
00000852: DUP1
00000853: ISZERO
00000854: PUSH2 0x085b
00000857: JUMPI
00000858: PUSH0
00000859: DUP1
0000085a: REVERT
0000085b: JUMPDEST
0000085c: POP
0000085d: PUSH2 0x0393
00000860: PUSH2 0x086a
00000863: CALLDATASIZE
00000864: PUSH1 0x04
00000866: PUSH2 0x3f27
00000869: JUMP
0000086a: JUMPDEST
0000086b: PUSH2 0x1a6b
0000086e: JUMP
0000086f: JUMPDEST
00000870: PUSH2 0x0393
00000873: PUSH2 0x087d
00000876: CALLDATASIZE
00000877: PUSH1 0x04
00000879: PUSH2 0x3f94
0000087c: JUMP
0000087d: JUMPDEST
0000087e: PUSH2 0x1b9d
00000881: JUMP
00000882: JUMPDEST
00000883: CALLVALUE
00000884: DUP1
00000885: ISZERO
00000886: PUSH2 0x088d
00000889: JUMPI
0000088a: PUSH0
0000088b: DUP1
0000088c: REVERT
0000088d: JUMPDEST
0000088e: POP
0000088f: PUSH2 0x0393
00000892: PUSH2 0x089c
00000895: CALLDATASIZE
00000896: PUSH1 0x04
00000898: PUSH2 0x3d35
0000089b: JUMP
0000089c: JUMPDEST
0000089d: PUSH2 0x1caa
000008a0: JUMP
000008a1: JUMPDEST
000008a2: CALLVALUE
000008a3: DUP1
000008a4: ISZERO
000008a5: PUSH2 0x08ac
000008a8: JUMPI
000008a9: PUSH0
000008aa: DUP1
000008ab: REVERT
000008ac: JUMPDEST
000008ad: POP
000008ae: PUSH2 0x03d3
000008b1: PUSH2 0x08bb
000008b4: CALLDATASIZE
000008b5: PUSH1 0x04
000008b7: PUSH2 0x3d35
000008ba: JUMP
000008bb: JUMPDEST
000008bc: PUSH2 0x1da4
000008bf: JUMP
000008c0: JUMPDEST
000008c1: CALLVALUE
000008c2: DUP1
000008c3: ISZERO
000008c4: PUSH2 0x08cb
000008c7: JUMPI
000008c8: PUSH0
000008c9: DUP1
000008ca: REVERT
000008cb: JUMPDEST
000008cc: POP
000008cd: PUSH2 0x0393
000008d0: PUSH2 0x08da
000008d3: CALLDATASIZE
000008d4: PUSH1 0x04
000008d6: PUSH2 0x3d35
000008d9: JUMP
000008da: JUMPDEST
000008db: PUSH2 0x1dbc
000008de: JUMP
000008df: JUMPDEST
000008e0: CALLVALUE
000008e1: DUP1
000008e2: ISZERO
000008e3: PUSH2 0x08ea
000008e6: JUMPI
000008e7: PUSH0
000008e8: DUP1
000008e9: REVERT
000008ea: JUMPDEST
000008eb: POP
000008ec: PUSH2 0x0393
000008ef: PUSH2 0x08f9
000008f2: CALLDATASIZE
000008f3: PUSH1 0x04
000008f5: PUSH2 0x3f27
000008f8: JUMP
000008f9: JUMPDEST
000008fa: PUSH2 0x1dd3
000008fd: JUMP
000008fe: JUMPDEST
000008ff: CALLVALUE
00000900: DUP1
00000901: ISZERO
00000902: PUSH2 0x0909
00000905: JUMPI
00000906: PUSH0
00000907: DUP1
00000908: REVERT
00000909: JUMPDEST
0000090a: POP
0000090b: PUSH2 0x03d3
0000090e: PUSH2 0x0918
00000911: CALLDATASIZE
00000912: PUSH1 0x04
00000914: PUSH2 0x3d35
00000917: JUMP
00000918: JUMPDEST
00000919: PUSH2 0x1eea
0000091c: JUMP
0000091d: JUMPDEST
0000091e: CALLVALUE
0000091f: DUP1
00000920: ISZERO
00000921: PUSH2 0x0928
00000924: JUMPI
00000925: PUSH0
00000926: DUP1
00000927: REVERT
00000928: JUMPDEST
00000929: POP
0000092a: PUSH2 0x0393
0000092d: PUSH2 0x0937
00000930: CALLDATASIZE
00000931: PUSH1 0x04
00000933: PUSH2 0x3d35
00000936: JUMP
00000937: JUMPDEST
00000938: PUSH2 0x1f02
0000093b: JUMP
0000093c: JUMPDEST
0000093d: CALLVALUE
0000093e: DUP1
0000093f: ISZERO
00000940: PUSH2 0x0947
00000943: JUMPI
00000944: PUSH0
00000945: DUP1
00000946: REVERT
00000947: JUMPDEST
00000948: POP
00000949: PUSH2 0x0393
0000094c: PUSH2 0x0956
0000094f: CALLDATASIZE
00000950: PUSH1 0x04
00000952: PUSH2 0x3ff9
00000955: JUMP
00000956: JUMPDEST
00000957: PUSH2 0x2117
0000095a: JUMP
0000095b: JUMPDEST
0000095c: CALLVALUE
0000095d: DUP1
0000095e: ISZERO
0000095f: PUSH2 0x0966
00000962: JUMPI
00000963: PUSH0
00000964: DUP1
00000965: REVERT
00000966: JUMPDEST
00000967: POP
00000968: PUSH2 0x0393
0000096b: PUSH2 0x0975
0000096e: CALLDATASIZE
0000096f: PUSH1 0x04
00000971: PUSH2 0x3d35
00000974: JUMP
00000975: JUMPDEST
00000976: PUSH2 0x221d
00000979: JUMP
0000097a: JUMPDEST
0000097b: CALLVALUE
0000097c: DUP1
0000097d: ISZERO
0000097e: PUSH2 0x0985
00000981: JUMPI
00000982: PUSH0
00000983: DUP1
00000984: REVERT
00000985: JUMPDEST
00000986: POP
00000987: PUSH2 0x0393
0000098a: PUSH2 0x0994
0000098d: CALLDATASIZE
0000098e: PUSH1 0x04
00000990: PUSH2 0x3d35
00000993: JUMP
00000994: JUMPDEST
00000995: PUSH2 0x2234
00000998: JUMP
00000999: JUMPDEST
0000099a: PUSH2 0x0393
0000099d: PUSH2 0x09a7
000009a0: CALLDATASIZE
000009a1: PUSH1 0x04
000009a3: PUSH2 0x4023
000009a6: JUMP
000009a7: JUMPDEST
000009a8: PUSH2 0x224b
000009ab: JUMP
000009ac: JUMPDEST
000009ad: CALLVALUE
000009ae: DUP1
000009af: ISZERO
000009b0: PUSH2 0x09b7
000009b3: JUMPI
000009b4: PUSH0
000009b5: DUP1
000009b6: REVERT
000009b7: JUMPDEST
000009b8: POP
000009b9: PUSH2 0x0393
000009bc: PUSH2 0x09c6
000009bf: CALLDATASIZE
000009c0: PUSH1 0x04
000009c2: PUSH2 0x3d35
000009c5: JUMP
000009c6: JUMPDEST
000009c7: PUSH2 0x22f9
000009ca: JUMP
000009cb: JUMPDEST
000009cc: CALLVALUE
000009cd: DUP1
000009ce: ISZERO
000009cf: PUSH2 0x09d6
000009d2: JUMPI
000009d3: PUSH0
000009d4: DUP1
000009d5: REVERT
000009d6: JUMPDEST
000009d7: POP
000009d8: PUSH2 0x0393
000009db: PUSH2 0x09e5
000009de: CALLDATASIZE
000009df: PUSH1 0x04
000009e1: PUSH2 0x3d35
000009e4: JUMP
000009e5: JUMPDEST
000009e6: PUSH2 0x2310
000009e9: JUMP
000009ea: JUMPDEST
000009eb: CALLVALUE
000009ec: DUP1
000009ed: ISZERO
000009ee: PUSH2 0x09f5
000009f1: JUMPI
000009f2: PUSH0
000009f3: DUP1
000009f4: REVERT
000009f5: JUMPDEST
000009f6: POP
000009f7: PUSH2 0x09fe
000009fa: PUSH2 0x2350
000009fd: JUMP
000009fe: JUMPDEST
000009ff: PUSH1 0x40
00000a01: MLOAD
00000a02: PUSH2 0x03df
00000a05: SWAP2
00000a06: SWAP1
00000a07: PUSH2 0x4065
00000a0a: JUMP
00000a0b: JUMPDEST
00000a0c: CALLVALUE
00000a0d: DUP1
00000a0e: ISZERO
00000a0f: PUSH2 0x0a16
00000a12: JUMPI
00000a13: PUSH0
00000a14: DUP1
00000a15: REVERT
00000a16: JUMPDEST
00000a17: POP
00000a18: PUSH2 0x0393
00000a1b: PUSH2 0x0a25
00000a1e: CALLDATASIZE
00000a1f: PUSH1 0x04
00000a21: PUSH2 0x3ff9
00000a24: JUMP
00000a25: JUMPDEST
00000a26: PUSH2 0x2370
00000a29: JUMP
00000a2a: JUMPDEST
00000a2b: CALLVALUE
00000a2c: DUP1
00000a2d: ISZERO
00000a2e: PUSH2 0x0a35
00000a31: JUMPI
00000a32: PUSH0
00000a33: DUP1
00000a34: REVERT
00000a35: JUMPDEST
00000a36: POP
00000a37: PUSH2 0x0393
00000a3a: PUSH2 0x0a44
00000a3d: CALLDATASIZE
00000a3e: PUSH1 0x04
00000a40: PUSH2 0x3d35
00000a43: JUMP
00000a44: JUMPDEST
00000a45: PUSH2 0x237b
00000a48: JUMP
00000a49: JUMPDEST
00000a4a: CALLVALUE
00000a4b: DUP1
00000a4c: ISZERO
00000a4d: PUSH2 0x0a54
00000a50: JUMPI
00000a51: PUSH0
00000a52: DUP1
00000a53: REVERT
00000a54: JUMPDEST
00000a55: POP
00000a56: PUSH2 0x0393
00000a59: PUSH2 0x0a63
00000a5c: CALLDATASIZE
00000a5d: PUSH1 0x04
00000a5f: PUSH2 0x3d35
00000a62: JUMP
00000a63: JUMPDEST
00000a64: PUSH2 0x2392
00000a67: JUMP
00000a68: JUMPDEST
00000a69: PUSH2 0x0a7a
00000a6c: PUSH2 0x0a73
00000a6f: PUSH2 0x23a9
00000a72: JUMP
00000a73: JUMPDEST
00000a74: DUP4
00000a75: DUP4
00000a76: PUSH2 0x13b5
00000a79: JUMP
00000a7a: JUMPDEST
00000a7b: POP
00000a7c: POP
00000a7d: JUMP
00000a7e: JUMPDEST
00000a7f: PUSH2 0x0a95
00000a82: PUSH0
00000a83: DUP1
00000a84: MLOAD
00000a85: PUSH1 0x20
00000a87: PUSH2 0x483d
00000a8a: DUP4
00000a8b: CODECOPY
00000a8c: DUP2
00000a8d: MLOAD
00000a8e: SWAP2
00000a8f: MSTORE
00000a90: DUP3
00000a91: PUSH2 0x23cb
00000a94: JUMP
00000a95: JUMPDEST
00000a96: POP
00000a97: JUMP
00000a98: JUMPDEST
00000a99: PUSH1 0x01
00000a9b: PUSH1 0x01
00000a9d: PUSH1 0xa0
00000a9f: SHL
00000aa0: SUB
00000aa1: DUP2
00000aa2: AND
00000aa3: PUSH0
00000aa4: SWAP1
00000aa5: DUP2
00000aa6: MSTORE
00000aa7: PUSH0
00000aa8: DUP1
00000aa9: MLOAD
00000aaa: PUSH1 0x20
00000aac: PUSH2 0x47d4
00000aaf: DUP4
00000ab0: CODECOPY
00000ab1: DUP2
00000ab2: MLOAD
00000ab3: SWAP2
00000ab4: MSTORE
00000ab5: PUSH1 0x20
00000ab7: MSTORE
00000ab8: PUSH1 0x40
00000aba: DUP2
00000abb: KECCAK256
00000abc: SLOAD
00000abd: PUSH1 0xff
00000abf: AND
00000ac0: PUSH1 0x01
00000ac2: DUP2
00000ac3: PUSH1 0x03
00000ac5: DUP2
00000ac6: GT
00000ac7: ISZERO
00000ac8: PUSH2 0x0ad3
00000acb: JUMPI
00000acc: PUSH2 0x0ad3
00000acf: PUSH2 0x3dd1
00000ad2: JUMP
00000ad3: JUMPDEST
00000ad4: EQ
00000ad5: DUP1
00000ad6: PUSH2 0x0af0
00000ad9: JUMPI
00000ada: POP
00000adb: PUSH1 0x02
00000add: DUP2
00000ade: PUSH1 0x03
00000ae0: DUP2
00000ae1: GT
00000ae2: ISZERO
00000ae3: PUSH2 0x0aee
00000ae6: JUMPI
00000ae7: PUSH2 0x0aee
00000aea: PUSH2 0x3dd1
00000aed: JUMP
00000aee: JUMPDEST
00000aef: EQ
00000af0: JUMPDEST
00000af1: SWAP4
00000af2: SWAP3
00000af3: POP
00000af4: POP
00000af5: POP
00000af6: JUMP
00000af7: JUMPDEST
00000af8: PUSH2 0x0a95
00000afb: PUSH0
00000afc: DUP1
00000afd: MLOAD
00000afe: PUSH1 0x20
00000b00: PUSH2 0x46fa
00000b03: DUP4
00000b04: CODECOPY
00000b05: DUP2
00000b06: MLOAD
00000b07: SWAP2
00000b08: MSTORE
00000b09: DUP3
00000b0a: PUSH2 0x23cb
00000b0d: JUMP
00000b0e: JUMPDEST
00000b0f: DUP3
00000b10: PUSH2 0x0b18
00000b13: DUP2
00000b14: PUSH2 0x0a98
00000b17: JUMP
00000b18: JUMPDEST
00000b19: PUSH2 0x0b5e
00000b1c: JUMPI
00000b1d: PUSH1 0x40
00000b1f: MLOAD
00000b20: PUSH3 0x461bcd
00000b24: PUSH1 0xe5
00000b26: SHL
00000b27: DUP2
00000b28: MSTORE
00000b29: PUSH1 0x20
00000b2b: PUSH1 0x04
00000b2d: DUP3
00000b2e: ADD
00000b2f: MSTORE
00000b30: PUSH1 0x12
00000b32: PUSH1 0x24
00000b34: DUP3
00000b35: ADD
00000b36: MSTORE
00000b37: PUSH18 0x1513d2d15397d393d517d4d154959250d151
00000b4a: PUSH1 0x72
00000b4c: SHL
00000b4d: PUSH1 0x44
00000b4f: DUP3
00000b50: ADD
00000b51: MSTORE
00000b52: PUSH1 0x64
00000b54: ADD
00000b55: JUMPDEST
00000b56: PUSH1 0x40
00000b58: MLOAD
00000b59: DUP1
00000b5a: SWAP2
00000b5b: SUB
00000b5c: SWAP1
00000b5d: REVERT
00000b5e: JUMPDEST
00000b5f: PUSH1 0x40
00000b61: DUP1
00000b62: MLOAD
00000b63: PUSH0
00000b64: DUP1
00000b65: DUP3
00000b66: MSTORE
00000b67: PUSH1 0x20
00000b69: DUP3
00000b6a: ADD
00000b6b: SWAP1
00000b6c: SWAP3
00000b6d: MSTORE
00000b6e: SWAP1
00000b6f: PUSH2 0x0b78
00000b72: DUP7
00000b73: DUP7
00000b74: PUSH2 0x23ec
00000b77: JUMP
00000b78: JUMPDEST
00000b79: SWAP1
00000b7a: POP
00000b7b: PUSH0
00000b7c: PUSH2 0x0b96
00000b7f: DUP8
00000b80: DUP8
00000b81: DUP8
00000b82: DUP7
00000b83: PUSH0
00000b84: DUP1
00000b85: MLOAD
00000b86: PUSH1 0x20
00000b88: PUSH2 0x47b4
00000b8b: DUP4
00000b8c: CODECOPY
00000b8d: DUP2
00000b8e: MLOAD
00000b8f: SWAP2
00000b90: MSTORE
00000b91: DUP8
00000b92: PUSH2 0x24a3
00000b95: JUMP
00000b96: JUMPDEST
00000b97: SWAP1
00000b98: POP
00000b99: PUSH2 0x0bb4
00000b9c: DUP8
00000b9d: DUP8
00000b9e: DUP8
00000b9f: DUP7
00000ba0: PUSH0
00000ba1: DUP1
00000ba2: MLOAD
00000ba3: PUSH1 0x20
00000ba5: PUSH2 0x47b4
00000ba8: DUP4
00000ba9: CODECOPY
00000baa: DUP2
00000bab: MLOAD
00000bac: SWAP2
00000bad: MSTORE
00000bae: DUP7
00000baf: DUP9
00000bb0: PUSH2 0x2625
00000bb3: JUMP
00000bb4: JUMPDEST
00000bb5: PUSH2 0x0bbd
00000bb8: DUP8
00000bb9: PUSH2 0x1f02
00000bbc: JUMP
00000bbd: JUMPDEST
00000bbe: POP
00000bbf: POP
00000bc0: POP
00000bc1: POP
00000bc2: POP
00000bc3: POP
00000bc4: POP
00000bc5: JUMP
00000bc6: JUMPDEST
00000bc7: PUSH2 0x0bcf
00000bca: CALLER
00000bcb: PUSH2 0x1635
00000bce: JUMP
00000bcf: JUMPDEST
00000bd0: PUSH2 0x0c11
00000bd3: JUMPI
00000bd4: PUSH1 0x40
00000bd6: MLOAD
00000bd7: PUSH3 0x461bcd
00000bdb: PUSH1 0xe5
00000bdd: SHL
00000bde: DUP2
00000bdf: MSTORE
00000be0: PUSH1 0x20
00000be2: PUSH1 0x04
00000be4: DUP3
00000be5: ADD
00000be6: MSTORE
00000be7: PUSH1 0x13
00000be9: PUSH1 0x24
00000beb: DUP3
00000bec: ADD
00000bed: MSTORE
00000bee: PUSH19 0x13d3931657d4d150d55492551657d051d15395
00000c02: PUSH1 0x6a
00000c04: SHL
00000c05: PUSH1 0x44
00000c07: DUP3
00000c08: ADD
00000c09: MSTORE
00000c0a: PUSH1 0x64
00000c0c: ADD
00000c0d: PUSH2 0x0b55
00000c10: JUMP
00000c11: JUMPDEST
00000c12: PUSH1 0x01
00000c14: PUSH1 0x01
00000c16: PUSH1 0xa0
00000c18: SHL
00000c19: SUB
00000c1a: DUP2
00000c1b: AND
00000c1c: PUSH0
00000c1d: DUP2
00000c1e: DUP2
00000c1f: MSTORE
00000c20: PUSH0
00000c21: DUP1
00000c22: MLOAD
00000c23: PUSH1 0x20
00000c25: PUSH2 0x47d4
00000c28: DUP4
00000c29: CODECOPY
00000c2a: DUP2
00000c2b: MLOAD
00000c2c: SWAP2
00000c2d: MSTORE
00000c2e: PUSH1 0x20
00000c30: MSTORE
00000c31: PUSH1 0x40
00000c33: DUP1
00000c34: DUP3
00000c35: KECCAK256
00000c36: PUSH1 0x04
00000c38: ADD
00000c39: DUP1
00000c3a: SLOAD
00000c3b: PUSH1 0xff
00000c3d: NOT
00000c3e: AND
00000c3f: PUSH1 0x01
00000c41: OR
00000c42: SWAP1
00000c43: SSTORE
00000c44: MLOAD
00000c45: CALLER
00000c46: SWAP2
00000c47: PUSH32 0xe2deca319add01142d26def2de47e64bf1fdc70e6f90c13a1862a48bdaaa7cfd
00000c68: SWAP2
00000c69: LOG3
00000c6a: POP
00000c6b: JUMP
00000c6c: JUMPDEST
00000c6d: PUSH2 0x0a95
00000c70: PUSH0
00000c71: DUP1
00000c72: MLOAD
00000c73: PUSH1 0x20
00000c75: PUSH2 0x471a
00000c78: DUP4
00000c79: CODECOPY
00000c7a: DUP2
00000c7b: MLOAD
00000c7c: SWAP2
00000c7d: MSTORE
00000c7e: DUP3
00000c7f: PUSH2 0x23cb
00000c82: JUMP
00000c83: JUMPDEST
00000c84: PUSH0
00000c85: PUSH2 0x0c8f
00000c88: PUSH2 0x060d
00000c8b: PUSH2 0x23a9
00000c8e: JUMP
00000c8f: JUMPDEST
00000c90: SWAP1
00000c91: POP
00000c92: SWAP1
00000c93: JUMP
00000c94: JUMPDEST
00000c95: PUSH2 0x0c9c
00000c98: PUSH2 0x2738
00000c9b: JUMP
00000c9c: JUMPDEST
00000c9d: PUSH1 0x01
00000c9f: PUSH1 0x01
00000ca1: PUSH1 0xa0
00000ca3: SHL
00000ca4: SUB
00000ca5: AND
00000ca6: PUSH4 0x6170ff1b
00000cab: PUSH2 0x0cb2
00000cae: PUSH2 0x275a
00000cb1: JUMP
00000cb2: JUMPDEST
00000cb3: PUSH0
00000cb4: DUP1
00000cb5: MLOAD
00000cb6: PUSH1 0x20
00000cb8: PUSH2 0x47b4
00000cbb: DUP4
00000cbc: CODECOPY
00000cbd: DUP2
00000cbe: MLOAD
00000cbf: SWAP2
00000cc0: MSTORE
00000cc1: PUSH2 0x0ccb
00000cc4: DUP9
00000cc5: DUP9
00000cc6: DUP9
00000cc7: PUSH2 0x277c
00000cca: JUMP
00000ccb: JUMPDEST
00000ccc: DUP6
00000ccd: PUSH1 0x40
00000ccf: MLOAD
00000cd0: DUP6
00000cd1: PUSH4 0xffffffff
00000cd6: AND
00000cd7: PUSH1 0xe0
00000cd9: SHL
00000cda: DUP2
00000cdb: MSTORE
00000cdc: PUSH1 0x04
00000cde: ADD
00000cdf: PUSH2 0x0ceb
00000ce2: SWAP5
00000ce3: SWAP4
00000ce4: SWAP3
00000ce5: SWAP2
00000ce6: SWAP1
00000ce7: PUSH2 0x40e4
00000cea: JUMP
00000ceb: JUMPDEST
00000cec: PUSH1 0x20
00000cee: PUSH1 0x40
00000cf0: MLOAD
00000cf1: DUP1
00000cf2: DUP4
00000cf3: SUB
00000cf4: DUP2
00000cf5: PUSH0
00000cf6: DUP8
00000cf7: GAS
00000cf8: CALL
00000cf9: ISZERO
00000cfa: DUP1
00000cfb: ISZERO
00000cfc: PUSH2 0x0d07
00000cff: JUMPI
00000d00: RETURNDATASIZE
00000d01: PUSH0
00000d02: DUP1
00000d03: RETURNDATACOPY
00000d04: RETURNDATASIZE
00000d05: PUSH0
00000d06: REVERT
00000d07: JUMPDEST
00000d08: POP
00000d09: POP
00000d0a: POP
00000d0b: POP
00000d0c: PUSH1 0x40
00000d0e: MLOAD
00000d0f: RETURNDATASIZE
00000d10: PUSH1 0x1f
00000d12: NOT
00000d13: PUSH1 0x1f
00000d15: DUP3
00000d16: ADD
00000d17: AND
00000d18: DUP3
00000d19: ADD
00000d1a: DUP1
00000d1b: PUSH1 0x40
00000d1d: MSTORE
00000d1e: POP
00000d1f: DUP2
00000d20: ADD
00000d21: SWAP1
00000d22: PUSH2 0x0d2b
00000d25: SWAP2
00000d26: SWAP1
00000d27: PUSH2 0x4113
00000d2a: JUMP
00000d2b: JUMPDEST
00000d2c: POP
00000d2d: PUSH2 0x0d37
00000d30: DUP5
00000d31: DUP5
00000d32: CALLER
00000d33: PUSH2 0x27a5
00000d36: JUMP
00000d37: JUMPDEST
00000d38: PUSH1 0x40
00000d3a: DUP1
00000d3b: MLOAD
00000d3c: DUP5
00000d3d: DUP2
00000d3e: MSTORE
00000d3f: PUSH1 0x20
00000d41: DUP2
00000d42: ADD
00000d43: DUP4
00000d44: SWAP1
00000d45: MSTORE
00000d46: DUP4
00000d47: SWAP2
00000d48: PUSH1 0x01
00000d4a: PUSH1 0x01
00000d4c: PUSH1 0xa0
00000d4e: SHL
00000d4f: SUB
00000d50: DUP8
00000d51: AND
00000d52: SWAP2
00000d53: CALLER
00000d54: SWAP2
00000d55: PUSH32 0x50485fb0face2cfd73784044ab4191986b4a6713f01854414e2331a6bb41837d
00000d76: SWAP2
00000d77: ADD
00000d78: JUMPDEST
00000d79: PUSH1 0x40
00000d7b: MLOAD
00000d7c: DUP1
00000d7d: SWAP2
00000d7e: SUB
00000d7f: SWAP1
00000d80: LOG4
00000d81: POP
00000d82: POP
00000d83: POP
00000d84: POP
00000d85: JUMP
00000d86: JUMPDEST
00000d87: PUSH2 0x0d9d
00000d8a: PUSH0
00000d8b: DUP1
00000d8c: MLOAD
00000d8d: PUSH1 0x20
00000d8f: PUSH2 0x45ec
00000d92: DUP4
00000d93: CODECOPY
00000d94: DUP2
00000d95: MLOAD
00000d96: SWAP2
00000d97: MSTORE
00000d98: CALLER
00000d99: PUSH2 0x27b8
00000d9c: JUMP
00000d9d: JUMPDEST
00000d9e: PUSH2 0x0de1
00000da1: JUMPI
00000da2: PUSH1 0x40
00000da4: MLOAD
00000da5: PUSH3 0x461bcd
00000da9: PUSH1 0xe5
00000dab: SHL
00000dac: DUP2
00000dad: MSTORE
00000dae: PUSH1 0x20
00000db0: PUSH1 0x04
00000db2: DUP3
00000db3: ADD
00000db4: MSTORE
00000db5: PUSH1 0x15
00000db7: PUSH1 0x24
00000db9: DUP3
00000dba: ADD
00000dbb: MSTORE
00000dbc: PUSH21 0x474f5645524e414e43455f41444d494e5f4f4e4c59
00000dd2: PUSH1 0x58
00000dd4: SHL
00000dd5: PUSH1 0x44
00000dd7: DUP3
00000dd8: ADD
00000dd9: MSTORE
00000dda: PUSH1 0x64
00000ddc: ADD
00000ddd: PUSH2 0x0b55
00000de0: JUMP
00000de1: JUMPDEST
00000de2: PUSH1 0x01
00000de4: PUSH1 0x01
00000de6: PUSH1 0xa0
00000de8: SHL
00000de9: SUB
00000dea: DUP2
00000deb: AND
00000dec: PUSH0
00000ded: DUP2
00000dee: DUP2
00000def: MSTORE
00000df0: PUSH32 0x45f38e273862f8834bd2fe7a449988f63de55a7a5b685dea46ccedeb69cf0e26
00000e11: PUSH1 0x20
00000e13: DUP2
00000e14: DUP2
00000e15: MSTORE
00000e16: PUSH1 0x40
00000e18: SWAP3
00000e19: DUP4
00000e1a: SWAP1
00000e1b: KECCAK256
00000e1c: DUP1
00000e1d: SLOAD
00000e1e: PUSH1 0xff
00000e20: NOT
00000e21: AND
00000e22: PUSH1 0x01
00000e24: OR
00000e25: SWAP1
00000e26: SSTORE
00000e27: PUSH32 0x45f38e273862f8834bd2fe7a449988f63de55a7a5b685dea46ccedeb69cf0e27
00000e48: DUP1
00000e49: SLOAD
00000e4a: PUSH1 0x01
00000e4c: PUSH1 0x01
00000e4e: PUSH1 0xa0
00000e50: SHL
00000e51: SUB
00000e52: NOT
00000e53: AND
00000e54: SWAP1
00000e55: SSTORE
00000e56: SWAP2
00000e57: MLOAD
00000e58: SWAP3
00000e59: DUP4
00000e5a: MSTORE
00000e5b: SWAP2
00000e5c: PUSH32 0xcfb473e6c03f9a29ddaf990e736fa3de5188a0bd85d684f5b6e164ebfbfff5d2
00000e7d: SWAP2
00000e7e: ADD
00000e7f: JUMPDEST
00000e80: PUSH1 0x40
00000e82: MLOAD
00000e83: DUP1
00000e84: SWAP2
00000e85: SUB
00000e86: SWAP1
00000e87: LOG1
00000e88: POP
00000e89: POP
00000e8a: JUMP
00000e8b: JUMPDEST
00000e8c: PUSH2 0x0a95
00000e8f: PUSH2 0x0e96
00000e92: PUSH2 0x23a9
00000e95: JUMP
00000e96: JUMPDEST
00000e97: DUP3
00000e98: CALLER
00000e99: PUSH2 0x13b5
00000e9c: JUMP
00000e9d: JUMPDEST
00000e9e: DUP1
00000e9f: CALLER
00000ea0: PUSH1 0x01
00000ea2: PUSH1 0x01
00000ea4: PUSH1 0xa0
00000ea6: SHL
00000ea7: SUB
00000ea8: DUP3
00000ea9: AND
00000eaa: SUB
00000eab: PUSH2 0x0ec6
00000eae: JUMPI
00000eaf: PUSH1 0x40
00000eb1: MLOAD
00000eb2: PUSH3 0x461bcd
00000eb6: PUSH1 0xe5
00000eb8: SHL
00000eb9: DUP2
00000eba: MSTORE
00000ebb: PUSH1 0x04
00000ebd: ADD
00000ebe: PUSH2 0x0b55
00000ec1: SWAP1
00000ec2: PUSH2 0x412a
00000ec5: JUMP
00000ec6: JUMPDEST
00000ec7: PUSH2 0x0a7a
00000eca: PUSH0
00000ecb: DUP1
00000ecc: MLOAD
00000ecd: PUSH1 0x20
00000ecf: PUSH2 0x471a
00000ed2: DUP4
00000ed3: CODECOPY
00000ed4: DUP2
00000ed5: MLOAD
00000ed6: SWAP2
00000ed7: MSTORE
00000ed8: DUP4
00000ed9: PUSH2 0x27ee
00000edc: JUMP
00000edd: JUMPDEST
00000ede: PUSH0
00000edf: DUP1
00000ee0: MLOAD
00000ee1: PUSH1 0x20
00000ee3: PUSH2 0x45ec
00000ee6: DUP4
00000ee7: CODECOPY
00000ee8: DUP2
00000ee9: MLOAD
00000eea: SWAP2
00000eeb: MSTORE
00000eec: DUP3
00000eed: EQ
00000eee: DUP1
00000eef: ISZERO
00000ef0: PUSH2 0x0f17
00000ef3: JUMPI
00000ef4: POP
00000ef5: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001
00000f16: ISZERO
00000f17: JUMPDEST
00000f18: ISZERO
00000f19: PUSH2 0x0f64
00000f1c: JUMPI
00000f1d: PUSH1 0x40
00000f1f: MLOAD
00000f20: PUSH3 0x461bcd
00000f24: PUSH1 0xe5
00000f26: SHL
00000f27: DUP2
00000f28: MSTORE
00000f29: PUSH1 0x20
00000f2b: PUSH1 0x04
00000f2d: DUP3
00000f2e: ADD
00000f2f: DUP2
00000f30: SWAP1
00000f31: MSTORE
00000f32: PUSH1 0x24
00000f34: DUP3
00000f35: ADD
00000f36: MSTORE
00000f37: PUSH32 0x43414e4e4f545f52454e4f554e43455f474f5645524e414e43455f41444d494e
00000f58: PUSH1 0x44
00000f5a: DUP3
00000f5b: ADD
00000f5c: MSTORE
00000f5d: PUSH1 0x64
00000f5f: ADD
00000f60: PUSH2 0x0b55
00000f63: JUMP
00000f64: JUMPDEST
00000f65: PUSH2 0x0a7a
00000f68: DUP3
00000f69: DUP3
00000f6a: PUSH2 0x280a
00000f6d: JUMP
00000f6e: JUMPDEST
00000f6f: PUSH2 0x0a95
00000f72: PUSH0
00000f73: DUP1
00000f74: MLOAD
00000f75: PUSH1 0x20
00000f77: PUSH2 0x47f4
00000f7a: DUP4
00000f7b: CODECOPY
00000f7c: DUP2
00000f7d: MLOAD
00000f7e: SWAP2
00000f7f: MSTORE
00000f80: DUP3
00000f81: PUSH2 0x23cb
00000f84: JUMP
00000f85: JUMPDEST
00000f86: CALLER
00000f87: PUSH2 0x0f8e
00000f8a: PUSH2 0x2884
00000f8d: JUMP
00000f8e: JUMPDEST
00000f8f: PUSH1 0x01
00000f91: PUSH1 0x01
00000f93: PUSH1 0xa0
00000f95: SHL
00000f96: SUB
00000f97: AND
00000f98: EQ
00000f99: PUSH2 0x0fd3
00000f9c: JUMPI
00000f9d: PUSH1 0x40
00000f9f: MLOAD
00000fa0: PUSH3 0x461bcd
00000fa4: PUSH1 0xe5
00000fa6: SHL
00000fa7: DUP2
00000fa8: MSTORE
00000fa9: PUSH1 0x20
00000fab: PUSH1 0x04
00000fad: DUP3
00000fae: ADD
00000faf: MSTORE
00000fb0: PUSH1 0x0c
00000fb2: PUSH1 0x24
00000fb4: DUP3
00000fb5: ADD
00000fb6: MSTORE
00000fb7: PUSH12 0x27a7262cafa6a0a720a3a2a9
00000fc4: PUSH1 0xa1
00000fc6: SHL
00000fc7: PUSH1 0x44
00000fc9: DUP3
00000fca: ADD
00000fcb: MSTORE
00000fcc: PUSH1 0x64
00000fce: ADD
00000fcf: PUSH2 0x0b55
00000fd2: JUMP
00000fd3: JUMPDEST
00000fd4: PUSH1 0x01
00000fd6: PUSH1 0x01
00000fd8: PUSH1 0xa0
00000fda: SHL
00000fdb: SUB
00000fdc: DUP2
00000fdd: AND
00000fde: PUSH0
00000fdf: SWAP1
00000fe0: DUP2
00000fe1: MSTORE
00000fe2: PUSH0
00000fe3: DUP1
00000fe4: MLOAD
00000fe5: PUSH1 0x20
00000fe7: PUSH2 0x47d4
00000fea: DUP4
00000feb: CODECOPY
00000fec: DUP2
00000fed: MLOAD
00000fee: SWAP2
00000fef: MSTORE
00000ff0: PUSH1 0x20
00000ff2: MSTORE
00000ff3: PUSH1 0x40
00000ff5: DUP2
00000ff6: KECCAK256
00000ff7: SLOAD
00000ff8: PUSH1 0xff
00000ffa: AND
00000ffb: PUSH1 0x03
00000ffd: DUP2
00000ffe: GT
00000fff: ISZERO
00001000: PUSH2 0x100b
00001003: JUMPI
00001004: PUSH2 0x100b
00001007: PUSH2 0x3dd1
0000100a: JUMP
0000100b: JUMPDEST
0000100c: SUB
0000100d: PUSH2 0x1048
00001010: JUMPI
00001011: PUSH1 0x40
00001013: MLOAD
00001014: PUSH3 0x461bcd
00001018: PUSH1 0xe5
0000101a: SHL
0000101b: DUP2
0000101c: MSTORE
0000101d: PUSH1 0x20
0000101f: PUSH1 0x04
00001021: DUP3
00001022: ADD
00001023: MSTORE
00001024: PUSH1 0x0d
00001026: PUSH1 0x24
00001028: DUP3
00001029: ADD
0000102a: MSTORE
0000102b: PUSH13 0x2aa725a727aba72faa27a5a2a7
00001039: PUSH1 0x99
0000103b: SHL
0000103c: PUSH1 0x44
0000103e: DUP3
0000103f: ADD
00001040: MSTORE
00001041: PUSH1 0x64
00001043: ADD
00001044: PUSH2 0x0b55
00001047: JUMP
00001048: JUMPDEST
00001049: PUSH1 0x01
0000104b: PUSH1 0x01
0000104d: PUSH1 0xa0
0000104f: SHL
00001050: SUB
00001051: DUP2
00001052: AND
00001053: PUSH0
00001054: DUP2
00001055: DUP2
00001056: MSTORE
00001057: PUSH0
00001058: DUP1
00001059: MLOAD
0000105a: PUSH1 0x20
0000105c: PUSH2 0x47d4
0000105f: DUP4
00001060: CODECOPY
00001061: DUP2
00001062: MLOAD
00001063: SWAP2
00001064: MSTORE
00001065: PUSH1 0x20
00001067: SWAP1
00001068: DUP2
00001069: MSTORE
0000106a: PUSH1 0x40
0000106c: SWAP2
0000106d: DUP3
0000106e: SWAP1
0000106f: KECCAK256
00001070: DUP1
00001071: SLOAD
00001072: PUSH1 0xff
00001074: NOT
00001075: AND
00001076: PUSH1 0x03
00001078: OR
00001079: SWAP1
0000107a: SSTORE
0000107b: SWAP1
0000107c: MLOAD
0000107d: SWAP2
0000107e: DUP3
0000107f: MSTORE
00001080: PUSH32 0x86d6e4556eae726303caf49a75add7d92ac713e46db458dab0622aa263fb48e6
000010a1: SWAP2
000010a2: ADD
000010a3: JUMPDEST
000010a4: PUSH1 0x40
000010a6: MLOAD
000010a7: DUP1
000010a8: SWAP2
000010a9: SUB
000010aa: SWAP1
000010ab: LOG1
000010ac: POP
000010ad: JUMP
000010ae: JUMPDEST
000010af: ADDRESS
000010b0: PUSH32 0x00000000000000000000000095ff25a59dc9c5a41cf0709dc916041e5dc7fd95
000010d1: PUSH1 0x01
000010d3: PUSH1 0x01
000010d5: PUSH1 0xa0
000010d7: SHL
000010d8: SUB
000010d9: AND
000010da: SUB
000010db: PUSH2 0x111f
000010de: JUMPI
000010df: PUSH1 0x40
000010e1: MLOAD
000010e2: PUSH3 0x461bcd
000010e6: PUSH1 0xe5
000010e8: SHL
000010e9: DUP2
000010ea: MSTORE
000010eb: PUSH1 0x20
000010ed: PUSH1 0x04
000010ef: DUP3
000010f0: ADD
000010f1: MSTORE
000010f2: PUSH1 0x16
000010f4: PUSH1 0x24
000010f6: DUP3
000010f7: ADD
000010f8: MSTORE
000010f9: PUSH22 0x1112549150d517d0d0531317d11254d0531313d5d151
00001110: PUSH1 0x52
00001112: SHL
00001113: PUSH1 0x44
00001115: DUP3
00001116: ADD
00001117: MSTORE
00001118: PUSH1 0x64
0000111a: ADD
0000111b: PUSH2 0x0b55
0000111e: JUMP
0000111f: JUMPDEST
00001120: PUSH0
00001121: PUSH2 0x112b
00001124: DUP2
00001125: PUSH1 0x20
00001127: PUSH2 0x416e
0000112a: JUMP
0000112b: JUMPDEST
0000112c: SWAP1
0000112d: POP
0000112e: PUSH0
0000112f: PUSH2 0x1139
00001132: DUP3
00001133: PUSH1 0x20
00001135: PUSH2 0x4185
00001138: JUMP
00001139: JUMPDEST
0000113a: SWAP1
0000113b: POP
0000113c: DUP1
0000113d: DUP4
0000113e: LT
0000113f: ISZERO
00001140: PUSH2 0x1181
00001143: JUMPI
00001144: PUSH1 0x40
00001146: MLOAD
00001147: PUSH3 0x461bcd
0000114b: PUSH1 0xe5
0000114d: SHL
0000114e: DUP2
0000114f: MSTORE
00001150: PUSH1 0x20
00001152: PUSH1 0x04
00001154: DUP3
00001155: ADD
00001156: MSTORE
00001157: PUSH1 0x13
00001159: PUSH1 0x24
0000115b: DUP3
0000115c: ADD
0000115d: MSTORE
0000115e: PUSH19 0x1253925517d110551057d513d3d7d4d3505313
00001172: PUSH1 0x6a
00001174: SHL
00001175: PUSH1 0x44
00001177: DUP3
00001178: ADD
00001179: MSTORE
0000117a: PUSH1 0x64
0000117c: ADD
0000117d: PUSH2 0x0b55
00001180: JUMP
00001181: JUMPDEST
00001182: PUSH0
00001183: PUSH2 0x118e
00001186: DUP3
00001187: DUP5
00001188: DUP7
00001189: DUP9
0000118a: PUSH2 0x4198
0000118d: JUMP
0000118e: JUMPDEST
0000118f: DUP2
00001190: ADD
00001191: SWAP1
00001192: PUSH2 0x119b
00001195: SWAP2
00001196: SWAP1
00001197: PUSH2 0x3d35
0000119a: JUMP
0000119b: JUMPDEST
0000119c: SWAP1
0000119d: POP
0000119e: CALLDATASIZE
0000119f: PUSH0
000011a0: PUSH2 0x11ab
000011a3: DUP6
000011a4: DUP3
000011a5: DUP9
000011a6: DUP11
000011a7: PUSH2 0x4198
000011aa: JUMP
000011ab: JUMPDEST
000011ac: SWAP2
000011ad: POP
000011ae: SWAP2
000011af: POP
000011b0: CALLDATASIZE
000011b1: PUSH0
000011b2: PUSH2 0x11bd
000011b5: DUP9
000011b6: DUP8
000011b7: DUP2
000011b8: DUP13
000011b9: PUSH2 0x4198
000011bc: JUMP
000011bd: JUMPDEST
000011be: SWAP1
000011bf: SWAP3
000011c0: POP
000011c1: SWAP1
000011c2: POP
000011c3: PUSH1 0x01
000011c5: PUSH1 0x01
000011c7: PUSH1 0xa0
000011c9: SHL
000011ca: SUB
000011cb: DUP6
000011cc: AND
000011cd: ISZERO
000011ce: PUSH2 0x11e7
000011d1: JUMPI
000011d2: PUSH2 0x11dc
000011d5: DUP6
000011d6: DUP4
000011d7: DUP4
000011d8: PUSH2 0x28a6
000011db: JUMP
000011dc: JUMPDEST
000011dd: POP
000011de: POP
000011df: POP
000011e0: POP
000011e1: POP
000011e2: POP
000011e3: POP
000011e4: POP
000011e5: POP
000011e6: JUMP
000011e7: JUMPDEST
000011e8: PUSH2 0x11ef
000011eb: PUSH2 0x29e4
000011ee: JUMP
000011ef: JUMPDEST
000011f0: ISZERO
000011f1: PUSH2 0x123e
000011f4: JUMPI
000011f5: DUP1
000011f6: ISZERO
000011f7: PUSH2 0x1239
000011fa: JUMPI
000011fb: PUSH1 0x40
000011fd: MLOAD
000011fe: PUSH3 0x461bcd
00001202: PUSH1 0xe5
00001204: SHL
00001205: DUP2
00001206: MSTORE
00001207: PUSH1 0x20
00001209: PUSH1 0x04
0000120b: DUP3
0000120c: ADD
0000120d: MSTORE
0000120e: PUSH1 0x14
00001210: PUSH1 0x24
00001212: DUP3
00001213: ADD
00001214: MSTORE
00001215: PUSH20 0x554e45585045435445445f494e49545f44415441
0000122a: PUSH1 0x60
0000122c: SHL
0000122d: PUSH1 0x44
0000122f: DUP3
00001230: ADD
00001231: MSTORE
00001232: PUSH1 0x64
00001234: ADD
00001235: PUSH2 0x0b55
00001238: JUMP
00001239: JUMPDEST
0000123a: PUSH2 0x11dc
0000123d: JUMP
0000123e: JUMPDEST
0000123f: PUSH2 0x1248
00001242: DUP3
00001243: DUP3
00001244: PUSH2 0x29fe
00001247: JUMP
00001248: JUMPDEST
00001249: PUSH2 0x1252
0000124c: DUP3
0000124d: DUP3
0000124e: PUSH2 0x2b15
00001251: JUMP
00001252: JUMPDEST
00001253: PUSH2 0x11dc
00001256: PUSH2 0x2b43
00001259: JUMP
0000125a: JUMPDEST
0000125b: PUSH1 0x01
0000125d: PUSH1 0x01
0000125f: PUSH1 0xa0
00001261: SHL
00001262: SUB
00001263: DUP2
00001264: AND
00001265: PUSH0
00001266: SWAP1
00001267: DUP2
00001268: MSTORE
00001269: PUSH0
0000126a: DUP1
0000126b: MLOAD
0000126c: PUSH1 0x20
0000126e: PUSH2 0x47d4
00001271: DUP4
00001272: CODECOPY
00001273: DUP2
00001274: MLOAD
00001275: SWAP2
00001276: MSTORE
00001277: PUSH1 0x20
00001279: MSTORE
0000127a: PUSH1 0x40
0000127c: DUP2
0000127d: KECCAK256
0000127e: PUSH1 0x04
00001280: ADD
00001281: SLOAD
00001282: PUSH1 0xff
00001284: AND
00001285: PUSH2 0x128f
00001288: JUMPI
00001289: PUSH0
0000128a: NOT
0000128b: PUSH2 0x1298
0000128e: JUMP
0000128f: JUMPDEST
00001290: PUSH2 0x1298
00001293: DUP3
00001294: PUSH2 0x2b4e
00001297: JUMP
00001298: JUMPDEST
00001299: SWAP3
0000129a: SWAP2
0000129b: POP
0000129c: POP
0000129d: JUMP
0000129e: JUMPDEST
0000129f: PUSH1 0x01
000012a1: PUSH1 0x01
000012a3: PUSH1 0xa0
000012a5: SHL
000012a6: SUB
000012a7: DUP2
000012a8: AND
000012a9: PUSH0
000012aa: SWAP1
000012ab: DUP2
000012ac: MSTORE
000012ad: PUSH0
000012ae: DUP1
000012af: MLOAD
000012b0: PUSH1 0x20
000012b2: PUSH2 0x47d4
000012b5: DUP4
000012b6: CODECOPY
000012b7: DUP2
000012b8: MLOAD
000012b9: SWAP2
000012ba: MSTORE
000012bb: PUSH1 0x20
000012bd: MSTORE
000012be: PUSH1 0x40
000012c0: DUP2
000012c1: KECCAK256
000012c2: PUSH1 0x03
000012c4: ADD
000012c5: SLOAD
000012c6: DUP1
000012c7: ISZERO
000012c8: PUSH2 0x12d1
000012cb: JUMPI
000012cc: DUP1
000012cd: PUSH2 0x0af0
000012d0: JUMP
000012d1: JUMPDEST
000012d2: PUSH0
000012d3: NOT
000012d4: SWAP4
000012d5: SWAP3
000012d6: POP
000012d7: POP
000012d8: POP
000012d9: JUMP
000012da: JUMPDEST
000012db: PUSH0
000012dc: PUSH2 0x0c8f
000012df: PUSH2 0x2b6e
000012e2: JUMP
000012e3: JUMPDEST
000012e4: PUSH0
000012e5: PUSH2 0x1298
000012e8: PUSH0
000012e9: DUP1
000012ea: MLOAD
000012eb: PUSH1 0x20
000012ed: PUSH2 0x4653
000012f0: DUP4
000012f1: CODECOPY
000012f2: DUP2
000012f3: MLOAD
000012f4: SWAP2
000012f5: MSTORE
000012f6: DUP4
000012f7: PUSH2 0x27b8
000012fa: JUMP
000012fb: JUMPDEST
000012fc: PUSH2 0x1304
000012ff: CALLER
00001300: PUSH2 0x1eea
00001303: JUMP
00001304: JUMPDEST
00001305: PUSH2 0x1346
00001308: JUMPI
00001309: PUSH1 0x40
0000130b: MLOAD
0000130c: PUSH3 0x461bcd
00001310: PUSH1 0xe5
00001312: SHL
00001313: DUP2
00001314: MSTORE
00001315: PUSH1 0x20
00001317: PUSH1 0x04
00001319: DUP3
0000131a: ADD
0000131b: MSTORE
0000131c: PUSH1 0x13
0000131e: PUSH1 0x24
00001320: DUP3
00001321: ADD
00001322: MSTORE
00001323: PUSH19 0x27a7262cafa9a2a1aaa924aa2cafa0a226a4a7
00001337: PUSH1 0x69
00001339: SHL
0000133a: PUSH1 0x44
0000133c: DUP3
0000133d: ADD
0000133e: MSTORE
0000133f: PUSH1 0x64
00001341: ADD
00001342: PUSH2 0x0b55
00001345: JUMP
00001346: JUMPDEST
00001347: PUSH1 0x01
00001349: PUSH1 0x01
0000134b: PUSH1 0xa0
0000134d: SHL
0000134e: SUB
0000134f: DUP2
00001350: AND
00001351: PUSH0
00001352: DUP2
00001353: DUP2
00001354: MSTORE
00001355: PUSH0
00001356: DUP1
00001357: MLOAD
00001358: PUSH1 0x20
0000135a: PUSH2 0x47d4
0000135d: DUP4
0000135e: CODECOPY
0000135f: DUP2
00001360: MLOAD
00001361: SWAP2
00001362: MSTORE
00001363: PUSH1 0x20
00001365: MSTORE
00001366: PUSH1 0x40
00001368: DUP1
00001369: DUP3
0000136a: KECCAK256
0000136b: PUSH1 0x04
0000136d: ADD
0000136e: DUP1
0000136f: SLOAD
00001370: PUSH1 0xff
00001372: NOT
00001373: AND
00001374: SWAP1
00001375: SSTORE
00001376: MLOAD
00001377: CALLER
00001378: SWAP2
00001379: PUSH32 0x109dee66091b7a145f557f52c55d7beccb6a29011fc705557e2975749474076b
0000139a: SWAP2
0000139b: LOG3
0000139c: POP
0000139d: JUMP
0000139e: JUMPDEST
0000139f: PUSH2 0x0a95
000013a2: PUSH0
000013a3: DUP1
000013a4: MLOAD
000013a5: PUSH1 0x20
000013a7: PUSH2 0x460c
000013aa: DUP4
000013ab: CODECOPY
000013ac: DUP2
000013ad: MLOAD
000013ae: SWAP2
000013af: MSTORE
000013b0: DUP3
000013b1: PUSH2 0x23cb
000013b4: JUMP
000013b5: JUMPDEST
000013b6: PUSH1 0x01
000013b8: PUSH1 0x01
000013ba: PUSH1 0xa0
000013bc: SHL
000013bd: SUB
000013be: DUP2
000013bf: AND
000013c0: PUSH2 0x13ff
000013c3: JUMPI
000013c4: PUSH1 0x40
000013c6: MLOAD
000013c7: PUSH3 0x461bcd
000013cb: PUSH1 0xe5
000013cd: SHL
000013ce: DUP2
000013cf: MSTORE
000013d0: PUSH1 0x20
000013d2: PUSH1 0x04
000013d4: DUP3
000013d5: ADD
000013d6: MSTORE
000013d7: PUSH1 0x11
000013d9: PUSH1 0x24
000013db: DUP3
000013dc: ADD
000013dd: MSTORE
000013de: PUSH17 0x1253959053125117d49150d25412515395
000013f0: PUSH1 0x7a
000013f2: SHL
000013f3: PUSH1 0x44
000013f5: DUP3
000013f6: ADD
000013f7: MSTORE
000013f8: PUSH1 0x64
000013fa: ADD
000013fb: PUSH2 0x0b55
000013fe: JUMP
000013ff: JUMPDEST
00001400: PUSH2 0x140a
00001403: DUP4
00001404: DUP4
00001405: DUP4
00001406: PUSH2 0x2b81
00001409: JUMP
0000140a: JUMPDEST
0000140b: PUSH1 0x01
0000140d: PUSH1 0x01
0000140f: PUSH1 0xa0
00001411: SHL
00001412: SUB
00001413: DUP4
00001414: AND
00001415: PUSH0
00001416: SWAP1
00001417: DUP2
00001418: MSTORE
00001419: PUSH0
0000141a: DUP1
0000141b: MLOAD
0000141c: PUSH1 0x20
0000141e: PUSH2 0x47d4
00001421: DUP4
00001422: CODECOPY
00001423: DUP2
00001424: MLOAD
00001425: SWAP2
00001426: MSTORE
00001427: PUSH1 0x20
00001429: MSTORE
0000142a: PUSH1 0x40
0000142c: SWAP1
0000142d: KECCAK256
0000142e: PUSH1 0x04
00001430: ADD
00001431: SLOAD
00001432: PUSH1 0xff
00001434: AND
00001435: ISZERO
00001436: PUSH2 0x1443
00001439: JUMPI
0000143a: PUSH2 0x1443
0000143d: DUP4
0000143e: DUP4
0000143f: PUSH2 0x2e91
00001442: JUMP
00001443: JUMPDEST
00001444: PUSH2 0x144e
00001447: DUP4
00001448: DUP4
00001449: DUP4
0000144a: PUSH2 0x27a5
0000144d: JUMP
0000144e: JUMPDEST
0000144f: DUP3
00001450: PUSH1 0x01
00001452: PUSH1 0x01
00001454: PUSH1 0xa0
00001456: SHL
00001457: SUB
00001458: AND
00001459: DUP2
0000145a: PUSH1 0x01
0000145c: PUSH1 0x01
0000145e: PUSH1 0xa0
00001460: SHL
00001461: SUB
00001462: AND
00001463: PUSH32 0x2717ead6b9200dd235aad468c9809ea400fe33ac69b5bfaa6d3e90fc922b6398
00001484: DUP5
00001485: PUSH1 0x40
00001487: MLOAD
00001488: PUSH2 0x1493
0000148b: SWAP2
0000148c: DUP2
0000148d: MSTORE
0000148e: PUSH1 0x20
00001490: ADD
00001491: SWAP1
00001492: JUMP
00001493: JUMPDEST
00001494: PUSH1 0x40
00001496: MLOAD
00001497: DUP1
00001498: SWAP2
00001499: SUB
0000149a: SWAP1
0000149b: LOG3
0000149c: POP
0000149d: POP
0000149e: POP
0000149f: JUMP
000014a0: JUMPDEST
000014a1: PUSH0
000014a2: PUSH2 0x1298
000014a5: PUSH0
000014a6: DUP1
000014a7: MLOAD
000014a8: PUSH1 0x20
000014aa: PUSH2 0x4673
000014ad: DUP4
000014ae: CODECOPY
000014af: DUP2
000014b0: MLOAD
000014b1: SWAP2
000014b2: MSTORE
000014b3: DUP4
000014b4: PUSH2 0x27b8
000014b7: JUMP
000014b8: JUMPDEST
000014b9: PUSH0
000014ba: PUSH2 0x1298
000014bd: PUSH0
000014be: DUP1
000014bf: MLOAD
000014c0: PUSH1 0x20
000014c2: PUSH2 0x47f4
000014c5: DUP4
000014c6: CODECOPY
000014c7: DUP2
000014c8: MLOAD
000014c9: SWAP2
000014ca: MSTORE
000014cb: DUP4
000014cc: PUSH2 0x27b8
000014cf: JUMP
000014d0: JUMPDEST
000014d1: PUSH2 0x0a95
000014d4: PUSH0
000014d5: DUP1
000014d6: MLOAD
000014d7: PUSH1 0x20
000014d9: PUSH2 0x4673
000014dc: DUP4
000014dd: CODECOPY
000014de: DUP2
000014df: MLOAD
000014e0: SWAP2
000014e1: MSTORE
000014e2: DUP3
000014e3: PUSH2 0x23cb
000014e6: JUMP
000014e7: JUMPDEST
000014e8: DUP1
000014e9: CALLER
000014ea: PUSH2 0x14f1
000014ed: PUSH2 0x2f00
000014f0: JUMP
000014f1: JUMPDEST
000014f2: PUSH0
000014f3: DUP4
000014f4: DUP2
000014f5: MSTORE
000014f6: PUSH1 0x20
000014f8: SWAP2
000014f9: SWAP1
000014fa: SWAP2
000014fb: MSTORE
000014fc: PUSH1 0x40
000014fe: SWAP1
000014ff: KECCAK256
00001500: SLOAD
00001501: PUSH1 0x01
00001503: PUSH1 0x01
00001505: PUSH1 0xa0
00001507: SHL
00001508: SUB
00001509: AND
0000150a: EQ
0000150b: PUSH2 0x1547
0000150e: JUMPI
0000150f: PUSH1 0x40
00001511: MLOAD
00001512: PUSH3 0x461bcd
00001516: PUSH1 0xe5
00001518: SHL
00001519: DUP2
0000151a: MSTORE
0000151b: PUSH1 0x20
0000151d: PUSH1 0x04
0000151f: DUP3
00001520: ADD
00001521: MSTORE
00001522: PUSH1 0x0e
00001524: PUSH1 0x24
00001526: DUP3
00001527: ADD
00001528: MSTORE
00001529: PUSH14 0x27a7262cafa222a827a9a4aa27a9
00001538: PUSH1 0x91
0000153a: SHL
0000153b: PUSH1 0x44
0000153d: DUP3
0000153e: ADD
0000153f: MSTORE
00001540: PUSH1 0x64
00001542: ADD
00001543: PUSH2 0x0b55
00001546: JUMP
00001547: JUMPDEST
00001548: PUSH2 0x154f
0000154b: PUSH2 0x2738
0000154e: JUMP
0000154f: JUMPDEST
00001550: PUSH1 0x01
00001552: PUSH1 0x01
00001554: PUSH1 0xa0
00001556: SHL
00001557: SUB
00001558: AND
00001559: PUSH4 0x7a98660b
0000155e: PUSH2 0x1565
00001561: PUSH2 0x275a
00001564: JUMP
00001565: JUMPDEST
00001566: PUSH32 0x02d757788a8d8d6f21d1cd40bce38a8222d70654214e96ff95d8086e684fbee5
00001587: PUSH2 0x1590
0000158a: DUP9
0000158b: DUP9
0000158c: PUSH2 0x2f22
0000158f: JUMP
00001590: JUMPDEST
00001591: DUP7
00001592: PUSH1 0x40
00001594: MLOAD
00001595: DUP6
00001596: PUSH4 0xffffffff
0000159b: AND
0000159c: PUSH1 0xe0
0000159e: SHL
0000159f: DUP2
000015a0: MSTORE
000015a1: PUSH1 0x04
000015a3: ADD
000015a4: PUSH2 0x15b0
000015a7: SWAP5
000015a8: SWAP4
000015a9: SWAP3
000015aa: SWAP2
000015ab: SWAP1
000015ac: PUSH2 0x40e4
000015af: JUMP
000015b0: JUMPDEST
000015b1: PUSH1 0x20
000015b3: PUSH1 0x40
000015b5: MLOAD
000015b6: DUP1
000015b7: DUP4
000015b8: SUB
000015b9: DUP2
000015ba: PUSH0
000015bb: DUP8
000015bc: GAS
000015bd: CALL
000015be: ISZERO
000015bf: DUP1
000015c0: ISZERO
000015c1: PUSH2 0x15cc
000015c4: JUMPI
000015c5: RETURNDATASIZE
000015c6: PUSH0
000015c7: DUP1
000015c8: RETURNDATACOPY
000015c9: RETURNDATASIZE
000015ca: PUSH0
000015cb: REVERT
000015cc: JUMPDEST
000015cd: POP
000015ce: POP
000015cf: POP
000015d0: POP
000015d1: PUSH1 0x40
000015d3: MLOAD
000015d4: RETURNDATASIZE
000015d5: PUSH1 0x1f
000015d7: NOT
000015d8: PUSH1 0x1f
000015da: DUP3
000015db: ADD
000015dc: AND
000015dd: DUP3
000015de: ADD
000015df: DUP1
000015e0: PUSH1 0x40
000015e2: MSTORE
000015e3: POP
000015e4: DUP2
000015e5: ADD
000015e6: SWAP1
000015e7: PUSH2 0x15f0
000015ea: SWAP2
000015eb: SWAP1
000015ec: PUSH2 0x4113
000015ef: JUMP
000015f0: JUMPDEST
000015f1: POP
000015f2: PUSH1 0x40
000015f4: DUP1
000015f5: MLOAD
000015f6: DUP6
000015f7: DUP2
000015f8: MSTORE
000015f9: PUSH1 0x20
000015fb: DUP2
000015fc: ADD
000015fd: DUP5
000015fe: SWAP1
000015ff: MSTORE
00001600: DUP5
00001601: SWAP2
00001602: CALLER
00001603: SWAP2
00001604: PUSH32 0xea57f52faafe318751f75acb6756cff3f66afc10201ef8f2d504e788985db3f5
00001625: SWAP2
00001626: ADD
00001627: JUMPDEST
00001628: PUSH1 0x40
0000162a: MLOAD
0000162b: DUP1
0000162c: SWAP2
0000162d: SUB
0000162e: SWAP1
0000162f: LOG3
00001630: POP
00001631: POP
00001632: POP
00001633: POP
00001634: JUMP
00001635: JUMPDEST
00001636: PUSH0
00001637: PUSH2 0x1298
0000163a: PUSH0
0000163b: DUP1
0000163c: MLOAD
0000163d: PUSH1 0x20
0000163f: PUSH2 0x46fa
00001642: DUP4
00001643: CODECOPY
00001644: DUP2
00001645: MLOAD
00001646: SWAP2
00001647: MSTORE
00001648: DUP4
00001649: PUSH2 0x27b8
0000164c: JUMP
0000164d: JUMPDEST
0000164e: DUP1
0000164f: CALLER
00001650: PUSH2 0x1657
00001653: PUSH2 0x2f00
00001656: JUMP
00001657: JUMPDEST
00001658: PUSH0
00001659: DUP4
0000165a: DUP2
0000165b: MSTORE
0000165c: PUSH1 0x20
0000165e: SWAP2
0000165f: SWAP1
00001660: SWAP2
00001661: MSTORE
00001662: PUSH1 0x40
00001664: SWAP1
00001665: KECCAK256
00001666: SLOAD
00001667: PUSH1 0x01
00001669: PUSH1 0x01
0000166b: PUSH1 0xa0
0000166d: SHL
0000166e: SUB
0000166f: AND
00001670: EQ
00001671: PUSH2 0x16ad
00001674: JUMPI
00001675: PUSH1 0x40
00001677: MLOAD
00001678: PUSH3 0x461bcd
0000167c: PUSH1 0xe5
0000167e: SHL
0000167f: DUP2
00001680: MSTORE
00001681: PUSH1 0x20
00001683: PUSH1 0x04
00001685: DUP3
00001686: ADD
00001687: MSTORE
00001688: PUSH1 0x0e
0000168a: PUSH1 0x24
0000168c: DUP3
0000168d: ADD
0000168e: MSTORE
0000168f: PUSH14 0x27a7262cafa222a827a9a4aa27a9
0000169e: PUSH1 0x91
000016a0: SHL
000016a1: PUSH1 0x44
000016a3: DUP3
000016a4: ADD
000016a5: MSTORE
000016a6: PUSH1 0x64
000016a8: ADD
000016a9: PUSH2 0x0b55
000016ac: JUMP
000016ad: JUMPDEST
000016ae: PUSH2 0x16b5
000016b1: PUSH2 0x2738
000016b4: JUMP
000016b5: JUMPDEST
000016b6: PUSH1 0x01
000016b8: PUSH1 0x01
000016ba: PUSH1 0xa0
000016bc: SHL
000016bd: SUB
000016be: AND
000016bf: PUSH4 0x6170ff1b
000016c4: PUSH2 0x16cb
000016c7: PUSH2 0x275a
000016ca: JUMP
000016cb: JUMPDEST
000016cc: PUSH32 0x02d757788a8d8d6f21d1cd40bce38a8222d70654214e96ff95d8086e684fbee5
000016ed: PUSH2 0x16f6
000016f0: DUP9
000016f1: DUP9
000016f2: PUSH2 0x2f22
000016f5: JUMP
000016f6: JUMPDEST
000016f7: DUP7
000016f8: PUSH1 0x40
000016fa: MLOAD
000016fb: DUP6
000016fc: PUSH4 0xffffffff
00001701: AND
00001702: PUSH1 0xe0
00001704: SHL
00001705: DUP2
00001706: MSTORE
00001707: PUSH1 0x04
00001709: ADD
0000170a: PUSH2 0x1716
0000170d: SWAP5
0000170e: SWAP4
0000170f: SWAP3
00001710: SWAP2
00001711: SWAP1
00001712: PUSH2 0x40e4
00001715: JUMP
00001716: JUMPDEST
00001717: PUSH1 0x20
00001719: PUSH1 0x40
0000171b: MLOAD
0000171c: DUP1
0000171d: DUP4
0000171e: SUB
0000171f: DUP2
00001720: PUSH0
00001721: DUP8
00001722: GAS
00001723: CALL
00001724: ISZERO
00001725: DUP1
00001726: ISZERO
00001727: PUSH2 0x1732
0000172a: JUMPI
0000172b: RETURNDATASIZE
0000172c: PUSH0
0000172d: DUP1
0000172e: RETURNDATACOPY
0000172f: RETURNDATASIZE
00001730: PUSH0
00001731: REVERT
00001732: JUMPDEST
00001733: POP
00001734: POP
00001735: POP
00001736: POP
00001737: PUSH1 0x40
00001739: MLOAD
0000173a: RETURNDATASIZE
0000173b: PUSH1 0x1f
0000173d: NOT
0000173e: PUSH1 0x1f
00001740: DUP3
00001741: ADD
00001742: AND
00001743: DUP3
00001744: ADD
00001745: DUP1
00001746: PUSH1 0x40
00001748: MSTORE
00001749: POP
0000174a: DUP2
0000174b: ADD
0000174c: SWAP1
0000174d: PUSH2 0x1756
00001750: SWAP2
00001751: SWAP1
00001752: PUSH2 0x4113
00001755: JUMP
00001756: JUMPDEST
00001757: POP
00001758: PUSH2 0x1769
0000175b: PUSH2 0x1762
0000175e: PUSH2 0x23a9
00001761: JUMP
00001762: JUMPDEST
00001763: DUP6
00001764: CALLER
00001765: PUSH2 0x27a5
00001768: JUMP
00001769: JUMPDEST
0000176a: PUSH1 0x40
0000176c: DUP1
0000176d: MLOAD
0000176e: DUP6
0000176f: DUP2
00001770: MSTORE
00001771: PUSH1 0x20
00001773: DUP2
00001774: ADD
00001775: DUP5
00001776: SWAP1
00001777: MSTORE
00001778: DUP5
00001779: SWAP2
0000177a: CALLER
0000177b: SWAP2
0000177c: PUSH32 0xb0b548d5e12b6a60adac4d6dd7610f55134cea4fd145535edc303a48063e0cb4
0000179d: SWAP2
0000179e: ADD
0000179f: PUSH2 0x1627
000017a2: JUMP
000017a3: JUMPDEST
000017a4: PUSH2 0x17ac
000017a7: CALLER
000017a8: PUSH2 0x12e3
000017ab: JUMP
000017ac: JUMPDEST
000017ad: PUSH2 0x17ec
000017b0: JUMPI
000017b1: PUSH1 0x40
000017b3: MLOAD
000017b4: PUSH3 0x461bcd
000017b8: PUSH1 0xe5
000017ba: SHL
000017bb: DUP2
000017bc: MSTORE
000017bd: PUSH1 0x20
000017bf: PUSH1 0x04
000017c1: DUP3
000017c2: ADD
000017c3: MSTORE
000017c4: PUSH1 0x11
000017c6: PUSH1 0x24
000017c8: DUP3
000017c9: ADD
000017ca: MSTORE
000017cb: PUSH17 0x27a7262cafa0a8282fa3a7ab22a92727a9
000017dd: PUSH1 0x79
000017df: SHL
000017e0: PUSH1 0x44
000017e2: DUP3
000017e3: ADD
000017e4: MSTORE
000017e5: PUSH1 0x64
000017e7: ADD
000017e8: PUSH2 0x0b55
000017eb: JUMP
000017ec: JUMPDEST
000017ed: PUSH2 0x17f4
000017f0: PUSH2 0x29e4
000017f3: JUMP
000017f4: JUMPDEST
000017f5: PUSH2 0x1840
000017f8: JUMPI
000017f9: PUSH1 0x40
000017fb: MLOAD
000017fc: PUSH3 0x461bcd
00001800: PUSH1 0xe5
00001802: SHL
00001803: DUP2
00001804: MSTORE
00001805: PUSH1 0x20
00001807: PUSH1 0x04
00001809: DUP3
0000180a: ADD
0000180b: MSTORE
0000180c: PUSH1 0x18
0000180e: PUSH1 0x24
00001810: DUP3
00001811: ADD
00001812: MSTORE
00001813: PUSH32 0x434f4e54524143545f4e4f545f494e495449414c495a45440000000000000000
00001834: PUSH1 0x44
00001836: DUP3
00001837: ADD
00001838: MSTORE
00001839: PUSH1 0x64
0000183b: ADD
0000183c: PUSH2 0x0b55
0000183f: JUMP
00001840: JUMPDEST
00001841: PUSH2 0x1849
00001844: DUP2
00001845: PUSH2 0x2fc8
00001848: JUMP
00001849: JUMPDEST
0000184a: PUSH2 0x188f
0000184d: JUMPI
0000184e: PUSH1 0x40
00001850: MLOAD
00001851: PUSH3 0x461bcd
00001855: PUSH1 0xe5
00001857: SHL
00001858: DUP2
00001859: MSTORE
0000185a: PUSH1 0x20
0000185c: PUSH1 0x04
0000185e: DUP3
0000185f: ADD
00001860: MSTORE
00001861: PUSH1 0x17
00001863: PUSH1 0x24
00001865: DUP3
00001866: ADD
00001867: MSTORE
00001868: PUSH23 0x4c325f414444524553535f4f55545f4f465f52414e4745
00001880: PUSH1 0x48
00001882: SHL
00001883: PUSH1 0x44
00001885: DUP3
00001886: ADD
00001887: MSTORE
00001888: PUSH1 0x64
0000188a: ADD
0000188b: PUSH2 0x0b55
0000188e: JUMP
0000188f: JUMPDEST
00001890: PUSH2 0x1898
00001893: DUP2
00001894: PUSH2 0x2fea
00001897: JUMP
00001898: JUMPDEST
00001899: PUSH1 0x40
0000189b: MLOAD
0000189c: DUP2
0000189d: DUP2
0000189e: MSTORE
0000189f: PUSH32 0x90fc3f39f8e4669d1bf5f9038707949f8af42a973f62988143be0fa7c3997f18
000018c0: SWAP1
000018c1: PUSH1 0x20
000018c3: ADD
000018c4: PUSH2 0x10a3
000018c7: JUMP
000018c8: JUMPDEST
000018c9: DUP1
000018ca: CALLER
000018cb: PUSH1 0x01
000018cd: PUSH1 0x01
000018cf: PUSH1 0xa0
000018d1: SHL
000018d2: SUB
000018d3: DUP3
000018d4: AND
000018d5: SUB
000018d6: PUSH2 0x18f1
000018d9: JUMPI
000018da: PUSH1 0x40
000018dc: MLOAD
000018dd: PUSH3 0x461bcd
000018e1: PUSH1 0xe5
000018e3: SHL
000018e4: DUP2
000018e5: MSTORE
000018e6: PUSH1 0x04
000018e8: ADD
000018e9: PUSH2 0x0b55
000018ec: SWAP1
000018ed: PUSH2 0x412a
000018f0: JUMP
000018f1: JUMPDEST
000018f2: PUSH2 0x0a7a
000018f5: PUSH0
000018f6: DUP1
000018f7: MLOAD
000018f8: PUSH1 0x20
000018fa: PUSH2 0x460c
000018fd: DUP4
000018fe: CODECOPY
000018ff: DUP2
00001900: MLOAD
00001901: SWAP2
00001902: MSTORE
00001903: DUP4
00001904: PUSH2 0x27ee
00001907: JUMP
00001908: JUMPDEST
00001909: PUSH0
0000190a: PUSH2 0x1298
0000190d: PUSH0
0000190e: DUP1
0000190f: MLOAD
00001910: PUSH1 0x20
00001912: PUSH2 0x471a
00001915: DUP4
00001916: CODECOPY
00001917: DUP2
00001918: MLOAD
00001919: SWAP2
0000191a: MSTORE
0000191b: DUP4
0000191c: PUSH2 0x27b8
0000191f: JUMP
00001920: JUMPDEST
00001921: PUSH2 0x0a95
00001924: PUSH0
00001925: DUP1
00001926: MLOAD
00001927: PUSH1 0x20
00001929: PUSH2 0x45ec
0000192c: DUP4
0000192d: CODECOPY
0000192e: DUP2
0000192f: MLOAD
00001930: SWAP2
00001931: MSTORE
00001932: DUP3
00001933: PUSH2 0x23cb
00001936: JUMP
00001937: JUMPDEST
00001938: PUSH0
00001939: PUSH2 0x1298
0000193c: PUSH0
0000193d: DUP1
0000193e: MLOAD
0000193f: PUSH1 0x20
00001941: PUSH2 0x483d
00001944: DUP4
00001945: CODECOPY
00001946: DUP2
00001947: MLOAD
00001948: SWAP2
00001949: MSTORE
0000194a: DUP4
0000194b: PUSH2 0x27b8
0000194e: JUMP
0000194f: JUMPDEST
00001950: PUSH2 0x1957
00001953: PUSH2 0x2738
00001956: JUMP
00001957: JUMPDEST
00001958: PUSH1 0x01
0000195a: PUSH1 0x01
0000195c: PUSH1 0xa0
0000195e: SHL
0000195f: SUB
00001960: AND
00001961: PUSH4 0x7a98660b
00001966: PUSH2 0x196d
00001969: PUSH2 0x275a
0000196c: JUMP
0000196d: JUMPDEST
0000196e: PUSH0
0000196f: DUP1
00001970: MLOAD
00001971: PUSH1 0x20
00001973: PUSH2 0x47b4
00001976: DUP4
00001977: CODECOPY
00001978: DUP2
00001979: MLOAD
0000197a: SWAP2
0000197b: MSTORE
0000197c: PUSH2 0x1986
0000197f: DUP9
00001980: DUP9
00001981: DUP9
00001982: PUSH2 0x277c
00001985: JUMP
00001986: JUMPDEST
00001987: DUP6
00001988: PUSH1 0x40
0000198a: MLOAD
0000198b: DUP6
0000198c: PUSH4 0xffffffff
00001991: AND
00001992: PUSH1 0xe0
00001994: SHL
00001995: DUP2
00001996: MSTORE
00001997: PUSH1 0x04
00001999: ADD
0000199a: PUSH2 0x19a6
0000199d: SWAP5
0000199e: SWAP4
0000199f: SWAP3
000019a0: SWAP2
000019a1: SWAP1
000019a2: PUSH2 0x40e4
000019a5: JUMP
000019a6: JUMPDEST
000019a7: PUSH1 0x20
000019a9: PUSH1 0x40
000019ab: MLOAD
000019ac: DUP1
000019ad: DUP4
000019ae: SUB
000019af: DUP2
000019b0: PUSH0
000019b1: DUP8
000019b2: GAS
000019b3: CALL
000019b4: ISZERO
000019b5: DUP1
000019b6: ISZERO
000019b7: PUSH2 0x19c2
000019ba: JUMPI
000019bb: RETURNDATASIZE
000019bc: PUSH0
000019bd: DUP1
000019be: RETURNDATACOPY
000019bf: RETURNDATASIZE
000019c0: PUSH0
000019c1: REVERT
000019c2: JUMPDEST
000019c3: POP
000019c4: POP
000019c5: POP
000019c6: POP
000019c7: PUSH1 0x40
000019c9: MLOAD
000019ca: RETURNDATASIZE
000019cb: PUSH1 0x1f
000019cd: NOT
000019ce: PUSH1 0x1f
000019d0: DUP3
000019d1: ADD
000019d2: AND
000019d3: DUP3
000019d4: ADD
000019d5: DUP1
000019d6: PUSH1 0x40
000019d8: MSTORE
000019d9: POP
000019da: DUP2
000019db: ADD
000019dc: SWAP1
000019dd: PUSH2 0x19e6
000019e0: SWAP2
000019e1: SWAP1
000019e2: PUSH2 0x4113
000019e5: JUMP
000019e6: JUMPDEST
000019e7: POP
000019e8: PUSH1 0x40
000019ea: DUP1
000019eb: MLOAD
000019ec: DUP5
000019ed: DUP2
000019ee: MSTORE
000019ef: PUSH1 0x20
000019f1: DUP2
000019f2: ADD
000019f3: DUP4
000019f4: SWAP1
000019f5: MSTORE
000019f6: DUP4
000019f7: SWAP2
000019f8: PUSH1 0x01
000019fa: PUSH1 0x01
000019fc: PUSH1 0xa0
000019fe: SHL
000019ff: SUB
00001a00: DUP8
00001a01: AND
00001a02: SWAP2
00001a03: CALLER
00001a04: SWAP2
00001a05: PUSH32 0x8f3da3ce93acd45e015b069c8f032d37be93dc9efcaaeda368aa9ca74f64c30a
00001a26: SWAP2
00001a27: ADD
00001a28: PUSH2 0x0d78
00001a2b: JUMP
00001a2c: JUMPDEST
00001a2d: PUSH1 0x40
00001a2f: MLOAD
00001a30: PUSH3 0x461bcd
00001a34: PUSH1 0xe5
00001a36: SHL
00001a37: DUP2
00001a38: MSTORE
00001a39: PUSH1 0x20
00001a3b: PUSH1 0x04
00001a3d: DUP3
00001a3e: ADD
00001a3f: MSTORE
00001a40: PUSH1 0x0b
00001a42: PUSH1 0x24
00001a44: DUP3
00001a45: ADD
00001a46: MSTORE
00001a47: PUSH11 0x155394d5541413d4951151
00001a53: PUSH1 0xaa
00001a55: SHL
00001a56: PUSH1 0x44
00001a58: DUP3
00001a59: ADD
00001a5a: MSTORE
00001a5b: PUSH1 0x64
00001a5d: ADD
00001a5e: PUSH2 0x0b55
00001a61: JUMP
00001a62: JUMPDEST
00001a63: PUSH0
00001a64: PUSH2 0x0c8f
00001a67: PUSH2 0x300c
00001a6a: JUMP
00001a6b: JUMPDEST
00001a6c: PUSH2 0x1a73
00001a6f: PUSH2 0x2738
00001a72: JUMP
00001a73: JUMPDEST
00001a74: PUSH1 0x01
00001a76: PUSH1 0x01
00001a78: PUSH1 0xa0
00001a7a: SHL
00001a7b: SUB
00001a7c: AND
00001a7d: PUSH4 0x6170ff1b
00001a82: PUSH2 0x1a89
00001a85: PUSH2 0x275a
00001a88: JUMP
00001a89: JUMPDEST
00001a8a: PUSH0
00001a8b: DUP1
00001a8c: MLOAD
00001a8d: PUSH1 0x20
00001a8f: PUSH2 0x46da
00001a92: DUP4
00001a93: CODECOPY
00001a94: DUP2
00001a95: MLOAD
00001a96: SWAP2
00001a97: MSTORE
00001a98: PUSH2 0x1ad7
00001a9b: DUP11
00001a9c: DUP11
00001a9d: DUP11
00001a9e: PUSH1 0x01
00001aa0: DUP12
00001aa1: DUP12
00001aa2: DUP1
00001aa3: DUP1
00001aa4: PUSH1 0x20
00001aa6: MUL
00001aa7: PUSH1 0x20
00001aa9: ADD
00001aaa: PUSH1 0x40
00001aac: MLOAD
00001aad: SWAP1
00001aae: DUP2
00001aaf: ADD
00001ab0: PUSH1 0x40
00001ab2: MSTORE
00001ab3: DUP1
00001ab4: SWAP4
00001ab5: SWAP3
00001ab6: SWAP2
00001ab7: SWAP1
00001ab8: DUP2
00001ab9: DUP2
00001aba: MSTORE
00001abb: PUSH1 0x20
00001abd: ADD
00001abe: DUP4
00001abf: DUP4
00001ac0: PUSH1 0x20
00001ac2: MUL
00001ac3: DUP1
00001ac4: DUP3
00001ac5: DUP5
00001ac6: CALLDATACOPY
00001ac7: PUSH0
00001ac8: SWAP3
00001ac9: ADD
00001aca: SWAP2
00001acb: SWAP1
00001acc: SWAP2
00001acd: MSTORE
00001ace: POP
00001acf: PUSH2 0x301e
00001ad2: SWAP3
00001ad3: POP
00001ad4: POP
00001ad5: POP
00001ad6: JUMP
00001ad7: JUMPDEST
00001ad8: DUP6
00001ad9: PUSH1 0x40
00001adb: MLOAD
00001adc: DUP6
00001add: PUSH4 0xffffffff
00001ae2: AND
00001ae3: PUSH1 0xe0
00001ae5: SHL
00001ae6: DUP2
00001ae7: MSTORE
00001ae8: PUSH1 0x04
00001aea: ADD
00001aeb: PUSH2 0x1af7
00001aee: SWAP5
00001aef: SWAP4
00001af0: SWAP3
00001af1: SWAP2
00001af2: SWAP1
00001af3: PUSH2 0x40e4
00001af6: JUMP
00001af7: JUMPDEST
00001af8: PUSH1 0x20
00001afa: PUSH1 0x40
00001afc: MLOAD
00001afd: DUP1
00001afe: DUP4
00001aff: SUB
00001b00: DUP2
00001b01: PUSH0
00001b02: DUP8
00001b03: GAS
00001b04: CALL
00001b05: ISZERO
00001b06: DUP1
00001b07: ISZERO
00001b08: PUSH2 0x1b13
00001b0b: JUMPI
00001b0c: RETURNDATASIZE
00001b0d: PUSH0
00001b0e: DUP1
00001b0f: RETURNDATACOPY
00001b10: RETURNDATASIZE
00001b11: PUSH0
00001b12: REVERT
00001b13: JUMPDEST
00001b14: POP
00001b15: POP
00001b16: POP
00001b17: POP
00001b18: PUSH1 0x40
00001b1a: MLOAD
00001b1b: RETURNDATASIZE
00001b1c: PUSH1 0x1f
00001b1e: NOT
00001b1f: PUSH1 0x1f
00001b21: DUP3
00001b22: ADD
00001b23: AND
00001b24: DUP3
00001b25: ADD
00001b26: DUP1
00001b27: PUSH1 0x40
00001b29: MSTORE
00001b2a: POP
00001b2b: DUP2
00001b2c: ADD
00001b2d: SWAP1
00001b2e: PUSH2 0x1b37
00001b31: SWAP2
00001b32: SWAP1
00001b33: PUSH2 0x4113
00001b36: JUMP
00001b37: JUMPDEST
00001b38: POP
00001b39: PUSH2 0x1b43
00001b3c: DUP7
00001b3d: DUP7
00001b3e: CALLER
00001b3f: PUSH2 0x27a5
00001b42: JUMP
00001b43: JUMPDEST
00001b44: DUP4
00001b45: DUP7
00001b46: PUSH1 0x01
00001b48: PUSH1 0x01
00001b4a: PUSH1 0xa0
00001b4c: SHL
00001b4d: SUB
00001b4e: AND
00001b4f: CALLER
00001b50: PUSH1 0x01
00001b52: PUSH1 0x01
00001b54: PUSH1 0xa0
00001b56: SHL
00001b57: SUB
00001b58: AND
00001b59: PUSH32 0xa465a02eedf06ceffd1d99159ad98c5d8fa7f17b870eb22e0bfcec06398a8f73
00001b7a: DUP9
00001b7b: DUP8
00001b7c: DUP8
00001b7d: DUP8
00001b7e: PUSH1 0x40
00001b80: MLOAD
00001b81: PUSH2 0x1b8d
00001b84: SWAP5
00001b85: SWAP4
00001b86: SWAP3
00001b87: SWAP2
00001b88: SWAP1
00001b89: PUSH2 0x41bf
00001b8c: JUMP
00001b8d: JUMPDEST
00001b8e: PUSH1 0x40
00001b90: MLOAD
00001b91: DUP1
00001b92: SWAP2
00001b93: SUB
00001b94: SWAP1
00001b95: LOG4
00001b96: POP
00001b97: POP
00001b98: POP
00001b99: POP
00001b9a: POP
00001b9b: POP
00001b9c: JUMP
00001b9d: JUMPDEST
00001b9e: DUP5
00001b9f: PUSH2 0x1ba7
00001ba2: DUP2
00001ba3: PUSH2 0x0a98
00001ba6: JUMP
00001ba7: JUMPDEST
00001ba8: PUSH2 0x1be8
00001bab: JUMPI
00001bac: PUSH1 0x40
00001bae: MLOAD
00001baf: PUSH3 0x461bcd
00001bb3: PUSH1 0xe5
00001bb5: SHL
00001bb6: DUP2
00001bb7: MSTORE
00001bb8: PUSH1 0x20
00001bba: PUSH1 0x04
00001bbc: DUP3
00001bbd: ADD
00001bbe: MSTORE
00001bbf: PUSH1 0x12
00001bc1: PUSH1 0x24
00001bc3: DUP3
00001bc4: ADD
00001bc5: MSTORE
00001bc6: PUSH18 0x1513d2d15397d393d517d4d154959250d151
00001bd9: PUSH1 0x72
00001bdb: SHL
00001bdc: PUSH1 0x44
00001bde: DUP3
00001bdf: ADD
00001be0: MSTORE
00001be1: PUSH1 0x64
00001be3: ADD
00001be4: PUSH2 0x0b55
00001be7: JUMP
00001be8: JUMPDEST
00001be9: PUSH0
00001bea: PUSH2 0x1bf3
00001bed: DUP8
00001bee: DUP8
00001bef: PUSH2 0x23ec
00001bf2: JUMP
00001bf3: JUMPDEST
00001bf4: SWAP1
00001bf5: POP
00001bf6: PUSH0
00001bf7: PUSH2 0x1c45
00001bfa: DUP9
00001bfb: DUP9
00001bfc: DUP9
00001bfd: DUP9
00001bfe: DUP9
00001bff: DUP1
00001c00: DUP1
00001c01: PUSH1 0x20
00001c03: MUL
00001c04: PUSH1 0x20
00001c06: ADD
00001c07: PUSH1 0x40
00001c09: MLOAD
00001c0a: SWAP1
00001c0b: DUP2
00001c0c: ADD
00001c0d: PUSH1 0x40
00001c0f: MSTORE
00001c10: DUP1
00001c11: SWAP4
00001c12: SWAP3
00001c13: SWAP2
00001c14: SWAP1
00001c15: DUP2
00001c16: DUP2
00001c17: MSTORE
00001c18: PUSH1 0x20
00001c1a: ADD
00001c1b: DUP4
00001c1c: DUP4
00001c1d: PUSH1 0x20
00001c1f: MUL
00001c20: DUP1
00001c21: DUP3
00001c22: DUP5
00001c23: CALLDATACOPY
00001c24: PUSH0
00001c25: SWAP3
00001c26: ADD
00001c27: SWAP2
00001c28: SWAP1
00001c29: SWAP2
00001c2a: MSTORE
00001c2b: POP
00001c2c: PUSH0
00001c2d: DUP1
00001c2e: MLOAD
00001c2f: PUSH1 0x20
00001c31: PUSH2 0x46da
00001c34: DUP4
00001c35: CODECOPY
00001c36: DUP2
00001c37: MLOAD
00001c38: SWAP2
00001c39: MSTORE
00001c3a: SWAP3
00001c3b: POP
00001c3c: DUP10
00001c3d: SWAP2
00001c3e: POP
00001c3f: PUSH2 0x24a3
00001c42: SWAP1
00001c43: POP
00001c44: JUMP
00001c45: JUMPDEST
00001c46: SWAP1
00001c47: POP
00001c48: PUSH2 0x1c97
00001c4b: DUP9
00001c4c: DUP9
00001c4d: DUP9
00001c4e: DUP9
00001c4f: DUP9
00001c50: DUP1
00001c51: DUP1
00001c52: PUSH1 0x20
00001c54: MUL
00001c55: PUSH1 0x20
00001c57: ADD
00001c58: PUSH1 0x40
00001c5a: MLOAD
00001c5b: SWAP1
00001c5c: DUP2
00001c5d: ADD
00001c5e: PUSH1 0x40
00001c60: MSTORE
00001c61: DUP1
00001c62: SWAP4
00001c63: SWAP3
00001c64: SWAP2
00001c65: SWAP1
00001c66: DUP2
00001c67: DUP2
00001c68: MSTORE
00001c69: PUSH1 0x20
00001c6b: ADD
00001c6c: DUP4
00001c6d: DUP4
00001c6e: PUSH1 0x20
00001c70: MUL
00001c71: DUP1
00001c72: DUP3
00001c73: DUP5
00001c74: CALLDATACOPY
00001c75: PUSH0
00001c76: SWAP3
00001c77: ADD
00001c78: SWAP2
00001c79: SWAP1
00001c7a: SWAP2
00001c7b: MSTORE
00001c7c: POP
00001c7d: PUSH0
00001c7e: DUP1
00001c7f: MLOAD
00001c80: PUSH1 0x20
00001c82: PUSH2 0x46da
00001c85: DUP4
00001c86: CODECOPY
00001c87: DUP2
00001c88: MLOAD
00001c89: SWAP2
00001c8a: MSTORE
00001c8b: SWAP3
00001c8c: POP
00001c8d: DUP9
00001c8e: SWAP2
00001c8f: POP
00001c90: DUP10
00001c91: SWAP1
00001c92: POP
00001c93: PUSH2 0x2625
00001c96: JUMP
00001c97: JUMPDEST
00001c98: PUSH2 0x1ca0
00001c9b: DUP9
00001c9c: PUSH2 0x1f02
00001c9f: JUMP
00001ca0: JUMPDEST
00001ca1: POP
00001ca2: POP
00001ca3: POP
00001ca4: POP
00001ca5: POP
00001ca6: POP
00001ca7: POP
00001ca8: POP
00001ca9: JUMP
00001caa: JUMPDEST
00001cab: PUSH2 0x1cc1
00001cae: PUSH0
00001caf: DUP1
00001cb0: MLOAD
00001cb1: PUSH1 0x20
00001cb3: PUSH2 0x45ec
00001cb6: DUP4
00001cb7: CODECOPY
00001cb8: DUP2
00001cb9: MLOAD
00001cba: SWAP2
00001cbb: MSTORE
00001cbc: CALLER
00001cbd: PUSH2 0x27b8
00001cc0: JUMP
00001cc1: JUMPDEST
00001cc2: PUSH2 0x1d05
00001cc5: JUMPI
00001cc6: PUSH1 0x40
00001cc8: MLOAD
00001cc9: PUSH3 0x461bcd
00001ccd: PUSH1 0xe5
00001ccf: SHL
00001cd0: DUP2
00001cd1: MSTORE
00001cd2: PUSH1 0x20
00001cd4: PUSH1 0x04
00001cd6: DUP3
00001cd7: ADD
00001cd8: MSTORE
00001cd9: PUSH1 0x15
00001cdb: PUSH1 0x24
00001cdd: DUP3
00001cde: ADD
00001cdf: MSTORE
00001ce0: PUSH21 0x474f5645524e414e43455f41444d494e5f4f4e4c59
00001cf6: PUSH1 0x58
00001cf8: SHL
00001cf9: PUSH1 0x44
00001cfb: DUP3
00001cfc: ADD
00001cfd: MSTORE
00001cfe: PUSH1 0x64
00001d00: ADD
00001d01: PUSH2 0x0b55
00001d04: JUMP
00001d05: JUMPDEST
00001d06: PUSH1 0x01
00001d08: PUSH1 0x01
00001d0a: PUSH1 0xa0
00001d0c: SHL
00001d0d: SUB
00001d0e: DUP2
00001d0f: AND
00001d10: PUSH0
00001d11: DUP2
00001d12: DUP2
00001d13: MSTORE
00001d14: PUSH32 0x45f38e273862f8834bd2fe7a449988f63de55a7a5b685dea46ccedeb69cf0e26
00001d35: PUSH1 0x20
00001d37: DUP2
00001d38: DUP2
00001d39: MSTORE
00001d3a: PUSH1 0x40
00001d3c: SWAP3
00001d3d: DUP4
00001d3e: SWAP1
00001d3f: KECCAK256
00001d40: DUP1
00001d41: SLOAD
00001d42: PUSH1 0xff
00001d44: NOT
00001d45: AND
00001d46: SWAP1
00001d47: SSTORE
00001d48: PUSH32 0x45f38e273862f8834bd2fe7a449988f63de55a7a5b685dea46ccedeb69cf0e27
00001d69: DUP1
00001d6a: SLOAD
00001d6b: PUSH1 0x01
00001d6d: PUSH1 0x01
00001d6f: PUSH1 0xa0
00001d71: SHL
00001d72: SUB
00001d73: NOT
00001d74: AND
00001d75: SWAP1
00001d76: SSTORE
00001d77: SWAP2
00001d78: MLOAD
00001d79: SWAP3
00001d7a: DUP4
00001d7b: MSTORE
00001d7c: SWAP2
00001d7d: PUSH32 0xd75f94825e770b8b512be8e74759e252ad00e102e38f50cce2f7c6f868a29599
00001d9e: SWAP2
00001d9f: ADD
00001da0: PUSH2 0x0e7f
00001da3: JUMP
00001da4: JUMPDEST
00001da5: PUSH0
00001da6: PUSH2 0x1298
00001da9: PUSH0
00001daa: DUP1
00001dab: MLOAD
00001dac: PUSH1 0x20
00001dae: PUSH2 0x45ec
00001db1: DUP4
00001db2: CODECOPY
00001db3: DUP2
00001db4: MLOAD
00001db5: SWAP2
00001db6: MSTORE
00001db7: DUP4
00001db8: PUSH2 0x27b8
00001dbb: JUMP
00001dbc: JUMPDEST
00001dbd: PUSH2 0x0a95
00001dc0: PUSH0
00001dc1: DUP1
00001dc2: MLOAD
00001dc3: PUSH1 0x20
00001dc5: PUSH2 0x4653
00001dc8: DUP4
00001dc9: CODECOPY
00001dca: DUP2
00001dcb: MLOAD
00001dcc: SWAP2
00001dcd: MSTORE
00001dce: DUP3
00001dcf: PUSH2 0x23cb
00001dd2: JUMP
00001dd3: JUMPDEST
00001dd4: PUSH2 0x1ddb
00001dd7: PUSH2 0x2738
00001dda: JUMP
00001ddb: JUMPDEST
00001ddc: PUSH1 0x01
00001dde: PUSH1 0x01
00001de0: PUSH1 0xa0
00001de2: SHL
00001de3: SUB
00001de4: AND
00001de5: PUSH4 0x7a98660b
00001dea: PUSH2 0x1df1
00001ded: PUSH2 0x275a
00001df0: JUMP
00001df1: JUMPDEST
00001df2: PUSH0
00001df3: DUP1
00001df4: MLOAD
00001df5: PUSH1 0x20
00001df7: PUSH2 0x46da
00001dfa: DUP4
00001dfb: CODECOPY
00001dfc: DUP2
00001dfd: MLOAD
00001dfe: SWAP2
00001dff: MSTORE
00001e00: PUSH2 0x1e3f
00001e03: DUP11
00001e04: DUP11
00001e05: DUP11
00001e06: PUSH1 0x01
00001e08: DUP12
00001e09: DUP12
00001e0a: DUP1
00001e0b: DUP1
00001e0c: PUSH1 0x20
00001e0e: MUL
00001e0f: PUSH1 0x20
00001e11: ADD
00001e12: PUSH1 0x40
00001e14: MLOAD
00001e15: SWAP1
00001e16: DUP2
00001e17: ADD
00001e18: PUSH1 0x40
00001e1a: MSTORE
00001e1b: DUP1
00001e1c: SWAP4
00001e1d: SWAP3
00001e1e: SWAP2
00001e1f: SWAP1
00001e20: DUP2
00001e21: DUP2
00001e22: MSTORE
00001e23: PUSH1 0x20
00001e25: ADD
00001e26: DUP4
00001e27: DUP4
00001e28: PUSH1 0x20
00001e2a: MUL
00001e2b: DUP1
00001e2c: DUP3
00001e2d: DUP5
00001e2e: CALLDATACOPY
00001e2f: PUSH0
00001e30: SWAP3
00001e31: ADD
00001e32: SWAP2
00001e33: SWAP1
00001e34: SWAP2
00001e35: MSTORE
00001e36: POP
00001e37: PUSH2 0x301e
00001e3a: SWAP3
00001e3b: POP
00001e3c: POP
00001e3d: POP
00001e3e: JUMP
00001e3f: JUMPDEST
00001e40: DUP6
00001e41: PUSH1 0x40
00001e43: MLOAD
00001e44: DUP6
00001e45: PUSH4 0xffffffff
00001e4a: AND
00001e4b: PUSH1 0xe0
00001e4d: SHL
00001e4e: DUP2
00001e4f: MSTORE
00001e50: PUSH1 0x04
00001e52: ADD
00001e53: PUSH2 0x1e5f
00001e56: SWAP5
00001e57: SWAP4
00001e58: SWAP3
00001e59: SWAP2
00001e5a: SWAP1
00001e5b: PUSH2 0x40e4
00001e5e: JUMP
00001e5f: JUMPDEST
00001e60: PUSH1 0x20
00001e62: PUSH1 0x40
00001e64: MLOAD
00001e65: DUP1
00001e66: DUP4
00001e67: SUB
00001e68: DUP2
00001e69: PUSH0
00001e6a: DUP8
00001e6b: GAS
00001e6c: CALL
00001e6d: ISZERO
00001e6e: DUP1
00001e6f: ISZERO
00001e70: PUSH2 0x1e7b
00001e73: JUMPI
00001e74: RETURNDATASIZE
00001e75: PUSH0
00001e76: DUP1
00001e77: RETURNDATACOPY
00001e78: RETURNDATASIZE
00001e79: PUSH0
00001e7a: REVERT
00001e7b: JUMPDEST
00001e7c: POP
00001e7d: POP
00001e7e: POP
00001e7f: POP
00001e80: PUSH1 0x40
00001e82: MLOAD
00001e83: RETURNDATASIZE
00001e84: PUSH1 0x1f
00001e86: NOT
00001e87: PUSH1 0x1f
00001e89: DUP3
00001e8a: ADD
00001e8b: AND
00001e8c: DUP3
00001e8d: ADD
00001e8e: DUP1
00001e8f: PUSH1 0x40
00001e91: MSTORE
00001e92: POP
00001e93: DUP2
00001e94: ADD
00001e95: SWAP1
00001e96: PUSH2 0x1e9f
00001e99: SWAP2
00001e9a: SWAP1
00001e9b: PUSH2 0x4113
00001e9e: JUMP
00001e9f: JUMPDEST
00001ea0: POP
00001ea1: DUP4
00001ea2: DUP7
00001ea3: PUSH1 0x01
00001ea5: PUSH1 0x01
00001ea7: PUSH1 0xa0
00001ea9: SHL
00001eaa: SUB
00001eab: AND
00001eac: CALLER
00001ead: PUSH1 0x01
00001eaf: PUSH1 0x01
00001eb1: PUSH1 0xa0
00001eb3: SHL
00001eb4: SUB
00001eb5: AND
00001eb6: PUSH32 0x889e470f207032611b2f68dbd2124e3139794f19a6b536c83892fd5057603860
00001ed7: DUP9
00001ed8: DUP8
00001ed9: DUP8
00001eda: DUP8
00001edb: PUSH1 0x40
00001edd: MLOAD
00001ede: PUSH2 0x1b8d
00001ee1: SWAP5
00001ee2: SWAP4
00001ee3: SWAP3
00001ee4: SWAP2
00001ee5: SWAP1
00001ee6: PUSH2 0x41bf
00001ee9: JUMP
00001eea: JUMPDEST
00001eeb: PUSH0
00001eec: PUSH2 0x1298
00001eef: PUSH0
00001ef0: DUP1
00001ef1: MLOAD
00001ef2: PUSH1 0x20
00001ef4: PUSH2 0x460c
00001ef7: DUP4
00001ef8: CODECOPY
00001ef9: DUP2
00001efa: MLOAD
00001efb: SWAP2
00001efc: MSTORE
00001efd: DUP4
00001efe: PUSH2 0x27b8
00001f01: JUMP
00001f02: JUMPDEST
00001f03: PUSH1 0x01
00001f05: PUSH1 0x01
00001f07: PUSH1 0xa0
00001f09: SHL
00001f0a: SUB
00001f0b: DUP2
00001f0c: AND
00001f0d: PUSH0
00001f0e: SWAP1
00001f0f: DUP2
00001f10: MSTORE
00001f11: PUSH0
00001f12: DUP1
00001f13: MLOAD
00001f14: PUSH1 0x20
00001f16: PUSH2 0x47d4
00001f19: DUP4
00001f1a: CODECOPY
00001f1b: DUP2
00001f1c: MLOAD
00001f1d: SWAP2
00001f1e: MSTORE
00001f1f: PUSH1 0x20
00001f21: MSTORE
00001f22: PUSH1 0x40
00001f24: SWAP1
00001f25: KECCAK256
00001f26: SLOAD
00001f27: DUP2
00001f28: SWAP1
00001f29: PUSH1 0x01
00001f2b: SWAP1
00001f2c: PUSH1 0xff
00001f2e: AND
00001f2f: PUSH1 0x03
00001f31: DUP2
00001f32: GT
00001f33: ISZERO
00001f34: PUSH2 0x1f3f
00001f37: JUMPI
00001f38: PUSH2 0x1f3f
00001f3b: PUSH2 0x3dd1
00001f3e: JUMP
00001f3f: JUMPDEST
00001f40: EQ
00001f41: PUSH2 0x1f48
00001f44: JUMPI
00001f45: POP
00001f46: POP
00001f47: JUMP
00001f48: JUMPDEST
00001f49: PUSH1 0x01
00001f4b: PUSH1 0x01
00001f4d: PUSH1 0xa0
00001f4f: SHL
00001f50: SUB
00001f51: DUP3
00001f52: AND
00001f53: PUSH0
00001f54: SWAP1
00001f55: DUP2
00001f56: MSTORE
00001f57: PUSH0
00001f58: DUP1
00001f59: MLOAD
00001f5a: PUSH1 0x20
00001f5c: PUSH2 0x47d4
00001f5f: DUP4
00001f60: CODECOPY
00001f61: DUP2
00001f62: MLOAD
00001f63: SWAP2
00001f64: MSTORE
00001f65: PUSH1 0x20
00001f67: MSTORE
00001f68: PUSH1 0x40
00001f6a: SWAP1
00001f6b: KECCAK256
00001f6c: PUSH1 0x01
00001f6e: DUP2
00001f6f: ADD
00001f70: SLOAD
00001f71: PUSH2 0x1f78
00001f74: PUSH2 0x2738
00001f77: JUMP
00001f78: JUMPDEST
00001f79: PUSH1 0x01
00001f7b: PUSH1 0x01
00001f7d: PUSH1 0xa0
00001f7f: SHL
00001f80: SUB
00001f81: AND
00001f82: PUSH4 0x77c7d7a9
00001f87: DUP3
00001f88: PUSH1 0x40
00001f8a: MLOAD
00001f8b: DUP3
00001f8c: PUSH4 0xffffffff
00001f91: AND
00001f92: PUSH1 0xe0
00001f94: SHL
00001f95: DUP2
00001f96: MSTORE
00001f97: PUSH1 0x04
00001f99: ADD
00001f9a: PUSH2 0x1fa5
00001f9d: SWAP2
00001f9e: DUP2
00001f9f: MSTORE
00001fa0: PUSH1 0x20
00001fa2: ADD
00001fa3: SWAP1
00001fa4: JUMP
00001fa5: JUMPDEST
00001fa6: PUSH1 0x20
00001fa8: PUSH1 0x40
00001faa: MLOAD
00001fab: DUP1
00001fac: DUP4
00001fad: SUB
00001fae: DUP2
00001faf: DUP7
00001fb0: GAS
00001fb1: STATICCALL
00001fb2: ISZERO
00001fb3: DUP1
00001fb4: ISZERO
00001fb5: PUSH2 0x1fc0
00001fb8: JUMPI
00001fb9: RETURNDATASIZE
00001fba: PUSH0
00001fbb: DUP1
00001fbc: RETURNDATACOPY
00001fbd: RETURNDATASIZE
00001fbe: PUSH0
00001fbf: REVERT
00001fc0: JUMPDEST
00001fc1: POP
00001fc2: POP
00001fc3: POP
00001fc4: POP
00001fc5: PUSH1 0x40
00001fc7: MLOAD
00001fc8: RETURNDATASIZE
00001fc9: PUSH1 0x1f
00001fcb: NOT
00001fcc: PUSH1 0x1f
00001fce: DUP3
00001fcf: ADD
00001fd0: AND
00001fd1: DUP3
00001fd2: ADD
00001fd3: DUP1
00001fd4: PUSH1 0x40
00001fd6: MSTORE
00001fd7: POP
00001fd8: DUP2
00001fd9: ADD
00001fda: SWAP1
00001fdb: PUSH2 0x1fe4
00001fde: SWAP2
00001fdf: SWAP1
00001fe0: PUSH2 0x4113
00001fe3: JUMP
00001fe4: JUMPDEST
00001fe5: PUSH0
00001fe6: SUB
00001fe7: PUSH2 0x1ffa
00001fea: JUMPI
00001feb: DUP2
00001fec: SLOAD
00001fed: PUSH1 0xff
00001fef: NOT
00001ff0: AND
00001ff1: PUSH1 0x02
00001ff3: OR
00001ff4: DUP3
00001ff5: SSTORE
00001ff6: PUSH2 0x2111
00001ff9: JUMP
00001ffa: JUMPDEST
00001ffb: DUP2
00001ffc: PUSH1 0x02
00001ffe: ADD
00001fff: SLOAD
00002000: TIMESTAMP
00002001: GT
00002002: ISZERO
00002003: PUSH2 0x2111
00002006: JUMPI
00002007: PUSH1 0x01
00002009: PUSH1 0x01
0000200b: PUSH1 0xa0
0000200d: SHL
0000200e: SUB
0000200f: DUP5
00002010: AND
00002011: PUSH0
00002012: SWAP1
00002013: DUP2
00002014: MSTORE
00002015: PUSH0
00002016: DUP1
00002017: MLOAD
00002018: PUSH1 0x20
0000201a: PUSH2 0x47d4
0000201d: DUP4
0000201e: CODECOPY
0000201f: DUP2
00002020: MLOAD
00002021: SWAP2
00002022: MSTORE
00002023: PUSH1 0x20
00002025: MSTORE
00002026: PUSH1 0x40
00002028: DUP2
00002029: KECCAK256
0000202a: DUP1
0000202b: SLOAD
0000202c: PUSH1 0xff
0000202e: NOT
0000202f: SWAP1
00002030: DUP2
00002031: AND
00002032: DUP3
00002033: SSTORE
00002034: PUSH1 0x01
00002036: DUP3
00002037: ADD
00002038: DUP4
00002039: SWAP1
0000203a: SSTORE
0000203b: PUSH1 0x02
0000203d: DUP3
0000203e: ADD
0000203f: DUP4
00002040: SWAP1
00002041: SSTORE
00002042: PUSH1 0x03
00002044: DUP3
00002045: ADD
00002046: DUP4
00002047: SWAP1
00002048: SSTORE
00002049: PUSH1 0x04
0000204b: SWAP1
0000204c: SWAP2
0000204d: ADD
0000204e: DUP1
0000204f: SLOAD
00002050: SWAP1
00002051: SWAP2
00002052: AND
00002053: SWAP1
00002054: SSTORE
00002055: PUSH2 0x205c
00002058: PUSH2 0x2884
0000205b: JUMP
0000205c: JUMPDEST
0000205d: PUSH1 0x01
0000205f: PUSH1 0x01
00002061: PUSH1 0xa0
00002063: SHL
00002064: SUB
00002065: AND
00002066: PUSH4 0x5ab1bd53
0000206b: PUSH1 0x40
0000206d: MLOAD
0000206e: DUP2
0000206f: PUSH4 0xffffffff
00002074: AND
00002075: PUSH1 0xe0
00002077: SHL
00002078: DUP2
00002079: MSTORE
0000207a: PUSH1 0x04
0000207c: ADD
0000207d: PUSH1 0x20
0000207f: PUSH1 0x40
00002081: MLOAD
00002082: DUP1
00002083: DUP4
00002084: SUB
00002085: DUP2
00002086: DUP7
00002087: GAS
00002088: STATICCALL
00002089: ISZERO
0000208a: DUP1
0000208b: ISZERO
0000208c: PUSH2 0x2097
0000208f: JUMPI
00002090: RETURNDATASIZE
00002091: PUSH0
00002092: DUP1
00002093: RETURNDATACOPY
00002094: RETURNDATASIZE
00002095: PUSH0
00002096: REVERT
00002097: JUMPDEST
00002098: POP
00002099: POP
0000209a: POP
0000209b: POP
0000209c: PUSH1 0x40
0000209e: MLOAD
0000209f: RETURNDATASIZE
000020a0: PUSH1 0x1f
000020a2: NOT
000020a3: PUSH1 0x1f
000020a5: DUP3
000020a6: ADD
000020a7: AND
000020a8: DUP3
000020a9: ADD
000020aa: DUP1
000020ab: PUSH1 0x40
000020ad: MSTORE
000020ae: POP
000020af: DUP2
000020b0: ADD
000020b1: SWAP1
000020b2: PUSH2 0x20bb
000020b5: SWAP2
000020b6: SWAP1
000020b7: PUSH2 0x4203
000020ba: JUMP
000020bb: JUMPDEST
000020bc: PUSH1 0x40
000020be: MLOAD
000020bf: PUSH4 0x0caca051
000020c4: PUSH1 0xe3
000020c6: SHL
000020c7: DUP2
000020c8: MSTORE
000020c9: PUSH1 0x01
000020cb: PUSH1 0x01
000020cd: PUSH1 0xa0
000020cf: SHL
000020d0: SUB
000020d1: DUP8
000020d2: DUP2
000020d3: AND
000020d4: PUSH1 0x04
000020d6: DUP4
000020d7: ADD
000020d8: MSTORE
000020d9: SWAP2
000020da: SWAP3
000020db: POP
000020dc: SWAP1
000020dd: DUP3
000020de: AND
000020df: SWAP1
000020e0: PUSH4 0x65650288
000020e5: SWAP1
000020e6: PUSH1 0x24
000020e8: ADD
000020e9: PUSH0
000020ea: PUSH1 0x40
000020ec: MLOAD
000020ed: DUP1
000020ee: DUP4
000020ef: SUB
000020f0: DUP2
000020f1: PUSH0
000020f2: DUP8
000020f3: DUP1
000020f4: EXTCODESIZE
000020f5: ISZERO
000020f6: DUP1
000020f7: ISZERO
000020f8: PUSH2 0x20ff
000020fb: JUMPI
000020fc: PUSH0
000020fd: DUP1
000020fe: REVERT
000020ff: JUMPDEST
00002100: POP
00002101: GAS
00002102: CALL
00002103: ISZERO
00002104: DUP1
00002105: ISZERO
00002106: PUSH2 0x11dc
00002109: JUMPI
0000210a: RETURNDATASIZE
0000210b: PUSH0
0000210c: DUP1
0000210d: RETURNDATACOPY
0000210e: RETURNDATASIZE
0000210f: PUSH0
00002110: REVERT
00002111: JUMPDEST
00002112: POP
00002113: POP
00002114: POP
00002115: POP
00002116: JUMP
00002117: JUMPDEST
00002118: PUSH2 0x2120
0000211b: CALLER
0000211c: PUSH2 0x12e3
0000211f: JUMP
00002120: JUMPDEST
00002121: PUSH2 0x2160
00002124: JUMPI
00002125: PUSH1 0x40
00002127: MLOAD
00002128: PUSH3 0x461bcd
0000212c: PUSH1 0xe5
0000212e: SHL
0000212f: DUP2
00002130: MSTORE
00002131: PUSH1 0x20
00002133: PUSH1 0x04
00002135: DUP3
00002136: ADD
00002137: MSTORE
00002138: PUSH1 0x11
0000213a: PUSH1 0x24
0000213c: DUP3
0000213d: ADD
0000213e: MSTORE
0000213f: PUSH17 0x27a7262cafa0a8282fa3a7ab22a92727a9
00002151: PUSH1 0x79
00002153: SHL
00002154: PUSH1 0x44
00002156: DUP3
00002157: ADD
00002158: MSTORE
00002159: PUSH1 0x64
0000215b: ADD
0000215c: PUSH2 0x0b55
0000215f: JUMP
00002160: JUMPDEST
00002161: DUP1
00002162: PUSH0
00002163: SUB
00002164: PUSH2 0x21af
00002167: JUMPI
00002168: PUSH1 0x40
0000216a: MLOAD
0000216b: PUSH3 0x461bcd
0000216f: PUSH1 0xe5
00002171: SHL
00002172: DUP2
00002173: MSTORE
00002174: PUSH1 0x20
00002176: PUSH1 0x04
00002178: DUP3
00002179: ADD
0000217a: MSTORE
0000217b: PUSH1 0x19
0000217d: PUSH1 0x24
0000217f: DUP3
00002180: ADD
00002181: MSTORE
00002182: PUSH32 0x494e56414c49445f4d41585f544f54414c5f42414c414e434500000000000000
000021a3: PUSH1 0x44
000021a5: DUP3
000021a6: ADD
000021a7: MSTORE
000021a8: PUSH1 0x64
000021aa: ADD
000021ab: PUSH2 0x0b55
000021ae: JUMP
000021af: JUMPDEST
000021b0: DUP2
000021b1: PUSH1 0x01
000021b3: PUSH1 0x01
000021b5: PUSH1 0xa0
000021b7: SHL
000021b8: SUB
000021b9: AND
000021ba: PUSH32 0xb895637c7d86c9b7b5b747e72195206a3fc21d8df0e019edd2312454ffa733b1
000021db: DUP3
000021dc: PUSH1 0x40
000021de: MLOAD
000021df: PUSH2 0x21ea
000021e2: SWAP2
000021e3: DUP2
000021e4: MSTORE
000021e5: PUSH1 0x20
000021e7: ADD
000021e8: SWAP1
000021e9: JUMP
000021ea: JUMPDEST
000021eb: PUSH1 0x40
000021ed: MLOAD
000021ee: DUP1
000021ef: SWAP2
000021f0: SUB
000021f1: SWAP1
000021f2: LOG2
000021f3: PUSH1 0x01
000021f5: PUSH1 0x01
000021f7: PUSH1 0xa0
000021f9: SHL
000021fa: SUB
000021fb: SWAP2
000021fc: SWAP1
000021fd: SWAP2
000021fe: AND
000021ff: PUSH0
00002200: SWAP1
00002201: DUP2
00002202: MSTORE
00002203: PUSH0
00002204: DUP1
00002205: MLOAD
00002206: PUSH1 0x20
00002208: PUSH2 0x47d4
0000220b: DUP4
0000220c: CODECOPY
0000220d: DUP2
0000220e: MLOAD
0000220f: SWAP2
00002210: MSTORE
00002211: PUSH1 0x20
00002213: MSTORE
00002214: PUSH1 0x40
00002216: SWAP1
00002217: KECCAK256
00002218: PUSH1 0x03
0000221a: ADD
0000221b: SSTORE
0000221c: JUMP
0000221d: JUMPDEST
0000221e: PUSH2 0x0a95
00002221: PUSH0
00002222: DUP1
00002223: MLOAD
00002224: PUSH1 0x20
00002226: PUSH2 0x46fa
00002229: DUP4
0000222a: CODECOPY
0000222b: DUP2
0000222c: MLOAD
0000222d: SWAP2
0000222e: MSTORE
0000222f: DUP3
00002230: PUSH2 0x27ee
00002233: JUMP
00002234: JUMPDEST
00002235: PUSH2 0x0a95
00002238: PUSH0
00002239: DUP1
0000223a: MLOAD
0000223b: PUSH1 0x20
0000223d: PUSH2 0x4653
00002240: DUP4
00002241: CODECOPY
00002242: DUP2
00002243: MLOAD
00002244: SWAP2
00002245: MSTORE
00002246: DUP3
00002247: PUSH2 0x27ee
0000224a: JUMP
0000224b: JUMPDEST
0000224c: PUSH1 0x40
0000224e: DUP1
0000224f: MLOAD
00002250: PUSH0
00002251: DUP1
00002252: DUP3
00002253: MSTORE
00002254: PUSH1 0x20
00002256: DUP3
00002257: ADD
00002258: SWAP1
00002259: SWAP3
0000225a: MSTORE
0000225b: SWAP1
0000225c: PUSH2 0x2263
0000225f: PUSH2 0x23a9
00002262: JUMP
00002263: JUMPDEST
00002264: SWAP1
00002265: POP
00002266: PUSH0
00002267: PUSH2 0x2270
0000226a: DUP3
0000226b: DUP7
0000226c: PUSH2 0x23ec
0000226f: JUMP
00002270: JUMPDEST
00002271: SWAP1
00002272: POP
00002273: PUSH0
00002274: PUSH2 0x228e
00002277: DUP4
00002278: DUP8
00002279: DUP8
0000227a: DUP8
0000227b: PUSH0
0000227c: DUP1
0000227d: MLOAD
0000227e: PUSH1 0x20
00002280: PUSH2 0x47b4
00002283: DUP4
00002284: CODECOPY
00002285: DUP2
00002286: MLOAD
00002287: SWAP2
00002288: MSTORE
00002289: DUP8
0000228a: PUSH2 0x24a3
0000228d: JUMP
0000228e: JUMPDEST
0000228f: SWAP1
00002290: POP
00002291: PUSH2 0x22ac
00002294: DUP4
00002295: DUP8
00002296: DUP8
00002297: DUP8
00002298: PUSH0
00002299: DUP1
0000229a: MLOAD
0000229b: PUSH1 0x20
0000229d: PUSH2 0x47b4
000022a0: DUP4
000022a1: CODECOPY
000022a2: DUP2
000022a3: MLOAD
000022a4: SWAP2
000022a5: MSTORE
000022a6: DUP7
000022a7: DUP9
000022a8: PUSH2 0x2625
000022ab: JUMP
000022ac: JUMPDEST
000022ad: PUSH1 0x40
000022af: DUP1
000022b0: MLOAD
000022b1: DUP8
000022b2: DUP2
000022b3: MSTORE
000022b4: PUSH1 0x20
000022b6: DUP2
000022b7: ADD
000022b8: DUP4
000022b9: SWAP1
000022ba: MSTORE
000022bb: SWAP1
000022bc: DUP2
000022bd: ADD
000022be: DUP4
000022bf: SWAP1
000022c0: MSTORE
000022c1: DUP6
000022c2: SWAP1
000022c3: CALLER
000022c4: SWAP1
000022c5: PUSH32 0x5b5dbc6c64043a15d3fe6943a6e443a826b78755edc257b2ec890c022225dbcf
000022e6: SWAP1
000022e7: PUSH1 0x60
000022e9: ADD
000022ea: PUSH1 0x40
000022ec: MLOAD
000022ed: DUP1
000022ee: SWAP2
000022ef: SUB
000022f0: SWAP1
000022f1: LOG3
000022f2: POP
000022f3: POP
000022f4: POP
000022f5: POP
000022f6: POP
000022f7: POP
000022f8: JUMP
000022f9: JUMPDEST
000022fa: PUSH2 0x0a95
000022fd: PUSH0
000022fe: DUP1
000022ff: MLOAD
00002300: PUSH1 0x20
00002302: PUSH2 0x4673
00002305: DUP4
00002306: CODECOPY
00002307: DUP2
00002308: MLOAD
00002309: SWAP2
0000230a: MSTORE
0000230b: DUP3
0000230c: PUSH2 0x27ee
0000230f: JUMP
00002310: JUMPDEST
00002311: DUP1
00002312: CALLER
00002313: PUSH1 0x01
00002315: PUSH1 0x01
00002317: PUSH1 0xa0
00002319: SHL
0000231a: SUB
0000231b: DUP3
0000231c: AND
0000231d: SUB
0000231e: PUSH2 0x2339
00002321: JUMPI
00002322: PUSH1 0x40
00002324: MLOAD
00002325: PUSH3 0x461bcd
00002329: PUSH1 0xe5
0000232b: SHL
0000232c: DUP2
0000232d: MSTORE
0000232e: PUSH1 0x04
00002330: ADD
00002331: PUSH2 0x0b55
00002334: SWAP1
00002335: PUSH2 0x412a
00002338: JUMP
00002339: JUMPDEST
0000233a: PUSH2 0x0a7a
0000233d: PUSH0
0000233e: DUP1
0000233f: MLOAD
00002340: PUSH1 0x20
00002342: PUSH2 0x45ec
00002345: DUP4
00002346: CODECOPY
00002347: DUP2
00002348: MLOAD
00002349: SWAP2
0000234a: MSTORE
0000234b: DUP4
0000234c: PUSH2 0x27ee
0000234f: JUMP
00002350: JUMPDEST
00002351: PUSH1 0x60
00002353: PUSH1 0x40
00002355: MLOAD
00002356: DUP1
00002357: PUSH1 0x60
00002359: ADD
0000235a: PUSH1 0x40
0000235c: MSTORE
0000235d: DUP1
0000235e: PUSH1 0x21
00002360: DUP2
00002361: MSTORE
00002362: PUSH1 0x20
00002364: ADD
00002365: PUSH2 0x485d
00002368: PUSH1 0x21
0000236a: SWAP2
0000236b: CODECOPY
0000236c: SWAP1
0000236d: POP
0000236e: SWAP1
0000236f: JUMP
00002370: JUMPDEST
00002371: PUSH2 0x0a7a
00002374: DUP3
00002375: DUP3
00002376: CALLER
00002377: PUSH2 0x13b5
0000237a: JUMP
0000237b: JUMPDEST
0000237c: PUSH2 0x0a95
0000237f: PUSH0
00002380: DUP1
00002381: MLOAD
00002382: PUSH1 0x20
00002384: PUSH2 0x483d
00002387: DUP4
00002388: CODECOPY
00002389: DUP2
0000238a: MLOAD
0000238b: SWAP2
0000238c: MSTORE
0000238d: DUP3
0000238e: PUSH2 0x27ee
00002391: JUMP
00002392: JUMPDEST
00002393: PUSH2 0x0a95
00002396: PUSH0
00002397: DUP1
00002398: MLOAD
00002399: PUSH1 0x20
0000239b: PUSH2 0x47f4
0000239e: DUP4
0000239f: CODECOPY
000023a0: DUP2
000023a1: MLOAD
000023a2: SWAP2
000023a3: MSTORE
000023a4: DUP3
000023a5: PUSH2 0x27ee
000023a8: JUMP
000023a9: JUMPDEST
000023aa: PUSH0
000023ab: PUSH2 0x0c8f
000023ae: PUSH1 0x40
000023b0: MLOAD
000023b1: DUP1
000023b2: PUSH1 0x60
000023b4: ADD
000023b5: PUSH1 0x40
000023b7: MSTORE
000023b8: DUP1
000023b9: PUSH1 0x29
000023bb: DUP2
000023bc: MSTORE
000023bd: PUSH1 0x20
000023bf: ADD
000023c0: PUSH2 0x4814
000023c3: PUSH1 0x29
000023c5: SWAP2
000023c6: CODECOPY
000023c7: PUSH2 0x3269
000023ca: JUMP
000023cb: JUMPDEST
000023cc: PUSH2 0x23d4
000023cf: DUP3
000023d0: PUSH2 0x329c
000023d3: JUMP
000023d4: JUMPDEST
000023d5: PUSH2 0x23dd
000023d8: DUP2
000023d9: PUSH2 0x32bc
000023dc: JUMP
000023dd: JUMPDEST
000023de: PUSH2 0x23e7
000023e1: DUP4
000023e2: DUP4
000023e3: PUSH2 0x32c6
000023e6: JUMP
000023e7: JUMPDEST
000023e8: POP
000023e9: POP
000023ea: POP
000023eb: JUMP
000023ec: JUMPDEST
000023ed: PUSH0
000023ee: DUP2
000023ef: CALLVALUE
000023f0: LT
000023f1: ISZERO
000023f2: PUSH2 0x2432
000023f5: JUMPI
000023f6: PUSH1 0x40
000023f8: MLOAD
000023f9: PUSH3 0x461bcd
000023fd: PUSH1 0xe5
000023ff: SHL
00002400: DUP2
00002401: MSTORE
00002402: PUSH1 0x20
00002404: PUSH1 0x04
00002406: DUP3
00002407: ADD
00002408: MSTORE
00002409: PUSH1 0x12
0000240b: PUSH1 0x24
0000240d: DUP3
0000240e: ADD
0000240f: MSTORE
00002410: PUSH18 0x494e53554646494349454e545f56414c5545
00002423: PUSH1 0x70
00002425: SHL
00002426: PUSH1 0x44
00002428: DUP3
00002429: ADD
0000242a: MSTORE
0000242b: PUSH1 0x64
0000242d: ADD
0000242e: PUSH2 0x0b55
00002431: JUMP
00002432: JUMPDEST
00002433: PUSH0
00002434: PUSH2 0x243d
00002437: DUP4
00002438: CALLVALUE
00002439: PUSH2 0x421e
0000243c: JUMP
0000243d: JUMPDEST
0000243e: SWAP1
0000243f: POP
00002440: PUSH2 0x2448
00002443: DUP2
00002444: PUSH2 0x333a
00002447: JUMP
00002448: JUMPDEST
00002449: PUSH2 0x2454
0000244c: PUSH3 0x455448
00002450: PUSH2 0x129e
00002453: JUMP
00002454: JUMPDEST
00002455: PUSH2 0x245e
00002458: DUP3
00002459: SELFBALANCE
0000245a: PUSH2 0x421e
0000245d: JUMP
0000245e: JUMPDEST
0000245f: GT
00002460: ISZERO
00002461: PUSH2 0x0af0
00002464: JUMPI
00002465: PUSH1 0x40
00002467: MLOAD
00002468: PUSH3 0x461bcd
0000246c: PUSH1 0xe5
0000246e: SHL
0000246f: DUP2
00002470: MSTORE
00002471: PUSH1 0x20
00002473: PUSH1 0x04
00002475: DUP3
00002476: ADD
00002477: MSTORE
00002478: PUSH1 0x14
0000247a: PUSH1 0x24
0000247c: DUP3
0000247d: ADD
0000247e: MSTORE
0000247f: PUSH20 0x13505617d09053105390d157d15610d151511151
00002494: PUSH1 0x62
00002496: SHL
00002497: PUSH1 0x44
00002499: DUP3
0000249a: ADD
0000249b: MSTORE
0000249c: PUSH1 0x64
0000249e: ADD
0000249f: PUSH2 0x0b55
000024a2: JUMP
000024a3: JUMPDEST
000024a4: PUSH0
000024a5: PUSH2 0x24ac
000024a8: PUSH2 0x275a
000024ab: JUMP
000024ac: JUMPDEST
000024ad: PUSH0
000024ae: SUB
000024af: PUSH2 0x24ee
000024b2: JUMPI
000024b3: PUSH1 0x40
000024b5: MLOAD
000024b6: PUSH3 0x461bcd
000024ba: PUSH1 0xe5
000024bc: SHL
000024bd: DUP2
000024be: MSTORE
000024bf: PUSH1 0x20
000024c1: PUSH1 0x04
000024c3: DUP3
000024c4: ADD
000024c5: MSTORE
000024c6: PUSH1 0x11
000024c8: PUSH1 0x24
000024ca: DUP3
000024cb: ADD
000024cc: MSTORE
000024cd: PUSH17 0x130c97d094925111d157d393d517d4d155
000024df: PUSH1 0x7a
000024e1: SHL
000024e2: PUSH1 0x44
000024e4: DUP3
000024e5: ADD
000024e6: MSTORE
000024e7: PUSH1 0x64
000024e9: ADD
000024ea: PUSH2 0x0b55
000024ed: JUMP
000024ee: JUMPDEST
000024ef: PUSH0
000024f0: DUP7
000024f1: GT
000024f2: PUSH2 0x252c
000024f5: JUMPI
000024f6: PUSH1 0x40
000024f8: MLOAD
000024f9: PUSH3 0x461bcd
000024fd: PUSH1 0xe5
000024ff: SHL
00002500: DUP2
00002501: MSTORE
00002502: PUSH1 0x20
00002504: PUSH1 0x04
00002506: DUP3
00002507: ADD
00002508: MSTORE
00002509: PUSH1 0x0c
0000250b: PUSH1 0x24
0000250d: DUP3
0000250e: ADD
0000250f: MSTORE
00002510: PUSH12 0x16915493d7d1115413d4d255
0000251d: PUSH1 0xa2
0000251f: SHL
00002520: PUSH1 0x44
00002522: DUP3
00002523: ADD
00002524: MSTORE
00002525: PUSH1 0x64
00002527: ADD
00002528: PUSH2 0x0b55
0000252b: JUMP
0000252c: JUMPDEST
0000252d: PUSH2 0x2535
00002530: DUP6
00002531: PUSH2 0x2fc8
00002534: JUMP
00002535: JUMPDEST
00002536: PUSH2 0x257b
00002539: JUMPI
0000253a: PUSH1 0x40
0000253c: MLOAD
0000253d: PUSH3 0x461bcd
00002541: PUSH1 0xe5
00002543: SHL
00002544: DUP2
00002545: MSTORE
00002546: PUSH1 0x20
00002548: PUSH1 0x04
0000254a: DUP3
0000254b: ADD
0000254c: MSTORE
0000254d: PUSH1 0x17
0000254f: PUSH1 0x24
00002551: DUP3
00002552: ADD
00002553: MSTORE
00002554: PUSH23 0x4c325f414444524553535f4f55545f4f465f52414e4745
0000256c: PUSH1 0x48
0000256e: SHL
0000256f: PUSH1 0x44
00002571: DUP3
00002572: ADD
00002573: MSTORE
00002574: PUSH1 0x64
00002576: ADD
00002577: PUSH2 0x0b55
0000257a: JUMP
0000257b: JUMPDEST
0000257c: PUSH0
0000257d: DUP1
0000257e: MLOAD
0000257f: PUSH1 0x20
00002581: PUSH2 0x46da
00002584: DUP4
00002585: CODECOPY
00002586: DUP2
00002587: MLOAD
00002588: SWAP2
00002589: MSTORE
0000258a: DUP4
0000258b: EQ
0000258c: PUSH0
0000258d: PUSH2 0x2594
00002590: PUSH2 0x2738
00002593: JUMP
00002594: JUMPDEST
00002595: PUSH1 0x01
00002597: PUSH1 0x01
00002599: PUSH1 0xa0
0000259b: SHL
0000259c: SUB
0000259d: AND
0000259e: PUSH4 0x3e3aa6c5
000025a3: DUP6
000025a4: PUSH2 0x25ab
000025a7: PUSH2 0x275a
000025aa: JUMP
000025ab: JUMPDEST
000025ac: DUP9
000025ad: PUSH2 0x25b9
000025b0: DUP15
000025b1: DUP15
000025b2: DUP15
000025b3: DUP11
000025b4: DUP16
000025b5: PUSH2 0x301e
000025b8: JUMP
000025b9: JUMPDEST
000025ba: PUSH1 0x40
000025bc: MLOAD
000025bd: DUP6
000025be: PUSH4 0xffffffff
000025c3: AND
000025c4: PUSH1 0xe0
000025c6: SHL
000025c7: DUP2
000025c8: MSTORE
000025c9: PUSH1 0x04
000025cb: ADD
000025cc: PUSH2 0x25d7
000025cf: SWAP4
000025d0: SWAP3
000025d1: SWAP2
000025d2: SWAP1
000025d3: PUSH2 0x4231
000025d6: JUMP
000025d7: JUMPDEST
000025d8: PUSH1 0x40
000025da: DUP1
000025db: MLOAD
000025dc: DUP1
000025dd: DUP4
000025de: SUB
000025df: DUP2
000025e0: DUP6
000025e1: DUP9
000025e2: GAS
000025e3: CALL
000025e4: ISZERO
000025e5: DUP1
000025e6: ISZERO
000025e7: PUSH2 0x25f2
000025ea: JUMPI
000025eb: RETURNDATASIZE
000025ec: PUSH0
000025ed: DUP1
000025ee: RETURNDATACOPY
000025ef: RETURNDATASIZE
000025f0: PUSH0
000025f1: REVERT
000025f2: JUMPDEST
000025f3: POP
000025f4: POP
000025f5: POP
000025f6: POP
000025f7: POP
000025f8: PUSH1 0x40
000025fa: MLOAD
000025fb: RETURNDATASIZE
000025fc: PUSH1 0x1f
000025fe: NOT
000025ff: PUSH1 0x1f
00002601: DUP3
00002602: ADD
00002603: AND
00002604: DUP3
00002605: ADD
00002606: DUP1
00002607: PUSH1 0x40
00002609: MSTORE
0000260a: POP
0000260b: DUP2
0000260c: ADD
0000260d: SWAP1
0000260e: PUSH2 0x2617
00002611: SWAP2
00002612: SWAP1
00002613: PUSH2 0x424f
00002616: JUMP
00002617: JUMPDEST
00002618: SWAP11
00002619: SWAP10
0000261a: POP
0000261b: POP
0000261c: POP
0000261d: POP
0000261e: POP
0000261f: POP
00002620: POP
00002621: POP
00002622: POP
00002623: POP
00002624: JUMP
00002625: JUMPDEST
00002626: PUSH0
00002627: DUP1
00002628: MLOAD
00002629: PUSH1 0x20
0000262b: PUSH2 0x47b4
0000262e: DUP4
0000262f: CODECOPY
00002630: DUP2
00002631: MLOAD
00002632: SWAP2
00002633: MSTORE
00002634: DUP4
00002635: SUB
00002636: PUSH2 0x268e
00002639: JUMPI
0000263a: PUSH1 0x40
0000263c: DUP1
0000263d: MLOAD
0000263e: DUP8
0000263f: DUP2
00002640: MSTORE
00002641: PUSH1 0x20
00002643: DUP2
00002644: ADD
00002645: DUP5
00002646: SWAP1
00002647: MSTORE
00002648: SWAP1
00002649: DUP2
0000264a: ADD
0000264b: DUP3
0000264c: SWAP1
0000264d: MSTORE
0000264e: DUP6
0000264f: SWAP1
00002650: PUSH1 0x01
00002652: PUSH1 0x01
00002654: PUSH1 0xa0
00002656: SHL
00002657: SUB
00002658: DUP10
00002659: AND
0000265a: SWAP1
0000265b: CALLER
0000265c: SWAP1
0000265d: PUSH32 0x5f971bd00bf3ffbca8a6d72cdd4fd92cfd4f62636161921d1e5a64f0b64ccb6d
0000267e: SWAP1
0000267f: PUSH1 0x60
00002681: ADD
00002682: PUSH1 0x40
00002684: MLOAD
00002685: DUP1
00002686: SWAP2
00002687: SUB
00002688: SWAP1
00002689: LOG4
0000268a: PUSH2 0x0bbd
0000268d: JUMP
0000268e: JUMPDEST
0000268f: PUSH0
00002690: DUP1
00002691: MLOAD
00002692: PUSH1 0x20
00002694: PUSH2 0x46da
00002697: DUP4
00002698: CODECOPY
00002699: DUP2
0000269a: MLOAD
0000269b: SWAP2
0000269c: MSTORE
0000269d: DUP4
0000269e: EQ
0000269f: PUSH2 0x26dd
000026a2: JUMPI
000026a3: PUSH1 0x40
000026a5: MLOAD
000026a6: PUSH3 0x461bcd
000026aa: PUSH1 0xe5
000026ac: SHL
000026ad: DUP2
000026ae: MSTORE
000026af: PUSH1 0x20
000026b1: PUSH1 0x04
000026b3: DUP3
000026b4: ADD
000026b5: MSTORE
000026b6: PUSH1 0x10
000026b8: PUSH1 0x24
000026ba: DUP3
000026bb: ADD
000026bc: MSTORE
000026bd: PUSH16 0x2aa725a727aba72fa9a2a622a1aa27a9
000026ce: PUSH1 0x81
000026d0: SHL
000026d1: PUSH1 0x44
000026d3: DUP3
000026d4: ADD
000026d5: MSTORE
000026d6: PUSH1 0x64
000026d8: ADD
000026d9: PUSH2 0x0b55
000026dc: JUMP
000026dd: JUMPDEST
000026de: DUP5
000026df: DUP8
000026e0: PUSH1 0x01
000026e2: PUSH1 0x01
000026e4: PUSH1 0xa0
000026e6: SHL
000026e7: SUB
000026e8: AND
000026e9: CALLER
000026ea: PUSH1 0x01
000026ec: PUSH1 0x01
000026ee: PUSH1 0xa0
000026f0: SHL
000026f1: SUB
000026f2: AND
000026f3: PUSH32 0x2203a49c69f1a46c1164f5e4a30643dd77b7c59c0ff9bc433256048365c247f1
00002714: DUP10
00002715: DUP9
00002716: DUP8
00002717: DUP8
00002718: PUSH1 0x40
0000271a: MLOAD
0000271b: PUSH2 0x2727
0000271e: SWAP5
0000271f: SWAP4
00002720: SWAP3
00002721: SWAP2
00002722: SWAP1
00002723: PUSH2 0x4271
00002726: JUMP
00002727: JUMPDEST
00002728: PUSH1 0x40
0000272a: MLOAD
0000272b: DUP1
0000272c: SWAP2
0000272d: SUB
0000272e: SWAP1
0000272f: LOG4
00002730: POP
00002731: POP
00002732: POP
00002733: POP
00002734: POP
00002735: POP
00002736: POP
00002737: JUMP
00002738: JUMPDEST
00002739: PUSH0
0000273a: PUSH2 0x0c8f
0000273d: PUSH1 0x40
0000273f: MLOAD
00002740: DUP1
00002741: PUSH1 0x60
00002743: ADD
00002744: PUSH1 0x40
00002746: MSTORE
00002747: DUP1
00002748: PUSH1 0x28
0000274a: DUP2
0000274b: MSTORE
0000274c: PUSH1 0x20
0000274e: ADD
0000274f: PUSH2 0x45c4
00002752: PUSH1 0x28
00002754: SWAP2
00002755: CODECOPY
00002756: PUSH2 0x3269
00002759: JUMP
0000275a: JUMPDEST
0000275b: PUSH0
0000275c: PUSH2 0x0c8f
0000275f: PUSH1 0x40
00002761: MLOAD
00002762: DUP1
00002763: PUSH1 0x60
00002765: ADD
00002766: PUSH1 0x40
00002768: MSTORE
00002769: DUP1
0000276a: PUSH1 0x27
0000276c: DUP2
0000276d: MSTORE
0000276e: PUSH1 0x20
00002770: ADD
00002771: PUSH2 0x46b3
00002774: PUSH1 0x27
00002776: SWAP2
00002777: CODECOPY
00002778: PUSH2 0x3269
0000277b: JUMP
0000277c: JUMPDEST
0000277d: PUSH1 0x40
0000277f: DUP1
00002780: MLOAD
00002781: PUSH0
00002782: DUP1
00002783: DUP3
00002784: MSTORE
00002785: PUSH1 0x20
00002787: DUP3
00002788: ADD
00002789: SWAP1
0000278a: SWAP3
0000278b: MSTORE
0000278c: PUSH1 0x60
0000278e: SWAP2
0000278f: POP
00002790: PUSH2 0x279c
00002793: DUP6
00002794: DUP6
00002795: DUP6
00002796: PUSH0
00002797: DUP6
00002798: PUSH2 0x301e
0000279b: JUMP
0000279c: JUMPDEST
0000279d: SWAP6
0000279e: SWAP5
0000279f: POP
000027a0: POP
000027a1: POP
000027a2: POP
000027a3: POP
000027a4: JUMP
000027a5: JUMPDEST
000027a6: PUSH2 0x23e7
000027a9: PUSH1 0x01
000027ab: PUSH1 0x01
000027ad: PUSH1 0xa0
000027af: SHL
000027b0: SUB
000027b1: DUP3
000027b2: AND
000027b3: DUP4
000027b4: PUSH2 0x33ef
000027b7: JUMP
000027b8: JUMPDEST
000027b9: PUSH0
000027ba: SWAP2
000027bb: DUP3
000027bc: MSTORE
000027bd: PUSH0
000027be: DUP1
000027bf: MLOAD
000027c0: PUSH1 0x20
000027c2: PUSH2 0x4693
000027c5: DUP4
000027c6: CODECOPY
000027c7: DUP2
000027c8: MLOAD
000027c9: SWAP2
000027ca: MSTORE
000027cb: PUSH1 0x20
000027cd: SWAP1
000027ce: DUP2
000027cf: MSTORE
000027d0: PUSH1 0x40
000027d2: DUP1
000027d3: DUP5
000027d4: KECCAK256
000027d5: PUSH1 0x01
000027d7: PUSH1 0x01
000027d9: PUSH1 0xa0
000027db: SHL
000027dc: SUB
000027dd: SWAP4
000027de: SWAP1
000027df: SWAP4
000027e0: AND
000027e1: DUP5
000027e2: MSTORE
000027e3: SWAP2
000027e4: SWAP1
000027e5: MSTORE
000027e6: SWAP1
000027e7: KECCAK256
000027e8: SLOAD
000027e9: PUSH1 0xff
000027eb: AND
000027ec: SWAP1
000027ed: JUMP
000027ee: JUMPDEST
000027ef: PUSH2 0x27f7
000027f2: DUP3
000027f3: PUSH2 0x329c
000027f6: JUMP
000027f7: JUMPDEST
000027f8: PUSH2 0x2800
000027fb: DUP2
000027fc: PUSH2 0x32bc
000027ff: JUMP
00002800: JUMPDEST
00002801: PUSH2 0x23e7
00002804: DUP4
00002805: DUP4
00002806: PUSH2 0x348f
00002809: JUMP
0000280a: JUMPDEST
0000280b: PUSH1 0x01
0000280d: PUSH1 0x01
0000280f: PUSH1 0xa0
00002811: SHL
00002812: SUB
00002813: DUP2
00002814: AND
00002815: CALLER
00002816: EQ
00002817: PUSH2 0x287a
0000281a: JUMPI
0000281b: PUSH1 0x40
0000281d: MLOAD
0000281e: PUSH3 0x461bcd
00002822: PUSH1 0xe5
00002824: SHL
00002825: DUP2
00002826: MSTORE
00002827: PUSH1 0x20
00002829: PUSH1 0x04
0000282b: DUP3
0000282c: ADD
0000282d: MSTORE
0000282e: PUSH1 0x2f
00002830: PUSH1 0x24
00002832: DUP3
00002833: ADD
00002834: MSTORE
00002835: PUSH32 0x416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365
00002856: PUSH1 0x44
00002858: DUP3
00002859: ADD
0000285a: MSTORE
0000285b: PUSH15 0x103937b632b9903337b91039b2b633
0000286b: PUSH1 0x89
0000286d: SHL
0000286e: PUSH1 0x64
00002870: DUP3
00002871: ADD
00002872: MSTORE
00002873: PUSH1 0x84
00002875: ADD
00002876: PUSH2 0x0b55
00002879: JUMP
0000287a: JUMPDEST
0000287b: PUSH2 0x0a7a
0000287e: DUP3
0000287f: DUP3
00002880: PUSH2 0x348f
00002883: JUMP
00002884: JUMPDEST
00002885: PUSH0
00002886: PUSH2 0x0c8f
00002889: PUSH1 0x40
0000288b: MLOAD
0000288c: DUP1
0000288d: PUSH1 0x60
0000288f: ADD
00002890: PUSH1 0x40
00002892: MSTORE
00002893: DUP1
00002894: PUSH1 0x26
00002896: DUP2
00002897: MSTORE
00002898: PUSH1 0x20
0000289a: ADD
0000289b: PUSH2 0x473a
0000289e: PUSH1 0x26
000028a0: SWAP2
000028a1: CODECOPY
000028a2: PUSH2 0x3269
000028a5: JUMP
000028a6: JUMPDEST
000028a7: PUSH1 0x01
000028a9: PUSH1 0x01
000028ab: PUSH1 0xa0
000028ad: SHL
000028ae: SUB
000028af: DUP4
000028b0: AND
000028b1: EXTCODESIZE
000028b2: PUSH2 0x28f2
000028b5: JUMPI
000028b6: PUSH1 0x40
000028b8: MLOAD
000028b9: PUSH3 0x461bcd
000028bd: PUSH1 0xe5
000028bf: SHL
000028c0: DUP2
000028c1: MSTORE
000028c2: PUSH1 0x20
000028c4: PUSH1 0x04
000028c6: DUP3
000028c7: ADD
000028c8: MSTORE
000028c9: PUSH1 0x12
000028cb: PUSH1 0x24
000028cd: DUP3
000028ce: ADD
000028cf: MSTORE
000028d0: PUSH18 0x115250d7d393d517d057d0d3d395149050d5
000028e3: PUSH1 0x72
000028e5: SHL
000028e6: PUSH1 0x44
000028e8: DUP3
000028e9: ADD
000028ea: MSTORE
000028eb: PUSH1 0x64
000028ed: ADD
000028ee: PUSH2 0x0b55
000028f1: JUMP
000028f2: JUMPDEST
000028f3: PUSH0
000028f4: DUP1
000028f5: DUP5
000028f6: PUSH1 0x01
000028f8: PUSH1 0x01
000028fa: PUSH1 0xa0
000028fc: SHL
000028fd: SUB
000028fe: AND
000028ff: PUSH4 0x439fab91
00002904: PUSH1 0xe0
00002906: SHL
00002907: DUP6
00002908: DUP6
00002909: PUSH1 0x40
0000290b: MLOAD
0000290c: PUSH1 0x24
0000290e: ADD
0000290f: PUSH2 0x2919
00002912: SWAP3
00002913: SWAP2
00002914: SWAP1
00002915: PUSH2 0x429c
00002918: JUMP
00002919: JUMPDEST
0000291a: PUSH1 0x40
0000291c: DUP1
0000291d: MLOAD
0000291e: PUSH1 0x1f
00002920: NOT
00002921: DUP2
00002922: DUP5
00002923: SUB
00002924: ADD
00002925: DUP2
00002926: MSTORE
00002927: SWAP2
00002928: DUP2
00002929: MSTORE
0000292a: PUSH1 0x20
0000292c: DUP3
0000292d: ADD
0000292e: DUP1
0000292f: MLOAD
00002930: PUSH1 0x01
00002932: PUSH1 0x01
00002934: PUSH1 0xe0
00002936: SHL
00002937: SUB
00002938: AND
00002939: PUSH1 0x01
0000293b: PUSH1 0x01
0000293d: PUSH1 0xe0
0000293f: SHL
00002940: SUB
00002941: NOT
00002942: SWAP1
00002943: SWAP5
00002944: AND
00002945: SWAP4
00002946: SWAP1
00002947: SWAP4
00002948: OR
00002949: SWAP1
0000294a: SWAP3
0000294b: MSTORE
0000294c: SWAP1
0000294d: MLOAD
0000294e: PUSH2 0x2957
00002951: SWAP2
00002952: SWAP1
00002953: PUSH2 0x42ca
00002956: JUMP
00002957: JUMPDEST
00002958: PUSH0
00002959: PUSH1 0x40
0000295b: MLOAD
0000295c: DUP1
0000295d: DUP4
0000295e: SUB
0000295f: DUP2
00002960: DUP6
00002961: GAS
00002962: DELEGATECALL
00002963: SWAP2
00002964: POP
00002965: POP
00002966: RETURNDATASIZE
00002967: DUP1
00002968: PUSH0
00002969: DUP2
0000296a: EQ
0000296b: PUSH2 0x298f
0000296e: JUMPI
0000296f: PUSH1 0x40
00002971: MLOAD
00002972: SWAP2
00002973: POP
00002974: PUSH1 0x1f
00002976: NOT
00002977: PUSH1 0x3f
00002979: RETURNDATASIZE
0000297a: ADD
0000297b: AND
0000297c: DUP3
0000297d: ADD
0000297e: PUSH1 0x40
00002980: MSTORE
00002981: RETURNDATASIZE
00002982: DUP3
00002983: MSTORE
00002984: RETURNDATASIZE
00002985: PUSH0
00002986: PUSH1 0x20
00002988: DUP5
00002989: ADD
0000298a: RETURNDATACOPY
0000298b: PUSH2 0x2994
0000298e: JUMP
0000298f: JUMPDEST
00002990: PUSH1 0x60
00002992: SWAP2
00002993: POP
00002994: JUMPDEST
00002995: POP
00002996: SWAP2
00002997: POP
00002998: SWAP2
00002999: POP
0000299a: DUP2
0000299b: DUP2
0000299c: SWAP1
0000299d: PUSH2 0x29b9
000029a0: JUMPI
000029a1: PUSH1 0x40
000029a3: MLOAD
000029a4: PUSH3 0x461bcd
000029a8: PUSH1 0xe5
000029aa: SHL
000029ab: DUP2
000029ac: MSTORE
000029ad: PUSH1 0x04
000029af: ADD
000029b0: PUSH2 0x0b55
000029b3: SWAP2
000029b4: SWAP1
000029b5: PUSH2 0x4065
000029b8: JUMP
000029b9: JUMPDEST
000029ba: POP
000029bb: DUP1
000029bc: MLOAD
000029bd: DUP2
000029be: SWAP1
000029bf: ISZERO
000029c0: PUSH2 0x29dc
000029c3: JUMPI
000029c4: PUSH1 0x40
000029c6: MLOAD
000029c7: PUSH3 0x461bcd
000029cb: PUSH1 0xe5
000029cd: SHL
000029ce: DUP2
000029cf: MSTORE
000029d0: PUSH1 0x04
000029d2: ADD
000029d3: PUSH2 0x0b55
000029d6: SWAP2
000029d7: SWAP1
000029d8: PUSH2 0x4065
000029db: JUMP
000029dc: JUMPDEST
000029dd: POP
000029de: POP
000029df: POP
000029e0: POP
000029e1: POP
000029e2: POP
000029e3: JUMP
000029e4: JUMPDEST
000029e5: PUSH0
000029e6: DUP1
000029e7: PUSH2 0x29ee
000029ea: PUSH2 0x2738
000029ed: JUMP
000029ee: JUMPDEST
000029ef: PUSH1 0x01
000029f1: PUSH1 0x01
000029f3: PUSH1 0xa0
000029f5: SHL
000029f6: SUB
000029f7: AND
000029f8: EQ
000029f9: ISZERO
000029fa: SWAP1
000029fb: POP
000029fc: SWAP1
000029fd: JUMP
000029fe: JUMPDEST
000029ff: PUSH1 0x40
00002a01: DUP2
00002a02: EQ
00002a03: PUSH2 0x2a42
00002a06: JUMPI
00002a07: PUSH1 0x40
00002a09: MLOAD
00002a0a: PUSH3 0x461bcd
00002a0e: PUSH1 0xe5
00002a10: SHL
00002a11: DUP2
00002a12: MSTORE
00002a13: PUSH1 0x20
00002a15: PUSH1 0x04
00002a17: DUP3
00002a18: ADD
00002a19: MSTORE
00002a1a: PUSH1 0x11
00002a1c: PUSH1 0x24
00002a1e: DUP3
00002a1f: ADD
00002a20: MSTORE
00002a21: PUSH17 0x494c4c4547414c5f444154415f53495a45
00002a33: PUSH1 0x78
00002a35: SHL
00002a36: PUSH1 0x44
00002a38: DUP3
00002a39: ADD
00002a3a: MSTORE
00002a3b: PUSH1 0x64
00002a3d: ADD
00002a3e: PUSH2 0x0b55
00002a41: JUMP
00002a42: JUMPDEST
00002a43: PUSH0
00002a44: DUP1
00002a45: PUSH2 0x2a50
00002a48: DUP4
00002a49: DUP6
00002a4a: ADD
00002a4b: DUP6
00002a4c: PUSH2 0x42e5
00002a4f: JUMP
00002a50: JUMPDEST
00002a51: SWAP2
00002a52: POP
00002a53: SWAP2
00002a54: POP
00002a55: PUSH2 0x2a67
00002a58: DUP2
00002a59: PUSH1 0x01
00002a5b: PUSH1 0x01
00002a5d: PUSH1 0xa0
00002a5f: SHL
00002a60: SUB
00002a61: AND
00002a62: EXTCODESIZE
00002a63: ISZERO
00002a64: ISZERO
00002a65: SWAP1
00002a66: JUMP
00002a67: JUMPDEST
00002a68: PUSH2 0x2abe
00002a6b: JUMPI
00002a6c: PUSH1 0x40
00002a6e: MLOAD
00002a6f: PUSH3 0x461bcd
00002a73: PUSH1 0xe5
00002a75: SHL
00002a76: DUP2
00002a77: MSTORE
00002a78: PUSH1 0x20
00002a7a: PUSH1 0x04
00002a7c: DUP3
00002a7d: ADD
00002a7e: MSTORE
00002a7f: PUSH1 0x22
00002a81: PUSH1 0x24
00002a83: DUP3
00002a84: ADD
00002a85: MSTORE
00002a86: PUSH32 0x494e56414c49445f4d4553534147494e475f434f4e54524143545f4144445245
00002aa7: PUSH1 0x44
00002aa9: DUP3
00002aaa: ADD
00002aab: MSTORE
00002aac: PUSH2 0x5353
00002aaf: PUSH1 0xf0
00002ab1: SHL
00002ab2: PUSH1 0x64
00002ab4: DUP3
00002ab5: ADD
00002ab6: MSTORE
00002ab7: PUSH1 0x84
00002ab9: ADD
00002aba: PUSH2 0x0b55
00002abd: JUMP
00002abe: JUMPDEST
00002abf: PUSH1 0x01
00002ac1: PUSH1 0x01
00002ac3: PUSH1 0xa0
00002ac5: SHL
00002ac6: SUB
00002ac7: DUP3
00002ac8: AND
00002ac9: EXTCODESIZE
00002aca: PUSH2 0x2111
00002acd: JUMPI
00002ace: PUSH1 0x40
00002ad0: MLOAD
00002ad1: PUSH3 0x461bcd
00002ad5: PUSH1 0xe5
00002ad7: SHL
00002ad8: DUP2
00002ad9: MSTORE
00002ada: PUSH1 0x20
00002adc: PUSH1 0x04
00002ade: DUP3
00002adf: ADD
00002ae0: DUP2
00002ae1: SWAP1
00002ae2: MSTORE
00002ae3: PUSH1 0x24
00002ae5: DUP3
00002ae6: ADD
00002ae7: MSTORE
00002ae8: PUSH32 0x494e56414c49445f4d414e414745525f434f4e54524143545f41444452455353
00002b09: PUSH1 0x44
00002b0b: DUP3
00002b0c: ADD
00002b0d: MSTORE
00002b0e: PUSH1 0x64
00002b10: ADD
00002b11: PUSH2 0x0b55
00002b14: JUMP
00002b15: JUMPDEST
00002b16: PUSH0
00002b17: DUP1
00002b18: PUSH2 0x2b23
00002b1b: DUP4
00002b1c: DUP6
00002b1d: ADD
00002b1e: DUP6
00002b1f: PUSH2 0x42e5
00002b22: JUMP
00002b23: JUMPDEST
00002b24: SWAP2
00002b25: POP
00002b26: SWAP2
00002b27: POP
00002b28: PUSH2 0x2b30
00002b2b: DUP2
00002b2c: PUSH2 0x3501
00002b2f: JUMP
00002b30: JUMPDEST
00002b31: PUSH2 0x2b39
00002b34: DUP3
00002b35: PUSH2 0x3523
00002b38: JUMP
00002b39: JUMPDEST
00002b3a: PUSH2 0x2111
00002b3d: PUSH1 0x05
00002b3f: PUSH2 0x3545
00002b42: JUMP
00002b43: JUMPDEST
00002b44: CALLER
00002b45: PUSH2 0x0a95
00002b48: DUP2
00002b49: DUP1
00002b4a: PUSH2 0x3567
00002b4d: JUMP
00002b4e: JUMPDEST
00002b4f: PUSH0
00002b50: PUSH2 0x2b58
00002b53: DUP3
00002b54: PUSH2 0x3669
00002b57: JUMP
00002b58: JUMPDEST
00002b59: PUSH2 0x2b65
00002b5c: JUMPI
00002b5d: PUSH2 0x1298
00002b60: DUP3
00002b61: PUSH2 0x3694
00002b64: JUMP
00002b65: JUMPDEST
00002b66: PUSH2 0x1298
00002b69: DUP3
00002b6a: PUSH2 0x3743
00002b6d: JUMP
00002b6e: JUMPDEST
00002b6f: PUSH0
00002b70: PUSH2 0x0c8f
00002b73: PUSH5 0x012a05f200
00002b79: PUSH3 0x0186a0
00002b7d: PUSH2 0x416e
00002b80: JUMP
00002b81: JUMPDEST
00002b82: PUSH2 0x2b89
00002b85: PUSH2 0x275a
00002b88: JUMP
00002b89: JUMPDEST
00002b8a: PUSH0
00002b8b: SUB
00002b8c: PUSH2 0x2bcb
00002b8f: JUMPI
00002b90: PUSH1 0x40
00002b92: MLOAD
00002b93: PUSH3 0x461bcd
00002b97: PUSH1 0xe5
00002b99: SHL
00002b9a: DUP2
00002b9b: MSTORE
00002b9c: PUSH1 0x20
00002b9e: PUSH1 0x04
00002ba0: DUP3
00002ba1: ADD
00002ba2: MSTORE
00002ba3: PUSH1 0x11
00002ba5: PUSH1 0x24
00002ba7: DUP3
00002ba8: ADD
00002ba9: MSTORE
00002baa: PUSH17 0x130c97d094925111d157d393d517d4d155
00002bbc: PUSH1 0x7a
00002bbe: SHL
00002bbf: PUSH1 0x44
00002bc1: DUP3
00002bc2: ADD
00002bc3: MSTORE
00002bc4: PUSH1 0x64
00002bc6: ADD
00002bc7: PUSH2 0x0b55
00002bca: JUMP
00002bcb: JUMPDEST
00002bcc: PUSH1 0x01
00002bce: PUSH1 0x01
00002bd0: PUSH1 0xa0
00002bd2: SHL
00002bd3: SUB
00002bd4: DUP2
00002bd5: AND
00002bd6: PUSH0
00002bd7: PUSH1 0x01
00002bd9: PUSH2 0x2be4
00002bdc: PUSH1 0x80
00002bde: PUSH1 0x02
00002be0: PUSH2 0x43f1
00002be3: JUMP
00002be4: JUMPDEST
00002be5: PUSH2 0x2bee
00002be8: SWAP2
00002be9: SWAP1
00002bea: PUSH2 0x421e
00002bed: JUMP
00002bee: JUMPDEST
00002bef: PUSH1 0x40
00002bf1: DUP1
00002bf2: MLOAD
00002bf3: PUSH1 0x05
00002bf5: DUP1
00002bf6: DUP3
00002bf7: MSTORE
00002bf8: PUSH1 0xc0
00002bfa: DUP3
00002bfb: ADD
00002bfc: SWAP1
00002bfd: SWAP3
00002bfe: MSTORE
00002bff: SWAP2
00002c00: DUP7
00002c01: AND
00002c02: SWAP3
00002c03: POP
00002c04: PUSH1 0x80
00002c06: DUP7
00002c07: SWAP1
00002c08: SHR
00002c09: SWAP2
00002c0a: PUSH0
00002c0b: SWAP2
00002c0c: PUSH1 0x20
00002c0e: DUP3
00002c0f: ADD
00002c10: PUSH1 0xa0
00002c12: DUP1
00002c13: CALLDATASIZE
00002c14: DUP4
00002c15: CALLDATACOPY
00002c16: ADD
00002c17: SWAP1
00002c18: POP
00002c19: POP
00002c1a: SWAP1
00002c1b: POP
00002c1c: PUSH0
00002c1d: DUP2
00002c1e: PUSH0
00002c1f: DUP2
00002c20: MLOAD
00002c21: DUP2
00002c22: LT
00002c23: PUSH2 0x2c2e
00002c26: JUMPI
00002c27: PUSH2 0x2c2e
00002c2a: PUSH2 0x43fc
00002c2d: JUMP
00002c2e: JUMPDEST
00002c2f: PUSH1 0x20
00002c31: MUL
00002c32: PUSH1 0x20
00002c34: ADD
00002c35: ADD
00002c36: DUP2
00002c37: DUP2
00002c38: MSTORE
00002c39: POP
00002c3a: POP
00002c3b: DUP4
00002c3c: DUP2
00002c3d: PUSH1 0x01
00002c3f: DUP2
00002c40: MLOAD
00002c41: DUP2
00002c42: LT
00002c43: PUSH2 0x2c4e
00002c46: JUMPI
00002c47: PUSH2 0x2c4e
00002c4a: PUSH2 0x43fc
00002c4d: JUMP
00002c4e: JUMPDEST
00002c4f: PUSH1 0x20
00002c51: MUL
00002c52: PUSH1 0x20
00002c54: ADD
00002c55: ADD
00002c56: DUP2
00002c57: DUP2
00002c58: MSTORE
00002c59: POP
00002c5a: POP
00002c5b: DUP7
00002c5c: PUSH1 0x01
00002c5e: PUSH1 0x01
00002c60: PUSH1 0xa0
00002c62: SHL
00002c63: SUB
00002c64: AND
00002c65: DUP2
00002c66: PUSH1 0x02
00002c68: DUP2
00002c69: MLOAD
00002c6a: DUP2
00002c6b: LT
00002c6c: PUSH2 0x2c77
00002c6f: JUMPI
00002c70: PUSH2 0x2c77
00002c73: PUSH2 0x43fc
00002c76: JUMP
00002c77: JUMPDEST
00002c78: PUSH1 0x20
00002c7a: MUL
00002c7b: PUSH1 0x20
00002c7d: ADD
00002c7e: ADD
00002c7f: DUP2
00002c80: DUP2
00002c81: MSTORE
00002c82: POP
00002c83: POP
00002c84: DUP3
00002c85: DUP2
00002c86: PUSH1 0x03
00002c88: DUP2
00002c89: MLOAD
00002c8a: DUP2
00002c8b: LT
00002c8c: PUSH2 0x2c97
00002c8f: JUMPI
00002c90: PUSH2 0x2c97
00002c93: PUSH2 0x43fc
00002c96: JUMP
00002c97: JUMPDEST
00002c98: PUSH1 0x20
00002c9a: MUL
00002c9b: PUSH1 0x20
00002c9d: ADD
00002c9e: ADD
00002c9f: DUP2
00002ca0: DUP2
00002ca1: MSTORE
00002ca2: POP
00002ca3: POP
00002ca4: DUP2
00002ca5: DUP2
00002ca6: PUSH1 0x04
00002ca8: DUP2
00002ca9: MLOAD
00002caa: DUP2
00002cab: LT
00002cac: PUSH2 0x2cb7
00002caf: JUMPI
00002cb0: PUSH2 0x2cb7
00002cb3: PUSH2 0x43fc
00002cb6: JUMP
00002cb7: JUMPDEST
00002cb8: PUSH1 0x20
00002cba: MUL
00002cbb: PUSH1 0x20
00002cbd: ADD
00002cbe: ADD
00002cbf: DUP2
00002cc0: DUP2
00002cc1: MSTORE
00002cc2: POP
00002cc3: POP
00002cc4: PUSH2 0x2ccb
00002cc7: PUSH2 0x2738
00002cca: JUMP
00002ccb: JUMPDEST
00002ccc: PUSH1 0x01
00002cce: PUSH1 0x01
00002cd0: PUSH1 0xa0
00002cd2: SHL
00002cd3: SUB
00002cd4: AND
00002cd5: PUSH4 0x2c9dd5c0
00002cda: PUSH2 0x2ce1
00002cdd: PUSH2 0x275a
00002ce0: JUMP
00002ce1: JUMPDEST
00002ce2: DUP4
00002ce3: PUSH1 0x40
00002ce5: MLOAD
00002ce6: DUP4
00002ce7: PUSH4 0xffffffff
00002cec: AND
00002ced: PUSH1 0xe0
00002cef: SHL
00002cf0: DUP2
00002cf1: MSTORE
00002cf2: PUSH1 0x04
00002cf4: ADD
00002cf5: PUSH2 0x2cff
00002cf8: SWAP3
00002cf9: SWAP2
00002cfa: SWAP1
00002cfb: PUSH2 0x4410
00002cfe: JUMP
00002cff: JUMPDEST
00002d00: PUSH1 0x20
00002d02: PUSH1 0x40
00002d04: MLOAD
00002d05: DUP1
00002d06: DUP4
00002d07: SUB
00002d08: DUP2
00002d09: PUSH0
00002d0a: DUP8
00002d0b: GAS
00002d0c: CALL
00002d0d: SWAP3
00002d0e: POP
00002d0f: POP
00002d10: POP
00002d11: DUP1
00002d12: ISZERO
00002d13: PUSH2 0x2d39
00002d16: JUMPI
00002d17: POP
00002d18: PUSH1 0x40
00002d1a: DUP1
00002d1b: MLOAD
00002d1c: PUSH1 0x1f
00002d1e: RETURNDATASIZE
00002d1f: SWAP1
00002d20: DUP2
00002d21: ADD
00002d22: PUSH1 0x1f
00002d24: NOT
00002d25: AND
00002d26: DUP3
00002d27: ADD
00002d28: SWAP1
00002d29: SWAP3
00002d2a: MSTORE
00002d2b: PUSH2 0x2d36
00002d2e: SWAP2
00002d2f: DUP2
00002d30: ADD
00002d31: SWAP1
00002d32: PUSH2 0x4113
00002d35: JUMP
00002d36: JUMPDEST
00002d37: PUSH1 0x01
00002d39: JUMPDEST
00002d3a: PUSH2 0x1ca0
00002d3d: JUMPI
00002d3e: PUSH2 0x2d45
00002d41: PUSH2 0x4428
00002d44: JUMP
00002d45: JUMPDEST
00002d46: DUP1
00002d47: PUSH4 0x08c379a0
00002d4c: SUB
00002d4d: PUSH2 0x2e87
00002d50: JUMPI
00002d51: POP
00002d52: PUSH2 0x2d59
00002d55: PUSH2 0x447a
00002d58: JUMP
00002d59: JUMPDEST
00002d5a: DUP1
00002d5b: PUSH2 0x2d64
00002d5e: JUMPI
00002d5f: POP
00002d60: PUSH2 0x2e89
00002d63: JUMP
00002d64: JUMPDEST
00002d65: PUSH1 0x40
00002d67: DUP1
00002d68: MLOAD
00002d69: PUSH1 0x04
00002d6b: DUP1
00002d6c: DUP3
00002d6d: MSTORE
00002d6e: PUSH1 0xa0
00002d70: DUP3
00002d71: ADD
00002d72: SWAP1
00002d73: SWAP3
00002d74: MSTORE
00002d75: SWAP1
00002d76: PUSH1 0x20
00002d78: DUP3
00002d79: ADD
00002d7a: PUSH1 0x80
00002d7c: DUP1
00002d7d: CALLDATASIZE
00002d7e: DUP4
00002d7f: CALLDATACOPY
00002d80: ADD
00002d81: SWAP1
00002d82: POP
00002d83: POP
00002d84: SWAP2
00002d85: POP
00002d86: PUSH0
00002d87: DUP3
00002d88: PUSH0
00002d89: DUP2
00002d8a: MLOAD
00002d8b: DUP2
00002d8c: LT
00002d8d: PUSH2 0x2d98
00002d90: JUMPI
00002d91: PUSH2 0x2d98
00002d94: PUSH2 0x43fc
00002d97: JUMP
00002d98: JUMPDEST
00002d99: PUSH1 0x20
00002d9b: MUL
00002d9c: PUSH1 0x20
00002d9e: ADD
00002d9f: ADD
00002da0: DUP2
00002da1: DUP2
00002da2: MSTORE
00002da3: POP
00002da4: POP
00002da5: DUP5
00002da6: DUP3
00002da7: PUSH1 0x01
00002da9: DUP2
00002daa: MLOAD
00002dab: DUP2
00002dac: LT
00002dad: PUSH2 0x2db8
00002db0: JUMPI
00002db1: PUSH2 0x2db8
00002db4: PUSH2 0x43fc
00002db7: JUMP
00002db8: JUMPDEST
00002db9: PUSH1 0x20
00002dbb: MUL
00002dbc: PUSH1 0x20
00002dbe: ADD
00002dbf: ADD
00002dc0: DUP2
00002dc1: DUP2
00002dc2: MSTORE
00002dc3: POP
00002dc4: POP
00002dc5: DUP4
00002dc6: DUP3
00002dc7: PUSH1 0x02
00002dc9: DUP2
00002dca: MLOAD
00002dcb: DUP2
00002dcc: LT
00002dcd: PUSH2 0x2dd8
00002dd0: JUMPI
00002dd1: PUSH2 0x2dd8
00002dd4: PUSH2 0x43fc
00002dd7: JUMP
00002dd8: JUMPDEST
00002dd9: PUSH1 0x20
00002ddb: MUL
00002ddc: PUSH1 0x20
00002dde: ADD
00002ddf: ADD
00002de0: DUP2
00002de1: DUP2
00002de2: MSTORE
00002de3: POP
00002de4: POP
00002de5: DUP3
00002de6: DUP3
00002de7: PUSH1 0x03
00002de9: DUP2
00002dea: MLOAD
00002deb: DUP2
00002dec: LT
00002ded: PUSH2 0x2df8
00002df0: JUMPI
00002df1: PUSH2 0x2df8
00002df4: PUSH2 0x43fc
00002df7: JUMP
00002df8: JUMPDEST
00002df9: PUSH1 0x20
00002dfb: MUL
00002dfc: PUSH1 0x20
00002dfe: ADD
00002dff: ADD
00002e00: DUP2
00002e01: DUP2
00002e02: MSTORE
00002e03: POP
00002e04: POP
00002e05: PUSH2 0x2e0c
00002e08: PUSH2 0x2738
00002e0b: JUMP
00002e0c: JUMPDEST
00002e0d: PUSH1 0x01
00002e0f: PUSH1 0x01
00002e11: PUSH1 0xa0
00002e13: SHL
00002e14: SUB
00002e15: AND
00002e16: PUSH4 0x2c9dd5c0
00002e1b: PUSH2 0x2e22
00002e1e: PUSH2 0x275a
00002e21: JUMP
00002e22: JUMPDEST
00002e23: DUP5
00002e24: PUSH1 0x40
00002e26: MLOAD
00002e27: DUP4
00002e28: PUSH4 0xffffffff
00002e2d: AND
00002e2e: PUSH1 0xe0
00002e30: SHL
00002e31: DUP2
00002e32: MSTORE
00002e33: PUSH1 0x04
00002e35: ADD
00002e36: PUSH2 0x2e40
00002e39: SWAP3
00002e3a: SWAP2
00002e3b: SWAP1
00002e3c: PUSH2 0x4410
00002e3f: JUMP
00002e40: JUMPDEST
00002e41: PUSH1 0x20
00002e43: PUSH1 0x40
00002e45: MLOAD
00002e46: DUP1
00002e47: DUP4
00002e48: SUB
00002e49: DUP2
00002e4a: PUSH0
00002e4b: DUP8
00002e4c: GAS
00002e4d: CALL
00002e4e: ISZERO
00002e4f: DUP1
00002e50: ISZERO
00002e51: PUSH2 0x2e5c
00002e54: JUMPI
00002e55: RETURNDATASIZE
00002e56: PUSH0
00002e57: DUP1
00002e58: RETURNDATACOPY
00002e59: RETURNDATASIZE
00002e5a: PUSH0
00002e5b: REVERT
00002e5c: JUMPDEST
00002e5d: POP
00002e5e: POP
00002e5f: POP
00002e60: POP
00002e61: PUSH1 0x40
00002e63: MLOAD
00002e64: RETURNDATASIZE
00002e65: PUSH1 0x1f
00002e67: NOT
00002e68: PUSH1 0x1f
00002e6a: DUP3
00002e6b: ADD
00002e6c: AND
00002e6d: DUP3
00002e6e: ADD
00002e6f: DUP1
00002e70: PUSH1 0x40
00002e72: MSTORE
00002e73: POP
00002e74: DUP2
00002e75: ADD
00002e76: SWAP1
00002e77: PUSH2 0x2e80
00002e7a: SWAP2
00002e7b: SWAP1
00002e7c: PUSH2 0x4113
00002e7f: JUMP
00002e80: JUMPDEST
00002e81: POP
00002e82: POP
00002e83: PUSH2 0x0bbd
00002e86: JUMP
00002e87: JUMPDEST
00002e88: POP
00002e89: JUMPDEST
00002e8a: RETURNDATASIZE
00002e8b: PUSH0
00002e8c: DUP1
00002e8d: RETURNDATACOPY
00002e8e: RETURNDATASIZE
00002e8f: PUSH0
00002e90: REVERT
00002e91: JUMPDEST
00002e92: PUSH0
00002e93: PUSH2 0x2e9b
00002e96: DUP4
00002e97: PUSH2 0x2b4e
00002e9a: JUMP
00002e9b: JUMPDEST
00002e9c: SWAP1
00002e9d: POP
00002e9e: DUP2
00002e9f: DUP2
00002ea0: LT
00002ea1: ISZERO
00002ea2: PUSH2 0x2eed
00002ea5: JUMPI
00002ea6: PUSH1 0x40
00002ea8: MLOAD
00002ea9: PUSH3 0x461bcd
00002ead: PUSH1 0xe5
00002eaf: SHL
00002eb0: DUP2
00002eb1: MSTORE
00002eb2: PUSH1 0x20
00002eb4: PUSH1 0x04
00002eb6: DUP3
00002eb7: ADD
00002eb8: MSTORE
00002eb9: PUSH1 0x1d
00002ebb: PUSH1 0x24
00002ebd: DUP3
00002ebe: ADD
00002ebf: MSTORE
00002ec0: PUSH32 0x455843454544535f474c4f42414c5f57495448445241575f4c494d4954000000
00002ee1: PUSH1 0x44
00002ee3: DUP3
00002ee4: ADD
00002ee5: MSTORE
00002ee6: PUSH1 0x64
00002ee8: ADD
00002ee9: PUSH2 0x0b55
00002eec: JUMP
00002eed: JUMPDEST
00002eee: PUSH2 0x23e7
00002ef1: DUP4
00002ef2: PUSH2 0x2efb
00002ef5: DUP5
00002ef6: DUP5
00002ef7: PUSH2 0x421e
00002efa: JUMP
00002efb: JUMPDEST
00002efc: PUSH2 0x3770
00002eff: JUMP
00002f00: JUMPDEST
00002f01: PUSH0
00002f02: PUSH2 0x0c8f
00002f05: PUSH1 0x40
00002f07: MLOAD
00002f08: DUP1
00002f09: PUSH1 0x60
00002f0b: ADD
00002f0c: PUSH1 0x40
00002f0e: MSTORE
00002f0f: DUP1
00002f10: PUSH1 0x29
00002f12: DUP2
00002f13: MSTORE
00002f14: PUSH1 0x20
00002f16: ADD
00002f17: PUSH2 0x478b
00002f1a: PUSH1 0x29
00002f1c: SWAP2
00002f1d: CODECOPY
00002f1e: PUSH2 0x37a1
00002f21: JUMP
00002f22: JUMPDEST
00002f23: PUSH1 0x40
00002f25: DUP1
00002f26: MLOAD
00002f27: PUSH1 0x03
00002f29: DUP1
00002f2a: DUP3
00002f2b: MSTORE
00002f2c: PUSH1 0x80
00002f2e: DUP3
00002f2f: ADD
00002f30: SWAP1
00002f31: SWAP3
00002f32: MSTORE
00002f33: PUSH1 0x60
00002f35: SWAP2
00002f36: PUSH0
00002f37: SWAP2
00002f38: SWAP1
00002f39: PUSH1 0x20
00002f3b: DUP3
00002f3c: ADD
00002f3d: DUP5
00002f3e: DUP1
00002f3f: CALLDATASIZE
00002f40: DUP4
00002f41: CALLDATACOPY
00002f42: ADD
00002f43: SWAP1
00002f44: POP
00002f45: POP
00002f46: SWAP1
00002f47: POP
00002f48: DUP3
00002f49: DUP2
00002f4a: PUSH0
00002f4b: DUP2
00002f4c: MLOAD
00002f4d: DUP2
00002f4e: LT
00002f4f: PUSH2 0x2f5a
00002f52: JUMPI
00002f53: PUSH2 0x2f5a
00002f56: PUSH2 0x43fc
00002f59: JUMP
00002f5a: JUMPDEST
00002f5b: PUSH1 0x20
00002f5d: SWAP1
00002f5e: DUP2
00002f5f: MUL
00002f60: SWAP2
00002f61: SWAP1
00002f62: SWAP2
00002f63: ADD
00002f64: ADD
00002f65: MSTORE
00002f66: PUSH1 0x01
00002f68: PUSH2 0x2f73
00002f6b: PUSH1 0x80
00002f6d: PUSH1 0x02
00002f6f: PUSH2 0x43f1
00002f72: JUMP
00002f73: JUMPDEST
00002f74: PUSH2 0x2f7d
00002f77: SWAP2
00002f78: SWAP1
00002f79: PUSH2 0x421e
00002f7c: JUMP
00002f7d: JUMPDEST
00002f7e: DUP5
00002f7f: AND
00002f80: DUP2
00002f81: PUSH1 0x01
00002f83: DUP2
00002f84: MLOAD
00002f85: DUP2
00002f86: LT
00002f87: PUSH2 0x2f92
00002f8a: JUMPI
00002f8b: PUSH2 0x2f92
00002f8e: PUSH2 0x43fc
00002f91: JUMP
00002f92: JUMPDEST
00002f93: PUSH1 0x20
00002f95: MUL
00002f96: PUSH1 0x20
00002f98: ADD
00002f99: ADD
00002f9a: DUP2
00002f9b: DUP2
00002f9c: MSTORE
00002f9d: POP
00002f9e: POP
00002f9f: PUSH1 0x80
00002fa1: DUP5
00002fa2: SWAP1
00002fa3: SHR
00002fa4: DUP2
00002fa5: PUSH1 0x02
00002fa7: DUP2
00002fa8: MLOAD
00002fa9: DUP2
00002faa: LT
00002fab: PUSH2 0x2fb6
00002fae: JUMPI
00002faf: PUSH2 0x2fb6
00002fb2: PUSH2 0x43fc
00002fb5: JUMP
00002fb6: JUMPDEST
00002fb7: PUSH1 0x20
00002fb9: SWAP1
00002fba: DUP2
00002fbb: MUL
00002fbc: SWAP2
00002fbd: SWAP1
00002fbe: SWAP2
00002fbf: ADD
00002fc0: ADD
00002fc1: MSTORE
00002fc2: SWAP4
00002fc3: SWAP3
00002fc4: POP
00002fc5: POP
00002fc6: POP
00002fc7: JUMP
00002fc8: JUMPDEST
00002fc9: PUSH0
00002fca: DUP2
00002fcb: ISZERO
00002fcc: DUP1
00002fcd: ISZERO
00002fce: SWAP1
00002fcf: PUSH2 0x1298
00002fd2: JUMPI
00002fd3: POP
00002fd4: PUSH2 0x1298
00002fd7: DUP3
00002fd8: PUSH1 0x01
00002fda: PUSH8 0x0800000000000011
00002fe3: PUSH1 0xc0
00002fe5: SHL
00002fe6: ADD
00002fe7: GT
00002fe8: SWAP1
00002fe9: JUMP
00002fea: JUMPDEST
00002feb: PUSH2 0x0a95
00002fee: PUSH1 0x40
00002ff0: MLOAD
00002ff1: DUP1
00002ff2: PUSH1 0x60
00002ff4: ADD
00002ff5: PUSH1 0x40
00002ff7: MSTORE
00002ff8: DUP1
00002ff9: PUSH1 0x27
00002ffb: DUP2
00002ffc: MSTORE
00002ffd: PUSH1 0x20
00002fff: ADD
00003000: PUSH2 0x46b3
00003003: PUSH1 0x27
00003005: SWAP2
00003006: CODECOPY
00003007: DUP3
00003008: PUSH2 0x37d3
0000300b: JUMP
0000300c: JUMPDEST
0000300d: PUSH0
0000300e: PUSH2 0x0c8f
00003011: PUSH5 0x012a05f200
00003017: PUSH2 0x4e20
0000301a: PUSH2 0x416e
0000301d: JUMP
0000301e: JUMPDEST
0000301f: PUSH1 0x60
00003021: PUSH0
00003022: DUP4
00003023: PUSH2 0x302d
00003026: JUMPI
00003027: PUSH1 0x05
00003029: PUSH2 0x3039
0000302c: JUMP
0000302d: JUMPDEST
0000302e: PUSH2 0x3039
00003031: PUSH1 0x01
00003033: PUSH1 0x05
00003035: PUSH2 0x4185
00003038: JUMP
00003039: JUMPDEST
0000303a: SWAP1
0000303b: POP
0000303c: PUSH0
0000303d: DUP4
0000303e: MLOAD
0000303f: DUP3
00003040: PUSH2 0x3049
00003043: SWAP2
00003044: SWAP1
00003045: PUSH2 0x4185
00003048: JUMP
00003049: JUMPDEST
0000304a: PUSH8 0xffffffffffffffff
00003053: DUP2
00003054: GT
00003055: ISZERO
00003056: PUSH2 0x3061
00003059: JUMPI
0000305a: PUSH2 0x3061
0000305d: PUSH2 0x4097
00003060: JUMP
00003061: JUMPDEST
00003062: PUSH1 0x40
00003064: MLOAD
00003065: SWAP1
00003066: DUP1
00003067: DUP3
00003068: MSTORE
00003069: DUP1
0000306a: PUSH1 0x20
0000306c: MUL
0000306d: PUSH1 0x20
0000306f: ADD
00003070: DUP3
00003071: ADD
00003072: PUSH1 0x40
00003074: MSTORE
00003075: DUP1
00003076: ISZERO
00003077: PUSH2 0x308a
0000307a: JUMPI
0000307b: DUP2
0000307c: PUSH1 0x20
0000307e: ADD
0000307f: PUSH1 0x20
00003081: DUP3
00003082: MUL
00003083: DUP1
00003084: CALLDATASIZE
00003085: DUP4
00003086: CALLDATACOPY
00003087: ADD
00003088: SWAP1
00003089: POP
0000308a: JUMPDEST
0000308b: POP
0000308c: SWAP1
0000308d: POP
0000308e: DUP8
0000308f: PUSH1 0x01
00003091: PUSH1 0x01
00003093: PUSH1 0xa0
00003095: SHL
00003096: SUB
00003097: AND
00003098: DUP2
00003099: PUSH0
0000309a: DUP2
0000309b: MLOAD
0000309c: DUP2
0000309d: LT
0000309e: PUSH2 0x30a9
000030a1: JUMPI
000030a2: PUSH2 0x30a9
000030a5: PUSH2 0x43fc
000030a8: JUMP
000030a9: JUMPDEST
000030aa: PUSH1 0x20
000030ac: MUL
000030ad: PUSH1 0x20
000030af: ADD
000030b0: ADD
000030b1: DUP2
000030b2: DUP2
000030b3: MSTORE
000030b4: POP
000030b5: POP
000030b6: CALLER
000030b7: PUSH1 0x01
000030b9: PUSH1 0x01
000030bb: PUSH1 0xa0
000030bd: SHL
000030be: SUB
000030bf: AND
000030c0: DUP2
000030c1: PUSH1 0x01
000030c3: DUP2
000030c4: MLOAD
000030c5: DUP2
000030c6: LT
000030c7: PUSH2 0x30d2
000030ca: JUMPI
000030cb: PUSH2 0x30d2
000030ce: PUSH2 0x43fc
000030d1: JUMP
000030d2: JUMPDEST
000030d3: PUSH1 0x20
000030d5: MUL
000030d6: PUSH1 0x20
000030d8: ADD
000030d9: ADD
000030da: DUP2
000030db: DUP2
000030dc: MSTORE
000030dd: POP
000030de: POP
000030df: DUP6
000030e0: DUP2
000030e1: PUSH1 0x02
000030e3: DUP2
000030e4: MLOAD
000030e5: DUP2
000030e6: LT
000030e7: PUSH2 0x30f2
000030ea: JUMPI
000030eb: PUSH2 0x30f2
000030ee: PUSH2 0x43fc
000030f1: JUMP
000030f2: JUMPDEST
000030f3: PUSH1 0x20
000030f5: SWAP1
000030f6: DUP2
000030f7: MUL
000030f8: SWAP2
000030f9: SWAP1
000030fa: SWAP2
000030fb: ADD
000030fc: ADD
000030fd: MSTORE
000030fe: PUSH1 0x01
00003100: PUSH2 0x310b
00003103: PUSH1 0x80
00003105: PUSH1 0x02
00003107: PUSH2 0x43f1
0000310a: JUMP
0000310b: JUMPDEST
0000310c: PUSH2 0x3115
0000310f: SWAP2
00003110: SWAP1
00003111: PUSH2 0x421e
00003114: JUMP
00003115: JUMPDEST
00003116: DUP8
00003117: AND
00003118: DUP2
00003119: PUSH1 0x03
0000311b: DUP2
0000311c: MLOAD
0000311d: DUP2
0000311e: LT
0000311f: PUSH2 0x312a
00003122: JUMPI
00003123: PUSH2 0x312a
00003126: PUSH2 0x43fc
00003129: JUMP
0000312a: JUMPDEST
0000312b: PUSH1 0x20
0000312d: MUL
0000312e: PUSH1 0x20
00003130: ADD
00003131: ADD
00003132: DUP2
00003133: DUP2
00003134: MSTORE
00003135: POP
00003136: POP
00003137: PUSH1 0x80
00003139: DUP8
0000313a: SWAP1
0000313b: SHR
0000313c: DUP2
0000313d: PUSH1 0x04
0000313f: DUP2
00003140: MLOAD
00003141: DUP2
00003142: LT
00003143: PUSH2 0x314e
00003146: JUMPI
00003147: PUSH2 0x314e
0000314a: PUSH2 0x43fc
0000314d: JUMP
0000314e: JUMPDEST
0000314f: PUSH1 0x20
00003151: MUL
00003152: PUSH1 0x20
00003154: ADD
00003155: ADD
00003156: DUP2
00003157: DUP2
00003158: MSTORE
00003159: POP
0000315a: POP
0000315b: DUP5
0000315c: ISZERO
0000315d: PUSH2 0x325e
00003160: JUMPI
00003161: DUP4
00003162: MLOAD
00003163: DUP2
00003164: PUSH2 0x316e
00003167: PUSH1 0x01
00003169: DUP6
0000316a: PUSH2 0x421e
0000316d: JUMP
0000316e: JUMPDEST
0000316f: DUP2
00003170: MLOAD
00003171: DUP2
00003172: LT
00003173: PUSH2 0x317e
00003176: JUMPI
00003177: PUSH2 0x317e
0000317a: PUSH2 0x43fc
0000317d: JUMP
0000317e: JUMPDEST
0000317f: PUSH1 0x20
00003181: MUL
00003182: PUSH1 0x20
00003184: ADD
00003185: ADD
00003186: DUP2
00003187: DUP2
00003188: MSTORE
00003189: POP
0000318a: POP
0000318b: PUSH0
0000318c: JUMPDEST
0000318d: DUP5
0000318e: MLOAD
0000318f: DUP2
00003190: LT
00003191: ISZERO
00003192: PUSH2 0x325c
00003195: JUMPI
00003196: PUSH2 0x31c5
00003199: DUP6
0000319a: DUP3
0000319b: DUP2
0000319c: MLOAD
0000319d: DUP2
0000319e: LT
0000319f: PUSH2 0x31aa
000031a2: JUMPI
000031a3: PUSH2 0x31aa
000031a6: PUSH2 0x43fc
000031a9: JUMP
000031aa: JUMPDEST
000031ab: PUSH1 0x20
000031ad: MUL
000031ae: PUSH1 0x20
000031b0: ADD
000031b1: ADD
000031b2: MLOAD
000031b3: PUSH1 0x01
000031b5: PUSH8 0x0800000000000011
000031be: PUSH1 0xc0
000031c0: SHL
000031c1: ADD
000031c2: GT
000031c3: SWAP1
000031c4: JUMP
000031c5: JUMPDEST
000031c6: PUSH2 0x3208
000031c9: JUMPI
000031ca: PUSH1 0x40
000031cc: MLOAD
000031cd: PUSH3 0x461bcd
000031d1: PUSH1 0xe5
000031d3: SHL
000031d4: DUP2
000031d5: MSTORE
000031d6: PUSH1 0x20
000031d8: PUSH1 0x04
000031da: DUP3
000031db: ADD
000031dc: MSTORE
000031dd: PUSH1 0x14
000031df: PUSH1 0x24
000031e1: DUP3
000031e2: ADD
000031e3: MSTORE
000031e4: PUSH20 0x494e56414c49445f4d4553534147455f44415441
000031f9: PUSH1 0x60
000031fb: SHL
000031fc: PUSH1 0x44
000031fe: DUP3
000031ff: ADD
00003200: MSTORE
00003201: PUSH1 0x64
00003203: ADD
00003204: PUSH2 0x0b55
00003207: JUMP
00003208: JUMPDEST
00003209: DUP5
0000320a: DUP2
0000320b: DUP2
0000320c: MLOAD
0000320d: DUP2
0000320e: LT
0000320f: PUSH2 0x321a
00003212: JUMPI
00003213: PUSH2 0x321a
00003216: PUSH2 0x43fc
00003219: JUMP
0000321a: JUMPDEST
0000321b: PUSH1 0x20
0000321d: MUL
0000321e: PUSH1 0x20
00003220: ADD
00003221: ADD
00003222: MLOAD
00003223: DUP3
00003224: DUP5
00003225: DUP4
00003226: PUSH2 0x322f
00003229: SWAP2
0000322a: SWAP1
0000322b: PUSH2 0x4185
0000322e: JUMP
0000322f: JUMPDEST
00003230: DUP2
00003231: MLOAD
00003232: DUP2
00003233: LT
00003234: PUSH2 0x323f
00003237: JUMPI
00003238: PUSH2 0x323f
0000323b: PUSH2 0x43fc
0000323e: JUMP
0000323f: JUMPDEST
00003240: PUSH1 0x20
00003242: SWAP1
00003243: DUP2
00003244: MUL
00003245: SWAP2
00003246: SWAP1
00003247: SWAP2
00003248: ADD
00003249: ADD
0000324a: MSTORE
0000324b: DUP1
0000324c: PUSH2 0x3254
0000324f: DUP2
00003250: PUSH2 0x4503
00003253: JUMP
00003254: JUMPDEST
00003255: SWAP2
00003256: POP
00003257: POP
00003258: PUSH2 0x318c
0000325b: JUMP
0000325c: JUMPDEST
0000325d: POP
0000325e: JUMPDEST
0000325f: SWAP8
00003260: SWAP7
00003261: POP
00003262: POP
00003263: POP
00003264: POP
00003265: POP
00003266: POP
00003267: POP
00003268: JUMP
00003269: JUMPDEST
0000326a: PUSH0
0000326b: DUP1
0000326c: DUP3
0000326d: PUSH1 0x40
0000326f: MLOAD
00003270: PUSH1 0x20
00003272: ADD
00003273: PUSH2 0x327c
00003276: SWAP2
00003277: SWAP1
00003278: PUSH2 0x42ca
0000327b: JUMP
0000327c: JUMPDEST
0000327d: PUSH1 0x40
0000327f: DUP1
00003280: MLOAD
00003281: PUSH1 0x1f
00003283: NOT
00003284: DUP2
00003285: DUP5
00003286: SUB
00003287: ADD
00003288: DUP2
00003289: MSTORE
0000328a: SWAP2
0000328b: SWAP1
0000328c: MSTORE
0000328d: DUP1
0000328e: MLOAD
0000328f: PUSH1 0x20
00003291: SWAP1
00003292: SWAP2
00003293: ADD
00003294: KECCAK256
00003295: SLOAD
00003296: SWAP4
00003297: SWAP3
00003298: POP
00003299: POP
0000329a: POP
0000329b: JUMP
0000329c: JUMPDEST
0000329d: PUSH0
0000329e: SWAP1
0000329f: DUP2
000032a0: MSTORE
000032a1: PUSH0
000032a2: DUP1
000032a3: MLOAD
000032a4: PUSH1 0x20
000032a6: PUSH2 0x4693
000032a9: DUP4
000032aa: CODECOPY
000032ab: DUP2
000032ac: MLOAD
000032ad: SWAP2
000032ae: MSTORE
000032af: PUSH1 0x20
000032b1: MSTORE
000032b2: PUSH1 0x40
000032b4: SWAP1
000032b5: KECCAK256
000032b6: PUSH1 0x01
000032b8: ADD
000032b9: SLOAD
000032ba: SWAP1
000032bb: JUMP
000032bc: JUMPDEST
000032bd: PUSH2 0x0a95
000032c0: DUP2
000032c1: CALLER
000032c2: PUSH2 0x3821
000032c5: JUMP
000032c6: JUMPDEST
000032c7: PUSH2 0x32d0
000032ca: DUP3
000032cb: DUP3
000032cc: PUSH2 0x27b8
000032cf: JUMP
000032d0: JUMPDEST
000032d1: PUSH2 0x0a7a
000032d4: JUMPI
000032d5: PUSH0
000032d6: DUP3
000032d7: DUP2
000032d8: MSTORE
000032d9: PUSH0
000032da: DUP1
000032db: MLOAD
000032dc: PUSH1 0x20
000032de: PUSH2 0x4693
000032e1: DUP4
000032e2: CODECOPY
000032e3: DUP2
000032e4: MLOAD
000032e5: SWAP2
000032e6: MSTORE
000032e7: PUSH1 0x20
000032e9: SWAP1
000032ea: DUP2
000032eb: MSTORE
000032ec: PUSH1 0x40
000032ee: DUP1
000032ef: DUP4
000032f0: KECCAK256
000032f1: PUSH1 0x01
000032f3: PUSH1 0x01
000032f5: PUSH1 0xa0
000032f7: SHL
000032f8: SUB
000032f9: DUP6
000032fa: AND
000032fb: DUP1
000032fc: DUP6
000032fd: MSTORE
000032fe: SWAP3
000032ff: MSTORE
00003300: DUP1
00003301: DUP4
00003302: KECCAK256
00003303: DUP1
00003304: SLOAD
00003305: PUSH1 0xff
00003307: NOT
00003308: AND
00003309: PUSH1 0x01
0000330b: OR
0000330c: SWAP1
0000330d: SSTORE
0000330e: MLOAD
0000330f: CALLER
00003310: SWAP3
00003311: DUP6
00003312: SWAP2
00003313: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d
00003334: SWAP2
00003335: SWAP1
00003336: LOG4
00003337: POP
00003338: POP
00003339: JUMP
0000333a: JUMPDEST
0000333b: PUSH32 0x000000000000000000000000000000000000000000000000000000e8d4a51000
0000335c: DUP2
0000335d: LT
0000335e: ISZERO
0000335f: PUSH2 0x33a3
00003362: JUMPI
00003363: PUSH1 0x40
00003365: MLOAD
00003366: PUSH3 0x461bcd
0000336a: PUSH1 0xe5
0000336c: SHL
0000336d: DUP2
0000336e: MSTORE
0000336f: PUSH1 0x20
00003371: PUSH1 0x04
00003373: DUP3
00003374: ADD
00003375: MSTORE
00003376: PUSH1 0x16
00003378: PUSH1 0x24
0000337a: DUP3
0000337b: ADD
0000337c: MSTORE
0000337d: PUSH22 0x494e53554646494349454e545f4645455f56414c5545
00003394: PUSH1 0x50
00003396: SHL
00003397: PUSH1 0x44
00003399: DUP3
0000339a: ADD
0000339b: MSTORE
0000339c: PUSH1 0x64
0000339e: ADD
0000339f: PUSH2 0x0b55
000033a2: JUMP
000033a3: JUMPDEST
000033a4: PUSH7 0x2386f26fc10000
000033ac: DUP2
000033ad: GT
000033ae: ISZERO
000033af: PUSH2 0x0a95
000033b2: JUMPI
000033b3: PUSH1 0x40
000033b5: MLOAD
000033b6: PUSH3 0x461bcd
000033ba: PUSH1 0xe5
000033bc: SHL
000033bd: DUP2
000033be: MSTORE
000033bf: PUSH1 0x20
000033c1: PUSH1 0x04
000033c3: DUP3
000033c4: ADD
000033c5: MSTORE
000033c6: PUSH1 0x12
000033c8: PUSH1 0x24
000033ca: DUP3
000033cb: ADD
000033cc: MSTORE
000033cd: PUSH18 0x08c8a8abeac8298aa8abea89e9ebe90928e9
000033e0: PUSH1 0x73
000033e2: SHL
000033e3: PUSH1 0x44
000033e5: DUP3
000033e6: ADD
000033e7: MSTORE
000033e8: PUSH1 0x64
000033ea: ADD
000033eb: PUSH2 0x0b55
000033ee: JUMP
000033ef: JUMPDEST
000033f0: DUP1
000033f1: PUSH0
000033f2: SUB
000033f3: PUSH2 0x33fa
000033f6: JUMPI
000033f7: POP
000033f8: POP
000033f9: JUMP
000033fa: JUMPDEST
000033fb: PUSH0
000033fc: DUP3
000033fd: PUSH1 0x01
000033ff: PUSH1 0x01
00003401: PUSH1 0xa0
00003403: SHL
00003404: SUB
00003405: AND
00003406: DUP3
00003407: PUSH1 0x40
00003409: MLOAD
0000340a: PUSH0
0000340b: PUSH1 0x40
0000340d: MLOAD
0000340e: DUP1
0000340f: DUP4
00003410: SUB
00003411: DUP2
00003412: DUP6
00003413: DUP8
00003414: GAS
00003415: CALL
00003416: SWAP3
00003417: POP
00003418: POP
00003419: POP
0000341a: RETURNDATASIZE
0000341b: DUP1
0000341c: PUSH0
0000341d: DUP2
0000341e: EQ
0000341f: PUSH2 0x3443
00003422: JUMPI
00003423: PUSH1 0x40
00003425: MLOAD
00003426: SWAP2
00003427: POP
00003428: PUSH1 0x1f
0000342a: NOT
0000342b: PUSH1 0x3f
0000342d: RETURNDATASIZE
0000342e: ADD
0000342f: AND
00003430: DUP3
00003431: ADD
00003432: PUSH1 0x40
00003434: MSTORE
00003435: RETURNDATASIZE
00003436: DUP3
00003437: MSTORE
00003438: RETURNDATASIZE
00003439: PUSH0
0000343a: PUSH1 0x20
0000343c: DUP5
0000343d: ADD
0000343e: RETURNDATACOPY
0000343f: PUSH2 0x3448
00003442: JUMP
00003443: JUMPDEST
00003444: PUSH1 0x60
00003446: SWAP2
00003447: POP
00003448: JUMPDEST
00003449: POP
0000344a: POP
0000344b: SWAP1
0000344c: POP
0000344d: DUP1
0000344e: PUSH2 0x23e7
00003451: JUMPI
00003452: PUSH1 0x40
00003454: MLOAD
00003455: PUSH3 0x461bcd
00003459: PUSH1 0xe5
0000345b: SHL
0000345c: DUP2
0000345d: MSTORE
0000345e: PUSH1 0x20
00003460: PUSH1 0x04
00003462: DUP3
00003463: ADD
00003464: MSTORE
00003465: PUSH1 0x13
00003467: PUSH1 0x24
00003469: DUP3
0000346a: ADD
0000346b: MSTORE
0000346c: PUSH19 0x11551217d514905394d1915497d19052531151
00003480: PUSH1 0x6a
00003482: SHL
00003483: PUSH1 0x44
00003485: DUP3
00003486: ADD
00003487: MSTORE
00003488: PUSH1 0x64
0000348a: ADD
0000348b: PUSH2 0x0b55
0000348e: JUMP
0000348f: JUMPDEST
00003490: PUSH2 0x3499
00003493: DUP3
00003494: DUP3
00003495: PUSH2 0x27b8
00003498: JUMP
00003499: JUMPDEST
0000349a: ISZERO
0000349b: PUSH2 0x0a7a
0000349e: JUMPI
0000349f: PUSH0
000034a0: DUP3
000034a1: DUP2
000034a2: MSTORE
000034a3: PUSH0
000034a4: DUP1
000034a5: MLOAD
000034a6: PUSH1 0x20
000034a8: PUSH2 0x4693
000034ab: DUP4
000034ac: CODECOPY
000034ad: DUP2
000034ae: MLOAD
000034af: SWAP2
000034b0: MSTORE
000034b1: PUSH1 0x20
000034b3: SWAP1
000034b4: DUP2
000034b5: MSTORE
000034b6: PUSH1 0x40
000034b8: DUP1
000034b9: DUP4
000034ba: KECCAK256
000034bb: PUSH1 0x01
000034bd: PUSH1 0x01
000034bf: PUSH1 0xa0
000034c1: SHL
000034c2: SUB
000034c3: DUP6
000034c4: AND
000034c5: DUP1
000034c6: DUP6
000034c7: MSTORE
000034c8: SWAP3
000034c9: MSTORE
000034ca: DUP1
000034cb: DUP4
000034cc: KECCAK256
000034cd: DUP1
000034ce: SLOAD
000034cf: PUSH1 0xff
000034d1: NOT
000034d2: AND
000034d3: SWAP1
000034d4: SSTORE
000034d5: MLOAD
000034d6: CALLER
000034d7: SWAP3
000034d8: DUP6
000034d9: SWAP2
000034da: PUSH32 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b
000034fb: SWAP2
000034fc: SWAP1
000034fd: LOG4
000034fe: POP
000034ff: POP
00003500: JUMP
00003501: JUMPDEST
00003502: PUSH2 0x0a95
00003505: PUSH1 0x40
00003507: MLOAD
00003508: DUP1
00003509: PUSH1 0x60
0000350b: ADD
0000350c: PUSH1 0x40
0000350e: MSTORE
0000350f: DUP1
00003510: PUSH1 0x28
00003512: DUP2
00003513: MSTORE
00003514: PUSH1 0x20
00003516: ADD
00003517: PUSH2 0x45c4
0000351a: PUSH1 0x28
0000351c: SWAP2
0000351d: CODECOPY
0000351e: DUP3
0000351f: PUSH2 0x3885
00003522: JUMP
00003523: JUMPDEST
00003524: PUSH2 0x0a95
00003527: PUSH1 0x40
00003529: MLOAD
0000352a: DUP1
0000352b: PUSH1 0x60
0000352d: ADD
0000352e: PUSH1 0x40
00003530: MSTORE
00003531: DUP1
00003532: PUSH1 0x26
00003534: DUP2
00003535: MSTORE
00003536: PUSH1 0x20
00003538: ADD
00003539: PUSH2 0x473a
0000353c: PUSH1 0x26
0000353e: SWAP2
0000353f: CODECOPY
00003540: DUP3
00003541: PUSH2 0x3885
00003544: JUMP
00003545: JUMPDEST
00003546: PUSH2 0x0a95
00003549: PUSH1 0x40
0000354b: MLOAD
0000354c: DUP1
0000354d: PUSH1 0x60
0000354f: ADD
00003550: PUSH1 0x40
00003552: MSTORE
00003553: DUP1
00003554: PUSH1 0x2b
00003556: DUP2
00003557: MSTORE
00003558: PUSH1 0x20
0000355a: ADD
0000355b: PUSH2 0x4760
0000355e: PUSH1 0x2b
00003560: SWAP2
00003561: CODECOPY
00003562: DUP3
00003563: PUSH2 0x38d3
00003566: JUMP
00003567: JUMPDEST
00003568: PUSH2 0x356f
0000356b: PUSH2 0x3905
0000356e: JUMP
0000356f: JUMPDEST
00003570: ISZERO
00003571: PUSH2 0x35dc
00003574: JUMPI
00003575: PUSH2 0x358b
00003578: PUSH0
00003579: DUP1
0000357a: MLOAD
0000357b: PUSH1 0x20
0000357d: PUSH2 0x45ec
00003580: DUP4
00003581: CODECOPY
00003582: DUP2
00003583: MLOAD
00003584: SWAP2
00003585: MSTORE
00003586: DUP4
00003587: PUSH2 0x27b8
0000358a: JUMP
0000358b: JUMPDEST
0000358c: PUSH2 0x35d7
0000358f: JUMPI
00003590: PUSH1 0x40
00003592: MLOAD
00003593: PUSH3 0x461bcd
00003597: PUSH1 0xe5
00003599: SHL
0000359a: DUP2
0000359b: MSTORE
0000359c: PUSH1 0x20
0000359e: PUSH1 0x04
000035a0: DUP3
000035a1: ADD
000035a2: MSTORE
000035a3: PUSH1 0x19
000035a5: PUSH1 0x24
000035a7: DUP3
000035a8: ADD
000035a9: MSTORE
000035aa: PUSH32 0x524f4c45535f414c52454144595f494e495449414c495a454400000000000000
000035cb: PUSH1 0x44
000035cd: DUP3
000035ce: ADD
000035cf: MSTORE
000035d0: PUSH1 0x64
000035d2: ADD
000035d3: PUSH2 0x0b55
000035d6: JUMP
000035d7: JUMPDEST
000035d8: PUSH2 0x35e5
000035db: JUMP
000035dc: JUMPDEST
000035dd: PUSH2 0x35e5
000035e0: DUP3
000035e1: PUSH2 0x3924
000035e4: JUMP
000035e5: JUMPDEST
000035e6: PUSH2 0x35ed
000035e9: PUSH2 0x3a06
000035ec: JUMP
000035ed: JUMPDEST
000035ee: ISZERO
000035ef: PUSH2 0x3660
000035f2: JUMPI
000035f3: PUSH2 0x3609
000035f6: PUSH0
000035f7: DUP1
000035f8: MLOAD
000035f9: PUSH1 0x20
000035fb: PUSH2 0x460c
000035fe: DUP4
000035ff: CODECOPY
00003600: DUP2
00003601: MLOAD
00003602: SWAP2
00003603: MSTORE
00003604: DUP3
00003605: PUSH2 0x27b8
00003608: JUMP
00003609: JUMPDEST
0000360a: PUSH2 0x0a7a
0000360d: JUMPI
0000360e: PUSH1 0x40
00003610: MLOAD
00003611: PUSH3 0x461bcd
00003615: PUSH1 0xe5
00003617: SHL
00003618: DUP2
00003619: MSTORE
0000361a: PUSH1 0x20
0000361c: PUSH1 0x04
0000361e: DUP3
0000361f: ADD
00003620: MSTORE
00003621: PUSH1 0x22
00003623: PUSH1 0x24
00003625: DUP3
00003626: ADD
00003627: MSTORE
00003628: PUSH32 0x53454355524954595f524f4c45535f414c52454144595f494e495449414c495a
00003649: PUSH1 0x44
0000364b: DUP3
0000364c: ADD
0000364d: MSTORE
0000364e: PUSH2 0x1151
00003651: PUSH1 0xf2
00003653: SHL
00003654: PUSH1 0x64
00003656: DUP3
00003657: ADD
00003658: MSTORE
00003659: PUSH1 0x84
0000365b: ADD
0000365c: PUSH2 0x0b55
0000365f: JUMP
00003660: JUMPDEST
00003661: PUSH2 0x0a7a
00003664: DUP2
00003665: PUSH2 0x3a1e
00003668: JUMP
00003669: JUMPDEST
0000366a: PUSH0
0000366b: PUSH2 0x3672
0000366e: PUSH2 0x3a70
00003671: JUMP
00003672: JUMPDEST
00003673: PUSH0
00003674: PUSH2 0x367c
00003677: DUP5
00003678: PUSH2 0x3a92
0000367b: JUMP
0000367c: JUMPDEST
0000367d: DUP2
0000367e: MSTORE
0000367f: PUSH1 0x20
00003681: ADD
00003682: SWAP1
00003683: DUP2
00003684: MSTORE
00003685: PUSH1 0x20
00003687: ADD
00003688: PUSH0
00003689: KECCAK256
0000368a: SLOAD
0000368b: PUSH0
0000368c: EQ
0000368d: ISZERO
0000368e: SWAP1
0000368f: POP
00003690: SWAP2
00003691: SWAP1
00003692: POP
00003693: JUMP
00003694: JUMPDEST
00003695: PUSH0
00003696: DUP1
00003697: PUSH3 0x455447
0000369b: NOT
0000369c: PUSH1 0x01
0000369e: PUSH1 0x01
000036a0: PUSH1 0xa0
000036a2: SHL
000036a3: SUB
000036a4: DUP5
000036a5: AND
000036a6: ADD
000036a7: PUSH2 0x36b1
000036aa: JUMPI
000036ab: POP
000036ac: SELFBALANCE
000036ad: PUSH2 0x371a
000036b0: JUMP
000036b1: JUMPDEST
000036b2: PUSH1 0x40
000036b4: MLOAD
000036b5: PUSH4 0x70a08231
000036ba: PUSH1 0xe0
000036bc: SHL
000036bd: DUP2
000036be: MSTORE
000036bf: ADDRESS
000036c0: PUSH1 0x04
000036c2: DUP3
000036c3: ADD
000036c4: MSTORE
000036c5: PUSH1 0x01
000036c7: PUSH1 0x01
000036c9: PUSH1 0xa0
000036cb: SHL
000036cc: SUB
000036cd: DUP5
000036ce: AND
000036cf: SWAP1
000036d0: PUSH4 0x70a08231
000036d5: SWAP1
000036d6: PUSH1 0x24
000036d8: ADD
000036d9: PUSH1 0x20
000036db: PUSH1 0x40
000036dd: MLOAD
000036de: DUP1
000036df: DUP4
000036e0: SUB
000036e1: DUP2
000036e2: DUP7
000036e3: GAS
000036e4: STATICCALL
000036e5: ISZERO
000036e6: DUP1
000036e7: ISZERO
000036e8: PUSH2 0x36f3
000036eb: JUMPI
000036ec: RETURNDATASIZE
000036ed: PUSH0
000036ee: DUP1
000036ef: RETURNDATACOPY
000036f0: RETURNDATASIZE
000036f1: PUSH0
000036f2: REVERT
000036f3: JUMPDEST
000036f4: POP
000036f5: POP
000036f6: POP
000036f7: POP
000036f8: PUSH1 0x40
000036fa: MLOAD
000036fb: RETURNDATASIZE
000036fc: PUSH1 0x1f
000036fe: NOT
000036ff: PUSH1 0x1f
00003701: DUP3
00003702: ADD
00003703: AND
00003704: DUP3
00003705: ADD
00003706: DUP1
00003707: PUSH1 0x40
00003709: MSTORE
0000370a: POP
0000370b: DUP2
0000370c: ADD
0000370d: SWAP1
0000370e: PUSH2 0x3717
00003711: SWAP2
00003712: SWAP1
00003713: PUSH2 0x4113
00003716: JUMP
00003717: JUMPDEST
00003718: SWAP1
00003719: POP
0000371a: JUMPDEST
0000371b: PUSH0
0000371c: PUSH2 0x3723
0000371f: PUSH2 0x3ade
00003722: JUMP
00003723: JUMPDEST
00003724: SWAP1
00003725: POP
00003726: PUSH1 0x64
00003728: PUSH2 0x3731
0000372b: DUP3
0000372c: DUP5
0000372d: PUSH2 0x416e
00003730: JUMP
00003731: JUMPDEST
00003732: PUSH2 0x373b
00003735: SWAP2
00003736: SWAP1
00003737: PUSH2 0x451b
0000373a: JUMP
0000373b: JUMPDEST
0000373c: SWAP5
0000373d: SWAP4
0000373e: POP
0000373f: POP
00003740: POP
00003741: POP
00003742: JUMP
00003743: JUMPDEST
00003744: PUSH0
00003745: PUSH1 0x01
00003747: PUSH2 0x374e
0000374a: PUSH2 0x3a70
0000374d: JUMP
0000374e: JUMPDEST
0000374f: PUSH0
00003750: PUSH2 0x3758
00003753: DUP6
00003754: PUSH2 0x3a92
00003757: JUMP
00003758: JUMPDEST
00003759: DUP2
0000375a: MSTORE
0000375b: PUSH1 0x20
0000375d: ADD
0000375e: SWAP1
0000375f: DUP2
00003760: MSTORE
00003761: PUSH1 0x20
00003763: ADD
00003764: PUSH0
00003765: KECCAK256
00003766: SLOAD
00003767: PUSH2 0x1298
0000376a: SWAP2
0000376b: SWAP1
0000376c: PUSH2 0x421e
0000376f: JUMP
00003770: JUMPDEST
00003771: PUSH2 0x377b
00003774: PUSH1 0x01
00003776: DUP3
00003777: PUSH2 0x4185
0000377a: JUMP
0000377b: JUMPDEST
0000377c: PUSH2 0x3783
0000377f: PUSH2 0x3a70
00003782: JUMP
00003783: JUMPDEST
00003784: PUSH0
00003785: PUSH2 0x378d
00003788: DUP6
00003789: PUSH2 0x3a92
0000378c: JUMP
0000378d: JUMPDEST
0000378e: DUP2
0000378f: MSTORE
00003790: PUSH1 0x20
00003792: DUP2
00003793: ADD
00003794: SWAP2
00003795: SWAP1
00003796: SWAP2
00003797: MSTORE
00003798: PUSH1 0x40
0000379a: ADD
0000379b: PUSH0
0000379c: KECCAK256
0000379d: SSTORE
0000379e: POP
0000379f: POP
000037a0: JUMP
000037a1: JUMPDEST
000037a2: PUSH0
000037a3: DUP1
000037a4: DUP3
000037a5: PUSH1 0x40
000037a7: MLOAD
000037a8: PUSH1 0x20
000037aa: ADD
000037ab: PUSH2 0x37b4
000037ae: SWAP2
000037af: SWAP1
000037b0: PUSH2 0x42ca
000037b3: JUMP
000037b4: JUMPDEST
000037b5: PUSH1 0x40
000037b7: DUP1
000037b8: MLOAD
000037b9: PUSH1 0x1f
000037bb: NOT
000037bc: DUP2
000037bd: DUP5
000037be: SUB
000037bf: ADD
000037c0: DUP2
000037c1: MSTORE
000037c2: SWAP2
000037c3: SWAP1
000037c4: MSTORE
000037c5: DUP1
000037c6: MLOAD
000037c7: PUSH1 0x20
000037c9: SWAP1
000037ca: SWAP2
000037cb: ADD
000037cc: KECCAK256
000037cd: SWAP4
000037ce: SWAP3
000037cf: POP
000037d0: POP
000037d1: POP
000037d2: JUMP
000037d3: JUMPDEST
000037d4: PUSH2 0x37dc
000037d7: DUP3
000037d8: PUSH2 0x3269
000037db: JUMP
000037dc: JUMPDEST
000037dd: ISZERO
000037de: PUSH2 0x3817
000037e1: JUMPI
000037e2: PUSH1 0x40
000037e4: MLOAD
000037e5: PUSH3 0x461bcd
000037e9: PUSH1 0xe5
000037eb: SHL
000037ec: DUP2
000037ed: MSTORE
000037ee: PUSH1 0x20
000037f0: PUSH1 0x04
000037f2: DUP3
000037f3: ADD
000037f4: MSTORE
000037f5: PUSH1 0x0b
000037f7: PUSH1 0x24
000037f9: DUP3
000037fa: ADD
000037fb: MSTORE
000037fc: PUSH11 0x1053149150511657d4d155
00003808: PUSH1 0xaa
0000380a: SHL
0000380b: PUSH1 0x44
0000380d: DUP3
0000380e: ADD
0000380f: MSTORE
00003810: PUSH1 0x64
00003812: ADD
00003813: PUSH2 0x0b55
00003816: JUMP
00003817: JUMPDEST
00003818: PUSH2 0x0a7a
0000381b: DUP3
0000381c: DUP3
0000381d: PUSH2 0x38d3
00003820: JUMP
00003821: JUMPDEST
00003822: PUSH2 0x382b
00003825: DUP3
00003826: DUP3
00003827: PUSH2 0x27b8
0000382a: JUMP
0000382b: JUMPDEST
0000382c: PUSH2 0x0a7a
0000382f: JUMPI
00003830: PUSH2 0x3843
00003833: DUP2
00003834: PUSH1 0x01
00003836: PUSH1 0x01
00003838: PUSH1 0xa0
0000383a: SHL
0000383b: SUB
0000383c: AND
0000383d: PUSH1 0x14
0000383f: PUSH2 0x3b00
00003842: JUMP
00003843: JUMPDEST
00003844: PUSH2 0x384e
00003847: DUP4
00003848: PUSH1 0x20
0000384a: PUSH2 0x3b00
0000384d: JUMP
0000384e: JUMPDEST
0000384f: PUSH1 0x40
00003851: MLOAD
00003852: PUSH1 0x20
00003854: ADD
00003855: PUSH2 0x385f
00003858: SWAP3
00003859: SWAP2
0000385a: SWAP1
0000385b: PUSH2 0x453a
0000385e: JUMP
0000385f: JUMPDEST
00003860: PUSH1 0x40
00003862: DUP1
00003863: MLOAD
00003864: PUSH1 0x1f
00003866: NOT
00003867: DUP2
00003868: DUP5
00003869: SUB
0000386a: ADD
0000386b: DUP2
0000386c: MSTORE
0000386d: SWAP1
0000386e: DUP3
0000386f: SWAP1
00003870: MSTORE
00003871: PUSH3 0x461bcd
00003875: PUSH1 0xe5
00003877: SHL
00003878: DUP3
00003879: MSTORE
0000387a: PUSH2 0x0b55
0000387d: SWAP2
0000387e: PUSH1 0x04
00003880: ADD
00003881: PUSH2 0x4065
00003884: JUMP
00003885: JUMPDEST
00003886: PUSH0
00003887: PUSH2 0x388f
0000388a: DUP4
0000388b: PUSH2 0x3269
0000388e: JUMP
0000388f: JUMPDEST
00003890: PUSH1 0x01
00003892: PUSH1 0x01
00003894: PUSH1 0xa0
00003896: SHL
00003897: SUB
00003898: AND
00003899: EQ
0000389a: PUSH2 0x3817
0000389d: JUMPI
0000389e: PUSH1 0x40
000038a0: MLOAD
000038a1: PUSH3 0x461bcd
000038a5: PUSH1 0xe5
000038a7: SHL
000038a8: DUP2
000038a9: MSTORE
000038aa: PUSH1 0x20
000038ac: PUSH1 0x04
000038ae: DUP3
000038af: ADD
000038b0: MSTORE
000038b1: PUSH1 0x0b
000038b3: PUSH1 0x24
000038b5: DUP3
000038b6: ADD
000038b7: MSTORE
000038b8: PUSH11 0x1053149150511657d4d155
000038c4: PUSH1 0xaa
000038c6: SHL
000038c7: PUSH1 0x44
000038c9: DUP3
000038ca: ADD
000038cb: MSTORE
000038cc: PUSH1 0x64
000038ce: ADD
000038cf: PUSH2 0x0b55
000038d2: JUMP
000038d3: JUMPDEST
000038d4: PUSH0
000038d5: DUP3
000038d6: PUSH1 0x40
000038d8: MLOAD
000038d9: PUSH1 0x20
000038db: ADD
000038dc: PUSH2 0x38e5
000038df: SWAP2
000038e0: SWAP1
000038e1: PUSH2 0x42ca
000038e4: JUMP
000038e5: JUMPDEST
000038e6: PUSH1 0x40
000038e8: MLOAD
000038e9: PUSH1 0x20
000038eb: DUP2
000038ec: DUP4
000038ed: SUB
000038ee: SUB
000038ef: DUP2
000038f0: MSTORE
000038f1: SWAP1
000038f2: PUSH1 0x40
000038f4: MSTORE
000038f5: DUP1
000038f6: MLOAD
000038f7: SWAP1
000038f8: PUSH1 0x20
000038fa: ADD
000038fb: KECCAK256
000038fc: SWAP1
000038fd: POP
000038fe: DUP2
000038ff: DUP2
00003900: SSTORE
00003901: POP
00003902: POP
00003903: POP
00003904: JUMP
00003905: JUMPDEST
00003906: PUSH0
00003907: DUP1
00003908: PUSH2 0x391d
0000390b: PUSH0
0000390c: DUP1
0000390d: MLOAD
0000390e: PUSH1 0x20
00003910: PUSH2 0x45ec
00003913: DUP4
00003914: CODECOPY
00003915: DUP2
00003916: MLOAD
00003917: SWAP2
00003918: MSTORE
00003919: PUSH2 0x329c
0000391c: JUMP
0000391d: JUMPDEST
0000391e: EQ
0000391f: ISZERO
00003920: SWAP1
00003921: POP
00003922: SWAP1
00003923: JUMP
00003924: JUMPDEST
00003925: PUSH2 0x393b
00003928: PUSH0
00003929: DUP1
0000392a: MLOAD
0000392b: PUSH1 0x20
0000392d: PUSH2 0x45ec
00003930: DUP4
00003931: CODECOPY
00003932: DUP2
00003933: MLOAD
00003934: SWAP2
00003935: MSTORE
00003936: DUP3
00003937: PUSH2 0x32c6
0000393a: JUMP
0000393b: JUMPDEST
0000393c: PUSH2 0x395f
0000393f: PUSH0
00003940: DUP1
00003941: MLOAD
00003942: PUSH1 0x20
00003944: PUSH2 0x4653
00003947: DUP4
00003948: CODECOPY
00003949: DUP2
0000394a: MLOAD
0000394b: SWAP2
0000394c: MSTORE
0000394d: PUSH0
0000394e: DUP1
0000394f: MLOAD
00003950: PUSH1 0x20
00003952: PUSH2 0x471a
00003955: DUP4
00003956: CODECOPY
00003957: DUP2
00003958: MLOAD
00003959: SWAP2
0000395a: MSTORE
0000395b: PUSH2 0x3c96
0000395e: JUMP
0000395f: JUMPDEST
00003960: PUSH2 0x3983
00003963: PUSH0
00003964: DUP1
00003965: MLOAD
00003966: PUSH1 0x20
00003968: PUSH2 0x471a
0000396b: DUP4
0000396c: CODECOPY
0000396d: DUP2
0000396e: MLOAD
0000396f: SWAP2
00003970: MSTORE
00003971: PUSH0
00003972: DUP1
00003973: MLOAD
00003974: PUSH1 0x20
00003976: PUSH2 0x45ec
00003979: DUP4
0000397a: CODECOPY
0000397b: DUP2
0000397c: MLOAD
0000397d: SWAP2
0000397e: MSTORE
0000397f: PUSH2 0x3c96
00003982: JUMP
00003983: JUMPDEST
00003984: PUSH2 0x399a
00003987: PUSH0
00003988: DUP1
00003989: MLOAD
0000398a: PUSH1 0x20
0000398c: PUSH2 0x45ec
0000398f: DUP4
00003990: CODECOPY
00003991: DUP2
00003992: MLOAD
00003993: SWAP2
00003994: MSTORE
00003995: DUP1
00003996: PUSH2 0x3c96
00003999: JUMP
0000399a: JUMPDEST
0000399b: PUSH2 0x39be
0000399e: PUSH0
0000399f: DUP1
000039a0: MLOAD
000039a1: PUSH1 0x20
000039a3: PUSH2 0x47f4
000039a6: DUP4
000039a7: CODECOPY
000039a8: DUP2
000039a9: MLOAD
000039aa: SWAP2
000039ab: MSTORE
000039ac: PUSH0
000039ad: DUP1
000039ae: MLOAD
000039af: PUSH1 0x20
000039b1: PUSH2 0x471a
000039b4: DUP4
000039b5: CODECOPY
000039b6: DUP2
000039b7: MLOAD
000039b8: SWAP2
000039b9: MSTORE
000039ba: PUSH2 0x3c96
000039bd: JUMP
000039be: JUMPDEST
000039bf: PUSH2 0x39e2
000039c2: PUSH0
000039c3: DUP1
000039c4: MLOAD
000039c5: PUSH1 0x20
000039c7: PUSH2 0x483d
000039ca: DUP4
000039cb: CODECOPY
000039cc: DUP2
000039cd: MLOAD
000039ce: SWAP2
000039cf: MSTORE
000039d0: PUSH0
000039d1: DUP1
000039d2: MLOAD
000039d3: PUSH1 0x20
000039d5: PUSH2 0x471a
000039d8: DUP4
000039d9: CODECOPY
000039da: DUP2
000039db: MLOAD
000039dc: SWAP2
000039dd: MSTORE
000039de: PUSH2 0x3c96
000039e1: JUMP
000039e2: JUMPDEST
000039e3: PUSH2 0x0a95
000039e6: PUSH0
000039e7: DUP1
000039e8: MLOAD
000039e9: PUSH1 0x20
000039eb: PUSH2 0x4673
000039ee: DUP4
000039ef: CODECOPY
000039f0: DUP2
000039f1: MLOAD
000039f2: SWAP2
000039f3: MSTORE
000039f4: PUSH0
000039f5: DUP1
000039f6: MLOAD
000039f7: PUSH1 0x20
000039f9: PUSH2 0x45ec
000039fc: DUP4
000039fd: CODECOPY
000039fe: DUP2
000039ff: MLOAD
00003a00: SWAP2
00003a01: MSTORE
00003a02: PUSH2 0x3c96
00003a05: JUMP
00003a06: JUMPDEST
00003a07: PUSH0
00003a08: DUP1
00003a09: PUSH2 0x391d
00003a0c: PUSH0
00003a0d: DUP1
00003a0e: MLOAD
00003a0f: PUSH1 0x20
00003a11: PUSH2 0x460c
00003a14: DUP4
00003a15: CODECOPY
00003a16: DUP2
00003a17: MLOAD
00003a18: SWAP2
00003a19: MSTORE
00003a1a: PUSH2 0x329c
00003a1d: JUMP
00003a1e: JUMPDEST
00003a1f: PUSH2 0x3a35
00003a22: PUSH0
00003a23: DUP1
00003a24: MLOAD
00003a25: PUSH1 0x20
00003a27: PUSH2 0x460c
00003a2a: DUP4
00003a2b: CODECOPY
00003a2c: DUP2
00003a2d: MLOAD
00003a2e: SWAP2
00003a2f: MSTORE
00003a30: DUP1
00003a31: PUSH2 0x3c96
00003a34: JUMP
00003a35: JUMPDEST
00003a36: PUSH2 0x3a59
00003a39: PUSH0
00003a3a: DUP1
00003a3b: MLOAD
00003a3c: PUSH1 0x20
00003a3e: PUSH2 0x46fa
00003a41: DUP4
00003a42: CODECOPY
00003a43: DUP2
00003a44: MLOAD
00003a45: SWAP2
00003a46: MSTORE
00003a47: PUSH0
00003a48: DUP1
00003a49: MLOAD
00003a4a: PUSH1 0x20
00003a4c: PUSH2 0x460c
00003a4f: DUP4
00003a50: CODECOPY
00003a51: DUP2
00003a52: MLOAD
00003a53: SWAP2
00003a54: MSTORE
00003a55: PUSH2 0x3c96
00003a58: JUMP
00003a59: JUMPDEST
00003a5a: PUSH2 0x0a95
00003a5d: PUSH0
00003a5e: DUP1
00003a5f: MLOAD
00003a60: PUSH1 0x20
00003a62: PUSH2 0x460c
00003a65: DUP4
00003a66: CODECOPY
00003a67: DUP2
00003a68: MLOAD
00003a69: SWAP2
00003a6a: MSTORE
00003a6b: DUP3
00003a6c: PUSH2 0x32c6
00003a6f: JUMP
00003a70: JUMPDEST
00003a71: PUSH0
00003a72: PUSH2 0x0c8f
00003a75: PUSH1 0x40
00003a77: MLOAD
00003a78: DUP1
00003a79: PUSH1 0x60
00003a7b: ADD
00003a7c: PUSH1 0x40
00003a7e: MSTORE
00003a7f: DUP1
00003a80: PUSH1 0x27
00003a82: DUP2
00003a83: MSTORE
00003a84: PUSH1 0x20
00003a86: ADD
00003a87: PUSH2 0x462c
00003a8a: PUSH1 0x27
00003a8c: SWAP2
00003a8d: CODECOPY
00003a8e: PUSH2 0x37a1
00003a91: JUMP
00003a92: JUMPDEST
00003a93: PUSH0
00003a94: DUP1
00003a95: PUSH2 0x3aa1
00003a98: PUSH3 0x015180
00003a9c: TIMESTAMP
00003a9d: PUSH2 0x451b
00003aa0: JUMP
00003aa1: JUMPDEST
00003aa2: PUSH1 0x40
00003aa4: DUP1
00003aa5: MLOAD
00003aa6: PUSH1 0x01
00003aa8: PUSH1 0x01
00003aaa: PUSH1 0xa0
00003aac: SHL
00003aad: SUB
00003aae: DUP7
00003aaf: AND
00003ab0: PUSH1 0x20
00003ab2: DUP3
00003ab3: ADD
00003ab4: MSTORE
00003ab5: SWAP1
00003ab6: DUP2
00003ab7: ADD
00003ab8: DUP3
00003ab9: SWAP1
00003aba: MSTORE
00003abb: SWAP1
00003abc: SWAP2
00003abd: POP
00003abe: PUSH1 0x60
00003ac0: ADD
00003ac1: PUSH1 0x40
00003ac3: MLOAD
00003ac4: PUSH1 0x20
00003ac6: DUP2
00003ac7: DUP4
00003ac8: SUB
00003ac9: SUB
00003aca: DUP2
00003acb: MSTORE
00003acc: SWAP1
00003acd: PUSH1 0x40
00003acf: MSTORE
00003ad0: DUP1
00003ad1: MLOAD
00003ad2: SWAP1
00003ad3: PUSH1 0x20
00003ad5: ADD
00003ad6: KECCAK256
00003ad7: SWAP2
00003ad8: POP
00003ad9: POP
00003ada: SWAP2
00003adb: SWAP1
00003adc: POP
00003add: JUMP
00003ade: JUMPDEST
00003adf: PUSH0
00003ae0: PUSH2 0x0c8f
00003ae3: PUSH1 0x40
00003ae5: MLOAD
00003ae6: DUP1
00003ae7: PUSH1 0x60
00003ae9: ADD
00003aea: PUSH1 0x40
00003aec: MSTORE
00003aed: DUP1
00003aee: PUSH1 0x2b
00003af0: DUP2
00003af1: MSTORE
00003af2: PUSH1 0x20
00003af4: ADD
00003af5: PUSH2 0x4760
00003af8: PUSH1 0x2b
00003afa: SWAP2
00003afb: CODECOPY
00003afc: PUSH2 0x3269
00003aff: JUMP
00003b00: JUMPDEST
00003b01: PUSH1 0x60
00003b03: PUSH0
00003b04: PUSH2 0x3b0e
00003b07: DUP4
00003b08: PUSH1 0x02
00003b0a: PUSH2 0x416e
00003b0d: JUMP
00003b0e: JUMPDEST
00003b0f: PUSH2 0x3b19
00003b12: SWAP1
00003b13: PUSH1 0x02
00003b15: PUSH2 0x4185
00003b18: JUMP
00003b19: JUMPDEST
00003b1a: PUSH8 0xffffffffffffffff
00003b23: DUP2
00003b24: GT
00003b25: ISZERO
00003b26: PUSH2 0x3b31
00003b29: JUMPI
00003b2a: PUSH2 0x3b31
00003b2d: PUSH2 0x4097
00003b30: JUMP
00003b31: JUMPDEST
00003b32: PUSH1 0x40
00003b34: MLOAD
00003b35: SWAP1
00003b36: DUP1
00003b37: DUP3
00003b38: MSTORE
00003b39: DUP1
00003b3a: PUSH1 0x1f
00003b3c: ADD
00003b3d: PUSH1 0x1f
00003b3f: NOT
00003b40: AND
00003b41: PUSH1 0x20
00003b43: ADD
00003b44: DUP3
00003b45: ADD
00003b46: PUSH1 0x40
00003b48: MSTORE
00003b49: DUP1
00003b4a: ISZERO
00003b4b: PUSH2 0x3b5b
00003b4e: JUMPI
00003b4f: PUSH1 0x20
00003b51: DUP3
00003b52: ADD
00003b53: DUP2
00003b54: DUP1
00003b55: CALLDATASIZE
00003b56: DUP4
00003b57: CALLDATACOPY
00003b58: ADD
00003b59: SWAP1
00003b5a: POP
00003b5b: JUMPDEST
00003b5c: POP
00003b5d: SWAP1
00003b5e: POP
00003b5f: PUSH1 0x03
00003b61: PUSH1 0xfc
00003b63: SHL
00003b64: DUP2
00003b65: PUSH0
00003b66: DUP2
00003b67: MLOAD
00003b68: DUP2
00003b69: LT
00003b6a: PUSH2 0x3b75
00003b6d: JUMPI
00003b6e: PUSH2 0x3b75
00003b71: PUSH2 0x43fc
00003b74: JUMP
00003b75: JUMPDEST
00003b76: PUSH1 0x20
00003b78: ADD
00003b79: ADD
00003b7a: SWAP1
00003b7b: PUSH1 0x01
00003b7d: PUSH1 0x01
00003b7f: PUSH1 0xf8
00003b81: SHL
00003b82: SUB
00003b83: NOT
00003b84: AND
00003b85: SWAP1
00003b86: DUP2
00003b87: PUSH0
00003b88: BYTE
00003b89: SWAP1
00003b8a: MSTORE8
00003b8b: POP
00003b8c: PUSH1 0x0f
00003b8e: PUSH1 0xfb
00003b90: SHL
00003b91: DUP2
00003b92: PUSH1 0x01
00003b94: DUP2
00003b95: MLOAD
00003b96: DUP2
00003b97: LT
00003b98: PUSH2 0x3ba3
00003b9b: JUMPI
00003b9c: PUSH2 0x3ba3
00003b9f: PUSH2 0x43fc
00003ba2: JUMP
00003ba3: JUMPDEST
00003ba4: PUSH1 0x20
00003ba6: ADD
00003ba7: ADD
00003ba8: SWAP1
00003ba9: PUSH1 0x01
00003bab: PUSH1 0x01
00003bad: PUSH1 0xf8
00003baf: SHL
00003bb0: SUB
00003bb1: NOT
00003bb2: AND
00003bb3: SWAP1
00003bb4: DUP2
00003bb5: PUSH0
00003bb6: BYTE
00003bb7: SWAP1
00003bb8: MSTORE8
00003bb9: POP
00003bba: PUSH0
00003bbb: PUSH2 0x3bc5
00003bbe: DUP5
00003bbf: PUSH1 0x02
00003bc1: PUSH2 0x416e
00003bc4: JUMP
00003bc5: JUMPDEST
00003bc6: PUSH2 0x3bd0
00003bc9: SWAP1
00003bca: PUSH1 0x01
00003bcc: PUSH2 0x4185
00003bcf: JUMP
00003bd0: JUMPDEST
00003bd1: SWAP1
00003bd2: POP
00003bd3: JUMPDEST
00003bd4: PUSH1 0x01
00003bd6: DUP2
00003bd7: GT
00003bd8: ISZERO
00003bd9: PUSH2 0x3c47
00003bdc: JUMPI
00003bdd: PUSH16 0x181899199a1a9b1b9c1cb0b131b232b3
00003bee: PUSH1 0x81
00003bf0: SHL
00003bf1: DUP6
00003bf2: PUSH1 0x0f
00003bf4: AND
00003bf5: PUSH1 0x10
00003bf7: DUP2
00003bf8: LT
00003bf9: PUSH2 0x3c04
00003bfc: JUMPI
00003bfd: PUSH2 0x3c04
00003c00: PUSH2 0x43fc
00003c03: JUMP
00003c04: JUMPDEST
00003c05: BYTE
00003c06: PUSH1 0xf8
00003c08: SHL
00003c09: DUP3
00003c0a: DUP3
00003c0b: DUP2
00003c0c: MLOAD
00003c0d: DUP2
00003c0e: LT
00003c0f: PUSH2 0x3c1a
00003c12: JUMPI
00003c13: PUSH2 0x3c1a
00003c16: PUSH2 0x43fc
00003c19: JUMP
00003c1a: JUMPDEST
00003c1b: PUSH1 0x20
00003c1d: ADD
00003c1e: ADD
00003c1f: SWAP1
00003c20: PUSH1 0x01
00003c22: PUSH1 0x01
00003c24: PUSH1 0xf8
00003c26: SHL
00003c27: SUB
00003c28: NOT
00003c29: AND
00003c2a: SWAP1
00003c2b: DUP2
00003c2c: PUSH0
00003c2d: BYTE
00003c2e: SWAP1
00003c2f: MSTORE8
00003c30: POP
00003c31: PUSH1 0x04
00003c33: SWAP5
00003c34: SWAP1
00003c35: SWAP5
00003c36: SHR
00003c37: SWAP4
00003c38: PUSH2 0x3c40
00003c3b: DUP2
00003c3c: PUSH2 0x45ae
00003c3f: JUMP
00003c40: JUMPDEST
00003c41: SWAP1
00003c42: POP
00003c43: PUSH2 0x3bd3
00003c46: JUMP
00003c47: JUMPDEST
00003c48: POP
00003c49: DUP4
00003c4a: ISZERO
00003c4b: PUSH2 0x0af0
00003c4e: JUMPI
00003c4f: PUSH1 0x40
00003c51: MLOAD
00003c52: PUSH3 0x461bcd
00003c56: PUSH1 0xe5
00003c58: SHL
00003c59: DUP2
00003c5a: MSTORE
00003c5b: PUSH1 0x20
00003c5d: PUSH1 0x04
00003c5f: DUP3
00003c60: ADD
00003c61: DUP2
00003c62: SWAP1
00003c63: MSTORE
00003c64: PUSH1 0x24
00003c66: DUP3
00003c67: ADD
00003c68: MSTORE
00003c69: PUSH32 0x537472696e67733a20686578206c656e67746820696e73756666696369656e74
00003c8a: PUSH1 0x44
00003c8c: DUP3
00003c8d: ADD
00003c8e: MSTORE
00003c8f: PUSH1 0x64
00003c91: ADD
00003c92: PUSH2 0x0b55
00003c95: JUMP
00003c96: JUMPDEST
00003c97: PUSH0
00003c98: PUSH2 0x3ca0
00003c9b: DUP4
00003c9c: PUSH2 0x329c
00003c9f: JUMP
00003ca0: JUMPDEST
00003ca1: PUSH0
00003ca2: DUP5
00003ca3: DUP2
00003ca4: MSTORE
00003ca5: PUSH0
00003ca6: DUP1
00003ca7: MLOAD
00003ca8: PUSH1 0x20
00003caa: PUSH2 0x4693
00003cad: DUP4
00003cae: CODECOPY
00003caf: DUP2
00003cb0: MLOAD
00003cb1: SWAP2
00003cb2: MSTORE
00003cb3: PUSH1 0x20
00003cb5: MSTORE
00003cb6: PUSH1 0x40
00003cb8: DUP1
00003cb9: DUP3
00003cba: KECCAK256
00003cbb: PUSH1 0x01
00003cbd: ADD
00003cbe: DUP6
00003cbf: SWAP1
00003cc0: SSTORE
00003cc1: MLOAD
00003cc2: SWAP2
00003cc3: SWAP3
00003cc4: POP
00003cc5: DUP4
00003cc6: SWAP2
00003cc7: DUP4
00003cc8: SWAP2
00003cc9: DUP7
00003cca: SWAP2
00003ccb: PUSH32 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff
00003cec: SWAP2
00003ced: SWAP1
00003cee: LOG4
00003cef: POP
00003cf0: POP
00003cf1: POP
00003cf2: JUMP
00003cf3: JUMPDEST
00003cf4: PUSH1 0x01
00003cf6: PUSH1 0x01
00003cf8: PUSH1 0xa0
00003cfa: SHL
00003cfb: SUB
00003cfc: DUP2
00003cfd: AND
00003cfe: DUP2
00003cff: EQ
00003d00: PUSH2 0x0a95
00003d03: JUMPI
00003d04: PUSH0
00003d05: DUP1
00003d06: REVERT
00003d07: JUMPDEST
00003d08: PUSH0
00003d09: DUP1
00003d0a: PUSH1 0x40
00003d0c: DUP4
00003d0d: DUP6
00003d0e: SUB
00003d0f: SLT
00003d10: ISZERO
00003d11: PUSH2 0x3d18
00003d14: JUMPI
00003d15: PUSH0
00003d16: DUP1
00003d17: REVERT
00003d18: JUMPDEST
00003d19: DUP3
00003d1a: CALLDATALOAD
00003d1b: SWAP2
00003d1c: POP
00003d1d: PUSH1 0x20
00003d1f: DUP4
00003d20: ADD
00003d21: CALLDATALOAD
00003d22: PUSH2 0x3d2a
00003d25: DUP2
00003d26: PUSH2 0x3cf3
00003d29: JUMP
00003d2a: JUMPDEST
00003d2b: DUP1
00003d2c: SWAP2
00003d2d: POP
00003d2e: POP
00003d2f: SWAP3
00003d30: POP
00003d31: SWAP3
00003d32: SWAP1
00003d33: POP
00003d34: JUMP
00003d35: JUMPDEST
00003d36: PUSH0
00003d37: PUSH1 0x20
00003d39: DUP3
00003d3a: DUP5
00003d3b: SUB
00003d3c: SLT
00003d3d: ISZERO
00003d3e: PUSH2 0x3d45
00003d41: JUMPI
00003d42: PUSH0
00003d43: DUP1
00003d44: REVERT
00003d45: JUMPDEST
00003d46: DUP2
00003d47: CALLDATALOAD
00003d48: PUSH2 0x0af0
00003d4b: DUP2
00003d4c: PUSH2 0x3cf3
00003d4f: JUMP
00003d50: JUMPDEST
00003d51: PUSH0
00003d52: DUP1
00003d53: PUSH0
00003d54: PUSH1 0x60
00003d56: DUP5
00003d57: DUP7
00003d58: SUB
00003d59: SLT
00003d5a: ISZERO
00003d5b: PUSH2 0x3d62
00003d5e: JUMPI
00003d5f: PUSH0
00003d60: DUP1
00003d61: REVERT
00003d62: JUMPDEST
00003d63: DUP4
00003d64: CALLDATALOAD
00003d65: PUSH2 0x3d6d
00003d68: DUP2
00003d69: PUSH2 0x3cf3
00003d6c: JUMP
00003d6d: JUMPDEST
00003d6e: SWAP6
00003d6f: PUSH1 0x20
00003d71: DUP6
00003d72: ADD
00003d73: CALLDATALOAD
00003d74: SWAP6
00003d75: POP
00003d76: PUSH1 0x40
00003d78: SWAP1
00003d79: SWAP5
00003d7a: ADD
00003d7b: CALLDATALOAD
00003d7c: SWAP4
00003d7d: SWAP3
00003d7e: POP
00003d7f: POP
00003d80: POP
00003d81: JUMP
00003d82: JUMPDEST
00003d83: PUSH0
00003d84: DUP1
00003d85: PUSH0
00003d86: DUP1
00003d87: PUSH1 0x80
00003d89: DUP6
00003d8a: DUP8
00003d8b: SUB
00003d8c: SLT
00003d8d: ISZERO
00003d8e: PUSH2 0x3d95
00003d91: JUMPI
00003d92: PUSH0
00003d93: DUP1
00003d94: REVERT
00003d95: JUMPDEST
00003d96: DUP5
00003d97: CALLDATALOAD
00003d98: PUSH2 0x3da0
00003d9b: DUP2
00003d9c: PUSH2 0x3cf3
00003d9f: JUMP
00003da0: JUMPDEST
00003da1: SWAP7
00003da2: PUSH1 0x20
00003da4: DUP7
00003da5: ADD
00003da6: CALLDATALOAD
00003da7: SWAP7
00003da8: POP
00003da9: PUSH1 0x40
00003dab: DUP7
00003dac: ADD
00003dad: CALLDATALOAD
00003dae: SWAP6
00003daf: PUSH1 0x60
00003db1: ADD
00003db2: CALLDATALOAD
00003db3: SWAP5
00003db4: POP
00003db5: SWAP3
00003db6: POP
00003db7: POP
00003db8: POP
00003db9: JUMP
00003dba: JUMPDEST
00003dbb: PUSH0
00003dbc: PUSH1 0x20
00003dbe: DUP3
00003dbf: DUP5
00003dc0: SUB
00003dc1: SLT
00003dc2: ISZERO
00003dc3: PUSH2 0x3dca
00003dc6: JUMPI
00003dc7: PUSH0
00003dc8: DUP1
00003dc9: REVERT
00003dca: JUMPDEST
00003dcb: POP
00003dcc: CALLDATALOAD
00003dcd: SWAP2
00003dce: SWAP1
00003dcf: POP
00003dd0: JUMP
00003dd1: JUMPDEST
00003dd2: PUSH4 0x4e487b71
00003dd7: PUSH1 0xe0
00003dd9: SHL
00003dda: PUSH0
00003ddb: MSTORE
00003ddc: PUSH1 0x21
00003dde: PUSH1 0x04
00003de0: MSTORE
00003de1: PUSH1 0x24
00003de3: PUSH0
00003de4: REVERT
00003de5: JUMPDEST
00003de6: PUSH1 0x20
00003de8: DUP2
00003de9: ADD
00003dea: PUSH1 0x04
00003dec: DUP4
00003ded: LT
00003dee: PUSH2 0x3e05
00003df1: JUMPI
00003df2: PUSH4 0x4e487b71
00003df7: PUSH1 0xe0
00003df9: SHL
00003dfa: PUSH0
00003dfb: MSTORE
00003dfc: PUSH1 0x21
00003dfe: PUSH1 0x04
00003e00: MSTORE
00003e01: PUSH1 0x24
00003e03: PUSH0
00003e04: REVERT
00003e05: JUMPDEST
00003e06: SWAP2
00003e07: SWAP1
00003e08: MSTORE
00003e09: SWAP1
00003e0a: JUMP
00003e0b: JUMPDEST
00003e0c: PUSH0
00003e0d: DUP1
00003e0e: PUSH1 0x20
00003e10: DUP4
00003e11: DUP6
00003e12: SUB
00003e13: SLT
00003e14: ISZERO
00003e15: PUSH2 0x3e1c
00003e18: JUMPI
00003e19: PUSH0
00003e1a: DUP1
00003e1b: REVERT
00003e1c: JUMPDEST
00003e1d: DUP3
00003e1e: CALLDATALOAD
00003e1f: PUSH8 0xffffffffffffffff
00003e28: DUP1
00003e29: DUP3
00003e2a: GT
00003e2b: ISZERO
00003e2c: PUSH2 0x3e33
00003e2f: JUMPI
00003e30: PUSH0
00003e31: DUP1
00003e32: REVERT
00003e33: JUMPDEST
00003e34: DUP2
00003e35: DUP6
00003e36: ADD
00003e37: SWAP2
00003e38: POP
00003e39: DUP6
00003e3a: PUSH1 0x1f
00003e3c: DUP4
00003e3d: ADD
00003e3e: SLT
00003e3f: PUSH2 0x3e46
00003e42: JUMPI
00003e43: PUSH0
00003e44: DUP1
00003e45: REVERT
00003e46: JUMPDEST
00003e47: DUP2
00003e48: CALLDATALOAD
00003e49: DUP2
00003e4a: DUP2
00003e4b: GT
00003e4c: ISZERO
00003e4d: PUSH2 0x3e54
00003e50: JUMPI
00003e51: PUSH0
00003e52: DUP1
00003e53: REVERT
00003e54: JUMPDEST
00003e55: DUP7
00003e56: PUSH1 0x20
00003e58: DUP3
00003e59: DUP6
00003e5a: ADD
00003e5b: ADD
00003e5c: GT
00003e5d: ISZERO
00003e5e: PUSH2 0x3e65
00003e61: JUMPI
00003e62: PUSH0
00003e63: DUP1
00003e64: REVERT
00003e65: JUMPDEST
00003e66: PUSH1 0x20
00003e68: SWAP3
00003e69: SWAP1
00003e6a: SWAP3
00003e6b: ADD
00003e6c: SWAP7
00003e6d: SWAP2
00003e6e: SWAP6
00003e6f: POP
00003e70: SWAP1
00003e71: SWAP4
00003e72: POP
00003e73: POP
00003e74: POP
00003e75: POP
00003e76: JUMP
00003e77: JUMPDEST
00003e78: PUSH0
00003e79: DUP1
00003e7a: PUSH0
00003e7b: PUSH1 0x60
00003e7d: DUP5
00003e7e: DUP7
00003e7f: SUB
00003e80: SLT
00003e81: ISZERO
00003e82: PUSH2 0x3e89
00003e85: JUMPI
00003e86: PUSH0
00003e87: DUP1
00003e88: REVERT
00003e89: JUMPDEST
00003e8a: DUP4
00003e8b: CALLDATALOAD
00003e8c: PUSH2 0x3e94
00003e8f: DUP2
00003e90: PUSH2 0x3cf3
00003e93: JUMP
00003e94: JUMPDEST
00003e95: SWAP3
00003e96: POP
00003e97: PUSH1 0x20
00003e99: DUP5
00003e9a: ADD
00003e9b: CALLDATALOAD
00003e9c: SWAP2
00003e9d: POP
00003e9e: PUSH1 0x40
00003ea0: DUP5
00003ea1: ADD
00003ea2: CALLDATALOAD
00003ea3: PUSH2 0x3eab
00003ea6: DUP2
00003ea7: PUSH2 0x3cf3
00003eaa: JUMP
00003eab: JUMPDEST
00003eac: DUP1
00003ead: SWAP2
00003eae: POP
00003eaf: POP
00003eb0: SWAP3
00003eb1: POP
00003eb2: SWAP3
00003eb3: POP
00003eb4: SWAP3
00003eb5: JUMP
00003eb6: JUMPDEST
00003eb7: PUSH0
00003eb8: DUP1
00003eb9: PUSH0
00003eba: PUSH1 0x60
00003ebc: DUP5
00003ebd: DUP7
00003ebe: SUB
00003ebf: SLT
00003ec0: ISZERO
00003ec1: PUSH2 0x3ec8
00003ec4: JUMPI
00003ec5: PUSH0
00003ec6: DUP1
00003ec7: REVERT
00003ec8: JUMPDEST
00003ec9: POP
00003eca: POP
00003ecb: DUP2
00003ecc: CALLDATALOAD
00003ecd: SWAP4
00003ece: PUSH1 0x20
00003ed0: DUP4
00003ed1: ADD
00003ed2: CALLDATALOAD
00003ed3: SWAP4
00003ed4: POP
00003ed5: PUSH1 0x40
00003ed7: SWAP1
00003ed8: SWAP3
00003ed9: ADD
00003eda: CALLDATALOAD
00003edb: SWAP2
00003edc: SWAP1
00003edd: POP
00003ede: JUMP
00003edf: JUMPDEST
00003ee0: PUSH0
00003ee1: DUP1
00003ee2: DUP4
00003ee3: PUSH1 0x1f
00003ee5: DUP5
00003ee6: ADD
00003ee7: SLT
00003ee8: PUSH2 0x3eef
00003eeb: JUMPI
00003eec: PUSH0
00003eed: DUP1
00003eee: REVERT
00003eef: JUMPDEST
00003ef0: POP
00003ef1: DUP2
00003ef2: CALLDATALOAD
00003ef3: PUSH8 0xffffffffffffffff
00003efc: DUP2
00003efd: GT
00003efe: ISZERO
00003eff: PUSH2 0x3f06
00003f02: JUMPI
00003f03: PUSH0
00003f04: DUP1
00003f05: REVERT
00003f06: JUMPDEST
00003f07: PUSH1 0x20
00003f09: DUP4
00003f0a: ADD
00003f0b: SWAP2
00003f0c: POP
00003f0d: DUP4
00003f0e: PUSH1 0x20
00003f10: DUP3
00003f11: PUSH1 0x05
00003f13: SHL
00003f14: DUP6
00003f15: ADD
00003f16: ADD
00003f17: GT
00003f18: ISZERO
00003f19: PUSH2 0x3f20
00003f1c: JUMPI
00003f1d: PUSH0
00003f1e: DUP1
00003f1f: REVERT
00003f20: JUMPDEST
00003f21: SWAP3
00003f22: POP
00003f23: SWAP3
00003f24: SWAP1
00003f25: POP
00003f26: JUMP
00003f27: JUMPDEST
00003f28: PUSH0
00003f29: DUP1
00003f2a: PUSH0
00003f2b: DUP1
00003f2c: PUSH0
00003f2d: DUP1
00003f2e: PUSH1 0xa0
00003f30: DUP8
00003f31: DUP10
00003f32: SUB
00003f33: SLT
00003f34: ISZERO
00003f35: PUSH2 0x3f3c
00003f38: JUMPI
00003f39: PUSH0
00003f3a: DUP1
00003f3b: REVERT
00003f3c: JUMPDEST
00003f3d: DUP7
00003f3e: CALLDATALOAD
00003f3f: PUSH2 0x3f47
00003f42: DUP2
00003f43: PUSH2 0x3cf3
00003f46: JUMP
00003f47: JUMPDEST
00003f48: SWAP6
00003f49: POP
00003f4a: PUSH1 0x20
00003f4c: DUP8
00003f4d: ADD
00003f4e: CALLDATALOAD
00003f4f: SWAP5
00003f50: POP
00003f51: PUSH1 0x40
00003f53: DUP8
00003f54: ADD
00003f55: CALLDATALOAD
00003f56: SWAP4
00003f57: POP
00003f58: PUSH1 0x60
00003f5a: DUP8
00003f5b: ADD
00003f5c: CALLDATALOAD
00003f5d: PUSH8 0xffffffffffffffff
00003f66: DUP2
00003f67: GT
00003f68: ISZERO
00003f69: PUSH2 0x3f70
00003f6c: JUMPI
00003f6d: PUSH0
00003f6e: DUP1
00003f6f: REVERT
00003f70: JUMPDEST
00003f71: PUSH2 0x3f7c
00003f74: DUP10
00003f75: DUP3
00003f76: DUP11
00003f77: ADD
00003f78: PUSH2 0x3edf
00003f7b: JUMP
00003f7c: JUMPDEST
00003f7d: SWAP8
00003f7e: SWAP11
00003f7f: SWAP7
00003f80: SWAP10
00003f81: POP
00003f82: SWAP5
00003f83: SWAP8
00003f84: SWAP5
00003f85: SWAP7
00003f86: SWAP6
00003f87: PUSH1 0x80
00003f89: SWAP1
00003f8a: SWAP6
00003f8b: ADD
00003f8c: CALLDATALOAD
00003f8d: SWAP5
00003f8e: SWAP4
00003f8f: POP
00003f90: POP
00003f91: POP
00003f92: POP
00003f93: JUMP
00003f94: JUMPDEST
00003f95: PUSH0
00003f96: DUP1
00003f97: PUSH0
00003f98: DUP1
00003f99: PUSH0
00003f9a: PUSH1 0x80
00003f9c: DUP7
00003f9d: DUP9
00003f9e: SUB
00003f9f: SLT
00003fa0: ISZERO
00003fa1: PUSH2 0x3fa8
00003fa4: JUMPI
00003fa5: PUSH0
00003fa6: DUP1
00003fa7: REVERT
00003fa8: JUMPDEST
00003fa9: DUP6
00003faa: CALLDATALOAD
00003fab: PUSH2 0x3fb3
00003fae: DUP2
00003faf: PUSH2 0x3cf3
00003fb2: JUMP
00003fb3: JUMPDEST
00003fb4: SWAP5
00003fb5: POP
00003fb6: PUSH1 0x20
00003fb8: DUP7
00003fb9: ADD
00003fba: CALLDATALOAD
00003fbb: SWAP4
00003fbc: POP
00003fbd: PUSH1 0x40
00003fbf: DUP7
00003fc0: ADD
00003fc1: CALLDATALOAD
00003fc2: SWAP3
00003fc3: POP
00003fc4: PUSH1 0x60
00003fc6: DUP7
00003fc7: ADD
00003fc8: CALLDATALOAD
00003fc9: PUSH8 0xffffffffffffffff
00003fd2: DUP2
00003fd3: GT
00003fd4: ISZERO
00003fd5: PUSH2 0x3fdc
00003fd8: JUMPI
00003fd9: PUSH0
00003fda: DUP1
00003fdb: REVERT
00003fdc: JUMPDEST
00003fdd: PUSH2 0x3fe8
00003fe0: DUP9
00003fe1: DUP3
00003fe2: DUP10
00003fe3: ADD
00003fe4: PUSH2 0x3edf
00003fe7: JUMP
00003fe8: JUMPDEST
00003fe9: SWAP7
00003fea: SWAP10
00003feb: SWAP6
00003fec: SWAP9
00003fed: POP
00003fee: SWAP4
00003fef: SWAP7
00003ff0: POP
00003ff1: SWAP3
00003ff2: SWAP5
00003ff3: SWAP4
00003ff4: SWAP3
00003ff5: POP
00003ff6: POP
00003ff7: POP
00003ff8: JUMP
00003ff9: JUMPDEST
00003ffa: PUSH0
00003ffb: DUP1
00003ffc: PUSH1 0x40
00003ffe: DUP4
00003fff: DUP6
00004000: SUB
00004001: SLT
00004002: ISZERO
00004003: PUSH2 0x400a
00004006: JUMPI
00004007: PUSH0
00004008: DUP1
00004009: REVERT
0000400a: JUMPDEST
0000400b: DUP3
0000400c: CALLDATALOAD
0000400d: PUSH2 0x4015
00004010: DUP2
00004011: PUSH2 0x3cf3
00004014: JUMP
00004015: JUMPDEST
00004016: SWAP5
00004017: PUSH1 0x20
00004019: SWAP4
0000401a: SWAP1
0000401b: SWAP4
0000401c: ADD
0000401d: CALLDATALOAD
0000401e: SWAP4
0000401f: POP
00004020: POP
00004021: POP
00004022: JUMP
00004023: JUMPDEST
00004024: PUSH0
00004025: DUP1
00004026: PUSH1 0x40
00004028: DUP4
00004029: DUP6
0000402a: SUB
0000402b: SLT
0000402c: ISZERO
0000402d: PUSH2 0x4034
00004030: JUMPI
00004031: PUSH0
00004032: DUP1
00004033: REVERT
00004034: JUMPDEST
00004035: POP
00004036: POP
00004037: DUP1
00004038: CALLDATALOAD
00004039: SWAP3
0000403a: PUSH1 0x20
0000403c: SWAP1
0000403d: SWAP2
0000403e: ADD
0000403f: CALLDATALOAD
00004040: SWAP2
00004041: POP
00004042: JUMP
00004043: JUMPDEST
00004044: PUSH0
00004045: JUMPDEST
00004046: DUP4
00004047: DUP2
00004048: LT
00004049: ISZERO
0000404a: PUSH2 0x405d
0000404d: JUMPI
0000404e: DUP2
0000404f: DUP2
00004050: ADD
00004051: MLOAD
00004052: DUP4
00004053: DUP3
00004054: ADD
00004055: MSTORE
00004056: PUSH1 0x20
00004058: ADD
00004059: PUSH2 0x4045
0000405c: JUMP
0000405d: JUMPDEST
0000405e: POP
0000405f: POP
00004060: PUSH0
00004061: SWAP2
00004062: ADD
00004063: MSTORE
00004064: JUMP
00004065: JUMPDEST
00004066: PUSH1 0x20
00004068: DUP2
00004069: MSTORE
0000406a: PUSH0
0000406b: DUP3
0000406c: MLOAD
0000406d: DUP1
0000406e: PUSH1 0x20
00004070: DUP5
00004071: ADD
00004072: MSTORE
00004073: PUSH2 0x4083
00004076: DUP2
00004077: PUSH1 0x40
00004079: DUP6
0000407a: ADD
0000407b: PUSH1 0x20
0000407d: DUP8
0000407e: ADD
0000407f: PUSH2 0x4043
00004082: JUMP
00004083: JUMPDEST
00004084: PUSH1 0x1f
00004086: ADD
00004087: PUSH1 0x1f
00004089: NOT
0000408a: AND
0000408b: SWAP2
0000408c: SWAP1
0000408d: SWAP2
0000408e: ADD
0000408f: PUSH1 0x40
00004091: ADD
00004092: SWAP3
00004093: SWAP2
00004094: POP
00004095: POP
00004096: JUMP
00004097: JUMPDEST
00004098: PUSH4 0x4e487b71
0000409d: PUSH1 0xe0
0000409f: SHL
000040a0: PUSH0
000040a1: MSTORE
000040a2: PUSH1 0x41
000040a4: PUSH1 0x04
000040a6: MSTORE
000040a7: PUSH1 0x24
000040a9: PUSH0
000040aa: REVERT
000040ab: JUMPDEST
000040ac: PUSH0
000040ad: DUP2
000040ae: MLOAD
000040af: DUP1
000040b0: DUP5
000040b1: MSTORE
000040b2: PUSH1 0x20
000040b4: DUP1
000040b5: DUP6
000040b6: ADD
000040b7: SWAP5
000040b8: POP
000040b9: DUP1
000040ba: DUP5
000040bb: ADD
000040bc: PUSH0
000040bd: JUMPDEST
000040be: DUP4
000040bf: DUP2
000040c0: LT
000040c1: ISZERO
000040c2: PUSH2 0x40d9
000040c5: JUMPI
000040c6: DUP2
000040c7: MLOAD
000040c8: DUP8
000040c9: MSTORE
000040ca: SWAP6
000040cb: DUP3
000040cc: ADD
000040cd: SWAP6
000040ce: SWAP1
000040cf: DUP3
000040d0: ADD
000040d1: SWAP1
000040d2: PUSH1 0x01
000040d4: ADD
000040d5: PUSH2 0x40bd
000040d8: JUMP
000040d9: JUMPDEST
000040da: POP
000040db: SWAP5
000040dc: SWAP6
000040dd: SWAP5
000040de: POP
000040df: POP
000040e0: POP
000040e1: POP
000040e2: POP
000040e3: JUMP
000040e4: JUMPDEST
000040e5: DUP5
000040e6: DUP2
000040e7: MSTORE
000040e8: DUP4
000040e9: PUSH1 0x20
000040eb: DUP3
000040ec: ADD
000040ed: MSTORE
000040ee: PUSH1 0x80
000040f0: PUSH1 0x40
000040f2: DUP3
000040f3: ADD
000040f4: MSTORE
000040f5: PUSH0
000040f6: PUSH2 0x4102
000040f9: PUSH1 0x80
000040fb: DUP4
000040fc: ADD
000040fd: DUP6
000040fe: PUSH2 0x40ab
00004101: JUMP
00004102: JUMPDEST
00004103: SWAP1
00004104: POP
00004105: DUP3
00004106: PUSH1 0x60
00004108: DUP4
00004109: ADD
0000410a: MSTORE
0000410b: SWAP6
0000410c: SWAP5
0000410d: POP
0000410e: POP
0000410f: POP
00004110: POP
00004111: POP
00004112: JUMP
00004113: JUMPDEST
00004114: PUSH0
00004115: PUSH1 0x20
00004117: DUP3
00004118: DUP5
00004119: SUB
0000411a: SLT
0000411b: ISZERO
0000411c: PUSH2 0x4123
0000411f: JUMPI
00004120: PUSH0
00004121: DUP1
00004122: REVERT
00004123: JUMPDEST
00004124: POP
00004125: MLOAD
00004126: SWAP2
00004127: SWAP1
00004128: POP
00004129: JUMP
0000412a: JUMPDEST
0000412b: PUSH1 0x20
0000412d: DUP1
0000412e: DUP3
0000412f: MSTORE
00004130: PUSH1 0x16
00004132: SWAP1
00004133: DUP3
00004134: ADD
00004135: MSTORE
00004136: PUSH22 0x21a0a72727aa2fa822a92327a926afa7a72fa9a2a623
0000414d: PUSH1 0x51
0000414f: SHL
00004150: PUSH1 0x40
00004152: DUP3
00004153: ADD
00004154: MSTORE
00004155: PUSH1 0x60
00004157: ADD
00004158: SWAP1
00004159: JUMP
0000415a: JUMPDEST
0000415b: PUSH4 0x4e487b71
00004160: PUSH1 0xe0
00004162: SHL
00004163: PUSH0
00004164: MSTORE
00004165: PUSH1 0x11
00004167: PUSH1 0x04
00004169: MSTORE
0000416a: PUSH1 0x24
0000416c: PUSH0
0000416d: REVERT
0000416e: JUMPDEST
0000416f: DUP1
00004170: DUP3
00004171: MUL
00004172: DUP2
00004173: ISZERO
00004174: DUP3
00004175: DUP3
00004176: DIV
00004177: DUP5
00004178: EQ
00004179: OR
0000417a: PUSH2 0x1298
0000417d: JUMPI
0000417e: PUSH2 0x1298
00004181: PUSH2 0x415a
00004184: JUMP
00004185: JUMPDEST
00004186: DUP1
00004187: DUP3
00004188: ADD
00004189: DUP1
0000418a: DUP3
0000418b: GT
0000418c: ISZERO
0000418d: PUSH2 0x1298
00004190: JUMPI
00004191: PUSH2 0x1298
00004194: PUSH2 0x415a
00004197: JUMP
00004198: JUMPDEST
00004199: PUSH0
0000419a: DUP1
0000419b: DUP6
0000419c: DUP6
0000419d: GT
0000419e: ISZERO
0000419f: PUSH2 0x41a6
000041a2: JUMPI
000041a3: PUSH0
000041a4: DUP1
000041a5: REVERT
000041a6: JUMPDEST
000041a7: DUP4
000041a8: DUP7
000041a9: GT
000041aa: ISZERO
000041ab: PUSH2 0x41b2
000041ae: JUMPI
000041af: PUSH0
000041b0: DUP1
000041b1: REVERT
000041b2: JUMPDEST
000041b3: POP
000041b4: POP
000041b5: DUP3
000041b6: ADD
000041b7: SWAP4
000041b8: SWAP2
000041b9: SWAP1
000041ba: SWAP3
000041bb: SUB
000041bc: SWAP2
000041bd: POP
000041be: JUMP
000041bf: JUMPDEST
000041c0: DUP5
000041c1: DUP2
000041c2: MSTORE
000041c3: PUSH1 0x60
000041c5: PUSH1 0x20
000041c7: DUP3
000041c8: ADD
000041c9: DUP2
000041ca: SWAP1
000041cb: MSTORE
000041cc: DUP2
000041cd: ADD
000041ce: DUP4
000041cf: SWAP1
000041d0: MSTORE
000041d1: PUSH0
000041d2: PUSH1 0x01
000041d4: PUSH1 0x01
000041d6: PUSH1 0xfb
000041d8: SHL
000041d9: SUB
000041da: DUP5
000041db: GT
000041dc: ISZERO
000041dd: PUSH2 0x41e4
000041e0: JUMPI
000041e1: PUSH0
000041e2: DUP1
000041e3: REVERT
000041e4: JUMPDEST
000041e5: DUP4
000041e6: PUSH1 0x05
000041e8: SHL
000041e9: DUP1
000041ea: DUP7
000041eb: PUSH1 0x80
000041ed: DUP6
000041ee: ADD
000041ef: CALLDATACOPY
000041f0: PUSH1 0x40
000041f2: DUP4
000041f3: ADD
000041f4: SWAP4
000041f5: SWAP1
000041f6: SWAP4
000041f7: MSTORE
000041f8: POP
000041f9: ADD
000041fa: PUSH1 0x80
000041fc: ADD
000041fd: SWAP4
000041fe: SWAP3
000041ff: POP
00004200: POP
00004201: POP
00004202: JUMP
00004203: JUMPDEST
00004204: PUSH0
00004205: PUSH1 0x20
00004207: DUP3
00004208: DUP5
00004209: SUB
0000420a: SLT
0000420b: ISZERO
0000420c: PUSH2 0x4213
0000420f: JUMPI
00004210: PUSH0
00004211: DUP1
00004212: REVERT
00004213: JUMPDEST
00004214: DUP2
00004215: MLOAD
00004216: PUSH2 0x0af0
00004219: DUP2
0000421a: PUSH2 0x3cf3
0000421d: JUMP
0000421e: JUMPDEST
0000421f: DUP2
00004220: DUP2
00004221: SUB
00004222: DUP2
00004223: DUP2
00004224: GT
00004225: ISZERO
00004226: PUSH2 0x1298
00004229: JUMPI
0000422a: PUSH2 0x1298
0000422d: PUSH2 0x415a
00004230: JUMP
00004231: JUMPDEST
00004232: DUP4
00004233: DUP2
00004234: MSTORE
00004235: DUP3
00004236: PUSH1 0x20
00004238: DUP3
00004239: ADD
0000423a: MSTORE
0000423b: PUSH1 0x60
0000423d: PUSH1 0x40
0000423f: DUP3
00004240: ADD
00004241: MSTORE
00004242: PUSH0
00004243: PUSH2 0x279c
00004246: PUSH1 0x60
00004248: DUP4
00004249: ADD
0000424a: DUP5
0000424b: PUSH2 0x40ab
0000424e: JUMP
0000424f: JUMPDEST
00004250: PUSH0
00004251: DUP1
00004252: PUSH1 0x40
00004254: DUP4
00004255: DUP6
00004256: SUB
00004257: SLT
00004258: ISZERO
00004259: PUSH2 0x4260
0000425c: JUMPI
0000425d: PUSH0
0000425e: DUP1
0000425f: REVERT
00004260: JUMPDEST
00004261: POP
00004262: POP
00004263: DUP1
00004264: MLOAD
00004265: PUSH1 0x20
00004267: SWAP1
00004268: SWAP2
00004269: ADD
0000426a: MLOAD
0000426b: SWAP1
0000426c: SWAP3
0000426d: SWAP1
0000426e: SWAP2
0000426f: POP
00004270: JUMP
00004271: JUMPDEST
00004272: DUP5
00004273: DUP2
00004274: MSTORE
00004275: PUSH1 0x80
00004277: PUSH1 0x20
00004279: DUP3
0000427a: ADD
0000427b: MSTORE
0000427c: PUSH0
0000427d: PUSH2 0x4289
00004280: PUSH1 0x80
00004282: DUP4
00004283: ADD
00004284: DUP7
00004285: PUSH2 0x40ab
00004288: JUMP
00004289: JUMPDEST
0000428a: PUSH1 0x40
0000428c: DUP4
0000428d: ADD
0000428e: SWAP5
0000428f: SWAP1
00004290: SWAP5
00004291: MSTORE
00004292: POP
00004293: PUSH1 0x60
00004295: ADD
00004296: MSTORE
00004297: SWAP3
00004298: SWAP2
00004299: POP
0000429a: POP
0000429b: JUMP
0000429c: JUMPDEST
0000429d: PUSH1 0x20
0000429f: DUP2
000042a0: MSTORE
000042a1: DUP2
000042a2: PUSH1 0x20
000042a4: DUP3
000042a5: ADD
000042a6: MSTORE
000042a7: DUP2
000042a8: DUP4
000042a9: PUSH1 0x40
000042ab: DUP4
000042ac: ADD
000042ad: CALLDATACOPY
000042ae: PUSH0
000042af: DUP2
000042b0: DUP4
000042b1: ADD
000042b2: PUSH1 0x40
000042b4: SWAP1
000042b5: DUP2
000042b6: ADD
000042b7: SWAP2
000042b8: SWAP1
000042b9: SWAP2
000042ba: MSTORE
000042bb: PUSH1 0x1f
000042bd: SWAP1
000042be: SWAP3
000042bf: ADD
000042c0: PUSH1 0x1f
000042c2: NOT
000042c3: AND
000042c4: ADD
000042c5: ADD
000042c6: SWAP2
000042c7: SWAP1
000042c8: POP
000042c9: JUMP
000042ca: JUMPDEST
000042cb: PUSH0
000042cc: DUP3
000042cd: MLOAD
000042ce: PUSH2 0x42db
000042d1: DUP2
000042d2: DUP5
000042d3: PUSH1 0x20
000042d5: DUP8
000042d6: ADD
000042d7: PUSH2 0x4043
000042da: JUMP
000042db: JUMPDEST
000042dc: SWAP2
000042dd: SWAP1
000042de: SWAP2
000042df: ADD
000042e0: SWAP3
000042e1: SWAP2
000042e2: POP
000042e3: POP
000042e4: JUMP
000042e5: JUMPDEST
000042e6: PUSH0
000042e7: DUP1
000042e8: PUSH1 0x40
000042ea: DUP4
000042eb: DUP6
000042ec: SUB
000042ed: SLT
000042ee: ISZERO
000042ef: PUSH2 0x42f6
000042f2: JUMPI
000042f3: PUSH0
000042f4: DUP1
000042f5: REVERT
000042f6: JUMPDEST
000042f7: DUP3
000042f8: CALLDATALOAD
000042f9: PUSH2 0x4301
000042fc: DUP2
000042fd: PUSH2 0x3cf3
00004300: JUMP
00004301: JUMPDEST
00004302: SWAP2
00004303: POP
00004304: PUSH1 0x20
00004306: DUP4
00004307: ADD
00004308: CALLDATALOAD
00004309: PUSH2 0x3d2a
0000430c: DUP2
0000430d: PUSH2 0x3cf3
00004310: JUMP
00004311: JUMPDEST
00004312: PUSH1 0x01
00004314: DUP2
00004315: DUP2
00004316: JUMPDEST
00004317: DUP1
00004318: DUP6
00004319: GT
0000431a: ISZERO
0000431b: PUSH2 0x434b
0000431e: JUMPI
0000431f: DUP2
00004320: PUSH0
00004321: NOT
00004322: DIV
00004323: DUP3
00004324: GT
00004325: ISZERO
00004326: PUSH2 0x4331
00004329: JUMPI
0000432a: PUSH2 0x4331
0000432d: PUSH2 0x415a
00004330: JUMP
00004331: JUMPDEST
00004332: DUP1
00004333: DUP6
00004334: AND
00004335: ISZERO
00004336: PUSH2 0x433e
00004339: JUMPI
0000433a: SWAP2
0000433b: DUP2
0000433c: MUL
0000433d: SWAP2
0000433e: JUMPDEST
0000433f: SWAP4
00004340: DUP5
00004341: SHR
00004342: SWAP4
00004343: SWAP1
00004344: DUP1
00004345: MUL
00004346: SWAP1
00004347: PUSH2 0x4316
0000434a: JUMP
0000434b: JUMPDEST
0000434c: POP
0000434d: SWAP3
0000434e: POP
0000434f: SWAP3
00004350: SWAP1
00004351: POP
00004352: JUMP
00004353: JUMPDEST
00004354: PUSH0
00004355: DUP3
00004356: PUSH2 0x4361
00004359: JUMPI
0000435a: POP
0000435b: PUSH1 0x01
0000435d: PUSH2 0x1298
00004360: JUMP
00004361: JUMPDEST
00004362: DUP2
00004363: PUSH2 0x436d
00004366: JUMPI
00004367: POP
00004368: PUSH0
00004369: PUSH2 0x1298
0000436c: JUMP
0000436d: JUMPDEST
0000436e: DUP2
0000436f: PUSH1 0x01
00004371: DUP2
00004372: EQ
00004373: PUSH2 0x4383
00004376: JUMPI
00004377: PUSH1 0x02
00004379: DUP2
0000437a: EQ
0000437b: PUSH2 0x438d
0000437e: JUMPI
0000437f: PUSH2 0x43a9
00004382: JUMP
00004383: JUMPDEST
00004384: PUSH1 0x01
00004386: SWAP2
00004387: POP
00004388: POP
00004389: PUSH2 0x1298
0000438c: JUMP
0000438d: JUMPDEST
0000438e: PUSH1 0xff
00004390: DUP5
00004391: GT
00004392: ISZERO
00004393: PUSH2 0x439e
00004396: JUMPI
00004397: PUSH2 0x439e
0000439a: PUSH2 0x415a
0000439d: JUMP
0000439e: JUMPDEST
0000439f: POP
000043a0: POP
000043a1: PUSH1 0x01
000043a3: DUP3
000043a4: SHL
000043a5: PUSH2 0x1298
000043a8: JUMP
000043a9: JUMPDEST
000043aa: POP
000043ab: PUSH1 0x20
000043ad: DUP4
000043ae: LT
000043af: PUSH2 0x0133
000043b2: DUP4
000043b3: LT
000043b4: AND
000043b5: PUSH1 0x4e
000043b7: DUP5
000043b8: LT
000043b9: PUSH1 0x0b
000043bb: DUP5
000043bc: LT
000043bd: AND
000043be: OR
000043bf: ISZERO
000043c0: PUSH2 0x43cc
000043c3: JUMPI
000043c4: POP
000043c5: DUP2
000043c6: DUP2
000043c7: EXP
000043c8: PUSH2 0x1298
000043cb: JUMP
000043cc: JUMPDEST
000043cd: PUSH2 0x43d6
000043d0: DUP4
000043d1: DUP4
000043d2: PUSH2 0x4311
000043d5: JUMP
000043d6: JUMPDEST
000043d7: DUP1
000043d8: PUSH0
000043d9: NOT
000043da: DIV
000043db: DUP3
000043dc: GT
000043dd: ISZERO
000043de: PUSH2 0x43e9
000043e1: JUMPI
000043e2: PUSH2 0x43e9
000043e5: PUSH2 0x415a
000043e8: JUMP
000043e9: JUMPDEST
000043ea: MUL
000043eb: SWAP4
000043ec: SWAP3
000043ed: POP
000043ee: POP
000043ef: POP
000043f0: JUMP
000043f1: JUMPDEST
000043f2: PUSH0
000043f3: PUSH2 0x0af0
000043f6: DUP4
000043f7: DUP4
000043f8: PUSH2 0x4353
000043fb: JUMP
000043fc: JUMPDEST
000043fd: PUSH4 0x4e487b71
00004402: PUSH1 0xe0
00004404: SHL
00004405: PUSH0
00004406: MSTORE
00004407: PUSH1 0x32
00004409: PUSH1 0x04
0000440b: MSTORE
0000440c: PUSH1 0x24
0000440e: PUSH0
0000440f: REVERT
00004410: JUMPDEST
00004411: DUP3
00004412: DUP2
00004413: MSTORE
00004414: PUSH1 0x40
00004416: PUSH1 0x20
00004418: DUP3
00004419: ADD
0000441a: MSTORE
0000441b: PUSH0
0000441c: PUSH2 0x373b
0000441f: PUSH1 0x40
00004421: DUP4
00004422: ADD
00004423: DUP5
00004424: PUSH2 0x40ab
00004427: JUMP
00004428: JUMPDEST
00004429: PUSH0
0000442a: PUSH1 0x03
0000442c: RETURNDATASIZE
0000442d: GT
0000442e: ISZERO
0000442f: PUSH2 0x443e
00004432: JUMPI
00004433: PUSH1 0x04
00004435: PUSH0
00004436: DUP1
00004437: RETURNDATACOPY
00004438: POP
00004439: PUSH0
0000443a: MLOAD
0000443b: PUSH1 0xe0
0000443d: SHR
0000443e: JUMPDEST
0000443f: SWAP1
00004440: JUMP
00004441: JUMPDEST
00004442: PUSH1 0x1f
00004444: DUP3
00004445: ADD
00004446: PUSH1 0x1f
00004448: NOT
00004449: AND
0000444a: DUP2
0000444b: ADD
0000444c: PUSH8 0xffffffffffffffff
00004455: DUP2
00004456: GT
00004457: DUP3
00004458: DUP3
00004459: LT
0000445a: OR
0000445b: ISZERO
0000445c: PUSH2 0x4473
0000445f: JUMPI
00004460: PUSH4 0x4e487b71
00004465: PUSH1 0xe0
00004467: SHL
00004468: PUSH0
00004469: MSTORE
0000446a: PUSH1 0x41
0000446c: PUSH1 0x04
0000446e: MSTORE
0000446f: PUSH1 0x24
00004471: PUSH0
00004472: REVERT
00004473: JUMPDEST
00004474: PUSH1 0x40
00004476: MSTORE
00004477: POP
00004478: POP
00004479: JUMP
0000447a: JUMPDEST
0000447b: PUSH0
0000447c: PUSH1 0x44
0000447e: RETURNDATASIZE
0000447f: LT
00004480: ISZERO
00004481: PUSH2 0x4487
00004484: JUMPI
00004485: SWAP1
00004486: JUMP
00004487: JUMPDEST
00004488: PUSH1 0x40
0000448a: MLOAD
0000448b: PUSH1 0x03
0000448d: NOT
0000448e: RETURNDATASIZE
0000448f: DUP2
00004490: ADD
00004491: PUSH1 0x04
00004493: DUP4
00004494: RETURNDATACOPY
00004495: DUP2
00004496: MLOAD
00004497: RETURNDATASIZE
00004498: PUSH8 0xffffffffffffffff
000044a1: DUP2
000044a2: PUSH1 0x24
000044a4: DUP5
000044a5: ADD
000044a6: GT
000044a7: DUP2
000044a8: DUP5
000044a9: GT
000044aa: OR
000044ab: ISZERO
000044ac: PUSH2 0x44b7
000044af: JUMPI
000044b0: POP
000044b1: POP
000044b2: POP
000044b3: POP
000044b4: POP
000044b5: SWAP1
000044b6: JUMP
000044b7: JUMPDEST
000044b8: DUP3
000044b9: DUP6
000044ba: ADD
000044bb: SWAP2
000044bc: POP
000044bd: DUP2
000044be: MLOAD
000044bf: DUP2
000044c0: DUP2
000044c1: GT
000044c2: ISZERO
000044c3: PUSH2 0x44cf
000044c6: JUMPI
000044c7: POP
000044c8: POP
000044c9: POP
000044ca: POP
000044cb: POP
000044cc: POP
000044cd: SWAP1
000044ce: JUMP
000044cf: JUMPDEST
000044d0: DUP5
000044d1: RETURNDATASIZE
000044d2: DUP8
000044d3: ADD
000044d4: ADD
000044d5: PUSH1 0x20
000044d7: DUP3
000044d8: DUP6
000044d9: ADD
000044da: ADD
000044db: GT
000044dc: ISZERO
000044dd: PUSH2 0x44e9
000044e0: JUMPI
000044e1: POP
000044e2: POP
000044e3: POP
000044e4: POP
000044e5: POP
000044e6: POP
000044e7: SWAP1
000044e8: JUMP
000044e9: JUMPDEST
000044ea: PUSH2 0x44f8
000044ed: PUSH1 0x20
000044ef: DUP3
000044f0: DUP7
000044f1: ADD
000044f2: ADD
000044f3: DUP8
000044f4: PUSH2 0x4441
000044f7: JUMP
000044f8: JUMPDEST
000044f9: POP
000044fa: SWAP1
000044fb: SWAP6
000044fc: SWAP5
000044fd: POP
000044fe: POP
000044ff: POP
00004500: POP
00004501: POP
00004502: JUMP
00004503: JUMPDEST
00004504: PUSH0
00004505: PUSH1 0x01
00004507: DUP3
00004508: ADD
00004509: PUSH2 0x4514
0000450c: JUMPI
0000450d: PUSH2 0x4514
00004510: PUSH2 0x415a
00004513: JUMP
00004514: JUMPDEST
00004515: POP
00004516: PUSH1 0x01
00004518: ADD
00004519: SWAP1
0000451a: JUMP
0000451b: JUMPDEST
0000451c: PUSH0
0000451d: DUP3
0000451e: PUSH2 0x4535
00004521: JUMPI
00004522: PUSH4 0x4e487b71
00004527: PUSH1 0xe0
00004529: SHL
0000452a: PUSH0
0000452b: MSTORE
0000452c: PUSH1 0x12
0000452e: PUSH1 0x04
00004530: MSTORE
00004531: PUSH1 0x24
00004533: PUSH0
00004534: REVERT
00004535: JUMPDEST
00004536: POP
00004537: DIV
00004538: SWAP1
00004539: JUMP
0000453a: JUMPDEST
0000453b: PUSH32 0x416363657373436f6e74726f6c3a206163636f756e7420000000000000000000
0000455c: DUP2
0000455d: MSTORE
0000455e: PUSH0
0000455f: DUP4
00004560: MLOAD
00004561: PUSH2 0x4571
00004564: DUP2
00004565: PUSH1 0x17
00004567: DUP6
00004568: ADD
00004569: PUSH1 0x20
0000456b: DUP9
0000456c: ADD
0000456d: PUSH2 0x4043
00004570: JUMP
00004571: JUMPDEST
00004572: PUSH17 0x01034b99036b4b9b9b4b733903937b6329
00004584: PUSH1 0x7d
00004586: SHL
00004587: PUSH1 0x17
00004589: SWAP2
0000458a: DUP5
0000458b: ADD
0000458c: SWAP2
0000458d: DUP3
0000458e: ADD
0000458f: MSTORE
00004590: DUP4
00004591: MLOAD
00004592: PUSH2 0x45a2
00004595: DUP2
00004596: PUSH1 0x28
00004598: DUP5
00004599: ADD
0000459a: PUSH1 0x20
0000459c: DUP9
0000459d: ADD
0000459e: PUSH2 0x4043
000045a1: JUMP
000045a2: JUMPDEST
000045a3: ADD
000045a4: PUSH1 0x28
000045a6: ADD
000045a7: SWAP5
000045a8: SWAP4
000045a9: POP
000045aa: POP
000045ab: POP
000045ac: POP
000045ad: JUMP
000045ae: JUMPDEST
000045af: PUSH0
000045b0: DUP2
000045b1: PUSH2 0x45bc
000045b4: JUMPI
000045b5: PUSH2 0x45bc
000045b8: PUSH2 0x415a
000045bb: JUMP
000045bc: JUMPDEST
000045bd: POP
000045be: PUSH0
000045bf: NOT
000045c0: ADD
000045c1: SWAP1
000045c2: JUMP
000045c3: INVALID
000045c4: MSTORE8
000045c5: SLOAD
000045c6: COINBASE
000045c7: MSTORE
000045c8: UNKNOWN(0x4B)
000045c9: UNKNOWN(0x4E)
000045ca: GASLIMIT
000045cb: SLOAD
000045cc: PUSH0
000045cd: SLOAD
000045ce: UNKNOWN(0x4F)
000045cf: UNKNOWN(0x4B)
000045d0: GASLIMIT
000045d1: UNKNOWN(0x4E)
000045d2: PUSH0
000045d3: TIMESTAMP
000045d4: MSTORE
000045d5: BLOBHASH
000045d6: DIFFICULTY
000045d7: SELFBALANCE
000045d8: GASLIMIT
000045d9: PUSH0
000045da: UNKNOWN(0x4D)
000045db: GASLIMIT
000045dc: MSTORE8
000045dd: MSTORE8
000045de: COINBASE
000045df: SELFBALANCE
000045e0: BLOBHASH
000045e1: UNKNOWN(0x4E)
000045e2: SELFBALANCE
000045e3: PUSH0
000045e4: NUMBER
000045e5: UNKNOWN(0x4F)
000045e6: UNKNOWN(0x4E)
000045e7: SLOAD
000045e8: MSTORE
000045e9: COINBASE
000045ea: NUMBER
000045eb: SLOAD
000045ec: SUB
000045ed: PUSH18 0x1c9d994faf6055172091cb841fd4831aa743
00004600: UNKNOWN(0xE6)
00004601: RETURN
00004602: BALANCE
00004603: MLOAD
00004604: PUSH4 0xb06a122c
00004609: DUP5
0000460a: XOR
0000460b: CHAINID
0000460c: MUL
0000460d: PUSH12 0xd110619d11cfdfc28e281df8
0000461a: SWAP4
0000461b: UNKNOWN(0xBC)
0000461c: UNKNOWN(0x24)
0000461d: DUP3
0000461e: DUP15
0000461f: DUP10
00004620: OR
00004621: PUSH20 0x18e9dbd860cdaedeb6b357495448445241574c5f
00004636: UNKNOWN(0x4C)
00004637: BLOBHASH
00004638: UNKNOWN(0x4D)
00004639: BLOBHASH
0000463a: SLOAD
0000463b: PUSH0
0000463c: BLOBHASH
0000463d: UNKNOWN(0x4E)
0000463e: SLOAD
0000463f: MSTORE
00004640: COINBASE
00004641: DIFFICULTY
00004642: COINBASE
00004643: MSIZE
00004644: PUSH0
00004645: MLOAD
00004646: SSTORE
00004647: UNKNOWN(0x4F)
00004648: SLOAD
00004649: COINBASE
0000464a: PUSH0
0000464b: MSTORE8
0000464c: UNKNOWN(0x4C)
0000464d: UNKNOWN(0x4F)
0000464e: SLOAD
0000464f: PUSH0
00004650: SLOAD
00004651: COINBASE
00004652: SELFBALANCE
00004653: STOP
00004654: UNKNOWN(0xD2)
00004655: UNKNOWN(0xEA)
00004656: UNKNOWN(0xD7)
00004657: DUP13
00004658: PUSH3 0x0e94b0
0000465c: UNKNOWN(0x2D)
0000465d: EXP
0000465e: SWAP10
0000465f: PUSH15 0x99298c59ddccfa1d8a0149080ac3a2
0000466f: UNKNOWN(0x0D)
00004670: UNKNOWN(0xE0)
00004671: PUSH1 0x68
00004673: MUL
00004674: MLOAD
00004675: UNKNOWN(0xE8)
00004676: PUSH5 0xca2a080f55
0000467c: UNKNOWN(0xBC)
0000467d: UNKNOWN(0xE5)
0000467e: UNKNOWN(0xDA)
0000467f: UNKNOWN(0x24)
00004680: MSTORE
00004681: UNKNOWN(0xE8)
00004682: UNKNOWN(0xCF)
00004683: UNKNOWN(0xCA)
00004684: REVERT
00004685: UNKNOWN(0xBC)
00004686: SWAP6
00004687: BYTE
00004688: RETURNDATACOPY
00004689: PUSH32 0xff5023d558452ec22853e43b954ba190a7e49386f1f78b01dcd9f628db23f432
000046aa: STATICCALL
000046ab: MUL
000046ac: SWAP11
000046ad: PUSH30 0xfd6d98e8fb535441524b4e45545f544f4b454e5f4252494447455f4c325f
000046cc: SLOAD
000046cd: UNKNOWN(0x4F)
000046ce: UNKNOWN(0x4B)
000046cf: GASLIMIT
000046d0: UNKNOWN(0x4E)
000046d1: PUSH0
000046d2: NUMBER
000046d3: UNKNOWN(0x4F)
000046d4: UNKNOWN(0x4E)
000046d5: SLOAD
000046d6: MSTORE
000046d7: COINBASE
000046d8: NUMBER
000046d9: SLOAD
000046da: STOP
000046db: DUP12
000046dc: UNKNOWN(0xCE)
000046dd: COINBASE
000046de: DUP3
000046df: PUSH30 0xd5484d80312a2e43bc42a896e3fcf75bf84c2b49339168dfa00a037693ba
000046fe: BALANCE
000046ff: UNKNOWN(0x27)
00004700: DUP6
00004701: SWAP4
00004702: UNKNOWN(0x2D)
00004703: NUMBER
00004704: UNKNOWN(0x0D)
00004705: UNKNOWN(0xCC)
00004706: CREATE
00004707: CREATE2
00004708: PUSH16 0xfedd0aa7c0f8b6da2cc4530c2717689b
00004719: SWAP7
0000471a: SUB
0000471b: UNKNOWN(0xE6)
0000471c: ISZERO
0000471d: PUSH4 0x8e0b7944
00004722: BLOBBASEFEE
00004723: PUSH17 0xf8c695bf8f2a47033bf1cf95691ec3130f
00004735: PUSH5 0x939cee9953
0000473b: SLOAD
0000473c: COINBASE
0000473d: MSTORE
0000473e: UNKNOWN(0x4B)
0000473f: UNKNOWN(0x4E)
00004740: GASLIMIT
00004741: SLOAD
00004742: PUSH0
00004743: SLOAD
00004744: UNKNOWN(0x4F)
00004745: UNKNOWN(0x4B)
00004746: GASLIMIT
00004747: UNKNOWN(0x4E)
00004748: PUSH0
00004749: TIMESTAMP
0000474a: MSTORE
0000474b: BLOBHASH
0000474c: DIFFICULTY
0000474d: SELFBALANCE
0000474e: GASLIMIT
0000474f: PUSH0
00004750: UNKNOWN(0x4D)
00004751: COINBASE
00004752: UNKNOWN(0x4E)
00004753: COINBASE
00004754: SELFBALANCE
00004755: GASLIMIT
00004756: MSTORE
00004757: PUSH0
00004758: MSTORE8
00004759: UNKNOWN(0x4C)
0000475a: UNKNOWN(0x4F)
0000475b: SLOAD
0000475c: PUSH0
0000475d: SLOAD
0000475e: COINBASE
0000475f: SELFBALANCE
00004760: JUMPI
00004761: BLOBHASH
00004762: SLOAD
00004763: BASEFEE
00004764: DIFFICULTY
00004765: MSTORE
00004766: COINBASE
00004767: JUMPI
00004768: UNKNOWN(0x4C)
00004769: PUSH0
0000476a: UNKNOWN(0x4C)
0000476b: BLOBHASH
0000476c: UNKNOWN(0x4D)
0000476d: BLOBHASH
0000476e: SLOAD
0000476f: PUSH0
00004770: JUMPI
00004771: BLOBHASH
00004772: SLOAD
00004773: BASEFEE
00004774: DIFFICULTY
00004775: MSTORE
00004776: COINBASE
00004777: JUMPI
00004778: PUSH0
00004779: UNKNOWN(0x4C)
0000477a: BLOBHASH
0000477b: UNKNOWN(0x4D)
0000477c: BLOBHASH
0000477d: SLOAD
0000477e: PUSH0
0000477f: POP
00004780: NUMBER
00004781: SLOAD
00004782: PUSH0
00004783: MSTORE8
00004784: UNKNOWN(0x4C)
00004785: UNKNOWN(0x4F)
00004786: SLOAD
00004787: PUSH0
00004788: SLOAD
00004789: COINBASE
0000478a: SELFBALANCE
0000478b: MSTORE8
0000478c: SLOAD
0000478d: COINBASE
0000478e: MSTORE
0000478f: UNKNOWN(0x4B)
00004790: UNKNOWN(0x4E)
00004791: GASLIMIT
00004792: SLOAD
00004793: PUSH0
00004794: SLOAD
00004795: UNKNOWN(0x4F)
00004796: UNKNOWN(0x4B)
00004797: GASLIMIT
00004798: UNKNOWN(0x4E)
00004799: PUSH0
0000479a: TIMESTAMP
0000479b: MSTORE
0000479c: BLOBHASH
0000479d: DIFFICULTY
0000479e: SELFBALANCE
0000479f: GASLIMIT
000047a0: PUSH0
000047a1: DIFFICULTY
000047a2: GASLIMIT
000047a3: POP
000047a4: UNKNOWN(0x4F)
000047a5: MSTORE8
000047a6: BLOBHASH
000047a7: SLOAD
000047a8: UNKNOWN(0x4F)
000047a9: MSTORE
000047aa: PUSH0
000047ab: COINBASE
000047ac: DIFFICULTY
000047ad: DIFFICULTY
000047ae: MSTORE
000047af: GASLIMIT
000047b0: MSTORE8
000047b1: MSTORE8
000047b2: GASLIMIT
000047b3: MSTORE8
000047b4: ADD
000047b5: UNKNOWN(0xB6)
000047b6: UNKNOWN(0x4B)
000047b7: SHL
000047b8: EXTCODESIZE
000047b9: PUSH10 0x0b43b9b514fb81377518
000047c4: DELEGATECALL
000047c5: SUB
000047c6: SWAP13
000047c7: UNKNOWN(0xD3)
000047c8: UNKNOWN(0xE4)
000047c9: DELEGATECALL
000047ca: SWAP2
000047cb: UNKNOWN(0x4D)
000047cc: DUP11
000047cd: PUSH12 0xdf01d679fb19c59c20aaa965
000047da: SWAP8
000047db: UNKNOWN(0x26)
000047dc: DUP16
000047dd: MSIZE
000047de: TSTORE
000047df: UNKNOWN(0xB3)
000047e0: UNKNOWN(0x0E)
000047e1: UNKNOWN(0xC2)
000047e2: GT
000047e3: ADDMOD
000047e4: UNKNOWN(0xA5)
000047e5: SDIV
000047e6: CALLDATACOPY
000047e7: UNKNOWN(0x0E)
000047e8: ORIGIN
000047e9: PUSH7 0xed3a6515637f16
000047f1: UNKNOWN(0xB8)
000047f2: UNKNOWN(0xB6)
000047f3: DUP10
000047f4: MUL
000047f5: RETURNDATACOPY
000047f6: UNKNOWN(0xDB)
000047f7: PUSH24 0xf7c8cc9e38e8afe78954f703aeeda7fffe014eeb6e56ea84
00004810: UNKNOWN(0xE6)
00004811: UNKNOWN(0x2F)
00004812: PUSH14 0xa7535441524b4e45545f45524332
00004821: ADDRESS
00004822: PUSH0
00004823: SLOAD
00004824: UNKNOWN(0x4F)
00004825: UNKNOWN(0x4B)
00004826: GASLIMIT
00004827: UNKNOWN(0x4E)
00004828: PUSH0
00004829: TIMESTAMP
0000482a: MSTORE
0000482b: BLOBHASH
0000482c: DIFFICULTY
0000482d: SELFBALANCE
0000482e: GASLIMIT
0000482f: PUSH0
00004830: SLOAD
00004831: UNKNOWN(0x4F)
00004832: UNKNOWN(0x4B)
00004833: GASLIMIT
00004834: UNKNOWN(0x4E)
00004835: PUSH0
00004836: COINBASE
00004837: DIFFICULTY
00004838: DIFFICULTY
00004839: MSTORE
0000483a: GASLIMIT
0000483b: MSTORE8
0000483c: MSTORE8
0000483d: ADD
0000483e: UNKNOWN(0x28)
0000483f: UNKNOWN(0xD6)
00004840: GASPRICE
00004841: UNKNOWN(0xDB)
00004842: UNKNOWN(0xF6)
00004843: UNKNOWN(0xB0)
00004844: SWAP1
00004845: MUL
00004846: UNKNOWN(0xC2)
00004847: PUSH13 0xaf55c47e2f26635807e3ef1b02
00004855: PUSH19 0x18aa74c8d61a3e537461726b576172655f5374
00004869: PUSH2 0x726b
0000486c: PUSH15 0x65744574684272696467655f322e30
0000487c: PUSH0
0000487d: CALLVALUE
0000487e: LOG2
0000487f: PUSH5 0x6970667358
00004885: UNKNOWN(0x22)
00004886: SLT
00004887: KECCAK256
00004888: UNKNOWN(0xAE)
00004889: UNKNOWN(0xB2)
0000488a: PUSH12 0xe5ec3ed9f5d1316e4f3d6842
00004897: PUSH14 0xf4beb9913f84a81ad0d5bb8c1be3
000048a6: CREATE
000048a7: PUSH26

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability codex Unrestricted EIC delegatecall in initialize enables arbitrary code execution and fund drain 90 no
view
evidence_json
{
    "evidence": "`initialize` accepts a user-supplied `eicAddress` and always delegatecalls it without any caller authorization or `isInitialized` gating, enabling arbitrary code execution in the proxy context.",
    "locations": [
        "contracts/starkware/solidity/interfaces/ProxySupport.sol:52",
        "contracts/starkware/solidity/interfaces/ProxySupport.sol:64",
        "contracts/starkware/solidity/interfaces/ProxySupport.sol:80"
    ],
    "recommendation": "Restrict `initialize` to governance/admin-only calls and/or remove the EIC path after first initialization; alternatively, require EIC to be a pre-approved contract or enforce `isInitialized` even for EIC flows.",
    "exploit_scenario": "1) Attacker deploys a malicious initializer contract with an `initialize(bytes)` function that, when delegatecalled, transfers all ETH and ERC20 balances from `address(this)` to the attacker. 2) Attacker calls the bridge proxy\u2019s `initialize` with `data` crafted so `eicAddress` points to the malicious initializer. 3) `ProxySupport.initialize` unconditionally delegatecalls the attacker\u2019s contract (even if already initialized), executing in the proxy\u2019s context and draining assets. Profit: up to the entire ETH/ERC20 balances held by the bridge proxy (bridge TVL)."
}
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": "0xeeb72866",
            "selector": "0xeeb72866",
            "calldata_variants": [
                "0xeeb72866",
                "0xeeb728660000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3fef3a3",
            "selector": "0xf3fef3a3",
            "calldata_variants": [
                "0xf3fef3a3",
                "0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa0f73ba",
            "selector": "0xfa0f73ba",
            "calldata_variants": [
                "0xfa0f73ba",
                "0xfa0f73ba0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfad8b32a",
            "selector": "0xfad8b32a",
            "calldata_variants": [
                "0xfad8b32a",
                "0xfad8b32a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdeec9c5a",
            "selector": "0xdeec9c5a",
            "calldata_variants": [
                "0xdeec9c5a",
                "0xdeec9c5a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe2bbb158",
            "selector": "0xe2bbb158",
            "calldata_variants": [
                "0xe2bbb158",
                "0xe2bbb1580000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xed9ef16a",
            "selector": "0xed9ef16a",
            "calldata_variants": [
                "0xed9ef16a",
                "0xed9ef16a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xee0e6807",
            "selector": "0xee0e6807",
            "calldata_variants": [
                "0xee0e6807",
                "0xee0e68070000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 18408,
            "type": "tx_origin_used"
        }
    ]
}
high upgradeability detector Untrusted DELEGATECALL target reachable 55 no no
view
trace_id: 0x2be3b3cf69df0deb5878938fc0cadd6efb515a75f7bd36a6f518a740ea216644
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0x2be3b3cf69df0deb5878938fc0cadd6efb515a75f7bd36a6f518a740ea216644",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xeeb72866",
            "selector": "0xeeb72866",
            "calldata_variants": [
                "0xeeb72866",
                "0xeeb728660000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3fef3a3",
            "selector": "0xf3fef3a3",
            "calldata_variants": [
                "0xf3fef3a3",
                "0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa0f73ba",
            "selector": "0xfa0f73ba",
            "calldata_variants": [
                "0xfa0f73ba",
                "0xfa0f73ba0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfad8b32a",
            "selector": "0xfad8b32a",
            "calldata_variants": [
                "0xfad8b32a",
                "0xfad8b32a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdeec9c5a",
            "selector": "0xdeec9c5a",
            "calldata_variants": [
                "0xdeec9c5a",
                "0xdeec9c5a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe2bbb158",
            "selector": "0xe2bbb158",
            "calldata_variants": [
                "0xe2bbb158",
                "0xe2bbb1580000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xed9ef16a",
            "selector": "0xed9ef16a",
            "calldata_variants": [
                "0xed9ef16a",
                "0xed9ef16a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xee0e6807",
            "selector": "0xee0e6807",
            "calldata_variants": [
                "0xee0e6807",
                "0xee0e68070000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 10594,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 18372,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 18377,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [
        {
            "pc": 18408,
            "type": "tx_origin_used"
        }
    ],
    "delegatecall_count": 3,
    "untrusted_delegatecall_count": 3
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x4c69a76a699c514313413bb83f80b1cffcf85b739fb0fe6a1e780ecb5efdf723
call_targets: 0x95ff25a59dc9c5a41cf0709dc916041e5dc7fd95
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x4c69a76a699c514313413bb83f80b1cffcf85b739fb0fe6a1e780ecb5efdf723",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x95ff25a59dc9c5a41cf0709dc916041e5dc7fd95"
    ],
    "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": "0xeeb72866",
            "selector": "0xeeb72866",
            "calldata_variants": [
                "0xeeb72866",
                "0xeeb728660000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3fef3a3",
            "selector": "0xf3fef3a3",
            "calldata_variants": [
                "0xf3fef3a3",
                "0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa0f73ba",
            "selector": "0xfa0f73ba",
            "calldata_variants": [
                "0xfa0f73ba",
                "0xfa0f73ba0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfad8b32a",
            "selector": "0xfad8b32a",
            "calldata_variants": [
                "0xfad8b32a",
                "0xfad8b32a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdeec9c5a",
            "selector": "0xdeec9c5a",
            "calldata_variants": [
                "0xdeec9c5a",
                "0xdeec9c5a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe2bbb158",
            "selector": "0xe2bbb158",
            "calldata_variants": [
                "0xe2bbb158",
                "0xe2bbb1580000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xed9ef16a",
            "selector": "0xed9ef16a",
            "calldata_variants": [
                "0xed9ef16a",
                "0xed9ef16a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xee0e6807",
            "selector": "0xee0e6807",
            "calldata_variants": [
                "0xee0e6807",
                "0xee0e68070000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3320,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5565,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5923,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 11,
    "guards_detected": [
        {
            "pc": 18408,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x4c69a76a699c514313413bb83f80b1cffcf85b739fb0fe6a1e780ecb5efdf723
call_targets: 0x95ff25a59dc9c5a41cf0709dc916041e5dc7fd95
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x4c69a76a699c514313413bb83f80b1cffcf85b739fb0fe6a1e780ecb5efdf723",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x95ff25a59dc9c5a41cf0709dc916041e5dc7fd95"
    ],
    "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": "0xeeb72866",
            "selector": "0xeeb72866",
            "calldata_variants": [
                "0xeeb72866",
                "0xeeb728660000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3fef3a3",
            "selector": "0xf3fef3a3",
            "calldata_variants": [
                "0xf3fef3a3",
                "0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa0f73ba",
            "selector": "0xfa0f73ba",
            "calldata_variants": [
                "0xfa0f73ba",
                "0xfa0f73ba0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfad8b32a",
            "selector": "0xfad8b32a",
            "calldata_variants": [
                "0xfad8b32a",
                "0xfad8b32a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdeec9c5a",
            "selector": "0xdeec9c5a",
            "calldata_variants": [
                "0xdeec9c5a",
                "0xdeec9c5a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe2bbb158",
            "selector": "0xe2bbb158",
            "calldata_variants": [
                "0xe2bbb158",
                "0xe2bbb1580000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xed9ef16a",
            "selector": "0xed9ef16a",
            "calldata_variants": [
                "0xed9ef16a",
                "0xed9ef16a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xee0e6807",
            "selector": "0xee0e6807",
            "calldata_variants": [
                "0xee0e6807",
                "0xee0e68070000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3320,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5565,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5923,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 11,
    "guards_detected": [
        {
            "pc": 18408,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 11
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 3
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0x101175c47af0b25718f63c307cf67343e4947bddc163a30d74f2e718242dbb07
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0x101175c47af0b25718f63c307cf67343e4947bddc163a30d74f2e718242dbb07",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xeeb72866",
            "selector": "0xeeb72866",
            "calldata_variants": [
                "0xeeb72866",
                "0xeeb728660000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf3fef3a3",
            "selector": "0xf3fef3a3",
            "calldata_variants": [
                "0xf3fef3a3",
                "0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa0f73ba",
            "selector": "0xfa0f73ba",
            "calldata_variants": [
                "0xfa0f73ba",
                "0xfa0f73ba0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfad8b32a",
            "selector": "0xfad8b32a",
            "calldata_variants": [
                "0xfad8b32a",
                "0xfad8b32a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdeec9c5a",
            "selector": "0xdeec9c5a",
            "calldata_variants": [
                "0xdeec9c5a",
                "0xdeec9c5a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe2bbb158",
            "selector": "0xe2bbb158",
            "calldata_variants": [
                "0xe2bbb158",
                "0xe2bbb1580000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xed9ef16a",
            "selector": "0xed9ef16a",
            "calldata_variants": [
                "0xed9ef16a",
                "0xed9ef16a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xee0e6807",
            "selector": "0xee0e6807",
            "calldata_variants": [
                "0xee0e6807",
                "0xee0e68070000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 2,
    "create2_count": 1
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 2,
    "create2_count": 1
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 15
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 7
}