4512afe7-5f93-4201-92ac-099a73dc43a6
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 30630 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 74776 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 74777 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 74778 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 74779 | capability.graph | complete | 1 / 3 | 1 week ago |
| 74780 | detector.run | complete | 1 / 3 | 1 week ago |
| 74781 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:585309] OpenAI Codex v0.77.0 (research preview)
[codex:585309] --------
[codex:585309] workdir: /tmp/codex-multi-jf_zb9ed
[codex:585309] model: gpt-5.2-codex
[codex:585309] provider: openai
[codex:585309] approval: never
[codex:585309] sandbox: read-only
[codex:585309] reasoning effort: xhigh
[codex:585309] reasoning summaries: auto
[codex:585309] session id: 019b6caa-57f7-7e10-a198-dfb7a991f37b
[codex:585309] --------
[codex:585309] user
[codex:585309] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:585309] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:585309] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:585309]
[codex:585309] Scope rules:
[codex:585309] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:585309] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:585309]
[codex:585309] Output MUST be valid JSON matching the provided schema.
[codex:585309] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:585309] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:585309]
[codex:585309] Output constraints (IMPORTANT):
[codex:585309] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:585309] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:585309] mcp startup: no servers
[codex:585309]
[codex:585309] thinking
[codex:585309] **Checking instructions for skill**
[codex:585309] exec
[codex:585309] /bin/bash -lc ls in /tmp/codex-multi-jf_zb9ed succeeded in 5ms:
[codex:585309] AUDIT_BUNDLE.txt
[codex:585309] codex-output-schema.json
[codex:585309] contracts
[codex:585309] exec
[codex:585309] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-jf_zb9ed succeeded in 6ms:
[codex:585309] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:585309]
[codex:585309] ================================================================================
[codex:585309] FILE: contracts/@chainlink/contracts/src/v0.7/interfaces/AggregatorV3Interface.sol
[codex:585309] ================================================================================
[codex:585309] // SPDX-License-Identifier: MIT
[codex:585309] pragma solidity >=0.7.0;
[codex:585309]
[codex:585309] interface AggregatorV3Interface {
[codex:585309]
[codex:585309] function decimals() external view returns (uint8);
[codex:585309] function description() external view returns (string memory);
[codex:585309] function version() external view returns (uint256);
[codex:585309]
[codex:585309] // getRoundData and latestRoundData should both raise "No data present"
[codex:585309] // if they do not have data to report, instead of returning unset values
[codex:585309] // which could be misinterpreted as actual reported values.
[codex:585309] function getRoundData(uint80 _roundId)
[codex:585309] external
[codex:585309] view
[codex:585309]
[codex:585309] thinking
[codex:585309] **Preparing for first-party audit**
[codex:585309] exec
[codex:585309] /bin/bash -lc 'rg --files contracts/contracts' in /tmp/codex-multi-jf_zb9ed succeeded in 10ms:
[codex:585309] contracts/contracts/Exerciser.sol
[codex:585309] contracts/contracts/Pool/HegicCall.sol
[codex:585309] contracts/contracts/Pool/HegicPut.sol
[codex:585309] contracts/contracts/Pool/HegicPool.sol
[codex:585309] contracts/contracts/Mocks/WETH.sol
[codex:585309] contracts/contracts/Mocks/ERC20Mock.sol
[codex:585309] contracts/contracts/Mocks/UniswapRouterMock.sol
[codex:585309] contracts/contracts/Facade/Facade.sol
[codex:585309] contracts/contracts/Staking/HegicStaking.sol
[codex:585309] contracts/contracts/utils/Math.sol
[codex:585309] contracts/contracts/Interfaces/IOptionsManager.sol
[codex:585309] contracts/contracts/Interfaces/Interfaces.sol
[codex:585309] contracts/contracts/Options/PriceCalculator.sol
[codex:585309] contracts/contracts/Options/OptionsManager.sol
[codex:585309]
[codex:585309] thinking
[codex:585309] **Reviewing first-party contract files**
[codex:585309] exec
[codex:585309] /bin/bash -lc "sed -n '1,240p' contracts/contracts/Pool/HegicPool.sol" in /tmp/codex-multi-jf_zb9ed succeeded in 5ms:
[codex:585309] pragma solidity 0.8.6;
[codex:585309]
[codex:585309] /**
[codex:585309] * SPDX-License-Identifier: GPL-3.0-or-later
[codex:585309] * Hegic
[codex:585309] * Copyright (C) 2021 Hegic Protocol
[codex:585309] *
[codex:585309] * This program is free software: you can redistribute it and/or modify
[codex:585309] * it under the terms of the GNU General Public License as published by
[codex:585309] * the Free Software Foundation, either version 3 of the License, or
[codex:585309] * (at your option) any later version.
[codex:585309] *
[codex:585309] * This program is distributed in the hope that it will be useful,
[codex:585309] * but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:585309] * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:585309] * GNU General Public License for more details.
[codex:585309] *
[codex:585309] * You should have received a copy of the GNU General Public License
[codex:585309] * along with this program. If not, see <http://www.gnu.org/licenses/>.
[codex:585309] **/
[codex:585309] exec
[codex:585309] /bin/bash -lc "sed -n '240,520p' contracts/contracts/Pool/HegicPool.sol" in /tmp/codex-multi-jf_zb9ed succeeded in 6ms:
[codex:585309] (uint256 settlementFee, uint256 premium) =
[codex:585309] _calculateTotalPremium(period, amount, strike);
[codex:585309] uint256 hedgedPremiumTotal = (premium * hedgedBalance) / balance;
[codex:585309] uint256 hedgeFee = (hedgedPremiumTotal * hedgeFeeRate) / 100;
[codex:585309] uint256 hedgePremium = hedgedPremiumTotal - hedgeFee;
[codex:585309] uint256 unhedgePremium = premium - hedgedPremiumTotal;
[codex:585309]
[codex:585309] lockedAmount += amountToBeLocked;
[codex:585309] id = optionsManager.createOptionFor(holder);
[codex:585309] options[id] = Option(
[codex:585309] OptionState.Active,
[codex:585309] strike,
[codex:585309] amount,
[codex:585309] amountToBeLocked,
[codex:585309] block.timestamp + period,
[codex:585309] hedgePremium,
[codex:585309] unhedgePremium
[codex:585309] );
[codex:585309]
[codex:585309] token.safeTransferFrom(
[codex:585309] exec
[codex:585309] /bin/bash -lc "sed -n '520,920p' contracts/contracts/Pool/HegicPool.sol" in /tmp/codex-multi-jf_zb9ed succeeded in 5ms:
[codex:585309] /**
[codex:585309] * @notice Used for calculating the `TotalPremium`
[codex:585309] * for the particular option with regards to
[codex:585309] * the parameters chosen by the option buyer
[codex:585309] * such as the period of holding, size (amount)
[codex:585309] * and strike price.
[codex:585309] * @param period The period of holding the option
[codex:585309] * @param period The size of the option
[codex:585309] **/
[codex:585309] function calculateTotalPremium(
[codex:585309] uint256 period,
[codex:585309] uint256 amount,
[codex:585309] uint256 strike
[codex:585309] ) external view override returns (uint256 settlementFee, uint256 premium) {
[codex:585309] return _calculateTotalPremium(period, amount, strike);
[codex:585309] }
[codex:585309]
[codex:585309] function _calculateTotalPremium(
[codex:585309] uint256 period,
[codex:585309] uint256 amount,
[codex:585309]
[codex:585309] thinking
[codex:585309] **Analyzing potential reentrancy concerns**
[codex:585309] exec
[codex:585309] /bin/bash -lc "sed -n '1,260p' contracts/contracts/Pool/HegicCall.sol" in /tmp/codex-multi-jf_zb9ed succeeded in 5ms:
[codex:585309] pragma solidity 0.8.6;
[codex:585309]
[codex:585309] /**
[codex:585309] * SPDX-License-Identifier: GPL-3.0-or-later
[codex:585309] * Hegic
[codex:585309] * Copyright (C) 2021 Hegic Protocol
[codex:585309] *
[codex:585309] * This program is free software: you can redistribute it and/or modify
[codex:585309] * it under the terms of the GNU General Public License as published by
[codex:585309] * the Free Software Foundation, either version 3 of the License, or
[codex:585309] * (at your option) any later version.
[codex:585309] *
[codex:585309] * This program is distributed in the hope that it will be useful,
[codex:585309] * but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:585309] * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:585309] * GNU General Public License for more details.
[codex:585309] *
[codex:585309] * You should have received a copy of the GNU General Public License
[codex:585309] * along with this program. If not, see <http://www.gnu.org/licenses/>.
[codex:585309] **/
[codex:585309]
[codex:585309] thinking
[codex:585309] **Exploring OptionsManager next**
[codex:585309] exec
[codex:585309] /bin/bash -lc "sed -n '1,260p' contracts/contracts/Options/OptionsManager.sol" in /tmp/codex-multi-jf_zb9ed succeeded in 5ms:
[codex:585309] pragma solidity 0.8.6;
[codex:585309]
[codex:585309] /**
[codex:585309] * SPDX-License-Identifier: GPL-3.0-or-later
[codex:585309] * Hegic
[codex:585309] * Copyright (C) 2021 Hegic Protocol
[codex:585309] *
[codex:585309] * This program is free software: you can redistribute it and/or modify
[codex:585309] * it under the terms of the GNU General Public License as published by
[codex:585309] * the Free Software Foundation, either version 3 of the License, or
[codex:585309] * (at your option) any later version.
[codex:585309] *
[codex:585309] * This program is distributed in the hope that it will be useful,
[codex:585309] * but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:585309] * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:585309] * GNU General Public License for more details.
[codex:585309] *
[codex:585309] * You should have received a copy of the GNU General Public License
[codex:585309] * along with this program. If not, see <http://www.gnu.org/licenses/>.
[codex:585309] **/
[codex:585309]
[codex:585309] thinking
[codex:585309] **Moving to PriceCalculator**
[codex:585309] exec
[codex:585309] /bin/bash -lc "sed -n '1,260p' contracts/contracts/Options/PriceCalculator.sol" in /tmp/codex-multi-jf_zb9ed succeeded in 5ms:
[codex:585309] pragma solidity 0.8.6;
[codex:585309]
[codex:585309] /**
[codex:585309] * SPDX-License-Identifier: GPL-3.0-or-later
[codex:585309] * Hegic
[codex:585309] * Copyright (C) 2021 Hegic Protocol
[codex:585309] *
[codex:585309] * This program is free software: you can redistribute it and/or modify
[codex:585309] * it under the terms of the GNU General Public License as published by
[codex:585309] * the Free Software Foundation, either version 3 of the License, or
[codex:585309] * (at your option) any later version.
[codex:585309] *
[codex:585309] * This program is distributed in the hope that it will be useful,
[codex:585309] * but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:585309] * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:585309] * GNU General Public License for more details.
[codex:585309] *
[codex:585309] * You should have received a copy of the GNU General Public License
[codex:585309] * along with this program. If not, see <http://www.gnu.org/licenses/>.
[codex:585309] **/
[codex:585309]
[codex:585309] thinking
[codex:585309] **Analyzing PriceCalculator risks**
[codex:585309] exec
[codex:585309] /bin/bash -lc "sed -n '1,260p' contracts/contracts/Exerciser.sol" in /tmp/codex-multi-jf_zb9ed succeeded in 6ms:
[codex:585309] pragma solidity 0.8.6;
[codex:585309]
[codex:585309] /**
[codex:585309] * SPDX-License-Identifier: GPL-3.0-or-later
[codex:585309] * Hegic
[codex:585309] * Copyright (C) 2021 Hegic Protocol
[codex:585309] *
[codex:585309] * This program is free software: you can redistribute it and/or modify
[codex:585309] * it under the terms of the GNU General Public License as published by
[codex:585309] * the Free Software Foundation, either version 3 of the License, or
[codex:585309] * (at your option) any later version.
[codex:585309] *
[codex:585309] * This program is distributed in the hope that it will be useful,
[codex:585309] * but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:585309] * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:585309] * GNU General Public License for more details.
[codex:585309] *
[codex:585309] * You should have received a copy of the GNU General Public License
[codex:585309] * along with this program. If not, see <http://www.gnu.org/licenses/>.
[codex:585309] **/
[codex:585309]
[codex:585309] thinking
[codex:585309] **Clarifying exerciser permissions**
[codex:585309] exec
[codex:585309] /bin/bash -lc "sed -n '1,260p' contracts/contracts/Facade/Facade.sol" in /tmp/codex-multi-jf_zb9ed succeeded in 6ms:
[codex:585309] pragma solidity 0.8.6;
[codex:585309]
[codex:585309] /**
[codex:585309] * SPDX-License-Identifier: GPL-3.0-or-later
[codex:585309] * Hegic
[codex:585309] * Copyright (C) 2021 Hegic Protocol
[codex:585309] *
[codex:585309] * This program is free software: you can redistribute it and/or modify
[codex:585309] * it under the terms of the GNU General Public License as published by
[codex:585309] * the Free Software Foundation, either version 3 of the License, or
[codex:585309] * (at your option) any later version.
[codex:585309] *
[codex:585309] * This program is distributed in the hope that it will be useful,
[codex:585309] * but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:585309] * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:585309] * GNU General Public License for more details.
[codex:585309] *
[codex:585309] * You should have received a copy of the GNU General Public License
[codex:585309] * along with this program. If not, see <http://www.gnu.org/licenses/>.
[codex:585309] **/
[codex:585309]
[codex:585309] thinking
[codex:585309] **Analyzing contract approval and reentrancy risks**
[codex:585309] exec
[codex:585309] /bin/bash -lc "sed -n '1,260p' contracts/contracts/Interfaces/Interfaces.sol" in /tmp/codex-multi-jf_zb9ed succeeded in 6ms:
[codex:585309] pragma solidity 0.8.6;
[codex:585309]
[codex:585309] /**
[codex:585309] * SPDX-License-Identifier: GPL-3.0-or-later
[codex:585309] * Hegic
[codex:585309] * Copyright (C) 2021 Hegic Protocol
[codex:585309] *
[codex:585309] * This program is free software: you can redistribute it and/or modify
[codex:585309] * it under the terms of the GNU General Public License as published by
[codex:585309] * the Free Software Foundation, either version 3 of the License, or
[codex:585309] * (at your option) any later version.
[codex:585309] *
[codex:585309] * This program is distributed in the hope that it will be useful,
[codex:585309] * but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:585309] * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:585309] * GNU General Public License for more details.
[codex:585309] *
[codex:585309] * You should have received a copy of the GNU General Public License
[codex:585309] * along with this program. If not, see <http://www.gnu.org/licenses/>.
[codex:585309] **/
[codex:585309]
[codex:585309]
[codex:585309] thinking
[codex:585309] **Analyzing potential vulnerabilities and accounting risks**
[codex:585309]
[codex:585309] I’m carefully examining option state defaults, reentrancy concerns, price oracle usage, and liquidity accounting in the pool. There’s a notable risk that liquidity providers can withdraw funds while options remain active, potentially leaving the pool undercollateralized and risking option exercise failures. I’m also spotting oracle staleness and validation weaknesses that could lead to price manipulation, plus some subtle reentrancy and access control considerations involving token transfers and external calls. This is a complex mix of design and potential security issues worth highlighting.
[codex:585309] thinking
[codex:585309] **Evaluating pricing, reentrancy, and approval concerns**
[codex:585309]
[codex:585309] I’m investigating risks around zero or negative prices causing divide-by-zero errors in profit calculations, plus subtle reentrancy during option sales that could allow liquidity withdrawals mid-process, potentially impacting pool balances. I also see that open approvals in Facade let anyone grant unlimited allowances to arbitrary pools, which could lead to token draining if tokens accumulate there. Some interactions with price oracles lack freshness checks, adding to potential issues. Overall, these factors together highlight important areas to review around accounting, reentrancy, and access control.
[codex:585309] exec
[codex:585309] /bin/bash -lc "sed -n '1,260p' contracts/contracts/Mocks/WETH.sol" in /tmp/codex-multi-jf_zb9ed succeeded in 6ms:
[codex:585309] pragma solidity 0.8.6;
[codex:585309]
[codex:585309] /**
[codex:585309] * SPDX-License-Identifier: GPL-3.0-or-later
[codex:585309] * Hegic
[codex:585309] * Copyright (C) 2021 Hegic
[codex:585309] *
[codex:585309] * This program is free software: you can redistribute it and/or modify
[codex:585309] * it under the terms of the GNU General Public License as published by
[codex:585309] * the Free Software Foundation, either version 3 of the License, or
[codex:585309] * (at your option) any later version.
[codex:585309] *
[codex:585309] * This program is distributed in the hope that it will be useful,
[codex:585309] * but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:585309] * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:585309] * GNU General Public License for more details.
[codex:585309] *
[codex:585309] * You should have received a copy of the GNU General Public License
[codex:585309] * along with this program. If not, see <http://www.gnu.org/licenses/>.
[codex:585309] **/
[codex:585309]
[codex:585309] thinking
[codex:585309] **Analyzing potential vulnerabilities and design flaws**
[codex:585309] exec
[codex:585309] /bin/bash -lc "nl -ba contracts/contracts/Pool/HegicPool.sol | sed -n '540,620p'" in /tmp/codex-multi-jf_zb9ed succeeded in 7ms:
[codex:585309] 540 uint256 strike
[codex:585309] 541 ) internal view virtual returns (uint256 settlementFee, uint256 premium) {
[codex:585309] 542 (settlementFee, premium) = pricer.calculateTotalPremium(
[codex:585309] 543 period,
[codex:585309] 544 amount,
[codex:585309] 545 strike
[codex:585309] 546 );
[codex:585309] 547 require(
[codex:585309] 548 settlementFee + premium > amount / 1000,
[codex:585309] 549 "HegicPool: The option's price is too low"
[codex:585309] 550 );
[codex:585309] 551 }
[codex:585309] 552
[codex:585309] 553 /**
[codex:585309] 554 * @notice Used for changing the `settlementFeeRecipient`
[codex:585309] 555 * contract address for distributing the settlement fees
[codex:585309] 556 * (staking rewards) among the staking participants.
[codex:585309] 557 * @param recipient New staking contract address
[codex:585309] 558 **/
[codex:585309] 559 function setSettlementFeeRecipient(IHegicStaking recipient)
[codex:585309]
[codex:585309] thinking
[codex:585309] **Reviewing PriceCalculator currentPrice method**
[codex:585309] exec
[codex:585309] /bin/bash -lc "nl -ba contracts/contracts/Options/PriceCalculator.sol | sed -n '120,220p'" in /tmp/codex-multi-jf_zb9ed succeeded in 6ms:
[codex:585309] 120 IHegicPool pool
[codex:585309] 121 ) internal view returns (uint256 iv) {
[codex:585309] 122 uint256 poolBalance = pool.totalBalance();
[codex:585309] 123 require(poolBalance > 0, "Pool Error: The pool is empty");
[codex:585309] 124 iv = impliedVolRate * period.sqrt();
[codex:585309] 125
[codex:585309] 126 uint256 lockedAmount = pool.lockedAmount() + amount;
[codex:585309] 127 uint256 utilization = (lockedAmount * 100e8) / poolBalance;
[codex:585309] 128
[codex:585309] 129 if (utilization > 40e8) {
[codex:585309] 130 iv += (iv * (utilization - 40e8) * utilizationRate) / 40e16;
[codex:585309] 131 }
[codex:585309] 132 }
[codex:585309] 133
[codex:585309] 134 /**
[codex:585309] 135 * @notice Used for requesting the current price of the asset
[codex:585309] 136 * using the ChainLink data feeds contracts.
[codex:585309] 137 * See https://feeds.chain.link/
[codex:585309] 138 * @return price Price
[codex:585309] 139 **/
[codex:585309]
[codex:585309] thinking
[codex:585309] **Noting withdrawal logic location**
[codex:585309] exec
[codex:585309] /bin/bash -lc "nl -ba contracts/contracts/Pool/HegicPool.sol | sed -n '330,460p'" in /tmp/codex-multi-jf_zb9ed succeeded in 7ms:
[codex:585309] 330 option.expired < block.timestamp,
[codex:585309] 331 "Pool Error: The option has not expired yet"
[codex:585309] 332 );
[codex:585309] 333 _unlock(option);
[codex:585309] 334 option.state = OptionState.Expired;
[codex:585309] 335 emit Expired(id);
[codex:585309] 336 }
[codex:585309] 337
[codex:585309] 338 function _unlock(Option storage option) internal {
[codex:585309] 339 require(
[codex:585309] 340 option.state == OptionState.Active,
[codex:585309] 341 "Pool Error: The option with such an ID has already been exercised or expired"
[codex:585309] 342 );
[codex:585309] 343 lockedAmount -= option.lockedAmount;
[codex:585309] 344 hedgedBalance += option.hedgePremium;
[codex:585309] 345 unhedgedBalance += option.unhedgePremium;
[codex:585309] 346 }
[codex:585309] 347
[codex:585309] 348 function _calculateLockedAmount(uint256 amount)
[codex:585309] 349 internal
[codex:585309] exec
[codex:585309] /bin/bash -lc "nl -ba contracts/contracts/Pool/HegicPool.sol | sed -n '460,540p'" in /tmp/codex-multi-jf_zb9ed succeeded in 7ms:
[codex:585309] 460 require(
[codex:585309] 461 block.timestamp > t.creationTimestamp + lockupPeriod,
[codex:585309] 462 "Pool Error: The withdrawal is locked up"
[codex:585309] 463 );
[codex:585309] 464
[codex:585309] 465 t.state = TrancheState.Closed;
[codex:585309] 466 if (t.hedged) {
[codex:585309] 467 amount = (t.share * hedgedBalance) / hedgedShare;
[codex:585309] 468 hedgedShare -= t.share;
[codex:585309] 469 hedgedBalance -= amount;
[codex:585309] 470 } else {
[codex:585309] 471 amount = (t.share * unhedgedBalance) / unhedgedShare;
[codex:585309] 472 unhedgedShare -= t.share;
[codex:585309] 473 unhedgedBalance -= amount;
[codex:585309] 474 }
[codex:585309] 475
[codex:585309] 476 token.safeTransfer(owner, amount);
[codex:585309] 477 }
[codex:585309] 478
[codex:585309] 479 /**
[codex:585309]
[codex:585309] thinking
[codex:585309] **Analyzing withdrawal logic and access control risks**
[codex:585309]
[codex:585309] I'm inspecting how the withdraw function ignores locked amounts and noticing potential decimal scaling issues with Chainlink price feeds in HegicPut. I'm also uncovering a potential access control vulnerability in Facade’s poolApprove method that could allow a malicious pool to drain leftover tokens, which seems to be a low-severity but valid concern worth including.
[codex:585309] exec
[codex:585309] /bin/bash -lc "nl -ba contracts/contracts/Facade/Facade.sol | sed -n '70,170p'" in /tmp/codex-multi-jf_zb9ed succeeded in 7ms:
[codex:585309] 70 uint256 amount,
[codex:585309] 71 uint256 strike,
[codex:585309] 72 address[] calldata swappath
[codex:585309] 73 )
[codex:585309] 74 public
[codex:585309] 75 view
[codex:585309] 76 returns (
[codex:585309] 77 uint256 total,
[codex:585309] 78 uint256 baseTotal,
[codex:585309] 79 uint256 settlementFee,
[codex:585309] 80 uint256 premium
[codex:585309] 81 )
[codex:585309] 82 {
[codex:585309] 83 (uint256 _baseTotal, uint256 baseSettlementFee, uint256 basePremium) =
[codex:585309] 84 getBaseOptionCost(pool, period, amount, strike);
[codex:585309] 85 if (swappath.length > 1)
[codex:585309] 86 total = exchange.getAmountsIn(_baseTotal, swappath)[0];
[codex:585309] 87 else total = _baseTotal;
[codex:585309] 88
[codex:585309] 89 baseTotal = _baseTotal;
[codex:585309]
[codex:585309] thinking
[codex:585309] **Summarizing audit findings and crafting JSON output**
[codex:585309]
[codex:585309] I'll organize the identified issues into three detailed findings with severity, category, evidence, exploit scenarios, recommendations, and locations, then format everything into a structured JSON report summarizing the audit results.
[codex:585309] codex
[codex:585309] {"no_findings":false,"summary":"Identified 3 issues: withdrawals ignore locked collateral (insolvency risk), missing oracle freshness/positivity checks, and unrestricted Facade approvals.","findings":[{"severity":"high","category":"other","title":"Withdrawals ignore locked collateral, enabling pool insolvency","exploit_scenario":"A liquidity provider waits out the lockup, then withdraws while options are still active. `_withdraw` pays out based on total balances without accounting for `lockedAmount`, so totalBalance can fall below locked collateral. Subsequent option exercises can revert or be underfunded, breaking solvency.","recommendation":"Enforce withdrawals only against `availableBalance` (totalBalance - lockedAmount) or proportionally reduce withdrawable amounts when options are active; prevent withdrawals that would make totalBalance < lockedAmount.","evidence":"`_withdraw` calculates payout from `hedgedBalance`/`unhedgedBalance` and never checks `lockedAmount`; `availableBalance()` exists but is unused in withdrawals.","locations":["contracts/contracts/Pool/HegicPool.sol:449","contracts/contracts/Pool/HegicPool.sol:482"]},{"severity":"medium","category":"oracle","title":"Chainlink price used without freshness/positivity checks","exploit_scenario":"If the aggregator returns stale/zero/negative data (e.g., sequencer downtime or oracle malfunction), the cast to `uint256` is still used for pricing and profit/lockedAmount calculations, leading to mispriced options or incorrect payouts.","recommendation":"Validate `updatedAt`, `answeredInRound`, and `price > 0` from `latestRoundData()` and enforce a staleness threshold (and sequencer uptime check on L2s).","evidence":"Both `_currentPrice` implementations cast `latestPrice` directly to `uint256` without checking `updatedAt`/`answeredInRound` or `price > 0`.","locations":["contracts/contracts/Pool/HegicPool.sol:567","contracts/contracts/Options/PriceCalculator.sol:140"]},{"severity":"low","category":"access_control","title":"Unrestricted `poolApprove` lets anyone grant unlimited allowances from Facade","exploit_scenario":"An attacker deploys a fake pool that returns a valuable ERC20 address in `token()` and calls `poolApprove`. This grants their pool unlimited allowance from the Facade, letting them `transferFrom` any tokens that accumulate there (e.g., swap leftovers or accidental transfers).","recommendation":"Restrict `poolApprove` to the owner or a whitelist of trusted pools, or remove the function and perform approvals only inside `createOption` for vetted pools.","evidence":"`poolApprove` is external and unprotected, and it blindly sets `type(uint256).max` allowance for `pool.token()` to `pool`.","locations":["contracts/contracts/Facade/Facade.sol:126"]}]}
[codex:585309] tokens used
[codex:585309] 55,077
[codex:585309] {"no_findings":false,"summary":"Identified 3 issues: withdrawals ignore locked collateral (insolvency risk), missing oracle freshness/positivity checks, and unrestricted Facade approvals.","findings":[{"severity":"high","category":"other","title":"Withdrawals ignore locked collateral, enabling pool insolvency","exploit_scenario":"A liquidity provider waits out the lockup, then withdraws while options are still active. `_withdraw` pays out based on total balances without accounting for `lockedAmount`, so totalBalance can fall below locked collateral. Subsequent option exercises can revert or be underfunded, breaking solvency.","recommendation":"Enforce withdrawals only against `availableBalance` (totalBalance - lockedAmount) or proportionally reduce withdrawable amounts when options are active; prevent withdrawals that would make totalBalance < lockedAmount.","evidence":"`_withdraw` calculates payout from `hedgedBalance`/`unhedgedBalance` and never checks `lockedAmount`; `availableBalance()` exists but is unused in withdrawals.","locations":["contracts/contracts/Pool/HegicPool.sol:449","contracts/contracts/Pool/HegicPool.sol:482"]},{"severity":"medium","category":"oracle","title":"Chainlink price used without freshness/positivity checks","exploit_scenario":"If the aggregator returns stale/zero/negative data (e.g., sequencer downtime or oracle malfunction), the cast to `uint256` is still used for pricing and profit/lockedAmount calculations, leading to mispriced options or incorrect payouts.","recommendation":"Validate `updatedAt`, `answeredInRound`, and `price > 0` from `latestRoundData()` and enforce a staleness threshold (and sequencer uptime check on L2s).","evidence":"Both `_currentPrice` implementations cast `latestPrice` directly to `uint256` without checking `updatedAt`/`answeredInRound` or `price > 0`.","locations":["contracts/contracts/Pool/HegicPool.sol:567","contracts/contracts/Options/PriceCalculator.sol:140"]},{"severity":"low","category":"access_control","title":"Unrestricted `poolApprove` lets anyone grant unlimited allowances from Facade","exploit_scenario":"An attacker deploys a fake pool that returns a valuable ERC20 address in `token()` and calls `poolApprove`. This grants their pool unlimited allowance from the Facade, letting them `transferFrom` any tokens that accumulate there (e.g., swap leftovers or accidental transfers).","recommendation":"Restrict `poolApprove` to the owner or a whitelist of trusted pools, or remove the function and perform approvals only inside `createOption` for vetted pools.","evidence":"`poolApprove` is external and unprotected, and it blindly sets `type(uint256).max` allowance for `pool.token()` to `pool`.","locations":["contracts/contracts/Facade/Facade.sol:126"]}]}
{
"codex": {
"ran_at": "2025-12-30T00:37:13.753385+00:00",
"returncode": 0
},
"summary": "Identified 3 issues: withdrawals ignore locked collateral (insolvency risk), missing oracle freshness/positivity checks, and unrestricted Facade approvals.",
"raw_final": {
"summary": "Identified 3 issues: withdrawals ignore locked collateral (insolvency risk), missing oracle freshness/positivity checks, and unrestricted Facade approvals.",
"findings": [
{
"title": "Withdrawals ignore locked collateral, enabling pool insolvency",
"category": "other",
"evidence": "`_withdraw` calculates payout from `hedgedBalance`/`unhedgedBalance` and never checks `lockedAmount`; `availableBalance()` exists but is unused in withdrawals.",
"severity": "high",
"locations": [
"contracts/contracts/Pool/HegicPool.sol:449",
"contracts/contracts/Pool/HegicPool.sol:482"
],
"recommendation": "Enforce withdrawals only against `availableBalance` (totalBalance - lockedAmount) or proportionally reduce withdrawable amounts when options are active; prevent withdrawals that would make totalBalance < lockedAmount.",
"exploit_scenario": "A liquidity provider waits out the lockup, then withdraws while options are still active. `_withdraw` pays out based on total balances without accounting for `lockedAmount`, so totalBalance can fall below locked collateral. Subsequent option exercises can revert or be underfunded, breaking solvency."
},
{
"title": "Chainlink price used without freshness/positivity checks",
"category": "oracle",
"evidence": "Both `_currentPrice` implementations cast `latestPrice` directly to `uint256` without checking `updatedAt`/`answeredInRound` or `price > 0`.",
"severity": "medium",
"locations": [
"contracts/contracts/Pool/HegicPool.sol:567",
"contracts/contracts/Options/PriceCalculator.sol:140"
],
"recommendation": "Validate `updatedAt`, `answeredInRound`, and `price > 0` from `latestRoundData()` and enforce a staleness threshold (and sequencer uptime check on L2s).",
"exploit_scenario": "If the aggregator returns stale/zero/negative data (e.g., sequencer downtime or oracle malfunction), the cast to `uint256` is still used for pricing and profit/lockedAmount calculations, leading to mispriced options or incorrect payouts."
},
{
"title": "Unrestricted `poolApprove` lets anyone grant unlimited allowances from Facade",
"category": "access_control",
"evidence": "`poolApprove` is external and unprotected, and it blindly sets `type(uint256).max` allowance for `pool.token()` to `pool`.",
"severity": "low",
"locations": [
"contracts/contracts/Facade/Facade.sol:126"
],
"recommendation": "Restrict `poolApprove` to the owner or a whitelist of trusted pools, or remove the function and perform approvals only inside `createOption` for vetted pools.",
"exploit_scenario": "An attacker deploys a fake pool that returns a valuable ERC20 address in `token()` and calls `poolApprove`. This grants their pool unlimited allowance from the Facade, letting them `transferFrom` any tokens that accumulate there (e.g., swap leftovers or accidental transfers)."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLVALUE 00000006: DUP1 00000007: ISZERO 00000008: PUSH2 0x0010 0000000b: JUMPI 0000000c: PUSH1 0x00 0000000e: DUP1 0000000f: REVERT 00000010: JUMPDEST 00000011: POP 00000012: PUSH1 0x04 00000014: CALLDATASIZE 00000015: LT 00000016: PUSH2 0x0383 00000019: JUMPI 0000001a: PUSH1 0x00 0000001c: CALLDATALOAD 0000001d: PUSH1 0xe0 0000001f: SHR 00000020: DUP1 00000021: PUSH4 0x762f3a16 00000026: GT 00000027: PUSH2 0x01de 0000002a: JUMPI 0000002b: DUP1 0000002c: PUSH4 0xb07f0a41 00000031: GT 00000032: PUSH2 0x010f 00000035: JUMPI 00000036: DUP1 00000037: PUSH4 0xd07a1c57 0000003c: GT 0000003d: PUSH2 0x00ad 00000040: JUMPI 00000041: DUP1 00000042: PUSH4 0xe5829d20 00000047: GT 00000048: PUSH2 0x007c 0000004b: JUMPI 0000004c: DUP1 0000004d: PUSH4 0xe5829d20 00000052: EQ 00000053: PUSH2 0x07c6 00000056: JUMPI 00000057: DUP1 00000058: PUSH4 0xe985e9c5 0000005d: EQ 0000005e: PUSH2 0x07d9 00000061: JUMPI 00000062: DUP1 00000063: PUSH4 0xfc0c546a 00000068: EQ 00000069: PUSH2 0x0815 0000006c: JUMPI 0000006d: DUP1 0000006e: PUSH4 0xfeed2342 00000073: EQ 00000074: PUSH2 0x0828 00000077: JUMPI 00000078: PUSH1 0x00 0000007a: DUP1 0000007b: REVERT 0000007c: JUMPDEST 0000007d: DUP1 0000007e: PUSH4 0xd07a1c57 00000083: EQ 00000084: PUSH2 0x0779 00000087: JUMPI 00000088: DUP1 00000089: PUSH4 0xd547741f 0000008e: EQ 0000008f: PUSH2 0x07a1 00000092: JUMPI 00000093: DUP1 00000094: PUSH4 0xdcaf9c44 00000099: EQ 0000009a: PUSH2 0x07b4 0000009d: JUMPI 0000009e: DUP1 0000009f: PUSH4 0xdfcb48bd 000000a4: EQ 000000a5: PUSH2 0x07bd 000000a8: JUMPI 000000a9: PUSH1 0x00 000000ab: DUP1 000000ac: REVERT 000000ad: JUMPDEST 000000ae: DUP1 000000af: PUSH4 0xb88d4fde 000000b4: GT 000000b5: PUSH2 0x00e9 000000b8: JUMPI 000000b9: DUP1 000000ba: PUSH4 0xb88d4fde 000000bf: EQ 000000c0: PUSH2 0x0741 000000c3: JUMPI 000000c4: DUP1 000000c5: PUSH4 0xc87b56dd 000000ca: EQ 000000cb: PUSH2 0x0754 000000ce: JUMPI 000000cf: DUP1 000000d0: PUSH4 0xce8ff5a4 000000d5: EQ 000000d6: PUSH2 0x0767 000000d9: JUMPI 000000da: DUP1 000000db: PUSH4 0xcfffdefa 000000e0: EQ 000000e1: PUSH2 0x0770 000000e4: JUMPI 000000e5: PUSH1 0x00 000000e7: DUP1 000000e8: REVERT 000000e9: JUMPDEST 000000ea: DUP1 000000eb: PUSH4 0xb07f0a41 000000f0: EQ 000000f1: PUSH2 0x06f4 000000f4: JUMPI 000000f5: DUP1 000000f6: PUSH4 0xb1e368cd 000000fb: EQ 000000fc: PUSH2 0x0707 000000ff: JUMPI 00000100: DUP1 00000101: PUSH4 0xb888879e 00000106: EQ 00000107: PUSH2 0x071a 0000010a: JUMPI 0000010b: PUSH1 0x00 0000010d: DUP1 0000010e: REVERT 0000010f: JUMPDEST 00000110: DUP1 00000111: PUSH4 0x9cf0ea1d 00000116: GT 00000117: PUSH2 0x017c 0000011a: JUMPI 0000011b: DUP1 0000011c: PUSH4 0xa22cb465 00000121: GT 00000122: PUSH2 0x0156 00000125: JUMPI 00000126: DUP1 00000127: PUSH4 0xa22cb465 0000012c: EQ 0000012d: PUSH2 0x06be 00000130: JUMPI 00000131: DUP1 00000132: PUSH4 0xa6138ed9 00000137: EQ 00000138: PUSH2 0x06d1 0000013b: JUMPI 0000013c: DUP1 0000013d: PUSH4 0xab2f0e51 00000142: EQ 00000143: PUSH2 0x06e4 00000146: JUMPI 00000147: DUP1 00000148: PUSH4 0xad7a672f 0000014d: EQ 0000014e: PUSH2 0x06ec 00000151: JUMPI 00000152: PUSH1 0x00 00000154: DUP1 00000155: REVERT 00000156: JUMPDEST 00000157: DUP1 00000158: PUSH4 0x9cf0ea1d 0000015d: EQ 0000015e: PUSH2 0x069a 00000161: JUMPI 00000162: DUP1 00000163: PUSH4 0x9e252f08 00000168: EQ 00000169: PUSH2 0x06a3 0000016c: JUMPI 0000016d: DUP1 0000016e: PUSH4 0xa217fddf 00000173: EQ 00000174: PUSH2 0x06b6 00000177: JUMPI 00000178: PUSH1 0x00 0000017a: DUP1 0000017b: REVERT 0000017c: JUMPDEST 0000017d: DUP1 0000017e: PUSH4 0x911e3025 00000183: GT 00000184: PUSH2 0x01b8 00000187: JUMPI 00000188: DUP1 00000189: PUSH4 0x911e3025 0000018e: EQ 0000018f: PUSH2 0x0659 00000192: JUMPI 00000193: DUP1 00000194: PUSH4 0x91d14854 00000199: EQ 0000019a: PUSH2 0x066c 0000019d: JUMPI 0000019e: DUP1 0000019f: PUSH4 0x95d89b41 000001a4: EQ 000001a5: PUSH2 0x067f 000001a8: JUMPI 000001a9: DUP1 000001aa: PUSH4 0x96350a85 000001af: EQ 000001b0: PUSH2 0x0687 000001b3: JUMPI 000001b4: PUSH1 0x00 000001b6: DUP1 000001b7: REVERT 000001b8: JUMPDEST 000001b9: DUP1 000001ba: PUSH4 0x762f3a16 000001bf: EQ 000001c0: PUSH2 0x0634 000001c3: JUMPI 000001c4: DUP1 000001c5: PUSH4 0x7632bffb 000001ca: EQ 000001cb: PUSH2 0x063d 000001ce: JUMPI 000001cf: DUP1 000001d0: PUSH4 0x8ed83271 000001d5: EQ 000001d6: PUSH2 0x0650 000001d9: JUMPI 000001da: PUSH1 0x00 000001dc: DUP1 000001dd: REVERT 000001de: JUMPDEST 000001df: DUP1 000001e0: PUSH4 0x36568abe 000001e5: GT 000001e6: PUSH2 0x02b8 000001e9: JUMPI 000001ea: DUP1 000001eb: PUSH4 0x52cf2a6b 000001f0: GT 000001f1: PUSH2 0x0256 000001f4: JUMPI 000001f5: DUP1 000001f6: PUSH4 0x63d1fac0 000001fb: GT 000001fc: PUSH2 0x0230 000001ff: JUMPI 00000200: DUP1 00000201: PUSH4 0x63d1fac0 00000206: EQ 00000207: PUSH2 0x05fc 0000020a: JUMPI 0000020b: DUP1 0000020c: PUSH4 0x6922d7b6 00000211: EQ 00000212: PUSH2 0x0605 00000215: JUMPI 00000216: DUP1 00000217: PUSH4 0x6ab28bc8 0000021c: EQ 0000021d: PUSH2 0x0618 00000220: JUMPI 00000221: DUP1 00000222: PUSH4 0x70a08231 00000227: EQ 00000228: PUSH2 0x0621 0000022b: JUMPI 0000022c: PUSH1 0x00 0000022e: DUP1 0000022f: REVERT 00000230: JUMPDEST 00000231: DUP1 00000232: PUSH4 0x52cf2a6b 00000237: EQ 00000238: PUSH2 0x05c3 0000023b: JUMPI 0000023c: DUP1 0000023d: PUSH4 0x6198e339 00000242: EQ 00000243: PUSH2 0x05d6 00000246: JUMPI 00000247: DUP1 00000248: PUSH4 0x6352211e 0000024d: EQ 0000024e: PUSH2 0x05e9 00000251: JUMPI 00000252: PUSH1 0x00 00000254: DUP1 00000255: REVERT 00000256: JUMPDEST 00000257: DUP1 00000258: PUSH4 0x409e2205 0000025d: GT 0000025e: PUSH2 0x0292 00000261: JUMPI 00000262: DUP1 00000263: PUSH4 0x409e2205 00000268: EQ 00000269: PUSH2 0x0535 0000026c: JUMPI 0000026d: DUP1 0000026e: PUSH4 0x42842e0e 00000273: EQ 00000274: PUSH2 0x0597 00000277: JUMPI 00000278: DUP1 00000279: PUSH4 0x49a1bd31 0000027e: EQ 0000027f: PUSH2 0x05aa 00000282: JUMPI 00000283: DUP1 00000284: PUSH4 0x4dbac733 00000289: EQ 0000028a: PUSH2 0x05b3 0000028d: JUMPI 0000028e: PUSH1 0x00 00000290: DUP1 00000291: REVERT 00000292: JUMPDEST 00000293: DUP1 00000294: PUSH4 0x36568abe 00000299: EQ 0000029a: PUSH2 0x04f2 0000029d: JUMPI 0000029e: DUP1 0000029f: PUSH4 0x36bcbee6 000002a4: EQ 000002a5: PUSH2 0x0505 000002a8: JUMPI 000002a9: DUP1 000002aa: PUSH4 0x399735bf 000002af: EQ 000002b0: PUSH2 0x050e 000002b3: JUMPI 000002b4: PUSH1 0x00 000002b6: DUP1 000002b7: REVERT 000002b8: JUMPDEST 000002b9: DUP1 000002ba: PUSH4 0x23b872dd 000002bf: GT 000002c0: PUSH2 0x0325 000002c3: JUMPI 000002c4: DUP1 000002c5: PUSH4 0x2e1a7d4d 000002ca: GT 000002cb: PUSH2 0x02ff 000002ce: JUMPI 000002cf: DUP1 000002d0: PUSH4 0x2e1a7d4d 000002d5: EQ 000002d6: PUSH2 0x04a6 000002d9: JUMPI 000002da: DUP1 000002db: PUSH4 0x2f2ff15d 000002e0: EQ 000002e1: PUSH2 0x04b9 000002e4: JUMPI 000002e5: DUP1 000002e6: PUSH4 0x330fd6d3 000002eb: EQ 000002ec: PUSH2 0x04cc 000002ef: JUMPI 000002f0: DUP1 000002f1: PUSH4 0x331a4060 000002f6: EQ 000002f7: PUSH2 0x04df 000002fa: JUMPI 000002fb: PUSH1 0x00 000002fd: DUP1 000002fe: REVERT 000002ff: JUMPDEST 00000300: DUP1 00000301: PUSH4 0x23b872dd 00000306: EQ 00000307: PUSH2 0x044c 0000030a: JUMPI 0000030b: DUP1 0000030c: PUSH4 0x248a9ca3 00000311: EQ 00000312: PUSH2 0x045f 00000315: JUMPI 00000316: DUP1 00000317: PUSH4 0x26c25962 0000031c: EQ 0000031d: PUSH2 0x0482 00000320: JUMPI 00000321: PUSH1 0x00 00000323: DUP1 00000324: REVERT 00000325: JUMPDEST 00000326: DUP1 00000327: PUSH4 0x095ea7b3 0000032c: GT 0000032d: PUSH2 0x0361 00000330: JUMPI 00000331: DUP1 00000332: PUSH4 0x095ea7b3 00000337: EQ 00000338: PUSH2 0x03f0 0000033b: JUMPI 0000033c: DUP1 0000033d: PUSH4 0x0af3f226 00000342: EQ 00000343: PUSH2 0x0405 00000346: JUMPI 00000347: DUP1 00000348: PUSH4 0x11b56020 0000034d: EQ 0000034e: PUSH2 0x0426 00000351: JUMPI 00000352: DUP1 00000353: PUSH4 0x181731dc 00000358: EQ 00000359: PUSH2 0x0439 0000035c: JUMPI 0000035d: PUSH1 0x00 0000035f: DUP1 00000360: REVERT 00000361: JUMPDEST 00000362: DUP1 00000363: PUSH4 0x01ffc9a7 00000368: EQ 00000369: PUSH2 0x0388 0000036c: JUMPI 0000036d: DUP1 0000036e: PUSH4 0x06fdde03 00000373: EQ 00000374: PUSH2 0x03b0 00000377: JUMPI 00000378: DUP1 00000379: PUSH4 0x081812fc 0000037e: EQ 0000037f: PUSH2 0x03c5 00000382: JUMPI 00000383: JUMPDEST 00000384: PUSH1 0x00 00000386: DUP1 00000387: REVERT 00000388: JUMPDEST 00000389: PUSH2 0x039b 0000038c: PUSH2 0x0396 0000038f: CALLDATASIZE 00000390: PUSH1 0x04 00000392: PUSH2 0x36dc 00000395: JUMP 00000396: JUMPDEST 00000397: PUSH2 0x0831 0000039a: JUMP 0000039b: JUMPDEST 0000039c: PUSH1 0x40 0000039e: MLOAD 0000039f: SWAP1 000003a0: ISZERO 000003a1: ISZERO 000003a2: DUP2 000003a3: MSTORE 000003a4: PUSH1 0x20 000003a6: ADD 000003a7: JUMPDEST 000003a8: PUSH1 0x40 000003aa: MLOAD 000003ab: DUP1 000003ac: SWAP2 000003ad: SUB 000003ae: SWAP1 000003af: RETURN 000003b0: JUMPDEST 000003b1: PUSH2 0x03b8 000003b4: PUSH2 0x086b 000003b7: JUMP 000003b8: JUMPDEST 000003b9: PUSH1 0x40 000003bb: MLOAD 000003bc: PUSH2 0x03a7 000003bf: SWAP2 000003c0: SWAP1 000003c1: PUSH2 0x3993 000003c4: JUMP 000003c5: JUMPDEST 000003c6: PUSH2 0x03d8 000003c9: PUSH2 0x03d3 000003cc: CALLDATASIZE 000003cd: PUSH1 0x04 000003cf: PUSH2 0x369e 000003d2: JUMP 000003d3: JUMPDEST 000003d4: PUSH2 0x08fd 000003d7: JUMP 000003d8: JUMPDEST 000003d9: PUSH1 0x40 000003db: MLOAD 000003dc: PUSH1 0x01 000003de: PUSH1 0x01 000003e0: PUSH1 0xa0 000003e2: SHL 000003e3: SUB 000003e4: SWAP1 000003e5: SWAP2 000003e6: AND 000003e7: DUP2 000003e8: MSTORE 000003e9: PUSH1 0x20 000003eb: ADD 000003ec: PUSH2 0x03a7 000003ef: JUMP 000003f0: JUMPDEST 000003f1: PUSH2 0x0403 000003f4: PUSH2 0x03fe 000003f7: CALLDATASIZE 000003f8: PUSH1 0x04 000003fa: PUSH2 0x35d2 000003fd: JUMP 000003fe: JUMPDEST 000003ff: PUSH2 0x0997 00000402: JUMP 00000403: JUMPDEST 00000404: STOP 00000405: JUMPDEST 00000406: PUSH2 0x0418 00000409: PUSH2 0x0413 0000040c: CALLDATASIZE 0000040d: PUSH1 0x04 0000040f: PUSH2 0x369e 00000412: JUMP 00000413: JUMPDEST 00000414: PUSH2 0x0aad 00000417: JUMP 00000418: JUMPDEST 00000419: PUSH1 0x40 0000041b: MLOAD 0000041c: SWAP1 0000041d: DUP2 0000041e: MSTORE 0000041f: PUSH1 0x20 00000421: ADD 00000422: PUSH2 0x03a7 00000425: JUMP 00000426: JUMPDEST 00000427: PUSH2 0x0403 0000042a: PUSH2 0x0434 0000042d: CALLDATASIZE 0000042e: PUSH1 0x04 00000430: PUSH2 0x372f 00000433: JUMP 00000434: JUMPDEST 00000435: PUSH2 0x0b3f 00000438: JUMP 00000439: JUMPDEST 0000043a: PUSH1 0x15 0000043c: SLOAD 0000043d: PUSH2 0x03d8 00000440: SWAP1 00000441: PUSH1 0x01 00000443: PUSH1 0x01 00000445: PUSH1 0xa0 00000447: SHL 00000448: SUB 00000449: AND 0000044a: DUP2 0000044b: JUMP 0000044c: JUMPDEST 0000044d: PUSH2 0x0403 00000450: PUSH2 0x045a 00000453: CALLDATASIZE 00000454: PUSH1 0x04 00000456: PUSH2 0x3483 00000459: JUMP 0000045a: JUMPDEST 0000045b: PUSH2 0x0bdc 0000045e: JUMP 0000045f: JUMPDEST 00000460: PUSH2 0x0418 00000463: PUSH2 0x046d 00000466: CALLDATASIZE 00000467: PUSH1 0x04 00000469: PUSH2 0x369e 0000046c: JUMP 0000046d: JUMPDEST 0000046e: PUSH1 0x00 00000470: SWAP1 00000471: DUP2 00000472: MSTORE 00000473: PUSH1 0x06 00000475: PUSH1 0x20 00000477: MSTORE 00000478: PUSH1 0x40 0000047a: SWAP1 0000047b: KECCAK256 0000047c: PUSH1 0x01 0000047e: ADD 0000047f: SLOAD 00000480: SWAP1 00000481: JUMP 00000482: JUMPDEST 00000483: PUSH2 0x0495 00000486: PUSH2 0x0490 00000489: CALLDATASIZE 0000048a: PUSH1 0x04 0000048c: PUSH2 0x369e 0000048f: JUMP 00000490: JUMPDEST 00000491: PUSH2 0x0c0d 00000494: JUMP 00000495: JUMPDEST 00000496: PUSH1 0x40 00000498: MLOAD 00000499: PUSH2 0x03a7 0000049c: SWAP6 0000049d: SWAP5 0000049e: SWAP4 0000049f: SWAP3 000004a0: SWAP2 000004a1: SWAP1 000004a2: PUSH2 0x395c 000004a5: JUMP 000004a6: JUMPDEST 000004a7: PUSH2 0x0418 000004aa: PUSH2 0x04b4 000004ad: CALLDATASIZE 000004ae: PUSH1 0x04 000004b0: PUSH2 0x369e 000004b3: JUMP 000004b4: JUMPDEST 000004b5: PUSH2 0x0c55 000004b8: JUMP 000004b9: JUMPDEST 000004ba: PUSH2 0x0403 000004bd: PUSH2 0x04c7 000004c0: CALLDATASIZE 000004c1: PUSH1 0x04 000004c3: PUSH2 0x36b7 000004c6: JUMP 000004c7: JUMPDEST 000004c8: PUSH2 0x0dcc 000004cb: JUMP 000004cc: JUMPDEST 000004cd: PUSH2 0x0403 000004d0: PUSH2 0x04da 000004d3: CALLDATASIZE 000004d4: PUSH1 0x04 000004d6: PUSH2 0x372f 000004d9: JUMP 000004da: JUMPDEST 000004db: PUSH2 0x0df2 000004de: JUMP 000004df: JUMPDEST 000004e0: PUSH2 0x0418 000004e3: PUSH2 0x04ed 000004e6: CALLDATASIZE 000004e7: PUSH1 0x04 000004e9: PUSH2 0x3646 000004ec: JUMP 000004ed: JUMPDEST 000004ee: PUSH2 0x0ee6 000004f1: JUMP 000004f2: JUMPDEST 000004f3: PUSH2 0x0403 000004f6: PUSH2 0x0500 000004f9: CALLDATASIZE 000004fa: PUSH1 0x04 000004fc: PUSH2 0x36b7 000004ff: JUMP 00000500: JUMPDEST 00000501: PUSH2 0x1320 00000504: JUMP 00000505: JUMPDEST 00000506: PUSH2 0x0418 00000509: PUSH1 0x09 0000050b: SLOAD 0000050c: DUP2 0000050d: JUMP 0000050e: JUMPDEST 0000050f: PUSH2 0x03d8 00000512: PUSH32 0x0000000000000000000000001ba4b447d0df64da64024e5ec47da94458c1e97f 00000533: DUP2 00000534: JUMP 00000535: JUMPDEST 00000536: PUSH2 0x0584 00000539: PUSH2 0x0543 0000053c: CALLDATASIZE 0000053d: PUSH1 0x04 0000053f: PUSH2 0x369e 00000542: JUMP 00000543: JUMPDEST 00000544: PUSH1 0x18 00000546: PUSH1 0x20 00000548: MSTORE 00000549: PUSH1 0x00 0000054b: SWAP1 0000054c: DUP2 0000054d: MSTORE 0000054e: PUSH1 0x40 00000550: SWAP1 00000551: KECCAK256 00000552: DUP1 00000553: SLOAD 00000554: PUSH1 0x01 00000556: DUP3 00000557: ADD 00000558: SLOAD 00000559: PUSH1 0x02 0000055b: DUP4 0000055c: ADD 0000055d: SLOAD 0000055e: PUSH1 0x03 00000560: DUP5 00000561: ADD 00000562: SLOAD 00000563: PUSH1 0x04 00000565: DUP6 00000566: ADD 00000567: SLOAD 00000568: PUSH1 0x05 0000056a: DUP7 0000056b: ADD 0000056c: SLOAD 0000056d: PUSH1 0x06 0000056f: SWAP1 00000570: SWAP7 00000571: ADD 00000572: SLOAD 00000573: PUSH1 0xff 00000575: SWAP1 00000576: SWAP6 00000577: AND 00000578: SWAP6 00000579: SWAP4 0000057a: SWAP5 0000057b: SWAP3 0000057c: SWAP4 0000057d: SWAP2 0000057e: SWAP3 0000057f: SWAP1 00000580: SWAP2 00000581: SWAP1 00000582: DUP8 00000583: JUMP 00000584: JUMPDEST 00000585: PUSH1 0x40 00000587: MLOAD 00000588: PUSH2 0x03a7 0000058b: SWAP8 0000058c: SWAP7 0000058d: SWAP6 0000058e: SWAP5 0000058f: SWAP4 00000590: SWAP3 00000591: SWAP2 00000592: SWAP1 00000593: PUSH2 0x391a 00000596: JUMP 00000597: JUMPDEST 00000598: PUSH2 0x0403 0000059b: PUSH2 0x05a5 0000059e: CALLDATASIZE 0000059f: PUSH1 0x04 000005a1: PUSH2 0x3483 000005a4: JUMP 000005a5: JUMPDEST 000005a6: PUSH2 0x139e 000005a9: JUMP 000005aa: JUMPDEST 000005ab: PUSH2 0x0418 000005ae: PUSH1 0x0a 000005b0: SLOAD 000005b1: DUP2 000005b2: JUMP 000005b3: JUMPDEST 000005b4: PUSH2 0x0418 000005b7: PUSH9 0x056bc75e2d63100000 000005c1: DUP2 000005c2: JUMP 000005c3: JUMPDEST 000005c4: PUSH2 0x0403 000005c7: PUSH2 0x05d1 000005ca: CALLDATASIZE 000005cb: PUSH1 0x04 000005cd: PUSH2 0x369e 000005d0: JUMP 000005d1: JUMPDEST 000005d2: PUSH2 0x13b9 000005d5: JUMP 000005d6: JUMPDEST 000005d7: PUSH2 0x0403 000005da: PUSH2 0x05e4 000005dd: CALLDATASIZE 000005de: PUSH1 0x04 000005e0: PUSH2 0x369e 000005e3: JUMP 000005e4: JUMPDEST 000005e5: PUSH2 0x1445 000005e8: JUMP 000005e9: JUMPDEST 000005ea: PUSH2 0x03d8 000005ed: PUSH2 0x05f7 000005f0: CALLDATASIZE 000005f1: PUSH1 0x04 000005f3: PUSH2 0x369e 000005f6: JUMP 000005f7: JUMPDEST 000005f8: PUSH2 0x14fc 000005fb: JUMP 000005fc: JUMPDEST 000005fd: PUSH2 0x0418 00000600: PUSH1 0x0b 00000602: SLOAD 00000603: DUP2 00000604: JUMP 00000605: JUMPDEST 00000606: PUSH2 0x0403 00000609: PUSH2 0x0613 0000060c: CALLDATASIZE 0000060d: PUSH1 0x04 0000060f: PUSH2 0x3410 00000612: JUMP 00000613: JUMPDEST 00000614: PUSH2 0x1573 00000617: JUMP 00000618: JUMPDEST 00000619: PUSH2 0x0418 0000061c: PUSH1 0x0e 0000061e: SLOAD 0000061f: DUP2 00000620: JUMP 00000621: JUMPDEST 00000622: PUSH2 0x0418 00000625: PUSH2 0x062f 00000628: CALLDATASIZE 00000629: PUSH1 0x04 0000062b: PUSH2 0x3410 0000062e: JUMP 0000062f: JUMPDEST 00000630: PUSH2 0x15a2 00000633: JUMP 00000634: JUMPDEST 00000635: PUSH2 0x0418 00000638: PUSH1 0x10 0000063a: SLOAD 0000063b: DUP2 0000063c: JUMP 0000063d: JUMPDEST 0000063e: PUSH2 0x0418 00000641: PUSH2 0x064b 00000644: CALLDATASIZE 00000645: PUSH1 0x04 00000647: PUSH2 0x369e 0000064a: JUMP 0000064b: JUMPDEST 0000064c: PUSH2 0x1629 0000064f: JUMP 00000650: JUMPDEST 00000651: PUSH2 0x0418 00000654: PUSH1 0x0f 00000656: SLOAD 00000657: DUP2 00000658: JUMP 00000659: JUMPDEST 0000065a: PUSH2 0x0418 0000065d: PUSH2 0x0667 00000660: CALLDATASIZE 00000661: PUSH1 0x04 00000663: PUSH2 0x35fe 00000666: JUMP 00000667: JUMPDEST 00000668: PUSH2 0x16b5 0000066b: JUMP 0000066c: JUMPDEST 0000066d: PUSH2 0x039b 00000670: PUSH2 0x067a 00000673: CALLDATASIZE 00000674: PUSH1 0x04 00000676: PUSH2 0x36b7 00000679: JUMP 0000067a: JUMPDEST 0000067b: PUSH2 0x1a10 0000067e: JUMP 0000067f: JUMPDEST 00000680: PUSH2 0x03b8 00000683: PUSH2 0x1a3b 00000686: JUMP 00000687: JUMPDEST 00000688: PUSH2 0x0403 0000068b: PUSH2 0x0695 0000068e: CALLDATASIZE 0000068f: PUSH1 0x04 00000691: PUSH2 0x3410 00000694: JUMP 00000695: JUMPDEST 00000696: PUSH2 0x1a4a 00000699: JUMP 0000069a: JUMPDEST 0000069b: PUSH2 0x0418 0000069e: PUSH1 0x14 000006a0: SLOAD 000006a1: DUP2 000006a2: JUMP 000006a3: JUMPDEST 000006a4: PUSH1 0x16 000006a6: SLOAD 000006a7: PUSH2 0x03d8 000006aa: SWAP1 000006ab: PUSH1 0x01 000006ad: PUSH1 0x01 000006af: PUSH1 0xa0 000006b1: SHL 000006b2: SUB 000006b3: AND 000006b4: DUP2 000006b5: JUMP 000006b6: JUMPDEST 000006b7: PUSH2 0x0418 000006ba: PUSH1 0x00 000006bc: DUP2 000006bd: JUMP 000006be: JUMPDEST 000006bf: PUSH2 0x0403 000006c2: PUSH2 0x06cc 000006c5: CALLDATASIZE 000006c6: PUSH1 0x04 000006c8: PUSH2 0x35a4 000006cb: JUMP 000006cc: JUMPDEST 000006cd: PUSH2 0x1a8c 000006d0: JUMP 000006d1: JUMPDEST 000006d2: PUSH1 0x08 000006d4: SLOAD 000006d5: PUSH2 0x03d8 000006d8: SWAP1 000006d9: PUSH1 0x01 000006db: PUSH1 0x01 000006dd: PUSH1 0xa0 000006df: SHL 000006e0: SUB 000006e1: AND 000006e2: DUP2 000006e3: JUMP 000006e4: JUMPDEST 000006e5: PUSH2 0x0418 000006e8: PUSH2 0x1b51 000006eb: JUMP 000006ec: JUMPDEST 000006ed: PUSH2 0x0418 000006f0: PUSH2 0x1b6d 000006f3: JUMP 000006f4: JUMPDEST 000006f5: PUSH2 0x0403 000006f8: PUSH2 0x0702 000006fb: CALLDATASIZE 000006fc: PUSH1 0x04 000006fe: PUSH2 0x369e 00000701: JUMP 00000702: JUMPDEST 00000703: PUSH2 0x1b7f 00000706: JUMP 00000707: JUMPDEST 00000708: PUSH2 0x0403 0000070b: PUSH2 0x0715 0000070e: CALLDATASIZE 0000070f: PUSH1 0x04 00000711: PUSH2 0x3410 00000714: JUMP 00000715: JUMPDEST 00000716: PUSH2 0x1e9f 00000719: JUMP 0000071a: JUMPDEST 0000071b: PUSH2 0x03d8 0000071e: PUSH32 0x0000000000000000000000005f4ec3df9cbd43714fe2740f5e3616155c5b8419 0000073f: DUP2 00000740: JUMP 00000741: JUMPDEST 00000742: PUSH2 0x0403 00000745: PUSH2 0x074f 00000748: CALLDATASIZE 00000749: PUSH1 0x04 0000074b: PUSH2 0x34c4 0000074e: JUMP 0000074f: JUMPDEST 00000750: PUSH2 0x1ee1 00000753: JUMP 00000754: JUMPDEST 00000755: PUSH2 0x03b8 00000758: PUSH2 0x0762 0000075b: CALLDATASIZE 0000075c: PUSH1 0x04 0000075e: PUSH2 0x369e 00000761: JUMP 00000762: JUMPDEST 00000763: PUSH2 0x1f19 00000766: JUMP 00000767: JUMPDEST 00000768: PUSH2 0x0418 0000076b: PUSH1 0x11 0000076d: SLOAD 0000076e: DUP2 0000076f: JUMP 00000770: JUMPDEST 00000771: PUSH2 0x0418 00000774: PUSH1 0x12 00000776: SLOAD 00000777: DUP2 00000778: JUMP 00000779: JUMPDEST 0000077a: PUSH2 0x078c 0000077d: PUSH2 0x0787 00000780: CALLDATASIZE 00000781: PUSH1 0x04 00000783: PUSH2 0x3775 00000786: JUMP 00000787: JUMPDEST 00000788: PUSH2 0x2001 0000078b: JUMP 0000078c: JUMPDEST 0000078d: PUSH1 0x40 0000078f: DUP1 00000790: MLOAD 00000791: SWAP3 00000792: DUP4 00000793: MSTORE 00000794: PUSH1 0x20 00000796: DUP4 00000797: ADD 00000798: SWAP2 00000799: SWAP1 0000079a: SWAP2 0000079b: MSTORE 0000079c: ADD 0000079d: PUSH2 0x03a7 000007a0: JUMP 000007a1: JUMPDEST 000007a2: PUSH2 0x0403 000007a5: PUSH2 0x07af 000007a8: CALLDATASIZE 000007a9: PUSH1 0x04 000007ab: PUSH2 0x36b7 000007ae: JUMP 000007af: JUMPDEST 000007b0: PUSH2 0x201c 000007b3: JUMP 000007b4: JUMPDEST 000007b5: PUSH2 0x0418 000007b8: PUSH1 0x0d 000007ba: SLOAD 000007bb: DUP2 000007bc: JUMP 000007bd: JUMPDEST 000007be: PUSH2 0x0418 000007c1: PUSH1 0x0c 000007c3: SLOAD 000007c4: DUP2 000007c5: JUMP 000007c6: JUMPDEST 000007c7: PUSH2 0x0403 000007ca: PUSH2 0x07d4 000007cd: CALLDATASIZE 000007ce: PUSH1 0x04 000007d0: PUSH2 0x369e 000007d3: JUMP 000007d4: JUMPDEST 000007d5: PUSH2 0x2042 000007d8: JUMP 000007d9: JUMPDEST 000007da: PUSH2 0x039b 000007dd: PUSH2 0x07e7 000007e0: CALLDATASIZE 000007e1: PUSH1 0x04 000007e3: PUSH2 0x344a 000007e6: JUMP 000007e7: JUMPDEST 000007e8: PUSH1 0x01 000007ea: PUSH1 0x01 000007ec: PUSH1 0xa0 000007ee: SHL 000007ef: SUB 000007f0: SWAP2 000007f1: DUP3 000007f2: AND 000007f3: PUSH1 0x00 000007f5: SWAP1 000007f6: DUP2 000007f7: MSTORE 000007f8: PUSH1 0x05 000007fa: PUSH1 0x20 000007fc: SWAP1 000007fd: DUP2 000007fe: MSTORE 000007ff: PUSH1 0x40 00000801: DUP1 00000802: DUP4 00000803: KECCAK256 00000804: SWAP4 00000805: SWAP1 00000806: SWAP5 00000807: AND 00000808: DUP3 00000809: MSTORE 0000080a: SWAP2 0000080b: SWAP1 0000080c: SWAP2 0000080d: MSTORE 0000080e: KECCAK256 0000080f: SLOAD 00000810: PUSH1 0xff 00000812: AND 00000813: SWAP1 00000814: JUMP 00000815: JUMPDEST 00000816: PUSH1 0x19 00000818: SLOAD 00000819: PUSH2 0x03d8 0000081c: SWAP1 0000081d: PUSH1 0x01 0000081f: PUSH1 0x01 00000821: PUSH1 0xa0 00000823: SHL 00000824: SUB 00000825: AND 00000826: DUP2 00000827: JUMP 00000828: JUMPDEST 00000829: PUSH2 0x0418 0000082c: PUSH1 0x13 0000082e: SLOAD 0000082f: DUP2 00000830: JUMP 00000831: JUMPDEST 00000832: PUSH1 0x00 00000834: PUSH1 0x01 00000836: PUSH1 0x01 00000838: PUSH1 0xe0 0000083a: SHL 0000083b: SUB 0000083c: NOT 0000083d: DUP3 0000083e: AND 0000083f: PUSH4 0x131c0b09 00000844: PUSH1 0xe2 00000846: SHL 00000847: EQ 00000848: DUP1 00000849: PUSH2 0x0856 0000084c: JUMPI 0000084d: POP 0000084e: PUSH2 0x0856 00000851: DUP3 00000852: PUSH2 0x20ca 00000855: JUMP 00000856: JUMPDEST 00000857: DUP1 00000858: PUSH2 0x0865 0000085b: JUMPI 0000085c: POP 0000085d: PUSH2 0x0865 00000860: DUP3 00000861: PUSH2 0x20eb 00000864: JUMP 00000865: JUMPDEST 00000866: SWAP3 00000867: SWAP2 00000868: POP 00000869: POP 0000086a: JUMP 0000086b: JUMPDEST 0000086c: PUSH1 0x60 0000086e: PUSH1 0x00 00000870: DUP1 00000871: SLOAD 00000872: PUSH2 0x087a 00000875: SWAP1 00000876: PUSH2 0x3b25 00000879: JUMP 0000087a: JUMPDEST 0000087b: DUP1 0000087c: PUSH1 0x1f 0000087e: ADD 0000087f: PUSH1 0x20 00000881: DUP1 00000882: SWAP2 00000883: DIV 00000884: MUL 00000885: PUSH1 0x20 00000887: ADD 00000888: PUSH1 0x40 0000088a: MLOAD 0000088b: SWAP1 0000088c: DUP2 0000088d: ADD 0000088e: PUSH1 0x40 00000890: MSTORE 00000891: DUP1 00000892: SWAP3 00000893: SWAP2 00000894: SWAP1 00000895: DUP2 00000896: DUP2 00000897: MSTORE 00000898: PUSH1 0x20 0000089a: ADD 0000089b: DUP3 0000089c: DUP1 0000089d: SLOAD 0000089e: PUSH2 0x08a6 000008a1: SWAP1 000008a2: PUSH2 0x3b25 000008a5: JUMP 000008a6: JUMPDEST 000008a7: DUP1 000008a8: ISZERO 000008a9: PUSH2 0x08f3 000008ac: JUMPI 000008ad: DUP1 000008ae: PUSH1 0x1f 000008b0: LT 000008b1: PUSH2 0x08c8 000008b4: JUMPI 000008b5: PUSH2 0x0100 000008b8: DUP1 000008b9: DUP4 000008ba: SLOAD 000008bb: DIV 000008bc: MUL 000008bd: DUP4 000008be: MSTORE 000008bf: SWAP2 000008c0: PUSH1 0x20 000008c2: ADD 000008c3: SWAP2 000008c4: PUSH2 0x08f3 000008c7: JUMP 000008c8: JUMPDEST 000008c9: DUP3 000008ca: ADD 000008cb: SWAP2 000008cc: SWAP1 000008cd: PUSH1 0x00 000008cf: MSTORE 000008d0: PUSH1 0x20 000008d2: PUSH1 0x00 000008d4: KECCAK256 000008d5: SWAP1 000008d6: JUMPDEST 000008d7: DUP2 000008d8: SLOAD 000008d9: DUP2 000008da: MSTORE 000008db: SWAP1 000008dc: PUSH1 0x01 000008de: ADD 000008df: SWAP1 000008e0: PUSH1 0x20 000008e2: ADD 000008e3: DUP1 000008e4: DUP4 000008e5: GT 000008e6: PUSH2 0x08d6 000008e9: JUMPI 000008ea: DUP3 000008eb: SWAP1 000008ec: SUB 000008ed: PUSH1 0x1f 000008ef: AND 000008f0: DUP3 000008f1: ADD 000008f2: SWAP2 000008f3: JUMPDEST 000008f4: POP 000008f5: POP 000008f6: POP 000008f7: POP 000008f8: POP 000008f9: SWAP1 000008fa: POP 000008fb: SWAP1 000008fc: JUMP 000008fd: JUMPDEST 000008fe: PUSH1 0x00 00000900: DUP2 00000901: DUP2 00000902: MSTORE 00000903: PUSH1 0x02 00000905: PUSH1 0x20 00000907: MSTORE 00000908: PUSH1 0x40 0000090a: DUP2 0000090b: KECCAK256 0000090c: SLOAD 0000090d: PUSH1 0x01 0000090f: PUSH1 0x01 00000911: PUSH1 0xa0 00000913: SHL 00000914: SUB 00000915: AND 00000916: PUSH2 0x097b 00000919: JUMPI 0000091a: PUSH1 0x40 0000091c: MLOAD 0000091d: PUSH3 0x461bcd 00000921: PUSH1 0xe5 00000923: SHL 00000924: DUP2 00000925: MSTORE 00000926: PUSH1 0x20 00000928: PUSH1 0x04 0000092a: DUP3 0000092b: ADD 0000092c: MSTORE 0000092d: PUSH1 0x2c 0000092f: PUSH1 0x24 00000931: DUP3 00000932: ADD 00000933: MSTORE 00000934: PUSH32 0x4552433732313a20617070726f76656420717565727920666f72206e6f6e6578 00000955: PUSH1 0x44 00000957: DUP3 00000958: ADD 00000959: MSTORE 0000095a: PUSH12 0x34b9ba32b73a103a37b5b2b7 00000967: PUSH1 0xa1 00000969: SHL 0000096a: PUSH1 0x64 0000096c: DUP3 0000096d: ADD 0000096e: MSTORE 0000096f: PUSH1 0x84 00000971: ADD 00000972: JUMPDEST 00000973: PUSH1 0x40 00000975: MLOAD 00000976: DUP1 00000977: SWAP2 00000978: SUB 00000979: SWAP1 0000097a: REVERT 0000097b: JUMPDEST 0000097c: POP 0000097d: PUSH1 0x00 0000097f: SWAP1 00000980: DUP2 00000981: MSTORE 00000982: PUSH1 0x04 00000984: PUSH1 0x20 00000986: MSTORE 00000987: PUSH1 0x40 00000989: SWAP1 0000098a: KECCAK256 0000098b: SLOAD 0000098c: PUSH1 0x01 0000098e: PUSH1 0x01 00000990: PUSH1 0xa0 00000992: SHL 00000993: SUB 00000994: AND 00000995: SWAP1 00000996: JUMP 00000997: JUMPDEST 00000998: PUSH1 0x00 0000099a: PUSH2 0x09a2 0000099d: DUP3 0000099e: PUSH2 0x14fc 000009a1: JUMP 000009a2: JUMPDEST 000009a3: SWAP1 000009a4: POP 000009a5: DUP1 000009a6: PUSH1 0x01 000009a8: PUSH1 0x01 000009aa: PUSH1 0xa0 000009ac: SHL 000009ad: SUB 000009ae: AND 000009af: DUP4 000009b0: PUSH1 0x01 000009b2: PUSH1 0x01 000009b4: PUSH1 0xa0 000009b6: SHL 000009b7: SUB 000009b8: AND 000009b9: EQ 000009ba: ISZERO 000009bb: PUSH2 0x0a10 000009be: JUMPI 000009bf: PUSH1 0x40 000009c1: MLOAD 000009c2: PUSH3 0x461bcd 000009c6: PUSH1 0xe5 000009c8: SHL 000009c9: DUP2 000009ca: MSTORE 000009cb: PUSH1 0x20 000009cd: PUSH1 0x04 000009cf: DUP3 000009d0: ADD 000009d1: MSTORE 000009d2: PUSH1 0x21 000009d4: PUSH1 0x24 000009d6: DUP3 000009d7: ADD 000009d8: MSTORE 000009d9: PUSH32 0x4552433732313a20617070726f76616c20746f2063757272656e74206f776e65 000009fa: PUSH1 0x44 000009fc: DUP3 000009fd: ADD 000009fe: MSTORE 000009ff: PUSH1 0x39 00000a01: PUSH1 0xf9 00000a03: SHL 00000a04: PUSH1 0x64 00000a06: DUP3 00000a07: ADD 00000a08: MSTORE 00000a09: PUSH1 0x84 00000a0b: ADD 00000a0c: PUSH2 0x0972 00000a0f: JUMP 00000a10: JUMPDEST 00000a11: CALLER 00000a12: PUSH1 0x01 00000a14: PUSH1 0x01 00000a16: PUSH1 0xa0 00000a18: SHL 00000a19: SUB 00000a1a: DUP3 00000a1b: AND 00000a1c: EQ 00000a1d: DUP1 00000a1e: PUSH2 0x0a2c 00000a21: JUMPI 00000a22: POP 00000a23: PUSH2 0x0a2c 00000a26: DUP2 00000a27: CALLER 00000a28: PUSH2 0x07e7 00000a2b: JUMP 00000a2c: JUMPDEST 00000a2d: PUSH2 0x0a9e 00000a30: JUMPI 00000a31: PUSH1 0x40 00000a33: MLOAD 00000a34: PUSH3 0x461bcd 00000a38: PUSH1 0xe5 00000a3a: SHL 00000a3b: DUP2 00000a3c: MSTORE 00000a3d: PUSH1 0x20 00000a3f: PUSH1 0x04 00000a41: DUP3 00000a42: ADD 00000a43: MSTORE 00000a44: PUSH1 0x38 00000a46: PUSH1 0x24 00000a48: DUP3 00000a49: ADD 00000a4a: MSTORE 00000a4b: PUSH32 0x4552433732313a20617070726f76652063616c6c6572206973206e6f74206f77 00000a6c: PUSH1 0x44 00000a6e: DUP3 00000a6f: ADD 00000a70: MSTORE 00000a71: PUSH32 0x6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000 00000a92: PUSH1 0x64 00000a94: DUP3 00000a95: ADD 00000a96: MSTORE 00000a97: PUSH1 0x84 00000a99: ADD 00000a9a: PUSH2 0x0972 00000a9d: JUMP 00000a9e: JUMPDEST 00000a9f: PUSH2 0x0aa8 00000aa2: DUP4 00000aa3: DUP4 00000aa4: PUSH2 0x213b 00000aa7: JUMP 00000aa8: JUMPDEST 00000aa9: POP 00000aaa: POP 00000aab: POP 00000aac: JUMP 00000aad: JUMPDEST 00000aae: PUSH1 0x00 00000ab0: PUSH1 0x02 00000ab2: PUSH1 0x07 00000ab4: SLOAD 00000ab5: EQ 00000ab6: ISZERO 00000ab7: PUSH2 0x0ad2 00000aba: JUMPI 00000abb: PUSH1 0x40 00000abd: MLOAD 00000abe: PUSH3 0x461bcd 00000ac2: PUSH1 0xe5 00000ac4: SHL 00000ac5: DUP2 00000ac6: MSTORE 00000ac7: PUSH1 0x04 00000ac9: ADD 00000aca: PUSH2 0x0972 00000acd: SWAP1 00000ace: PUSH2 0x3a49 00000ad1: JUMP 00000ad2: JUMPDEST 00000ad3: PUSH1 0x02 00000ad5: PUSH1 0x07 00000ad7: SSTORE 00000ad8: PUSH1 0x00 00000ada: PUSH2 0x0ae2 00000add: DUP4 00000ade: PUSH2 0x14fc 00000ae1: JUMP 00000ae2: JUMPDEST 00000ae3: SWAP1 00000ae4: POP 00000ae5: PUSH2 0x0aee 00000ae8: DUP2 00000ae9: DUP5 00000aea: PUSH2 0x21a9 00000aed: JUMP 00000aee: JUMPDEST 00000aef: SWAP2 00000af0: POP 00000af1: DUP3 00000af2: DUP2 00000af3: PUSH1 0x01 00000af5: PUSH1 0x01 00000af7: PUSH1 0xa0 00000af9: SHL 00000afa: SUB 00000afb: AND 00000afc: PUSH32 0x92ccf450a286a957af52509bc1c9939d1a6a481783e142e41e2499f0bb66ebc6 00000b1d: DUP5 00000b1e: PUSH1 0x40 00000b20: MLOAD 00000b21: PUSH2 0x0b2c 00000b24: SWAP2 00000b25: DUP2 00000b26: MSTORE 00000b27: PUSH1 0x20 00000b29: ADD 00000b2a: SWAP1 00000b2b: JUMP 00000b2c: JUMPDEST 00000b2d: PUSH1 0x40 00000b2f: MLOAD 00000b30: DUP1 00000b31: SWAP2 00000b32: SUB 00000b33: SWAP1 00000b34: LOG3 00000b35: POP 00000b36: PUSH1 0x01 00000b38: PUSH1 0x07 00000b3a: SSTORE 00000b3b: SWAP2 00000b3c: SWAP1 00000b3d: POP 00000b3e: JUMP 00000b3f: JUMPDEST 00000b40: PUSH1 0x00 00000b42: PUSH2 0x0b4b 00000b45: DUP2 00000b46: CALLER 00000b47: PUSH2 0x2377 00000b4a: JUMP 00000b4b: JUMPDEST 00000b4c: DUP2 00000b4d: DUP4 00000b4e: LT 00000b4f: ISZERO 00000b50: PUSH2 0x0bd0 00000b53: JUMPI 00000b54: PUSH1 0x40 00000b56: MLOAD 00000b57: PUSH3 0x461bcd 00000b5b: PUSH1 0xe5 00000b5d: SHL 00000b5e: DUP2 00000b5f: MSTORE 00000b60: PUSH1 0x20 00000b62: PUSH1 0x04 00000b64: DUP3 00000b65: ADD 00000b66: MSTORE 00000b67: PUSH1 0x46 00000b69: PUSH1 0x24 00000b6b: DUP3 00000b6c: ADD 00000b6d: MSTORE 00000b6e: PUSH32 0x506f6f6c204572726f723a2054686520746f74616c20616d6f756e742073686f 00000b8f: PUSH1 0x44 00000b91: DUP3 00000b92: ADD 00000b93: MSTORE 00000b94: PUSH32 0x756c646e2774206265206c6f776572207468616e207468652068656467656420 00000bb5: PUSH1 0x64 00000bb7: DUP3 00000bb8: ADD 00000bb9: MSTORE 00000bba: PUSH6 0x185b5bdd5b9d 00000bc1: PUSH1 0xd2 00000bc3: SHL 00000bc4: PUSH1 0x84 00000bc6: DUP3 00000bc7: ADD 00000bc8: MSTORE 00000bc9: PUSH1 0xa4 00000bcb: ADD 00000bcc: PUSH2 0x0972 00000bcf: JUMP 00000bd0: JUMPDEST 00000bd1: POP 00000bd2: PUSH1 0x0f 00000bd4: SWAP2 00000bd5: SWAP1 00000bd6: SWAP2 00000bd7: SSTORE 00000bd8: PUSH1 0x10 00000bda: SSTORE 00000bdb: JUMP 00000bdc: JUMPDEST 00000bdd: PUSH2 0x0be6 00000be0: CALLER 00000be1: DUP3 00000be2: PUSH2 0x23db 00000be5: JUMP 00000be6: JUMPDEST 00000be7: PUSH2 0x0c02 00000bea: JUMPI 00000beb: PUSH1 0x40 00000bed: MLOAD 00000bee: PUSH3 0x461bcd 00000bf2: PUSH1 0xe5 00000bf4: SHL 00000bf5: DUP2 00000bf6: MSTORE 00000bf7: PUSH1 0x04 00000bf9: ADD 00000bfa: PUSH2 0x0972 00000bfd: SWAP1 00000bfe: PUSH2 0x39f8 00000c01: JUMP 00000c02: JUMPDEST 00000c03: PUSH2 0x0aa8 00000c06: DUP4 00000c07: DUP4 00000c08: DUP4 00000c09: PUSH2 0x24d2 00000c0c: JUMP 00000c0d: JUMPDEST 00000c0e: PUSH1 0x17 00000c10: DUP2 00000c11: DUP2 00000c12: SLOAD 00000c13: DUP2 00000c14: LT 00000c15: PUSH2 0x0c1d 00000c18: JUMPI 00000c19: PUSH1 0x00 00000c1b: DUP1 00000c1c: REVERT 00000c1d: JUMPDEST 00000c1e: PUSH1 0x00 00000c20: SWAP2 00000c21: DUP3 00000c22: MSTORE 00000c23: PUSH1 0x20 00000c25: SWAP1 00000c26: SWAP2 00000c27: KECCAK256 00000c28: PUSH1 0x05 00000c2a: SWAP1 00000c2b: SWAP2 00000c2c: MUL 00000c2d: ADD 00000c2e: DUP1 00000c2f: SLOAD 00000c30: PUSH1 0x01 00000c32: DUP3 00000c33: ADD 00000c34: SLOAD 00000c35: PUSH1 0x02 00000c37: DUP4 00000c38: ADD 00000c39: SLOAD 00000c3a: PUSH1 0x03 00000c3c: DUP5 00000c3d: ADD 00000c3e: SLOAD 00000c3f: PUSH1 0x04 00000c41: SWAP1 00000c42: SWAP5 00000c43: ADD 00000c44: SLOAD 00000c45: PUSH1 0xff 00000c47: SWAP4 00000c48: DUP5 00000c49: AND 00000c4a: SWAP6 00000c4b: POP 00000c4c: SWAP2 00000c4d: SWAP4 00000c4e: SWAP1 00000c4f: SWAP3 00000c50: SWAP1 00000c51: SWAP2 00000c52: AND 00000c53: DUP6 00000c54: JUMP 00000c55: JUMPDEST 00000c56: PUSH1 0x00 00000c58: PUSH1 0x02 00000c5a: PUSH1 0x07 00000c5c: SLOAD 00000c5d: EQ 00000c5e: ISZERO 00000c5f: PUSH2 0x0c7a 00000c62: JUMPI 00000c63: PUSH1 0x40 00000c65: MLOAD 00000c66: PUSH3 0x461bcd 00000c6a: PUSH1 0xe5 00000c6c: SHL 00000c6d: DUP2 00000c6e: MSTORE 00000c6f: PUSH1 0x04 00000c71: ADD 00000c72: PUSH2 0x0972 00000c75: SWAP1 00000c76: PUSH2 0x3a49 00000c79: JUMP 00000c7a: JUMPDEST 00000c7b: PUSH1 0x02 00000c7d: PUSH1 0x07 00000c7f: SSTORE 00000c80: PUSH1 0x00 00000c82: PUSH2 0x0c8a 00000c85: DUP4 00000c86: PUSH2 0x14fc 00000c89: JUMP 00000c8a: JUMPDEST 00000c8b: SWAP1 00000c8c: POP 00000c8d: PUSH1 0x00 00000c8f: PUSH1 0x17 00000c91: DUP5 00000c92: DUP2 00000c93: SLOAD 00000c94: DUP2 00000c95: LT 00000c96: PUSH2 0x0ca1 00000c99: JUMPI 00000c9a: PUSH2 0x0ca1 00000c9d: PUSH2 0x3bd1 00000ca0: JUMP 00000ca1: JUMPDEST 00000ca2: PUSH1 0x00 00000ca4: SWAP2 00000ca5: DUP3 00000ca6: MSTORE 00000ca7: PUSH1 0x20 00000ca9: SWAP1 00000caa: SWAP2 00000cab: KECCAK256 00000cac: PUSH1 0x40 00000cae: DUP1 00000caf: MLOAD 00000cb0: PUSH1 0xa0 00000cb2: DUP2 00000cb3: ADD 00000cb4: SWAP1 00000cb5: SWAP2 00000cb6: MSTORE 00000cb7: PUSH1 0x05 00000cb9: SWAP1 00000cba: SWAP3 00000cbb: MUL 00000cbc: ADD 00000cbd: DUP1 00000cbe: SLOAD 00000cbf: DUP3 00000cc0: SWAP1 00000cc1: PUSH1 0xff 00000cc3: AND 00000cc4: PUSH1 0x02 00000cc6: DUP2 00000cc7: GT 00000cc8: ISZERO 00000cc9: PUSH2 0x0cd4 00000ccc: JUMPI 00000ccd: PUSH2 0x0cd4 00000cd0: PUSH2 0x3bbb 00000cd3: JUMP 00000cd4: JUMPDEST 00000cd5: PUSH1 0x02 00000cd7: DUP2 00000cd8: GT 00000cd9: ISZERO 00000cda: PUSH2 0x0ce5 00000cdd: JUMPI 00000cde: PUSH2 0x0ce5 00000ce1: PUSH2 0x3bbb 00000ce4: JUMP 00000ce5: JUMPDEST 00000ce6: DUP2 00000ce7: MSTORE 00000ce8: PUSH1 0x01 00000cea: DUP3 00000ceb: ADD 00000cec: SLOAD 00000ced: PUSH1 0x20 00000cef: DUP3 00000cf0: ADD 00000cf1: MSTORE 00000cf2: PUSH1 0x02 00000cf4: DUP3 00000cf5: ADD 00000cf6: SLOAD 00000cf7: PUSH1 0x40 00000cf9: DUP3 00000cfa: ADD 00000cfb: MSTORE 00000cfc: PUSH1 0x03 00000cfe: DUP3 00000cff: ADD 00000d00: SLOAD 00000d01: PUSH1 0x60 00000d03: DUP3 00000d04: ADD 00000d05: MSTORE 00000d06: PUSH1 0x04 00000d08: SWAP1 00000d09: SWAP2 00000d0a: ADD 00000d0b: SLOAD 00000d0c: PUSH1 0xff 00000d0e: AND 00000d0f: ISZERO 00000d10: ISZERO 00000d11: PUSH1 0x80 00000d13: SWAP1 00000d14: SWAP2 00000d15: ADD 00000d16: MSTORE 00000d17: SWAP1 00000d18: POP 00000d19: PUSH2 0x0d22 00000d1c: DUP3 00000d1d: DUP6 00000d1e: PUSH2 0x21a9 00000d21: JUMP 00000d22: JUMPDEST 00000d23: SWAP3 00000d24: POP 00000d25: DUP1 00000d26: PUSH1 0x80 00000d28: ADD 00000d29: MLOAD 00000d2a: DUP1 00000d2b: ISZERO 00000d2c: PUSH2 0x0d38 00000d2f: JUMPI 00000d30: POP 00000d31: DUP1 00000d32: PUSH1 0x40 00000d34: ADD 00000d35: MLOAD 00000d36: DUP4 00000d37: LT 00000d38: JUMPDEST 00000d39: ISZERO 00000d3a: PUSH2 0x0d7c 00000d3d: JUMPI 00000d3e: PUSH1 0x16 00000d40: SLOAD 00000d41: PUSH1 0x40 00000d43: DUP3 00000d44: ADD 00000d45: MLOAD 00000d46: PUSH2 0x0d74 00000d49: SWAP2 00000d4a: PUSH1 0x01 00000d4c: PUSH1 0x01 00000d4e: PUSH1 0xa0 00000d50: SHL 00000d51: SUB 00000d52: AND 00000d53: SWAP1 00000d54: DUP5 00000d55: SWAP1 00000d56: PUSH2 0x0d60 00000d59: SWAP1 00000d5a: DUP8 00000d5b: SWAP1 00000d5c: PUSH2 0x3acb 00000d5f: JUMP 00000d60: JUMPDEST 00000d61: PUSH1 0x19 00000d63: SLOAD 00000d64: PUSH1 0x01 00000d66: PUSH1 0x01 00000d68: PUSH1 0xa0 00000d6a: SHL 00000d6b: SUB 00000d6c: AND 00000d6d: SWAP3 00000d6e: SWAP2 00000d6f: SWAP1 00000d70: PUSH2 0x267d 00000d73: JUMP 00000d74: JUMPDEST 00000d75: DUP1 00000d76: PUSH1 0x40 00000d78: ADD 00000d79: MLOAD 00000d7a: SWAP3 00000d7b: POP 00000d7c: JUMPDEST 00000d7d: DUP4 00000d7e: DUP3 00000d7f: PUSH1 0x01 00000d81: PUSH1 0x01 00000d83: PUSH1 0xa0 00000d85: SHL 00000d86: SUB 00000d87: AND 00000d88: PUSH32 0x92ccf450a286a957af52509bc1c9939d1a6a481783e142e41e2499f0bb66ebc6 00000da9: DUP6 00000daa: PUSH1 0x40 00000dac: MLOAD 00000dad: PUSH2 0x0db8 00000db0: SWAP2 00000db1: DUP2 00000db2: MSTORE 00000db3: PUSH1 0x20 00000db5: ADD 00000db6: SWAP1 00000db7: JUMP 00000db8: JUMPDEST 00000db9: PUSH1 0x40 00000dbb: MLOAD 00000dbc: DUP1 00000dbd: SWAP2 00000dbe: SUB 00000dbf: SWAP1 00000dc0: LOG3 00000dc1: POP 00000dc2: POP 00000dc3: PUSH1 0x01 00000dc5: PUSH1 0x07 00000dc7: SSTORE 00000dc8: SWAP2 00000dc9: SWAP1 00000dca: POP 00000dcb: JUMP 00000dcc: JUMPDEST 00000dcd: PUSH1 0x00 00000dcf: DUP3 00000dd0: DUP2 00000dd1: MSTORE 00000dd2: PUSH1 0x06 00000dd4: PUSH1 0x20 00000dd6: MSTORE 00000dd7: PUSH1 0x40 00000dd9: SWAP1 00000dda: KECCAK256 00000ddb: PUSH1 0x01 00000ddd: ADD 00000dde: SLOAD 00000ddf: PUSH2 0x0de8 00000de2: DUP2 00000de3: CALLER 00000de4: PUSH2 0x2377 00000de7: JUMP 00000de8: JUMPDEST 00000de9: PUSH2 0x0aa8 00000dec: DUP4 00000ded: DUP4 00000dee: PUSH2 0x26e8 00000df1: JUMP 00000df2: JUMPDEST 00000df3: PUSH1 0x00 00000df5: PUSH2 0x0dfe 00000df8: DUP2 00000df9: CALLER 00000dfa: PUSH2 0x2377 00000dfd: JUMP 00000dfe: JUMPDEST 00000dff: PUSH3 0x4f1a00 00000e03: DUP4 00000e04: GT 00000e05: ISZERO 00000e06: PUSH2 0x0e6b 00000e09: JUMPI 00000e0a: PUSH1 0x40 00000e0c: MLOAD 00000e0d: PUSH3 0x461bcd 00000e11: PUSH1 0xe5 00000e13: SHL 00000e14: DUP2 00000e15: MSTORE 00000e16: PUSH1 0x20 00000e18: PUSH1 0x04 00000e1a: DUP3 00000e1b: ADD 00000e1c: MSTORE 00000e1d: PUSH1 0x31 00000e1f: PUSH1 0x24 00000e21: DUP3 00000e22: ADD 00000e23: MSTORE 00000e24: PUSH32 0x546865206c6f636b757020706572696f6420666f722068656467656420747261 00000e45: PUSH1 0x44 00000e47: DUP3 00000e48: ADD 00000e49: MSTORE 00000e4a: PUSH17 0x6e6368657320697320746f6f206c6f6e67 00000e5c: PUSH1 0x78 00000e5e: SHL 00000e5f: PUSH1 0x64 00000e61: DUP3 00000e62: ADD 00000e63: MSTORE 00000e64: PUSH1 0x84 00000e66: ADD 00000e67: PUSH2 0x0972 00000e6a: JUMP 00000e6b: JUMPDEST 00000e6c: PUSH3 0x278d00 00000e70: DUP3 00000e71: GT 00000e72: ISZERO 00000e73: PUSH2 0x0eda 00000e76: JUMPI 00000e77: PUSH1 0x40 00000e79: MLOAD 00000e7a: PUSH3 0x461bcd 00000e7e: PUSH1 0xe5 00000e80: SHL 00000e81: DUP2 00000e82: MSTORE 00000e83: PUSH1 0x20 00000e85: PUSH1 0x04 00000e87: DUP3 00000e88: ADD 00000e89: MSTORE 00000e8a: PUSH1 0x33 00000e8c: PUSH1 0x24 00000e8e: DUP3 00000e8f: ADD 00000e90: MSTORE 00000e91: PUSH32 0x546865206c6f636b757020706572696f6420666f7220756e6865646765642074 00000eb2: PUSH1 0x44 00000eb4: DUP3 00000eb5: ADD 00000eb6: MSTORE 00000eb7: PUSH19 0x72616e6368657320697320746f6f206c6f6e67 00000ecb: PUSH1 0x68 00000ecd: SHL 00000ece: PUSH1 0x64 00000ed0: DUP3 00000ed1: ADD 00000ed2: MSTORE 00000ed3: PUSH1 0x84 00000ed5: ADD 00000ed6: PUSH2 0x0972 00000ed9: JUMP 00000eda: JUMPDEST 00000edb: POP 00000edc: PUSH1 0x09 00000ede: SWAP2 00000edf: SWAP1 00000ee0: SWAP2 00000ee1: SSTORE 00000ee2: PUSH1 0x0a 00000ee4: SSTORE 00000ee5: JUMP 00000ee6: JUMPDEST 00000ee7: PUSH1 0x00 00000ee9: DUP2 00000eea: PUSH2 0x0ef8 00000eed: JUMPI 00000eee: PUSH2 0x0ef5 00000ef1: PUSH2 0x276e 00000ef4: JUMP 00000ef5: JUMPDEST 00000ef6: SWAP2 00000ef7: POP 00000ef8: JUMPDEST 00000ef9: PUSH1 0x00 00000efb: PUSH2 0x0f02 00000efe: PUSH2 0x1b6d 00000f01: JUMP 00000f02: JUMPDEST 00000f03: SWAP1 00000f04: POP 00000f05: PUSH1 0x00 00000f07: PUSH2 0x0f0f 00000f0a: DUP6 00000f0b: PUSH2 0x280d 00000f0e: JUMP 00000f0f: JUMPDEST 00000f10: SWAP1 00000f11: POP 00000f12: PUSH3 0x015180 00000f16: DUP7 00000f17: LT 00000f18: ISZERO 00000f19: PUSH2 0x0f70 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: MSTORE 00000f30: PUSH1 0x23 00000f32: PUSH1 0x24 00000f34: DUP3 00000f35: ADD 00000f36: MSTORE 00000f37: PUSH32 0x506f6f6c204572726f723a2054686520706572696f6420697320746f6f207368 00000f58: PUSH1 0x44 00000f5a: DUP3 00000f5b: ADD 00000f5c: MSTORE 00000f5d: PUSH3 0x1bdc9d 00000f61: PUSH1 0xea 00000f63: SHL 00000f64: PUSH1 0x64 00000f66: DUP3 00000f67: ADD 00000f68: MSTORE 00000f69: PUSH1 0x84 00000f6b: ADD 00000f6c: PUSH2 0x0972 00000f6f: JUMP 00000f70: JUMPDEST 00000f71: PUSH3 0x76a700 00000f75: DUP7 00000f76: GT 00000f77: ISZERO 00000f78: PUSH2 0x0fce 00000f7b: JUMPI 00000f7c: PUSH1 0x40 00000f7e: MLOAD 00000f7f: PUSH3 0x461bcd 00000f83: PUSH1 0xe5 00000f85: SHL 00000f86: DUP2 00000f87: MSTORE 00000f88: PUSH1 0x20 00000f8a: PUSH1 0x04 00000f8c: DUP3 00000f8d: ADD 00000f8e: MSTORE 00000f8f: PUSH1 0x22 00000f91: PUSH1 0x24 00000f93: DUP3 00000f94: ADD 00000f95: MSTORE 00000f96: PUSH32 0x506f6f6c204572726f723a2054686520706572696f6420697320746f6f206c6f 00000fb7: PUSH1 0x44 00000fb9: DUP3 00000fba: ADD 00000fbb: MSTORE 00000fbc: PUSH2 0x6e67 00000fbf: PUSH1 0xf0 00000fc1: SHL 00000fc2: PUSH1 0x64 00000fc4: DUP3 00000fc5: ADD 00000fc6: MSTORE 00000fc7: PUSH1 0x84 00000fc9: ADD 00000fca: PUSH2 0x0972 00000fcd: JUMP 00000fce: JUMPDEST 00000fcf: PUSH1 0x0c 00000fd1: SLOAD 00000fd2: PUSH2 0x0fdb 00000fd5: SWAP1 00000fd6: DUP4 00000fd7: PUSH2 0x3aac 00000fda: JUMP 00000fdb: JUMPDEST 00000fdc: DUP2 00000fdd: PUSH1 0x0e 00000fdf: SLOAD 00000fe0: PUSH2 0x0fe9 00000fe3: SWAP2 00000fe4: SWAP1 00000fe5: PUSH2 0x3a80 00000fe8: JUMP 00000fe9: JUMPDEST 00000fea: PUSH2 0x0ff4 00000fed: SWAP1 00000fee: PUSH1 0x64 00000ff0: PUSH2 0x3aac 00000ff3: JUMP 00000ff4: JUMPDEST 00000ff5: GT 00000ff6: ISZERO 00000ff7: PUSH2 0x104e 00000ffa: JUMPI 00000ffb: PUSH1 0x40 00000ffd: MLOAD 00000ffe: PUSH3 0x461bcd 00001002: PUSH1 0xe5 00001004: SHL 00001005: DUP2 00001006: MSTORE 00001007: PUSH1 0x20 00001009: PUSH1 0x04 0000100b: DUP3 0000100c: ADD 0000100d: MSTORE 0000100e: PUSH1 0x23 00001010: PUSH1 0x24 00001012: DUP3 00001013: ADD 00001014: MSTORE 00001015: PUSH32 0x506f6f6c204572726f723a2054686520616d6f756e7420697320746f6f206c61 00001036: PUSH1 0x44 00001038: DUP3 00001039: ADD 0000103a: MSTORE 0000103b: PUSH3 0x726765 0000103f: PUSH1 0xe8 00001041: SHL 00001042: PUSH1 0x64 00001044: DUP3 00001045: ADD 00001046: MSTORE 00001047: PUSH1 0x84 00001049: ADD 0000104a: PUSH2 0x0972 0000104d: JUMP 0000104e: JUMPDEST 0000104f: PUSH1 0x00 00001051: DUP1 00001052: PUSH2 0x105c 00001055: DUP9 00001056: DUP9 00001057: DUP9 00001058: PUSH2 0x2829 0000105b: JUMP 0000105c: JUMPDEST 0000105d: SWAP2 0000105e: POP 0000105f: SWAP2 00001060: POP 00001061: PUSH1 0x00 00001063: DUP5 00001064: PUSH1 0x14 00001066: SLOAD 00001067: DUP4 00001068: PUSH2 0x1071 0000106b: SWAP2 0000106c: SWAP1 0000106d: PUSH2 0x3aac 00001070: JUMP 00001071: JUMPDEST 00001072: PUSH2 0x107b 00001075: SWAP2 00001076: SWAP1 00001077: PUSH2 0x3a98 0000107a: JUMP 0000107b: JUMPDEST 0000107c: SWAP1 0000107d: POP 0000107e: PUSH1 0x00 00001080: PUSH1 0x64 00001082: PUSH1 0x0b 00001084: SLOAD 00001085: DUP4 00001086: PUSH2 0x108f 00001089: SWAP2 0000108a: SWAP1 0000108b: PUSH2 0x3aac 0000108e: JUMP 0000108f: JUMPDEST 00001090: PUSH2 0x1099 00001093: SWAP2 00001094: SWAP1 00001095: PUSH2 0x3a98 00001098: JUMP 00001099: JUMPDEST 0000109a: SWAP1 0000109b: POP 0000109c: PUSH1 0x00 0000109e: PUSH2 0x10a7 000010a1: DUP3 000010a2: DUP5 000010a3: PUSH2 0x3acb 000010a6: JUMP 000010a7: JUMPDEST 000010a8: SWAP1 000010a9: POP 000010aa: PUSH1 0x00 000010ac: PUSH2 0x10b5 000010af: DUP5 000010b0: DUP7 000010b1: PUSH2 0x3acb 000010b4: JUMP 000010b5: JUMPDEST 000010b6: SWAP1 000010b7: POP 000010b8: DUP7 000010b9: PUSH1 0x0e 000010bb: PUSH1 0x00 000010bd: DUP3 000010be: DUP3 000010bf: SLOAD 000010c0: PUSH2 0x10c9 000010c3: SWAP2 000010c4: SWAP1 000010c5: PUSH2 0x3a80 000010c8: JUMP 000010c9: JUMPDEST 000010ca: SWAP1 000010cb: SWAP2 000010cc: SSTORE 000010cd: POP 000010ce: POP 000010cf: PUSH1 0x40 000010d1: MLOAD 000010d2: PUSH4 0x012c0d81 000010d7: PUSH1 0xe7 000010d9: SHL 000010da: DUP2 000010db: MSTORE 000010dc: PUSH1 0x01 000010de: PUSH1 0x01 000010e0: PUSH1 0xa0 000010e2: SHL 000010e3: SUB 000010e4: DUP15 000010e5: DUP2 000010e6: AND 000010e7: PUSH1 0x04 000010e9: DUP4 000010ea: ADD 000010eb: MSTORE 000010ec: PUSH32 0x0000000000000000000000001ba4b447d0df64da64024e5ec47da94458c1e97f 0000110d: AND 0000110e: SWAP1 0000110f: PUSH4 0x9606c080 00001114: SWAP1 00001115: PUSH1 0x24 00001117: ADD 00001118: PUSH1 0x20 0000111a: PUSH1 0x40 0000111c: MLOAD 0000111d: DUP1 0000111e: DUP4 0000111f: SUB 00001120: DUP2 00001121: PUSH1 0x00 00001123: DUP8 00001124: DUP1 00001125: EXTCODESIZE 00001126: ISZERO 00001127: DUP1 00001128: ISZERO 00001129: PUSH2 0x1131 0000112c: JUMPI 0000112d: PUSH1 0x00 0000112f: DUP1 00001130: REVERT 00001131: JUMPDEST 00001132: POP 00001133: GAS 00001134: CALL 00001135: ISZERO 00001136: DUP1 00001137: ISZERO 00001138: PUSH2 0x1145 0000113b: JUMPI 0000113c: RETURNDATASIZE 0000113d: PUSH1 0x00 0000113f: DUP1 00001140: RETURNDATACOPY 00001141: RETURNDATASIZE 00001142: PUSH1 0x00 00001144: REVERT 00001145: JUMPDEST 00001146: POP 00001147: POP 00001148: POP 00001149: POP 0000114a: PUSH1 0x40 0000114c: MLOAD 0000114d: RETURNDATASIZE 0000114e: PUSH1 0x1f 00001150: NOT 00001151: PUSH1 0x1f 00001153: DUP3 00001154: ADD 00001155: AND 00001156: DUP3 00001157: ADD 00001158: DUP1 00001159: PUSH1 0x40 0000115b: MSTORE 0000115c: POP 0000115d: DUP2 0000115e: ADD 0000115f: SWAP1 00001160: PUSH2 0x1169 00001163: SWAP2 00001164: SWAP1 00001165: PUSH2 0x3716 00001168: JUMP 00001169: JUMPDEST 0000116a: PUSH1 0x40 0000116c: DUP1 0000116d: MLOAD 0000116e: PUSH1 0xe0 00001170: DUP2 00001171: ADD 00001172: SWAP1 00001173: SWAP2 00001174: MSTORE 00001175: SWAP1 00001176: SWAP10 00001177: POP 00001178: DUP1 00001179: PUSH1 0x01 0000117b: DUP2 0000117c: MSTORE 0000117d: PUSH1 0x20 0000117f: ADD 00001180: DUP12 00001181: DUP2 00001182: MSTORE 00001183: PUSH1 0x20 00001185: ADD 00001186: DUP13 00001187: DUP2 00001188: MSTORE 00001189: PUSH1 0x20 0000118b: ADD 0000118c: DUP9 0000118d: DUP2 0000118e: MSTORE 0000118f: PUSH1 0x20 00001191: ADD 00001192: DUP14 00001193: TIMESTAMP 00001194: PUSH2 0x119d 00001197: SWAP2 00001198: SWAP1 00001199: PUSH2 0x3a80 0000119c: JUMP 0000119d: JUMPDEST 0000119e: DUP2 0000119f: MSTORE 000011a0: PUSH1 0x20 000011a2: DUP1 000011a3: DUP3 000011a4: ADD 000011a5: DUP6 000011a6: SWAP1 000011a7: MSTORE 000011a8: PUSH1 0x40 000011aa: SWAP2 000011ab: DUP3 000011ac: ADD 000011ad: DUP5 000011ae: SWAP1 000011af: MSTORE 000011b0: PUSH1 0x00 000011b2: DUP13 000011b3: DUP2 000011b4: MSTORE 000011b5: PUSH1 0x18 000011b7: SWAP1 000011b8: SWAP2 000011b9: MSTORE 000011ba: KECCAK256 000011bb: DUP2 000011bc: MLOAD 000011bd: DUP2 000011be: SLOAD 000011bf: DUP3 000011c0: SWAP1 000011c1: PUSH1 0xff 000011c3: NOT 000011c4: AND 000011c5: PUSH1 0x01 000011c7: DUP4 000011c8: PUSH1 0x03 000011ca: DUP2 000011cb: GT 000011cc: ISZERO 000011cd: PUSH2 0x11d8 000011d0: JUMPI 000011d1: PUSH2 0x11d8 000011d4: PUSH2 0x3bbb 000011d7: JUMP 000011d8: JUMPDEST 000011d9: MUL 000011da: OR 000011db: SWAP1 000011dc: SSTORE 000011dd: POP 000011de: PUSH1 0x20 000011e0: DUP3 000011e1: ADD 000011e2: MLOAD 000011e3: PUSH1 0x01 000011e5: DUP3 000011e6: ADD 000011e7: SSTORE 000011e8: PUSH1 0x40 000011ea: DUP3 000011eb: ADD 000011ec: MLOAD 000011ed: PUSH1 0x02 000011ef: DUP3 000011f0: ADD 000011f1: SSTORE 000011f2: PUSH1 0x60 000011f4: DUP3 000011f5: ADD 000011f6: MLOAD 000011f7: PUSH1 0x03 000011f9: DUP3 000011fa: ADD 000011fb: SSTORE 000011fc: PUSH1 0x80 000011fe: DUP3 000011ff: ADD 00001200: MLOAD 00001201: PUSH1 0x04 00001203: DUP3 00001204: ADD 00001205: SSTORE 00001206: PUSH1 0xa0 00001208: DUP3 00001209: ADD 0000120a: MLOAD 0000120b: PUSH1 0x05 0000120d: DUP3 0000120e: ADD 0000120f: SSTORE 00001210: PUSH1 0xc0 00001212: SWAP1 00001213: SWAP2 00001214: ADD 00001215: MLOAD 00001216: PUSH1 0x06 00001218: SWAP1 00001219: SWAP2 0000121a: ADD 0000121b: SSTORE 0000121c: PUSH2 0x122a 0000121f: CALLER 00001220: ADDRESS 00001221: PUSH2 0x0d60 00001224: DUP10 00001225: DUP10 00001226: PUSH2 0x3a80 00001229: JUMP 0000122a: JUMPDEST 0000122b: PUSH1 0x15 0000122d: SLOAD 0000122e: PUSH1 0x19 00001230: SLOAD 00001231: PUSH2 0x1247 00001234: SWAP2 00001235: PUSH1 0x01 00001237: PUSH1 0x01 00001239: PUSH1 0xa0 0000123b: SHL 0000123c: SUB 0000123d: SWAP2 0000123e: DUP3 0000123f: AND 00001240: SWAP2 00001241: AND 00001242: DUP9 00001243: PUSH2 0x2930 00001246: JUMP 00001247: JUMPDEST 00001248: PUSH1 0x15 0000124a: PUSH1 0x00 0000124c: SWAP1 0000124d: SLOAD 0000124e: SWAP1 0000124f: PUSH2 0x0100 00001252: EXP 00001253: SWAP1 00001254: DIV 00001255: PUSH1 0x01 00001257: PUSH1 0x01 00001259: PUSH1 0xa0 0000125b: SHL 0000125c: SUB 0000125d: AND 0000125e: PUSH1 0x01 00001260: PUSH1 0x01 00001262: PUSH1 0xa0 00001264: SHL 00001265: SUB 00001266: AND 00001267: PUSH4 0xda34364b 0000126c: PUSH1 0x40 0000126e: MLOAD 0000126f: DUP2 00001270: PUSH4 0xffffffff 00001275: AND 00001276: PUSH1 0xe0 00001278: SHL 00001279: DUP2 0000127a: MSTORE 0000127b: PUSH1 0x04 0000127d: ADD 0000127e: PUSH1 0x00 00001280: PUSH1 0x40 00001282: MLOAD 00001283: DUP1 00001284: DUP4 00001285: SUB 00001286: DUP2 00001287: PUSH1 0x00 00001289: DUP8 0000128a: DUP1 0000128b: EXTCODESIZE 0000128c: ISZERO 0000128d: DUP1 0000128e: ISZERO 0000128f: PUSH2 0x1297 00001292: JUMPI 00001293: PUSH1 0x00 00001295: DUP1 00001296: REVERT 00001297: JUMPDEST 00001298: POP 00001299: GAS 0000129a: CALL 0000129b: ISZERO 0000129c: DUP1 0000129d: ISZERO 0000129e: PUSH2 0x12ab 000012a1: JUMPI 000012a2: RETURNDATASIZE 000012a3: PUSH1 0x00 000012a5: DUP1 000012a6: RETURNDATACOPY 000012a7: RETURNDATASIZE 000012a8: PUSH1 0x00 000012aa: REVERT 000012ab: JUMPDEST 000012ac: POP 000012ad: POP 000012ae: POP 000012af: POP 000012b0: PUSH1 0x00 000012b2: DUP4 000012b3: GT 000012b4: ISZERO 000012b5: PUSH2 0x12d5 000012b8: JUMPI 000012b9: PUSH1 0x16 000012bb: SLOAD 000012bc: PUSH1 0x19 000012be: SLOAD 000012bf: PUSH2 0x12d5 000012c2: SWAP2 000012c3: PUSH1 0x01 000012c5: PUSH1 0x01 000012c7: PUSH1 0xa0 000012c9: SHL 000012ca: SUB 000012cb: SWAP2 000012cc: DUP3 000012cd: AND 000012ce: SWAP2 000012cf: AND 000012d0: DUP6 000012d1: PUSH2 0x2930 000012d4: JUMP 000012d5: JUMPDEST 000012d6: PUSH1 0x40 000012d8: DUP1 000012d9: MLOAD 000012da: DUP8 000012db: DUP2 000012dc: MSTORE 000012dd: PUSH1 0x20 000012df: DUP2 000012e0: ADD 000012e1: DUP8 000012e2: SWAP1 000012e3: MSTORE 000012e4: DUP11 000012e5: SWAP2 000012e6: PUSH32 0xf5857d7b7b0e768564a581006734ebdf2b129d61875a3368bd9b0c84e226da75 00001307: SWAP2 00001308: ADD 00001309: PUSH1 0x40 0000130b: MLOAD 0000130c: DUP1 0000130d: SWAP2 0000130e: SUB 0000130f: SWAP1 00001310: LOG2 00001311: POP 00001312: POP 00001313: POP 00001314: POP 00001315: POP 00001316: POP 00001317: POP 00001318: POP 00001319: SWAP5 0000131a: SWAP4 0000131b: POP 0000131c: POP 0000131d: POP 0000131e: POP 0000131f: JUMP 00001320: JUMPDEST 00001321: PUSH1 0x01 00001323: PUSH1 0x01 00001325: PUSH1 0xa0 00001327: SHL 00001328: SUB 00001329: DUP2 0000132a: AND 0000132b: CALLER 0000132c: EQ 0000132d: PUSH2 0x1390 00001330: JUMPI 00001331: PUSH1 0x40 00001333: MLOAD 00001334: PUSH3 0x461bcd 00001338: PUSH1 0xe5 0000133a: SHL 0000133b: DUP2 0000133c: MSTORE 0000133d: PUSH1 0x20 0000133f: PUSH1 0x04 00001341: DUP3 00001342: ADD 00001343: MSTORE 00001344: PUSH1 0x2f 00001346: PUSH1 0x24 00001348: DUP3 00001349: ADD 0000134a: MSTORE 0000134b: PUSH32 0x416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365 0000136c: PUSH1 0x44 0000136e: DUP3 0000136f: ADD 00001370: MSTORE 00001371: PUSH15 0x103937b632b9903337b91039b2b633 00001381: PUSH1 0x89 00001383: SHL 00001384: PUSH1 0x64 00001386: DUP3 00001387: ADD 00001388: MSTORE 00001389: PUSH1 0x84 0000138b: ADD 0000138c: PUSH2 0x0972 0000138f: JUMP 00001390: JUMPDEST 00001391: PUSH2 0x139a 00001394: DUP3 00001395: DUP3 00001396: PUSH2 0x2960 00001399: JUMP 0000139a: JUMPDEST 0000139b: POP 0000139c: POP 0000139d: JUMP 0000139e: JUMPDEST 0000139f: PUSH2 0x0aa8 000013a2: DUP4 000013a3: DUP4 000013a4: DUP4 000013a5: PUSH1 0x40 000013a7: MLOAD 000013a8: DUP1 000013a9: PUSH1 0x20 000013ab: ADD 000013ac: PUSH1 0x40 000013ae: MSTORE 000013af: DUP1 000013b0: PUSH1 0x00 000013b2: DUP2 000013b3: MSTORE 000013b4: POP 000013b5: PUSH2 0x1ee1 000013b8: JUMP 000013b9: JUMPDEST 000013ba: PUSH1 0x00 000013bc: PUSH2 0x13c5 000013bf: DUP2 000013c0: CALLER 000013c1: PUSH2 0x2377 000013c4: JUMP 000013c5: JUMPDEST 000013c6: DUP2 000013c7: PUSH1 0x32 000013c9: GT 000013ca: ISZERO 000013cb: DUP1 000013cc: ISZERO 000013cd: PUSH2 0x13d7 000013d0: JUMPI 000013d1: POP 000013d2: PUSH1 0x64 000013d4: DUP3 000013d5: GT 000013d6: ISZERO 000013d7: JUMPDEST 000013d8: PUSH2 0x143f 000013db: JUMPI 000013dc: PUSH1 0x40 000013de: MLOAD 000013df: PUSH3 0x461bcd 000013e3: PUSH1 0xe5 000013e5: SHL 000013e6: DUP2 000013e7: MSTORE 000013e8: PUSH1 0x20 000013ea: PUSH1 0x04 000013ec: DUP3 000013ed: ADD 000013ee: MSTORE 000013ef: PUSH1 0x33 000013f1: PUSH1 0x24 000013f3: DUP3 000013f4: ADD 000013f5: MSTORE 000013f6: PUSH32 0x506f6f6c206572726f723a2057726f6e67207574696c697a6174696f6e207261 00001417: PUSH1 0x44 00001419: DUP3 0000141a: ADD 0000141b: MSTORE 0000141c: PUSH19 0x7465206c696d69746174696f6e2076616c7565 00001430: PUSH1 0x68 00001432: SHL 00001433: PUSH1 0x64 00001435: DUP3 00001436: ADD 00001437: MSTORE 00001438: PUSH1 0x84 0000143a: ADD 0000143b: PUSH2 0x0972 0000143e: JUMP 0000143f: JUMPDEST 00001440: POP 00001441: PUSH1 0x0c 00001443: SSTORE 00001444: JUMP 00001445: JUMPDEST 00001446: PUSH1 0x00 00001448: DUP2 00001449: DUP2 0000144a: MSTORE 0000144b: PUSH1 0x18 0000144d: PUSH1 0x20 0000144f: MSTORE 00001450: PUSH1 0x40 00001452: SWAP1 00001453: KECCAK256 00001454: PUSH1 0x04 00001456: DUP2 00001457: ADD 00001458: SLOAD 00001459: TIMESTAMP 0000145a: GT 0000145b: PUSH2 0x14b9 0000145e: JUMPI 0000145f: PUSH1 0x40 00001461: MLOAD 00001462: PUSH3 0x461bcd 00001466: PUSH1 0xe5 00001468: SHL 00001469: DUP2 0000146a: MSTORE 0000146b: PUSH1 0x20 0000146d: PUSH1 0x04 0000146f: DUP3 00001470: ADD 00001471: MSTORE 00001472: PUSH1 0x2a 00001474: PUSH1 0x24 00001476: DUP3 00001477: ADD 00001478: MSTORE 00001479: PUSH32 0x506f6f6c204572726f723a20546865206f7074696f6e20686173206e6f742065 0000149a: PUSH1 0x44 0000149c: DUP3 0000149d: ADD 0000149e: MSTORE 0000149f: PUSH10 0x1e1c1a5c9959081e595d 000014aa: PUSH1 0xb2 000014ac: SHL 000014ad: PUSH1 0x64 000014af: DUP3 000014b0: ADD 000014b1: MSTORE 000014b2: PUSH1 0x84 000014b4: ADD 000014b5: PUSH2 0x0972 000014b8: JUMP 000014b9: JUMPDEST 000014ba: PUSH2 0x14c2 000014bd: DUP2 000014be: PUSH2 0x29c7 000014c1: JUMP 000014c2: JUMPDEST 000014c3: DUP1 000014c4: SLOAD 000014c5: PUSH1 0xff 000014c7: NOT 000014c8: AND 000014c9: PUSH1 0x03 000014cb: OR 000014cc: DUP2 000014cd: SSTORE 000014ce: PUSH1 0x40 000014d0: MLOAD 000014d1: DUP3 000014d2: SWAP1 000014d3: PUSH32 0xf80dbaea4785589e52984ca36a31de106adc77759539a5c7d92883bf49692fe9 000014f4: SWAP1 000014f5: PUSH1 0x00 000014f7: SWAP1 000014f8: LOG2 000014f9: POP 000014fa: POP 000014fb: JUMP 000014fc: JUMPDEST 000014fd: PUSH1 0x00 000014ff: DUP2 00001500: DUP2 00001501: MSTORE 00001502: PUSH1 0x02 00001504: PUSH1 0x20 00001506: MSTORE 00001507: PUSH1 0x40 00001509: DUP2 0000150a: KECCAK256 0000150b: SLOAD 0000150c: PUSH1 0x01 0000150e: PUSH1 0x01 00001510: PUSH1 0xa0 00001512: SHL 00001513: SUB 00001514: AND 00001515: DUP1 00001516: PUSH2 0x0865 00001519: JUMPI 0000151a: PUSH1 0x40 0000151c: MLOAD 0000151d: PUSH3 0x461bcd 00001521: PUSH1 0xe5 00001523: SHL 00001524: DUP2 00001525: MSTORE 00001526: PUSH1 0x20 00001528: PUSH1 0x04 0000152a: DUP3 0000152b: ADD 0000152c: MSTORE 0000152d: PUSH1 0x29 0000152f: PUSH1 0x24 00001531: DUP3 00001532: ADD 00001533: MSTORE 00001534: PUSH32 0x4552433732313a206f776e657220717565727920666f72206e6f6e6578697374 00001555: PUSH1 0x44 00001557: DUP3 00001558: ADD 00001559: MSTORE 0000155a: PUSH9 0x32b73a103a37b5b2b7 00001564: PUSH1 0xb9 00001566: SHL 00001567: PUSH1 0x64 00001569: DUP3 0000156a: ADD 0000156b: MSTORE 0000156c: PUSH1 0x84 0000156e: ADD 0000156f: PUSH2 0x0972 00001572: JUMP 00001573: JUMPDEST 00001574: PUSH1 0x00 00001576: PUSH2 0x157f 00001579: DUP2 0000157a: CALLER 0000157b: PUSH2 0x2377 0000157e: JUMP 0000157f: JUMPDEST 00001580: POP 00001581: PUSH1 0x08 00001583: DUP1 00001584: SLOAD 00001585: PUSH1 0x01 00001587: PUSH1 0x01 00001589: PUSH1 0xa0 0000158b: SHL 0000158c: SUB 0000158d: NOT 0000158e: AND 0000158f: PUSH1 0x01 00001591: PUSH1 0x01 00001593: PUSH1 0xa0 00001595: SHL 00001596: SUB 00001597: SWAP3 00001598: SWAP1 00001599: SWAP3 0000159a: AND 0000159b: SWAP2 0000159c: SWAP1 0000159d: SWAP2 0000159e: OR 0000159f: SWAP1 000015a0: SSTORE 000015a1: JUMP 000015a2: JUMPDEST 000015a3: PUSH1 0x00 000015a5: PUSH1 0x01 000015a7: PUSH1 0x01 000015a9: PUSH1 0xa0 000015ab: SHL 000015ac: SUB 000015ad: DUP3 000015ae: AND 000015af: PUSH2 0x160d 000015b2: JUMPI 000015b3: PUSH1 0x40 000015b5: MLOAD 000015b6: PUSH3 0x461bcd 000015ba: PUSH1 0xe5 000015bc: SHL 000015bd: DUP2 000015be: MSTORE 000015bf: PUSH1 0x20 000015c1: PUSH1 0x04 000015c3: DUP3 000015c4: ADD 000015c5: MSTORE 000015c6: PUSH1 0x2a 000015c8: PUSH1 0x24 000015ca: DUP3 000015cb: ADD 000015cc: MSTORE 000015cd: PUSH32 0x4552433732313a2062616c616e636520717565727920666f7220746865207a65 000015ee: PUSH1 0x44 000015f0: DUP3 000015f1: ADD 000015f2: MSTORE 000015f3: PUSH10 0x726f2061646472657373 000015fe: PUSH1 0xb0 00001600: SHL 00001601: PUSH1 0x64 00001603: DUP3 00001604: ADD 00001605: MSTORE 00001606: PUSH1 0x84 00001608: ADD 00001609: PUSH2 0x0972 0000160c: JUMP 0000160d: JUMPDEST 0000160e: POP 0000160f: PUSH1 0x01 00001611: PUSH1 0x01 00001613: PUSH1 0xa0 00001615: SHL 00001616: SUB 00001617: AND 00001618: PUSH1 0x00 0000161a: SWAP1 0000161b: DUP2 0000161c: MSTORE 0000161d: PUSH1 0x03 0000161f: PUSH1 0x20 00001621: MSTORE 00001622: PUSH1 0x40 00001624: SWAP1 00001625: KECCAK256 00001626: SLOAD 00001627: SWAP1 00001628: JUMP 00001629: JUMPDEST 0000162a: PUSH1 0x00 0000162c: DUP2 0000162d: DUP2 0000162e: MSTORE 0000162f: PUSH1 0x18 00001631: PUSH1 0x20 00001633: MSTORE 00001634: PUSH1 0x40 00001636: DUP1 00001637: DUP3 00001638: KECCAK256 00001639: DUP2 0000163a: MLOAD 0000163b: PUSH1 0xe0 0000163d: DUP2 0000163e: ADD 0000163f: SWAP1 00001640: SWAP3 00001641: MSTORE 00001642: DUP1 00001643: SLOAD 00001644: PUSH2 0x0865 00001647: SWAP3 00001648: SWAP2 00001649: SWAP1 0000164a: DUP3 0000164b: SWAP1 0000164c: PUSH1 0xff 0000164e: AND 0000164f: PUSH1 0x03 00001651: DUP2 00001652: GT 00001653: ISZERO 00001654: PUSH2 0x165f 00001657: JUMPI 00001658: PUSH2 0x165f 0000165b: PUSH2 0x3bbb 0000165e: JUMP 0000165f: JUMPDEST 00001660: PUSH1 0x03 00001662: DUP2 00001663: GT 00001664: ISZERO 00001665: PUSH2 0x1670 00001668: JUMPI 00001669: PUSH2 0x1670 0000166c: PUSH2 0x3bbb 0000166f: JUMP 00001670: JUMPDEST 00001671: DUP2 00001672: MSTORE 00001673: PUSH1 0x20 00001675: ADD 00001676: PUSH1 0x01 00001678: DUP3 00001679: ADD 0000167a: SLOAD 0000167b: DUP2 0000167c: MSTORE 0000167d: PUSH1 0x20 0000167f: ADD 00001680: PUSH1 0x02 00001682: DUP3 00001683: ADD 00001684: SLOAD 00001685: DUP2 00001686: MSTORE 00001687: PUSH1 0x20 00001689: ADD 0000168a: PUSH1 0x03 0000168c: DUP3 0000168d: ADD 0000168e: SLOAD 0000168f: DUP2 00001690: MSTORE 00001691: PUSH1 0x20 00001693: ADD 00001694: PUSH1 0x04 00001696: DUP3 00001697: ADD 00001698: SLOAD 00001699: DUP2 0000169a: MSTORE 0000169b: PUSH1 0x20 0000169d: ADD 0000169e: PUSH1 0x05 000016a0: DUP3 000016a1: ADD 000016a2: SLOAD 000016a3: DUP2 000016a4: MSTORE 000016a5: PUSH1 0x20 000016a7: ADD 000016a8: PUSH1 0x06 000016aa: DUP3 000016ab: ADD 000016ac: SLOAD 000016ad: DUP2 000016ae: MSTORE 000016af: POP 000016b0: POP 000016b1: PUSH2 0x2abd 000016b4: JUMP 000016b5: JUMPDEST 000016b6: PUSH1 0x00 000016b8: PUSH1 0x02 000016ba: PUSH1 0x07 000016bc: SLOAD 000016bd: EQ 000016be: ISZERO 000016bf: PUSH2 0x16da 000016c2: JUMPI 000016c3: PUSH1 0x40 000016c5: MLOAD 000016c6: PUSH3 0x461bcd 000016ca: PUSH1 0xe5 000016cc: SHL 000016cd: DUP2 000016ce: MSTORE 000016cf: PUSH1 0x04 000016d1: ADD 000016d2: PUSH2 0x0972 000016d5: SWAP1 000016d6: PUSH2 0x3a49 000016d9: JUMP 000016da: JUMPDEST 000016db: PUSH1 0x02 000016dd: PUSH1 0x07 000016df: SSTORE 000016e0: PUSH1 0x00 000016e2: DUP4 000016e3: PUSH2 0x16ee 000016e6: JUMPI 000016e7: PUSH1 0x11 000016e9: SLOAD 000016ea: PUSH2 0x16f2 000016ed: JUMP 000016ee: JUMPDEST 000016ef: PUSH1 0x12 000016f1: SLOAD 000016f2: JUMPDEST 000016f3: SWAP1 000016f4: POP 000016f5: PUSH1 0x00 000016f7: DUP5 000016f8: PUSH2 0x1703 000016fb: JUMPI 000016fc: PUSH1 0x13 000016fe: SLOAD 000016ff: PUSH2 0x1707 00001702: JUMP 00001703: JUMPDEST 00001704: PUSH1 0x14 00001706: SLOAD 00001707: JUMPDEST 00001708: SWAP1 00001709: POP 0000170a: PUSH1 0x00 0000170c: DUP3 0000170d: GT 0000170e: DUP1 0000170f: ISZERO 00001710: PUSH2 0x1719 00001713: JUMPI 00001714: POP 00001715: PUSH1 0x00 00001717: DUP2 00001718: GT 00001719: JUMPDEST 0000171a: PUSH2 0x1735 0000171d: JUMPI 0000171e: PUSH2 0x1730 00001721: PUSH9 0x056bc75e2d63100000 0000172b: DUP8 0000172c: PUSH2 0x3aac 0000172f: JUMP 00001730: JUMPDEST 00001731: PUSH2 0x174a 00001734: JUMP 00001735: JUMPDEST 00001736: DUP1 00001737: PUSH2 0x1740 0000173a: DUP4 0000173b: DUP9 0000173c: PUSH2 0x3aac 0000173f: JUMP 00001740: JUMPDEST 00001741: PUSH2 0x174a 00001744: SWAP2 00001745: SWAP1 00001746: PUSH2 0x3a98 00001749: JUMP 0000174a: JUMPDEST 0000174b: SWAP3 0000174c: POP 0000174d: PUSH1 0x00 0000174f: DUP6 00001750: PUSH2 0x1775 00001753: JUMPI 00001754: PUSH1 0x13 00001756: SLOAD 00001757: PUSH1 0x14 00001759: SLOAD 0000175a: PUSH1 0x0f 0000175c: SLOAD 0000175d: PUSH2 0x1766 00001760: SWAP2 00001761: SWAP1 00001762: PUSH2 0x3acb 00001765: JUMP 00001766: JUMPDEST 00001767: PUSH2 0x1770 0000176a: SWAP2 0000176b: SWAP1 0000176c: PUSH2 0x3acb 0000176f: JUMP 00001770: JUMPDEST 00001771: PUSH2 0x1785 00001774: JUMP 00001775: JUMPDEST 00001776: PUSH1 0x14 00001778: SLOAD 00001779: PUSH1 0x10 0000177b: SLOAD 0000177c: PUSH2 0x1785 0000177f: SWAP2 00001780: SWAP1 00001781: PUSH2 0x3acb 00001784: JUMP 00001785: JUMPDEST 00001786: SWAP1 00001787: POP 00001788: DUP5 00001789: DUP5 0000178a: LT 0000178b: ISZERO 0000178c: PUSH2 0x17e7 0000178f: JUMPI 00001790: PUSH1 0x40 00001792: MLOAD 00001793: PUSH3 0x461bcd 00001797: PUSH1 0xe5 00001799: SHL 0000179a: DUP2 0000179b: MSTORE 0000179c: PUSH1 0x20 0000179e: PUSH1 0x04 000017a0: DUP3 000017a1: ADD 000017a2: MSTORE 000017a3: PUSH1 0x27 000017a5: PUSH1 0x24 000017a7: DUP3 000017a8: ADD 000017a9: MSTORE 000017aa: PUSH32 0x506f6f6c204572726f723a20546865206d696e74206c696d697420697320746f 000017cb: PUSH1 0x44 000017cd: DUP3 000017ce: ADD 000017cf: MSTORE 000017d0: PUSH7 0x6f206c61726765 000017d8: PUSH1 0xc8 000017da: SHL 000017db: PUSH1 0x64 000017dd: DUP3 000017de: ADD 000017df: MSTORE 000017e0: PUSH1 0x84 000017e2: ADD 000017e3: PUSH2 0x0972 000017e6: JUMP 000017e7: JUMPDEST 000017e8: PUSH1 0x00 000017ea: DUP5 000017eb: GT 000017ec: PUSH2 0x1843 000017ef: JUMPI 000017f0: PUSH1 0x40 000017f2: MLOAD 000017f3: PUSH3 0x461bcd 000017f7: PUSH1 0xe5 000017f9: SHL 000017fa: DUP2 000017fb: MSTORE 000017fc: PUSH1 0x20 000017fe: PUSH1 0x04 00001800: DUP3 00001801: ADD 00001802: MSTORE 00001803: PUSH1 0x23 00001805: PUSH1 0x24 00001807: DUP3 00001808: ADD 00001809: MSTORE 0000180a: PUSH32 0x506f6f6c204572726f723a2054686520616d6f756e7420697320746f6f20736d 0000182b: PUSH1 0x44 0000182d: DUP3 0000182e: ADD 0000182f: MSTORE 00001830: PUSH3 0x185b1b 00001834: PUSH1 0xea 00001836: SHL 00001837: PUSH1 0x64 00001839: DUP3 0000183a: ADD 0000183b: MSTORE 0000183c: PUSH1 0x84 0000183e: ADD 0000183f: PUSH2 0x0972 00001842: JUMP 00001843: JUMPDEST 00001844: DUP1 00001845: DUP8 00001846: GT 00001847: ISZERO 00001848: PUSH2 0x18b1 0000184b: JUMPI 0000184c: PUSH1 0x40 0000184e: MLOAD 0000184f: PUSH3 0x461bcd 00001853: PUSH1 0xe5 00001855: SHL 00001856: DUP2 00001857: MSTORE 00001858: PUSH1 0x20 0000185a: PUSH1 0x04 0000185c: DUP3 0000185d: ADD 0000185e: MSTORE 0000185f: PUSH1 0x35 00001861: PUSH1 0x24 00001863: DUP3 00001864: ADD 00001865: MSTORE 00001866: PUSH32 0x506f6f6c204572726f723a204465706f736974696e6720696e746f2074686520 00001887: PUSH1 0x44 00001889: DUP3 0000188a: ADD 0000188b: MSTORE 0000188c: PUSH21 0x706f6f6c206973206e6f7420617661696c61626c65 000018a2: PUSH1 0x58 000018a4: SHL 000018a5: PUSH1 0x64 000018a7: DUP3 000018a8: ADD 000018a9: MSTORE 000018aa: PUSH1 0x84 000018ac: ADD 000018ad: PUSH2 0x0972 000018b0: JUMP 000018b1: JUMPDEST 000018b2: DUP6 000018b3: ISZERO 000018b4: PUSH2 0x18ed 000018b7: JUMPI 000018b8: DUP4 000018b9: PUSH1 0x12 000018bb: PUSH1 0x00 000018bd: DUP3 000018be: DUP3 000018bf: SLOAD 000018c0: PUSH2 0x18c9 000018c3: SWAP2 000018c4: SWAP1 000018c5: PUSH2 0x3a80 000018c8: JUMP 000018c9: JUMPDEST 000018ca: SWAP3 000018cb: POP 000018cc: POP 000018cd: DUP2 000018ce: SWAP1 000018cf: SSTORE 000018d0: POP 000018d1: DUP7 000018d2: PUSH1 0x14 000018d4: PUSH1 0x00 000018d6: DUP3 000018d7: DUP3 000018d8: SLOAD 000018d9: PUSH2 0x18e2 000018dc: SWAP2 000018dd: SWAP1 000018de: PUSH2 0x3a80 000018e1: JUMP 000018e2: JUMPDEST 000018e3: SWAP1 000018e4: SWAP2 000018e5: SSTORE 000018e6: POP 000018e7: PUSH2 0x191e 000018ea: SWAP1 000018eb: POP 000018ec: JUMP 000018ed: JUMPDEST 000018ee: DUP4 000018ef: PUSH1 0x11 000018f1: PUSH1 0x00 000018f3: DUP3 000018f4: DUP3 000018f5: SLOAD 000018f6: PUSH2 0x18ff 000018f9: SWAP2 000018fa: SWAP1 000018fb: PUSH2 0x3a80 000018fe: JUMP 000018ff: JUMPDEST 00001900: SWAP3 00001901: POP 00001902: POP 00001903: DUP2 00001904: SWAP1 00001905: SSTORE 00001906: POP 00001907: DUP7 00001908: PUSH1 0x13 0000190a: PUSH1 0x00 0000190c: DUP3 0000190d: DUP3 0000190e: SLOAD 0000190f: PUSH2 0x1918 00001912: SWAP2 00001913: SWAP1 00001914: PUSH2 0x3a80 00001917: JUMP 00001918: JUMPDEST 00001919: SWAP1 0000191a: SWAP2 0000191b: SSTORE 0000191c: POP 0000191d: POP 0000191e: JUMPDEST 0000191f: PUSH1 0x17 00001921: DUP1 00001922: SLOAD 00001923: PUSH1 0x40 00001925: DUP1 00001926: MLOAD 00001927: PUSH1 0xa0 00001929: DUP2 0000192a: ADD 0000192b: DUP3 0000192c: MSTORE 0000192d: PUSH1 0x01 0000192f: DUP1 00001930: DUP3 00001931: MSTORE 00001932: PUSH1 0x20 00001934: DUP3 00001935: ADD 00001936: DUP10 00001937: SWAP1 00001938: MSTORE 00001939: SWAP2 0000193a: DUP2 0000193b: ADD 0000193c: DUP12 0000193d: SWAP1 0000193e: MSTORE 0000193f: TIMESTAMP 00001940: PUSH1 0x60 00001942: DUP3 00001943: ADD 00001944: MSTORE 00001945: DUP10 00001946: ISZERO 00001947: ISZERO 00001948: PUSH1 0x80 0000194a: DUP3 0000194b: ADD 0000194c: MSTORE 0000194d: DUP2 0000194e: DUP4 0000194f: ADD 00001950: DUP5 00001951: SSTORE 00001952: PUSH1 0x00 00001954: SWAP4 00001955: SWAP1 00001956: SWAP4 00001957: MSTORE 00001958: DUP3 00001959: MLOAD 0000195a: PUSH1 0x05 0000195c: DUP4 0000195d: MUL 0000195e: PUSH32 0xc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15 0000197f: ADD 00001980: DUP1 00001981: SLOAD 00001982: SWAP4 00001983: SWAP5 00001984: SWAP4 00001985: SWAP1 00001986: SWAP3 00001987: DUP4 00001988: SWAP2 00001989: PUSH1 0xff 0000198b: NOT 0000198c: AND 0000198d: SWAP1 0000198e: DUP4 0000198f: PUSH1 0x02 00001991: DUP2 00001992: GT 00001993: ISZERO 00001994: PUSH2 0x199f 00001997: JUMPI 00001998: PUSH2 0x199f 0000199b: PUSH2 0x3bbb 0000199e: JUMP 0000199f: JUMPDEST 000019a0: MUL 000019a1: OR 000019a2: SWAP1 000019a3: SSTORE 000019a4: POP 000019a5: PUSH1 0x20 000019a7: DUP3 000019a8: ADD 000019a9: MLOAD 000019aa: PUSH1 0x01 000019ac: DUP3 000019ad: ADD 000019ae: SSTORE 000019af: PUSH1 0x40 000019b1: DUP3 000019b2: ADD 000019b3: MLOAD 000019b4: PUSH1 0x02 000019b6: DUP3 000019b7: ADD 000019b8: SSTORE 000019b9: PUSH1 0x60 000019bb: DUP3 000019bc: ADD 000019bd: MLOAD 000019be: PUSH1 0x03 000019c0: DUP3 000019c1: ADD 000019c2: SSTORE 000019c3: PUSH1 0x80 000019c5: SWAP1 000019c6: SWAP2 000019c7: ADD 000019c8: MLOAD 000019c9: PUSH1 0x04 000019cb: SWAP1 000019cc: SWAP2 000019cd: ADD 000019ce: DUP1 000019cf: SLOAD 000019d0: PUSH1 0xff 000019d2: NOT 000019d3: AND 000019d4: SWAP2 000019d5: ISZERO 000019d6: ISZERO 000019d7: SWAP2 000019d8: SWAP1 000019d9: SWAP2 000019da: OR 000019db: SWAP1 000019dc: SSTORE 000019dd: PUSH2 0x19e6 000019e0: DUP10 000019e1: DUP3 000019e2: PUSH2 0x2b09 000019e5: JUMP 000019e6: JUMPDEST 000019e7: PUSH2 0x19fe 000019ea: CALLER 000019eb: PUSH1 0x19 000019ed: SLOAD 000019ee: PUSH1 0x01 000019f0: PUSH1 0x01 000019f2: PUSH1 0xa0 000019f4: SHL 000019f5: SUB 000019f6: AND 000019f7: SWAP1 000019f8: ADDRESS 000019f9: DUP12 000019fa: PUSH2 0x267d 000019fd: JUMP 000019fe: JUMPDEST 000019ff: POP 00001a00: POP 00001a01: PUSH1 0x01 00001a03: PUSH1 0x07 00001a05: SSTORE 00001a06: POP 00001a07: SWAP1 00001a08: SWAP6 00001a09: SWAP5 00001a0a: POP 00001a0b: POP 00001a0c: POP 00001a0d: POP 00001a0e: POP 00001a0f: JUMP 00001a10: JUMPDEST 00001a11: PUSH1 0x00 00001a13: SWAP2 00001a14: DUP3 00001a15: MSTORE 00001a16: PUSH1 0x06 00001a18: PUSH1 0x20 00001a1a: SWAP1 00001a1b: DUP2 00001a1c: MSTORE 00001a1d: PUSH1 0x40 00001a1f: DUP1 00001a20: DUP5 00001a21: KECCAK256 00001a22: PUSH1 0x01 00001a24: PUSH1 0x01 00001a26: PUSH1 0xa0 00001a28: SHL 00001a29: SUB 00001a2a: SWAP4 00001a2b: SWAP1 00001a2c: SWAP4 00001a2d: AND 00001a2e: DUP5 00001a2f: MSTORE 00001a30: SWAP2 00001a31: SWAP1 00001a32: MSTORE 00001a33: SWAP1 00001a34: KECCAK256 00001a35: SLOAD 00001a36: PUSH1 0xff 00001a38: AND 00001a39: SWAP1 00001a3a: JUMP 00001a3b: JUMPDEST 00001a3c: PUSH1 0x60 00001a3e: PUSH1 0x01 00001a40: DUP1 00001a41: SLOAD 00001a42: PUSH2 0x087a 00001a45: SWAP1 00001a46: PUSH2 0x3b25 00001a49: JUMP 00001a4a: JUMPDEST 00001a4b: PUSH1 0x00 00001a4d: PUSH2 0x1a56 00001a50: DUP2 00001a51: CALLER 00001a52: PUSH2 0x2377 00001a55: JUMP 00001a56: JUMPDEST 00001a57: PUSH1 0x01 00001a59: PUSH1 0x01 00001a5b: PUSH1 0xa0 00001a5d: SHL 00001a5e: SUB 00001a5f: DUP3 00001a60: AND 00001a61: PUSH2 0x1a69 00001a64: JUMPI 00001a65: PUSH1 0x00 00001a67: DUP1 00001a68: REVERT 00001a69: JUMPDEST 00001a6a: POP 00001a6b: PUSH1 0x15 00001a6d: DUP1 00001a6e: SLOAD 00001a6f: PUSH1 0x01 00001a71: PUSH1 0x01 00001a73: PUSH1 0xa0 00001a75: SHL 00001a76: SUB 00001a77: NOT 00001a78: AND 00001a79: PUSH1 0x01 00001a7b: PUSH1 0x01 00001a7d: PUSH1 0xa0 00001a7f: SHL 00001a80: SUB 00001a81: SWAP3 00001a82: SWAP1 00001a83: SWAP3 00001a84: AND 00001a85: SWAP2 00001a86: SWAP1 00001a87: SWAP2 00001a88: OR 00001a89: SWAP1 00001a8a: SSTORE 00001a8b: JUMP 00001a8c: JUMPDEST 00001a8d: PUSH1 0x01 00001a8f: PUSH1 0x01 00001a91: PUSH1 0xa0 00001a93: SHL 00001a94: SUB 00001a95: DUP3 00001a96: AND 00001a97: CALLER 00001a98: EQ 00001a99: ISZERO 00001a9a: PUSH2 0x1ae5 00001a9d: JUMPI 00001a9e: PUSH1 0x40 00001aa0: MLOAD 00001aa1: PUSH3 0x461bcd 00001aa5: PUSH1 0xe5 00001aa7: SHL 00001aa8: DUP2 00001aa9: MSTORE 00001aaa: PUSH1 0x20 00001aac: PUSH1 0x04 00001aae: DUP3 00001aaf: ADD 00001ab0: MSTORE 00001ab1: PUSH1 0x19 00001ab3: PUSH1 0x24 00001ab5: DUP3 00001ab6: ADD 00001ab7: MSTORE 00001ab8: PUSH32 0x4552433732313a20617070726f766520746f2063616c6c657200000000000000 00001ad9: PUSH1 0x44 00001adb: DUP3 00001adc: ADD 00001add: MSTORE 00001ade: PUSH1 0x64 00001ae0: ADD 00001ae1: PUSH2 0x0972 00001ae4: JUMP 00001ae5: JUMPDEST 00001ae6: CALLER 00001ae7: PUSH1 0x00 00001ae9: DUP2 00001aea: DUP2 00001aeb: MSTORE 00001aec: PUSH1 0x05 00001aee: PUSH1 0x20 00001af0: SWAP1 00001af1: DUP2 00001af2: MSTORE 00001af3: PUSH1 0x40 00001af5: DUP1 00001af6: DUP4 00001af7: KECCAK256 00001af8: PUSH1 0x01 00001afa: PUSH1 0x01 00001afc: PUSH1 0xa0 00001afe: SHL 00001aff: SUB 00001b00: DUP8 00001b01: AND 00001b02: DUP1 00001b03: DUP6 00001b04: MSTORE 00001b05: SWAP1 00001b06: DUP4 00001b07: MSTORE 00001b08: SWAP3 00001b09: DUP2 00001b0a: SWAP1 00001b0b: KECCAK256 00001b0c: DUP1 00001b0d: SLOAD 00001b0e: PUSH1 0xff 00001b10: NOT 00001b11: AND 00001b12: DUP7 00001b13: ISZERO 00001b14: ISZERO 00001b15: SWAP1 00001b16: DUP2 00001b17: OR 00001b18: SWAP1 00001b19: SWAP2 00001b1a: SSTORE 00001b1b: SWAP1 00001b1c: MLOAD 00001b1d: SWAP1 00001b1e: DUP2 00001b1f: MSTORE 00001b20: SWAP2 00001b21: SWAP3 00001b22: SWAP2 00001b23: PUSH32 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31 00001b44: SWAP2 00001b45: ADD 00001b46: PUSH1 0x40 00001b48: MLOAD 00001b49: DUP1 00001b4a: SWAP2 00001b4b: SUB 00001b4c: SWAP1 00001b4d: LOG3 00001b4e: POP 00001b4f: POP 00001b50: JUMP 00001b51: JUMPDEST 00001b52: PUSH1 0x00 00001b54: PUSH1 0x0e 00001b56: SLOAD 00001b57: PUSH2 0x1b5e 00001b5a: PUSH2 0x1b6d 00001b5d: JUMP 00001b5e: JUMPDEST 00001b5f: PUSH2 0x1b68 00001b62: SWAP2 00001b63: SWAP1 00001b64: PUSH2 0x3acb 00001b67: JUMP 00001b68: JUMPDEST 00001b69: SWAP1 00001b6a: POP 00001b6b: SWAP1 00001b6c: JUMP 00001b6d: JUMPDEST 00001b6e: PUSH1 0x00 00001b70: PUSH1 0x13 00001b72: SLOAD 00001b73: PUSH1 0x14 00001b75: SLOAD 00001b76: PUSH2 0x1b68 00001b79: SWAP2 00001b7a: SWAP1 00001b7b: PUSH2 0x3a80 00001b7e: JUMP 00001b7f: JUMPDEST 00001b80: PUSH1 0x00 00001b82: DUP2 00001b83: DUP2 00001b84: MSTORE 00001b85: PUSH1 0x18 00001b87: PUSH1 0x20 00001b89: MSTORE 00001b8a: PUSH1 0x40 00001b8c: DUP1 00001b8d: DUP3 00001b8e: KECCAK256 00001b8f: DUP2 00001b90: MLOAD 00001b91: PUSH1 0xe0 00001b93: DUP2 00001b94: ADD 00001b95: SWAP1 00001b96: SWAP3 00001b97: MSTORE 00001b98: DUP1 00001b99: SLOAD 00001b9a: SWAP1 00001b9b: SWAP3 00001b9c: SWAP2 00001b9d: PUSH2 0x1bb8 00001ba0: SWAP2 00001ba1: DUP5 00001ba2: SWAP1 00001ba3: DUP3 00001ba4: SWAP1 00001ba5: PUSH1 0xff 00001ba7: AND 00001ba8: PUSH1 0x03 00001baa: DUP2 00001bab: GT 00001bac: ISZERO 00001bad: PUSH2 0x165f 00001bb0: JUMPI 00001bb1: PUSH2 0x165f 00001bb4: PUSH2 0x3bbb 00001bb7: JUMP 00001bb8: JUMPDEST 00001bb9: SWAP1 00001bba: POP 00001bbb: PUSH1 0x01 00001bbd: PUSH1 0x01 00001bbf: PUSH1 0xa0 00001bc1: SHL 00001bc2: SUB 00001bc3: PUSH32 0x0000000000000000000000001ba4b447d0df64da64024e5ec47da94458c1e97f 00001be4: AND 00001be5: PUSH4 0x430c2081 00001bea: CALLER 00001beb: PUSH1 0x40 00001bed: MLOAD 00001bee: PUSH1 0x01 00001bf0: PUSH1 0x01 00001bf2: PUSH1 0xe0 00001bf4: SHL 00001bf5: SUB 00001bf6: NOT 00001bf7: PUSH1 0xe0 00001bf9: DUP5 00001bfa: SWAP1 00001bfb: SHL 00001bfc: AND 00001bfd: DUP2 00001bfe: MSTORE 00001bff: PUSH1 0x01 00001c01: PUSH1 0x01 00001c03: PUSH1 0xa0 00001c05: SHL 00001c06: SUB 00001c07: SWAP1 00001c08: SWAP2 00001c09: AND 00001c0a: PUSH1 0x04 00001c0c: DUP3 00001c0d: ADD 00001c0e: MSTORE 00001c0f: PUSH1 0x24 00001c11: DUP2 00001c12: ADD 00001c13: DUP7 00001c14: SWAP1 00001c15: MSTORE 00001c16: PUSH1 0x44 00001c18: ADD 00001c19: PUSH1 0x20 00001c1b: PUSH1 0x40 00001c1d: MLOAD 00001c1e: DUP1 00001c1f: DUP4 00001c20: SUB 00001c21: DUP2 00001c22: DUP7 00001c23: DUP1 00001c24: EXTCODESIZE 00001c25: ISZERO 00001c26: DUP1 00001c27: ISZERO 00001c28: PUSH2 0x1c30 00001c2b: JUMPI 00001c2c: PUSH1 0x00 00001c2e: DUP1 00001c2f: REVERT 00001c30: JUMPDEST 00001c31: POP 00001c32: GAS 00001c33: STATICCALL 00001c34: ISZERO 00001c35: DUP1 00001c36: ISZERO 00001c37: PUSH2 0x1c44 00001c3a: JUMPI 00001c3b: RETURNDATASIZE 00001c3c: PUSH1 0x00 00001c3e: DUP1 00001c3f: RETURNDATACOPY 00001c40: RETURNDATASIZE 00001c41: PUSH1 0x00 00001c43: REVERT 00001c44: JUMPDEST 00001c45: POP 00001c46: POP 00001c47: POP 00001c48: POP 00001c49: PUSH1 0x40 00001c4b: MLOAD 00001c4c: RETURNDATASIZE 00001c4d: PUSH1 0x1f 00001c4f: NOT 00001c50: PUSH1 0x1f 00001c52: DUP3 00001c53: ADD 00001c54: AND 00001c55: DUP3 00001c56: ADD 00001c57: DUP1 00001c58: PUSH1 0x40 00001c5a: MSTORE 00001c5b: POP 00001c5c: DUP2 00001c5d: ADD 00001c5e: SWAP1 00001c5f: PUSH2 0x1c68 00001c62: SWAP2 00001c63: SWAP1 00001c64: PUSH2 0x3681 00001c67: JUMP 00001c68: JUMPDEST 00001c69: PUSH2 0x1cce 00001c6c: JUMPI 00001c6d: PUSH1 0x40 00001c6f: MLOAD 00001c70: PUSH3 0x461bcd 00001c74: PUSH1 0xe5 00001c76: SHL 00001c77: DUP2 00001c78: MSTORE 00001c79: PUSH1 0x20 00001c7b: PUSH1 0x04 00001c7d: DUP3 00001c7e: ADD 00001c7f: MSTORE 00001c80: PUSH1 0x31 00001c82: PUSH1 0x24 00001c84: DUP3 00001c85: ADD 00001c86: MSTORE 00001c87: PUSH32 0x506f6f6c204572726f723a206d73672e73656e6465722063616e277420657865 00001ca8: PUSH1 0x44 00001caa: DUP3 00001cab: ADD 00001cac: MSTORE 00001cad: PUSH17 0x3931b4b9b2903a3434b99037b83a34b7b7 00001cbf: PUSH1 0x79 00001cc1: SHL 00001cc2: PUSH1 0x64 00001cc4: DUP3 00001cc5: ADD 00001cc6: MSTORE 00001cc7: PUSH1 0x84 00001cc9: ADD 00001cca: PUSH2 0x0972 00001ccd: JUMP 00001cce: JUMPDEST 00001ccf: TIMESTAMP 00001cd0: DUP3 00001cd1: PUSH1 0x04 00001cd3: ADD 00001cd4: SLOAD 00001cd5: GT 00001cd6: PUSH2 0x1d34 00001cd9: JUMPI 00001cda: PUSH1 0x40 00001cdc: MLOAD 00001cdd: PUSH3 0x461bcd 00001ce1: PUSH1 0xe5 00001ce3: SHL 00001ce4: DUP2 00001ce5: MSTORE 00001ce6: PUSH1 0x20 00001ce8: PUSH1 0x04 00001cea: DUP3 00001ceb: ADD 00001cec: MSTORE 00001ced: PUSH1 0x2a 00001cef: PUSH1 0x24 00001cf1: DUP3 00001cf2: ADD 00001cf3: MSTORE 00001cf4: PUSH32 0x506f6f6c204572726f723a20546865206f7074696f6e2068617320616c726561 00001d15: PUSH1 0x44 00001d17: DUP3 00001d18: ADD 00001d19: MSTORE 00001d1a: PUSH10 0x191e48195e1c1a5c9959 00001d25: PUSH1 0xb2 00001d27: SHL 00001d28: PUSH1 0x64 00001d2a: DUP3 00001d2b: ADD 00001d2c: MSTORE 00001d2d: PUSH1 0x84 00001d2f: ADD 00001d30: PUSH2 0x0972 00001d33: JUMP 00001d34: JUMPDEST 00001d35: PUSH1 0x00 00001d37: DUP2 00001d38: GT 00001d39: PUSH2 0x1daa 00001d3c: JUMPI 00001d3d: PUSH1 0x40 00001d3f: MLOAD 00001d40: PUSH3 0x461bcd 00001d44: PUSH1 0xe5 00001d46: SHL 00001d47: DUP2 00001d48: MSTORE 00001d49: PUSH1 0x20 00001d4b: PUSH1 0x04 00001d4d: DUP3 00001d4e: ADD 00001d4f: MSTORE 00001d50: PUSH1 0x3b 00001d52: PUSH1 0x24 00001d54: DUP3 00001d55: ADD 00001d56: MSTORE 00001d57: PUSH32 0x506f6f6c204572726f723a20546865726520617265206e6f20756e7265616c69 00001d78: PUSH1 0x44 00001d7a: DUP3 00001d7b: ADD 00001d7c: MSTORE 00001d7d: PUSH32 0x7a65642070726f6669747320666f722074686973206f7074696f6e0000000000 00001d9e: PUSH1 0x64 00001da0: DUP3 00001da1: ADD 00001da2: MSTORE 00001da3: PUSH1 0x84 00001da5: ADD 00001da6: PUSH2 0x0972 00001da9: JUMP 00001daa: JUMPDEST 00001dab: PUSH2 0x1db3 00001dae: DUP3 00001daf: PUSH2 0x29c7 00001db2: JUMP 00001db3: JUMPDEST 00001db4: DUP2 00001db5: SLOAD 00001db6: PUSH1 0xff 00001db8: NOT 00001db9: AND 00001dba: PUSH1 0x02 00001dbc: OR 00001dbd: DUP3 00001dbe: SSTORE 00001dbf: PUSH1 0x40 00001dc1: MLOAD 00001dc2: PUSH4 0x31a9108f 00001dc7: PUSH1 0xe1 00001dc9: SHL 00001dca: DUP2 00001dcb: MSTORE 00001dcc: PUSH1 0x04 00001dce: DUP2 00001dcf: ADD 00001dd0: DUP5 00001dd1: SWAP1 00001dd2: MSTORE 00001dd3: PUSH2 0x1e60 00001dd6: SWAP1 00001dd7: PUSH1 0x01 00001dd9: PUSH1 0x01 00001ddb: PUSH1 0xa0 00001ddd: SHL 00001dde: SUB 00001ddf: PUSH32 0x0000000000000000000000001ba4b447d0df64da64024e5ec47da94458c1e97f 00001e00: AND 00001e01: SWAP1 00001e02: PUSH4 0x6352211e 00001e07: SWAP1 00001e08: PUSH1 0x24 00001e0a: ADD 00001e0b: PUSH1 0x20 00001e0d: PUSH1 0x40 00001e0f: MLOAD 00001e10: DUP1 00001e11: DUP4 00001e12: SUB 00001e13: DUP2 00001e14: DUP7 00001e15: DUP1 00001e16: EXTCODESIZE 00001e17: ISZERO 00001e18: DUP1 00001e19: ISZERO 00001e1a: PUSH2 0x1e22 00001e1d: JUMPI 00001e1e: PUSH1 0x00 00001e20: DUP1 00001e21: REVERT 00001e22: JUMPDEST 00001e23: POP 00001e24: GAS 00001e25: STATICCALL 00001e26: ISZERO 00001e27: DUP1 00001e28: ISZERO 00001e29: PUSH2 0x1e36 00001e2c: JUMPI 00001e2d: RETURNDATASIZE 00001e2e: PUSH1 0x00 00001e30: DUP1 00001e31: RETURNDATACOPY 00001e32: RETURNDATASIZE 00001e33: PUSH1 0x00 00001e35: REVERT 00001e36: JUMPDEST 00001e37: POP 00001e38: POP 00001e39: POP 00001e3a: POP 00001e3b: PUSH1 0x40 00001e3d: MLOAD 00001e3e: RETURNDATASIZE 00001e3f: PUSH1 0x1f 00001e41: NOT 00001e42: PUSH1 0x1f 00001e44: DUP3 00001e45: ADD 00001e46: AND 00001e47: DUP3 00001e48: ADD 00001e49: DUP1 00001e4a: PUSH1 0x40 00001e4c: MSTORE 00001e4d: POP 00001e4e: DUP2 00001e4f: ADD 00001e50: SWAP1 00001e51: PUSH2 0x1e5a 00001e54: SWAP2 00001e55: SWAP1 00001e56: PUSH2 0x342d 00001e59: JUMP 00001e5a: JUMPDEST 00001e5b: DUP3 00001e5c: PUSH2 0x2b23 00001e5f: JUMP 00001e60: JUMPDEST 00001e61: DUP3 00001e62: PUSH32 0x0328c770810250ca303b85a612c9103929d1701abdf1dd1114607d139edfbed6 00001e83: DUP3 00001e84: PUSH1 0x40 00001e86: MLOAD 00001e87: PUSH2 0x1e92 00001e8a: SWAP2 00001e8b: DUP2 00001e8c: MSTORE 00001e8d: PUSH1 0x20 00001e8f: ADD 00001e90: SWAP1 00001e91: JUMP 00001e92: JUMPDEST 00001e93: PUSH1 0x40 00001e95: MLOAD 00001e96: DUP1 00001e97: SWAP2 00001e98: SUB 00001e99: SWAP1 00001e9a: LOG2 00001e9b: POP 00001e9c: POP 00001e9d: POP 00001e9e: JUMP 00001e9f: JUMPDEST 00001ea0: PUSH1 0x00 00001ea2: PUSH2 0x1eab 00001ea5: DUP2 00001ea6: CALLER 00001ea7: PUSH2 0x2377 00001eaa: JUMP 00001eab: JUMPDEST 00001eac: PUSH1 0x01 00001eae: PUSH1 0x01 00001eb0: PUSH1 0xa0 00001eb2: SHL 00001eb3: SUB 00001eb4: DUP3 00001eb5: AND 00001eb6: PUSH2 0x1ebe 00001eb9: JUMPI 00001eba: PUSH1 0x00 00001ebc: DUP1 00001ebd: REVERT 00001ebe: JUMPDEST 00001ebf: POP 00001ec0: PUSH1 0x16 00001ec2: DUP1 00001ec3: SLOAD 00001ec4: PUSH1 0x01 00001ec6: PUSH1 0x01 00001ec8: PUSH1 0xa0 00001eca: SHL 00001ecb: SUB 00001ecc: NOT 00001ecd: AND 00001ece: PUSH1 0x01 00001ed0: PUSH1 0x01 00001ed2: PUSH1 0xa0 00001ed4: SHL 00001ed5: SUB 00001ed6: SWAP3 00001ed7: SWAP1 00001ed8: SWAP3 00001ed9: AND 00001eda: SWAP2 00001edb: SWAP1 00001edc: SWAP2 00001edd: OR 00001ede: SWAP1 00001edf: SSTORE 00001ee0: JUMP 00001ee1: JUMPDEST 00001ee2: PUSH2 0x1eeb 00001ee5: CALLER 00001ee6: DUP4 00001ee7: PUSH2 0x23db 00001eea: JUMP 00001eeb: JUMPDEST 00001eec: PUSH2 0x1f07 00001eef: JUMPI 00001ef0: PUSH1 0x40 00001ef2: MLOAD 00001ef3: PUSH3 0x461bcd 00001ef7: PUSH1 0xe5 00001ef9: SHL 00001efa: DUP2 00001efb: MSTORE 00001efc: PUSH1 0x04 00001efe: ADD 00001eff: PUSH2 0x0972 00001f02: SWAP1 00001f03: PUSH2 0x39f8 00001f06: JUMP 00001f07: JUMPDEST 00001f08: PUSH2 0x1f13 00001f0b: DUP5 00001f0c: DUP5 00001f0d: DUP5 00001f0e: DUP5 00001f0f: PUSH2 0x2bae 00001f12: JUMP 00001f13: JUMPDEST 00001f14: POP 00001f15: POP 00001f16: POP 00001f17: POP 00001f18: JUMP 00001f19: JUMPDEST 00001f1a: PUSH1 0x00 00001f1c: DUP2 00001f1d: DUP2 00001f1e: MSTORE 00001f1f: PUSH1 0x02 00001f21: PUSH1 0x20 00001f23: MSTORE 00001f24: PUSH1 0x40 00001f26: SWAP1 00001f27: KECCAK256 00001f28: SLOAD 00001f29: PUSH1 0x60 00001f2b: SWAP1 00001f2c: PUSH1 0x01 00001f2e: PUSH1 0x01 00001f30: PUSH1 0xa0 00001f32: SHL 00001f33: SUB 00001f34: AND 00001f35: PUSH2 0x1f98 00001f38: JUMPI 00001f39: PUSH1 0x40 00001f3b: MLOAD 00001f3c: PUSH3 0x461bcd 00001f40: PUSH1 0xe5 00001f42: SHL 00001f43: DUP2 00001f44: MSTORE 00001f45: PUSH1 0x20 00001f47: PUSH1 0x04 00001f49: DUP3 00001f4a: ADD 00001f4b: MSTORE 00001f4c: PUSH1 0x2f 00001f4e: PUSH1 0x24 00001f50: DUP3 00001f51: ADD 00001f52: MSTORE 00001f53: PUSH32 0x4552433732314d657461646174613a2055524920717565727920666f72206e6f 00001f74: PUSH1 0x44 00001f76: DUP3 00001f77: ADD 00001f78: MSTORE 00001f79: PUSH15 0x3732bc34b9ba32b73a103a37b5b2b7 00001f89: PUSH1 0x89 00001f8b: SHL 00001f8c: PUSH1 0x64 00001f8e: DUP3 00001f8f: ADD 00001f90: MSTORE 00001f91: PUSH1 0x84 00001f93: ADD 00001f94: PUSH2 0x0972 00001f97: JUMP 00001f98: JUMPDEST 00001f99: PUSH1 0x00 00001f9b: PUSH2 0x1faf 00001f9e: PUSH1 0x40 00001fa0: DUP1 00001fa1: MLOAD 00001fa2: PUSH1 0x20 00001fa4: DUP2 00001fa5: ADD 00001fa6: SWAP1 00001fa7: SWAP2 00001fa8: MSTORE 00001fa9: PUSH1 0x00 00001fab: DUP2 00001fac: MSTORE 00001fad: SWAP1 00001fae: JUMP 00001faf: JUMPDEST 00001fb0: SWAP1 00001fb1: POP 00001fb2: PUSH1 0x00 00001fb4: DUP2 00001fb5: MLOAD 00001fb6: GT 00001fb7: PUSH2 0x1fcf 00001fba: JUMPI 00001fbb: PUSH1 0x40 00001fbd: MLOAD 00001fbe: DUP1 00001fbf: PUSH1 0x20 00001fc1: ADD 00001fc2: PUSH1 0x40 00001fc4: MSTORE 00001fc5: DUP1 00001fc6: PUSH1 0x00 00001fc8: DUP2 00001fc9: MSTORE 00001fca: POP 00001fcb: PUSH2 0x1ffa 00001fce: JUMP 00001fcf: JUMPDEST 00001fd0: DUP1 00001fd1: PUSH2 0x1fd9 00001fd4: DUP5 00001fd5: PUSH2 0x2be1 00001fd8: JUMP 00001fd9: JUMPDEST 00001fda: PUSH1 0x40 00001fdc: MLOAD 00001fdd: PUSH1 0x20 00001fdf: ADD 00001fe0: PUSH2 0x1fea 00001fe3: SWAP3 00001fe4: SWAP2 00001fe5: SWAP1 00001fe6: PUSH2 0x3839 00001fe9: JUMP 00001fea: JUMPDEST 00001feb: PUSH1 0x40 00001fed: MLOAD 00001fee: PUSH1 0x20 00001ff0: DUP2 00001ff1: DUP4 00001ff2: SUB 00001ff3: SUB 00001ff4: DUP2 00001ff5: MSTORE 00001ff6: SWAP1 00001ff7: PUSH1 0x40 00001ff9: MSTORE 00001ffa: JUMPDEST 00001ffb: SWAP4 00001ffc: SWAP3 00001ffd: POP 00001ffe: POP 00001fff: POP 00002000: JUMP 00002001: JUMPDEST 00002002: PUSH1 0x00 00002004: DUP1 00002005: PUSH2 0x200f 00002008: DUP6 00002009: DUP6 0000200a: DUP6 0000200b: PUSH2 0x2829 0000200e: JUMP 0000200f: JUMPDEST 00002010: SWAP2 00002011: POP 00002012: SWAP2 00002013: POP 00002014: JUMPDEST 00002015: SWAP4 00002016: POP 00002017: SWAP4 00002018: SWAP2 00002019: POP 0000201a: POP 0000201b: JUMP 0000201c: JUMPDEST 0000201d: PUSH1 0x00 0000201f: DUP3 00002020: DUP2 00002021: MSTORE 00002022: PUSH1 0x06 00002024: PUSH1 0x20 00002026: MSTORE 00002027: PUSH1 0x40 00002029: SWAP1 0000202a: KECCAK256 0000202b: PUSH1 0x01 0000202d: ADD 0000202e: SLOAD 0000202f: PUSH2 0x2038 00002032: DUP2 00002033: CALLER 00002034: PUSH2 0x2377 00002037: JUMP 00002038: JUMPDEST 00002039: PUSH2 0x0aa8 0000203c: DUP4 0000203d: DUP4 0000203e: PUSH2 0x2960 00002041: JUMP 00002042: JUMPDEST 00002043: PUSH1 0x00 00002045: PUSH2 0x204e 00002048: DUP2 00002049: CALLER 0000204a: PUSH2 0x2377 0000204d: JUMP 0000204e: JUMPDEST 0000204f: DUP2 00002050: PUSH1 0x1e 00002052: GT 00002053: ISZERO 00002054: DUP1 00002055: ISZERO 00002056: PUSH2 0x2060 00002059: JUMPI 0000205a: POP 0000205b: PUSH1 0x64 0000205d: DUP3 0000205e: GT 0000205f: ISZERO 00002060: JUMPDEST 00002061: PUSH2 0x20c4 00002064: JUMPI 00002065: PUSH1 0x40 00002067: MLOAD 00002068: PUSH3 0x461bcd 0000206c: PUSH1 0xe5 0000206e: SHL 0000206f: DUP2 00002070: MSTORE 00002071: PUSH1 0x20 00002073: PUSH1 0x04 00002075: DUP3 00002076: ADD 00002077: MSTORE 00002078: PUSH1 0x2f 0000207a: PUSH1 0x24 0000207c: DUP3 0000207d: ADD 0000207e: MSTORE 0000207f: PUSH32 0x506f6f6c204572726f723a2057726f6e6720636f6c6c61746572616c697a6174 000020a0: PUSH1 0x44 000020a2: DUP3 000020a3: ADD 000020a4: MSTORE 000020a5: PUSH15 0x696f6e20726174696f2076616c7565 000020b5: PUSH1 0x88 000020b7: SHL 000020b8: PUSH1 0x64 000020ba: DUP3 000020bb: ADD 000020bc: MSTORE 000020bd: PUSH1 0x84 000020bf: ADD 000020c0: PUSH2 0x0972 000020c3: JUMP 000020c4: JUMPDEST 000020c5: POP 000020c6: PUSH1 0x0d 000020c8: SSTORE 000020c9: JUMP 000020ca: JUMPDEST 000020cb: PUSH1 0x00 000020cd: PUSH1 0x01 000020cf: PUSH1 0x01 000020d1: PUSH1 0xe0 000020d3: SHL 000020d4: SUB 000020d5: NOT 000020d6: DUP3 000020d7: AND 000020d8: PUSH4 0x7965db0b 000020dd: PUSH1 0xe0 000020df: SHL 000020e0: EQ 000020e1: DUP1 000020e2: PUSH2 0x0865 000020e5: JUMPI 000020e6: POP 000020e7: PUSH2 0x0865 000020ea: DUP3 000020eb: JUMPDEST 000020ec: PUSH1 0x00 000020ee: PUSH1 0x01 000020f0: PUSH1 0x01 000020f2: PUSH1 0xe0 000020f4: SHL 000020f5: SUB 000020f6: NOT 000020f7: DUP3 000020f8: AND 000020f9: PUSH4 0x80ac58cd 000020fe: PUSH1 0xe0 00002100: SHL 00002101: EQ 00002102: DUP1 00002103: PUSH2 0x211c 00002106: JUMPI 00002107: POP 00002108: PUSH1 0x01 0000210a: PUSH1 0x01 0000210c: PUSH1 0xe0 0000210e: SHL 0000210f: SUB 00002110: NOT 00002111: DUP3 00002112: AND 00002113: PUSH4 0x5b5e139f 00002118: PUSH1 0xe0 0000211a: SHL 0000211b: EQ 0000211c: JUMPDEST 0000211d: DUP1 0000211e: PUSH2 0x0865 00002121: JUMPI 00002122: POP 00002123: PUSH4 0x01ffc9a7 00002128: PUSH1 0xe0 0000212a: SHL 0000212b: PUSH1 0x01 0000212d: PUSH1 0x01 0000212f: PUSH1 0xe0 00002131: SHL 00002132: SUB 00002133: NOT 00002134: DUP4 00002135: AND 00002136: EQ 00002137: PUSH2 0x0865 0000213a: JUMP 0000213b: JUMPDEST 0000213c: PUSH1 0x00 0000213e: DUP2 0000213f: DUP2 00002140: MSTORE 00002141: PUSH1 0x04 00002143: PUSH1 0x20 00002145: MSTORE 00002146: PUSH1 0x40 00002148: SWAP1 00002149: KECCAK256 0000214a: DUP1 0000214b: SLOAD 0000214c: PUSH1 0x01 0000214e: PUSH1 0x01 00002150: PUSH1 0xa0 00002152: SHL 00002153: SUB 00002154: NOT 00002155: AND 00002156: PUSH1 0x01 00002158: PUSH1 0x01 0000215a: PUSH1 0xa0 0000215c: SHL 0000215d: SUB 0000215e: DUP5 0000215f: AND 00002160: SWAP1 00002161: DUP2 00002162: OR 00002163: SWAP1 00002164: SWAP2 00002165: SSTORE 00002166: DUP2 00002167: SWAP1 00002168: PUSH2 0x2170 0000216b: DUP3 0000216c: PUSH2 0x14fc 0000216f: JUMP 00002170: JUMPDEST 00002171: PUSH1 0x01 00002173: PUSH1 0x01 00002175: PUSH1 0xa0 00002177: SHL 00002178: SUB 00002179: AND 0000217a: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925 0000219b: PUSH1 0x40 0000219d: MLOAD 0000219e: PUSH1 0x40 000021a0: MLOAD 000021a1: DUP1 000021a2: SWAP2 000021a3: SUB 000021a4: SWAP1 000021a5: LOG4 000021a6: POP 000021a7: POP 000021a8: JUMP 000021a9: JUMPDEST 000021aa: PUSH1 0x00 000021ac: DUP1 000021ad: PUSH1 0x17 000021af: DUP4 000021b0: DUP2 000021b1: SLOAD 000021b2: DUP2 000021b3: LT 000021b4: PUSH2 0x21bf 000021b7: JUMPI 000021b8: PUSH2 0x21bf 000021bb: PUSH2 0x3bd1 000021be: JUMP 000021bf: JUMPDEST 000021c0: PUSH1 0x00 000021c2: SWAP2 000021c3: DUP3 000021c4: MSTORE 000021c5: PUSH1 0x20 000021c7: DUP3 000021c8: KECCAK256 000021c9: PUSH1 0x04 000021cb: PUSH1 0x05 000021cd: SWAP1 000021ce: SWAP3 000021cf: MUL 000021d0: ADD 000021d1: SWAP1 000021d2: DUP2 000021d3: ADD 000021d4: SLOAD 000021d5: SWAP1 000021d6: SWAP3 000021d7: POP 000021d8: PUSH1 0xff 000021da: AND 000021db: PUSH2 0x21e6 000021de: JUMPI 000021df: PUSH1 0x0a 000021e1: SLOAD 000021e2: PUSH2 0x21ea 000021e5: JUMP 000021e6: JUMPDEST 000021e7: PUSH1 0x09 000021e9: SLOAD 000021ea: JUMPDEST 000021eb: SWAP1 000021ec: POP 000021ed: PUSH1 0x01 000021ef: DUP3 000021f0: SLOAD 000021f1: PUSH1 0xff 000021f3: AND 000021f4: PUSH1 0x02 000021f6: DUP2 000021f7: GT 000021f8: ISZERO 000021f9: PUSH2 0x2204 000021fc: JUMPI 000021fd: PUSH2 0x2204 00002200: PUSH2 0x3bbb 00002203: JUMP 00002204: JUMPDEST 00002205: EQ 00002206: PUSH2 0x220e 00002209: JUMPI 0000220a: PUSH1 0x00 0000220c: DUP1 0000220d: REVERT 0000220e: JUMPDEST 0000220f: PUSH2 0x2218 00002212: CALLER 00002213: DUP6 00002214: PUSH2 0x23db 00002217: JUMP 00002218: JUMPDEST 00002219: PUSH2 0x2221 0000221c: JUMPI 0000221d: PUSH1 0x00 0000221f: DUP1 00002220: REVERT 00002221: JUMPDEST 00002222: DUP1 00002223: DUP3 00002224: PUSH1 0x03 00002226: ADD 00002227: SLOAD 00002228: PUSH2 0x2231 0000222b: SWAP2 0000222c: SWAP1 0000222d: PUSH2 0x3a80 00002230: JUMP 00002231: JUMPDEST 00002232: TIMESTAMP 00002233: GT 00002234: PUSH2 0x228f 00002237: JUMPI 00002238: PUSH1 0x40 0000223a: MLOAD 0000223b: PUSH3 0x461bcd 0000223f: PUSH1 0xe5 00002241: SHL 00002242: DUP2 00002243: MSTORE 00002244: PUSH1 0x20 00002246: PUSH1 0x04 00002248: DUP3 00002249: ADD 0000224a: MSTORE 0000224b: PUSH1 0x27 0000224d: PUSH1 0x24 0000224f: DUP3 00002250: ADD 00002251: MSTORE 00002252: PUSH32 0x506f6f6c204572726f723a20546865207769746864726177616c206973206c6f 00002273: PUSH1 0x44 00002275: DUP3 00002276: ADD 00002277: MSTORE 00002278: PUSH7 0x0636b656420757 00002280: PUSH1 0xcc 00002282: SHL 00002283: PUSH1 0x64 00002285: DUP3 00002286: ADD 00002287: MSTORE 00002288: PUSH1 0x84 0000228a: ADD 0000228b: PUSH2 0x0972 0000228e: JUMP 0000228f: JUMPDEST 00002290: DUP2 00002291: SLOAD 00002292: PUSH1 0xff 00002294: NOT 00002295: AND 00002296: PUSH1 0x02 00002298: OR 00002299: DUP3 0000229a: SSTORE 0000229b: PUSH1 0x04 0000229d: DUP3 0000229e: ADD 0000229f: SLOAD 000022a0: PUSH1 0xff 000022a2: AND 000022a3: ISZERO 000022a4: PUSH2 0x2302 000022a7: JUMPI 000022a8: PUSH1 0x12 000022aa: SLOAD 000022ab: PUSH1 0x14 000022ad: SLOAD 000022ae: DUP4 000022af: PUSH1 0x01 000022b1: ADD 000022b2: SLOAD 000022b3: PUSH2 0x22bc 000022b6: SWAP2 000022b7: SWAP1 000022b8: PUSH2 0x3aac 000022bb: JUMP 000022bc: JUMPDEST 000022bd: PUSH2 0x22c6 000022c0: SWAP2 000022c1: SWAP1 000022c2: PUSH2 0x3a98 000022c5: JUMP 000022c6: JUMPDEST 000022c7: SWAP3 000022c8: POP 000022c9: DUP2 000022ca: PUSH1 0x01 000022cc: ADD 000022cd: SLOAD 000022ce: PUSH1 0x12 000022d0: PUSH1 0x00 000022d2: DUP3 000022d3: DUP3 000022d4: SLOAD 000022d5: PUSH2 0x22de 000022d8: SWAP2 000022d9: SWAP1 000022da: PUSH2 0x3acb 000022dd: JUMP 000022de: JUMPDEST 000022df: SWAP3 000022e0: POP 000022e1: POP 000022e2: DUP2 000022e3: SWAP1 000022e4: SSTORE 000022e5: POP 000022e6: DUP3 000022e7: PUSH1 0x14 000022e9: PUSH1 0x00 000022eb: DUP3 000022ec: DUP3 000022ed: SLOAD 000022ee: PUSH2 0x22f7 000022f1: SWAP2 000022f2: SWAP1 000022f3: PUSH2 0x3acb 000022f6: JUMP 000022f7: JUMPDEST 000022f8: SWAP1 000022f9: SWAP2 000022fa: SSTORE 000022fb: POP 000022fc: PUSH2 0x2358 000022ff: SWAP1 00002300: POP 00002301: JUMP 00002302: JUMPDEST 00002303: PUSH1 0x11 00002305: SLOAD 00002306: PUSH1 0x13 00002308: SLOAD 00002309: DUP4 0000230a: PUSH1 0x01 0000230c: ADD 0000230d: SLOAD 0000230e: PUSH2 0x2317 00002311: SWAP2 00002312: SWAP1 00002313: PUSH2 0x3aac 00002316: JUMP 00002317: JUMPDEST 00002318: PUSH2 0x2321 0000231b: SWAP2 0000231c: SWAP1 0000231d: PUSH2 0x3a98 00002320: JUMP 00002321: JUMPDEST 00002322: SWAP3 00002323: POP 00002324: DUP2 00002325: PUSH1 0x01 00002327: ADD 00002328: SLOAD 00002329: PUSH1 0x11 0000232b: PUSH1 0x00 0000232d: DUP3 0000232e: DUP3 0000232f: SLOAD 00002330: PUSH2 0x2339 00002333: SWAP2 00002334: SWAP1 00002335: PUSH2 0x3acb 00002338: JUMP 00002339: JUMPDEST 0000233a: SWAP3 0000233b: POP 0000233c: POP 0000233d: DUP2 0000233e: SWAP1 0000233f: SSTORE 00002340: POP 00002341: DUP3 00002342: PUSH1 0x13 00002344: PUSH1 0x00 00002346: DUP3 00002347: DUP3 00002348: SLOAD 00002349: PUSH2 0x2352 0000234c: SWAP2 0000234d: SWAP1 0000234e: PUSH2 0x3acb 00002351: JUMP 00002352: JUMPDEST 00002353: SWAP1 00002354: SWAP2 00002355: SSTORE 00002356: POP 00002357: POP 00002358: JUMPDEST 00002359: PUSH1 0x19 0000235b: SLOAD 0000235c: PUSH2 0x236f 0000235f: SWAP1 00002360: PUSH1 0x01 00002362: PUSH1 0x01 00002364: PUSH1 0xa0 00002366: SHL 00002367: SUB 00002368: AND 00002369: DUP7 0000236a: DUP6 0000236b: PUSH2 0x2930 0000236e: JUMP 0000236f: JUMPDEST 00002370: POP 00002371: POP 00002372: SWAP3 00002373: SWAP2 00002374: POP 00002375: POP 00002376: JUMP 00002377: JUMPDEST 00002378: PUSH2 0x2381 0000237b: DUP3 0000237c: DUP3 0000237d: PUSH2 0x1a10 00002380: JUMP 00002381: JUMPDEST 00002382: PUSH2 0x139a 00002385: JUMPI 00002386: PUSH2 0x2399 00002389: DUP2 0000238a: PUSH1 0x01 0000238c: PUSH1 0x01 0000238e: PUSH1 0xa0 00002390: SHL 00002391: SUB 00002392: AND 00002393: PUSH1 0x14 00002395: PUSH2 0x2cdf 00002398: JUMP 00002399: JUMPDEST 0000239a: PUSH2 0x23a4 0000239d: DUP4 0000239e: PUSH1 0x20 000023a0: PUSH2 0x2cdf 000023a3: JUMP 000023a4: JUMPDEST 000023a5: PUSH1 0x40 000023a7: MLOAD 000023a8: PUSH1 0x20 000023aa: ADD 000023ab: PUSH2 0x23b5 000023ae: SWAP3 000023af: SWAP2 000023b0: SWAP1 000023b1: PUSH2 0x3868 000023b4: JUMP 000023b5: JUMPDEST 000023b6: PUSH1 0x40 000023b8: DUP1 000023b9: MLOAD 000023ba: PUSH1 0x1f 000023bc: NOT 000023bd: DUP2 000023be: DUP5 000023bf: SUB 000023c0: ADD 000023c1: DUP2 000023c2: MSTORE 000023c3: SWAP1 000023c4: DUP3 000023c5: SWAP1 000023c6: MSTORE 000023c7: PUSH3 0x461bcd 000023cb: PUSH1 0xe5 000023cd: SHL 000023ce: DUP3 000023cf: MSTORE 000023d0: PUSH2 0x0972 000023d3: SWAP2 000023d4: PUSH1 0x04 000023d6: ADD 000023d7: PUSH2 0x3993 000023da: JUMP 000023db: JUMPDEST 000023dc: PUSH1 0x00 000023de: DUP2 000023df: DUP2 000023e0: MSTORE 000023e1: PUSH1 0x02 000023e3: PUSH1 0x20 000023e5: MSTORE 000023e6: PUSH1 0x40 000023e8: DUP2 000023e9: KECCAK256 000023ea: SLOAD 000023eb: PUSH1 0x01 000023ed: PUSH1 0x01 000023ef: PUSH1 0xa0 000023f1: SHL 000023f2: SUB 000023f3: AND 000023f4: PUSH2 0x2454 000023f7: JUMPI 000023f8: PUSH1 0x40 000023fa: MLOAD 000023fb: PUSH3 0x461bcd 000023ff: PUSH1 0xe5 00002401: SHL 00002402: DUP2 00002403: MSTORE 00002404: PUSH1 0x20 00002406: PUSH1 0x04 00002408: DUP3 00002409: ADD 0000240a: MSTORE 0000240b: PUSH1 0x2c 0000240d: PUSH1 0x24 0000240f: DUP3 00002410: ADD 00002411: MSTORE 00002412: PUSH32 0x4552433732313a206f70657261746f7220717565727920666f72206e6f6e6578 00002433: PUSH1 0x44 00002435: DUP3 00002436: ADD 00002437: MSTORE 00002438: PUSH12 0x34b9ba32b73a103a37b5b2b7 00002445: PUSH1 0xa1 00002447: SHL 00002448: PUSH1 0x64 0000244a: DUP3 0000244b: ADD 0000244c: MSTORE 0000244d: PUSH1 0x84 0000244f: ADD 00002450: PUSH2 0x0972 00002453: JUMP 00002454: JUMPDEST 00002455: PUSH1 0x00 00002457: PUSH2 0x245f 0000245a: DUP4 0000245b: PUSH2 0x14fc 0000245e: JUMP 0000245f: JUMPDEST 00002460: SWAP1 00002461: POP 00002462: DUP1 00002463: PUSH1 0x01 00002465: PUSH1 0x01 00002467: PUSH1 0xa0 00002469: SHL 0000246a: SUB 0000246b: AND 0000246c: DUP5 0000246d: PUSH1 0x01 0000246f: PUSH1 0x01 00002471: PUSH1 0xa0 00002473: SHL 00002474: SUB 00002475: AND 00002476: EQ 00002477: DUP1 00002478: PUSH2 0x249a 0000247b: JUMPI 0000247c: POP 0000247d: DUP4 0000247e: PUSH1 0x01 00002480: PUSH1 0x01 00002482: PUSH1 0xa0 00002484: SHL 00002485: SUB 00002486: AND 00002487: PUSH2 0x248f 0000248a: DUP5 0000248b: PUSH2 0x08fd 0000248e: JUMP 0000248f: JUMPDEST 00002490: PUSH1 0x01 00002492: PUSH1 0x01 00002494: PUSH1 0xa0 00002496: SHL 00002497: SUB 00002498: AND 00002499: EQ 0000249a: JUMPDEST 0000249b: DUP1 0000249c: PUSH2 0x24ca 0000249f: JUMPI 000024a0: POP 000024a1: PUSH1 0x01 000024a3: PUSH1 0x01 000024a5: PUSH1 0xa0 000024a7: SHL 000024a8: SUB 000024a9: DUP1 000024aa: DUP3 000024ab: AND 000024ac: PUSH1 0x00 000024ae: SWAP1 000024af: DUP2 000024b0: MSTORE 000024b1: PUSH1 0x05 000024b3: PUSH1 0x20 000024b5: SWAP1 000024b6: DUP2 000024b7: MSTORE 000024b8: PUSH1 0x40 000024ba: DUP1 000024bb: DUP4 000024bc: KECCAK256 000024bd: SWAP4 000024be: DUP9 000024bf: AND 000024c0: DUP4 000024c1: MSTORE 000024c2: SWAP3 000024c3: SWAP1 000024c4: MSTORE 000024c5: KECCAK256 000024c6: SLOAD 000024c7: PUSH1 0xff 000024c9: AND 000024ca: JUMPDEST 000024cb: SWAP5 000024cc: SWAP4 000024cd: POP 000024ce: POP 000024cf: POP 000024d0: POP 000024d1: JUMP 000024d2: JUMPDEST 000024d3: DUP3 000024d4: PUSH1 0x01 000024d6: PUSH1 0x01 000024d8: PUSH1 0xa0 000024da: SHL 000024db: SUB 000024dc: AND 000024dd: PUSH2 0x24e5 000024e0: DUP3 000024e1: PUSH2 0x14fc 000024e4: JUMP 000024e5: JUMPDEST 000024e6: PUSH1 0x01 000024e8: PUSH1 0x01 000024ea: PUSH1 0xa0 000024ec: SHL 000024ed: SUB 000024ee: AND 000024ef: EQ 000024f0: PUSH2 0x254d 000024f3: JUMPI 000024f4: PUSH1 0x40 000024f6: MLOAD 000024f7: PUSH3 0x461bcd 000024fb: PUSH1 0xe5 000024fd: SHL 000024fe: DUP2 000024ff: MSTORE 00002500: PUSH1 0x20 00002502: PUSH1 0x04 00002504: DUP3 00002505: ADD 00002506: MSTORE 00002507: PUSH1 0x29 00002509: PUSH1 0x24 0000250b: DUP3 0000250c: ADD 0000250d: MSTORE 0000250e: PUSH32 0x4552433732313a207472616e73666572206f6620746f6b656e20746861742069 0000252f: PUSH1 0x44 00002531: DUP3 00002532: ADD 00002533: MSTORE 00002534: PUSH9 0x39903737ba1037bbb7 0000253e: PUSH1 0xb9 00002540: SHL 00002541: PUSH1 0x64 00002543: DUP3 00002544: ADD 00002545: MSTORE 00002546: PUSH1 0x84 00002548: ADD 00002549: PUSH2 0x0972 0000254c: JUMP 0000254d: JUMPDEST 0000254e: PUSH1 0x01 00002550: PUSH1 0x01 00002552: PUSH1 0xa0 00002554: SHL 00002555: SUB 00002556: DUP3 00002557: AND 00002558: PUSH2 0x25af 0000255b: JUMPI 0000255c: PUSH1 0x40 0000255e: MLOAD 0000255f: PUSH3 0x461bcd 00002563: PUSH1 0xe5 00002565: SHL 00002566: DUP2 00002567: MSTORE 00002568: PUSH1 0x20 0000256a: PUSH1 0x04 0000256c: DUP3 0000256d: ADD 0000256e: MSTORE 0000256f: PUSH1 0x24 00002571: DUP1 00002572: DUP3 00002573: ADD 00002574: MSTORE 00002575: PUSH32 0x4552433732313a207472616e7366657220746f20746865207a65726f20616464 00002596: PUSH1 0x44 00002598: DUP3 00002599: ADD 0000259a: MSTORE 0000259b: PUSH4 0x72657373 000025a0: PUSH1 0xe0 000025a2: SHL 000025a3: PUSH1 0x64 000025a5: DUP3 000025a6: ADD 000025a7: MSTORE 000025a8: PUSH1 0x84 000025aa: ADD 000025ab: PUSH2 0x0972 000025ae: JUMP 000025af: JUMPDEST 000025b0: PUSH2 0x25ba 000025b3: DUP4 000025b4: DUP4 000025b5: DUP4 000025b6: PUSH2 0x2e7b 000025b9: JUMP 000025ba: JUMPDEST 000025bb: PUSH2 0x25c5 000025be: PUSH1 0x00 000025c0: DUP3 000025c1: PUSH2 0x213b 000025c4: JUMP 000025c5: JUMPDEST 000025c6: PUSH1 0x01 000025c8: PUSH1 0x01 000025ca: PUSH1 0xa0 000025cc: SHL 000025cd: SUB 000025ce: DUP4 000025cf: AND 000025d0: PUSH1 0x00 000025d2: SWAP1 000025d3: DUP2 000025d4: MSTORE 000025d5: PUSH1 0x03 000025d7: PUSH1 0x20 000025d9: MSTORE 000025da: PUSH1 0x40 000025dc: DUP2 000025dd: KECCAK256 000025de: DUP1 000025df: SLOAD 000025e0: PUSH1 0x01 000025e2: SWAP3 000025e3: SWAP1 000025e4: PUSH2 0x25ee 000025e7: SWAP1 000025e8: DUP5 000025e9: SWAP1 000025ea: PUSH2 0x3acb 000025ed: JUMP 000025ee: JUMPDEST 000025ef: SWAP1 000025f0: SWAP2 000025f1: SSTORE 000025f2: POP 000025f3: POP 000025f4: PUSH1 0x01 000025f6: PUSH1 0x01 000025f8: PUSH1 0xa0 000025fa: SHL 000025fb: SUB 000025fc: DUP3 000025fd: AND 000025fe: PUSH1 0x00 00002600: SWAP1 00002601: DUP2 00002602: MSTORE 00002603: PUSH1 0x03 00002605: PUSH1 0x20 00002607: MSTORE 00002608: PUSH1 0x40 0000260a: DUP2 0000260b: KECCAK256 0000260c: DUP1 0000260d: SLOAD 0000260e: PUSH1 0x01 00002610: SWAP3 00002611: SWAP1 00002612: PUSH2 0x261c 00002615: SWAP1 00002616: DUP5 00002617: SWAP1 00002618: PUSH2 0x3a80 0000261b: JUMP 0000261c: JUMPDEST 0000261d: SWAP1 0000261e: SWAP2 0000261f: SSTORE 00002620: POP 00002621: POP 00002622: PUSH1 0x00 00002624: DUP2 00002625: DUP2 00002626: MSTORE 00002627: PUSH1 0x02 00002629: PUSH1 0x20 0000262b: MSTORE 0000262c: PUSH1 0x40 0000262e: DUP1 0000262f: DUP3 00002630: KECCAK256 00002631: DUP1 00002632: SLOAD 00002633: PUSH1 0x01 00002635: PUSH1 0x01 00002637: PUSH1 0xa0 00002639: SHL 0000263a: SUB 0000263b: NOT 0000263c: AND 0000263d: PUSH1 0x01 0000263f: PUSH1 0x01 00002641: PUSH1 0xa0 00002643: SHL 00002644: SUB 00002645: DUP7 00002646: DUP2 00002647: AND 00002648: SWAP2 00002649: DUP3 0000264a: OR 0000264b: SWAP1 0000264c: SWAP3 0000264d: SSTORE 0000264e: SWAP2 0000264f: MLOAD 00002650: DUP5 00002651: SWAP4 00002652: SWAP2 00002653: DUP8 00002654: AND 00002655: SWAP2 00002656: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00002677: SWAP2 00002678: LOG4 00002679: POP 0000267a: POP 0000267b: POP 0000267c: JUMP 0000267d: JUMPDEST 0000267e: PUSH1 0x40 00002680: MLOAD 00002681: PUSH1 0x01 00002683: PUSH1 0x01 00002685: PUSH1 0xa0 00002687: SHL 00002688: SUB 00002689: DUP1 0000268a: DUP6 0000268b: AND 0000268c: PUSH1 0x24 0000268e: DUP4 0000268f: ADD 00002690: MSTORE 00002691: DUP4 00002692: AND 00002693: PUSH1 0x44 00002695: DUP3 00002696: ADD 00002697: MSTORE 00002698: PUSH1 0x64 0000269a: DUP2 0000269b: ADD 0000269c: DUP3 0000269d: SWAP1 0000269e: MSTORE 0000269f: PUSH2 0x1f13 000026a2: SWAP1 000026a3: DUP6 000026a4: SWAP1 000026a5: PUSH4 0x23b872dd 000026aa: PUSH1 0xe0 000026ac: SHL 000026ad: SWAP1 000026ae: PUSH1 0x84 000026b0: ADD 000026b1: JUMPDEST 000026b2: PUSH1 0x40 000026b4: DUP1 000026b5: MLOAD 000026b6: PUSH1 0x1f 000026b8: NOT 000026b9: DUP2 000026ba: DUP5 000026bb: SUB 000026bc: ADD 000026bd: DUP2 000026be: MSTORE 000026bf: SWAP2 000026c0: SWAP1 000026c1: MSTORE 000026c2: PUSH1 0x20 000026c4: DUP2 000026c5: ADD 000026c6: DUP1 000026c7: MLOAD 000026c8: PUSH1 0x01 000026ca: PUSH1 0x01 000026cc: PUSH1 0xe0 000026ce: SHL 000026cf: SUB 000026d0: AND 000026d1: PUSH1 0x01 000026d3: PUSH1 0x01 000026d5: PUSH1 0xe0 000026d7: SHL 000026d8: SUB 000026d9: NOT 000026da: SWAP1 000026db: SWAP4 000026dc: AND 000026dd: SWAP3 000026de: SWAP1 000026df: SWAP3 000026e0: OR 000026e1: SWAP1 000026e2: SWAP2 000026e3: MSTORE 000026e4: PUSH2 0x2f21 000026e7: JUMP 000026e8: JUMPDEST 000026e9: PUSH2 0x26f2 000026ec: DUP3 000026ed: DUP3 000026ee: PUSH2 0x1a10 000026f1: JUMP 000026f2: JUMPDEST 000026f3: PUSH2 0x139a 000026f6: JUMPI 000026f7: PUSH1 0x00 000026f9: DUP3 000026fa: DUP2 000026fb: MSTORE 000026fc: PUSH1 0x06 000026fe: PUSH1 0x20 00002700: SWAP1 00002701: DUP2 00002702: MSTORE 00002703: PUSH1 0x40 00002705: DUP1 00002706: DUP4 00002707: KECCAK256 00002708: PUSH1 0x01 0000270a: PUSH1 0x01 0000270c: PUSH1 0xa0 0000270e: SHL 0000270f: SUB 00002710: DUP6 00002711: AND 00002712: DUP5 00002713: MSTORE 00002714: SWAP1 00002715: SWAP2 00002716: MSTORE 00002717: SWAP1 00002718: KECCAK256 00002719: DUP1 0000271a: SLOAD 0000271b: PUSH1 0xff 0000271d: NOT 0000271e: AND 0000271f: PUSH1 0x01 00002721: OR 00002722: SWAP1 00002723: SSTORE 00002724: PUSH2 0x272a 00002727: CALLER 00002728: SWAP1 00002729: JUMP 0000272a: JUMPDEST 0000272b: PUSH1 0x01 0000272d: PUSH1 0x01 0000272f: PUSH1 0xa0 00002731: SHL 00002732: SUB 00002733: AND 00002734: DUP2 00002735: PUSH1 0x01 00002737: PUSH1 0x01 00002739: PUSH1 0xa0 0000273b: SHL 0000273c: SUB 0000273d: AND 0000273e: DUP4 0000273f: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d 00002760: PUSH1 0x40 00002762: MLOAD 00002763: PUSH1 0x40 00002765: MLOAD 00002766: DUP1 00002767: SWAP2 00002768: SUB 00002769: SWAP1 0000276a: LOG4 0000276b: POP 0000276c: POP 0000276d: JUMP 0000276e: JUMPDEST 0000276f: PUSH1 0x00 00002771: DUP1 00002772: PUSH32 0x0000000000000000000000005f4ec3df9cbd43714fe2740f5e3616155c5b8419 00002793: PUSH1 0x01 00002795: PUSH1 0x01 00002797: PUSH1 0xa0 00002799: SHL 0000279a: SUB 0000279b: AND 0000279c: PUSH4 0xfeaf968c 000027a1: PUSH1 0x40 000027a3: MLOAD 000027a4: DUP2 000027a5: PUSH4 0xffffffff 000027aa: AND 000027ab: PUSH1 0xe0 000027ad: SHL 000027ae: DUP2 000027af: MSTORE 000027b0: PUSH1 0x04 000027b2: ADD 000027b3: PUSH1 0xa0 000027b5: PUSH1 0x40 000027b7: MLOAD 000027b8: DUP1 000027b9: DUP4 000027ba: SUB 000027bb: DUP2 000027bc: DUP7 000027bd: DUP1 000027be: EXTCODESIZE 000027bf: ISZERO 000027c0: DUP1 000027c1: ISZERO 000027c2: PUSH2 0x27ca 000027c5: JUMPI 000027c6: PUSH1 0x00 000027c8: DUP1 000027c9: REVERT 000027ca: JUMPDEST 000027cb: POP 000027cc: GAS 000027cd: STATICCALL 000027ce: ISZERO 000027cf: DUP1 000027d0: ISZERO 000027d1: PUSH2 0x27de 000027d4: JUMPI 000027d5: RETURNDATASIZE 000027d6: PUSH1 0x00 000027d8: DUP1 000027d9: RETURNDATACOPY 000027da: RETURNDATASIZE 000027db: PUSH1 0x00 000027dd: REVERT 000027de: JUMPDEST 000027df: POP 000027e0: POP 000027e1: POP 000027e2: POP 000027e3: PUSH1 0x40 000027e5: MLOAD 000027e6: RETURNDATASIZE 000027e7: PUSH1 0x1f 000027e9: NOT 000027ea: PUSH1 0x1f 000027ec: DUP3 000027ed: ADD 000027ee: AND 000027ef: DUP3 000027f0: ADD 000027f1: DUP1 000027f2: PUSH1 0x40 000027f4: MSTORE 000027f5: POP 000027f6: DUP2 000027f7: ADD 000027f8: SWAP1 000027f9: PUSH2 0x2802 000027fc: SWAP2 000027fd: SWAP1 000027fe: PUSH2 0x37a1 00002801: JUMP 00002802: JUMPDEST 00002803: POP 00002804: SWAP2 00002805: SWAP6 00002806: SWAP5 00002807: POP 00002808: POP 00002809: POP 0000280a: POP 0000280b: POP 0000280c: JUMP 0000280d: JUMPDEST 0000280e: PUSH1 0x00 00002810: PUSH1 0x64 00002812: PUSH1 0x0d 00002814: SLOAD 00002815: DUP4 00002816: PUSH2 0x281f 00002819: SWAP2 0000281a: SWAP1 0000281b: PUSH2 0x3aac 0000281e: JUMP 0000281f: JUMPDEST 00002820: PUSH2 0x0865 00002823: SWAP2 00002824: SWAP1 00002825: PUSH2 0x3a98 00002828: JUMP 00002829: JUMPDEST 0000282a: PUSH1 0x08 0000282c: SLOAD 0000282d: PUSH1 0x40 0000282f: MLOAD 00002830: PUSH4 0xd07a1c57 00002835: PUSH1 0xe0 00002837: SHL 00002838: DUP2 00002839: MSTORE 0000283a: PUSH1 0x04 0000283c: DUP2 0000283d: ADD 0000283e: DUP6 0000283f: SWAP1 00002840: MSTORE 00002841: PUSH1 0x24 00002843: DUP2 00002844: ADD 00002845: DUP5 00002846: SWAP1 00002847: MSTORE 00002848: PUSH1 0x44 0000284a: DUP2 0000284b: ADD 0000284c: DUP4 0000284d: SWAP1 0000284e: MSTORE 0000284f: PUSH1 0x00 00002851: SWAP2 00002852: DUP3 00002853: SWAP2 00002854: PUSH1 0x01 00002856: PUSH1 0x01 00002858: PUSH1 0xa0 0000285a: SHL 0000285b: SUB 0000285c: SWAP1 0000285d: SWAP2 0000285e: AND 0000285f: SWAP1 00002860: PUSH4 0xd07a1c57 00002865: SWAP1 00002866: PUSH1 0x64 00002868: ADD 00002869: PUSH1 0x40 0000286b: DUP1 0000286c: MLOAD 0000286d: DUP1 0000286e: DUP4 0000286f: SUB 00002870: DUP2 00002871: DUP7 00002872: DUP1 00002873: EXTCODESIZE 00002874: ISZERO 00002875: DUP1 00002876: ISZERO 00002877: PUSH2 0x287f 0000287a: JUMPI 0000287b: PUSH1 0x00 0000287d: DUP1 0000287e: REVERT 0000287f: JUMPDEST 00002880: POP 00002881: GAS 00002882: STATICCALL 00002883: ISZERO 00002884: DUP1 00002885: ISZERO 00002886: PUSH2 0x2893 00002889: JUMPI 0000288a: RETURNDATASIZE 0000288b: PUSH1 0x00 0000288d: DUP1 0000288e: RETURNDATACOPY 0000288f: RETURNDATASIZE 00002890: PUSH1 0x00 00002892: REVERT 00002893: JUMPDEST 00002894: POP 00002895: POP 00002896: POP 00002897: POP 00002898: PUSH1 0x40 0000289a: MLOAD 0000289b: RETURNDATASIZE 0000289c: PUSH1 0x1f 0000289e: NOT 0000289f: PUSH1 0x1f 000028a1: DUP3 000028a2: ADD 000028a3: AND 000028a4: DUP3 000028a5: ADD 000028a6: DUP1 000028a7: PUSH1 0x40 000028a9: MSTORE 000028aa: POP 000028ab: DUP2 000028ac: ADD 000028ad: SWAP1 000028ae: PUSH2 0x28b7 000028b1: SWAP2 000028b2: SWAP1 000028b3: PUSH2 0x3751 000028b6: JUMP 000028b7: JUMPDEST 000028b8: SWAP1 000028b9: SWAP3 000028ba: POP 000028bb: SWAP1 000028bc: POP 000028bd: PUSH2 0x28c8 000028c0: PUSH2 0x03e8 000028c3: DUP6 000028c4: PUSH2 0x3a98 000028c7: JUMP 000028c8: JUMPDEST 000028c9: PUSH2 0x28d2 000028cc: DUP3 000028cd: DUP5 000028ce: PUSH2 0x3a80 000028d1: JUMP 000028d2: JUMPDEST 000028d3: GT 000028d4: PUSH2 0x2014 000028d7: JUMPI 000028d8: PUSH1 0x40 000028da: MLOAD 000028db: PUSH3 0x461bcd 000028df: PUSH1 0xe5 000028e1: SHL 000028e2: DUP2 000028e3: MSTORE 000028e4: PUSH1 0x20 000028e6: PUSH1 0x04 000028e8: DUP3 000028e9: ADD 000028ea: MSTORE 000028eb: PUSH1 0x28 000028ed: PUSH1 0x24 000028ef: DUP3 000028f0: ADD 000028f1: MSTORE 000028f2: PUSH32 0x4865676963506f6f6c3a20546865206f7074696f6e2773207072696365206973 00002913: PUSH1 0x44 00002915: DUP3 00002916: ADD 00002917: MSTORE 00002918: PUSH8 0x20746f6f206c6f77 00002921: PUSH1 0xc0 00002923: SHL 00002924: PUSH1 0x64 00002926: DUP3 00002927: ADD 00002928: MSTORE 00002929: PUSH1 0x84 0000292b: ADD 0000292c: PUSH2 0x0972 0000292f: JUMP 00002930: JUMPDEST 00002931: PUSH1 0x40 00002933: MLOAD 00002934: PUSH1 0x01 00002936: PUSH1 0x01 00002938: PUSH1 0xa0 0000293a: SHL 0000293b: SUB 0000293c: DUP4 0000293d: AND 0000293e: PUSH1 0x24 00002940: DUP3 00002941: ADD 00002942: MSTORE 00002943: PUSH1 0x44 00002945: DUP2 00002946: ADD 00002947: DUP3 00002948: SWAP1 00002949: MSTORE 0000294a: PUSH2 0x0aa8 0000294d: SWAP1 0000294e: DUP5 0000294f: SWAP1 00002950: PUSH4 0xa9059cbb 00002955: PUSH1 0xe0 00002957: SHL 00002958: SWAP1 00002959: PUSH1 0x64 0000295b: ADD 0000295c: PUSH2 0x26b1 0000295f: JUMP 00002960: JUMPDEST 00002961: PUSH2 0x296a 00002964: DUP3 00002965: DUP3 00002966: PUSH2 0x1a10 00002969: JUMP 0000296a: JUMPDEST 0000296b: ISZERO 0000296c: PUSH2 0x139a 0000296f: JUMPI 00002970: PUSH1 0x00 00002972: DUP3 00002973: DUP2 00002974: MSTORE 00002975: PUSH1 0x06 00002977: PUSH1 0x20 00002979: SWAP1 0000297a: DUP2 0000297b: MSTORE 0000297c: PUSH1 0x40 0000297e: DUP1 0000297f: DUP4 00002980: KECCAK256 00002981: PUSH1 0x01 00002983: PUSH1 0x01 00002985: PUSH1 0xa0 00002987: SHL 00002988: SUB 00002989: DUP6 0000298a: AND 0000298b: DUP1 0000298c: DUP6 0000298d: MSTORE 0000298e: SWAP3 0000298f: MSTORE 00002990: DUP1 00002991: DUP4 00002992: KECCAK256 00002993: DUP1 00002994: SLOAD 00002995: PUSH1 0xff 00002997: NOT 00002998: AND 00002999: SWAP1 0000299a: SSTORE 0000299b: MLOAD 0000299c: CALLER 0000299d: SWAP3 0000299e: DUP6 0000299f: SWAP2 000029a0: PUSH32 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b 000029c1: SWAP2 000029c2: SWAP1 000029c3: LOG4 000029c4: POP 000029c5: POP 000029c6: JUMP 000029c7: JUMPDEST 000029c8: PUSH1 0x01 000029ca: DUP2 000029cb: SLOAD 000029cc: PUSH1 0xff 000029ce: AND 000029cf: PUSH1 0x03 000029d1: DUP2 000029d2: GT 000029d3: ISZERO 000029d4: PUSH2 0x29df 000029d7: JUMPI 000029d8: PUSH2 0x29df 000029db: PUSH2 0x3bbb 000029de: JUMP 000029df: JUMPDEST 000029e0: EQ 000029e1: PUSH2 0x2a67 000029e4: JUMPI 000029e5: PUSH1 0x40 000029e7: MLOAD 000029e8: PUSH3 0x461bcd 000029ec: PUSH1 0xe5 000029ee: SHL 000029ef: DUP2 000029f0: MSTORE 000029f1: PUSH1 0x20 000029f3: PUSH1 0x04 000029f5: DUP3 000029f6: ADD 000029f7: MSTORE 000029f8: PUSH1 0x4c 000029fa: PUSH1 0x24 000029fc: DUP3 000029fd: ADD 000029fe: MSTORE 000029ff: PUSH32 0x506f6f6c204572726f723a20546865206f7074696f6e20776974682073756368 00002a20: PUSH1 0x44 00002a22: DUP3 00002a23: ADD 00002a24: MSTORE 00002a25: PUSH32 0x20616e2049442068617320616c7265616479206265656e206578657263697365 00002a46: PUSH1 0x64 00002a48: DUP3 00002a49: ADD 00002a4a: MSTORE 00002a4b: PUSH12 0x19081bdc88195e1c1a5c9959 00002a58: PUSH1 0xa2 00002a5a: SHL 00002a5b: PUSH1 0x84 00002a5d: DUP3 00002a5e: ADD 00002a5f: MSTORE 00002a60: PUSH1 0xa4 00002a62: ADD 00002a63: PUSH2 0x0972 00002a66: JUMP 00002a67: JUMPDEST 00002a68: DUP1 00002a69: PUSH1 0x03 00002a6b: ADD 00002a6c: SLOAD 00002a6d: PUSH1 0x0e 00002a6f: PUSH1 0x00 00002a71: DUP3 00002a72: DUP3 00002a73: SLOAD 00002a74: PUSH2 0x2a7d 00002a77: SWAP2 00002a78: SWAP1 00002a79: PUSH2 0x3acb 00002a7c: JUMP 00002a7d: JUMPDEST 00002a7e: SWAP1 00002a7f: SWAP2 00002a80: SSTORE 00002a81: POP 00002a82: POP 00002a83: PUSH1 0x05 00002a85: DUP2 00002a86: ADD 00002a87: SLOAD 00002a88: PUSH1 0x14 00002a8a: DUP1 00002a8b: SLOAD 00002a8c: PUSH1 0x00 00002a8e: SWAP1 00002a8f: PUSH2 0x2a99 00002a92: SWAP1 00002a93: DUP5 00002a94: SWAP1 00002a95: PUSH2 0x3a80 00002a98: JUMP 00002a99: JUMPDEST 00002a9a: SWAP1 00002a9b: SWAP2 00002a9c: SSTORE 00002a9d: POP 00002a9e: POP 00002a9f: PUSH1 0x06 00002aa1: DUP2 00002aa2: ADD 00002aa3: SLOAD 00002aa4: PUSH1 0x13 00002aa6: DUP1 00002aa7: SLOAD 00002aa8: PUSH1 0x00 00002aaa: SWAP1 00002aab: PUSH2 0x2ab5 00002aae: SWAP1 00002aaf: DUP5 00002ab0: SWAP1 00002ab1: PUSH2 0x3a80 00002ab4: JUMP 00002ab5: JUMPDEST 00002ab6: SWAP1 00002ab7: SWAP2 00002ab8: SSTORE 00002ab9: POP 00002aba: POP 00002abb: POP 00002abc: JUMP 00002abd: JUMPDEST 00002abe: PUSH1 0x00 00002ac0: DUP1 00002ac1: PUSH2 0x2ac8 00002ac4: PUSH2 0x276e 00002ac7: JUMP 00002ac8: JUMPDEST 00002ac9: SWAP1 00002aca: POP 00002acb: DUP3 00002acc: PUSH1 0x20 00002ace: ADD 00002acf: MLOAD 00002ad0: DUP2 00002ad1: LT 00002ad2: ISZERO 00002ad3: PUSH2 0x2adf 00002ad6: JUMPI 00002ad7: POP 00002ad8: PUSH1 0x00 00002ada: SWAP3 00002adb: SWAP2 00002adc: POP 00002add: POP 00002ade: JUMP 00002adf: JUMPDEST 00002ae0: DUP1 00002ae1: DUP4 00002ae2: PUSH1 0x40 00002ae4: ADD 00002ae5: MLOAD 00002ae6: DUP5 00002ae7: PUSH1 0x20 00002ae9: ADD 00002aea: MLOAD 00002aeb: DUP4 00002aec: PUSH2 0x2af5 00002aef: SWAP2 00002af0: SWAP1 00002af1: PUSH2 0x3acb 00002af4: JUMP 00002af5: JUMPDEST 00002af6: PUSH2 0x2aff 00002af9: SWAP2 00002afa: SWAP1 00002afb: PUSH2 0x3aac 00002afe: JUMP 00002aff: JUMPDEST 00002b00: PUSH2 0x1ffa 00002b03: SWAP2 00002b04: SWAP1 00002b05: PUSH2 0x3a98 00002b08: JUMP 00002b09: JUMPDEST 00002b0a: PUSH2 0x139a 00002b0d: DUP3 00002b0e: DUP3 00002b0f: PUSH1 0x40 00002b11: MLOAD 00002b12: DUP1 00002b13: PUSH1 0x20 00002b15: ADD 00002b16: PUSH1 0x40 00002b18: MSTORE 00002b19: DUP1 00002b1a: PUSH1 0x00 00002b1c: DUP2 00002b1d: MSTORE 00002b1e: POP 00002b1f: PUSH2 0x2ff3 00002b22: JUMP 00002b23: JUMPDEST 00002b24: PUSH1 0x01 00002b26: PUSH1 0x01 00002b28: PUSH1 0xa0 00002b2a: SHL 00002b2b: SUB 00002b2c: DUP3 00002b2d: AND 00002b2e: PUSH2 0x2b36 00002b31: JUMPI 00002b32: PUSH1 0x00 00002b34: DUP1 00002b35: REVERT 00002b36: JUMPDEST 00002b37: PUSH1 0x00 00002b39: PUSH2 0x2b40 00002b3c: PUSH2 0x1b6d 00002b3f: JUMP 00002b40: JUMPDEST 00002b41: PUSH1 0x14 00002b43: SLOAD 00002b44: PUSH2 0x2b4d 00002b47: SWAP1 00002b48: DUP5 00002b49: PUSH2 0x3aac 00002b4c: JUMP 00002b4d: JUMPDEST 00002b4e: PUSH2 0x2b57 00002b51: SWAP2 00002b52: SWAP1 00002b53: PUSH2 0x3a98 00002b56: JUMP 00002b57: JUMPDEST 00002b58: SWAP1 00002b59: POP 00002b5a: PUSH1 0x00 00002b5c: PUSH2 0x2b65 00002b5f: DUP3 00002b60: DUP5 00002b61: PUSH2 0x3acb 00002b64: JUMP 00002b65: JUMPDEST 00002b66: SWAP1 00002b67: POP 00002b68: DUP2 00002b69: PUSH1 0x14 00002b6b: PUSH1 0x00 00002b6d: DUP3 00002b6e: DUP3 00002b6f: SLOAD 00002b70: PUSH2 0x2b79 00002b73: SWAP2 00002b74: SWAP1 00002b75: PUSH2 0x3acb 00002b78: JUMP 00002b79: JUMPDEST 00002b7a: SWAP3 00002b7b: POP 00002b7c: POP 00002b7d: DUP2 00002b7e: SWAP1 00002b7f: SSTORE 00002b80: POP 00002b81: DUP1 00002b82: PUSH1 0x13 00002b84: PUSH1 0x00 00002b86: DUP3 00002b87: DUP3 00002b88: SLOAD 00002b89: PUSH2 0x2b92 00002b8c: SWAP2 00002b8d: SWAP1 00002b8e: PUSH2 0x3acb 00002b91: JUMP 00002b92: JUMPDEST 00002b93: SWAP1 00002b94: SWAP2 00002b95: SSTORE 00002b96: POP 00002b97: POP 00002b98: PUSH1 0x19 00002b9a: SLOAD 00002b9b: PUSH2 0x1f13 00002b9e: SWAP1 00002b9f: PUSH1 0x01 00002ba1: PUSH1 0x01 00002ba3: PUSH1 0xa0 00002ba5: SHL 00002ba6: SUB 00002ba7: AND 00002ba8: DUP6 00002ba9: DUP6 00002baa: PUSH2 0x2930 00002bad: JUMP 00002bae: JUMPDEST 00002baf: PUSH2 0x2bb9 00002bb2: DUP5 00002bb3: DUP5 00002bb4: DUP5 00002bb5: PUSH2 0x24d2 00002bb8: JUMP 00002bb9: JUMPDEST 00002bba: PUSH2 0x2bc5 00002bbd: DUP5 00002bbe: DUP5 00002bbf: DUP5 00002bc0: DUP5 00002bc1: PUSH2 0x3026 00002bc4: JUMP 00002bc5: JUMPDEST 00002bc6: PUSH2 0x1f13 00002bc9: JUMPI 00002bca: PUSH1 0x40 00002bcc: MLOAD 00002bcd: PUSH3 0x461bcd 00002bd1: PUSH1 0xe5 00002bd3: SHL 00002bd4: DUP2 00002bd5: MSTORE 00002bd6: PUSH1 0x04 00002bd8: ADD 00002bd9: PUSH2 0x0972 00002bdc: SWAP1 00002bdd: PUSH2 0x39a6 00002be0: JUMP 00002be1: JUMPDEST 00002be2: PUSH1 0x60 00002be4: DUP2 00002be5: PUSH2 0x2c05 00002be8: JUMPI 00002be9: POP 00002bea: POP 00002beb: PUSH1 0x40 00002bed: DUP1 00002bee: MLOAD 00002bef: DUP1 00002bf0: DUP3 00002bf1: ADD 00002bf2: SWAP1 00002bf3: SWAP2 00002bf4: MSTORE 00002bf5: PUSH1 0x01 00002bf7: DUP2 00002bf8: MSTORE 00002bf9: PUSH1 0x03 00002bfb: PUSH1 0xfc 00002bfd: SHL 00002bfe: PUSH1 0x20 00002c00: DUP3 00002c01: ADD 00002c02: MSTORE 00002c03: SWAP1 00002c04: JUMP 00002c05: JUMPDEST 00002c06: DUP2 00002c07: PUSH1 0x00 00002c09: JUMPDEST 00002c0a: DUP2 00002c0b: ISZERO 00002c0c: PUSH2 0x2c2f 00002c0f: JUMPI 00002c10: DUP1 00002c11: PUSH2 0x2c19 00002c14: DUP2 00002c15: PUSH2 0x3b60 00002c18: JUMP 00002c19: JUMPDEST 00002c1a: SWAP2 00002c1b: POP 00002c1c: PUSH2 0x2c28 00002c1f: SWAP1 00002c20: POP 00002c21: PUSH1 0x0a 00002c23: DUP4 00002c24: PUSH2 0x3a98 00002c27: JUMP 00002c28: JUMPDEST 00002c29: SWAP2 00002c2a: POP 00002c2b: PUSH2 0x2c09 00002c2e: JUMP 00002c2f: JUMPDEST 00002c30: PUSH1 0x00 00002c32: DUP2 00002c33: PUSH8 0xffffffffffffffff 00002c3c: DUP2 00002c3d: GT 00002c3e: ISZERO 00002c3f: PUSH2 0x2c4a 00002c42: JUMPI 00002c43: PUSH2 0x2c4a 00002c46: PUSH2 0x3be7 00002c49: JUMP 00002c4a: JUMPDEST 00002c4b: PUSH1 0x40 00002c4d: MLOAD 00002c4e: SWAP1 00002c4f: DUP1 00002c50: DUP3 00002c51: MSTORE 00002c52: DUP1 00002c53: PUSH1 0x1f 00002c55: ADD 00002c56: PUSH1 0x1f 00002c58: NOT 00002c59: AND 00002c5a: PUSH1 0x20 00002c5c: ADD 00002c5d: DUP3 00002c5e: ADD 00002c5f: PUSH1 0x40 00002c61: MSTORE 00002c62: DUP1 00002c63: ISZERO 00002c64: PUSH2 0x2c74 00002c67: JUMPI 00002c68: PUSH1 0x20 00002c6a: DUP3 00002c6b: ADD 00002c6c: DUP2 00002c6d: DUP1 00002c6e: CALLDATASIZE 00002c6f: DUP4 00002c70: CALLDATACOPY 00002c71: ADD 00002c72: SWAP1 00002c73: POP 00002c74: JUMPDEST 00002c75: POP 00002c76: SWAP1 00002c77: POP 00002c78: JUMPDEST 00002c79: DUP5 00002c7a: ISZERO 00002c7b: PUSH2 0x24ca 00002c7e: JUMPI 00002c7f: PUSH2 0x2c89 00002c82: PUSH1 0x01 00002c84: DUP4 00002c85: PUSH2 0x3acb 00002c88: JUMP 00002c89: JUMPDEST 00002c8a: SWAP2 00002c8b: POP 00002c8c: PUSH2 0x2c96 00002c8f: PUSH1 0x0a 00002c91: DUP7 00002c92: PUSH2 0x3b7b 00002c95: JUMP 00002c96: JUMPDEST 00002c97: PUSH2 0x2ca1 00002c9a: SWAP1 00002c9b: PUSH1 0x30 00002c9d: PUSH2 0x3a80 00002ca0: JUMP 00002ca1: JUMPDEST 00002ca2: PUSH1 0xf8 00002ca4: SHL 00002ca5: DUP2 00002ca6: DUP4 00002ca7: DUP2 00002ca8: MLOAD 00002ca9: DUP2 00002caa: LT 00002cab: PUSH2 0x2cb6 00002cae: JUMPI 00002caf: PUSH2 0x2cb6 00002cb2: PUSH2 0x3bd1 00002cb5: JUMP 00002cb6: JUMPDEST 00002cb7: PUSH1 0x20 00002cb9: ADD 00002cba: ADD 00002cbb: SWAP1 00002cbc: PUSH1 0x01 00002cbe: PUSH1 0x01 00002cc0: PUSH1 0xf8 00002cc2: SHL 00002cc3: SUB 00002cc4: NOT 00002cc5: AND 00002cc6: SWAP1 00002cc7: DUP2 00002cc8: PUSH1 0x00 00002cca: BYTE 00002ccb: SWAP1 00002ccc: MSTORE8 00002ccd: POP 00002cce: PUSH2 0x2cd8 00002cd1: PUSH1 0x0a 00002cd3: DUP7 00002cd4: PUSH2 0x3a98 00002cd7: JUMP 00002cd8: JUMPDEST 00002cd9: SWAP5 00002cda: POP 00002cdb: PUSH2 0x2c78 00002cde: JUMP 00002cdf: JUMPDEST 00002ce0: PUSH1 0x60 00002ce2: PUSH1 0x00 00002ce4: PUSH2 0x2cee 00002ce7: DUP4 00002ce8: PUSH1 0x02 00002cea: PUSH2 0x3aac 00002ced: JUMP 00002cee: JUMPDEST 00002cef: PUSH2 0x2cf9 00002cf2: SWAP1 00002cf3: PUSH1 0x02 00002cf5: PUSH2 0x3a80 00002cf8: JUMP 00002cf9: JUMPDEST 00002cfa: PUSH8 0xffffffffffffffff 00002d03: DUP2 00002d04: GT 00002d05: ISZERO 00002d06: PUSH2 0x2d11 00002d09: JUMPI 00002d0a: PUSH2 0x2d11 00002d0d: PUSH2 0x3be7 00002d10: JUMP 00002d11: JUMPDEST 00002d12: PUSH1 0x40 00002d14: MLOAD 00002d15: SWAP1 00002d16: DUP1 00002d17: DUP3 00002d18: MSTORE 00002d19: DUP1 00002d1a: PUSH1 0x1f 00002d1c: ADD 00002d1d: PUSH1 0x1f 00002d1f: NOT 00002d20: AND 00002d21: PUSH1 0x20 00002d23: ADD 00002d24: DUP3 00002d25: ADD 00002d26: PUSH1 0x40 00002d28: MSTORE 00002d29: DUP1 00002d2a: ISZERO 00002d2b: PUSH2 0x2d3b 00002d2e: JUMPI 00002d2f: PUSH1 0x20 00002d31: DUP3 00002d32: ADD 00002d33: DUP2 00002d34: DUP1 00002d35: CALLDATASIZE 00002d36: DUP4 00002d37: CALLDATACOPY 00002d38: ADD 00002d39: SWAP1 00002d3a: POP 00002d3b: JUMPDEST 00002d3c: POP 00002d3d: SWAP1 00002d3e: POP 00002d3f: PUSH1 0x03 00002d41: PUSH1 0xfc 00002d43: SHL 00002d44: DUP2 00002d45: PUSH1 0x00 00002d47: DUP2 00002d48: MLOAD 00002d49: DUP2 00002d4a: LT 00002d4b: PUSH2 0x2d56 00002d4e: JUMPI 00002d4f: PUSH2 0x2d56 00002d52: PUSH2 0x3bd1 00002d55: JUMP 00002d56: JUMPDEST 00002d57: PUSH1 0x20 00002d59: ADD 00002d5a: ADD 00002d5b: SWAP1 00002d5c: PUSH1 0x01 00002d5e: PUSH1 0x01 00002d60: PUSH1 0xf8 00002d62: SHL 00002d63: SUB 00002d64: NOT 00002d65: AND 00002d66: SWAP1 00002d67: DUP2 00002d68: PUSH1 0x00 00002d6a: BYTE 00002d6b: SWAP1 00002d6c: MSTORE8 00002d6d: POP 00002d6e: PUSH1 0x0f 00002d70: PUSH1 0xfb 00002d72: SHL 00002d73: DUP2 00002d74: PUSH1 0x01 00002d76: DUP2 00002d77: MLOAD 00002d78: DUP2 00002d79: LT 00002d7a: PUSH2 0x2d85 00002d7d: JUMPI 00002d7e: PUSH2 0x2d85 00002d81: PUSH2 0x3bd1 00002d84: JUMP 00002d85: JUMPDEST 00002d86: PUSH1 0x20 00002d88: ADD 00002d89: ADD 00002d8a: SWAP1 00002d8b: PUSH1 0x01 00002d8d: PUSH1 0x01 00002d8f: PUSH1 0xf8 00002d91: SHL 00002d92: SUB 00002d93: NOT 00002d94: AND 00002d95: SWAP1 00002d96: DUP2 00002d97: PUSH1 0x00 00002d99: BYTE 00002d9a: SWAP1 00002d9b: MSTORE8 00002d9c: POP 00002d9d: PUSH1 0x00 00002d9f: PUSH2 0x2da9 00002da2: DUP5 00002da3: PUSH1 0x02 00002da5: PUSH2 0x3aac 00002da8: JUMP 00002da9: JUMPDEST 00002daa: PUSH2 0x2db4 00002dad: SWAP1 00002dae: PUSH1 0x01 00002db0: PUSH2 0x3a80 00002db3: JUMP 00002db4: JUMPDEST 00002db5: SWAP1 00002db6: POP 00002db7: JUMPDEST 00002db8: PUSH1 0x01 00002dba: DUP2 00002dbb: GT 00002dbc: ISZERO 00002dbd: PUSH2 0x2e2c 00002dc0: JUMPI 00002dc1: PUSH16 0x181899199a1a9b1b9c1cb0b131b232b3 00002dd2: PUSH1 0x81 00002dd4: SHL 00002dd5: DUP6 00002dd6: PUSH1 0x0f 00002dd8: AND 00002dd9: PUSH1 0x10 00002ddb: DUP2 00002ddc: LT 00002ddd: PUSH2 0x2de8 00002de0: JUMPI 00002de1: PUSH2 0x2de8 00002de4: PUSH2 0x3bd1 00002de7: JUMP 00002de8: JUMPDEST 00002de9: BYTE 00002dea: PUSH1 0xf8 00002dec: SHL 00002ded: DUP3 00002dee: DUP3 00002def: DUP2 00002df0: MLOAD 00002df1: DUP2 00002df2: LT 00002df3: PUSH2 0x2dfe 00002df6: JUMPI 00002df7: PUSH2 0x2dfe 00002dfa: PUSH2 0x3bd1 00002dfd: JUMP 00002dfe: JUMPDEST 00002dff: PUSH1 0x20 00002e01: ADD 00002e02: ADD 00002e03: SWAP1 00002e04: PUSH1 0x01 00002e06: PUSH1 0x01 00002e08: PUSH1 0xf8 00002e0a: SHL 00002e0b: SUB 00002e0c: NOT 00002e0d: AND 00002e0e: SWAP1 00002e0f: DUP2 00002e10: PUSH1 0x00 00002e12: BYTE 00002e13: SWAP1 00002e14: MSTORE8 00002e15: POP 00002e16: PUSH1 0x04 00002e18: SWAP5 00002e19: SWAP1 00002e1a: SWAP5 00002e1b: SHR 00002e1c: SWAP4 00002e1d: PUSH2 0x2e25 00002e20: DUP2 00002e21: PUSH2 0x3b0e 00002e24: JUMP 00002e25: JUMPDEST 00002e26: SWAP1 00002e27: POP 00002e28: PUSH2 0x2db7 00002e2b: JUMP 00002e2c: JUMPDEST 00002e2d: POP 00002e2e: DUP4 00002e2f: ISZERO 00002e30: PUSH2 0x1ffa 00002e33: JUMPI 00002e34: PUSH1 0x40 00002e36: MLOAD 00002e37: PUSH3 0x461bcd 00002e3b: PUSH1 0xe5 00002e3d: SHL 00002e3e: DUP2 00002e3f: MSTORE 00002e40: PUSH1 0x20 00002e42: PUSH1 0x04 00002e44: DUP3 00002e45: ADD 00002e46: DUP2 00002e47: SWAP1 00002e48: MSTORE 00002e49: PUSH1 0x24 00002e4b: DUP3 00002e4c: ADD 00002e4d: MSTORE 00002e4e: PUSH32 0x537472696e67733a20686578206c656e67746820696e73756666696369656e74 00002e6f: PUSH1 0x44 00002e71: DUP3 00002e72: ADD 00002e73: MSTORE 00002e74: PUSH1 0x64 00002e76: ADD 00002e77: PUSH2 0x0972 00002e7a: JUMP 00002e7b: JUMPDEST 00002e7c: PUSH1 0x01 00002e7e: PUSH1 0x17 00002e80: DUP3 00002e81: DUP2 00002e82: SLOAD 00002e83: DUP2 00002e84: LT 00002e85: PUSH2 0x2e90 00002e88: JUMPI 00002e89: PUSH2 0x2e90 00002e8c: PUSH2 0x3bd1 00002e8f: JUMP 00002e90: JUMPDEST 00002e91: PUSH1 0x00 00002e93: SWAP2 00002e94: DUP3 00002e95: MSTORE 00002e96: PUSH1 0x20 00002e98: SWAP1 00002e99: SWAP2 00002e9a: KECCAK256 00002e9b: PUSH1 0x05 00002e9d: SWAP1 00002e9e: SWAP2 00002e9f: MUL 00002ea0: ADD 00002ea1: SLOAD 00002ea2: PUSH1 0xff 00002ea4: AND 00002ea5: PUSH1 0x02 00002ea7: DUP2 00002ea8: GT 00002ea9: ISZERO 00002eaa: PUSH2 0x2eb5 00002ead: JUMPI 00002eae: PUSH2 0x2eb5 00002eb1: PUSH2 0x3bbb 00002eb4: JUMP 00002eb5: JUMPDEST 00002eb6: EQ 00002eb7: PUSH2 0x0aa8 00002eba: JUMPI 00002ebb: PUSH1 0x40 00002ebd: MLOAD 00002ebe: PUSH3 0x461bcd 00002ec2: PUSH1 0xe5 00002ec4: SHL 00002ec5: DUP2 00002ec6: MSTORE 00002ec7: PUSH1 0x20 00002ec9: PUSH1 0x04 00002ecb: DUP3 00002ecc: ADD 00002ecd: MSTORE 00002ece: PUSH1 0x36 00002ed0: PUSH1 0x24 00002ed2: DUP3 00002ed3: ADD 00002ed4: MSTORE 00002ed5: PUSH32 0x506f6f6c204572726f723a2054686520636c6f736564207472616e6368657320 00002ef6: PUSH1 0x44 00002ef8: DUP3 00002ef9: ADD 00002efa: MSTORE 00002efb: PUSH22 0x18d85b881b9bdd081899481d1c985b9cd9995c9c9959 00002f12: PUSH1 0x52 00002f14: SHL 00002f15: PUSH1 0x64 00002f17: DUP3 00002f18: ADD 00002f19: MSTORE 00002f1a: PUSH1 0x84 00002f1c: ADD 00002f1d: PUSH2 0x0972 00002f20: JUMP 00002f21: JUMPDEST 00002f22: PUSH1 0x00 00002f24: PUSH2 0x2f76 00002f27: DUP3 00002f28: PUSH1 0x40 00002f2a: MLOAD 00002f2b: DUP1 00002f2c: PUSH1 0x40 00002f2e: ADD 00002f2f: PUSH1 0x40 00002f31: MSTORE 00002f32: DUP1 00002f33: PUSH1 0x20 00002f35: DUP2 00002f36: MSTORE 00002f37: PUSH1 0x20 00002f39: ADD 00002f3a: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 00002f5b: DUP2 00002f5c: MSTORE 00002f5d: POP 00002f5e: DUP6 00002f5f: PUSH1 0x01 00002f61: PUSH1 0x01 00002f63: PUSH1 0xa0 00002f65: SHL 00002f66: SUB 00002f67: AND 00002f68: PUSH2 0x3133 00002f6b: SWAP1 00002f6c: SWAP3 00002f6d: SWAP2 00002f6e: SWAP1 00002f6f: PUSH4 0xffffffff 00002f74: AND 00002f75: JUMP 00002f76: JUMPDEST 00002f77: DUP1 00002f78: MLOAD 00002f79: SWAP1 00002f7a: SWAP2 00002f7b: POP 00002f7c: ISZERO 00002f7d: PUSH2 0x0aa8 00002f80: JUMPI 00002f81: DUP1 00002f82: DUP1 00002f83: PUSH1 0x20 00002f85: ADD 00002f86: SWAP1 00002f87: MLOAD 00002f88: DUP2 00002f89: ADD 00002f8a: SWAP1 00002f8b: PUSH2 0x2f94 00002f8e: SWAP2 00002f8f: SWAP1 00002f90: PUSH2 0x3681 00002f93: JUMP 00002f94: JUMPDEST 00002f95: PUSH2 0x0aa8 00002f98: JUMPI 00002f99: PUSH1 0x40 00002f9b: MLOAD 00002f9c: PUSH3 0x461bcd 00002fa0: PUSH1 0xe5 00002fa2: SHL 00002fa3: DUP2 00002fa4: MSTORE 00002fa5: PUSH1 0x20 00002fa7: PUSH1 0x04 00002fa9: DUP3 00002faa: ADD 00002fab: MSTORE 00002fac: PUSH1 0x2a 00002fae: PUSH1 0x24 00002fb0: DUP3 00002fb1: ADD 00002fb2: MSTORE 00002fb3: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e 00002fd4: PUSH1 0x44 00002fd6: DUP3 00002fd7: ADD 00002fd8: MSTORE 00002fd9: PUSH10 0x1bdd081cdd58d8d95959 00002fe4: PUSH1 0xb2 00002fe6: SHL 00002fe7: PUSH1 0x64 00002fe9: DUP3 00002fea: ADD 00002feb: MSTORE 00002fec: PUSH1 0x84 00002fee: ADD 00002fef: PUSH2 0x0972 00002ff2: JUMP 00002ff3: JUMPDEST 00002ff4: PUSH2 0x2ffd 00002ff7: DUP4 00002ff8: DUP4 00002ff9: PUSH2 0x3142 00002ffc: JUMP 00002ffd: JUMPDEST 00002ffe: PUSH2 0x300a 00003001: PUSH1 0x00 00003003: DUP5 00003004: DUP5 00003005: DUP5 00003006: PUSH2 0x3026 00003009: JUMP 0000300a: JUMPDEST 0000300b: PUSH2 0x0aa8 0000300e: JUMPI 0000300f: PUSH1 0x40 00003011: MLOAD 00003012: PUSH3 0x461bcd 00003016: PUSH1 0xe5 00003018: SHL 00003019: DUP2 0000301a: MSTORE 0000301b: PUSH1 0x04 0000301d: ADD 0000301e: PUSH2 0x0972 00003021: SWAP1 00003022: PUSH2 0x39a6 00003025: JUMP 00003026: JUMPDEST 00003027: PUSH1 0x00 00003029: PUSH1 0x01 0000302b: PUSH1 0x01 0000302d: PUSH1 0xa0 0000302f: SHL 00003030: SUB 00003031: DUP5 00003032: AND 00003033: EXTCODESIZE 00003034: ISZERO 00003035: PUSH2 0x3128 00003038: JUMPI 00003039: PUSH1 0x40 0000303b: MLOAD 0000303c: PUSH4 0x0a85bd01 00003041: PUSH1 0xe1 00003043: SHL 00003044: DUP2 00003045: MSTORE 00003046: PUSH1 0x01 00003048: PUSH1 0x01 0000304a: PUSH1 0xa0 0000304c: SHL 0000304d: SUB 0000304e: DUP6 0000304f: AND 00003050: SWAP1 00003051: PUSH4 0x150b7a02 00003056: SWAP1 00003057: PUSH2 0x306a 0000305a: SWAP1 0000305b: CALLER 0000305c: SWAP1 0000305d: DUP10 0000305e: SWAP1 0000305f: DUP9 00003060: SWAP1 00003061: DUP9 00003062: SWAP1 00003063: PUSH1 0x04 00003065: ADD 00003066: PUSH2 0x38dd 00003069: JUMP 0000306a: JUMPDEST 0000306b: PUSH1 0x20 0000306d: PUSH1 0x40 0000306f: MLOAD 00003070: DUP1 00003071: DUP4 00003072: SUB 00003073: DUP2 00003074: PUSH1 0x00 00003076: DUP8 00003077: DUP1 00003078: EXTCODESIZE 00003079: ISZERO 0000307a: DUP1 0000307b: ISZERO 0000307c: PUSH2 0x3084 0000307f: JUMPI 00003080: PUSH1 0x00 00003082: DUP1 00003083: REVERT 00003084: JUMPDEST 00003085: POP 00003086: GAS 00003087: CALL 00003088: SWAP3 00003089: POP 0000308a: POP 0000308b: POP 0000308c: DUP1 0000308d: ISZERO 0000308e: PUSH2 0x30b4 00003091: JUMPI 00003092: POP 00003093: PUSH1 0x40 00003095: DUP1 00003096: MLOAD 00003097: PUSH1 0x1f 00003099: RETURNDATASIZE 0000309a: SWAP1 0000309b: DUP2 0000309c: ADD 0000309d: PUSH1 0x1f 0000309f: NOT 000030a0: AND 000030a1: DUP3 000030a2: ADD 000030a3: SWAP1 000030a4: SWAP3 000030a5: MSTORE 000030a6: PUSH2 0x30b1 000030a9: SWAP2 000030aa: DUP2 000030ab: ADD 000030ac: SWAP1 000030ad: PUSH2 0x36f9 000030b0: JUMP 000030b1: JUMPDEST 000030b2: PUSH1 0x01 000030b4: JUMPDEST 000030b5: PUSH2 0x310e 000030b8: JUMPI 000030b9: RETURNDATASIZE 000030ba: DUP1 000030bb: DUP1 000030bc: ISZERO 000030bd: PUSH2 0x30e2 000030c0: JUMPI 000030c1: PUSH1 0x40 000030c3: MLOAD 000030c4: SWAP2 000030c5: POP 000030c6: PUSH1 0x1f 000030c8: NOT 000030c9: PUSH1 0x3f 000030cb: RETURNDATASIZE 000030cc: ADD 000030cd: AND 000030ce: DUP3 000030cf: ADD 000030d0: PUSH1 0x40 000030d2: MSTORE 000030d3: RETURNDATASIZE 000030d4: DUP3 000030d5: MSTORE 000030d6: RETURNDATASIZE 000030d7: PUSH1 0x00 000030d9: PUSH1 0x20 000030db: DUP5 000030dc: ADD 000030dd: RETURNDATACOPY 000030de: PUSH2 0x30e7 000030e1: JUMP 000030e2: JUMPDEST 000030e3: PUSH1 0x60 000030e5: SWAP2 000030e6: POP 000030e7: JUMPDEST 000030e8: POP 000030e9: DUP1 000030ea: MLOAD 000030eb: PUSH2 0x3106 000030ee: JUMPI 000030ef: PUSH1 0x40 000030f1: MLOAD 000030f2: PUSH3 0x461bcd 000030f6: PUSH1 0xe5 000030f8: SHL 000030f9: DUP2 000030fa: MSTORE 000030fb: PUSH1 0x04 000030fd: ADD 000030fe: PUSH2 0x0972 00003101: SWAP1 00003102: PUSH2 0x39a6 00003105: JUMP 00003106: JUMPDEST 00003107: DUP1 00003108: MLOAD 00003109: DUP2 0000310a: PUSH1 0x20 0000310c: ADD 0000310d: REVERT 0000310e: JUMPDEST 0000310f: PUSH1 0x01 00003111: PUSH1 0x01 00003113: PUSH1 0xe0 00003115: SHL 00003116: SUB 00003117: NOT 00003118: AND 00003119: PUSH4 0x0a85bd01 0000311e: PUSH1 0xe1 00003120: SHL 00003121: EQ 00003122: SWAP1 00003123: POP 00003124: PUSH2 0x24ca 00003127: JUMP 00003128: JUMPDEST 00003129: POP 0000312a: PUSH1 0x01 0000312c: SWAP5 0000312d: SWAP4 0000312e: POP 0000312f: POP 00003130: POP 00003131: POP 00003132: JUMP 00003133: JUMPDEST 00003134: PUSH1 0x60 00003136: PUSH2 0x24ca 00003139: DUP5 0000313a: DUP5 0000313b: PUSH1 0x00 0000313d: DUP6 0000313e: PUSH2 0x3290 00003141: JUMP 00003142: JUMPDEST 00003143: PUSH1 0x01 00003145: PUSH1 0x01 00003147: PUSH1 0xa0 00003149: SHL 0000314a: SUB 0000314b: DUP3 0000314c: AND 0000314d: PUSH2 0x3198 00003150: JUMPI 00003151: PUSH1 0x40 00003153: MLOAD 00003154: PUSH3 0x461bcd 00003158: PUSH1 0xe5 0000315a: SHL 0000315b: DUP2 0000315c: MSTORE 0000315d: PUSH1 0x20 0000315f: PUSH1 0x04 00003161: DUP3 00003162: ADD 00003163: DUP2 00003164: SWAP1 00003165: MSTORE 00003166: PUSH1 0x24 00003168: DUP3 00003169: ADD 0000316a: MSTORE 0000316b: PUSH32 0x4552433732313a206d696e7420746f20746865207a65726f2061646472657373 0000318c: PUSH1 0x44 0000318e: DUP3 0000318f: ADD 00003190: MSTORE 00003191: PUSH1 0x64 00003193: ADD 00003194: PUSH2 0x0972 00003197: JUMP 00003198: JUMPDEST 00003199: PUSH1 0x00 0000319b: DUP2 0000319c: DUP2 0000319d: MSTORE 0000319e: PUSH1 0x02 000031a0: PUSH1 0x20 000031a2: MSTORE 000031a3: PUSH1 0x40 000031a5: SWAP1 000031a6: KECCAK256 000031a7: SLOAD 000031a8: PUSH1 0x01 000031aa: PUSH1 0x01 000031ac: PUSH1 0xa0 000031ae: SHL 000031af: SUB 000031b0: AND 000031b1: ISZERO 000031b2: PUSH2 0x31fd 000031b5: JUMPI 000031b6: PUSH1 0x40 000031b8: MLOAD 000031b9: PUSH3 0x461bcd 000031bd: PUSH1 0xe5 000031bf: SHL 000031c0: DUP2 000031c1: MSTORE 000031c2: PUSH1 0x20 000031c4: PUSH1 0x04 000031c6: DUP3 000031c7: ADD 000031c8: MSTORE 000031c9: PUSH1 0x1c 000031cb: PUSH1 0x24 000031cd: DUP3 000031ce: ADD 000031cf: MSTORE 000031d0: PUSH32 0x4552433732313a20746f6b656e20616c7265616479206d696e74656400000000 000031f1: PUSH1 0x44 000031f3: DUP3 000031f4: ADD 000031f5: MSTORE 000031f6: PUSH1 0x64 000031f8: ADD 000031f9: PUSH2 0x0972 000031fc: JUMP 000031fd: JUMPDEST 000031fe: PUSH2 0x3209 00003201: PUSH1 0x00 00003203: DUP4 00003204: DUP4 00003205: PUSH2 0x2e7b 00003208: JUMP 00003209: JUMPDEST 0000320a: PUSH1 0x01 0000320c: PUSH1 0x01 0000320e: PUSH1 0xa0 00003210: SHL 00003211: SUB 00003212: DUP3 00003213: AND 00003214: PUSH1 0x00 00003216: SWAP1 00003217: DUP2 00003218: MSTORE 00003219: PUSH1 0x03 0000321b: PUSH1 0x20 0000321d: MSTORE 0000321e: PUSH1 0x40 00003220: DUP2 00003221: KECCAK256 00003222: DUP1 00003223: SLOAD 00003224: PUSH1 0x01 00003226: SWAP3 00003227: SWAP1 00003228: PUSH2 0x3232 0000322b: SWAP1 0000322c: DUP5 0000322d: SWAP1 0000322e: PUSH2 0x3a80 00003231: JUMP 00003232: JUMPDEST 00003233: SWAP1 00003234: SWAP2 00003235: SSTORE 00003236: POP 00003237: POP 00003238: PUSH1 0x00 0000323a: DUP2 0000323b: DUP2 0000323c: MSTORE 0000323d: PUSH1 0x02 0000323f: PUSH1 0x20 00003241: MSTORE 00003242: PUSH1 0x40 00003244: DUP1 00003245: DUP3 00003246: KECCAK256 00003247: DUP1 00003248: SLOAD 00003249: PUSH1 0x01 0000324b: PUSH1 0x01 0000324d: PUSH1 0xa0 0000324f: SHL 00003250: SUB 00003251: NOT 00003252: AND 00003253: PUSH1 0x01 00003255: PUSH1 0x01 00003257: PUSH1 0xa0 00003259: SHL 0000325a: SUB 0000325b: DUP7 0000325c: AND 0000325d: SWAP1 0000325e: DUP2 0000325f: OR 00003260: SWAP1 00003261: SWAP2 00003262: SSTORE 00003263: SWAP1 00003264: MLOAD 00003265: DUP4 00003266: SWAP3 00003267: SWAP1 00003268: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00003289: SWAP1 0000328a: DUP3 0000328b: SWAP1 0000328c: LOG4 0000328d: POP 0000328e: POP 0000328f: JUMP 00003290: JUMPDEST 00003291: PUSH1 0x60 00003293: DUP3 00003294: SELFBALANCE 00003295: LT 00003296: ISZERO 00003297: PUSH2 0x32f1 0000329a: JUMPI 0000329b: PUSH1 0x40 0000329d: MLOAD 0000329e: PUSH3 0x461bcd 000032a2: PUSH1 0xe5 000032a4: SHL 000032a5: DUP2 000032a6: MSTORE 000032a7: PUSH1 0x20 000032a9: PUSH1 0x04 000032ab: DUP3 000032ac: ADD 000032ad: MSTORE 000032ae: PUSH1 0x26 000032b0: PUSH1 0x24 000032b2: DUP3 000032b3: ADD 000032b4: MSTORE 000032b5: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f 000032d6: PUSH1 0x44 000032d8: DUP3 000032d9: ADD 000032da: MSTORE 000032db: PUSH6 0x1c8818d85b1b 000032e2: PUSH1 0xd2 000032e4: SHL 000032e5: PUSH1 0x64 000032e7: DUP3 000032e8: ADD 000032e9: MSTORE 000032ea: PUSH1 0x84 000032ec: ADD 000032ed: PUSH2 0x0972 000032f0: JUMP 000032f1: JUMPDEST 000032f2: DUP5 000032f3: EXTCODESIZE 000032f4: PUSH2 0x333f 000032f7: JUMPI 000032f8: PUSH1 0x40 000032fa: MLOAD 000032fb: PUSH3 0x461bcd 000032ff: PUSH1 0xe5 00003301: SHL 00003302: DUP2 00003303: MSTORE 00003304: PUSH1 0x20 00003306: PUSH1 0x04 00003308: DUP3 00003309: ADD 0000330a: MSTORE 0000330b: PUSH1 0x1d 0000330d: PUSH1 0x24 0000330f: DUP3 00003310: ADD 00003311: MSTORE 00003312: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 00003333: PUSH1 0x44 00003335: DUP3 00003336: ADD 00003337: MSTORE 00003338: PUSH1 0x64 0000333a: ADD 0000333b: PUSH2 0x0972 0000333e: JUMP 0000333f: JUMPDEST 00003340: PUSH1 0x00 00003342: DUP1 00003343: DUP7 00003344: PUSH1 0x01 00003346: PUSH1 0x01 00003348: PUSH1 0xa0 0000334a: SHL 0000334b: SUB 0000334c: AND 0000334d: DUP6 0000334e: DUP8 0000334f: PUSH1 0x40 00003351: MLOAD 00003352: PUSH2 0x335b 00003355: SWAP2 00003356: SWAP1 00003357: PUSH2 0x381d 0000335a: JUMP 0000335b: JUMPDEST 0000335c: PUSH1 0x00 0000335e: PUSH1 0x40 00003360: MLOAD 00003361: DUP1 00003362: DUP4 00003363: SUB 00003364: DUP2 00003365: DUP6 00003366: DUP8 00003367: GAS 00003368: CALL 00003369: SWAP3 0000336a: POP 0000336b: POP 0000336c: POP 0000336d: RETURNDATASIZE 0000336e: DUP1 0000336f: PUSH1 0x00 00003371: DUP2 00003372: EQ 00003373: PUSH2 0x3398 00003376: JUMPI 00003377: PUSH1 0x40 00003379: MLOAD 0000337a: SWAP2 0000337b: POP 0000337c: PUSH1 0x1f 0000337e: NOT 0000337f: PUSH1 0x3f 00003381: RETURNDATASIZE 00003382: ADD 00003383: AND 00003384: DUP3 00003385: ADD 00003386: PUSH1 0x40 00003388: MSTORE 00003389: RETURNDATASIZE 0000338a: DUP3 0000338b: MSTORE 0000338c: RETURNDATASIZE 0000338d: PUSH1 0x00 0000338f: PUSH1 0x20 00003391: DUP5 00003392: ADD 00003393: RETURNDATACOPY 00003394: PUSH2 0x339d 00003397: JUMP 00003398: JUMPDEST 00003399: PUSH1 0x60 0000339b: SWAP2 0000339c: POP 0000339d: JUMPDEST 0000339e: POP 0000339f: SWAP2 000033a0: POP 000033a1: SWAP2 000033a2: POP 000033a3: PUSH2 0x33ad 000033a6: DUP3 000033a7: DUP3 000033a8: DUP7 000033a9: PUSH2 0x33b8 000033ac: JUMP 000033ad: JUMPDEST 000033ae: SWAP8 000033af: SWAP7 000033b0: POP 000033b1: POP 000033b2: POP 000033b3: POP 000033b4: POP 000033b5: POP 000033b6: POP 000033b7: JUMP 000033b8: JUMPDEST 000033b9: PUSH1 0x60 000033bb: DUP4 000033bc: ISZERO 000033bd: PUSH2 0x33c7 000033c0: JUMPI 000033c1: POP 000033c2: DUP2 000033c3: PUSH2 0x1ffa 000033c6: JUMP 000033c7: JUMPDEST 000033c8: DUP3 000033c9: MLOAD 000033ca: ISZERO 000033cb: PUSH2 0x33d7 000033ce: JUMPI 000033cf: DUP3 000033d0: MLOAD 000033d1: DUP1 000033d2: DUP5 000033d3: PUSH1 0x20 000033d5: ADD 000033d6: REVERT 000033d7: JUMPDEST 000033d8: DUP2 000033d9: PUSH1 0x40 000033db: MLOAD 000033dc: PUSH3 0x461bcd 000033e0: PUSH1 0xe5 000033e2: SHL 000033e3: DUP2 000033e4: MSTORE 000033e5: PUSH1 0x04 000033e7: ADD 000033e8: PUSH2 0x0972 000033eb: SWAP2 000033ec: SWAP1 000033ed: PUSH2 0x3993 000033f0: JUMP 000033f1: JUMPDEST 000033f2: DUP1 000033f3: MLOAD 000033f4: PUSH10 0xffffffffffffffffffff 000033ff: DUP2 00003400: AND 00003401: DUP2 00003402: EQ 00003403: PUSH2 0x340b 00003406: JUMPI 00003407: PUSH1 0x00 00003409: DUP1 0000340a: REVERT 0000340b: JUMPDEST 0000340c: SWAP2 0000340d: SWAP1 0000340e: POP 0000340f: JUMP 00003410: JUMPDEST 00003411: PUSH1 0x00 00003413: PUSH1 0x20 00003415: DUP3 00003416: DUP5 00003417: SUB 00003418: SLT 00003419: ISZERO 0000341a: PUSH2 0x3422 0000341d: JUMPI 0000341e: PUSH1 0x00 00003420: DUP1 00003421: REVERT 00003422: JUMPDEST 00003423: DUP2 00003424: CALLDATALOAD 00003425: PUSH2 0x1ffa 00003428: DUP2 00003429: PUSH2 0x3bfd 0000342c: JUMP 0000342d: JUMPDEST 0000342e: PUSH1 0x00 00003430: PUSH1 0x20 00003432: DUP3 00003433: DUP5 00003434: SUB 00003435: SLT 00003436: ISZERO 00003437: PUSH2 0x343f 0000343a: JUMPI 0000343b: PUSH1 0x00 0000343d: DUP1 0000343e: REVERT 0000343f: JUMPDEST 00003440: DUP2 00003441: MLOAD 00003442: PUSH2 0x1ffa 00003445: DUP2 00003446: PUSH2 0x3bfd 00003449: JUMP 0000344a: JUMPDEST 0000344b: PUSH1 0x00 0000344d: DUP1 0000344e: PUSH1 0x40 00003450: DUP4 00003451: DUP6 00003452: SUB 00003453: SLT 00003454: ISZERO 00003455: PUSH2 0x345d 00003458: JUMPI 00003459: PUSH1 0x00 0000345b: DUP1 0000345c: REVERT 0000345d: JUMPDEST 0000345e: DUP3 0000345f: CALLDATALOAD 00003460: PUSH2 0x3468 00003463: DUP2 00003464: PUSH2 0x3bfd 00003467: JUMP 00003468: JUMPDEST 00003469: SWAP2 0000346a: POP 0000346b: PUSH1 0x20 0000346d: DUP4 0000346e: ADD 0000346f: CALLDATALOAD 00003470: PUSH2 0x3478 00003473: DUP2 00003474: PUSH2 0x3bfd 00003477: JUMP 00003478: JUMPDEST 00003479: DUP1 0000347a: SWAP2 0000347b: POP 0000347c: POP 0000347d: SWAP3 0000347e: POP 0000347f: SWAP3 00003480: SWAP1 00003481: POP 00003482: JUMP 00003483: JUMPDEST 00003484: PUSH1 0x00 00003486: DUP1 00003487: PUSH1 0x00 00003489: PUSH1 0x60 0000348b: DUP5 0000348c: DUP7 0000348d: SUB 0000348e: SLT 0000348f: ISZERO 00003490: PUSH2 0x3498 00003493: JUMPI 00003494: PUSH1 0x00 00003496: DUP1 00003497: REVERT 00003498: JUMPDEST 00003499: DUP4 0000349a: CALLDATALOAD 0000349b: PUSH2 0x34a3 0000349e: DUP2 0000349f: PUSH2 0x3bfd 000034a2: JUMP 000034a3: JUMPDEST 000034a4: SWAP3 000034a5: POP 000034a6: PUSH1 0x20 000034a8: DUP5 000034a9: ADD 000034aa: CALLDATALOAD 000034ab: PUSH2 0x34b3 000034ae: DUP2 000034af: PUSH2 0x3bfd 000034b2: JUMP 000034b3: JUMPDEST 000034b4: SWAP3 000034b5: SWAP6 000034b6: SWAP3 000034b7: SWAP5 000034b8: POP 000034b9: POP 000034ba: POP 000034bb: PUSH1 0x40 000034bd: SWAP2 000034be: SWAP1 000034bf: SWAP2 000034c0: ADD 000034c1: CALLDATALOAD 000034c2: SWAP1 000034c3: JUMP 000034c4: JUMPDEST 000034c5: PUSH1 0x00 000034c7: DUP1 000034c8: PUSH1 0x00 000034ca: DUP1 000034cb: PUSH1 0x80 000034cd: DUP6 000034ce: DUP8 000034cf: SUB 000034d0: SLT 000034d1: ISZERO 000034d2: PUSH2 0x34da 000034d5: JUMPI 000034d6: PUSH1 0x00 000034d8: DUP1 000034d9: REVERT 000034da: JUMPDEST 000034db: DUP5 000034dc: CALLDATALOAD 000034dd: PUSH2 0x34e5 000034e0: DUP2 000034e1: PUSH2 0x3bfd 000034e4: JUMP 000034e5: JUMPDEST 000034e6: SWAP4 000034e7: POP 000034e8: PUSH1 0x20 000034ea: DUP6 000034eb: ADD 000034ec: CALLDATALOAD 000034ed: PUSH2 0x34f5 000034f0: DUP2 000034f1: PUSH2 0x3bfd 000034f4: JUMP 000034f5: JUMPDEST 000034f6: SWAP3 000034f7: POP 000034f8: PUSH1 0x40 000034fa: DUP6 000034fb: ADD 000034fc: CALLDATALOAD 000034fd: SWAP2 000034fe: POP 000034ff: PUSH1 0x60 00003501: DUP6 00003502: ADD 00003503: CALLDATALOAD 00003504: PUSH8 0xffffffffffffffff 0000350d: DUP1 0000350e: DUP3 0000350f: GT 00003510: ISZERO 00003511: PUSH2 0x3519 00003514: JUMPI 00003515: PUSH1 0x00 00003517: DUP1 00003518: REVERT 00003519: JUMPDEST 0000351a: DUP2 0000351b: DUP8 0000351c: ADD 0000351d: SWAP2 0000351e: POP 0000351f: DUP8 00003520: PUSH1 0x1f 00003522: DUP4 00003523: ADD 00003524: SLT 00003525: PUSH2 0x352d 00003528: JUMPI 00003529: PUSH1 0x00 0000352b: DUP1 0000352c: REVERT 0000352d: JUMPDEST 0000352e: DUP2 0000352f: CALLDATALOAD 00003530: DUP2 00003531: DUP2 00003532: GT 00003533: ISZERO 00003534: PUSH2 0x353f 00003537: JUMPI 00003538: PUSH2 0x353f 0000353b: PUSH2 0x3be7 0000353e: JUMP 0000353f: JUMPDEST 00003540: PUSH1 0x40 00003542: MLOAD 00003543: PUSH1 0x1f 00003545: DUP3 00003546: ADD 00003547: PUSH1 0x1f 00003549: NOT 0000354a: SWAP1 0000354b: DUP2 0000354c: AND 0000354d: PUSH1 0x3f 0000354f: ADD 00003550: AND 00003551: DUP2 00003552: ADD 00003553: SWAP1 00003554: DUP4 00003555: DUP3 00003556: GT 00003557: DUP2 00003558: DUP4 00003559: LT 0000355a: OR 0000355b: ISZERO 0000355c: PUSH2 0x3567 0000355f: JUMPI 00003560: PUSH2 0x3567 00003563: PUSH2 0x3be7 00003566: JUMP 00003567: JUMPDEST 00003568: DUP2 00003569: PUSH1 0x40 0000356b: MSTORE 0000356c: DUP3 0000356d: DUP2 0000356e: MSTORE 0000356f: DUP11 00003570: PUSH1 0x20 00003572: DUP5 00003573: DUP8 00003574: ADD 00003575: ADD 00003576: GT 00003577: ISZERO 00003578: PUSH2 0x3580 0000357b: JUMPI 0000357c: PUSH1 0x00 0000357e: DUP1 0000357f: REVERT 00003580: JUMPDEST 00003581: DUP3 00003582: PUSH1 0x20 00003584: DUP7 00003585: ADD 00003586: PUSH1 0x20 00003588: DUP4 00003589: ADD 0000358a: CALLDATACOPY 0000358b: PUSH1 0x00 0000358d: PUSH1 0x20 0000358f: DUP5 00003590: DUP4 00003591: ADD 00003592: ADD 00003593: MSTORE 00003594: DUP1 00003595: SWAP6 00003596: POP 00003597: POP 00003598: POP 00003599: POP 0000359a: POP 0000359b: POP 0000359c: SWAP3 0000359d: SWAP6 0000359e: SWAP2 0000359f: SWAP5 000035a0: POP 000035a1: SWAP3 000035a2: POP 000035a3: JUMP 000035a4: JUMPDEST 000035a5: PUSH1 0x00 000035a7: DUP1 000035a8: PUSH1 0x40 000035aa: DUP4 000035ab: DUP6 000035ac: SUB 000035ad: SLT 000035ae: ISZERO 000035af: PUSH2 0x35b7 000035b2: JUMPI 000035b3: PUSH1 0x00 000035b5: DUP1 000035b6: REVERT 000035b7: JUMPDEST 000035b8: DUP3 000035b9: CALLDATALOAD 000035ba: PUSH2 0x35c2 000035bd: DUP2 000035be: PUSH2 0x3bfd 000035c1: JUMP 000035c2: JUMPDEST 000035c3: SWAP2 000035c4: POP 000035c5: PUSH1 0x20 000035c7: DUP4 000035c8: ADD 000035c9: CALLDATALOAD 000035ca: PUSH2 0x3478 000035cd: DUP2 000035ce: PUSH2 0x3c15 000035d1: JUMP 000035d2: JUMPDEST 000035d3: PUSH1 0x00 000035d5: DUP1 000035d6: PUSH1 0x40 000035d8: DUP4 000035d9: DUP6 000035da: SUB 000035db: SLT 000035dc: ISZERO 000035dd: PUSH2 0x35e5 000035e0: JUMPI 000035e1: PUSH1 0x00 000035e3: DUP1 000035e4: REVERT 000035e5: JUMPDEST 000035e6: DUP3 000035e7: CALLDATALOAD 000035e8: PUSH2 0x35f0 000035eb: DUP2 000035ec: PUSH2 0x3bfd 000035ef: JUMP 000035f0: JUMPDEST 000035f1: SWAP5 000035f2: PUSH1 0x20 000035f4: SWAP4 000035f5: SWAP1 000035f6: SWAP4 000035f7: ADD 000035f8: CALLDATALOAD 000035f9: SWAP4 000035fa: POP 000035fb: POP 000035fc: POP 000035fd: JUMP 000035fe: JUMPDEST 000035ff: PUSH1 0x00 00003601: DUP1 00003602: PUSH1 0x00 00003604: DUP1 00003605: PUSH1 0x80 00003607: DUP6 00003608: DUP8 00003609: SUB 0000360a: SLT 0000360b: ISZERO 0000360c: PUSH2 0x3614 0000360f: JUMPI 00003610: PUSH1 0x00 00003612: DUP1 00003613: REVERT 00003614: JUMPDEST 00003615: DUP5 00003616: CALLDATALOAD 00003617: PUSH2 0x361f 0000361a: DUP2 0000361b: PUSH2 0x3bfd 0000361e: JUMP 0000361f: JUMPDEST 00003620: SWAP4 00003621: POP 00003622: PUSH1 0x20 00003624: DUP6 00003625: ADD 00003626: CALLDATALOAD 00003627: SWAP3 00003628: POP 00003629: PUSH1 0x40 0000362b: DUP6 0000362c: ADD 0000362d: CALLDATALOAD 0000362e: PUSH2 0x3636 00003631: DUP2 00003632: PUSH2 0x3c15 00003635: JUMP 00003636: JUMPDEST 00003637: SWAP4 00003638: SWAP7 00003639: SWAP3 0000363a: SWAP6 0000363b: POP 0000363c: SWAP3 0000363d: SWAP4 0000363e: PUSH1 0x60 00003640: ADD 00003641: CALLDATALOAD 00003642: SWAP3 00003643: POP 00003644: POP 00003645: JUMP 00003646: JUMPDEST 00003647: PUSH1 0x00 00003649: DUP1 0000364a: PUSH1 0x00 0000364c: DUP1 0000364d: PUSH1 0x80 0000364f: DUP6 00003650: DUP8 00003651: SUB 00003652: SLT 00003653: ISZERO 00003654: PUSH2 0x365c 00003657: JUMPI 00003658: PUSH1 0x00 0000365a: DUP1 0000365b: REVERT 0000365c: JUMPDEST 0000365d: DUP5 0000365e: CALLDATALOAD 0000365f: PUSH2 0x3667 00003662: DUP2 00003663: PUSH2 0x3bfd 00003666: JUMP 00003667: JUMPDEST 00003668: SWAP7 00003669: PUSH1 0x20 0000366b: DUP7 0000366c: ADD 0000366d: CALLDATALOAD 0000366e: SWAP7 0000366f: POP 00003670: PUSH1 0x40 00003672: DUP7 00003673: ADD 00003674: CALLDATALOAD 00003675: SWAP6 00003676: PUSH1 0x60 00003678: ADD 00003679: CALLDATALOAD 0000367a: SWAP5 0000367b: POP 0000367c: SWAP3 0000367d: POP 0000367e: POP 0000367f: POP 00003680: JUMP 00003681: JUMPDEST 00003682: PUSH1 0x00 00003684: PUSH1 0x20 00003686: DUP3 00003687: DUP5 00003688: SUB 00003689: SLT 0000368a: ISZERO 0000368b: PUSH2 0x3693 0000368e: JUMPI 0000368f: PUSH1 0x00 00003691: DUP1 00003692: REVERT 00003693: JUMPDEST 00003694: DUP2 00003695: MLOAD 00003696: PUSH2 0x1ffa 00003699: DUP2 0000369a: PUSH2 0x3c15 0000369d: JUMP 0000369e: JUMPDEST 0000369f: PUSH1 0x00 000036a1: PUSH1 0x20 000036a3: DUP3 000036a4: DUP5 000036a5: SUB 000036a6: SLT 000036a7: ISZERO 000036a8: PUSH2 0x36b0 000036ab: JUMPI 000036ac: PUSH1 0x00 000036ae: DUP1 000036af: REVERT 000036b0: JUMPDEST 000036b1: POP 000036b2: CALLDATALOAD 000036b3: SWAP2 000036b4: SWAP1 000036b5: POP 000036b6: JUMP 000036b7: JUMPDEST 000036b8: PUSH1 0x00 000036ba: DUP1 000036bb: PUSH1 0x40 000036bd: DUP4 000036be: DUP6 000036bf: SUB 000036c0: SLT 000036c1: ISZERO 000036c2: PUSH2 0x36ca 000036c5: JUMPI 000036c6: PUSH1 0x00 000036c8: DUP1 000036c9: REVERT 000036ca: JUMPDEST 000036cb: DUP3 000036cc: CALLDATALOAD 000036cd: SWAP2 000036ce: POP 000036cf: PUSH1 0x20 000036d1: DUP4 000036d2: ADD 000036d3: CALLDATALOAD 000036d4: PUSH2 0x3478 000036d7: DUP2 000036d8: PUSH2 0x3bfd 000036db: JUMP 000036dc: JUMPDEST 000036dd: PUSH1 0x00 000036df: PUSH1 0x20 000036e1: DUP3 000036e2: DUP5 000036e3: SUB 000036e4: SLT 000036e5: ISZERO 000036e6: PUSH2 0x36ee 000036e9: JUMPI 000036ea: PUSH1 0x00 000036ec: DUP1 000036ed: REVERT 000036ee: JUMPDEST 000036ef: DUP2 000036f0: CALLDATALOAD 000036f1: PUSH2 0x1ffa 000036f4: DUP2 000036f5: PUSH2 0x3c23 000036f8: JUMP 000036f9: JUMPDEST 000036fa: PUSH1 0x00 000036fc: PUSH1 0x20 000036fe: DUP3 000036ff: DUP5 00003700: SUB 00003701: SLT 00003702: ISZERO 00003703: PUSH2 0x370b 00003706: JUMPI 00003707: PUSH1 0x00 00003709: DUP1 0000370a: REVERT 0000370b: JUMPDEST 0000370c: DUP2 0000370d: MLOAD 0000370e: PUSH2 0x1ffa 00003711: DUP2 00003712: PUSH2 0x3c23 00003715: JUMP 00003716: JUMPDEST 00003717: PUSH1 0x00 00003719: PUSH1 0x20 0000371b: DUP3 0000371c: DUP5 0000371d: SUB 0000371e: SLT 0000371f: ISZERO 00003720: PUSH2 0x3728 00003723: JUMPI 00003724: PUSH1 0x00 00003726: DUP1 00003727: REVERT 00003728: JUMPDEST 00003729: POP 0000372a: MLOAD 0000372b: SWAP2 0000372c: SWAP1 0000372d: POP 0000372e: JUMP 0000372f: JUMPDEST 00003730: PUSH1 0x00 00003732: DUP1 00003733: PUSH1 0x40 00003735: DUP4 00003736: DUP6 00003737: SUB 00003738: SLT 00003739: ISZERO 0000373a: PUSH2 0x3742 0000373d: JUMPI 0000373e: PUSH1 0x00 00003740: DUP1 00003741: REVERT 00003742: JUMPDEST 00003743: POP 00003744: POP 00003745: DUP1 00003746: CALLDATALOAD 00003747: SWAP3 00003748: PUSH1 0x20 0000374a: SWAP1 0000374b: SWAP2 0000374c: ADD 0000374d: CALLDATALOAD 0000374e: SWAP2 0000374f: POP 00003750: JUMP 00003751: JUMPDEST 00003752: PUSH1 0x00 00003754: DUP1 00003755: PUSH1 0x40 00003757: DUP4 00003758: DUP6 00003759: SUB 0000375a: SLT 0000375b: ISZERO 0000375c: PUSH2 0x3764 0000375f: JUMPI 00003760: PUSH1 0x00 00003762: DUP1 00003763: REVERT 00003764: JUMPDEST 00003765: POP 00003766: POP 00003767: DUP1 00003768: MLOAD 00003769: PUSH1 0x20 0000376b: SWAP1 0000376c: SWAP2 0000376d: ADD 0000376e: MLOAD 0000376f: SWAP1 00003770: SWAP3 00003771: SWAP1 00003772: SWAP2 00003773: POP 00003774: JUMP 00003775: JUMPDEST 00003776: PUSH1 0x00 00003778: DUP1 00003779: PUSH1 0x00 0000377b: PUSH1 0x60 0000377d: DUP5 0000377e: DUP7 0000377f: SUB 00003780: SLT 00003781: ISZERO 00003782: PUSH2 0x378a 00003785: JUMPI 00003786: PUSH1 0x00 00003788: DUP1 00003789: REVERT 0000378a: JUMPDEST 0000378b: POP 0000378c: POP 0000378d: DUP2 0000378e: CALLDATALOAD 0000378f: SWAP4 00003790: PUSH1 0x20 00003792: DUP4 00003793: ADD 00003794: CALLDATALOAD 00003795: SWAP4 00003796: POP 00003797: PUSH1 0x40 00003799: SWAP1 0000379a: SWAP3 0000379b: ADD 0000379c: CALLDATALOAD 0000379d: SWAP2 0000379e: SWAP1 0000379f: POP 000037a0: JUMP 000037a1: JUMPDEST 000037a2: PUSH1 0x00 000037a4: DUP1 000037a5: PUSH1 0x00 000037a7: DUP1 000037a8: PUSH1 0x00 000037aa: PUSH1 0xa0 000037ac: DUP7 000037ad: DUP9 000037ae: SUB 000037af: SLT 000037b0: ISZERO 000037b1: PUSH2 0x37b9 000037b4: JUMPI 000037b5: PUSH1 0x00 000037b7: DUP1 000037b8: REVERT 000037b9: JUMPDEST 000037ba: PUSH2 0x37c2 000037bd: DUP7 000037be: PUSH2 0x33f1 000037c1: JUMP 000037c2: JUMPDEST 000037c3: SWAP5 000037c4: POP 000037c5: PUSH1 0x20 000037c7: DUP7 000037c8: ADD 000037c9: MLOAD 000037ca: SWAP4 000037cb: POP 000037cc: PUSH1 0x40 000037ce: DUP7 000037cf: ADD 000037d0: MLOAD 000037d1: SWAP3 000037d2: POP 000037d3: PUSH1 0x60 000037d5: DUP7 000037d6: ADD 000037d7: MLOAD 000037d8: SWAP2 000037d9: POP 000037da: PUSH2 0x37e5 000037dd: PUSH1 0x80 000037df: DUP8 000037e0: ADD 000037e1: PUSH2 0x33f1 000037e4: JUMP 000037e5: JUMPDEST 000037e6: SWAP1 000037e7: POP 000037e8: SWAP3 000037e9: SWAP6 000037ea: POP 000037eb: SWAP3 000037ec: SWAP6 000037ed: SWAP1 000037ee: SWAP4 000037ef: POP 000037f0: JUMP 000037f1: JUMPDEST 000037f2: PUSH1 0x00 000037f4: DUP2 000037f5: MLOAD 000037f6: DUP1 000037f7: DUP5 000037f8: MSTORE 000037f9: PUSH2 0x3809 000037fc: DUP2 000037fd: PUSH1 0x20 000037ff: DUP7 00003800: ADD 00003801: PUSH1 0x20 00003803: DUP7 00003804: ADD 00003805: PUSH2 0x3ae2 00003808: JUMP 00003809: JUMPDEST 0000380a: PUSH1 0x1f 0000380c: ADD 0000380d: PUSH1 0x1f 0000380f: NOT 00003810: AND 00003811: SWAP3 00003812: SWAP1 00003813: SWAP3 00003814: ADD 00003815: PUSH1 0x20 00003817: ADD 00003818: SWAP3 00003819: SWAP2 0000381a: POP 0000381b: POP 0000381c: JUMP 0000381d: JUMPDEST 0000381e: PUSH1 0x00 00003820: DUP3 00003821: MLOAD 00003822: PUSH2 0x382f 00003825: DUP2 00003826: DUP5 00003827: PUSH1 0x20 00003829: DUP8 0000382a: ADD 0000382b: PUSH2 0x3ae2 0000382e: JUMP 0000382f: JUMPDEST 00003830: SWAP2 00003831: SWAP1 00003832: SWAP2 00003833: ADD 00003834: SWAP3 00003835: SWAP2 00003836: POP 00003837: POP 00003838: JUMP 00003839: JUMPDEST 0000383a: PUSH1 0x00 0000383c: DUP4 0000383d: MLOAD 0000383e: PUSH2 0x384b 00003841: DUP2 00003842: DUP5 00003843: PUSH1 0x20 00003845: DUP9 00003846: ADD 00003847: PUSH2 0x3ae2 0000384a: JUMP 0000384b: JUMPDEST 0000384c: DUP4 0000384d: MLOAD 0000384e: SWAP1 0000384f: DUP4 00003850: ADD 00003851: SWAP1 00003852: PUSH2 0x385f 00003855: DUP2 00003856: DUP4 00003857: PUSH1 0x20 00003859: DUP9 0000385a: ADD 0000385b: PUSH2 0x3ae2 0000385e: JUMP 0000385f: JUMPDEST 00003860: ADD 00003861: SWAP5 00003862: SWAP4 00003863: POP 00003864: POP 00003865: POP 00003866: POP 00003867: JUMP 00003868: JUMPDEST 00003869: PUSH32 0x416363657373436f6e74726f6c3a206163636f756e7420000000000000000000 0000388a: DUP2 0000388b: MSTORE 0000388c: PUSH1 0x00 0000388e: DUP4 0000388f: MLOAD 00003890: PUSH2 0x38a0 00003893: DUP2 00003894: PUSH1 0x17 00003896: DUP6 00003897: ADD 00003898: PUSH1 0x20 0000389a: DUP9 0000389b: ADD 0000389c: PUSH2 0x3ae2 0000389f: JUMP 000038a0: JUMPDEST 000038a1: PUSH17 0x01034b99036b4b9b9b4b733903937b6329 000038b3: PUSH1 0x7d 000038b5: SHL 000038b6: PUSH1 0x17 000038b8: SWAP2 000038b9: DUP5 000038ba: ADD 000038bb: SWAP2 000038bc: DUP3 000038bd: ADD 000038be: MSTORE 000038bf: DUP4 000038c0: MLOAD 000038c1: PUSH2 0x38d1 000038c4: DUP2 000038c5: PUSH1 0x28 000038c7: DUP5 000038c8: ADD 000038c9: PUSH1 0x20 000038cb: DUP9 000038cc: ADD 000038cd: PUSH2 0x3ae2 000038d0: JUMP 000038d1: JUMPDEST 000038d2: ADD 000038d3: PUSH1 0x28 000038d5: ADD 000038d6: SWAP5 000038d7: SWAP4 000038d8: POP 000038d9: POP 000038da: POP 000038db: POP 000038dc: JUMP 000038dd: JUMPDEST 000038de: PUSH1 0x01 000038e0: PUSH1 0x01 000038e2: PUSH1 0xa0 000038e4: SHL 000038e5: SUB 000038e6: DUP6 000038e7: DUP2 000038e8: AND 000038e9: DUP3 000038ea: MSTORE 000038eb: DUP5 000038ec: AND 000038ed: PUSH1 0x20 000038ef: DUP3 000038f0: ADD 000038f1: MSTORE 000038f2: PUSH1 0x40 000038f4: DUP2 000038f5: ADD 000038f6: DUP4 000038f7: SWAP1 000038f8: MSTORE 000038f9: PUSH1 0x80 000038fb: PUSH1 0x60 000038fd: DUP3 000038fe: ADD 000038ff: DUP2 00003900: SWAP1 00003901: MSTORE 00003902: PUSH1 0x00 00003904: SWAP1 00003905: PUSH2 0x3910 00003908: SWAP1 00003909: DUP4 0000390a: ADD 0000390b: DUP5 0000390c: PUSH2 0x37f1 0000390f: JUMP 00003910: JUMPDEST 00003911: SWAP7 00003912: SWAP6 00003913: POP 00003914: POP 00003915: POP 00003916: POP 00003917: POP 00003918: POP 00003919: JUMP 0000391a: JUMPDEST 0000391b: PUSH1 0xe0 0000391d: DUP2 0000391e: ADD 0000391f: PUSH1 0x04 00003921: DUP10 00003922: LT 00003923: PUSH2 0x392e 00003926: JUMPI 00003927: PUSH2 0x392e 0000392a: PUSH2 0x3bbb 0000392d: JUMP 0000392e: JUMPDEST 0000392f: SWAP8 00003930: DUP2 00003931: MSTORE 00003932: PUSH1 0x20 00003934: DUP2 00003935: ADD 00003936: SWAP7 00003937: SWAP1 00003938: SWAP7 00003939: MSTORE 0000393a: PUSH1 0x40 0000393c: DUP7 0000393d: ADD 0000393e: SWAP5 0000393f: SWAP1 00003940: SWAP5 00003941: MSTORE 00003942: PUSH1 0x60 00003944: DUP6 00003945: ADD 00003946: SWAP3 00003947: SWAP1 00003948: SWAP3 00003949: MSTORE 0000394a: PUSH1 0x80 0000394c: DUP5 0000394d: ADD 0000394e: MSTORE 0000394f: PUSH1 0xa0 00003951: DUP4 00003952: ADD 00003953: MSTORE 00003954: PUSH1 0xc0 00003956: SWAP1 00003957: SWAP2 00003958: ADD 00003959: MSTORE 0000395a: SWAP1 0000395b: JUMP 0000395c: JUMPDEST 0000395d: PUSH1 0xa0 0000395f: DUP2 00003960: ADD 00003961: PUSH1 0x03 00003963: DUP8 00003964: LT 00003965: PUSH2 0x3970 00003968: JUMPI 00003969: PUSH2 0x3970 0000396c: PUSH2 0x3bbb 0000396f: JUMP 00003970: JUMPDEST 00003971: SWAP6 00003972: DUP2 00003973: MSTORE 00003974: PUSH1 0x20 00003976: DUP2 00003977: ADD 00003978: SWAP5 00003979: SWAP1 0000397a: SWAP5 0000397b: MSTORE 0000397c: PUSH1 0x40 0000397e: DUP5 0000397f: ADD 00003980: SWAP3 00003981: SWAP1 00003982: SWAP3 00003983: MSTORE 00003984: PUSH1 0x60 00003986: DUP4 00003987: ADD 00003988: MSTORE 00003989: ISZERO 0000398a: ISZERO 0000398b: PUSH1 0x80 0000398d: SWAP1 0000398e: SWAP2 0000398f: ADD 00003990: MSTORE 00003991: SWAP1 00003992: JUMP 00003993: JUMPDEST 00003994: PUSH1 0x20 00003996: DUP2 00003997: MSTORE 00003998: PUSH1 0x00 0000399a: PUSH2 0x1ffa 0000399d: PUSH1 0x20 0000399f: DUP4 000039a0: ADD 000039a1: DUP5 000039a2: PUSH2 0x37f1 000039a5: JUMP 000039a6: JUMPDEST 000039a7: PUSH1 0x20 000039a9: DUP1 000039aa: DUP3 000039ab: MSTORE 000039ac: PUSH1 0x32 000039ae: SWAP1 000039af: DUP3 000039b0: ADD 000039b1: MSTORE 000039b2: PUSH32 0x4552433732313a207472616e7366657220746f206e6f6e204552433732315265 000039d3: PUSH1 0x40 000039d5: DUP3 000039d6: ADD 000039d7: MSTORE 000039d8: PUSH18 0x31b2b4bb32b91034b6b83632b6b2b73a32b9 000039eb: PUSH1 0x71 000039ed: SHL 000039ee: PUSH1 0x60 000039f0: DUP3 000039f1: ADD 000039f2: MSTORE 000039f3: PUSH1 0x80 000039f5: ADD 000039f6: SWAP1 000039f7: JUMP 000039f8: JUMPDEST 000039f9: PUSH1 0x20 000039fb: DUP1 000039fc: DUP3 000039fd: MSTORE 000039fe: PUSH1 0x31 00003a00: SWAP1 00003a01: DUP3 00003a02: ADD 00003a03: MSTORE 00003a04: PUSH32 0x4552433732313a207472616e736665722063616c6c6572206973206e6f74206f 00003a25: PUSH1 0x40 00003a27: DUP3 00003a28: ADD 00003a29: MSTORE 00003a2a: PUSH17 0x1ddb995c881b9bdc88185c1c1c9bdd9959 00003a3c: PUSH1 0x7a 00003a3e: SHL 00003a3f: PUSH1 0x60 00003a41: DUP3 00003a42: ADD 00003a43: MSTORE 00003a44: PUSH1 0x80 00003a46: ADD 00003a47: SWAP1 00003a48: JUMP 00003a49: JUMPDEST 00003a4a: PUSH1 0x20 00003a4c: DUP1 00003a4d: DUP3 00003a4e: MSTORE 00003a4f: PUSH1 0x1f 00003a51: SWAP1 00003a52: DUP3 00003a53: ADD 00003a54: MSTORE 00003a55: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00 00003a76: PUSH1 0x40 00003a78: DUP3 00003a79: ADD 00003a7a: MSTORE 00003a7b: PUSH1 0x60 00003a7d: ADD 00003a7e: SWAP1 00003a7f: JUMP 00003a80: JUMPDEST 00003a81: PUSH1 0x00 00003a83: DUP3 00003a84: NOT 00003a85: DUP3 00003a86: GT 00003a87: ISZERO 00003a88: PUSH2 0x3a93 00003a8b: JUMPI 00003a8c: PUSH2 0x3a93 00003a8f: PUSH2 0x3b8f 00003a92: JUMP 00003a93: JUMPDEST 00003a94: POP 00003a95: ADD 00003a96: SWAP1 00003a97: JUMP 00003a98: JUMPDEST 00003a99: PUSH1 0x00 00003a9b: DUP3 00003a9c: PUSH2 0x3aa7 00003a9f: JUMPI 00003aa0: PUSH2 0x3aa7 00003aa3: PUSH2 0x3ba5 00003aa6: JUMP 00003aa7: JUMPDEST 00003aa8: POP 00003aa9: DIV 00003aaa: SWAP1 00003aab: JUMP 00003aac: JUMPDEST 00003aad: PUSH1 0x00 00003aaf: DUP2 00003ab0: PUSH1 0x00 00003ab2: NOT 00003ab3: DIV 00003ab4: DUP4 00003ab5: GT 00003ab6: DUP3 00003ab7: ISZERO 00003ab8: ISZERO 00003ab9: AND 00003aba: ISZERO 00003abb: PUSH2 0x3ac6 00003abe: JUMPI 00003abf: PUSH2 0x3ac6 00003ac2: PUSH2 0x3b8f 00003ac5: JUMP 00003ac6: JUMPDEST 00003ac7: POP 00003ac8: MUL 00003ac9: SWAP1 00003aca: JUMP 00003acb: JUMPDEST 00003acc: PUSH1 0x00 00003ace: DUP3 00003acf: DUP3 00003ad0: LT 00003ad1: ISZERO 00003ad2: PUSH2 0x3add 00003ad5: JUMPI 00003ad6: PUSH2 0x3add 00003ad9: PUSH2 0x3b8f 00003adc: JUMP 00003add: JUMPDEST 00003ade: POP 00003adf: SUB 00003ae0: SWAP1 00003ae1: JUMP 00003ae2: JUMPDEST 00003ae3: PUSH1 0x00 00003ae5: JUMPDEST 00003ae6: DUP4 00003ae7: DUP2 00003ae8: LT 00003ae9: ISZERO 00003aea: PUSH2 0x3afd 00003aed: JUMPI 00003aee: DUP2 00003aef: DUP2 00003af0: ADD 00003af1: MLOAD 00003af2: DUP4 00003af3: DUP3 00003af4: ADD 00003af5: MSTORE 00003af6: PUSH1 0x20 00003af8: ADD 00003af9: PUSH2 0x3ae5 00003afc: JUMP 00003afd: JUMPDEST 00003afe: DUP4 00003aff: DUP2 00003b00: GT 00003b01: ISZERO 00003b02: PUSH2 0x1f13 00003b05: JUMPI 00003b06: POP 00003b07: POP 00003b08: PUSH1 0x00 00003b0a: SWAP2 00003b0b: ADD 00003b0c: MSTORE 00003b0d: JUMP 00003b0e: JUMPDEST 00003b0f: PUSH1 0x00 00003b11: DUP2 00003b12: PUSH2 0x3b1d 00003b15: JUMPI 00003b16: PUSH2 0x3b1d 00003b19: PUSH2 0x3b8f 00003b1c: JUMP 00003b1d: JUMPDEST 00003b1e: POP 00003b1f: PUSH1 0x00 00003b21: NOT 00003b22: ADD 00003b23: SWAP1 00003b24: JUMP 00003b25: JUMPDEST 00003b26: PUSH1 0x01 00003b28: DUP2 00003b29: DUP2 00003b2a: SHR 00003b2b: SWAP1 00003b2c: DUP3 00003b2d: AND 00003b2e: DUP1 00003b2f: PUSH2 0x3b39 00003b32: JUMPI 00003b33: PUSH1 0x7f 00003b35: DUP3 00003b36: AND 00003b37: SWAP2 00003b38: POP 00003b39: JUMPDEST 00003b3a: PUSH1 0x20 00003b3c: DUP3 00003b3d: LT 00003b3e: DUP2 00003b3f: EQ 00003b40: ISZERO 00003b41: PUSH2 0x3b5a 00003b44: JUMPI 00003b45: PUSH4 0x4e487b71 00003b4a: PUSH1 0xe0 00003b4c: SHL 00003b4d: PUSH1 0x00 00003b4f: MSTORE 00003b50: PUSH1 0x22 00003b52: PUSH1 0x04 00003b54: MSTORE 00003b55: PUSH1 0x24 00003b57: PUSH1 0x00 00003b59: REVERT 00003b5a: JUMPDEST 00003b5b: POP 00003b5c: SWAP2 00003b5d: SWAP1 00003b5e: POP 00003b5f: JUMP 00003b60: JUMPDEST 00003b61: PUSH1 0x00 00003b63: PUSH1 0x00 00003b65: NOT 00003b66: DUP3 00003b67: EQ 00003b68: ISZERO 00003b69: PUSH2 0x3b74 00003b6c: JUMPI 00003b6d: PUSH2 0x3b74 00003b70: PUSH2 0x3b8f 00003b73: JUMP 00003b74: JUMPDEST 00003b75: POP 00003b76: PUSH1 0x01 00003b78: ADD 00003b79: SWAP1 00003b7a: JUMP 00003b7b: JUMPDEST 00003b7c: PUSH1 0x00 00003b7e: DUP3 00003b7f: PUSH2 0x3b8a 00003b82: JUMPI 00003b83: PUSH2 0x3b8a 00003b86: PUSH2 0x3ba5 00003b89: JUMP 00003b8a: JUMPDEST 00003b8b: POP 00003b8c: MOD 00003b8d: SWAP1 00003b8e: JUMP 00003b8f: JUMPDEST 00003b90: PUSH4 0x4e487b71 00003b95: PUSH1 0xe0 00003b97: SHL 00003b98: PUSH1 0x00 00003b9a: MSTORE 00003b9b: PUSH1 0x11 00003b9d: PUSH1 0x04 00003b9f: MSTORE 00003ba0: PUSH1 0x24 00003ba2: PUSH1 0x00 00003ba4: REVERT 00003ba5: JUMPDEST 00003ba6: PUSH4 0x4e487b71 00003bab: PUSH1 0xe0 00003bad: SHL 00003bae: PUSH1 0x00 00003bb0: MSTORE 00003bb1: PUSH1 0x12 00003bb3: PUSH1 0x04 00003bb5: MSTORE 00003bb6: PUSH1 0x24 00003bb8: PUSH1 0x00 00003bba: REVERT 00003bbb: JUMPDEST 00003bbc: PUSH4 0x4e487b71 00003bc1: PUSH1 0xe0 00003bc3: SHL 00003bc4: PUSH1 0x00 00003bc6: MSTORE 00003bc7: PUSH1 0x21 00003bc9: PUSH1 0x04 00003bcb: MSTORE 00003bcc: PUSH1 0x24 00003bce: PUSH1 0x00 00003bd0: REVERT 00003bd1: JUMPDEST 00003bd2: PUSH4 0x4e487b71 00003bd7: PUSH1 0xe0 00003bd9: SHL 00003bda: PUSH1 0x00 00003bdc: MSTORE 00003bdd: PUSH1 0x32 00003bdf: PUSH1 0x04 00003be1: MSTORE 00003be2: PUSH1 0x24 00003be4: PUSH1 0x00 00003be6: REVERT 00003be7: JUMPDEST 00003be8: PUSH4 0x4e487b71 00003bed: PUSH1 0xe0 00003bef: SHL 00003bf0: PUSH1 0x00 00003bf2: MSTORE 00003bf3: PUSH1 0x41 00003bf5: PUSH1 0x04 00003bf7: MSTORE 00003bf8: PUSH1 0x24 00003bfa: PUSH1 0x00 00003bfc: REVERT 00003bfd: JUMPDEST 00003bfe: PUSH1 0x01 00003c00: PUSH1 0x01 00003c02: PUSH1 0xa0 00003c04: SHL 00003c05: SUB 00003c06: DUP2 00003c07: AND 00003c08: DUP2 00003c09: EQ 00003c0a: PUSH2 0x3c12 00003c0d: JUMPI 00003c0e: PUSH1 0x00 00003c10: DUP1 00003c11: REVERT 00003c12: JUMPDEST 00003c13: POP 00003c14: JUMP 00003c15: JUMPDEST 00003c16: DUP1 00003c17: ISZERO 00003c18: ISZERO 00003c19: DUP2 00003c1a: EQ 00003c1b: PUSH2 0x3c12 00003c1e: JUMPI 00003c1f: PUSH1 0x00 00003c21: DUP1 00003c22: REVERT 00003c23: JUMPDEST 00003c24: PUSH1 0x01 00003c26: PUSH1 0x01 00003c28: PUSH1 0xe0 00003c2a: SHL 00003c2b: SUB 00003c2c: NOT 00003c2d: DUP2 00003c2e: AND 00003c2f: DUP2 00003c30: EQ 00003c31: PUSH2 0x3c12 00003c34: JUMPI 00003c35: PUSH1 0x00 00003c37: DUP1 00003c38: REVERT 00003c39: INVALID 00003c3a: LOG2 00003c3b: PUSH5 0x6970667358 00003c41: UNKNOWN(0x22) 00003c42: SLT 00003c43: KECCAK256 00003c44: UNKNOWN(0xAE) 00003c45: PUSH8 0x28538a1c88c3d1c8 00003c4e: CREATE 00003c4f: UNKNOWN(0xB8) 00003c50: UNKNOWN(0xD5) 00003c51: CALLCODE 00003c52: UNKNOWN(0xC6) 00003c53: PUSH22 0xfab700194c5baa0c3085508d3794500864736f6c6343 00003c6a: STOP 00003c6b: ADDMOD 00003c6c: MOD 00003c6d: STOP 00003c6e: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xfc4b3b9a9f445cf308a10d291517762b439d322b783c9562531e72c77cba1739
call_targets:
0xb9ed94c6d594b2517c4296e24a8c517ff133fb6d
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xfc4b3b9a9f445cf308a10d291517762b439d322b783c9562531e72c77cba1739",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xb9ed94c6d594b2517c4296e24a8c517ff133fb6d"
],
"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": "0xe5829d20",
"selector": "0xe5829d20",
"calldata_variants": [
"0xe5829d20",
"0xe5829d200000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe985e9c5",
"selector": "0xe985e9c5",
"calldata_variants": [
"0xe985e9c5",
"0xe985e9c50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc0c546a",
"selector": "0xfc0c546a",
"calldata_variants": [
"0xfc0c546a",
"0xfc0c546a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfeed2342",
"selector": "0xfeed2342",
"calldata_variants": [
"0xfeed2342",
"0xfeed23420000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd07a1c57",
"selector": "0xd07a1c57",
"calldata_variants": [
"0xd07a1c57",
"0xd07a1c570000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd547741f",
"selector": "0xd547741f",
"calldata_variants": [
"0xd547741f",
"0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdcaf9c44",
"selector": "0xdcaf9c44",
"calldata_variants": [
"0xdcaf9c44",
"0xdcaf9c440000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdfcb48bd",
"selector": "0xdfcb48bd",
"calldata_variants": [
"0xdfcb48bd",
"0xdfcb48bd0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 4404,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4762,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 12423,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 5,
"guards_detected": []
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xfc4b3b9a9f445cf308a10d291517762b439d322b783c9562531e72c77cba1739
call_targets:
0xb9ed94c6d594b2517c4296e24a8c517ff133fb6d
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xfc4b3b9a9f445cf308a10d291517762b439d322b783c9562531e72c77cba1739",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xb9ed94c6d594b2517c4296e24a8c517ff133fb6d"
],
"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": "0xe5829d20",
"selector": "0xe5829d20",
"calldata_variants": [
"0xe5829d20",
"0xe5829d200000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe985e9c5",
"selector": "0xe985e9c5",
"calldata_variants": [
"0xe985e9c5",
"0xe985e9c50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc0c546a",
"selector": "0xfc0c546a",
"calldata_variants": [
"0xfc0c546a",
"0xfc0c546a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfeed2342",
"selector": "0xfeed2342",
"calldata_variants": [
"0xfeed2342",
"0xfeed23420000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd07a1c57",
"selector": "0xd07a1c57",
"calldata_variants": [
"0xd07a1c57",
"0xd07a1c570000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd547741f",
"selector": "0xd547741f",
"calldata_variants": [
"0xd547741f",
"0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdcaf9c44",
"selector": "0xdcaf9c44",
"calldata_variants": [
"0xdcaf9c44",
"0xdcaf9c440000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdfcb48bd",
"selector": "0xdfcb48bd",
"calldata_variants": [
"0xdfcb48bd",
"0xdfcb48bd0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 4404,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 4762,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 12423,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 5,
"guards_detected": [],
"untrusted_call_count": 5
}
|
| high | other | codex | Withdrawals ignore locked collateral, enabling pool insolvency | 85 | no | — |
viewevidence_json{
"evidence": "`_withdraw` calculates payout from `hedgedBalance`/`unhedgedBalance` and never checks `lockedAmount`; `availableBalance()` exists but is unused in withdrawals.",
"locations": [
"contracts/contracts/Pool/HegicPool.sol:449",
"contracts/contracts/Pool/HegicPool.sol:482"
],
"recommendation": "Enforce withdrawals only against `availableBalance` (totalBalance - lockedAmount) or proportionally reduce withdrawable amounts when options are active; prevent withdrawals that would make totalBalance < lockedAmount.",
"exploit_scenario": "A liquidity provider waits out the lockup, then withdraws while options are still active. `_withdraw` pays out based on total balances without accounting for `lockedAmount`, so totalBalance can fall below locked collateral. Subsequent option exercises can revert or be underfunded, breaking solvency."
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0x9a4cc13b87cb7d2ba7cfae133e4c637feb7b3226d8c3e1fe6c299d68d306e2f8
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0x9a4cc13b87cb7d2ba7cfae133e4c637feb7b3226d8c3e1fe6c299d68d306e2f8",
"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": "0xe5829d20",
"selector": "0xe5829d20",
"calldata_variants": [
"0xe5829d20",
"0xe5829d200000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe985e9c5",
"selector": "0xe985e9c5",
"calldata_variants": [
"0xe985e9c5",
"0xe985e9c50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc0c546a",
"selector": "0xfc0c546a",
"calldata_variants": [
"0xfc0c546a",
"0xfc0c546a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfeed2342",
"selector": "0xfeed2342",
"calldata_variants": [
"0xfeed2342",
"0xfeed23420000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd07a1c57",
"selector": "0xd07a1c57",
"calldata_variants": [
"0xd07a1c57",
"0xd07a1c570000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd547741f",
"selector": "0xd547741f",
"calldata_variants": [
"0xd547741f",
"0xd547741f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdcaf9c44",
"selector": "0xdcaf9c44",
"calldata_variants": [
"0xdcaf9c44",
"0xdcaf9c440000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdfcb48bd",
"selector": "0xdfcb48bd",
"calldata_variants": [
"0xdfcb48bd",
"0xdfcb48bd0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 1,
"create2_count": 0
}
|
| medium | oracle | codex | Chainlink price used without freshness/positivity checks | 75 | no | — |
viewevidence_json{
"evidence": "Both `_currentPrice` implementations cast `latestPrice` directly to `uint256` without checking `updatedAt`/`answeredInRound` or `price > 0`.",
"locations": [
"contracts/contracts/Pool/HegicPool.sol:567",
"contracts/contracts/Options/PriceCalculator.sol:140"
],
"recommendation": "Validate `updatedAt`, `answeredInRound`, and `price > 0` from `latestRoundData()` and enforce a staleness threshold (and sequencer uptime check on L2s).",
"exploit_scenario": "If the aggregator returns stale/zero/negative data (e.g., sequencer downtime or oracle malfunction), the cast to `uint256` is still used for pricing and profit/lockedAmount calculations, leading to mispriced options or incorrect payouts."
}
|
| low | other | cast | Contract creation opcode present | 60 | no | — |
viewevidence_json{
"notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
"create_count": 1,
"create2_count": 0
}
|
| low | access_control | codex | Unrestricted `poolApprove` lets anyone grant unlimited allowances from Facade | 65 | no | — |
viewevidence_json{
"evidence": "`poolApprove` is external and unprotected, and it blindly sets `type(uint256).max` allowance for `pool.token()` to `pool`.",
"locations": [
"contracts/contracts/Facade/Facade.sol:126"
],
"recommendation": "Restrict `poolApprove` to the owner or a whitelist of trusted pools, or remove the function and perform approvals only inside `createOption` for vetted pools.",
"exploit_scenario": "An attacker deploys a fake pool that returns a valuable ERC20 address in `token()` and calls `poolApprove`. This grants their pool unlimited allowance from the Facade, letting them `transferFrom` any tokens that accumulate there (e.g., swap leftovers or accidental transfers)."
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 9
}
|