019bb490-f382-73c7-8d99-c44c6976ea98
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 |
|---|---|---|---|---|
| 40109 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 40110 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 40111 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 40112 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 40113 | capability.graph | complete | 1 / 3 | 3 months ago |
| 40114 | detector.run | complete | 1 / 3 | 3 months ago |
| 40115 | validation.fork | complete | 1 / 3 | 3 months ago |
| 40234 | report.consolidate | complete | 1 / 6 | 3 months ago |
| 40235 | tool.slither | failed | 2 / 2 | 3 months ago |
{
"status": "not_proxy"
}
Traceback (most recent call last):
File "/var/www/tripwire/worker/worker.py", line 198, in main
payload = dispatch_job(job_type, job_id, job_meta, run_data, config, laravel_client)
File "/var/www/tripwire/worker/worker.py", line 114, in dispatch_job
return slither_run.run(job_id, job_meta, run_data, config, log, laravel_client)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/worker/jobs/slither_run.py", line 1084, in run
stdout_text, stderr_text, result_json = _run_slither(
~~~~~~~~~~~~^
workspace,
^^^^^^^^^^
...<4 lines>...
target_path=target_path,
^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/var/www/tripwire/worker/jobs/slither_run.py", line 958, in _run_slither
raise RuntimeError(f"slither failed (exit {result.returncode}): {stderr_text or stdout_text}")
RuntimeError: slither failed (exit 1): 'forge clean' running (wd: /tmp/slither-tsz961fv)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-tsz961fv)
'forge' returned non-zero exit code 1
[2m2026-01-13T00:44:28.459690Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-tsz961fv/lib/openzeppelin-contracts/contracts/utils/math/SafeMath.sol": No such file or directory (os error 2)
stdout: [2m2026-01-13T00:44:28.459916Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-tsz961fv/lib/openzeppelin-contracts/contracts/utils/Counters.sol": No such file or directory (os error 2)
stdout: [2m2026-01-13T00:44:28.460122Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-tsz961fv/lib/openzeppelin-contracts/contracts/utils/math/SafeMath.sol": No such file or directory (os error 2)
stdout: [2m2026-01-13T00:44:28.460595Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-tsz961fv/lib/openzeppelin-contracts/contracts/utils/math/SafeMath.sol": No such file or directory (os error 2)
stdout: [2m2026-01-13T00:44:28.460631Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-tsz961fv/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol": No such file or directory (os error 2)
stdout: Unable to resolve imports:
stdout: "@openzeppelin/contracts/utils/Counters.sol" in "/tmp/slither-tsz961fv/contracts/Dependencies/ERC20Permit.sol"
stdout: "@openzeppelin/contracts/utils/math/SafeMath.sol" in "/tmp/slither-tsz961fv/contracts/Dependencies/DfrancMath.sol"
stdout: "@openzeppelin/contracts/utils/math/SafeMath.sol" in "/tmp/slither-tsz961fv/contracts/StabilityPool.sol"
stdout: "@openzeppelin/contracts/utils/math/SafeMath.sol" in "/tmp/slither-tsz961fv/contracts/Dependencies/SafetyTransfer.sol"
stdout: "@openzeppelin/contracts/security/ReentrancyGuard.sol" in "/tmp/slither-tsz961fv/contracts/StabilityPool.sol"
stdout: with remappings:
stdout: openzeppelin-contracts/=/tmp/slither-tsz961fv/lib/openzeppelin-contracts/
stdout: @openzeppelin/contracts/=/tmp/slither-tsz961fv/lib/openzeppelin-contracts/contracts/
Error: Encountered invalid solc version in lib/openzeppelin-contracts/contracts/access/Ownable.sol: No solc version exists that matches the version requirement: ^0.8.20
stderr: Encountered invalid solc version in lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol: No solc version exists that matches the version requirement: ^0.8.20
stderr: Encountered invalid solc version in lib/openzeppelin-contracts/contracts/utils/Address.sol: No solc version exists that matches the version requirement: ^0.8.20
stderr: Encountered invalid solc version in lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol: No solc version exists that matches the version requirement: ^0.8.20
stderr: Encountered invalid solc version in lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol: No solc version exists that matches the version requirement: ^0.8.20
stderr: Encountered invalid solc version in lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol: No solc version exists that matches the version requirement: ^0.8.20
stderr: Encountered invalid solc version in lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol: No solc version exists that matches the version requirement: ^0.8.20
stderr: Encountered invalid solc version in lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol: No solc version exists that matches the version requirement: ^0.8.20
Traceback (most recent call last):
File "/var/www/tripwire/.venv/bin/slither", line 10, in <module>
sys.exit(main())
~~~~^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 776, in main
main_impl(all_detector_classes=detectors, all_printer_classes=printers)
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 882, in main_impl
) = process_all(filename, args, detector_classes, printer_classes)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/slither/__main__.py", line 96, in process_all
compilations = compile_all(target, **vars(args))
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 722, in compile_all
compilations.append(CryticCompile(target, **kwargs))
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 211, in __init__
self._compile(**kwargs)
~~~~~~~~~~~~~^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/crytic_compile.py", line 633, in _compile
self._platform.compile(self, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/foundry.py", line 102, in compile
hardhat_like_parsing(
~~~~~~~~~~~~~~~~~~~~^
crytic_compile, str(self._target), build_directory, str(self._project_root)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/var/www/tripwire/.venv/lib/python3.13/site-packages/crytic_compile/platform/hardhat.py", line 52, in hardhat_like_parsing
raise InvalidCompilation(txt)
crytic_compile.platform.exceptions.InvalidCompilation: Compilation failed. Can you run build command?
/tmp/slither-tsz961fv/out/build-info is not a directory.
{"no_findings":false,"summary":"Found 2 issues: ERC20 collateral gains moved to a trove are not actually transferred, risking accounting mismatch/DoS; ERC20Permit uses a static domain separator, enabling signature replay across forks.","findings":[{"severity":"medium","category":"other","title":"ERC20 collateral gains sent to trove are not transferred, breaking accounting","exploit_scenario":"For non-ETH collateral, a user with asset gains calls `withdrawAssetGainToTrove`. The function decrements `assetBalance` and emits `AssetSent`, but never transfers ERC20 tokens (nor sets an allowance). If `borrowerOperations.moveETHGainToTrove` credits the trove without receiving tokens, the system can become undercollateralized; if it does not, `assetBalance` diverges from the real token balance and later withdrawals can underflow/revert, freezing gains and trapping collateral.","recommendation":"For ERC20 collateral, transfer the token amount out of the StabilityPool (e.g., `safeTransfer` to ActivePool or to BorrowerOperations) before updating `assetBalance`, or explicitly `approve` and require BorrowerOperations to pull the tokens. Alternatively, restrict `withdrawAssetGainToTrove` to ETH-only until proper token handling is implemented.","evidence":"`withdrawAssetGainToTrove` reduces `assetBalance` and only forwards ETH via `value` when `assetAddress == address(0)`, with no ERC20 transfer path.","locations":["contracts/StabilityPool.sol:275","contracts/StabilityPool.sol:306","contracts/StabilityPool.sol:310"]},{"severity":"low","category":"auth","title":"ERC20Permit domain separator is fixed at deployment (fork replay risk)","exploit_scenario":"If the chain forks or the chain ID changes, a permit signature created for one fork remains valid on the other because `DOMAIN_SEPARATOR` is cached once in the constructor. Attackers can replay signatures across forks to set allowances unexpectedly.","recommendation":"Use OpenZeppelin’s `EIP712`/`ERC20Permit` implementation or recompute `DOMAIN_SEPARATOR` when `block.chainid` changes (cache + conditional recompute).","evidence":"`DOMAIN_SEPARATOR` is computed once in the constructor and never updated for future `chainid` changes.","locations":["contracts/Dependencies/ERC20Permit.sol:57","contracts/Dependencies/ERC20Permit.sol:59","contracts/Dependencies/ERC20Permit.sol:65"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-h1ts9q4n
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bb4ae-cd69-7851-9c8e-c448f5aba370
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.
Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers
thinking
**Reading AUDIT_BUNDLE.txt**
exec
/bin/bash -lc ls in /tmp/codex-h1ts9q4n succeeded in 8ms:
AUDIT_BUNDLE.txt
@chainlink
codex-output-schema.json
contracts
@openzeppelin
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-h1ts9q4n succeeded in 8ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.
================================================================================
FILE: @chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol
================================================================================
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
interface AggregatorV3Interface {
function decimals()
external
view
returns (
uint8
);
function description()
external
thinking
**Preparing to analyze contracts for vulnerabilities**
exec
/bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-h1ts9q4n succeeded in 17ms:
5:FILE: @chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol
63:FILE: contracts/Dependencies/BaseMath.sol
73:FILE: contracts/Dependencies/CheckContract.sol
92:FILE: contracts/Dependencies/DfrancBase.sol
181:FILE: contracts/Dependencies/DfrancMath.sol
305:FILE: contracts/Dependencies/DfrancSafeMath128.sol
330:FILE: contracts/Dependencies/ERC20Decimals.sol
339:FILE: contracts/Dependencies/ERC20Permit.sol
461:FILE: contracts/Dependencies/Initializable.sol
566:FILE: contracts/Dependencies/SafetyTransfer.sol
593:FILE: contracts/Interfaces/IActivePool.sol
616:FILE: contracts/Interfaces/IBorrowerOperations.sol
730:FILE: contracts/Interfaces/ICollSurplusPool.sol
771:FILE: contracts/Interfaces/ICommunityIssuance.sol
814:FILE: contracts/Interfaces/IDCHFToken.sol
861:FILE: contracts/Interfaces/IDefaultPool.sol
879:FILE: contracts/Interfaces/IDeposit.sol
888:FILE: contracts/Interfaces/IDfrancBase.sol
902:FILE: contracts/Interfaces/IDfrancParameters.sol
998:FILE: contracts/Interfaces/IMONStaking.sol
thinking
**Checking for additional contracts**
exec
/bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt | tail' in /tmp/codex-h1ts9q4n succeeded in 7ms:
902:FILE: contracts/Interfaces/IDfrancParameters.sol
998:FILE: contracts/Interfaces/IMONStaking.sol
1058:FILE: contracts/Interfaces/IPool.sol
1090:FILE: contracts/Interfaces/IPriceFeed.sol
1140:FILE: contracts/Interfaces/ISortedTroves.sol
1215:FILE: contracts/Interfaces/IStabilityPool.sol
1371:FILE: contracts/Interfaces/IStabilityPoolManager.sol
1391:FILE: contracts/Interfaces/ITroveManager.sol
1623:FILE: contracts/Interfaces/ITroveManagerHelpers.sol
2037:FILE: contracts/StabilityPool.sol
thinking
**Reviewing StabilityPool contract**
exec
/bin/bash -lc "sed -n '2037,2600p' AUDIT_BUNDLE.txt" in /tmp/codex-h1ts9q4n succeeded in 11ms:
FILE: contracts/StabilityPool.sol
================================================================================
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.14;
import "@openzeppelin/contracts/utils/math/SafeMath.sol";
import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import "@openzeppelin/contracts/security/ReentrancyGuard.sol";
import "./Interfaces/IBorrowerOperations.sol";
import "./Interfaces/IStabilityPool.sol";
import "./Interfaces/IBorrowerOperations.sol";
import "./Interfaces/ITroveManager.sol";
import "./Interfaces/ITroveManagerHelpers.sol";
import "./Interfaces/IDCHFToken.sol";
import "./Interfaces/ISortedTroves.sol";
import "./Interfaces/ICommunityIssuance.sol";
import "./Dependencies/DfrancBase.sol";
import "./Dependencies/DfrancSafeMath128.sol";
thinking
**Analyzing reentrancy and asset accounting risks**
I'm carefully examining the contract’s use of ReentrancyGuard and how external calls might allow attacker reentrancy, especially through withdrawAssetGainToTrove which lacks protection. I'm also investigating potential inconsistencies in assetBalance tracking between token decimals and 1e18 units that could cause underflows or accounting errors. The possible effects of borrowerOperations being malicious and the usage of snapshots and transfers raise interesting questions on safety and precision here.
thinking
**Examining control flows and asset handling inconsistencies**
I’m exploring potential admin risks with parameters modifiable by owner and reentrancy concerns tied to borrowerOperations. I’m also scrutinizing how token decimals and assetBalance updates might mismatch between received amounts and internal accounting, especially given the use of decimalsCorrection and calls from ActivePool, which could hide subtle bugs in asset tracking.
exec
/bin/bash -lc "rg -n \"sendAsset\\(\" AUDIT_BUNDLE.txt" in /tmp/codex-h1ts9q4n succeeded in 8ms:
608: function sendAsset(
2538: activePoolCached.sendAsset(assetAddress, address(this), _collToAdd);
thinking
**Analyzing potential vulnerabilities and upgradeability issues**
I'm reviewing how the contract handles internal accounting with 1e18 precision, transfer conversions, and burn operations to assess risks. I’m also considering upgradeability concerns involving Initializable and Ownable, signature validation nuances in ERC20Permit, access controls, possible reentrancy points, and external call patterns. Overall, I find some minor upgradeability and replay risks, but no clear exploitable vulnerabilities stand out from the StabilityPool and related contracts.
exec
/bin/bash -lc 'rg -n "delegatecall" AUDIT_BUNDLE.txt' in /tmp/codex-h1ts9q4n exited 1 in 10ms:
thinking
**Analyzing token transfer logic in StabilityPool**
I'm examining potential issues with token transfers during withdrawAssetGainToTrove, especially how ERC20 tokens might not actually move despite internal balances updating. This mismatch could cause accounting bugs or blocked withdrawals, so I'm trying to understand how BorrowerOperations expects to handle token transfers and whether token support is fully implemented.
exec
/bin/bash -lc 'rg -n "moveETHGainToTrove" -n AUDIT_BUNDLE.txt' in /tmp/codex-h1ts9q4n succeeded in 6ms:
679: function moveETHGainToTrove(
2348: borrowerOperations.moveETHGainToTrove{
exec
/bin/bash -lc "sed -n '650,720p' AUDIT_BUNDLE.txt" in /tmp/codex-h1ts9q4n succeeded in 6ms:
function setAddresses(
address _troveManagerAddress,
address _troveManagerHelpersAddress,
address _stabilityPoolAddress,
address _gasPoolAddress,
address _collSurplusPoolAddress,
address _sortedTrovesAddress,
address _dchfTokenAddress,
address _MONStakingAddress,
address _dfrancParamsAddress
) external;
function openTrove(
address _asset,
uint256 _tokenAmount,
uint256 _maxFee,
uint256 _DCHFamount,
address _upperHint,
address _lowerHint
thinking
**Examining moveETHGainToTrove usage**
exec
/bin/bash -lc 'rg -n "withdrawAssetGainToTrove" -n AUDIT_BUNDLE.txt' in /tmp/codex-h1ts9q4n succeeded in 8ms:
1311: function withdrawAssetGainToTrove(address _upperHint, address _lowerHint) external;
2313: function withdrawAssetGainToTrove(address _upperHint, address _lowerHint) external override {
thinking
**Investigating asset gain handling for tokens**
exec
/bin/bash -lc "sed -n '900,1000p' AUDIT_BUNDLE.txt" in /tmp/codex-h1ts9q4n succeeded in 6ms:
================================================================================
FILE: contracts/Interfaces/IDfrancParameters.sol
================================================================================
pragma solidity ^0.8.14;
import "./IActivePool.sol";
import "./IDefaultPool.sol";
import "./IPriceFeed.sol";
import "./IDfrancBase.sol";
interface IDfrancParameters {
error SafeCheckError(
string parameter,
uint256 valueEntered,
uint256 minValue,
uint256 maxValue
);
event MCRChanged(uint256 oldMCR, uint256 newMCR);
thinking
**Analyzing token transfer flow and approvals**
exec
/bin/bash -lc 'rg -n "approve" contracts/StabilityPool.sol AUDIT_BUNDLE.txt' in /tmp/codex-h1ts9q4n succeeded in 9ms:
AUDIT_BUNDLE.txt:350: * IMPORTANT: The same issues {IERC20-approve} has related to transaction
AUDIT_BUNDLE.txt:443: _approve(owner, spender, amount);
thinking
**Identifying ERC20 token transfer bug and potential DoS risk**
exec
/bin/bash -lc "sed -n '2600,3300p' AUDIT_BUNDLE.txt" in /tmp/codex-h1ts9q4n succeeded in 18ms:
);
uint256 AssetGain = initialDeposit
.mul(firstPortion.add(secondPortion))
.div(P_Snapshot)
.div(DECIMAL_PRECISION);
return AssetGain;
}
/*
* Calculate the MON gain earned by a deposit since its last snapshots were taken.
* Given by the formula: MON = d0 * (G - G(0))/P(0)
* where G(0) and P(0) are the depositor's snapshots of the sum G and product P, respectively.
* d0 is the last recorded deposit value.
*/
function getDepositorMONGain(address _depositor) public view override returns (uint256) {
uint256 initialDeposit = deposits[_depositor];
if (initialDeposit == 0) {
return 0;
thinking
**Identifying potential audit issues**
exec
/bin/bash -lc "nl -ba contracts/StabilityPool.sol | sed -n '200,340p'" in /tmp/codex-h1ts9q4n succeeded in 10ms:
200 uint256 DCHFLoss = initialDeposit.sub(compoundedDCHFDeposit); // Needed only for event log
201
202 // First pay out any MON gains
203 _payOutMONGains(communityIssuanceCached, msg.sender);
204
205 // Update System stake
206 uint256 compoundedStake = getCompoundedTotalStake();
207 uint256 newStake = compoundedStake.add(_amount);
208 _updateStakeAndSnapshots(newStake);
209 emit StakeChanged(newStake, msg.sender);
210
211 _sendDCHFtoStabilityPool(msg.sender, _amount);
212
213 uint256 newDeposit = compoundedDCHFDeposit.add(_amount);
214 _updateDepositAndSnapshots(msg.sender, newDeposit);
215
216 emit UserDepositChanged(msg.sender, newDeposit);
217 emit AssetGainWithdrawn(msg.sender, depositorAssetGain, DCHFLoss); // DCHF Loss required for event log
218
219 _sendAssetGainToDepositor(depositorAssetGain, depositorAssetGainEther);
thinking
**Preparing to analyze ERC20Permit.sol**
exec
/bin/bash -lc "nl -ba contracts/Dependencies/ERC20Permit.sol | sed -n '1,200p'" in /tmp/codex-h1ts9q4n succeeded in 10ms:
1 pragma solidity ^0.8.14;
2 import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
3 import "@openzeppelin/contracts/utils/Counters.sol";
4
5 interface IERC2612Permit {
6 /**
7 * @dev Sets `amount` as the allowance of `spender` over `owner`'s tokens,
8 * given `owner`'s signed approval.
9 *
10 * IMPORTANT: The same issues {IERC20-approve} has related to transaction
11 * ordering also apply here.
12 *
13 * Emits an {Approval} event.
14 *
15 * Requirements:
16 *
17 * - `owner` cannot be the zero address.
18 * - `spender` cannot be the zero address.
19 * - `deadline` must be a timestamp in the future.
20 * - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner`
thinking
**Composing detailed vulnerability report**
I'm preparing a JSON report with two exploitable vulnerabilities: a medium-severity accounting mismatch in `withdrawAssetGainToTrove` risking insolvency or DOS, and a low-severity replay risk in `ERC20Permit` due to a static domain separator across chain forks. I'll include concise summaries, exploit scenarios, recommendations, and precise code locations for clarity and validity.
codex
{"no_findings":false,"summary":"Found 2 issues: ERC20 collateral gains moved to a trove are not actually transferred, risking accounting mismatch/DoS; ERC20Permit uses a static domain separator, enabling signature replay across forks.","findings":[{"severity":"medium","category":"other","title":"ERC20 collateral gains sent to trove are not transferred, breaking accounting","exploit_scenario":"For non-ETH collateral, a user with asset gains calls `withdrawAssetGainToTrove`. The function decrements `assetBalance` and emits `AssetSent`, but never transfers ERC20 tokens (nor sets an allowance). If `borrowerOperations.moveETHGainToTrove` credits the trove without receiving tokens, the system can become undercollateralized; if it does not, `assetBalance` diverges from the real token balance and later withdrawals can underflow/revert, freezing gains and trapping collateral.","recommendation":"For ERC20 collateral, transfer the token amount out of the StabilityPool (e.g., `safeTransfer` to ActivePool or to BorrowerOperations) before updating `assetBalance`, or explicitly `approve` and require BorrowerOperations to pull the tokens. Alternatively, restrict `withdrawAssetGainToTrove` to ETH-only until proper token handling is implemented.","evidence":"`withdrawAssetGainToTrove` reduces `assetBalance` and only forwards ETH via `value` when `assetAddress == address(0)`, with no ERC20 transfer path.","locations":["contracts/StabilityPool.sol:275","contracts/StabilityPool.sol:306","contracts/StabilityPool.sol:310"]},{"severity":"low","category":"auth","title":"ERC20Permit domain separator is fixed at deployment (fork replay risk)","exploit_scenario":"If the chain forks or the chain ID changes, a permit signature created for one fork remains valid on the other because `DOMAIN_SEPARATOR` is cached once in the constructor. Attackers can replay signatures across forks to set allowances unexpectedly.","recommendation":"Use OpenZeppelin’s `EIP712`/`ERC20Permit` implementation or recompute `DOMAIN_SEPARATOR` when `block.chainid` changes (cache + conditional recompute).","evidence":"`DOMAIN_SEPARATOR` is computed once in the constructor and never updated for future `chainid` changes.","locations":["contracts/Dependencies/ERC20Permit.sol:57","contracts/Dependencies/ERC20Permit.sol:59","contracts/Dependencies/ERC20Permit.sol:65"]}]}
tokens used
46,603
{
"codex": {
"ran_at": "2026-01-13T00:14:10.533905+00:00",
"returncode": 0
},
"project": {
"mode": "source",
"file_count": 38,
"import_count": 49,
"first_party_contracts_count": 28
},
"summary": "Found 2 issues: ERC20 collateral gains moved to a trove are not actually transferred, risking accounting mismatch/DoS; ERC20Permit uses a static domain separator, enabling signature replay across forks.",
"raw_final": {
"summary": "Found 2 issues: ERC20 collateral gains moved to a trove are not actually transferred, risking accounting mismatch/DoS; ERC20Permit uses a static domain separator, enabling signature replay across forks.",
"findings": [
{
"title": "ERC20 collateral gains sent to trove are not transferred, breaking accounting",
"category": "other",
"evidence": "`withdrawAssetGainToTrove` reduces `assetBalance` and only forwards ETH via `value` when `assetAddress == address(0)`, with no ERC20 transfer path.",
"severity": "medium",
"locations": [
"contracts/StabilityPool.sol:275",
"contracts/StabilityPool.sol:306",
"contracts/StabilityPool.sol:310"
],
"recommendation": "For ERC20 collateral, transfer the token amount out of the StabilityPool (e.g., `safeTransfer` to ActivePool or to BorrowerOperations) before updating `assetBalance`, or explicitly `approve` and require BorrowerOperations to pull the tokens. Alternatively, restrict `withdrawAssetGainToTrove` to ETH-only until proper token handling is implemented.",
"exploit_scenario": "For non-ETH collateral, a user with asset gains calls `withdrawAssetGainToTrove`. The function decrements `assetBalance` and emits `AssetSent`, but never transfers ERC20 tokens (nor sets an allowance). If `borrowerOperations.moveETHGainToTrove` credits the trove without receiving tokens, the system can become undercollateralized; if it does not, `assetBalance` diverges from the real token balance and later withdrawals can underflow/revert, freezing gains and trapping collateral."
},
{
"title": "ERC20Permit domain separator is fixed at deployment (fork replay risk)",
"category": "auth",
"evidence": "`DOMAIN_SEPARATOR` is computed once in the constructor and never updated for future `chainid` changes.",
"severity": "low",
"locations": [
"contracts/Dependencies/ERC20Permit.sol:57",
"contracts/Dependencies/ERC20Permit.sol:59",
"contracts/Dependencies/ERC20Permit.sol:65"
],
"recommendation": "Use OpenZeppelin\u2019s `EIP712`/`ERC20Permit` implementation or recompute `DOMAIN_SEPARATOR` when `block.chainid` changes (cache + conditional recompute).",
"exploit_scenario": "If the chain forks or the chain ID changes, a permit signature created for one fork remains valid on the other because `DOMAIN_SEPARATOR` is cached once in the constructor. Attackers can replay signatures across forks to set allowances unexpectedly."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x028c 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x896317b8 00000019: GT 0000001a: PUSH2 0x015a 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xae918754 00000024: GT 00000025: PUSH2 0x00c1 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xd733cfd0 0000002f: GT 00000030: PUSH2 0x007a 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xd733cfd0 0000003a: EQ 0000003b: PUSH2 0x08b2 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xe90f42ba 00000045: EQ 00000046: PUSH2 0x08d2 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xeb16f004 00000050: EQ 00000051: PUSH2 0x08f2 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xf2fde38b 0000005b: EQ 0000005c: PUSH2 0x0912 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0xf8832ae3 00000066: EQ 00000067: PUSH2 0x0932 0000006a: JUMPI 0000006b: DUP1 0000006c: PUSH4 0xfc7e286d 00000071: EQ 00000072: PUSH2 0x0969 00000075: JUMPI 00000076: PUSH1 0x00 00000078: DUP1 00000079: REVERT 0000007a: JUMPDEST 0000007b: DUP1 0000007c: PUSH4 0xae918754 00000081: EQ 00000082: PUSH2 0x080f 00000085: JUMPI 00000086: DUP1 00000087: PUSH4 0xba22f7cb 0000008c: EQ 0000008d: PUSH2 0x082f 00000090: JUMPI 00000091: DUP1 00000092: PUSH4 0xbf9befb1 00000097: EQ 00000098: PUSH2 0x084f 0000009b: JUMPI 0000009c: DUP1 0000009d: PUSH4 0xc2eeb958 000000a2: EQ 000000a3: PUSH2 0x0865 000000a6: JUMPI 000000a7: DUP1 000000a8: PUSH4 0xce4b5bbe 000000ad: EQ 000000ae: PUSH2 0x0885 000000b1: JUMPI 000000b2: DUP1 000000b3: PUSH4 0xd46c5646 000000b8: EQ 000000b9: PUSH2 0x089d 000000bc: JUMPI 000000bd: PUSH1 0x00 000000bf: DUP1 000000c0: REVERT 000000c1: JUMPDEST 000000c2: DUP1 000000c3: PUSH4 0xa263757f 000000c8: GT 000000c9: PUSH2 0x0113 000000cc: JUMPI 000000cd: DUP1 000000ce: PUSH4 0xa263757f 000000d3: EQ 000000d4: PUSH2 0x071f 000000d7: JUMPI 000000d8: DUP1 000000d9: PUSH4 0xa3f4df7e 000000de: EQ 000000df: PUSH2 0x073f 000000e2: JUMPI 000000e3: DUP1 000000e4: PUSH4 0xa4e59ac8 000000e9: EQ 000000ea: PUSH2 0x0785 000000ed: JUMPI 000000ee: DUP1 000000ef: PUSH4 0xa8e10e39 000000f4: EQ 000000f5: PUSH2 0x07a5 000000f8: JUMPI 000000f9: DUP1 000000fa: PUSH4 0xa9419ca3 000000ff: EQ 00000100: PUSH2 0x07d9 00000103: JUMPI 00000104: DUP1 00000105: PUSH4 0xab135249 0000010a: EQ 0000010b: PUSH2 0x07f9 0000010e: JUMPI 0000010f: PUSH1 0x00 00000111: DUP1 00000112: REVERT 00000113: JUMPDEST 00000114: DUP1 00000115: PUSH4 0x896317b8 0000011a: EQ 0000011b: PUSH2 0x0671 0000011e: JUMPI 0000011f: DUP1 00000120: PUSH4 0x8b8fbd92 00000125: EQ 00000126: PUSH2 0x068f 00000129: JUMPI 0000012a: DUP1 0000012b: PUSH4 0x8da5cb5b 00000130: EQ 00000131: PUSH2 0x06a5 00000134: JUMPI 00000135: DUP1 00000136: PUSH4 0x95fb16bb 0000013b: EQ 0000013c: PUSH2 0x06c3 0000013f: JUMPI 00000140: DUP1 00000141: PUSH4 0x9e86d0c4 00000146: EQ 00000147: PUSH2 0x06e3 0000014a: JUMPI 0000014b: DUP1 0000014c: PUSH4 0xa20baee6 00000151: EQ 00000152: PUSH2 0x0703 00000155: JUMPI 00000156: PUSH1 0x00 00000158: DUP1 00000159: REVERT 0000015a: JUMPDEST 0000015b: DUP1 0000015c: PUSH4 0x392e53cd 00000161: GT 00000162: PUSH2 0x01fe 00000165: JUMPI 00000166: DUP1 00000167: PUSH4 0x76671808 0000016c: GT 0000016d: PUSH2 0x01b7 00000170: JUMPI 00000171: DUP1 00000172: PUSH4 0x76671808 00000177: EQ 00000178: PUSH2 0x0514 0000017b: JUMPI 0000017c: DUP1 0000017d: PUSH4 0x77553ad4 00000182: EQ 00000183: PUSH2 0x0553 00000186: JUMPI 00000187: DUP1 00000188: PUSH4 0x78c77a24 0000018d: EQ 0000018e: PUSH2 0x0579 00000191: JUMPI 00000192: DUP1 00000193: PUSH4 0x82e0a574 00000198: EQ 00000199: PUSH2 0x0599 0000019c: JUMPI 0000019d: DUP1 0000019e: PUSH4 0x86da0824 000001a3: EQ 000001a4: PUSH2 0x05d1 000001a7: JUMPI 000001a8: DUP1 000001a9: PUSH4 0x89126888 000001ae: EQ 000001af: PUSH2 0x065b 000001b2: JUMPI 000001b3: PUSH1 0x00 000001b5: DUP1 000001b6: REVERT 000001b7: JUMPDEST 000001b8: DUP1 000001b9: PUSH4 0x392e53cd 000001be: EQ 000001bf: PUSH2 0x0460 000001c2: JUMPI 000001c3: DUP1 000001c4: PUSH4 0x3d83908a 000001c9: EQ 000001ca: PUSH2 0x048a 000001cd: JUMPI 000001ce: DUP1 000001cf: PUSH4 0x410381c4 000001d4: EQ 000001d5: PUSH2 0x04aa 000001d8: JUMPI 000001d9: DUP1 000001da: PUSH4 0x7087d168 000001df: EQ 000001e0: PUSH2 0x04ca 000001e3: JUMPI 000001e4: DUP1 000001e5: PUSH4 0x715018a6 000001ea: EQ 000001eb: PUSH2 0x04ea 000001ee: JUMPI 000001ef: DUP1 000001f0: PUSH4 0x72141e63 000001f5: EQ 000001f6: PUSH2 0x04ff 000001f9: JUMPI 000001fa: PUSH1 0x00 000001fc: DUP1 000001fd: REVERT 000001fe: JUMPDEST 000001ff: DUP1 00000200: PUSH4 0x27d04b35 00000205: GT 00000206: PUSH2 0x0250 00000209: JUMPI 0000020a: DUP1 0000020b: PUSH4 0x27d04b35 00000210: EQ 00000211: PUSH2 0x037e 00000214: JUMPI 00000215: DUP1 00000216: PUSH4 0x28a0a04d 0000021b: EQ 0000021c: PUSH2 0x039e 0000021f: JUMPI 00000220: DUP1 00000221: PUSH4 0x2d42b52b 00000226: EQ 00000227: PUSH2 0x03d6 0000022a: JUMPI 0000022b: DUP1 0000022c: PUSH4 0x2e54bf95 00000231: EQ 00000232: PUSH2 0x03eb 00000235: JUMPI 00000236: DUP1 00000237: PUSH4 0x335525ad 0000023c: EQ 0000023d: PUSH2 0x040d 00000240: JUMPI 00000241: DUP1 00000242: PUSH4 0x3470a4a2 00000247: EQ 00000248: PUSH2 0x042d 0000024b: JUMPI 0000024c: PUSH1 0x00 0000024e: DUP1 0000024f: REVERT 00000250: JUMPDEST 00000251: DUP1 00000252: PUSH4 0x0fe3e1b7 00000257: EQ 00000258: PUSH2 0x02d3 0000025b: JUMPI 0000025c: DUP1 0000025d: PUSH4 0x174b5579 00000262: EQ 00000263: PUSH2 0x0306 00000266: JUMPI 00000267: DUP1 00000268: PUSH4 0x183b3159 0000026d: EQ 0000026e: PUSH2 0x031c 00000271: JUMPI 00000272: DUP1 00000273: PUSH4 0x1de64283 00000278: EQ 00000279: PUSH2 0x0331 0000027c: JUMPI 0000027d: DUP1 0000027e: PUSH4 0x23019524 00000283: EQ 00000284: PUSH2 0x0346 00000287: JUMPI 00000288: PUSH1 0x00 0000028a: DUP1 0000028b: REVERT 0000028c: JUMPDEST 0000028d: CALLDATASIZE 0000028e: PUSH2 0x02ce 00000291: JUMPI 00000292: PUSH2 0x0299 00000295: PUSH2 0x0996 00000298: JUMP 00000299: JUMPDEST 0000029a: PUSH1 0x0a 0000029c: SLOAD 0000029d: PUSH2 0x02a6 000002a0: SWAP1 000002a1: CALLVALUE 000002a2: PUSH2 0x0a84 000002a5: JUMP 000002a6: JUMPDEST 000002a7: PUSH1 0x0a 000002a9: DUP2 000002aa: SWAP1 000002ab: SSTORE 000002ac: PUSH1 0x40 000002ae: MLOAD 000002af: SWAP1 000002b0: DUP2 000002b1: MSTORE 000002b2: PUSH1 0x00 000002b4: DUP1 000002b5: MLOAD 000002b6: PUSH1 0x20 000002b8: PUSH2 0x3bcb 000002bb: DUP4 000002bc: CODECOPY 000002bd: DUP2 000002be: MLOAD 000002bf: SWAP2 000002c0: MSTORE 000002c1: SWAP1 000002c2: PUSH1 0x20 000002c4: ADD 000002c5: PUSH1 0x40 000002c7: MLOAD 000002c8: DUP1 000002c9: SWAP2 000002ca: SUB 000002cb: SWAP1 000002cc: LOG1 000002cd: STOP 000002ce: JUMPDEST 000002cf: PUSH1 0x00 000002d1: DUP1 000002d2: REVERT 000002d3: JUMPDEST 000002d4: CALLVALUE 000002d5: DUP1 000002d6: ISZERO 000002d7: PUSH2 0x02df 000002da: JUMPI 000002db: PUSH1 0x00 000002dd: DUP1 000002de: REVERT 000002df: JUMPDEST 000002e0: POP 000002e1: PUSH2 0x02f3 000002e4: PUSH2 0x02ee 000002e7: CALLDATASIZE 000002e8: PUSH1 0x04 000002ea: PUSH2 0x36bd 000002ed: JUMP 000002ee: JUMPDEST 000002ef: PUSH2 0x0a99 000002f2: JUMP 000002f3: JUMPDEST 000002f4: PUSH1 0x40 000002f6: MLOAD 000002f7: SWAP1 000002f8: DUP2 000002f9: MSTORE 000002fa: PUSH1 0x20 000002fc: ADD 000002fd: JUMPDEST 000002fe: PUSH1 0x40 00000300: MLOAD 00000301: DUP1 00000302: SWAP2 00000303: SUB 00000304: SWAP1 00000305: RETURN 00000306: JUMPDEST 00000307: CALLVALUE 00000308: DUP1 00000309: ISZERO 0000030a: PUSH2 0x0312 0000030d: JUMPI 0000030e: PUSH1 0x00 00000310: DUP1 00000311: REVERT 00000312: JUMPDEST 00000313: POP 00000314: PUSH2 0x02f3 00000317: PUSH1 0x19 00000319: SLOAD 0000031a: DUP2 0000031b: JUMP 0000031c: JUMPDEST 0000031d: CALLVALUE 0000031e: DUP1 0000031f: ISZERO 00000320: PUSH2 0x0328 00000323: JUMPI 00000324: PUSH1 0x00 00000326: DUP1 00000327: REVERT 00000328: JUMPDEST 00000329: POP 0000032a: PUSH1 0x0a 0000032c: SLOAD 0000032d: PUSH2 0x02f3 00000330: JUMP 00000331: JUMPDEST 00000332: CALLVALUE 00000333: DUP1 00000334: ISZERO 00000335: PUSH2 0x033d 00000338: JUMPI 00000339: PUSH1 0x00 0000033b: DUP1 0000033c: REVERT 0000033d: JUMPDEST 0000033e: POP 0000033f: PUSH2 0x02f3 00000342: PUSH2 0x0b38 00000345: JUMP 00000346: JUMPDEST 00000347: CALLVALUE 00000348: DUP1 00000349: ISZERO 0000034a: PUSH2 0x0352 0000034d: JUMPI 0000034e: PUSH1 0x00 00000350: DUP1 00000351: REVERT 00000352: JUMPDEST 00000353: POP 00000354: PUSH1 0x06 00000356: SLOAD 00000357: PUSH2 0x0366 0000035a: SWAP1 0000035b: PUSH1 0x01 0000035d: PUSH1 0x01 0000035f: PUSH1 0xa0 00000361: SHL 00000362: SUB 00000363: AND 00000364: DUP2 00000365: JUMP 00000366: JUMPDEST 00000367: PUSH1 0x40 00000369: MLOAD 0000036a: PUSH1 0x01 0000036c: PUSH1 0x01 0000036e: PUSH1 0xa0 00000370: SHL 00000371: SUB 00000372: SWAP1 00000373: SWAP2 00000374: AND 00000375: DUP2 00000376: MSTORE 00000377: PUSH1 0x20 00000379: ADD 0000037a: PUSH2 0x02fd 0000037d: JUMP 0000037e: JUMPDEST 0000037f: CALLVALUE 00000380: DUP1 00000381: ISZERO 00000382: PUSH2 0x038a 00000385: JUMPI 00000386: PUSH1 0x00 00000388: DUP1 00000389: REVERT 0000038a: JUMPDEST 0000038b: POP 0000038c: PUSH2 0x02f3 0000038f: PUSH2 0x0399 00000392: CALLDATASIZE 00000393: PUSH1 0x04 00000395: PUSH2 0x36bd 00000398: JUMP 00000399: JUMPDEST 0000039a: PUSH2 0x0ba0 0000039d: JUMP 0000039e: JUMPDEST 0000039f: CALLVALUE 000003a0: DUP1 000003a1: ISZERO 000003a2: PUSH2 0x03aa 000003a5: JUMPI 000003a6: PUSH1 0x00 000003a8: DUP1 000003a9: REVERT 000003aa: JUMPDEST 000003ab: POP 000003ac: PUSH2 0x02f3 000003af: PUSH2 0x03b9 000003b2: CALLDATASIZE 000003b3: PUSH1 0x04 000003b5: PUSH2 0x36f6 000003b8: JUMP 000003b9: JUMPDEST 000003ba: PUSH1 0x15 000003bc: PUSH1 0x20 000003be: SWAP1 000003bf: DUP2 000003c0: MSTORE 000003c1: PUSH1 0x00 000003c3: SWAP3 000003c4: DUP4 000003c5: MSTORE 000003c6: PUSH1 0x40 000003c8: DUP1 000003c9: DUP5 000003ca: KECCAK256 000003cb: SWAP1 000003cc: SWAP2 000003cd: MSTORE 000003ce: SWAP1 000003cf: DUP3 000003d0: MSTORE 000003d1: SWAP1 000003d2: KECCAK256 000003d3: SLOAD 000003d4: DUP2 000003d5: JUMP 000003d6: JUMPDEST 000003d7: CALLVALUE 000003d8: DUP1 000003d9: ISZERO 000003da: PUSH2 0x03e2 000003dd: JUMPI 000003de: PUSH1 0x00 000003e0: DUP1 000003e1: REVERT 000003e2: JUMPDEST 000003e3: POP 000003e4: PUSH1 0x0b 000003e6: SLOAD 000003e7: PUSH2 0x02f3 000003ea: JUMP 000003eb: JUMPDEST 000003ec: CALLVALUE 000003ed: DUP1 000003ee: ISZERO 000003ef: PUSH2 0x03f7 000003f2: JUMPI 000003f3: PUSH1 0x00 000003f5: DUP1 000003f6: REVERT 000003f7: JUMPDEST 000003f8: POP 000003f9: PUSH2 0x040b 000003fc: PUSH2 0x0406 000003ff: CALLDATASIZE 00000400: PUSH1 0x04 00000402: PUSH2 0x3729 00000405: JUMP 00000406: JUMPDEST 00000407: PUSH2 0x0d7a 0000040a: JUMP 0000040b: JUMPDEST 0000040c: STOP 0000040d: JUMPDEST 0000040e: CALLVALUE 0000040f: DUP1 00000410: ISZERO 00000411: PUSH2 0x0419 00000414: JUMPI 00000415: PUSH1 0x00 00000417: DUP1 00000418: REVERT 00000419: JUMPDEST 0000041a: POP 0000041b: PUSH2 0x040b 0000041e: PUSH2 0x0428 00000421: CALLDATASIZE 00000422: PUSH1 0x04 00000424: PUSH2 0x3742 00000427: JUMP 00000428: JUMPDEST 00000429: PUSH2 0x0f61 0000042c: JUMP 0000042d: JUMPDEST 0000042e: CALLVALUE 0000042f: DUP1 00000430: ISZERO 00000431: PUSH2 0x0439 00000434: JUMPI 00000435: PUSH1 0x00 00000437: DUP1 00000438: REVERT 00000439: JUMPDEST 0000043a: POP 0000043b: PUSH32 0xf704b47f65a99b2219b7213612db4be4a436cdf50624f4baca1373ef0de0aac7 0000045c: PUSH2 0x02f3 0000045f: JUMP 00000460: JUMPDEST 00000461: CALLVALUE 00000462: DUP1 00000463: ISZERO 00000464: PUSH2 0x046c 00000467: JUMPI 00000468: PUSH1 0x00 0000046a: DUP1 0000046b: REVERT 0000046c: JUMPDEST 0000046d: POP 0000046e: PUSH1 0x1a 00000470: SLOAD 00000471: PUSH2 0x047a 00000474: SWAP1 00000475: PUSH1 0xff 00000477: AND 00000478: DUP2 00000479: JUMP 0000047a: JUMPDEST 0000047b: PUSH1 0x40 0000047d: MLOAD 0000047e: SWAP1 0000047f: ISZERO 00000480: ISZERO 00000481: DUP2 00000482: MSTORE 00000483: PUSH1 0x20 00000485: ADD 00000486: PUSH2 0x02fd 00000489: JUMP 0000048a: JUMPDEST 0000048b: CALLVALUE 0000048c: DUP1 0000048d: ISZERO 0000048e: PUSH2 0x0496 00000491: JUMPI 00000492: PUSH1 0x00 00000494: DUP1 00000495: REVERT 00000496: JUMPDEST 00000497: POP 00000498: PUSH1 0x04 0000049a: SLOAD 0000049b: PUSH2 0x0366 0000049e: SWAP1 0000049f: PUSH1 0x01 000004a1: PUSH1 0x01 000004a3: PUSH1 0xa0 000004a5: SHL 000004a6: SUB 000004a7: AND 000004a8: DUP2 000004a9: JUMP 000004aa: JUMPDEST 000004ab: CALLVALUE 000004ac: DUP1 000004ad: ISZERO 000004ae: PUSH2 0x04b6 000004b1: JUMPI 000004b2: PUSH1 0x00 000004b4: DUP1 000004b5: REVERT 000004b6: JUMPDEST 000004b7: POP 000004b8: PUSH2 0x02f3 000004bb: PUSH2 0x04c5 000004be: CALLDATASIZE 000004bf: PUSH1 0x04 000004c1: PUSH2 0x36bd 000004c4: JUMP 000004c5: JUMPDEST 000004c6: PUSH2 0x0fc3 000004c9: JUMP 000004ca: JUMPDEST 000004cb: CALLVALUE 000004cc: DUP1 000004cd: ISZERO 000004ce: PUSH2 0x04d6 000004d1: JUMPI 000004d2: PUSH1 0x00 000004d4: DUP1 000004d5: REVERT 000004d6: JUMPDEST 000004d7: POP 000004d8: PUSH2 0x02f3 000004db: PUSH2 0x04e5 000004de: CALLDATASIZE 000004df: PUSH1 0x04 000004e1: PUSH2 0x36bd 000004e4: JUMP 000004e5: JUMPDEST 000004e6: PUSH2 0x105a 000004e9: JUMP 000004ea: JUMPDEST 000004eb: CALLVALUE 000004ec: DUP1 000004ed: ISZERO 000004ee: PUSH2 0x04f6 000004f1: JUMPI 000004f2: PUSH1 0x00 000004f4: DUP1 000004f5: REVERT 000004f6: JUMPDEST 000004f7: POP 000004f8: PUSH2 0x040b 000004fb: PUSH2 0x10f9 000004fe: JUMP 000004ff: JUMPDEST 00000500: CALLVALUE 00000501: DUP1 00000502: ISZERO 00000503: PUSH2 0x050b 00000506: JUMPI 00000507: PUSH1 0x00 00000509: DUP1 0000050a: REVERT 0000050b: JUMPDEST 0000050c: POP 0000050d: PUSH2 0x0366 00000510: PUSH1 0x00 00000512: DUP2 00000513: JUMP 00000514: JUMPDEST 00000515: CALLVALUE 00000516: DUP1 00000517: ISZERO 00000518: PUSH2 0x0520 0000051b: JUMPI 0000051c: PUSH1 0x00 0000051e: DUP1 0000051f: REVERT 00000520: JUMPDEST 00000521: POP 00000522: PUSH1 0x14 00000524: SLOAD 00000525: PUSH2 0x053b 00000528: SWAP1 00000529: PUSH1 0x01 0000052b: PUSH1 0x80 0000052d: SHL 0000052e: SWAP1 0000052f: DIV 00000530: PUSH1 0x01 00000532: PUSH1 0x01 00000534: PUSH1 0x80 00000536: SHL 00000537: SUB 00000538: AND 00000539: DUP2 0000053a: JUMP 0000053b: JUMPDEST 0000053c: PUSH1 0x40 0000053e: MLOAD 0000053f: PUSH1 0x01 00000541: PUSH1 0x01 00000543: PUSH1 0x80 00000545: SHL 00000546: SUB 00000547: SWAP1 00000548: SWAP2 00000549: AND 0000054a: DUP2 0000054b: MSTORE 0000054c: PUSH1 0x20 0000054e: ADD 0000054f: PUSH2 0x02fd 00000552: JUMP 00000553: JUMPDEST 00000554: CALLVALUE 00000555: DUP1 00000556: ISZERO 00000557: PUSH2 0x055f 0000055a: JUMPI 0000055b: PUSH1 0x00 0000055d: DUP1 0000055e: REVERT 0000055f: JUMPDEST 00000560: POP 00000561: PUSH1 0x03 00000563: SLOAD 00000564: PUSH2 0x0366 00000567: SWAP1 00000568: PUSH3 0x010000 0000056c: SWAP1 0000056d: DIV 0000056e: PUSH1 0x01 00000570: PUSH1 0x01 00000572: PUSH1 0xa0 00000574: SHL 00000575: SUB 00000576: AND 00000577: DUP2 00000578: JUMP 00000579: JUMPDEST 0000057a: CALLVALUE 0000057b: DUP1 0000057c: ISZERO 0000057d: PUSH2 0x0585 00000580: JUMPI 00000581: PUSH1 0x00 00000583: DUP1 00000584: REVERT 00000585: JUMPDEST 00000586: POP 00000587: PUSH2 0x040b 0000058a: PUSH2 0x0594 0000058d: CALLDATASIZE 0000058e: PUSH1 0x04 00000590: PUSH2 0x3729 00000593: JUMP 00000594: JUMPDEST 00000595: PUSH2 0x112d 00000598: JUMP 00000599: JUMPDEST 0000059a: CALLVALUE 0000059b: DUP1 0000059c: ISZERO 0000059d: PUSH2 0x05a5 000005a0: JUMPI 000005a1: PUSH1 0x00 000005a3: DUP1 000005a4: REVERT 000005a5: JUMPDEST 000005a6: POP 000005a7: PUSH2 0x02f3 000005aa: PUSH2 0x05b4 000005ad: CALLDATASIZE 000005ae: PUSH1 0x04 000005b0: PUSH2 0x36f6 000005b3: JUMP 000005b4: JUMPDEST 000005b5: PUSH1 0x16 000005b7: PUSH1 0x20 000005b9: SWAP1 000005ba: DUP2 000005bb: MSTORE 000005bc: PUSH1 0x00 000005be: SWAP3 000005bf: DUP4 000005c0: MSTORE 000005c1: PUSH1 0x40 000005c3: DUP1 000005c4: DUP5 000005c5: KECCAK256 000005c6: SWAP1 000005c7: SWAP2 000005c8: MSTORE 000005c9: SWAP1 000005ca: DUP3 000005cb: MSTORE 000005cc: SWAP1 000005cd: KECCAK256 000005ce: SLOAD 000005cf: DUP2 000005d0: JUMP 000005d1: JUMPDEST 000005d2: CALLVALUE 000005d3: DUP1 000005d4: ISZERO 000005d5: PUSH2 0x05dd 000005d8: JUMPI 000005d9: PUSH1 0x00 000005db: DUP1 000005dc: REVERT 000005dd: JUMPDEST 000005de: POP 000005df: PUSH2 0x0627 000005e2: PUSH2 0x05ec 000005e5: CALLDATASIZE 000005e6: PUSH1 0x04 000005e8: PUSH2 0x36bd 000005eb: JUMP 000005ec: JUMPDEST 000005ed: PUSH1 0x0d 000005ef: PUSH1 0x20 000005f1: MSTORE 000005f2: PUSH1 0x00 000005f4: SWAP1 000005f5: DUP2 000005f6: MSTORE 000005f7: PUSH1 0x40 000005f9: SWAP1 000005fa: KECCAK256 000005fb: DUP1 000005fc: SLOAD 000005fd: PUSH1 0x01 000005ff: DUP3 00000600: ADD 00000601: SLOAD 00000602: PUSH1 0x02 00000604: DUP4 00000605: ADD 00000606: SLOAD 00000607: PUSH1 0x03 00000609: SWAP1 0000060a: SWAP4 0000060b: ADD 0000060c: SLOAD 0000060d: SWAP2 0000060e: SWAP3 0000060f: SWAP1 00000610: SWAP2 00000611: PUSH1 0x01 00000613: PUSH1 0x01 00000615: PUSH1 0x80 00000617: SHL 00000618: SUB 00000619: DUP1 0000061a: DUP3 0000061b: AND 0000061c: SWAP2 0000061d: PUSH1 0x01 0000061f: PUSH1 0x80 00000621: SHL 00000622: SWAP1 00000623: DIV 00000624: AND 00000625: DUP6 00000626: JUMP 00000627: JUMPDEST 00000628: PUSH1 0x40 0000062a: DUP1 0000062b: MLOAD 0000062c: SWAP6 0000062d: DUP7 0000062e: MSTORE 0000062f: PUSH1 0x20 00000631: DUP7 00000632: ADD 00000633: SWAP5 00000634: SWAP1 00000635: SWAP5 00000636: MSTORE 00000637: SWAP3 00000638: DUP5 00000639: ADD 0000063a: SWAP2 0000063b: SWAP1 0000063c: SWAP2 0000063d: MSTORE 0000063e: PUSH1 0x01 00000640: PUSH1 0x01 00000642: PUSH1 0x80 00000644: SHL 00000645: SUB 00000646: SWAP1 00000647: DUP2 00000648: AND 00000649: PUSH1 0x60 0000064b: DUP5 0000064c: ADD 0000064d: MSTORE 0000064e: AND 0000064f: PUSH1 0x80 00000651: DUP3 00000652: ADD 00000653: MSTORE 00000654: PUSH1 0xa0 00000656: ADD 00000657: PUSH2 0x02fd 0000065a: JUMP 0000065b: JUMPDEST 0000065c: CALLVALUE 0000065d: DUP1 0000065e: ISZERO 0000065f: PUSH2 0x0667 00000662: JUMPI 00000663: PUSH1 0x00 00000665: DUP1 00000666: REVERT 00000667: JUMPDEST 00000668: POP 00000669: PUSH2 0x02f3 0000066c: PUSH1 0x17 0000066e: SLOAD 0000066f: DUP2 00000670: JUMP 00000671: JUMPDEST 00000672: CALLVALUE 00000673: DUP1 00000674: ISZERO 00000675: PUSH2 0x067d 00000678: JUMPI 00000679: PUSH1 0x00 0000067b: DUP1 0000067c: REVERT 0000067d: JUMPDEST 0000067e: POP 0000067f: PUSH1 0x09 00000681: SLOAD 00000682: PUSH1 0x01 00000684: PUSH1 0x01 00000686: PUSH1 0xa0 00000688: SHL 00000689: SUB 0000068a: AND 0000068b: PUSH2 0x0366 0000068e: JUMP 0000068f: JUMPDEST 00000690: CALLVALUE 00000691: DUP1 00000692: ISZERO 00000693: PUSH2 0x069b 00000696: JUMPI 00000697: PUSH1 0x00 00000699: DUP1 0000069a: REVERT 0000069b: JUMPDEST 0000069c: POP 0000069d: PUSH2 0x02f3 000006a0: PUSH1 0x13 000006a2: SLOAD 000006a3: DUP2 000006a4: JUMP 000006a5: JUMPDEST 000006a6: CALLVALUE 000006a7: DUP1 000006a8: ISZERO 000006a9: PUSH2 0x06b1 000006ac: JUMPI 000006ad: PUSH1 0x00 000006af: DUP1 000006b0: REVERT 000006b1: JUMPDEST 000006b2: POP 000006b3: PUSH1 0x00 000006b5: SLOAD 000006b6: PUSH1 0x01 000006b8: PUSH1 0x01 000006ba: PUSH1 0xa0 000006bc: SHL 000006bd: SUB 000006be: AND 000006bf: PUSH2 0x0366 000006c2: JUMP 000006c3: JUMPDEST 000006c4: CALLVALUE 000006c5: DUP1 000006c6: ISZERO 000006c7: PUSH2 0x06cf 000006ca: JUMPI 000006cb: PUSH1 0x00 000006cd: DUP1 000006ce: REVERT 000006cf: JUMPDEST 000006d0: POP 000006d1: PUSH1 0x08 000006d3: SLOAD 000006d4: PUSH2 0x0366 000006d7: SWAP1 000006d8: PUSH1 0x01 000006da: PUSH1 0x01 000006dc: PUSH1 0xa0 000006de: SHL 000006df: SUB 000006e0: AND 000006e1: DUP2 000006e2: JUMP 000006e3: JUMPDEST 000006e4: CALLVALUE 000006e5: DUP1 000006e6: ISZERO 000006e7: PUSH2 0x06ef 000006ea: JUMPI 000006eb: PUSH1 0x00 000006ed: DUP1 000006ee: REVERT 000006ef: JUMPDEST 000006f0: POP 000006f1: PUSH2 0x02f3 000006f4: PUSH2 0x06fe 000006f7: CALLDATASIZE 000006f8: PUSH1 0x04 000006fa: PUSH2 0x36bd 000006fd: JUMP 000006fe: JUMPDEST 000006ff: PUSH2 0x12f7 00000702: JUMP 00000703: JUMPDEST 00000704: CALLVALUE 00000705: DUP1 00000706: ISZERO 00000707: PUSH2 0x070f 0000070a: JUMPI 0000070b: PUSH1 0x00 0000070d: DUP1 0000070e: REVERT 0000070f: JUMPDEST 00000710: POP 00000711: PUSH2 0x02f3 00000714: PUSH8 0x0de0b6b3a7640000 0000071d: DUP2 0000071e: JUMP 0000071f: JUMPDEST 00000720: CALLVALUE 00000721: DUP1 00000722: ISZERO 00000723: PUSH2 0x072b 00000726: JUMPI 00000727: PUSH1 0x00 00000729: DUP1 0000072a: REVERT 0000072b: JUMPDEST 0000072c: POP 0000072d: PUSH2 0x040b 00000730: PUSH2 0x073a 00000733: CALLDATASIZE 00000734: PUSH1 0x04 00000736: PUSH2 0x36bd 00000739: JUMP 0000073a: JUMPDEST 0000073b: PUSH2 0x1488 0000073e: JUMP 0000073f: JUMPDEST 00000740: CALLVALUE 00000741: DUP1 00000742: ISZERO 00000743: PUSH2 0x074b 00000746: JUMPI 00000747: PUSH1 0x00 00000749: DUP1 0000074a: REVERT 0000074b: JUMPDEST 0000074c: POP 0000074d: PUSH2 0x0778 00000750: PUSH1 0x40 00000752: MLOAD 00000753: DUP1 00000754: PUSH1 0x40 00000756: ADD 00000757: PUSH1 0x40 00000759: MSTORE 0000075a: DUP1 0000075b: PUSH1 0x0d 0000075d: DUP2 0000075e: MSTORE 0000075f: PUSH1 0x20 00000761: ADD 00000762: PUSH13 0x14dd18589a5b1a5d1e541bdbdb 00000770: PUSH1 0x9a 00000772: SHL 00000773: DUP2 00000774: MSTORE 00000775: POP 00000776: DUP2 00000777: JUMP 00000778: JUMPDEST 00000779: PUSH1 0x40 0000077b: MLOAD 0000077c: PUSH2 0x02fd 0000077f: SWAP2 00000780: SWAP1 00000781: PUSH2 0x3794 00000784: JUMP 00000785: JUMPDEST 00000786: CALLVALUE 00000787: DUP1 00000788: ISZERO 00000789: PUSH2 0x0791 0000078c: JUMPI 0000078d: PUSH1 0x00 0000078f: DUP1 00000790: REVERT 00000791: JUMPDEST 00000792: POP 00000793: PUSH1 0x14 00000795: SLOAD 00000796: PUSH2 0x053b 00000799: SWAP1 0000079a: PUSH1 0x01 0000079c: PUSH1 0x01 0000079e: PUSH1 0x80 000007a0: SHL 000007a1: SUB 000007a2: AND 000007a3: DUP2 000007a4: JUMP 000007a5: JUMPDEST 000007a6: CALLVALUE 000007a7: DUP1 000007a8: ISZERO 000007a9: PUSH2 0x07b1 000007ac: JUMPI 000007ad: PUSH1 0x00 000007af: DUP1 000007b0: REVERT 000007b1: JUMPDEST 000007b2: POP 000007b3: PUSH2 0x02f3 000007b6: PUSH32 0xf704b47f65a99b2219b7213612db4be4a436cdf50624f4baca1373ef0de0aac7 000007d7: DUP2 000007d8: JUMP 000007d9: JUMPDEST 000007da: CALLVALUE 000007db: DUP1 000007dc: ISZERO 000007dd: PUSH2 0x07e5 000007e0: JUMPI 000007e1: PUSH1 0x00 000007e3: DUP1 000007e4: REVERT 000007e5: JUMPDEST 000007e6: POP 000007e7: PUSH1 0x05 000007e9: SLOAD 000007ea: PUSH2 0x0366 000007ed: SWAP1 000007ee: PUSH1 0x01 000007f0: PUSH1 0x01 000007f2: PUSH1 0xa0 000007f4: SHL 000007f5: SUB 000007f6: AND 000007f7: DUP2 000007f8: JUMP 000007f9: JUMPDEST 000007fa: CALLVALUE 000007fb: DUP1 000007fc: ISZERO 000007fd: PUSH2 0x0805 00000800: JUMPI 00000801: PUSH1 0x00 00000803: DUP1 00000804: REVERT 00000805: JUMPDEST 00000806: POP 00000807: PUSH2 0x02f3 0000080a: PUSH1 0x18 0000080c: SLOAD 0000080d: DUP2 0000080e: JUMP 0000080f: JUMPDEST 00000810: CALLVALUE 00000811: DUP1 00000812: ISZERO 00000813: PUSH2 0x081b 00000816: JUMPI 00000817: PUSH1 0x00 00000819: DUP1 0000081a: REVERT 0000081b: JUMPDEST 0000081c: POP 0000081d: PUSH1 0x07 0000081f: SLOAD 00000820: PUSH2 0x0366 00000823: SWAP1 00000824: PUSH1 0x01 00000826: PUSH1 0x01 00000828: PUSH1 0xa0 0000082a: SHL 0000082b: SUB 0000082c: AND 0000082d: DUP2 0000082e: JUMP 0000082f: JUMPDEST 00000830: CALLVALUE 00000831: DUP1 00000832: ISZERO 00000833: PUSH2 0x083b 00000836: JUMPI 00000837: PUSH1 0x00 00000839: DUP1 0000083a: REVERT 0000083b: JUMPDEST 0000083c: POP 0000083d: PUSH2 0x02f3 00000840: PUSH2 0x084a 00000843: CALLDATASIZE 00000844: PUSH1 0x04 00000846: PUSH2 0x36bd 00000849: JUMP 0000084a: JUMPDEST 0000084b: PUSH2 0x14fc 0000084e: JUMP 0000084f: JUMPDEST 00000850: CALLVALUE 00000851: DUP1 00000852: ISZERO 00000853: PUSH2 0x085b 00000856: JUMPI 00000857: PUSH1 0x00 00000859: DUP1 0000085a: REVERT 0000085b: JUMPDEST 0000085c: POP 0000085d: PUSH2 0x02f3 00000860: PUSH1 0x0e 00000862: SLOAD 00000863: DUP2 00000864: JUMP 00000865: JUMPDEST 00000866: CALLVALUE 00000867: DUP1 00000868: ISZERO 00000869: PUSH2 0x0871 0000086c: JUMPI 0000086d: PUSH1 0x00 0000086f: DUP1 00000870: REVERT 00000871: JUMPDEST 00000872: POP 00000873: PUSH2 0x040b 00000876: PUSH2 0x0880 00000879: CALLDATASIZE 0000087a: PUSH1 0x04 0000087c: PUSH2 0x37c7 0000087f: JUMP 00000880: JUMPDEST 00000881: PUSH2 0x15a3 00000884: JUMP 00000885: JUMPDEST 00000886: CALLVALUE 00000887: DUP1 00000888: ISZERO 00000889: PUSH2 0x0891 0000088c: JUMPI 0000088d: PUSH1 0x00 0000088f: DUP1 00000890: REVERT 00000891: JUMPDEST 00000892: POP 00000893: PUSH2 0x02f3 00000896: PUSH4 0x3b9aca00 0000089b: DUP2 0000089c: JUMP 0000089d: JUMPDEST 0000089e: CALLVALUE 0000089f: DUP1 000008a0: ISZERO 000008a1: PUSH2 0x08a9 000008a4: JUMPI 000008a5: PUSH1 0x00 000008a7: DUP1 000008a8: REVERT 000008a9: JUMPDEST 000008aa: POP 000008ab: PUSH2 0x040b 000008ae: PUSH2 0x17f8 000008b1: JUMP 000008b2: JUMPDEST 000008b3: CALLVALUE 000008b4: DUP1 000008b5: ISZERO 000008b6: PUSH2 0x08be 000008b9: JUMPI 000008ba: PUSH1 0x00 000008bc: DUP1 000008bd: REVERT 000008be: JUMPDEST 000008bf: POP 000008c0: PUSH2 0x040b 000008c3: PUSH2 0x08cd 000008c6: CALLDATASIZE 000008c7: PUSH1 0x04 000008c9: PUSH2 0x3800 000008cc: JUMP 000008cd: JUMPDEST 000008ce: PUSH2 0x1ac4 000008d1: JUMP 000008d2: JUMPDEST 000008d3: CALLVALUE 000008d4: DUP1 000008d5: ISZERO 000008d6: PUSH2 0x08de 000008d9: JUMPI 000008da: PUSH1 0x00 000008dc: DUP1 000008dd: REVERT 000008de: JUMPDEST 000008df: POP 000008e0: PUSH1 0x01 000008e2: SLOAD 000008e3: PUSH2 0x0366 000008e6: SWAP1 000008e7: PUSH1 0x01 000008e9: PUSH1 0x01 000008eb: PUSH1 0xa0 000008ed: SHL 000008ee: SUB 000008ef: AND 000008f0: DUP2 000008f1: JUMP 000008f2: JUMPDEST 000008f3: CALLVALUE 000008f4: DUP1 000008f5: ISZERO 000008f6: PUSH2 0x08fe 000008f9: JUMPI 000008fa: PUSH1 0x00 000008fc: DUP1 000008fd: REVERT 000008fe: JUMPDEST 000008ff: POP 00000900: PUSH2 0x040b 00000903: PUSH2 0x090d 00000906: CALLDATASIZE 00000907: PUSH1 0x04 00000909: PUSH2 0x38a9 0000090c: JUMP 0000090d: JUMPDEST 0000090e: PUSH2 0x1e6a 00000911: JUMP 00000912: JUMPDEST 00000913: CALLVALUE 00000914: DUP1 00000915: ISZERO 00000916: PUSH2 0x091e 00000919: JUMPI 0000091a: PUSH1 0x00 0000091c: DUP1 0000091d: REVERT 0000091e: JUMPDEST 0000091f: POP 00000920: PUSH2 0x040b 00000923: PUSH2 0x092d 00000926: CALLDATASIZE 00000927: PUSH1 0x04 00000929: PUSH2 0x36bd 0000092c: JUMP 0000092d: JUMPDEST 0000092e: PUSH2 0x1f2c 00000931: JUMP 00000932: JUMPDEST 00000933: CALLVALUE 00000934: DUP1 00000935: ISZERO 00000936: PUSH2 0x093e 00000939: JUMPI 0000093a: PUSH1 0x00 0000093c: DUP1 0000093d: REVERT 0000093e: JUMPDEST 0000093f: POP 00000940: PUSH1 0x0f 00000942: SLOAD 00000943: PUSH1 0x10 00000945: SLOAD 00000946: PUSH1 0x11 00000948: SLOAD 00000949: PUSH1 0x12 0000094b: SLOAD 0000094c: PUSH2 0x0627 0000094f: SWAP4 00000950: SWAP3 00000951: SWAP2 00000952: SWAP1 00000953: PUSH1 0x01 00000955: PUSH1 0x01 00000957: PUSH1 0x80 00000959: SHL 0000095a: SUB 0000095b: DUP1 0000095c: DUP3 0000095d: AND 0000095e: SWAP2 0000095f: PUSH1 0x01 00000961: PUSH1 0x80 00000963: SHL 00000964: SWAP1 00000965: DIV 00000966: AND 00000967: DUP6 00000968: JUMP 00000969: JUMPDEST 0000096a: CALLVALUE 0000096b: DUP1 0000096c: ISZERO 0000096d: PUSH2 0x0975 00000970: JUMPI 00000971: PUSH1 0x00 00000973: DUP1 00000974: REVERT 00000975: JUMPDEST 00000976: POP 00000977: PUSH2 0x02f3 0000097a: PUSH2 0x0984 0000097d: CALLDATASIZE 0000097e: PUSH1 0x04 00000980: PUSH2 0x36bd 00000983: JUMP 00000984: JUMPDEST 00000985: PUSH1 0x0c 00000987: PUSH1 0x20 00000989: MSTORE 0000098a: PUSH1 0x00 0000098c: SWAP1 0000098d: DUP2 0000098e: MSTORE 0000098f: PUSH1 0x40 00000991: SWAP1 00000992: KECCAK256 00000993: SLOAD 00000994: DUP2 00000995: JUMP 00000996: JUMPDEST 00000997: PUSH1 0x01 00000999: PUSH1 0x00 0000099b: SWAP1 0000099c: SLOAD 0000099d: SWAP1 0000099e: PUSH2 0x0100 000009a1: EXP 000009a2: SWAP1 000009a3: DIV 000009a4: PUSH1 0x01 000009a6: PUSH1 0x01 000009a8: PUSH1 0xa0 000009aa: SHL 000009ab: SUB 000009ac: AND 000009ad: PUSH1 0x01 000009af: PUSH1 0x01 000009b1: PUSH1 0xa0 000009b3: SHL 000009b4: SUB 000009b5: AND 000009b6: PUSH4 0x7f7dde4a 000009bb: PUSH1 0x40 000009bd: MLOAD 000009be: DUP2 000009bf: PUSH4 0xffffffff 000009c4: AND 000009c5: PUSH1 0xe0 000009c7: SHL 000009c8: DUP2 000009c9: MSTORE 000009ca: PUSH1 0x04 000009cc: ADD 000009cd: PUSH1 0x20 000009cf: PUSH1 0x40 000009d1: MLOAD 000009d2: DUP1 000009d3: DUP4 000009d4: SUB 000009d5: DUP2 000009d6: DUP7 000009d7: GAS 000009d8: STATICCALL 000009d9: ISZERO 000009da: DUP1 000009db: ISZERO 000009dc: PUSH2 0x09e9 000009df: JUMPI 000009e0: RETURNDATASIZE 000009e1: PUSH1 0x00 000009e3: DUP1 000009e4: RETURNDATACOPY 000009e5: RETURNDATASIZE 000009e6: PUSH1 0x00 000009e8: REVERT 000009e9: JUMPDEST 000009ea: POP 000009eb: POP 000009ec: POP 000009ed: POP 000009ee: PUSH1 0x40 000009f0: MLOAD 000009f1: RETURNDATASIZE 000009f2: PUSH1 0x1f 000009f4: NOT 000009f5: PUSH1 0x1f 000009f7: DUP3 000009f8: ADD 000009f9: AND 000009fa: DUP3 000009fb: ADD 000009fc: DUP1 000009fd: PUSH1 0x40 000009ff: MSTORE 00000a00: POP 00000a01: DUP2 00000a02: ADD 00000a03: SWAP1 00000a04: PUSH2 0x0a0d 00000a07: SWAP2 00000a08: SWAP1 00000a09: PUSH2 0x38d5 00000a0c: JUMP 00000a0d: JUMPDEST 00000a0e: PUSH1 0x01 00000a10: PUSH1 0x01 00000a12: PUSH1 0xa0 00000a14: SHL 00000a15: SUB 00000a16: AND 00000a17: CALLER 00000a18: PUSH1 0x01 00000a1a: PUSH1 0x01 00000a1c: PUSH1 0xa0 00000a1e: SHL 00000a1f: SUB 00000a20: AND 00000a21: EQ 00000a22: PUSH2 0x0a82 00000a25: JUMPI 00000a26: PUSH1 0x40 00000a28: MLOAD 00000a29: PUSH3 0x461bcd 00000a2d: PUSH1 0xe5 00000a2f: SHL 00000a30: DUP2 00000a31: MSTORE 00000a32: PUSH1 0x20 00000a34: PUSH1 0x04 00000a36: DUP3 00000a37: ADD 00000a38: MSTORE 00000a39: PUSH1 0x27 00000a3b: PUSH1 0x24 00000a3d: DUP3 00000a3e: ADD 00000a3f: MSTORE 00000a40: PUSH32 0x53746162696c697479506f6f6c3a2043616c6c6572206973206e6f7420416374 00000a61: PUSH1 0x44 00000a63: DUP3 00000a64: ADD 00000a65: MSTORE 00000a66: PUSH7 0x1a5d99541bdbdb 00000a6e: PUSH1 0xca 00000a70: SHL 00000a71: PUSH1 0x64 00000a73: DUP3 00000a74: ADD 00000a75: MSTORE 00000a76: PUSH1 0x84 00000a78: ADD 00000a79: JUMPDEST 00000a7a: PUSH1 0x40 00000a7c: MLOAD 00000a7d: DUP1 00000a7e: SWAP2 00000a7f: SUB 00000a80: SWAP1 00000a81: REVERT 00000a82: JUMPDEST 00000a83: JUMP 00000a84: JUMPDEST 00000a85: PUSH1 0x00 00000a87: PUSH2 0x0a90 00000a8a: DUP3 00000a8b: DUP5 00000a8c: PUSH2 0x3908 00000a8f: JUMP 00000a90: JUMPDEST 00000a91: SWAP1 00000a92: POP 00000a93: JUMPDEST 00000a94: SWAP3 00000a95: SWAP2 00000a96: POP 00000a97: POP 00000a98: JUMP 00000a99: JUMPDEST 00000a9a: PUSH1 0x01 00000a9c: PUSH1 0x01 00000a9e: PUSH1 0xa0 00000aa0: SHL 00000aa1: SUB 00000aa2: DUP2 00000aa3: AND 00000aa4: PUSH1 0x00 00000aa6: SWAP1 00000aa7: DUP2 00000aa8: MSTORE 00000aa9: PUSH1 0x0c 00000aab: PUSH1 0x20 00000aad: MSTORE 00000aae: PUSH1 0x40 00000ab0: DUP2 00000ab1: KECCAK256 00000ab2: SLOAD 00000ab3: DUP1 00000ab4: DUP3 00000ab5: SUB 00000ab6: PUSH2 0x0ac2 00000ab9: JUMPI 00000aba: POP 00000abb: PUSH1 0x00 00000abd: SWAP3 00000abe: SWAP2 00000abf: POP 00000ac0: POP 00000ac1: JUMP 00000ac2: JUMPDEST 00000ac3: PUSH1 0x01 00000ac5: PUSH1 0x01 00000ac7: PUSH1 0xa0 00000ac9: SHL 00000aca: SUB 00000acb: DUP4 00000acc: AND 00000acd: PUSH1 0x00 00000acf: SWAP1 00000ad0: DUP2 00000ad1: MSTORE 00000ad2: PUSH1 0x0d 00000ad4: PUSH1 0x20 00000ad6: SWAP1 00000ad7: DUP2 00000ad8: MSTORE 00000ad9: PUSH1 0x40 00000adb: SWAP2 00000adc: DUP3 00000add: SWAP1 00000ade: KECCAK256 00000adf: DUP3 00000ae0: MLOAD 00000ae1: PUSH1 0xa0 00000ae3: DUP2 00000ae4: ADD 00000ae5: DUP5 00000ae6: MSTORE 00000ae7: DUP2 00000ae8: SLOAD 00000ae9: DUP2 00000aea: MSTORE 00000aeb: PUSH1 0x01 00000aed: DUP3 00000aee: ADD 00000aef: SLOAD 00000af0: SWAP3 00000af1: DUP2 00000af2: ADD 00000af3: SWAP3 00000af4: SWAP1 00000af5: SWAP3 00000af6: MSTORE 00000af7: PUSH1 0x02 00000af9: DUP2 00000afa: ADD 00000afb: SLOAD 00000afc: SWAP3 00000afd: DUP3 00000afe: ADD 00000aff: SWAP3 00000b00: SWAP1 00000b01: SWAP3 00000b02: MSTORE 00000b03: PUSH1 0x03 00000b05: SWAP1 00000b06: SWAP2 00000b07: ADD 00000b08: SLOAD 00000b09: PUSH1 0x01 00000b0b: PUSH1 0x01 00000b0d: PUSH1 0x80 00000b0f: SHL 00000b10: SUB 00000b11: DUP1 00000b12: DUP3 00000b13: AND 00000b14: PUSH1 0x60 00000b16: DUP5 00000b17: ADD 00000b18: MSTORE 00000b19: PUSH1 0x01 00000b1b: PUSH1 0x80 00000b1d: SHL 00000b1e: SWAP1 00000b1f: SWAP2 00000b20: DIV 00000b21: AND 00000b22: PUSH1 0x80 00000b24: DUP3 00000b25: ADD 00000b26: MSTORE 00000b27: PUSH2 0x0b30 00000b2a: DUP3 00000b2b: DUP3 00000b2c: PUSH2 0x1fc7 00000b2f: JUMP 00000b30: JUMPDEST 00000b31: SWAP5 00000b32: SWAP4 00000b33: POP 00000b34: POP 00000b35: POP 00000b36: POP 00000b37: JUMP 00000b38: JUMPDEST 00000b39: PUSH1 0x0e 00000b3b: SLOAD 00000b3c: PUSH1 0x00 00000b3e: SWAP1 00000b3f: DUP1 00000b40: DUP3 00000b41: SUB 00000b42: PUSH2 0x0b4d 00000b45: JUMPI 00000b46: PUSH1 0x00 00000b48: SWAP2 00000b49: POP 00000b4a: POP 00000b4b: SWAP1 00000b4c: JUMP 00000b4d: JUMPDEST 00000b4e: PUSH1 0x40 00000b50: DUP1 00000b51: MLOAD 00000b52: PUSH1 0xa0 00000b54: DUP2 00000b55: ADD 00000b56: DUP3 00000b57: MSTORE 00000b58: PUSH1 0x0f 00000b5a: SLOAD 00000b5b: DUP2 00000b5c: MSTORE 00000b5d: PUSH1 0x10 00000b5f: SLOAD 00000b60: PUSH1 0x20 00000b62: DUP3 00000b63: ADD 00000b64: MSTORE 00000b65: PUSH1 0x11 00000b67: SLOAD 00000b68: SWAP2 00000b69: DUP2 00000b6a: ADD 00000b6b: SWAP2 00000b6c: SWAP1 00000b6d: SWAP2 00000b6e: MSTORE 00000b6f: PUSH1 0x12 00000b71: SLOAD 00000b72: PUSH1 0x01 00000b74: PUSH1 0x01 00000b76: PUSH1 0x80 00000b78: SHL 00000b79: SUB 00000b7a: DUP1 00000b7b: DUP3 00000b7c: AND 00000b7d: PUSH1 0x60 00000b7f: DUP5 00000b80: ADD 00000b81: MSTORE 00000b82: PUSH1 0x01 00000b84: PUSH1 0x80 00000b86: SHL 00000b87: SWAP1 00000b88: SWAP2 00000b89: DIV 00000b8a: AND 00000b8b: PUSH1 0x80 00000b8d: DUP3 00000b8e: ADD 00000b8f: MSTORE 00000b90: PUSH2 0x0b9a 00000b93: SWAP1 00000b94: DUP3 00000b95: SWAP1 00000b96: PUSH2 0x20a0 00000b99: JUMP 00000b9a: JUMPDEST 00000b9b: SWAP2 00000b9c: POP 00000b9d: POP 00000b9e: SWAP1 00000b9f: JUMP 00000ba0: JUMPDEST 00000ba1: PUSH1 0x00 00000ba3: DUP1 00000ba4: PUSH1 0x01 00000ba6: PUSH1 0x00 00000ba8: SWAP1 00000ba9: SLOAD 00000baa: SWAP1 00000bab: PUSH2 0x0100 00000bae: EXP 00000baf: SWAP1 00000bb0: DIV 00000bb1: PUSH1 0x01 00000bb3: PUSH1 0x01 00000bb5: PUSH1 0xa0 00000bb7: SHL 00000bb8: SUB 00000bb9: AND 00000bba: PUSH1 0x01 00000bbc: PUSH1 0x01 00000bbe: PUSH1 0xa0 00000bc0: SHL 00000bc1: SUB 00000bc2: AND 00000bc3: PUSH4 0x7f7dde4a 00000bc8: PUSH1 0x40 00000bca: MLOAD 00000bcb: DUP2 00000bcc: PUSH4 0xffffffff 00000bd1: AND 00000bd2: PUSH1 0xe0 00000bd4: SHL 00000bd5: DUP2 00000bd6: MSTORE 00000bd7: PUSH1 0x04 00000bd9: ADD 00000bda: PUSH1 0x20 00000bdc: PUSH1 0x40 00000bde: MLOAD 00000bdf: DUP1 00000be0: DUP4 00000be1: SUB 00000be2: DUP2 00000be3: DUP7 00000be4: GAS 00000be5: STATICCALL 00000be6: ISZERO 00000be7: DUP1 00000be8: ISZERO 00000be9: PUSH2 0x0bf6 00000bec: JUMPI 00000bed: RETURNDATASIZE 00000bee: PUSH1 0x00 00000bf0: DUP1 00000bf1: RETURNDATACOPY 00000bf2: RETURNDATASIZE 00000bf3: PUSH1 0x00 00000bf5: REVERT 00000bf6: JUMPDEST 00000bf7: POP 00000bf8: POP 00000bf9: POP 00000bfa: POP 00000bfb: PUSH1 0x40 00000bfd: MLOAD 00000bfe: RETURNDATASIZE 00000bff: PUSH1 0x1f 00000c01: NOT 00000c02: PUSH1 0x1f 00000c04: DUP3 00000c05: ADD 00000c06: AND 00000c07: DUP3 00000c08: ADD 00000c09: DUP1 00000c0a: PUSH1 0x40 00000c0c: MSTORE 00000c0d: POP 00000c0e: DUP2 00000c0f: ADD 00000c10: SWAP1 00000c11: PUSH2 0x0c1a 00000c14: SWAP2 00000c15: SWAP1 00000c16: PUSH2 0x38d5 00000c19: JUMP 00000c1a: JUMPDEST 00000c1b: PUSH1 0x40 00000c1d: MLOAD 00000c1e: PUSH4 0xd1234da7 00000c23: PUSH1 0xe0 00000c25: SHL 00000c26: DUP2 00000c27: MSTORE 00000c28: PUSH1 0x01 00000c2a: PUSH1 0x01 00000c2c: PUSH1 0xa0 00000c2e: SHL 00000c2f: SUB 00000c30: DUP6 00000c31: DUP2 00000c32: AND 00000c33: PUSH1 0x04 00000c35: DUP4 00000c36: ADD 00000c37: MSTORE 00000c38: SWAP2 00000c39: SWAP1 00000c3a: SWAP2 00000c3b: AND 00000c3c: SWAP1 00000c3d: PUSH4 0xd1234da7 00000c42: SWAP1 00000c43: PUSH1 0x24 00000c45: ADD 00000c46: PUSH1 0x20 00000c48: PUSH1 0x40 00000c4a: MLOAD 00000c4b: DUP1 00000c4c: DUP4 00000c4d: SUB 00000c4e: DUP2 00000c4f: DUP7 00000c50: GAS 00000c51: STATICCALL 00000c52: ISZERO 00000c53: DUP1 00000c54: ISZERO 00000c55: PUSH2 0x0c62 00000c58: JUMPI 00000c59: RETURNDATASIZE 00000c5a: PUSH1 0x00 00000c5c: DUP1 00000c5d: RETURNDATACOPY 00000c5e: RETURNDATASIZE 00000c5f: PUSH1 0x00 00000c61: REVERT 00000c62: JUMPDEST 00000c63: POP 00000c64: POP 00000c65: POP 00000c66: POP 00000c67: PUSH1 0x40 00000c69: MLOAD 00000c6a: RETURNDATASIZE 00000c6b: PUSH1 0x1f 00000c6d: NOT 00000c6e: PUSH1 0x1f 00000c70: DUP3 00000c71: ADD 00000c72: AND 00000c73: DUP3 00000c74: ADD 00000c75: DUP1 00000c76: PUSH1 0x40 00000c78: MSTORE 00000c79: POP 00000c7a: DUP2 00000c7b: ADD 00000c7c: SWAP1 00000c7d: PUSH2 0x0c86 00000c80: SWAP2 00000c81: SWAP1 00000c82: PUSH2 0x3920 00000c85: JUMP 00000c86: JUMPDEST 00000c87: SWAP1 00000c88: POP 00000c89: PUSH1 0x00 00000c8b: PUSH1 0x01 00000c8d: PUSH1 0x00 00000c8f: SWAP1 00000c90: SLOAD 00000c91: SWAP1 00000c92: PUSH2 0x0100 00000c95: EXP 00000c96: SWAP1 00000c97: DIV 00000c98: PUSH1 0x01 00000c9a: PUSH1 0x01 00000c9c: PUSH1 0xa0 00000c9e: SHL 00000c9f: SUB 00000ca0: AND 00000ca1: PUSH1 0x01 00000ca3: PUSH1 0x01 00000ca5: PUSH1 0xa0 00000ca7: SHL 00000ca8: SUB 00000ca9: AND 00000caa: PUSH4 0x3cc74225 00000caf: PUSH1 0x40 00000cb1: MLOAD 00000cb2: DUP2 00000cb3: PUSH4 0xffffffff 00000cb8: AND 00000cb9: PUSH1 0xe0 00000cbb: SHL 00000cbc: DUP2 00000cbd: MSTORE 00000cbe: PUSH1 0x04 00000cc0: ADD 00000cc1: PUSH1 0x20 00000cc3: PUSH1 0x40 00000cc5: MLOAD 00000cc6: DUP1 00000cc7: DUP4 00000cc8: SUB 00000cc9: DUP2 00000cca: DUP7 00000ccb: GAS 00000ccc: STATICCALL 00000ccd: ISZERO 00000cce: DUP1 00000ccf: ISZERO 00000cd0: PUSH2 0x0cdd 00000cd3: JUMPI 00000cd4: RETURNDATASIZE 00000cd5: PUSH1 0x00 00000cd7: DUP1 00000cd8: RETURNDATACOPY 00000cd9: RETURNDATASIZE 00000cda: PUSH1 0x00 00000cdc: REVERT 00000cdd: JUMPDEST 00000cde: POP 00000cdf: POP 00000ce0: POP 00000ce1: POP 00000ce2: PUSH1 0x40 00000ce4: MLOAD 00000ce5: RETURNDATASIZE 00000ce6: PUSH1 0x1f 00000ce8: NOT 00000ce9: PUSH1 0x1f 00000ceb: DUP3 00000cec: ADD 00000ced: AND 00000cee: DUP3 00000cef: ADD 00000cf0: DUP1 00000cf1: PUSH1 0x40 00000cf3: MSTORE 00000cf4: POP 00000cf5: DUP2 00000cf6: ADD 00000cf7: SWAP1 00000cf8: PUSH2 0x0d01 00000cfb: SWAP2 00000cfc: SWAP1 00000cfd: PUSH2 0x38d5 00000d00: JUMP 00000d01: JUMPDEST 00000d02: PUSH1 0x40 00000d04: MLOAD 00000d05: PUSH4 0xd1234da7 00000d0a: PUSH1 0xe0 00000d0c: SHL 00000d0d: DUP2 00000d0e: MSTORE 00000d0f: PUSH1 0x01 00000d11: PUSH1 0x01 00000d13: PUSH1 0xa0 00000d15: SHL 00000d16: SUB 00000d17: DUP7 00000d18: DUP2 00000d19: AND 00000d1a: PUSH1 0x04 00000d1c: DUP4 00000d1d: ADD 00000d1e: MSTORE 00000d1f: SWAP2 00000d20: SWAP1 00000d21: SWAP2 00000d22: AND 00000d23: SWAP1 00000d24: PUSH4 0xd1234da7 00000d29: SWAP1 00000d2a: PUSH1 0x24 00000d2c: ADD 00000d2d: JUMPDEST 00000d2e: PUSH1 0x20 00000d30: PUSH1 0x40 00000d32: MLOAD 00000d33: DUP1 00000d34: DUP4 00000d35: SUB 00000d36: DUP2 00000d37: DUP7 00000d38: GAS 00000d39: STATICCALL 00000d3a: ISZERO 00000d3b: DUP1 00000d3c: ISZERO 00000d3d: PUSH2 0x0d4a 00000d40: JUMPI 00000d41: RETURNDATASIZE 00000d42: PUSH1 0x00 00000d44: DUP1 00000d45: RETURNDATACOPY 00000d46: RETURNDATASIZE 00000d47: PUSH1 0x00 00000d49: REVERT 00000d4a: JUMPDEST 00000d4b: POP 00000d4c: POP 00000d4d: POP 00000d4e: POP 00000d4f: PUSH1 0x40 00000d51: MLOAD 00000d52: RETURNDATASIZE 00000d53: PUSH1 0x1f 00000d55: NOT 00000d56: PUSH1 0x1f 00000d58: DUP3 00000d59: ADD 00000d5a: AND 00000d5b: DUP3 00000d5c: ADD 00000d5d: DUP1 00000d5e: PUSH1 0x40 00000d60: MSTORE 00000d61: POP 00000d62: DUP2 00000d63: ADD 00000d64: SWAP1 00000d65: PUSH2 0x0d6e 00000d68: SWAP2 00000d69: SWAP1 00000d6a: PUSH2 0x3920 00000d6d: JUMP 00000d6e: JUMPDEST 00000d6f: SWAP1 00000d70: POP 00000d71: PUSH2 0x0b30 00000d74: DUP3 00000d75: DUP3 00000d76: PUSH2 0x0a84 00000d79: JUMP 00000d7a: JUMPDEST 00000d7b: PUSH1 0x02 00000d7d: DUP1 00000d7e: SLOAD 00000d7f: SUB 00000d80: PUSH2 0x0dcb 00000d83: JUMPI 00000d84: PUSH1 0x40 00000d86: MLOAD 00000d87: PUSH3 0x461bcd 00000d8b: PUSH1 0xe5 00000d8d: SHL 00000d8e: DUP2 00000d8f: MSTORE 00000d90: PUSH1 0x20 00000d92: PUSH1 0x04 00000d94: DUP3 00000d95: ADD 00000d96: MSTORE 00000d97: PUSH1 0x1f 00000d99: PUSH1 0x24 00000d9b: DUP3 00000d9c: ADD 00000d9d: MSTORE 00000d9e: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00 00000dbf: PUSH1 0x44 00000dc1: DUP3 00000dc2: ADD 00000dc3: MSTORE 00000dc4: PUSH1 0x64 00000dc6: ADD 00000dc7: PUSH2 0x0a79 00000dca: JUMP 00000dcb: JUMPDEST 00000dcc: PUSH1 0x02 00000dce: DUP1 00000dcf: SSTORE 00000dd0: DUP1 00000dd1: ISZERO 00000dd2: PUSH2 0x0ddd 00000dd5: JUMPI 00000dd6: PUSH2 0x0ddd 00000dd9: PUSH2 0x17f8 00000ddc: JUMP 00000ddd: JUMPDEST 00000dde: CALLER 00000ddf: PUSH1 0x00 00000de1: SWAP1 00000de2: DUP2 00000de3: MSTORE 00000de4: PUSH1 0x0c 00000de6: PUSH1 0x20 00000de8: MSTORE 00000de9: PUSH1 0x40 00000deb: SWAP1 00000dec: KECCAK256 00000ded: SLOAD 00000dee: PUSH2 0x0df6 00000df1: DUP2 00000df2: PUSH2 0x2192 00000df5: JUMP 00000df6: JUMPDEST 00000df7: PUSH1 0x08 00000df9: SLOAD 00000dfa: PUSH1 0x01 00000dfc: PUSH1 0x01 00000dfe: PUSH1 0xa0 00000e00: SHL 00000e01: SUB 00000e02: AND 00000e03: PUSH2 0x0e0b 00000e06: DUP2 00000e07: PUSH2 0x21fb 00000e0a: JUMP 00000e0b: JUMPDEST 00000e0c: PUSH1 0x00 00000e0e: PUSH2 0x0e16 00000e11: CALLER 00000e12: PUSH2 0x14fc 00000e15: JUMP 00000e16: JUMPDEST 00000e17: SWAP1 00000e18: POP 00000e19: PUSH1 0x00 00000e1b: PUSH2 0x0e23 00000e1e: CALLER 00000e1f: PUSH2 0x0a99 00000e22: JUMP 00000e23: JUMPDEST 00000e24: SWAP1 00000e25: POP 00000e26: PUSH1 0x00 00000e28: PUSH2 0x0e30 00000e2b: CALLER 00000e2c: PUSH2 0x105a 00000e2f: JUMP 00000e30: JUMPDEST 00000e31: SWAP1 00000e32: POP 00000e33: PUSH1 0x00 00000e35: PUSH2 0x0e3e 00000e38: DUP8 00000e39: DUP4 00000e3a: PUSH2 0x226c 00000e3d: JUMP 00000e3e: JUMPDEST 00000e3f: SWAP1 00000e40: POP 00000e41: PUSH1 0x00 00000e43: PUSH2 0x0e4c 00000e46: DUP8 00000e47: DUP5 00000e48: PUSH2 0x2282 00000e4b: JUMP 00000e4c: JUMPDEST 00000e4d: SWAP1 00000e4e: POP 00000e4f: PUSH2 0x0e58 00000e52: DUP7 00000e53: CALLER 00000e54: PUSH2 0x228e 00000e57: JUMP 00000e58: JUMPDEST 00000e59: PUSH1 0x00 00000e5b: PUSH2 0x0e62 00000e5e: PUSH2 0x0b38 00000e61: JUMP 00000e62: JUMPDEST 00000e63: SWAP1 00000e64: POP 00000e65: PUSH1 0x00 00000e67: PUSH2 0x0e70 00000e6a: DUP3 00000e6b: DUP6 00000e6c: PUSH2 0x2282 00000e6f: JUMP 00000e70: JUMPDEST 00000e71: SWAP1 00000e72: POP 00000e73: PUSH2 0x0e7b 00000e76: DUP2 00000e77: PUSH2 0x2347 00000e7a: JUMP 00000e7b: JUMPDEST 00000e7c: PUSH1 0x40 00000e7e: DUP1 00000e7f: MLOAD 00000e80: DUP3 00000e81: DUP2 00000e82: MSTORE 00000e83: CALLER 00000e84: PUSH1 0x20 00000e86: DUP3 00000e87: ADD 00000e88: MSTORE 00000e89: PUSH32 0x02a5b2bd0f6030e3d5dfb2ee2b5bcf058fe8526dabf91b58b2d5d53d0f02dc04 00000eaa: SWAP2 00000eab: ADD 00000eac: PUSH1 0x40 00000eae: MLOAD 00000eaf: DUP1 00000eb0: SWAP2 00000eb1: SUB 00000eb2: SWAP1 00000eb3: LOG1 00000eb4: PUSH2 0x0ebd 00000eb7: CALLER 00000eb8: DUP6 00000eb9: PUSH2 0x23de 00000ebc: JUMP 00000ebd: JUMPDEST 00000ebe: PUSH1 0x00 00000ec0: PUSH2 0x0ec9 00000ec3: DUP7 00000ec4: DUP7 00000ec5: PUSH2 0x2282 00000ec8: JUMP 00000ec9: JUMPDEST 00000eca: SWAP1 00000ecb: POP 00000ecc: PUSH2 0x0ed5 00000ecf: CALLER 00000ed0: DUP3 00000ed1: PUSH2 0x2459 00000ed4: JUMP 00000ed5: JUMPDEST 00000ed6: PUSH1 0x40 00000ed8: MLOAD 00000ed9: DUP2 00000eda: DUP2 00000edb: MSTORE 00000edc: CALLER 00000edd: SWAP1 00000ede: PUSH32 0xbce78369dccab09eec1986f4d409ab09ffbb47d65423e5148fcf98411c5111c9 00000eff: SWAP1 00000f00: PUSH1 0x20 00000f02: ADD 00000f03: PUSH1 0x40 00000f05: MLOAD 00000f06: DUP1 00000f07: SWAP2 00000f08: SUB 00000f09: SWAP1 00000f0a: LOG2 00000f0b: PUSH1 0x40 00000f0d: DUP1 00000f0e: MLOAD 00000f0f: DUP10 00000f10: DUP2 00000f11: MSTORE 00000f12: PUSH1 0x20 00000f14: DUP2 00000f15: ADD 00000f16: DUP7 00000f17: SWAP1 00000f18: MSTORE 00000f19: CALLER 00000f1a: SWAP2 00000f1b: PUSH32 0x3807eb27e116be27b5a2c63478a4f4029945291386db0b94d494102430cab67c 00000f3c: SWAP2 00000f3d: ADD 00000f3e: PUSH1 0x40 00000f40: MLOAD 00000f41: DUP1 00000f42: SWAP2 00000f43: SUB 00000f44: SWAP1 00000f45: LOG2 00000f46: PUSH2 0x0f4f 00000f49: DUP9 00000f4a: DUP9 00000f4b: PUSH2 0x25b9 00000f4e: JUMP 00000f4f: JUMPDEST 00000f50: POP 00000f51: POP 00000f52: PUSH1 0x01 00000f54: PUSH1 0x02 00000f56: SSTORE 00000f57: POP 00000f58: POP 00000f59: POP 00000f5a: POP 00000f5b: POP 00000f5c: POP 00000f5d: POP 00000f5e: POP 00000f5f: POP 00000f60: JUMP 00000f61: JUMPDEST 00000f62: PUSH2 0x0f69 00000f65: PUSH2 0x2703 00000f68: JUMP 00000f69: JUMPDEST 00000f6a: PUSH1 0x0b 00000f6c: SLOAD 00000f6d: DUP1 00000f6e: ISZERO 00000f6f: DUP1 00000f70: PUSH2 0x0f77 00000f73: JUMPI 00000f74: POP 00000f75: DUP3 00000f76: ISZERO 00000f77: JUMPDEST 00000f78: ISZERO 00000f79: PUSH2 0x0f81 00000f7c: JUMPI 00000f7d: POP 00000f7e: POP 00000f7f: POP 00000f80: JUMP 00000f81: JUMPDEST 00000f82: PUSH1 0x08 00000f84: SLOAD 00000f85: PUSH2 0x0f96 00000f88: SWAP1 00000f89: PUSH1 0x01 00000f8b: PUSH1 0x01 00000f8d: PUSH1 0xa0 00000f8f: SHL 00000f90: SUB 00000f91: AND 00000f92: PUSH2 0x21fb 00000f95: JUMP 00000f96: JUMPDEST 00000f97: PUSH1 0x00 00000f99: DUP1 00000f9a: PUSH2 0x0fa4 00000f9d: DUP5 00000f9e: DUP7 00000f9f: DUP6 00000fa0: PUSH2 0x2787 00000fa3: JUMP 00000fa4: JUMPDEST 00000fa5: SWAP2 00000fa6: POP 00000fa7: SWAP2 00000fa8: POP 00000fa9: PUSH2 0x0fb2 00000fac: DUP3 00000fad: DUP3 00000fae: PUSH2 0x2855 00000fb1: JUMP 00000fb2: JUMPDEST 00000fb3: PUSH2 0x0fbc 00000fb6: DUP5 00000fb7: DUP7 00000fb8: PUSH2 0x2b2a 00000fbb: JUMP 00000fbc: JUMPDEST 00000fbd: POP 00000fbe: POP 00000fbf: POP 00000fc0: POP 00000fc1: POP 00000fc2: JUMP 00000fc3: JUMPDEST 00000fc4: PUSH1 0x01 00000fc6: PUSH1 0x01 00000fc8: PUSH1 0xa0 00000fca: SHL 00000fcb: SUB 00000fcc: DUP2 00000fcd: AND 00000fce: PUSH1 0x00 00000fd0: SWAP1 00000fd1: DUP2 00000fd2: MSTORE 00000fd3: PUSH1 0x0c 00000fd5: PUSH1 0x20 00000fd7: MSTORE 00000fd8: PUSH1 0x40 00000fda: DUP2 00000fdb: KECCAK256 00000fdc: SLOAD 00000fdd: DUP1 00000fde: DUP3 00000fdf: SUB 00000fe0: PUSH2 0x0fec 00000fe3: JUMPI 00000fe4: POP 00000fe5: PUSH1 0x00 00000fe7: SWAP3 00000fe8: SWAP2 00000fe9: POP 00000fea: POP 00000feb: JUMP 00000fec: JUMPDEST 00000fed: PUSH1 0x01 00000fef: PUSH1 0x01 00000ff1: PUSH1 0xa0 00000ff3: SHL 00000ff4: SUB 00000ff5: DUP4 00000ff6: AND 00000ff7: PUSH1 0x00 00000ff9: SWAP1 00000ffa: DUP2 00000ffb: MSTORE 00000ffc: PUSH1 0x0d 00000ffe: PUSH1 0x20 00001000: SWAP1 00001001: DUP2 00001002: MSTORE 00001003: PUSH1 0x40 00001005: SWAP2 00001006: DUP3 00001007: SWAP1 00001008: KECCAK256 00001009: DUP3 0000100a: MLOAD 0000100b: PUSH1 0xa0 0000100d: DUP2 0000100e: ADD 0000100f: DUP5 00001010: MSTORE 00001011: DUP2 00001012: SLOAD 00001013: DUP2 00001014: MSTORE 00001015: PUSH1 0x01 00001017: DUP3 00001018: ADD 00001019: SLOAD 0000101a: SWAP3 0000101b: DUP2 0000101c: ADD 0000101d: SWAP3 0000101e: SWAP1 0000101f: SWAP3 00001020: MSTORE 00001021: PUSH1 0x02 00001023: DUP2 00001024: ADD 00001025: SLOAD 00001026: SWAP3 00001027: DUP3 00001028: ADD 00001029: SWAP3 0000102a: SWAP1 0000102b: SWAP3 0000102c: MSTORE 0000102d: PUSH1 0x03 0000102f: SWAP1 00001030: SWAP2 00001031: ADD 00001032: SLOAD 00001033: PUSH1 0x01 00001035: PUSH1 0x01 00001037: PUSH1 0x80 00001039: SHL 0000103a: SUB 0000103b: DUP1 0000103c: DUP3 0000103d: AND 0000103e: PUSH1 0x60 00001040: DUP5 00001041: ADD 00001042: MSTORE 00001043: PUSH1 0x01 00001045: PUSH1 0x80 00001047: SHL 00001048: SWAP1 00001049: SWAP2 0000104a: DIV 0000104b: AND 0000104c: PUSH1 0x80 0000104e: DUP3 0000104f: ADD 00001050: MSTORE 00001051: PUSH2 0x0b30 00001054: DUP3 00001055: DUP3 00001056: PUSH2 0x2cd8 00001059: JUMP 0000105a: JUMPDEST 0000105b: PUSH1 0x01 0000105d: PUSH1 0x01 0000105f: PUSH1 0xa0 00001061: SHL 00001062: SUB 00001063: DUP2 00001064: AND 00001065: PUSH1 0x00 00001067: SWAP1 00001068: DUP2 00001069: MSTORE 0000106a: PUSH1 0x0c 0000106c: PUSH1 0x20 0000106e: MSTORE 0000106f: PUSH1 0x40 00001071: DUP2 00001072: KECCAK256 00001073: SLOAD 00001074: DUP1 00001075: DUP3 00001076: SUB 00001077: PUSH2 0x1083 0000107a: JUMPI 0000107b: POP 0000107c: PUSH1 0x00 0000107e: SWAP3 0000107f: SWAP2 00001080: POP 00001081: POP 00001082: JUMP 00001083: JUMPDEST 00001084: PUSH1 0x01 00001086: PUSH1 0x01 00001088: PUSH1 0xa0 0000108a: SHL 0000108b: SUB 0000108c: DUP4 0000108d: AND 0000108e: PUSH1 0x00 00001090: SWAP1 00001091: DUP2 00001092: MSTORE 00001093: PUSH1 0x0d 00001095: PUSH1 0x20 00001097: SWAP1 00001098: DUP2 00001099: MSTORE 0000109a: PUSH1 0x40 0000109c: SWAP2 0000109d: DUP3 0000109e: SWAP1 0000109f: KECCAK256 000010a0: DUP3 000010a1: MLOAD 000010a2: PUSH1 0xa0 000010a4: DUP2 000010a5: ADD 000010a6: DUP5 000010a7: MSTORE 000010a8: DUP2 000010a9: SLOAD 000010aa: DUP2 000010ab: MSTORE 000010ac: PUSH1 0x01 000010ae: DUP3 000010af: ADD 000010b0: SLOAD 000010b1: SWAP3 000010b2: DUP2 000010b3: ADD 000010b4: SWAP3 000010b5: SWAP1 000010b6: SWAP3 000010b7: MSTORE 000010b8: PUSH1 0x02 000010ba: DUP2 000010bb: ADD 000010bc: SLOAD 000010bd: SWAP3 000010be: DUP3 000010bf: ADD 000010c0: SWAP3 000010c1: SWAP1 000010c2: SWAP3 000010c3: MSTORE 000010c4: PUSH1 0x03 000010c6: SWAP1 000010c7: SWAP2 000010c8: ADD 000010c9: SLOAD 000010ca: PUSH1 0x01 000010cc: PUSH1 0x01 000010ce: PUSH1 0x80 000010d0: SHL 000010d1: SUB 000010d2: DUP1 000010d3: DUP3 000010d4: AND 000010d5: PUSH1 0x60 000010d7: DUP5 000010d8: ADD 000010d9: MSTORE 000010da: PUSH1 0x01 000010dc: PUSH1 0x80 000010de: SHL 000010df: SWAP1 000010e0: SWAP2 000010e1: DIV 000010e2: AND 000010e3: PUSH1 0x80 000010e5: DUP3 000010e6: ADD 000010e7: MSTORE 000010e8: PUSH2 0x10f2 000010eb: SWAP1 000010ec: DUP3 000010ed: SWAP1 000010ee: PUSH2 0x20a0 000010f1: JUMP 000010f2: JUMPDEST 000010f3: SWAP4 000010f4: SWAP3 000010f5: POP 000010f6: POP 000010f7: POP 000010f8: JUMP 000010f9: JUMPDEST 000010fa: PUSH1 0x00 000010fc: SLOAD 000010fd: PUSH1 0x01 000010ff: PUSH1 0x01 00001101: PUSH1 0xa0 00001103: SHL 00001104: SUB 00001105: AND 00001106: CALLER 00001107: EQ 00001108: PUSH2 0x1123 0000110b: JUMPI 0000110c: PUSH1 0x40 0000110e: MLOAD 0000110f: PUSH3 0x461bcd 00001113: PUSH1 0xe5 00001115: SHL 00001116: DUP2 00001117: MSTORE 00001118: PUSH1 0x04 0000111a: ADD 0000111b: PUSH2 0x0a79 0000111e: SWAP1 0000111f: PUSH2 0x3939 00001122: JUMP 00001123: JUMPDEST 00001124: PUSH2 0x0a82 00001127: PUSH1 0x00 00001129: PUSH2 0x2d58 0000112c: JUMP 0000112d: JUMPDEST 0000112e: PUSH1 0x02 00001130: DUP1 00001131: SLOAD 00001132: SUB 00001133: PUSH2 0x117e 00001136: JUMPI 00001137: PUSH1 0x40 00001139: MLOAD 0000113a: PUSH3 0x461bcd 0000113e: PUSH1 0xe5 00001140: SHL 00001141: DUP2 00001142: MSTORE 00001143: PUSH1 0x20 00001145: PUSH1 0x04 00001147: DUP3 00001148: ADD 00001149: MSTORE 0000114a: PUSH1 0x1f 0000114c: PUSH1 0x24 0000114e: DUP3 0000114f: ADD 00001150: MSTORE 00001151: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00 00001172: PUSH1 0x44 00001174: DUP3 00001175: ADD 00001176: MSTORE 00001177: PUSH1 0x64 00001179: ADD 0000117a: PUSH2 0x0a79 0000117d: JUMP 0000117e: JUMPDEST 0000117f: PUSH1 0x02 00001181: DUP1 00001182: SSTORE 00001183: PUSH2 0x118b 00001186: DUP2 00001187: PUSH2 0x2da8 0000118a: JUMP 0000118b: JUMPDEST 0000118c: CALLER 0000118d: PUSH1 0x00 0000118f: SWAP1 00001190: DUP2 00001191: MSTORE 00001192: PUSH1 0x0c 00001194: PUSH1 0x20 00001196: MSTORE 00001197: PUSH1 0x40 00001199: SWAP1 0000119a: KECCAK256 0000119b: SLOAD 0000119c: PUSH1 0x08 0000119e: SLOAD 0000119f: PUSH1 0x01 000011a1: PUSH1 0x01 000011a3: PUSH1 0xa0 000011a5: SHL 000011a6: SUB 000011a7: AND 000011a8: PUSH2 0x11b0 000011ab: DUP2 000011ac: PUSH2 0x21fb 000011af: JUMP 000011b0: JUMPDEST 000011b1: PUSH1 0x00 000011b3: PUSH2 0x11bb 000011b6: CALLER 000011b7: PUSH2 0x14fc 000011ba: JUMP 000011bb: JUMPDEST 000011bc: SWAP1 000011bd: POP 000011be: PUSH1 0x00 000011c0: PUSH2 0x11c8 000011c3: CALLER 000011c4: PUSH2 0x0a99 000011c7: JUMP 000011c8: JUMPDEST 000011c9: SWAP1 000011ca: POP 000011cb: PUSH1 0x00 000011cd: PUSH2 0x11d5 000011d0: CALLER 000011d1: PUSH2 0x105a 000011d4: JUMP 000011d5: JUMPDEST 000011d6: SWAP1 000011d7: POP 000011d8: PUSH1 0x00 000011da: PUSH2 0x11e3 000011dd: DUP7 000011de: DUP4 000011df: PUSH2 0x2282 000011e2: JUMP 000011e3: JUMPDEST 000011e4: SWAP1 000011e5: POP 000011e6: PUSH2 0x11ef 000011e9: DUP6 000011ea: CALLER 000011eb: PUSH2 0x228e 000011ee: JUMP 000011ef: JUMPDEST 000011f0: PUSH1 0x00 000011f2: PUSH2 0x11f9 000011f5: PUSH2 0x0b38 000011f8: JUMP 000011f9: JUMPDEST 000011fa: SWAP1 000011fb: POP 000011fc: PUSH1 0x00 000011fe: PUSH2 0x1207 00001201: DUP3 00001202: DUP11 00001203: PUSH2 0x0a84 00001206: JUMP 00001207: JUMPDEST 00001208: SWAP1 00001209: POP 0000120a: PUSH2 0x1212 0000120d: DUP2 0000120e: PUSH2 0x2347 00001211: JUMP 00001212: JUMPDEST 00001213: PUSH1 0x40 00001215: DUP1 00001216: MLOAD 00001217: DUP3 00001218: DUP2 00001219: MSTORE 0000121a: CALLER 0000121b: PUSH1 0x20 0000121d: DUP3 0000121e: ADD 0000121f: MSTORE 00001220: PUSH32 0x02a5b2bd0f6030e3d5dfb2ee2b5bcf058fe8526dabf91b58b2d5d53d0f02dc04 00001241: SWAP2 00001242: ADD 00001243: PUSH1 0x40 00001245: MLOAD 00001246: DUP1 00001247: SWAP2 00001248: SUB 00001249: SWAP1 0000124a: LOG1 0000124b: PUSH2 0x1254 0000124e: CALLER 0000124f: DUP11 00001250: PUSH2 0x2e07 00001253: JUMP 00001254: JUMPDEST 00001255: PUSH1 0x00 00001257: PUSH2 0x1260 0000125a: DUP6 0000125b: DUP12 0000125c: PUSH2 0x0a84 0000125f: JUMP 00001260: JUMPDEST 00001261: SWAP1 00001262: POP 00001263: PUSH2 0x126c 00001266: CALLER 00001267: DUP3 00001268: PUSH2 0x2459 0000126b: JUMP 0000126c: JUMPDEST 0000126d: PUSH1 0x40 0000126f: MLOAD 00001270: DUP2 00001271: DUP2 00001272: MSTORE 00001273: CALLER 00001274: SWAP1 00001275: PUSH32 0xbce78369dccab09eec1986f4d409ab09ffbb47d65423e5148fcf98411c5111c9 00001296: SWAP1 00001297: PUSH1 0x20 00001299: ADD 0000129a: PUSH1 0x40 0000129c: MLOAD 0000129d: DUP1 0000129e: SWAP2 0000129f: SUB 000012a0: SWAP1 000012a1: LOG2 000012a2: PUSH1 0x40 000012a4: DUP1 000012a5: MLOAD 000012a6: DUP9 000012a7: DUP2 000012a8: MSTORE 000012a9: PUSH1 0x20 000012ab: DUP2 000012ac: ADD 000012ad: DUP7 000012ae: SWAP1 000012af: MSTORE 000012b0: CALLER 000012b1: SWAP2 000012b2: PUSH32 0x3807eb27e116be27b5a2c63478a4f4029945291386db0b94d494102430cab67c 000012d3: SWAP2 000012d4: ADD 000012d5: PUSH1 0x40 000012d7: MLOAD 000012d8: DUP1 000012d9: SWAP2 000012da: SUB 000012db: SWAP1 000012dc: LOG2 000012dd: PUSH2 0x12e6 000012e0: DUP8 000012e1: DUP8 000012e2: PUSH2 0x25b9 000012e5: JUMP 000012e6: JUMPDEST 000012e7: POP 000012e8: POP 000012e9: PUSH1 0x01 000012eb: PUSH1 0x02 000012ed: SSTORE 000012ee: POP 000012ef: POP 000012f0: POP 000012f1: POP 000012f2: POP 000012f3: POP 000012f4: POP 000012f5: POP 000012f6: JUMP 000012f7: JUMPDEST 000012f8: PUSH1 0x00 000012fa: DUP1 000012fb: PUSH1 0x01 000012fd: PUSH1 0x00 000012ff: SWAP1 00001300: SLOAD 00001301: SWAP1 00001302: PUSH2 0x0100 00001305: EXP 00001306: SWAP1 00001307: DIV 00001308: PUSH1 0x01 0000130a: PUSH1 0x01 0000130c: PUSH1 0xa0 0000130e: SHL 0000130f: SUB 00001310: AND 00001311: PUSH1 0x01 00001313: PUSH1 0x01 00001315: PUSH1 0xa0 00001317: SHL 00001318: SUB 00001319: AND 0000131a: PUSH4 0x7f7dde4a 0000131f: PUSH1 0x40 00001321: MLOAD 00001322: DUP2 00001323: PUSH4 0xffffffff 00001328: AND 00001329: PUSH1 0xe0 0000132b: SHL 0000132c: DUP2 0000132d: MSTORE 0000132e: PUSH1 0x04 00001330: ADD 00001331: PUSH1 0x20 00001333: PUSH1 0x40 00001335: MLOAD 00001336: DUP1 00001337: DUP4 00001338: SUB 00001339: DUP2 0000133a: DUP7 0000133b: GAS 0000133c: STATICCALL 0000133d: ISZERO 0000133e: DUP1 0000133f: ISZERO 00001340: PUSH2 0x134d 00001343: JUMPI 00001344: RETURNDATASIZE 00001345: PUSH1 0x00 00001347: DUP1 00001348: RETURNDATACOPY 00001349: RETURNDATASIZE 0000134a: PUSH1 0x00 0000134c: REVERT 0000134d: JUMPDEST 0000134e: POP 0000134f: POP 00001350: POP 00001351: POP 00001352: PUSH1 0x40 00001354: MLOAD 00001355: RETURNDATASIZE 00001356: PUSH1 0x1f 00001358: NOT 00001359: PUSH1 0x1f 0000135b: DUP3 0000135c: ADD 0000135d: AND 0000135e: DUP3 0000135f: ADD 00001360: DUP1 00001361: PUSH1 0x40 00001363: MSTORE 00001364: POP 00001365: DUP2 00001366: ADD 00001367: SWAP1 00001368: PUSH2 0x1371 0000136b: SWAP2 0000136c: SWAP1 0000136d: PUSH2 0x38d5 00001370: JUMP 00001371: JUMPDEST 00001372: PUSH1 0x40 00001374: MLOAD 00001375: PUSH4 0x5373433f 0000137a: PUSH1 0xe0 0000137c: SHL 0000137d: DUP2 0000137e: MSTORE 0000137f: PUSH1 0x01 00001381: PUSH1 0x01 00001383: PUSH1 0xa0 00001385: SHL 00001386: SUB 00001387: DUP6 00001388: DUP2 00001389: AND 0000138a: PUSH1 0x04 0000138c: DUP4 0000138d: ADD 0000138e: MSTORE 0000138f: SWAP2 00001390: SWAP1 00001391: SWAP2 00001392: AND 00001393: SWAP1 00001394: PUSH4 0x5373433f 00001399: SWAP1 0000139a: PUSH1 0x24 0000139c: ADD 0000139d: PUSH1 0x20 0000139f: PUSH1 0x40 000013a1: MLOAD 000013a2: DUP1 000013a3: DUP4 000013a4: SUB 000013a5: DUP2 000013a6: DUP7 000013a7: GAS 000013a8: STATICCALL 000013a9: ISZERO 000013aa: DUP1 000013ab: ISZERO 000013ac: PUSH2 0x13b9 000013af: JUMPI 000013b0: RETURNDATASIZE 000013b1: PUSH1 0x00 000013b3: DUP1 000013b4: RETURNDATACOPY 000013b5: RETURNDATASIZE 000013b6: PUSH1 0x00 000013b8: REVERT 000013b9: JUMPDEST 000013ba: POP 000013bb: POP 000013bc: POP 000013bd: POP 000013be: PUSH1 0x40 000013c0: MLOAD 000013c1: RETURNDATASIZE 000013c2: PUSH1 0x1f 000013c4: NOT 000013c5: PUSH1 0x1f 000013c7: DUP3 000013c8: ADD 000013c9: AND 000013ca: DUP3 000013cb: ADD 000013cc: DUP1 000013cd: PUSH1 0x40 000013cf: MSTORE 000013d0: POP 000013d1: DUP2 000013d2: ADD 000013d3: SWAP1 000013d4: PUSH2 0x13dd 000013d7: SWAP2 000013d8: SWAP1 000013d9: PUSH2 0x3920 000013dc: JUMP 000013dd: JUMPDEST 000013de: SWAP1 000013df: POP 000013e0: PUSH1 0x00 000013e2: PUSH1 0x01 000013e4: PUSH1 0x00 000013e6: SWAP1 000013e7: SLOAD 000013e8: SWAP1 000013e9: PUSH2 0x0100 000013ec: EXP 000013ed: SWAP1 000013ee: DIV 000013ef: PUSH1 0x01 000013f1: PUSH1 0x01 000013f3: PUSH1 0xa0 000013f5: SHL 000013f6: SUB 000013f7: AND 000013f8: PUSH1 0x01 000013fa: PUSH1 0x01 000013fc: PUSH1 0xa0 000013fe: SHL 000013ff: SUB 00001400: AND 00001401: PUSH4 0x3cc74225 00001406: PUSH1 0x40 00001408: MLOAD 00001409: DUP2 0000140a: PUSH4 0xffffffff 0000140f: AND 00001410: PUSH1 0xe0 00001412: SHL 00001413: DUP2 00001414: MSTORE 00001415: PUSH1 0x04 00001417: ADD 00001418: PUSH1 0x20 0000141a: PUSH1 0x40 0000141c: MLOAD 0000141d: DUP1 0000141e: DUP4 0000141f: SUB 00001420: DUP2 00001421: DUP7 00001422: GAS 00001423: STATICCALL 00001424: ISZERO 00001425: DUP1 00001426: ISZERO 00001427: PUSH2 0x1434 0000142a: JUMPI 0000142b: RETURNDATASIZE 0000142c: PUSH1 0x00 0000142e: DUP1 0000142f: RETURNDATACOPY 00001430: RETURNDATASIZE 00001431: PUSH1 0x00 00001433: REVERT 00001434: JUMPDEST 00001435: POP 00001436: POP 00001437: POP 00001438: POP 00001439: PUSH1 0x40 0000143b: MLOAD 0000143c: RETURNDATASIZE 0000143d: PUSH1 0x1f 0000143f: NOT 00001440: PUSH1 0x1f 00001442: DUP3 00001443: ADD 00001444: AND 00001445: DUP3 00001446: ADD 00001447: DUP1 00001448: PUSH1 0x40 0000144a: MSTORE 0000144b: POP 0000144c: DUP2 0000144d: ADD 0000144e: SWAP1 0000144f: PUSH2 0x1458 00001452: SWAP2 00001453: SWAP1 00001454: PUSH2 0x38d5 00001457: JUMP 00001458: JUMPDEST 00001459: PUSH1 0x40 0000145b: MLOAD 0000145c: PUSH4 0x5373433f 00001461: PUSH1 0xe0 00001463: SHL 00001464: DUP2 00001465: MSTORE 00001466: PUSH1 0x01 00001468: PUSH1 0x01 0000146a: PUSH1 0xa0 0000146c: SHL 0000146d: SUB 0000146e: DUP7 0000146f: DUP2 00001470: AND 00001471: PUSH1 0x04 00001473: DUP4 00001474: ADD 00001475: MSTORE 00001476: SWAP2 00001477: SWAP1 00001478: SWAP2 00001479: AND 0000147a: SWAP1 0000147b: PUSH4 0x5373433f 00001480: SWAP1 00001481: PUSH1 0x24 00001483: ADD 00001484: PUSH2 0x0d2d 00001487: JUMP 00001488: JUMPDEST 00001489: PUSH1 0x00 0000148b: SLOAD 0000148c: PUSH1 0x01 0000148e: PUSH1 0x01 00001490: PUSH1 0xa0 00001492: SHL 00001493: SUB 00001494: AND 00001495: CALLER 00001496: EQ 00001497: PUSH2 0x14b2 0000149a: JUMPI 0000149b: PUSH1 0x40 0000149d: MLOAD 0000149e: PUSH3 0x461bcd 000014a2: PUSH1 0xe5 000014a4: SHL 000014a5: DUP2 000014a6: MSTORE 000014a7: PUSH1 0x04 000014a9: ADD 000014aa: PUSH2 0x0a79 000014ad: SWAP1 000014ae: PUSH2 0x3939 000014b1: JUMP 000014b2: JUMPDEST 000014b3: PUSH1 0x01 000014b5: DUP1 000014b6: SLOAD 000014b7: PUSH1 0x01 000014b9: PUSH1 0x01 000014bb: PUSH1 0xa0 000014bd: SHL 000014be: SUB 000014bf: NOT 000014c0: AND 000014c1: PUSH1 0x01 000014c3: PUSH1 0x01 000014c5: PUSH1 0xa0 000014c7: SHL 000014c8: SUB 000014c9: DUP4 000014ca: AND 000014cb: SWAP1 000014cc: DUP2 000014cd: OR 000014ce: SWAP1 000014cf: SWAP2 000014d0: SSTORE 000014d1: PUSH1 0x40 000014d3: MLOAD 000014d4: PUSH32 0x98c5e303d085e26fdf8af6a41184b0937ed01142ae7fdfa02dcc87e7079c3253 000014f5: SWAP1 000014f6: PUSH1 0x00 000014f8: SWAP1 000014f9: LOG2 000014fa: POP 000014fb: JUMP 000014fc: JUMPDEST 000014fd: PUSH1 0x01 000014ff: PUSH1 0x01 00001501: PUSH1 0xa0 00001503: SHL 00001504: SUB 00001505: DUP2 00001506: AND 00001507: PUSH1 0x00 00001509: SWAP1 0000150a: DUP2 0000150b: MSTORE 0000150c: PUSH1 0x0c 0000150e: PUSH1 0x20 00001510: MSTORE 00001511: PUSH1 0x40 00001513: DUP2 00001514: KECCAK256 00001515: SLOAD 00001516: DUP1 00001517: DUP3 00001518: SUB 00001519: PUSH2 0x1525 0000151c: JUMPI 0000151d: POP 0000151e: PUSH1 0x00 00001520: SWAP3 00001521: SWAP2 00001522: POP 00001523: POP 00001524: JUMP 00001525: JUMPDEST 00001526: PUSH1 0x01 00001528: PUSH1 0x01 0000152a: PUSH1 0xa0 0000152c: SHL 0000152d: SUB 0000152e: DUP1 0000152f: DUP5 00001530: AND 00001531: PUSH1 0x00 00001533: SWAP1 00001534: DUP2 00001535: MSTORE 00001536: PUSH1 0x0d 00001538: PUSH1 0x20 0000153a: SWAP1 0000153b: DUP2 0000153c: MSTORE 0000153d: PUSH1 0x40 0000153f: SWAP2 00001540: DUP3 00001541: SWAP1 00001542: KECCAK256 00001543: DUP3 00001544: MLOAD 00001545: PUSH1 0xa0 00001547: DUP2 00001548: ADD 00001549: DUP5 0000154a: MSTORE 0000154b: DUP2 0000154c: SLOAD 0000154d: DUP2 0000154e: MSTORE 0000154f: PUSH1 0x01 00001551: DUP3 00001552: ADD 00001553: SLOAD 00001554: SWAP3 00001555: DUP2 00001556: ADD 00001557: SWAP3 00001558: SWAP1 00001559: SWAP3 0000155a: MSTORE 0000155b: PUSH1 0x02 0000155d: DUP2 0000155e: ADD 0000155f: SLOAD 00001560: SWAP3 00001561: DUP3 00001562: ADD 00001563: SWAP3 00001564: SWAP1 00001565: SWAP3 00001566: MSTORE 00001567: PUSH1 0x03 00001569: SWAP1 0000156a: SWAP2 0000156b: ADD 0000156c: SLOAD 0000156d: PUSH1 0x01 0000156f: PUSH1 0x01 00001571: PUSH1 0x80 00001573: SHL 00001574: SUB 00001575: DUP1 00001576: DUP3 00001577: AND 00001578: PUSH1 0x60 0000157a: DUP5 0000157b: ADD 0000157c: MSTORE 0000157d: PUSH1 0x01 0000157f: PUSH1 0x80 00001581: SHL 00001582: SWAP1 00001583: SWAP2 00001584: DIV 00001585: AND 00001586: PUSH1 0x80 00001588: DUP3 00001589: ADD 0000158a: MSTORE 0000158b: PUSH1 0x09 0000158d: SLOAD 0000158e: SWAP1 0000158f: SWAP2 00001590: PUSH2 0x0b30 00001593: SWAP2 00001594: AND 00001595: PUSH2 0x159e 00001598: DUP5 00001599: DUP5 0000159a: PUSH2 0x1fc7 0000159d: JUMP 0000159e: JUMPDEST 0000159f: PUSH2 0x2ebd 000015a2: JUMP 000015a3: JUMPDEST 000015a4: CALLER 000015a5: PUSH1 0x00 000015a7: SWAP1 000015a8: DUP2 000015a9: MSTORE 000015aa: PUSH1 0x0c 000015ac: PUSH1 0x20 000015ae: MSTORE 000015af: PUSH1 0x40 000015b1: SWAP1 000015b2: KECCAK256 000015b3: SLOAD 000015b4: PUSH2 0x15bc 000015b7: DUP2 000015b8: PUSH2 0x2192 000015bb: JUMP 000015bc: JUMPDEST 000015bd: PUSH2 0x15c5 000015c0: CALLER 000015c1: PUSH2 0x2f9e 000015c4: JUMP 000015c5: JUMPDEST 000015c6: PUSH2 0x15ce 000015c9: CALLER 000015ca: PUSH2 0x309c 000015cd: JUMP 000015ce: JUMPDEST 000015cf: PUSH1 0x08 000015d1: SLOAD 000015d2: PUSH1 0x01 000015d4: PUSH1 0x01 000015d6: PUSH1 0xa0 000015d8: SHL 000015d9: SUB 000015da: AND 000015db: PUSH2 0x15e3 000015de: DUP2 000015df: PUSH2 0x21fb 000015e2: JUMP 000015e3: JUMPDEST 000015e4: PUSH1 0x00 000015e6: PUSH2 0x15ee 000015e9: CALLER 000015ea: PUSH2 0x0a99 000015ed: JUMP 000015ee: JUMPDEST 000015ef: SWAP1 000015f0: POP 000015f1: PUSH1 0x00 000015f3: PUSH2 0x15fb 000015f6: CALLER 000015f7: PUSH2 0x105a 000015fa: JUMP 000015fb: JUMPDEST 000015fc: SWAP1 000015fd: POP 000015fe: PUSH1 0x00 00001600: PUSH2 0x1609 00001603: DUP6 00001604: DUP4 00001605: PUSH2 0x2282 00001608: JUMP 00001609: JUMPDEST 0000160a: SWAP1 0000160b: POP 0000160c: PUSH2 0x1615 0000160f: DUP5 00001610: CALLER 00001611: PUSH2 0x228e 00001614: JUMP 00001615: JUMPDEST 00001616: PUSH1 0x00 00001618: PUSH2 0x161f 0000161b: PUSH2 0x0b38 0000161e: JUMP 0000161f: JUMPDEST 00001620: SWAP1 00001621: POP 00001622: PUSH2 0x162a 00001625: DUP2 00001626: PUSH2 0x2347 00001629: JUMP 0000162a: JUMPDEST 0000162b: PUSH1 0x40 0000162d: DUP1 0000162e: MLOAD 0000162f: DUP3 00001630: DUP2 00001631: MSTORE 00001632: CALLER 00001633: PUSH1 0x20 00001635: DUP3 00001636: ADD 00001637: MSTORE 00001638: PUSH32 0x02a5b2bd0f6030e3d5dfb2ee2b5bcf058fe8526dabf91b58b2d5d53d0f02dc04 00001659: SWAP2 0000165a: ADD 0000165b: PUSH1 0x40 0000165d: MLOAD 0000165e: DUP1 0000165f: SWAP2 00001660: SUB 00001661: SWAP1 00001662: LOG1 00001663: PUSH2 0x166c 00001666: CALLER 00001667: DUP5 00001668: PUSH2 0x2459 0000166b: JUMP 0000166c: JUMPDEST 0000166d: PUSH1 0x40 0000166f: DUP1 00001670: MLOAD 00001671: DUP6 00001672: DUP2 00001673: MSTORE 00001674: PUSH1 0x20 00001676: DUP2 00001677: ADD 00001678: DUP5 00001679: SWAP1 0000167a: MSTORE 0000167b: CALLER 0000167c: SWAP2 0000167d: PUSH32 0x3807eb27e116be27b5a2c63478a4f4029945291386db0b94d494102430cab67c 0000169e: SWAP2 0000169f: ADD 000016a0: PUSH1 0x40 000016a2: MLOAD 000016a3: DUP1 000016a4: SWAP2 000016a5: SUB 000016a6: SWAP1 000016a7: LOG2 000016a8: PUSH1 0x40 000016aa: MLOAD 000016ab: DUP4 000016ac: DUP2 000016ad: MSTORE 000016ae: CALLER 000016af: SWAP1 000016b0: PUSH32 0xbce78369dccab09eec1986f4d409ab09ffbb47d65423e5148fcf98411c5111c9 000016d1: SWAP1 000016d2: PUSH1 0x20 000016d4: ADD 000016d5: PUSH1 0x40 000016d7: MLOAD 000016d8: DUP1 000016d9: SWAP2 000016da: SUB 000016db: SWAP1 000016dc: LOG2 000016dd: PUSH1 0x0a 000016df: SLOAD 000016e0: PUSH2 0x16e9 000016e3: SWAP1 000016e4: DUP6 000016e5: PUSH2 0x2282 000016e8: JUMP 000016e9: JUMPDEST 000016ea: PUSH1 0x0a 000016ec: DUP2 000016ed: SWAP1 000016ee: SSTORE 000016ef: PUSH1 0x40 000016f1: MLOAD 000016f2: SWAP1 000016f3: DUP2 000016f4: MSTORE 000016f5: PUSH1 0x00 000016f7: DUP1 000016f8: MLOAD 000016f9: PUSH1 0x20 000016fb: PUSH2 0x3bcb 000016fe: DUP4 000016ff: CODECOPY 00001700: DUP2 00001701: MLOAD 00001702: SWAP2 00001703: MSTORE 00001704: SWAP1 00001705: PUSH1 0x20 00001707: ADD 00001708: PUSH1 0x40 0000170a: MLOAD 0000170b: DUP1 0000170c: SWAP2 0000170d: SUB 0000170e: SWAP1 0000170f: LOG1 00001710: PUSH1 0x40 00001712: DUP1 00001713: MLOAD 00001714: CALLER 00001715: DUP2 00001716: MSTORE 00001717: PUSH1 0x20 00001719: DUP2 0000171a: ADD 0000171b: DUP7 0000171c: SWAP1 0000171d: MSTORE 0000171e: PUSH32 0xc4dfa259771b0ed50b100eaf04734dad1b094a866d9d285c59180cde3f3f45e8 0000173f: SWAP2 00001740: ADD 00001741: PUSH1 0x40 00001743: MLOAD 00001744: DUP1 00001745: SWAP2 00001746: SUB 00001747: SWAP1 00001748: LOG1 00001749: PUSH1 0x03 0000174b: SLOAD 0000174c: PUSH1 0x09 0000174e: SLOAD 0000174f: PUSH1 0x01 00001751: PUSH1 0x01 00001753: PUSH1 0xa0 00001755: SHL 00001756: SUB 00001757: PUSH3 0x010000 0000175b: SWAP1 0000175c: SWAP3 0000175d: DIV 0000175e: DUP3 0000175f: AND 00001760: SWAP2 00001761: PUSH4 0x501414f5 00001766: SWAP2 00001767: AND 00001768: ISZERO 00001769: PUSH2 0x1773 0000176c: JUMPI 0000176d: PUSH1 0x00 0000176f: PUSH2 0x1775 00001772: JUMP 00001773: JUMPDEST 00001774: DUP6 00001775: JUMPDEST 00001776: PUSH1 0x09 00001778: SLOAD 00001779: PUSH1 0x40 0000177b: MLOAD 0000177c: PUSH1 0xe0 0000177e: DUP5 0000177f: SWAP1 00001780: SHL 00001781: PUSH1 0x01 00001783: PUSH1 0x01 00001785: PUSH1 0xe0 00001787: SHL 00001788: SUB 00001789: NOT 0000178a: AND 0000178b: DUP2 0000178c: MSTORE 0000178d: PUSH1 0x01 0000178f: PUSH1 0x01 00001791: PUSH1 0xa0 00001793: SHL 00001794: SUB 00001795: SWAP2 00001796: DUP3 00001797: AND 00001798: PUSH1 0x04 0000179a: DUP3 0000179b: ADD 0000179c: MSTORE 0000179d: PUSH1 0x24 0000179f: DUP2 000017a0: ADD 000017a1: DUP10 000017a2: SWAP1 000017a3: MSTORE 000017a4: CALLER 000017a5: PUSH1 0x44 000017a7: DUP3 000017a8: ADD 000017a9: MSTORE 000017aa: DUP13 000017ab: DUP3 000017ac: AND 000017ad: PUSH1 0x64 000017af: DUP3 000017b0: ADD 000017b1: MSTORE 000017b2: SWAP1 000017b3: DUP12 000017b4: AND 000017b5: PUSH1 0x84 000017b7: DUP3 000017b8: ADD 000017b9: MSTORE 000017ba: PUSH1 0xa4 000017bc: ADD 000017bd: PUSH1 0x00 000017bf: PUSH1 0x40 000017c1: MLOAD 000017c2: DUP1 000017c3: DUP4 000017c4: SUB 000017c5: DUP2 000017c6: DUP6 000017c7: DUP9 000017c8: DUP1 000017c9: EXTCODESIZE 000017ca: ISZERO 000017cb: DUP1 000017cc: ISZERO 000017cd: PUSH2 0x17d5 000017d0: JUMPI 000017d1: PUSH1 0x00 000017d3: DUP1 000017d4: REVERT 000017d5: JUMPDEST 000017d6: POP 000017d7: GAS 000017d8: CALL 000017d9: ISZERO 000017da: DUP1 000017db: ISZERO 000017dc: PUSH2 0x17e9 000017df: JUMPI 000017e0: RETURNDATASIZE 000017e1: PUSH1 0x00 000017e3: DUP1 000017e4: RETURNDATACOPY 000017e5: RETURNDATASIZE 000017e6: PUSH1 0x00 000017e8: REVERT 000017e9: JUMPDEST 000017ea: POP 000017eb: POP 000017ec: POP 000017ed: POP 000017ee: POP 000017ef: POP 000017f0: POP 000017f1: POP 000017f2: POP 000017f3: POP 000017f4: POP 000017f5: POP 000017f6: POP 000017f7: JUMP 000017f8: JUMPDEST 000017f9: PUSH1 0x01 000017fb: SLOAD 000017fc: PUSH1 0x40 000017fe: DUP1 000017ff: MLOAD 00001800: PUSH4 0x3a0df78d 00001805: PUSH1 0xe1 00001807: SHL 00001808: DUP2 00001809: MSTORE 0000180a: SWAP1 0000180b: MLOAD 0000180c: PUSH1 0x00 0000180e: SWAP3 0000180f: PUSH1 0x01 00001811: PUSH1 0x01 00001813: PUSH1 0xa0 00001815: SHL 00001816: SUB 00001817: AND 00001818: SWAP2 00001819: PUSH4 0x741bef1a 0000181e: SWAP2 0000181f: PUSH1 0x04 00001821: DUP1 00001822: DUP4 00001823: ADD 00001824: SWAP3 00001825: PUSH1 0x20 00001827: SWAP3 00001828: SWAP2 00001829: SWAP1 0000182a: DUP3 0000182b: SWAP1 0000182c: SUB 0000182d: ADD 0000182e: DUP2 0000182f: DUP7 00001830: GAS 00001831: STATICCALL 00001832: ISZERO 00001833: DUP1 00001834: ISZERO 00001835: PUSH2 0x1842 00001838: JUMPI 00001839: RETURNDATASIZE 0000183a: PUSH1 0x00 0000183c: DUP1 0000183d: RETURNDATACOPY 0000183e: RETURNDATASIZE 0000183f: PUSH1 0x00 00001841: REVERT 00001842: JUMPDEST 00001843: POP 00001844: POP 00001845: POP 00001846: POP 00001847: PUSH1 0x40 00001849: MLOAD 0000184a: RETURNDATASIZE 0000184b: PUSH1 0x1f 0000184d: NOT 0000184e: PUSH1 0x1f 00001850: DUP3 00001851: ADD 00001852: AND 00001853: DUP3 00001854: ADD 00001855: DUP1 00001856: PUSH1 0x40 00001858: MSTORE 00001859: POP 0000185a: DUP2 0000185b: ADD 0000185c: SWAP1 0000185d: PUSH2 0x1866 00001860: SWAP2 00001861: SWAP1 00001862: PUSH2 0x38d5 00001865: JUMP 00001866: JUMPDEST 00001867: PUSH1 0x09 00001869: SLOAD 0000186a: PUSH1 0x40 0000186c: MLOAD 0000186d: PUSH4 0x5670bcc7 00001872: PUSH1 0xe1 00001874: SHL 00001875: DUP2 00001876: MSTORE 00001877: PUSH1 0x01 00001879: PUSH1 0x01 0000187b: PUSH1 0xa0 0000187d: SHL 0000187e: SUB 0000187f: SWAP2 00001880: DUP3 00001881: AND 00001882: PUSH1 0x04 00001884: DUP3 00001885: ADD 00001886: MSTORE 00001887: SWAP2 00001888: AND 00001889: SWAP1 0000188a: PUSH4 0xace1798e 0000188f: SWAP1 00001890: PUSH1 0x24 00001892: ADD 00001893: PUSH1 0x20 00001895: PUSH1 0x40 00001897: MLOAD 00001898: DUP1 00001899: DUP4 0000189a: SUB 0000189b: DUP2 0000189c: PUSH1 0x00 0000189e: DUP8 0000189f: GAS 000018a0: CALL 000018a1: ISZERO 000018a2: DUP1 000018a3: ISZERO 000018a4: PUSH2 0x18b1 000018a7: JUMPI 000018a8: RETURNDATASIZE 000018a9: PUSH1 0x00 000018ab: DUP1 000018ac: RETURNDATACOPY 000018ad: RETURNDATASIZE 000018ae: PUSH1 0x00 000018b0: REVERT 000018b1: JUMPDEST 000018b2: POP 000018b3: POP 000018b4: POP 000018b5: POP 000018b6: PUSH1 0x40 000018b8: MLOAD 000018b9: RETURNDATASIZE 000018ba: PUSH1 0x1f 000018bc: NOT 000018bd: PUSH1 0x1f 000018bf: DUP3 000018c0: ADD 000018c1: AND 000018c2: DUP3 000018c3: ADD 000018c4: DUP1 000018c5: PUSH1 0x40 000018c7: MSTORE 000018c8: POP 000018c9: DUP2 000018ca: ADD 000018cb: SWAP1 000018cc: PUSH2 0x18d5 000018cf: SWAP2 000018d0: SWAP1 000018d1: PUSH2 0x3920 000018d4: JUMP 000018d5: JUMPDEST 000018d6: PUSH1 0x07 000018d8: SLOAD 000018d9: PUSH1 0x09 000018db: SLOAD 000018dc: PUSH1 0x40 000018de: MLOAD 000018df: PUSH4 0x76082715 000018e4: PUSH1 0xe0 000018e6: SHL 000018e7: DUP2 000018e8: MSTORE 000018e9: PUSH1 0x01 000018eb: PUSH1 0x01 000018ed: PUSH1 0xa0 000018ef: SHL 000018f0: SUB 000018f1: SWAP2 000018f2: DUP3 000018f3: AND 000018f4: PUSH1 0x04 000018f6: DUP3 000018f7: ADD 000018f8: MSTORE 000018f9: SWAP3 000018fa: SWAP4 000018fb: POP 000018fc: PUSH1 0x00 000018fe: SWAP3 000018ff: SWAP2 00001900: AND 00001901: SWAP1 00001902: PUSH4 0x76082715 00001907: SWAP1 00001908: PUSH1 0x24 0000190a: ADD 0000190b: PUSH1 0x20 0000190d: PUSH1 0x40 0000190f: MLOAD 00001910: DUP1 00001911: DUP4 00001912: SUB 00001913: DUP2 00001914: DUP7 00001915: GAS 00001916: STATICCALL 00001917: ISZERO 00001918: DUP1 00001919: ISZERO 0000191a: PUSH2 0x1927 0000191d: JUMPI 0000191e: RETURNDATASIZE 0000191f: PUSH1 0x00 00001921: DUP1 00001922: RETURNDATACOPY 00001923: RETURNDATASIZE 00001924: PUSH1 0x00 00001926: REVERT 00001927: JUMPDEST 00001928: POP 00001929: POP 0000192a: POP 0000192b: POP 0000192c: PUSH1 0x40 0000192e: MLOAD 0000192f: RETURNDATASIZE 00001930: PUSH1 0x1f 00001932: NOT 00001933: PUSH1 0x1f 00001935: DUP3 00001936: ADD 00001937: AND 00001938: DUP3 00001939: ADD 0000193a: DUP1 0000193b: PUSH1 0x40 0000193d: MSTORE 0000193e: POP 0000193f: DUP2 00001940: ADD 00001941: SWAP1 00001942: PUSH2 0x194b 00001945: SWAP2 00001946: SWAP1 00001947: PUSH2 0x38d5 0000194a: JUMP 0000194b: JUMPDEST 0000194c: PUSH1 0x05 0000194e: SLOAD 0000194f: PUSH1 0x09 00001951: SLOAD 00001952: PUSH1 0x40 00001954: MLOAD 00001955: PUSH4 0xb1eafaab 0000195a: PUSH1 0xe0 0000195c: SHL 0000195d: DUP2 0000195e: MSTORE 0000195f: SWAP3 00001960: SWAP4 00001961: POP 00001962: PUSH1 0x00 00001964: SWAP3 00001965: PUSH1 0x01 00001967: PUSH1 0x01 00001969: PUSH1 0xa0 0000196b: SHL 0000196c: SUB 0000196d: SWAP3 0000196e: DUP4 0000196f: AND 00001970: SWAP3 00001971: PUSH4 0xb1eafaab 00001976: SWAP3 00001977: PUSH2 0x1989 0000197a: SWAP3 0000197b: SWAP2 0000197c: AND 0000197d: SWAP1 0000197e: DUP7 0000197f: SWAP1 00001980: DUP9 00001981: SWAP1 00001982: PUSH1 0x04 00001984: ADD 00001985: PUSH2 0x396e 00001988: JUMP 00001989: JUMPDEST 0000198a: PUSH1 0x20 0000198c: PUSH1 0x40 0000198e: MLOAD 0000198f: DUP1 00001990: DUP4 00001991: SUB 00001992: DUP2 00001993: DUP7 00001994: GAS 00001995: STATICCALL 00001996: ISZERO 00001997: DUP1 00001998: ISZERO 00001999: PUSH2 0x19a6 0000199c: JUMPI 0000199d: RETURNDATASIZE 0000199e: PUSH1 0x00 000019a0: DUP1 000019a1: RETURNDATACOPY 000019a2: RETURNDATASIZE 000019a3: PUSH1 0x00 000019a5: REVERT 000019a6: JUMPDEST 000019a7: POP 000019a8: POP 000019a9: POP 000019aa: POP 000019ab: PUSH1 0x40 000019ad: MLOAD 000019ae: RETURNDATASIZE 000019af: PUSH1 0x1f 000019b1: NOT 000019b2: PUSH1 0x1f 000019b4: DUP3 000019b5: ADD 000019b6: AND 000019b7: DUP3 000019b8: ADD 000019b9: DUP1 000019ba: PUSH1 0x40 000019bc: MSTORE 000019bd: POP 000019be: DUP2 000019bf: ADD 000019c0: SWAP1 000019c1: PUSH2 0x19ca 000019c4: SWAP2 000019c5: SWAP1 000019c6: PUSH2 0x3920 000019c9: JUMP 000019ca: JUMPDEST 000019cb: PUSH1 0x01 000019cd: SLOAD 000019ce: PUSH1 0x09 000019d0: SLOAD 000019d1: PUSH1 0x40 000019d3: MLOAD 000019d4: PUSH4 0x05f8cff9 000019d9: PUSH1 0xe0 000019db: SHL 000019dc: DUP2 000019dd: MSTORE 000019de: PUSH1 0x01 000019e0: PUSH1 0x01 000019e2: PUSH1 0xa0 000019e4: SHL 000019e5: SUB 000019e6: SWAP2 000019e7: DUP3 000019e8: AND 000019e9: PUSH1 0x04 000019eb: DUP3 000019ec: ADD 000019ed: MSTORE 000019ee: SWAP3 000019ef: SWAP4 000019f0: POP 000019f1: AND 000019f2: SWAP1 000019f3: PUSH4 0x05f8cff9 000019f8: SWAP1 000019f9: PUSH1 0x24 000019fb: ADD 000019fc: PUSH1 0x20 000019fe: PUSH1 0x40 00001a00: MLOAD 00001a01: DUP1 00001a02: DUP4 00001a03: SUB 00001a04: DUP2 00001a05: DUP7 00001a06: GAS 00001a07: STATICCALL 00001a08: ISZERO 00001a09: DUP1 00001a0a: ISZERO 00001a0b: PUSH2 0x1a18 00001a0e: JUMPI 00001a0f: RETURNDATASIZE 00001a10: PUSH1 0x00 00001a12: DUP1 00001a13: RETURNDATACOPY 00001a14: RETURNDATASIZE 00001a15: PUSH1 0x00 00001a17: REVERT 00001a18: JUMPDEST 00001a19: POP 00001a1a: POP 00001a1b: POP 00001a1c: POP 00001a1d: PUSH1 0x40 00001a1f: MLOAD 00001a20: RETURNDATASIZE 00001a21: PUSH1 0x1f 00001a23: NOT 00001a24: PUSH1 0x1f 00001a26: DUP3 00001a27: ADD 00001a28: AND 00001a29: DUP3 00001a2a: ADD 00001a2b: DUP1 00001a2c: PUSH1 0x40 00001a2e: MSTORE 00001a2f: POP 00001a30: DUP2 00001a31: ADD 00001a32: SWAP1 00001a33: PUSH2 0x1a3c 00001a36: SWAP2 00001a37: SWAP1 00001a38: PUSH2 0x3920 00001a3b: JUMP 00001a3c: JUMPDEST 00001a3d: DUP2 00001a3e: LT 00001a3f: ISZERO 00001a40: PUSH2 0x1abf 00001a43: JUMPI 00001a44: PUSH1 0x40 00001a46: MLOAD 00001a47: PUSH3 0x461bcd 00001a4b: PUSH1 0xe5 00001a4d: SHL 00001a4e: DUP2 00001a4f: MSTORE 00001a50: PUSH1 0x20 00001a52: PUSH1 0x04 00001a54: DUP3 00001a55: ADD 00001a56: MSTORE 00001a57: PUSH1 0x44 00001a59: PUSH1 0x24 00001a5b: DUP3 00001a5c: ADD 00001a5d: DUP2 00001a5e: SWAP1 00001a5f: MSTORE 00001a60: PUSH32 0x53746162696c697479506f6f6c3a2043616e6e6f742077697468647261772077 00001a81: SWAP1 00001a82: DUP3 00001a83: ADD 00001a84: MSTORE 00001a85: PUSH32 0x68696c65207468657265206172652074726f766573207769746820494352203c 00001aa6: PUSH1 0x64 00001aa8: DUP3 00001aa9: ADD 00001aaa: MSTORE 00001aab: PUSH4 0x1026a1a9 00001ab0: PUSH1 0xe1 00001ab2: SHL 00001ab3: PUSH1 0x84 00001ab5: DUP3 00001ab6: ADD 00001ab7: MSTORE 00001ab8: PUSH1 0xa4 00001aba: ADD 00001abb: PUSH2 0x0a79 00001abe: JUMP 00001abf: JUMPDEST 00001ac0: POP 00001ac1: POP 00001ac2: POP 00001ac3: JUMP 00001ac4: JUMPDEST 00001ac5: PUSH1 0x03 00001ac7: SLOAD 00001ac8: PUSH2 0x0100 00001acb: SWAP1 00001acc: DIV 00001acd: PUSH1 0xff 00001acf: AND 00001ad0: ISZERO 00001ad1: DUP1 00001ad2: DUP1 00001ad3: ISZERO 00001ad4: PUSH2 0x1ae4 00001ad7: JUMPI 00001ad8: POP 00001ad9: PUSH1 0x03 00001adb: SLOAD 00001adc: PUSH1 0x01 00001ade: PUSH1 0xff 00001ae0: SWAP1 00001ae1: SWAP2 00001ae2: AND 00001ae3: LT 00001ae4: JUMPDEST 00001ae5: DUP1 00001ae6: PUSH2 0x1afe 00001ae9: JUMPI 00001aea: POP 00001aeb: ADDRESS 00001aec: EXTCODESIZE 00001aed: ISZERO 00001aee: DUP1 00001aef: ISZERO 00001af0: PUSH2 0x1afe 00001af3: JUMPI 00001af4: POP 00001af5: PUSH1 0x03 00001af7: SLOAD 00001af8: PUSH1 0xff 00001afa: AND 00001afb: PUSH1 0x01 00001afd: EQ 00001afe: JUMPDEST 00001aff: PUSH2 0x1b61 00001b02: JUMPI 00001b03: PUSH1 0x40 00001b05: MLOAD 00001b06: PUSH3 0x461bcd 00001b0a: PUSH1 0xe5 00001b0c: SHL 00001b0d: DUP2 00001b0e: MSTORE 00001b0f: PUSH1 0x20 00001b11: PUSH1 0x04 00001b13: DUP3 00001b14: ADD 00001b15: MSTORE 00001b16: PUSH1 0x2e 00001b18: PUSH1 0x24 00001b1a: DUP3 00001b1b: ADD 00001b1c: MSTORE 00001b1d: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561 00001b3e: PUSH1 0x44 00001b40: DUP3 00001b41: ADD 00001b42: MSTORE 00001b43: PUSH14 0x191e481a5b9a5d1a585b1a5e9959 00001b52: PUSH1 0x92 00001b54: SHL 00001b55: PUSH1 0x64 00001b57: DUP3 00001b58: ADD 00001b59: MSTORE 00001b5a: PUSH1 0x84 00001b5c: ADD 00001b5d: PUSH2 0x0a79 00001b60: JUMP 00001b61: JUMPDEST 00001b62: PUSH1 0x03 00001b64: DUP1 00001b65: SLOAD 00001b66: PUSH1 0xff 00001b68: NOT 00001b69: AND 00001b6a: PUSH1 0x01 00001b6c: OR 00001b6d: SWAP1 00001b6e: SSTORE 00001b6f: DUP1 00001b70: ISZERO 00001b71: PUSH2 0x1b84 00001b74: JUMPI 00001b75: PUSH1 0x03 00001b77: DUP1 00001b78: SLOAD 00001b79: PUSH2 0xff00 00001b7c: NOT 00001b7d: AND 00001b7e: PUSH2 0x0100 00001b81: OR 00001b82: SWAP1 00001b83: SSTORE 00001b84: JUMPDEST 00001b85: PUSH1 0x00 00001b87: SLOAD 00001b88: PUSH1 0x01 00001b8a: PUSH1 0x01 00001b8c: PUSH1 0xa0 00001b8e: SHL 00001b8f: SUB 00001b90: AND 00001b91: CALLER 00001b92: EQ 00001b93: PUSH2 0x1bae 00001b96: JUMPI 00001b97: PUSH1 0x40 00001b99: MLOAD 00001b9a: PUSH3 0x461bcd 00001b9e: PUSH1 0xe5 00001ba0: SHL 00001ba1: DUP2 00001ba2: MSTORE 00001ba3: PUSH1 0x04 00001ba5: ADD 00001ba6: PUSH2 0x0a79 00001ba9: SWAP1 00001baa: PUSH2 0x3939 00001bad: JUMP 00001bae: JUMPDEST 00001baf: PUSH1 0x1a 00001bb1: SLOAD 00001bb2: PUSH1 0xff 00001bb4: AND 00001bb5: ISZERO 00001bb6: PUSH2 0x1bf7 00001bb9: JUMPI 00001bba: PUSH1 0x40 00001bbc: MLOAD 00001bbd: PUSH3 0x461bcd 00001bc1: PUSH1 0xe5 00001bc3: SHL 00001bc4: DUP2 00001bc5: MSTORE 00001bc6: PUSH1 0x20 00001bc8: PUSH1 0x04 00001bca: DUP3 00001bcb: ADD 00001bcc: MSTORE 00001bcd: PUSH1 0x13 00001bcf: PUSH1 0x24 00001bd1: DUP3 00001bd2: ADD 00001bd3: MSTORE 00001bd4: PUSH19 0x105b1c9958591e481a5b9a5d1a585b1a5e9959 00001be8: PUSH1 0x6a 00001bea: SHL 00001beb: PUSH1 0x44 00001bed: DUP3 00001bee: ADD 00001bef: MSTORE 00001bf0: PUSH1 0x64 00001bf2: ADD 00001bf3: PUSH2 0x0a79 00001bf6: JUMP 00001bf7: JUMPDEST 00001bf8: PUSH2 0x1c00 00001bfb: DUP9 00001bfc: PUSH2 0x3113 00001bff: JUMP 00001c00: JUMPDEST 00001c01: PUSH2 0x1c09 00001c04: DUP8 00001c05: PUSH2 0x3113 00001c08: JUMP 00001c09: JUMPDEST 00001c0a: PUSH2 0x1c12 00001c0d: DUP7 00001c0e: PUSH2 0x3113 00001c11: JUMP 00001c12: JUMPDEST 00001c13: PUSH2 0x1c1b 00001c16: DUP6 00001c17: PUSH2 0x3113 00001c1a: JUMP 00001c1b: JUMPDEST 00001c1c: PUSH2 0x1c24 00001c1f: DUP5 00001c20: PUSH2 0x3113 00001c23: JUMP 00001c24: JUMPDEST 00001c25: PUSH2 0x1c2d 00001c28: DUP4 00001c29: PUSH2 0x3113 00001c2c: JUMP 00001c2d: JUMPDEST 00001c2e: PUSH2 0x1c36 00001c31: DUP3 00001c32: PUSH2 0x3113 00001c35: JUMP 00001c36: JUMPDEST 00001c37: PUSH1 0x1a 00001c39: DUP1 00001c3a: SLOAD 00001c3b: PUSH1 0xff 00001c3d: NOT 00001c3e: AND 00001c3f: PUSH1 0x01 00001c41: OR 00001c42: SWAP1 00001c43: SSTORE 00001c44: PUSH1 0x01 00001c46: PUSH1 0x01 00001c48: PUSH1 0xa0 00001c4a: SHL 00001c4b: SUB 00001c4c: DUP10 00001c4d: AND 00001c4e: ISZERO 00001c4f: PUSH2 0x1c5b 00001c52: JUMPI 00001c53: PUSH2 0x1c5b 00001c56: DUP10 00001c57: PUSH2 0x3113 00001c5a: JUMP 00001c5b: JUMPDEST 00001c5c: PUSH1 0x09 00001c5e: DUP1 00001c5f: SLOAD 00001c60: PUSH1 0x01 00001c62: PUSH1 0x01 00001c64: PUSH1 0xa0 00001c66: SHL 00001c67: SUB 00001c68: NOT 00001c69: SWAP1 00001c6a: DUP2 00001c6b: AND 00001c6c: PUSH1 0x01 00001c6e: PUSH1 0x01 00001c70: PUSH1 0xa0 00001c72: SHL 00001c73: SUB 00001c74: DUP13 00001c75: DUP2 00001c76: AND 00001c77: SWAP2 00001c78: SWAP1 00001c79: SWAP2 00001c7a: OR 00001c7b: SWAP1 00001c7c: SWAP3 00001c7d: SSTORE 00001c7e: PUSH1 0x03 00001c80: DUP1 00001c81: SLOAD 00001c82: PUSH3 0x010000 00001c86: PUSH1 0x01 00001c88: PUSH1 0xb0 00001c8a: SHL 00001c8b: SUB 00001c8c: NOT 00001c8d: AND 00001c8e: PUSH3 0x010000 00001c92: DUP13 00001c93: DUP6 00001c94: AND 00001c95: MUL 00001c96: OR 00001c97: SWAP1 00001c98: SSTORE 00001c99: PUSH1 0x04 00001c9b: DUP1 00001c9c: SLOAD 00001c9d: DUP3 00001c9e: AND 00001c9f: DUP11 00001ca0: DUP5 00001ca1: AND 00001ca2: OR 00001ca3: SWAP1 00001ca4: SSTORE 00001ca5: PUSH1 0x05 00001ca7: DUP1 00001ca8: SLOAD 00001ca9: DUP3 00001caa: AND 00001cab: DUP10 00001cac: DUP5 00001cad: AND 00001cae: OR 00001caf: SWAP1 00001cb0: SSTORE 00001cb1: PUSH1 0x06 00001cb3: DUP1 00001cb4: SLOAD 00001cb5: DUP3 00001cb6: AND 00001cb7: DUP9 00001cb8: DUP5 00001cb9: AND 00001cba: OR 00001cbb: SWAP1 00001cbc: SSTORE 00001cbd: PUSH1 0x07 00001cbf: DUP1 00001cc0: SLOAD 00001cc1: DUP3 00001cc2: AND 00001cc3: DUP8 00001cc4: DUP5 00001cc5: AND 00001cc6: OR 00001cc7: SWAP1 00001cc8: SSTORE 00001cc9: PUSH1 0x08 00001ccb: DUP1 00001ccc: SLOAD 00001ccd: SWAP1 00001cce: SWAP2 00001ccf: AND 00001cd0: SWAP2 00001cd1: DUP6 00001cd2: AND 00001cd3: SWAP2 00001cd4: SWAP1 00001cd5: SWAP2 00001cd6: OR 00001cd7: SWAP1 00001cd8: SSTORE 00001cd9: PUSH2 0x1ce1 00001cdc: DUP3 00001cdd: PUSH2 0x1488 00001ce0: JUMP 00001ce1: JUMPDEST 00001ce2: PUSH8 0x0de0b6b3a7640000 00001ceb: PUSH1 0x13 00001ced: SSTORE 00001cee: PUSH1 0x40 00001cf0: MLOAD 00001cf1: PUSH1 0x01 00001cf3: PUSH1 0x01 00001cf5: PUSH1 0xa0 00001cf7: SHL 00001cf8: SUB 00001cf9: DUP10 00001cfa: AND 00001cfb: DUP2 00001cfc: MSTORE 00001cfd: PUSH32 0x3ca631ffcd2a9b5d9ae18543fc82f58eb4ca33af9e6ab01b7a8e95331e6ed985 00001d1e: SWAP1 00001d1f: PUSH1 0x20 00001d21: ADD 00001d22: PUSH1 0x40 00001d24: MLOAD 00001d25: DUP1 00001d26: SWAP2 00001d27: SUB 00001d28: SWAP1 00001d29: LOG1 00001d2a: PUSH1 0x40 00001d2c: MLOAD 00001d2d: PUSH1 0x01 00001d2f: PUSH1 0x01 00001d31: PUSH1 0xa0 00001d33: SHL 00001d34: SUB 00001d35: DUP9 00001d36: AND 00001d37: DUP2 00001d38: MSTORE 00001d39: PUSH32 0x143219c9e69b09e07e095fcc889b43d8f46ca892bba65f08dc3a0050869a5678 00001d5a: SWAP1 00001d5b: PUSH1 0x20 00001d5d: ADD 00001d5e: PUSH1 0x40 00001d60: MLOAD 00001d61: DUP1 00001d62: SWAP2 00001d63: SUB 00001d64: SWAP1 00001d65: LOG1 00001d66: PUSH1 0x40 00001d68: MLOAD 00001d69: PUSH1 0x01 00001d6b: PUSH1 0x01 00001d6d: PUSH1 0xa0 00001d6f: SHL 00001d70: SUB 00001d71: DUP7 00001d72: AND 00001d73: DUP2 00001d74: MSTORE 00001d75: PUSH32 0xf165f2d7729f02833c6f7dea7d6f0f9c4a505f5557516f4daca827f9637c6790 00001d96: SWAP1 00001d97: PUSH1 0x20 00001d99: ADD 00001d9a: PUSH1 0x40 00001d9c: MLOAD 00001d9d: DUP1 00001d9e: SWAP2 00001d9f: SUB 00001da0: SWAP1 00001da1: LOG1 00001da2: PUSH1 0x40 00001da4: MLOAD 00001da5: PUSH1 0x01 00001da7: PUSH1 0x01 00001da9: PUSH1 0xa0 00001dab: SHL 00001dac: SUB 00001dad: DUP6 00001dae: AND 00001daf: DUP2 00001db0: MSTORE 00001db1: PUSH32 0x65f4cf077bc01e4742eb5ad98326f6e95b63548ea24b17f8d5e823111fe78800 00001dd2: SWAP1 00001dd3: PUSH1 0x20 00001dd5: ADD 00001dd6: PUSH1 0x40 00001dd8: MLOAD 00001dd9: DUP1 00001dda: SWAP2 00001ddb: SUB 00001ddc: SWAP1 00001ddd: LOG1 00001dde: PUSH1 0x40 00001de0: MLOAD 00001de1: PUSH1 0x01 00001de3: PUSH1 0x01 00001de5: PUSH1 0xa0 00001de7: SHL 00001de8: SUB 00001de9: DUP5 00001dea: AND 00001deb: DUP2 00001dec: MSTORE 00001ded: PUSH32 0x3055265812fb8447b9ada4a5d804ec43bd528ec40e89c952bbc7b85dc5ac6811 00001e0e: SWAP1 00001e0f: PUSH1 0x20 00001e11: ADD 00001e12: PUSH1 0x40 00001e14: MLOAD 00001e15: DUP1 00001e16: SWAP2 00001e17: SUB 00001e18: SWAP1 00001e19: LOG1 00001e1a: DUP1 00001e1b: ISZERO 00001e1c: PUSH2 0x1e5f 00001e1f: JUMPI 00001e20: PUSH1 0x03 00001e22: DUP1 00001e23: SLOAD 00001e24: PUSH2 0xff00 00001e27: NOT 00001e28: AND 00001e29: SWAP1 00001e2a: SSTORE 00001e2b: PUSH1 0x40 00001e2d: MLOAD 00001e2e: PUSH1 0x01 00001e30: DUP2 00001e31: MSTORE 00001e32: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498 00001e53: SWAP1 00001e54: PUSH1 0x20 00001e56: ADD 00001e57: PUSH1 0x40 00001e59: MLOAD 00001e5a: DUP1 00001e5b: SWAP2 00001e5c: SUB 00001e5d: SWAP1 00001e5e: LOG1 00001e5f: JUMPDEST 00001e60: POP 00001e61: POP 00001e62: POP 00001e63: POP 00001e64: POP 00001e65: POP 00001e66: POP 00001e67: POP 00001e68: POP 00001e69: JUMP 00001e6a: JUMPDEST 00001e6b: PUSH2 0x1e72 00001e6e: PUSH2 0x0996 00001e71: JUMP 00001e72: JUMPDEST 00001e73: PUSH1 0x09 00001e75: SLOAD 00001e76: PUSH1 0x01 00001e78: PUSH1 0x01 00001e7a: PUSH1 0xa0 00001e7c: SHL 00001e7d: SUB 00001e7e: DUP4 00001e7f: DUP2 00001e80: AND 00001e81: SWAP2 00001e82: AND 00001e83: EQ 00001e84: PUSH2 0x1ee2 00001e87: JUMPI 00001e88: PUSH1 0x40 00001e8a: MLOAD 00001e8b: PUSH3 0x461bcd 00001e8f: PUSH1 0xe5 00001e91: SHL 00001e92: DUP2 00001e93: MSTORE 00001e94: PUSH1 0x20 00001e96: PUSH1 0x04 00001e98: DUP3 00001e99: ADD 00001e9a: MSTORE 00001e9b: PUSH1 0x2a 00001e9d: PUSH1 0x24 00001e9f: DUP3 00001ea0: ADD 00001ea1: MSTORE 00001ea2: PUSH32 0x526563656976696e67207468652077726f6e6720617373657420696e20537461 00001ec3: PUSH1 0x44 00001ec5: DUP3 00001ec6: ADD 00001ec7: MSTORE 00001ec8: PUSH10 0x189a5b1a5d1e541bdbdb 00001ed3: PUSH1 0xb2 00001ed5: SHL 00001ed6: PUSH1 0x64 00001ed8: DUP3 00001ed9: ADD 00001eda: MSTORE 00001edb: PUSH1 0x84 00001edd: ADD 00001ede: PUSH2 0x0a79 00001ee1: JUMP 00001ee2: JUMPDEST 00001ee3: PUSH1 0x09 00001ee5: SLOAD 00001ee6: PUSH1 0x01 00001ee8: PUSH1 0x01 00001eea: PUSH1 0xa0 00001eec: SHL 00001eed: SUB 00001eee: AND 00001eef: ISZERO 00001ef0: PUSH2 0x1f28 00001ef3: JUMPI 00001ef4: PUSH1 0x0a 00001ef6: SLOAD 00001ef7: PUSH2 0x1f00 00001efa: SWAP1 00001efb: DUP3 00001efc: PUSH2 0x0a84 00001eff: JUMP 00001f00: JUMPDEST 00001f01: PUSH1 0x0a 00001f03: DUP2 00001f04: SWAP1 00001f05: SSTORE 00001f06: PUSH1 0x40 00001f08: MLOAD 00001f09: SWAP1 00001f0a: DUP2 00001f0b: MSTORE 00001f0c: PUSH1 0x00 00001f0e: DUP1 00001f0f: MLOAD 00001f10: PUSH1 0x20 00001f12: PUSH2 0x3bcb 00001f15: DUP4 00001f16: CODECOPY 00001f17: DUP2 00001f18: MLOAD 00001f19: SWAP2 00001f1a: MSTORE 00001f1b: SWAP1 00001f1c: PUSH1 0x20 00001f1e: ADD 00001f1f: JUMPDEST 00001f20: PUSH1 0x40 00001f22: MLOAD 00001f23: DUP1 00001f24: SWAP2 00001f25: SUB 00001f26: SWAP1 00001f27: LOG1 00001f28: JUMPDEST 00001f29: POP 00001f2a: POP 00001f2b: JUMP 00001f2c: JUMPDEST 00001f2d: PUSH1 0x00 00001f2f: SLOAD 00001f30: PUSH1 0x01 00001f32: PUSH1 0x01 00001f34: PUSH1 0xa0 00001f36: SHL 00001f37: SUB 00001f38: AND 00001f39: CALLER 00001f3a: EQ 00001f3b: PUSH2 0x1f56 00001f3e: JUMPI 00001f3f: PUSH1 0x40 00001f41: MLOAD 00001f42: PUSH3 0x461bcd 00001f46: PUSH1 0xe5 00001f48: SHL 00001f49: DUP2 00001f4a: MSTORE 00001f4b: PUSH1 0x04 00001f4d: ADD 00001f4e: PUSH2 0x0a79 00001f51: SWAP1 00001f52: PUSH2 0x3939 00001f55: JUMP 00001f56: JUMPDEST 00001f57: PUSH1 0x01 00001f59: PUSH1 0x01 00001f5b: PUSH1 0xa0 00001f5d: SHL 00001f5e: SUB 00001f5f: DUP2 00001f60: AND 00001f61: PUSH2 0x1fbb 00001f64: JUMPI 00001f65: PUSH1 0x40 00001f67: MLOAD 00001f68: PUSH3 0x461bcd 00001f6c: PUSH1 0xe5 00001f6e: SHL 00001f6f: DUP2 00001f70: MSTORE 00001f71: PUSH1 0x20 00001f73: PUSH1 0x04 00001f75: DUP3 00001f76: ADD 00001f77: MSTORE 00001f78: PUSH1 0x26 00001f7a: PUSH1 0x24 00001f7c: DUP3 00001f7d: ADD 00001f7e: MSTORE 00001f7f: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061 00001fa0: PUSH1 0x44 00001fa2: DUP3 00001fa3: ADD 00001fa4: MSTORE 00001fa5: PUSH6 0x646472657373 00001fac: PUSH1 0xd0 00001fae: SHL 00001faf: PUSH1 0x64 00001fb1: DUP3 00001fb2: ADD 00001fb3: MSTORE 00001fb4: PUSH1 0x84 00001fb6: ADD 00001fb7: PUSH2 0x0a79 00001fba: JUMP 00001fbb: JUMPDEST 00001fbc: PUSH2 0x1fc4 00001fbf: DUP2 00001fc0: PUSH2 0x2d58 00001fc3: JUMP 00001fc4: JUMPDEST 00001fc5: POP 00001fc6: JUMP 00001fc7: JUMPDEST 00001fc8: PUSH1 0x80 00001fca: DUP2 00001fcb: ADD 00001fcc: MLOAD 00001fcd: PUSH1 0x60 00001fcf: DUP3 00001fd0: ADD 00001fd1: MLOAD 00001fd2: DUP3 00001fd3: MLOAD 00001fd4: PUSH1 0x20 00001fd6: DUP1 00001fd7: DUP6 00001fd8: ADD 00001fd9: MLOAD 00001fda: PUSH1 0x01 00001fdc: PUSH1 0x01 00001fde: PUSH1 0x80 00001fe0: SHL 00001fe1: SUB 00001fe2: DUP1 00001fe3: DUP7 00001fe4: AND 00001fe5: PUSH1 0x00 00001fe7: SWAP1 00001fe8: DUP2 00001fe9: MSTORE 00001fea: PUSH1 0x15 00001fec: DUP5 00001fed: MSTORE 00001fee: PUSH1 0x40 00001ff0: DUP1 00001ff1: DUP3 00001ff2: KECCAK256 00001ff3: SWAP3 00001ff4: DUP8 00001ff5: AND 00001ff6: DUP3 00001ff7: MSTORE 00001ff8: SWAP2 00001ff9: SWAP1 00001ffa: SWAP4 00001ffb: MSTORE 00001ffc: DUP3 00001ffd: KECCAK256 00001ffe: SLOAD 00001fff: SWAP2 00002000: SWAP5 00002001: SWAP4 00002002: SWAP3 00002003: SWAP2 00002004: DUP6 00002005: SWAP1 00002006: PUSH2 0x200f 00002009: SWAP1 0000200a: DUP5 0000200b: PUSH2 0x2282 0000200e: JUMP 0000200f: JUMPDEST 00002010: PUSH1 0x01 00002012: PUSH1 0x01 00002014: PUSH1 0x80 00002016: SHL 00002017: SUB 00002018: DUP1 00002019: DUP8 0000201a: AND 0000201b: PUSH1 0x00 0000201d: SWAP1 0000201e: DUP2 0000201f: MSTORE 00002020: PUSH1 0x15 00002022: PUSH1 0x20 00002024: MSTORE 00002025: PUSH1 0x40 00002027: DUP2 00002028: KECCAK256 00002029: SWAP3 0000202a: SWAP4 0000202b: POP 0000202c: SWAP2 0000202d: PUSH2 0x2066 00002030: SWAP2 00002031: PUSH4 0x3b9aca00 00002036: SWAP2 00002037: SWAP1 00002038: DUP5 00002039: SWAP1 0000203a: PUSH2 0x2046 0000203d: SWAP1 0000203e: DUP11 0000203f: AND 00002040: PUSH1 0x01 00002042: PUSH2 0x31b8 00002045: JUMP 00002046: JUMPDEST 00002047: PUSH1 0x01 00002049: PUSH1 0x01 0000204b: PUSH1 0x80 0000204d: SHL 0000204e: SUB 0000204f: AND 00002050: DUP2 00002051: MSTORE 00002052: PUSH1 0x20 00002054: DUP2 00002055: ADD 00002056: SWAP2 00002057: SWAP1 00002058: SWAP2 00002059: MSTORE 0000205a: PUSH1 0x40 0000205c: ADD 0000205d: PUSH1 0x00 0000205f: KECCAK256 00002060: SLOAD 00002061: SWAP1 00002062: PUSH2 0x3235 00002065: JUMP 00002066: JUMPDEST 00002067: SWAP1 00002068: POP 00002069: PUSH1 0x00 0000206b: PUSH2 0x2092 0000206e: PUSH8 0x0de0b6b3a7640000 00002077: PUSH2 0x208c 0000207a: DUP7 0000207b: DUP2 0000207c: PUSH2 0x2085 0000207f: DUP9 00002080: DUP9 00002081: PUSH2 0x0a84 00002084: JUMP 00002085: JUMPDEST 00002086: DUP16 00002087: SWAP1 00002088: PUSH2 0x3241 0000208b: JUMP 0000208c: JUMPDEST 0000208d: SWAP1 0000208e: PUSH2 0x3235 00002091: JUMP 00002092: JUMPDEST 00002093: SWAP11 00002094: SWAP10 00002095: POP 00002096: POP 00002097: POP 00002098: POP 00002099: POP 0000209a: POP 0000209b: POP 0000209c: POP 0000209d: POP 0000209e: POP 0000209f: JUMP 000020a0: JUMPDEST 000020a1: PUSH1 0x20 000020a3: DUP2 000020a4: ADD 000020a5: MLOAD 000020a6: PUSH1 0x60 000020a8: DUP3 000020a9: ADD 000020aa: MLOAD 000020ab: PUSH1 0x80 000020ad: DUP4 000020ae: ADD 000020af: MLOAD 000020b0: PUSH1 0x14 000020b2: SLOAD 000020b3: PUSH1 0x00 000020b5: SWAP4 000020b6: SWAP3 000020b7: SWAP2 000020b8: SWAP1 000020b9: PUSH1 0x01 000020bb: PUSH1 0x01 000020bd: PUSH1 0x80 000020bf: SHL 000020c0: SUB 000020c1: PUSH1 0x01 000020c3: PUSH1 0x80 000020c5: SHL 000020c6: SWAP1 000020c7: SWAP2 000020c8: DIV 000020c9: DUP2 000020ca: AND 000020cb: SWAP1 000020cc: DUP3 000020cd: AND 000020ce: LT 000020cf: ISZERO 000020d0: PUSH2 0x20df 000020d3: JUMPI 000020d4: PUSH1 0x00 000020d6: SWAP4 000020d7: POP 000020d8: POP 000020d9: POP 000020da: POP 000020db: PUSH2 0x0a93 000020de: JUMP 000020df: JUMPDEST 000020e0: PUSH1 0x14 000020e2: SLOAD 000020e3: PUSH1 0x00 000020e5: SWAP1 000020e6: DUP2 000020e7: SWAP1 000020e8: PUSH2 0x20fa 000020eb: SWAP1 000020ec: PUSH1 0x01 000020ee: PUSH1 0x01 000020f0: PUSH1 0x80 000020f2: SHL 000020f3: SUB 000020f4: AND 000020f5: DUP6 000020f6: PUSH2 0x324d 000020f9: JUMP 000020fa: JUMPDEST 000020fb: SWAP1 000020fc: POP 000020fd: DUP1 000020fe: PUSH1 0x01 00002100: PUSH1 0x01 00002102: PUSH1 0x80 00002104: SHL 00002105: SUB 00002106: AND 00002107: PUSH1 0x00 00002109: SUB 0000210a: PUSH2 0x212d 0000210d: JUMPI 0000210e: PUSH2 0x2126 00002111: DUP6 00002112: PUSH2 0x208c 00002115: PUSH1 0x13 00002117: SLOAD 00002118: DUP12 00002119: PUSH2 0x3241 0000211c: SWAP1 0000211d: SWAP2 0000211e: SWAP1 0000211f: PUSH4 0xffffffff 00002124: AND 00002125: JUMP 00002126: JUMPDEST 00002127: SWAP2 00002128: POP 00002129: PUSH2 0x2164 0000212c: JUMP 0000212d: JUMPDEST 0000212e: DUP1 0000212f: PUSH1 0x01 00002131: PUSH1 0x01 00002133: PUSH1 0x80 00002135: SHL 00002136: SUB 00002137: AND 00002138: PUSH1 0x01 0000213a: SUB 0000213b: PUSH2 0x215f 0000213e: JUMPI 0000213f: PUSH2 0x2126 00002142: PUSH4 0x3b9aca00 00002147: PUSH2 0x208c 0000214a: DUP8 0000214b: PUSH2 0x208c 0000214e: PUSH1 0x13 00002150: SLOAD 00002151: DUP14 00002152: PUSH2 0x3241 00002155: SWAP1 00002156: SWAP2 00002157: SWAP1 00002158: PUSH4 0xffffffff 0000215d: AND 0000215e: JUMP 0000215f: JUMPDEST 00002160: PUSH1 0x00 00002162: SWAP2 00002163: POP 00002164: JUMPDEST 00002165: PUSH2 0x2172 00002168: DUP9 00002169: PUSH4 0x3b9aca00 0000216e: PUSH2 0x3235 00002171: JUMP 00002172: JUMPDEST 00002173: DUP3 00002174: LT 00002175: ISZERO 00002176: PUSH2 0x2187 00002179: JUMPI 0000217a: PUSH1 0x00 0000217c: SWAP6 0000217d: POP 0000217e: POP 0000217f: POP 00002180: POP 00002181: POP 00002182: POP 00002183: PUSH2 0x0a93 00002186: JUMP 00002187: JUMPDEST 00002188: POP 00002189: SWAP7 0000218a: SWAP6 0000218b: POP 0000218c: POP 0000218d: POP 0000218e: POP 0000218f: POP 00002190: POP 00002191: JUMP 00002192: JUMPDEST 00002193: PUSH1 0x00 00002195: DUP2 00002196: GT 00002197: PUSH2 0x1fc4 0000219a: JUMPI 0000219b: PUSH1 0x40 0000219d: MLOAD 0000219e: PUSH3 0x461bcd 000021a2: PUSH1 0xe5 000021a4: SHL 000021a5: DUP2 000021a6: MSTORE 000021a7: PUSH1 0x20 000021a9: PUSH1 0x04 000021ab: DUP3 000021ac: ADD 000021ad: MSTORE 000021ae: PUSH1 0x30 000021b0: PUSH1 0x24 000021b2: DUP3 000021b3: ADD 000021b4: MSTORE 000021b5: PUSH32 0x53746162696c697479506f6f6c3a2055736572206d7573742068617665206120 000021d6: PUSH1 0x44 000021d8: DUP3 000021d9: ADD 000021da: MSTORE 000021db: PUSH16 0x1b9bdb8b5e995c9bc819195c1bdcda5d 000021ec: PUSH1 0x82 000021ee: SHL 000021ef: PUSH1 0x64 000021f1: DUP3 000021f2: ADD 000021f3: MSTORE 000021f4: PUSH1 0x84 000021f6: ADD 000021f7: PUSH2 0x0a79 000021fa: JUMP 000021fb: JUMPDEST 000021fc: PUSH1 0x00 000021fe: DUP2 000021ff: PUSH1 0x01 00002201: PUSH1 0x01 00002203: PUSH1 0xa0 00002205: SHL 00002206: SUB 00002207: AND 00002208: PUSH4 0x49f3fcf5 0000220d: PUSH1 0x40 0000220f: MLOAD 00002210: DUP2 00002211: PUSH4 0xffffffff 00002216: AND 00002217: PUSH1 0xe0 00002219: SHL 0000221a: DUP2 0000221b: MSTORE 0000221c: PUSH1 0x04 0000221e: ADD 0000221f: PUSH1 0x20 00002221: PUSH1 0x40 00002223: MLOAD 00002224: DUP1 00002225: DUP4 00002226: SUB 00002227: DUP2 00002228: PUSH1 0x00 0000222a: DUP8 0000222b: GAS 0000222c: CALL 0000222d: ISZERO 0000222e: DUP1 0000222f: ISZERO 00002230: PUSH2 0x223d 00002233: JUMPI 00002234: RETURNDATASIZE 00002235: PUSH1 0x00 00002237: DUP1 00002238: RETURNDATACOPY 00002239: RETURNDATASIZE 0000223a: PUSH1 0x00 0000223c: REVERT 0000223d: JUMPDEST 0000223e: POP 0000223f: POP 00002240: POP 00002241: POP 00002242: PUSH1 0x40 00002244: MLOAD 00002245: RETURNDATASIZE 00002246: PUSH1 0x1f 00002248: NOT 00002249: PUSH1 0x1f 0000224b: DUP3 0000224c: ADD 0000224d: AND 0000224e: DUP3 0000224f: ADD 00002250: DUP1 00002251: PUSH1 0x40 00002253: MSTORE 00002254: POP 00002255: DUP2 00002256: ADD 00002257: SWAP1 00002258: PUSH2 0x2261 0000225b: SWAP2 0000225c: SWAP1 0000225d: PUSH2 0x3920 00002260: JUMP 00002261: JUMPDEST 00002262: SWAP1 00002263: POP 00002264: PUSH2 0x1f28 00002267: DUP2 00002268: PUSH2 0x32cd 0000226b: JUMP 0000226c: JUMPDEST 0000226d: PUSH1 0x00 0000226f: DUP2 00002270: DUP4 00002271: LT 00002272: PUSH2 0x227b 00002275: JUMPI 00002276: DUP2 00002277: PUSH2 0x0a90 0000227a: JUMP 0000227b: JUMPDEST 0000227c: POP 0000227d: SWAP1 0000227e: SWAP2 0000227f: SWAP1 00002280: POP 00002281: JUMP 00002282: JUMPDEST 00002283: PUSH1 0x00 00002285: PUSH2 0x0a90 00002288: DUP3 00002289: DUP5 0000228a: PUSH2 0x3992 0000228d: JUMP 0000228e: JUMPDEST 0000228f: PUSH1 0x00 00002291: PUSH2 0x2299 00002294: DUP3 00002295: PUSH2 0x0fc3 00002298: JUMP 00002299: JUMPDEST 0000229a: PUSH1 0x40 0000229c: MLOAD 0000229d: PUSH4 0x6a834215 000022a2: PUSH1 0xe0 000022a4: SHL 000022a5: DUP2 000022a6: MSTORE 000022a7: PUSH1 0x01 000022a9: PUSH1 0x01 000022ab: PUSH1 0xa0 000022ad: SHL 000022ae: SUB 000022af: DUP5 000022b0: DUP2 000022b1: AND 000022b2: PUSH1 0x04 000022b4: DUP4 000022b5: ADD 000022b6: MSTORE 000022b7: PUSH1 0x24 000022b9: DUP3 000022ba: ADD 000022bb: DUP4 000022bc: SWAP1 000022bd: MSTORE 000022be: SWAP2 000022bf: SWAP3 000022c0: POP 000022c1: SWAP1 000022c2: DUP5 000022c3: AND 000022c4: SWAP1 000022c5: PUSH4 0x6a834215 000022ca: SWAP1 000022cb: PUSH1 0x44 000022cd: ADD 000022ce: PUSH1 0x00 000022d0: PUSH1 0x40 000022d2: MLOAD 000022d3: DUP1 000022d4: DUP4 000022d5: SUB 000022d6: DUP2 000022d7: PUSH1 0x00 000022d9: DUP8 000022da: DUP1 000022db: EXTCODESIZE 000022dc: ISZERO 000022dd: DUP1 000022de: ISZERO 000022df: PUSH2 0x22e7 000022e2: JUMPI 000022e3: PUSH1 0x00 000022e5: DUP1 000022e6: REVERT 000022e7: JUMPDEST 000022e8: POP 000022e9: GAS 000022ea: CALL 000022eb: ISZERO 000022ec: DUP1 000022ed: ISZERO 000022ee: PUSH2 0x22fb 000022f1: JUMPI 000022f2: RETURNDATASIZE 000022f3: PUSH1 0x00 000022f5: DUP1 000022f6: RETURNDATACOPY 000022f7: RETURNDATASIZE 000022f8: PUSH1 0x00 000022fa: REVERT 000022fb: JUMPDEST 000022fc: POP 000022fd: POP 000022fe: POP 000022ff: POP 00002300: DUP2 00002301: PUSH1 0x01 00002303: PUSH1 0x01 00002305: PUSH1 0xa0 00002307: SHL 00002308: SUB 00002309: AND 0000230a: PUSH32 0xf188df7686d1604b5a12cf902ea07797ccd4b180c02d07e2f1cefc287b1f6a44 0000232b: DUP3 0000232c: PUSH1 0x40 0000232e: MLOAD 0000232f: PUSH2 0x233a 00002332: SWAP2 00002333: DUP2 00002334: MSTORE 00002335: PUSH1 0x20 00002337: ADD 00002338: SWAP1 00002339: JUMP 0000233a: JUMPDEST 0000233b: PUSH1 0x40 0000233d: MLOAD 0000233e: DUP1 0000233f: SWAP2 00002340: SUB 00002341: SWAP1 00002342: LOG2 00002343: POP 00002344: POP 00002345: POP 00002346: JUMP 00002347: JUMPDEST 00002348: PUSH1 0x0e 0000234a: DUP2 0000234b: SWAP1 0000234c: SSTORE 0000234d: PUSH1 0x14 0000234f: SLOAD 00002350: PUSH1 0x13 00002352: SLOAD 00002353: PUSH1 0x01 00002355: PUSH1 0x01 00002357: PUSH1 0x80 00002359: SHL 0000235a: SUB 0000235b: PUSH1 0x01 0000235d: PUSH1 0x80 0000235f: SHL 00002360: DUP1 00002361: DUP5 00002362: DIV 00002363: DUP3 00002364: AND 00002365: PUSH1 0x00 00002367: DUP2 00002368: DUP2 00002369: MSTORE 0000236a: PUSH1 0x16 0000236c: PUSH1 0x20 0000236e: SWAP1 0000236f: DUP2 00002370: MSTORE 00002371: PUSH1 0x40 00002373: DUP1 00002374: DUP4 00002375: KECCAK256 00002376: SWAP6 00002377: SWAP1 00002378: SWAP8 00002379: AND 0000237a: DUP1 0000237b: DUP4 0000237c: MSTORE 0000237d: SWAP5 0000237e: DUP2 0000237f: MSTORE 00002380: SWAP1 00002381: DUP7 00002382: SWAP1 00002383: KECCAK256 00002384: SLOAD 00002385: PUSH1 0x10 00002387: DUP7 00002388: SWAP1 00002389: SSTORE 0000238a: PUSH1 0x11 0000238c: DUP2 0000238d: SWAP1 0000238e: SSTORE 0000238f: SWAP3 00002390: DUP3 00002391: MUL 00002392: DUP5 00002393: OR 00002394: PUSH1 0x12 00002396: SSTORE 00002397: DUP6 00002398: MLOAD 00002399: DUP6 0000239a: DUP2 0000239b: MSTORE 0000239c: SWAP1 0000239d: DUP2 0000239e: ADD 0000239f: DUP4 000023a0: SWAP1 000023a1: MSTORE 000023a2: PUSH1 0x0f 000023a4: SWAP6 000023a5: SWAP4 000023a6: SWAP5 000023a7: SWAP2 000023a8: SWAP4 000023a9: SWAP2 000023aa: SWAP3 000023ab: SWAP2 000023ac: PUSH32 0xb9388978b54026c51c20e3972ba5ed79bca3fc98beb4d005b4ae633b14db9718 000023cd: SWAP2 000023ce: ADD 000023cf: PUSH1 0x40 000023d1: MLOAD 000023d2: DUP1 000023d3: SWAP2 000023d4: SUB 000023d5: SWAP1 000023d6: LOG1 000023d7: POP 000023d8: POP 000023d9: POP 000023da: POP 000023db: POP 000023dc: POP 000023dd: JUMP 000023de: JUMPDEST 000023df: DUP1 000023e0: PUSH1 0x00 000023e2: SUB 000023e3: PUSH2 0x23ea 000023e6: JUMPI 000023e7: POP 000023e8: POP 000023e9: JUMP 000023ea: JUMPDEST 000023eb: PUSH1 0x06 000023ed: SLOAD 000023ee: PUSH1 0x40 000023f0: MLOAD 000023f1: PUSH4 0x1062c15f 000023f6: PUSH1 0xe1 000023f8: SHL 000023f9: DUP2 000023fa: MSTORE 000023fb: PUSH1 0x01 000023fd: PUSH1 0x01 000023ff: PUSH1 0xa0 00002401: SHL 00002402: SUB 00002403: SWAP1 00002404: SWAP2 00002405: AND 00002406: SWAP1 00002407: PUSH4 0x20c582be 0000240c: SWAP1 0000240d: PUSH2 0x241e 00002410: SWAP1 00002411: ADDRESS 00002412: SWAP1 00002413: DUP7 00002414: SWAP1 00002415: DUP7 00002416: SWAP1 00002417: PUSH1 0x04 00002419: ADD 0000241a: PUSH2 0x396e 0000241d: JUMP 0000241e: JUMPDEST 0000241f: PUSH1 0x00 00002421: PUSH1 0x40 00002423: MLOAD 00002424: DUP1 00002425: DUP4 00002426: SUB 00002427: DUP2 00002428: PUSH1 0x00 0000242a: DUP8 0000242b: DUP1 0000242c: EXTCODESIZE 0000242d: ISZERO 0000242e: DUP1 0000242f: ISZERO 00002430: PUSH2 0x2438 00002433: JUMPI 00002434: PUSH1 0x00 00002436: DUP1 00002437: REVERT 00002438: JUMPDEST 00002439: POP 0000243a: GAS 0000243b: CALL 0000243c: ISZERO 0000243d: DUP1 0000243e: ISZERO 0000243f: PUSH2 0x244c 00002442: JUMPI 00002443: RETURNDATASIZE 00002444: PUSH1 0x00 00002446: DUP1 00002447: RETURNDATACOPY 00002448: RETURNDATASIZE 00002449: PUSH1 0x00 0000244b: REVERT 0000244c: JUMPDEST 0000244d: POP 0000244e: POP 0000244f: POP 00002450: POP 00002451: PUSH2 0x1f28 00002454: DUP2 00002455: PUSH2 0x33de 00002458: JUMP 00002459: JUMPDEST 0000245a: PUSH1 0x01 0000245c: PUSH1 0x01 0000245e: PUSH1 0xa0 00002460: SHL 00002461: SUB 00002462: DUP3 00002463: AND 00002464: PUSH1 0x00 00002466: SWAP1 00002467: DUP2 00002468: MSTORE 00002469: PUSH1 0x0c 0000246b: PUSH1 0x20 0000246d: MSTORE 0000246e: PUSH1 0x40 00002470: DUP2 00002471: KECCAK256 00002472: DUP3 00002473: SWAP1 00002474: SSTORE 00002475: DUP2 00002476: SWAP1 00002477: SUB 00002478: PUSH2 0x24ef 0000247b: JUMPI 0000247c: PUSH1 0x01 0000247e: PUSH1 0x01 00002480: PUSH1 0xa0 00002482: SHL 00002483: SUB 00002484: DUP3 00002485: AND 00002486: PUSH1 0x00 00002488: DUP2 00002489: DUP2 0000248a: MSTORE 0000248b: PUSH1 0x0d 0000248d: PUSH1 0x20 0000248f: SWAP1 00002490: DUP2 00002491: MSTORE 00002492: PUSH1 0x40 00002494: DUP1 00002495: DUP4 00002496: KECCAK256 00002497: DUP4 00002498: DUP2 00002499: SSTORE 0000249a: PUSH1 0x01 0000249c: DUP2 0000249d: ADD 0000249e: DUP5 0000249f: SWAP1 000024a0: SSTORE 000024a1: PUSH1 0x02 000024a3: DUP2 000024a4: ADD 000024a5: DUP5 000024a6: SWAP1 000024a7: SSTORE 000024a8: PUSH1 0x03 000024aa: ADD 000024ab: DUP4 000024ac: SWAP1 000024ad: SSTORE 000024ae: DUP1 000024af: MLOAD 000024b0: DUP4 000024b1: DUP2 000024b2: MSTORE 000024b3: SWAP2 000024b4: DUP3 000024b5: ADD 000024b6: DUP4 000024b7: SWAP1 000024b8: MSTORE 000024b9: DUP2 000024ba: ADD 000024bb: SWAP2 000024bc: SWAP1 000024bd: SWAP2 000024be: MSTORE 000024bf: PUSH32 0x2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a 000024e0: SWAP1 000024e1: PUSH1 0x60 000024e3: ADD 000024e4: PUSH1 0x40 000024e6: MLOAD 000024e7: DUP1 000024e8: SWAP2 000024e9: SUB 000024ea: SWAP1 000024eb: LOG2 000024ec: POP 000024ed: POP 000024ee: JUMP 000024ef: JUMPDEST 000024f0: PUSH1 0x14 000024f2: SLOAD 000024f3: PUSH1 0x13 000024f5: SLOAD 000024f6: PUSH1 0x01 000024f8: PUSH1 0x01 000024fa: PUSH1 0x80 000024fc: SHL 000024fd: SUB 000024fe: PUSH1 0x01 00002500: PUSH1 0x80 00002502: SHL 00002503: DUP1 00002504: DUP5 00002505: DIV 00002506: DUP3 00002507: AND 00002508: PUSH1 0x00 0000250a: DUP2 0000250b: DUP2 0000250c: MSTORE 0000250d: PUSH1 0x15 0000250f: PUSH1 0x20 00002511: SWAP1 00002512: DUP2 00002513: MSTORE 00002514: PUSH1 0x40 00002516: DUP1 00002517: DUP4 00002518: KECCAK256 00002519: SWAP6 0000251a: SWAP1 0000251b: SWAP8 0000251c: AND 0000251d: DUP1 0000251e: DUP4 0000251f: MSTORE 00002520: SWAP5 00002521: DUP2 00002522: MSTORE 00002523: DUP7 00002524: DUP3 00002525: KECCAK256 00002526: SLOAD 00002527: DUP4 00002528: DUP4 00002529: MSTORE 0000252a: PUSH1 0x16 0000252c: DUP3 0000252d: MSTORE 0000252e: DUP8 0000252f: DUP4 00002530: KECCAK256 00002531: DUP7 00002532: DUP5 00002533: MSTORE 00002534: DUP3 00002535: MSTORE 00002536: DUP8 00002537: DUP4 00002538: KECCAK256 00002539: SLOAD 0000253a: PUSH1 0x01 0000253c: PUSH1 0x01 0000253e: PUSH1 0xa0 00002540: SHL 00002541: SUB 00002542: DUP12 00002543: AND 00002544: DUP1 00002545: DUP6 00002546: MSTORE 00002547: PUSH1 0x0d 00002549: DUP5 0000254a: MSTORE 0000254b: SWAP4 0000254c: DUP10 0000254d: SWAP1 0000254e: KECCAK256 0000254f: PUSH1 0x01 00002551: DUP2 00002552: ADD 00002553: DUP10 00002554: SWAP1 00002555: SSTORE 00002556: DUP3 00002557: DUP2 00002558: SSTORE 00002559: PUSH1 0x02 0000255b: DUP2 0000255c: ADD 0000255d: DUP3 0000255e: SWAP1 0000255f: SSTORE 00002560: SWAP6 00002561: DUP6 00002562: MUL 00002563: DUP8 00002564: OR 00002565: PUSH1 0x03 00002567: DUP8 00002568: ADD 00002569: SSTORE 0000256a: DUP9 0000256b: MLOAD 0000256c: DUP9 0000256d: DUP2 0000256e: MSTORE 0000256f: SWAP3 00002570: DUP4 00002571: ADD 00002572: DUP3 00002573: SWAP1 00002574: MSTORE 00002575: SWAP8 00002576: DUP3 00002577: ADD 00002578: DUP9 00002579: SWAP1 0000257a: MSTORE 0000257b: SWAP5 0000257c: SWAP7 0000257d: SWAP3 0000257e: SWAP6 0000257f: SWAP5 00002580: SWAP4 00002581: SWAP2 00002582: SWAP1 00002583: PUSH32 0x2d6cc0bcdf72c9486f6451bde6b80f44066f4558f77f44dbfedbe7d8b295225a 000025a4: SWAP1 000025a5: PUSH1 0x60 000025a7: ADD 000025a8: PUSH1 0x40 000025aa: MLOAD 000025ab: DUP1 000025ac: SWAP2 000025ad: SUB 000025ae: SWAP1 000025af: LOG2 000025b0: POP 000025b1: POP 000025b2: POP 000025b3: POP 000025b4: POP 000025b5: POP 000025b6: POP 000025b7: POP 000025b8: JUMP 000025b9: JUMPDEST 000025ba: DUP2 000025bb: PUSH1 0x00 000025bd: SUB 000025be: PUSH2 0x25c5 000025c1: JUMPI 000025c2: POP 000025c3: POP 000025c4: JUMP 000025c5: JUMPDEST 000025c6: PUSH1 0x0a 000025c8: SLOAD 000025c9: PUSH2 0x25d2 000025cc: SWAP1 000025cd: DUP3 000025ce: PUSH2 0x2282 000025d1: JUMP 000025d2: JUMPDEST 000025d3: PUSH1 0x0a 000025d5: SSTORE 000025d6: PUSH1 0x09 000025d8: SLOAD 000025d9: PUSH1 0x01 000025db: PUSH1 0x01 000025dd: PUSH1 0xa0 000025df: SHL 000025e0: SUB 000025e1: AND 000025e2: PUSH2 0x268d 000025e5: JUMPI 000025e6: PUSH1 0x40 000025e8: MLOAD 000025e9: PUSH1 0x00 000025eb: SWAP1 000025ec: CALLER 000025ed: SWAP1 000025ee: DUP4 000025ef: SWAP1 000025f0: DUP4 000025f1: DUP2 000025f2: DUP2 000025f3: DUP2 000025f4: DUP6 000025f5: DUP8 000025f6: GAS 000025f7: CALL 000025f8: SWAP3 000025f9: POP 000025fa: POP 000025fb: POP 000025fc: RETURNDATASIZE 000025fd: DUP1 000025fe: PUSH1 0x00 00002600: DUP2 00002601: EQ 00002602: PUSH2 0x2627 00002605: JUMPI 00002606: PUSH1 0x40 00002608: MLOAD 00002609: SWAP2 0000260a: POP 0000260b: PUSH1 0x1f 0000260d: NOT 0000260e: PUSH1 0x3f 00002610: RETURNDATASIZE 00002611: ADD 00002612: AND 00002613: DUP3 00002614: ADD 00002615: PUSH1 0x40 00002617: MSTORE 00002618: RETURNDATASIZE 00002619: DUP3 0000261a: MSTORE 0000261b: RETURNDATASIZE 0000261c: PUSH1 0x00 0000261e: PUSH1 0x20 00002620: DUP5 00002621: ADD 00002622: RETURNDATACOPY 00002623: PUSH2 0x262c 00002626: JUMP 00002627: JUMPDEST 00002628: PUSH1 0x60 0000262a: SWAP2 0000262b: POP 0000262c: JUMPDEST 0000262d: POP 0000262e: POP 0000262f: SWAP1 00002630: POP 00002631: DUP1 00002632: PUSH2 0x2687 00002635: JUMPI 00002636: PUSH1 0x40 00002638: MLOAD 00002639: PUSH3 0x461bcd 0000263d: PUSH1 0xe5 0000263f: SHL 00002640: DUP2 00002641: MSTORE 00002642: PUSH1 0x20 00002644: PUSH1 0x04 00002646: DUP3 00002647: ADD 00002648: MSTORE 00002649: PUSH1 0x21 0000264b: PUSH1 0x24 0000264d: DUP3 0000264e: ADD 0000264f: MSTORE 00002650: PUSH32 0x53746162696c697479506f6f6c3a2073656e64696e6720455448206661696c65 00002671: PUSH1 0x44 00002673: DUP3 00002674: ADD 00002675: MSTORE 00002676: PUSH1 0x19 00002678: PUSH1 0xfa 0000267a: SHL 0000267b: PUSH1 0x64 0000267d: DUP3 0000267e: ADD 0000267f: MSTORE 00002680: PUSH1 0x84 00002682: ADD 00002683: PUSH2 0x0a79 00002686: JUMP 00002687: JUMPDEST 00002688: POP 00002689: PUSH2 0x26a4 0000268c: JUMP 0000268d: JUMPDEST 0000268e: PUSH1 0x09 00002690: SLOAD 00002691: PUSH2 0x26a4 00002694: SWAP1 00002695: PUSH1 0x01 00002697: PUSH1 0x01 00002699: PUSH1 0xa0 0000269b: SHL 0000269c: SUB 0000269d: AND 0000269e: CALLER 0000269f: DUP5 000026a0: PUSH2 0x3426 000026a3: JUMP 000026a4: JUMPDEST 000026a5: PUSH1 0x00 000026a7: DUP1 000026a8: MLOAD 000026a9: PUSH1 0x20 000026ab: PUSH2 0x3bcb 000026ae: DUP4 000026af: CODECOPY 000026b0: DUP2 000026b1: MLOAD 000026b2: SWAP2 000026b3: MSTORE 000026b4: PUSH1 0x0a 000026b6: SLOAD 000026b7: PUSH1 0x40 000026b9: MLOAD 000026ba: PUSH2 0x26c5 000026bd: SWAP2 000026be: DUP2 000026bf: MSTORE 000026c0: PUSH1 0x20 000026c2: ADD 000026c3: SWAP1 000026c4: JUMP 000026c5: JUMPDEST 000026c6: PUSH1 0x40 000026c8: MLOAD 000026c9: DUP1 000026ca: SWAP2 000026cb: SUB 000026cc: SWAP1 000026cd: LOG1 000026ce: PUSH1 0x40 000026d0: DUP1 000026d1: MLOAD 000026d2: CALLER 000026d3: DUP2 000026d4: MSTORE 000026d5: PUSH1 0x20 000026d7: DUP2 000026d8: ADD 000026d9: DUP5 000026da: SWAP1 000026db: MSTORE 000026dc: PUSH32 0xc4dfa259771b0ed50b100eaf04734dad1b094a866d9d285c59180cde3f3f45e8 000026fd: SWAP2 000026fe: ADD 000026ff: PUSH2 0x1f1f 00002702: JUMP 00002703: JUMPDEST 00002704: PUSH1 0x04 00002706: SLOAD 00002707: PUSH1 0x01 00002709: PUSH1 0x01 0000270b: PUSH1 0xa0 0000270d: SHL 0000270e: SUB 0000270f: AND 00002710: CALLER 00002711: EQ 00002712: DUP1 00002713: PUSH2 0x2726 00002716: JUMPI 00002717: POP 00002718: PUSH1 0x05 0000271a: SLOAD 0000271b: PUSH1 0x01 0000271d: PUSH1 0x01 0000271f: PUSH1 0xa0 00002721: SHL 00002722: SUB 00002723: AND 00002724: CALLER 00002725: EQ 00002726: JUMPDEST 00002727: PUSH2 0x0a82 0000272a: JUMPI 0000272b: PUSH1 0x40 0000272d: MLOAD 0000272e: PUSH3 0x461bcd 00002732: PUSH1 0xe5 00002734: SHL 00002735: DUP2 00002736: MSTORE 00002737: PUSH1 0x20 00002739: PUSH1 0x04 0000273b: DUP3 0000273c: ADD 0000273d: MSTORE 0000273e: PUSH1 0x2c 00002740: PUSH1 0x24 00002742: DUP3 00002743: ADD 00002744: MSTORE 00002745: PUSH32 0x536f7274656454726f7665733a2043616c6c6572206973206e6f742074686520 00002766: PUSH1 0x44 00002768: DUP3 00002769: ADD 0000276a: MSTORE 0000276b: PUSH12 0x2a3937bb32a6b0b730b3b2b9 00002778: PUSH1 0xa1 0000277a: SHL 0000277b: PUSH1 0x64 0000277d: DUP3 0000277e: ADD 0000277f: MSTORE 00002780: PUSH1 0x84 00002782: ADD 00002783: PUSH2 0x0a79 00002786: JUMP 00002787: JUMPDEST 00002788: PUSH1 0x00 0000278a: DUP1 0000278b: PUSH1 0x00 0000278d: PUSH2 0x27b3 00002790: PUSH1 0x18 00002792: SLOAD 00002793: PUSH2 0x27ad 00002796: PUSH8 0x0de0b6b3a7640000 0000279f: DUP10 000027a0: PUSH2 0x3241 000027a3: SWAP1 000027a4: SWAP2 000027a5: SWAP1 000027a6: PUSH4 0xffffffff 000027ab: AND 000027ac: JUMP 000027ad: JUMPDEST 000027ae: SWAP1 000027af: PUSH2 0x0a84 000027b2: JUMP 000027b3: JUMPDEST 000027b4: SWAP1 000027b5: POP 000027b6: DUP4 000027b7: DUP6 000027b8: GT 000027b9: ISZERO 000027ba: PUSH2 0x27c5 000027bd: JUMPI 000027be: PUSH2 0x27c5 000027c1: PUSH2 0x39a9 000027c4: JUMP 000027c5: JUMPDEST 000027c6: DUP4 000027c7: DUP6 000027c8: SUB 000027c9: PUSH2 0x27e1 000027cc: JUMPI 000027cd: PUSH1 0x00 000027cf: PUSH1 0x19 000027d1: SSTORE 000027d2: PUSH8 0x0de0b6b3a7640000 000027db: SWAP2 000027dc: POP 000027dd: PUSH2 0x2829 000027e0: JUMP 000027e1: JUMPDEST 000027e2: PUSH1 0x19 000027e4: SLOAD 000027e5: PUSH1 0x00 000027e7: SWAP1 000027e8: PUSH2 0x2803 000027eb: SWAP1 000027ec: PUSH2 0x27fd 000027ef: DUP9 000027f0: PUSH8 0x0de0b6b3a7640000 000027f9: PUSH2 0x3241 000027fc: JUMP 000027fd: JUMPDEST 000027fe: SWAP1 000027ff: PUSH2 0x2282 00002802: JUMP 00002803: JUMPDEST 00002804: SWAP1 00002805: POP 00002806: PUSH2 0x2814 00002809: PUSH1 0x01 0000280b: PUSH2 0x27ad 0000280e: DUP4 0000280f: DUP9 00002810: PUSH2 0x3235 00002813: JUMP 00002814: JUMPDEST 00002815: SWAP3 00002816: POP 00002817: PUSH2 0x2824 0000281a: DUP2 0000281b: PUSH2 0x27fd 0000281e: DUP6 0000281f: DUP9 00002820: PUSH2 0x3241 00002823: JUMP 00002824: JUMPDEST 00002825: PUSH1 0x19 00002827: SSTORE 00002828: POP 00002829: JUMPDEST 0000282a: PUSH2 0x2833 0000282d: DUP2 0000282e: DUP6 0000282f: PUSH2 0x3235 00002832: JUMP 00002833: JUMPDEST 00002834: SWAP3 00002835: POP 00002836: PUSH2 0x2849 00002839: PUSH2 0x2842 0000283c: DUP5 0000283d: DUP7 0000283e: PUSH2 0x3241 00002841: JUMP 00002842: JUMPDEST 00002843: DUP3 00002844: SWAP1 00002845: PUSH2 0x2282 00002848: JUMP 00002849: JUMPDEST 0000284a: PUSH1 0x18 0000284c: SSTORE 0000284d: POP 0000284e: SWAP4 0000284f: POP 00002850: SWAP4 00002851: SWAP2 00002852: POP 00002853: POP 00002854: JUMP 00002855: JUMPDEST 00002856: PUSH1 0x13 00002858: SLOAD 00002859: PUSH1 0x00 0000285b: PUSH8 0x0de0b6b3a7640000 00002864: DUP4 00002865: GT 00002866: ISZERO 00002867: PUSH2 0x2872 0000286a: JUMPI 0000286b: PUSH2 0x2872 0000286e: PUSH2 0x39a9 00002871: JUMP 00002872: JUMPDEST 00002873: PUSH1 0x00 00002875: PUSH2 0x2886 00002878: PUSH8 0x0de0b6b3a7640000 00002881: DUP6 00002882: PUSH2 0x2282 00002885: JUMP 00002886: JUMPDEST 00002887: PUSH1 0x14 00002889: SLOAD 0000288a: PUSH1 0x01 0000288c: PUSH1 0x01 0000288e: PUSH1 0x80 00002890: SHL 00002891: SUB 00002892: PUSH1 0x01 00002894: PUSH1 0x80 00002896: SHL 00002897: DUP3 00002898: DIV 00002899: DUP2 0000289a: AND 0000289b: PUSH1 0x00 0000289d: DUP2 0000289e: DUP2 0000289f: MSTORE 000028a0: PUSH1 0x15 000028a2: PUSH1 0x20 000028a4: SWAP1 000028a5: DUP2 000028a6: MSTORE 000028a7: PUSH1 0x40 000028a9: DUP1 000028aa: DUP4 000028ab: KECCAK256 000028ac: SWAP5 000028ad: SWAP1 000028ae: SWAP6 000028af: AND 000028b0: DUP1 000028b1: DUP4 000028b2: MSTORE 000028b3: SWAP4 000028b4: SWAP1 000028b5: MSTORE 000028b6: SWAP3 000028b7: DUP4 000028b8: KECCAK256 000028b9: SLOAD 000028ba: SWAP4 000028bb: SWAP5 000028bc: POP 000028bd: SWAP1 000028be: SWAP3 000028bf: SWAP1 000028c0: SWAP2 000028c1: PUSH2 0x28ca 000028c4: DUP10 000028c5: DUP9 000028c6: PUSH2 0x3241 000028c9: JUMP 000028ca: JUMPDEST 000028cb: SWAP1 000028cc: POP 000028cd: PUSH1 0x00 000028cf: PUSH2 0x28d8 000028d2: DUP4 000028d3: DUP4 000028d4: PUSH2 0x0a84 000028d7: JUMP 000028d8: JUMPDEST 000028d9: PUSH1 0x01 000028db: PUSH1 0x01 000028dd: PUSH1 0x80 000028df: SHL 000028e0: SUB 000028e1: DUP6 000028e2: DUP2 000028e3: AND 000028e4: PUSH1 0x00 000028e6: DUP2 000028e7: DUP2 000028e8: MSTORE 000028e9: PUSH1 0x15 000028eb: PUSH1 0x20 000028ed: SWAP1 000028ee: DUP2 000028ef: MSTORE 000028f0: PUSH1 0x40 000028f2: DUP1 000028f3: DUP4 000028f4: KECCAK256 000028f5: SWAP5 000028f6: DUP12 000028f7: AND 000028f8: DUP1 000028f9: DUP5 000028fa: MSTORE 000028fb: SWAP5 000028fc: DUP3 000028fd: MSTORE 000028fe: SWAP2 000028ff: DUP3 00002900: SWAP1 00002901: KECCAK256 00002902: DUP6 00002903: SWAP1 00002904: SSTORE 00002905: DUP2 00002906: MLOAD 00002907: DUP6 00002908: DUP2 00002909: MSTORE 0000290a: SWAP1 0000290b: DUP2 0000290c: ADD 0000290d: SWAP3 0000290e: SWAP1 0000290f: SWAP3 00002910: MSTORE 00002911: DUP2 00002912: ADD 00002913: SWAP2 00002914: SWAP1 00002915: SWAP2 00002916: MSTORE 00002917: SWAP1 00002918: SWAP2 00002919: POP 0000291a: PUSH32 0xe12e2cd2c9afa8069203ca07e7eff1edce4a075686d0736a8e7e0d593597b207 0000293b: SWAP1 0000293c: PUSH1 0x60 0000293e: ADD 0000293f: PUSH1 0x40 00002941: MLOAD 00002942: DUP1 00002943: SWAP2 00002944: SUB 00002945: SWAP1 00002946: LOG1 00002947: DUP6 00002948: PUSH1 0x00 0000294a: SUB 0000294b: PUSH2 0x2a0b 0000294e: JUMPI 0000294f: PUSH2 0x2962 00002952: PUSH1 0x01 00002954: PUSH1 0x01 00002956: PUSH1 0x80 00002958: SHL 00002959: SUB 0000295a: DUP6 0000295b: AND 0000295c: PUSH1 0x01 0000295e: PUSH2 0x31b8 00002961: JUMP 00002962: JUMPDEST 00002963: PUSH1 0x14 00002965: DUP1 00002966: SLOAD 00002967: PUSH1 0x01 00002969: PUSH1 0x01 0000296b: PUSH1 0x80 0000296d: SHL 0000296e: SUB 0000296f: SWAP1 00002970: DUP2 00002971: AND 00002972: PUSH1 0x01 00002974: PUSH1 0x80 00002976: SHL 00002977: SWAP4 00002978: DUP3 00002979: AND 0000297a: DUP5 0000297b: MUL 0000297c: OR 0000297d: SWAP2 0000297e: DUP3 0000297f: SWAP1 00002980: SSTORE 00002981: PUSH1 0x40 00002983: MLOAD 00002984: SWAP3 00002985: SWAP1 00002986: SWAP2 00002987: DIV 00002988: AND 00002989: DUP2 0000298a: MSTORE 0000298b: PUSH32 0xb50f0f59e7cb5b421dc77581c3a9919e3806e076e5fa78a874c3f120cb7d874d 000029ac: SWAP1 000029ad: PUSH1 0x20 000029af: ADD 000029b0: PUSH1 0x40 000029b2: MLOAD 000029b3: DUP1 000029b4: SWAP2 000029b5: SUB 000029b6: SWAP1 000029b7: LOG1 000029b8: PUSH1 0x14 000029ba: DUP1 000029bb: SLOAD 000029bc: PUSH1 0x01 000029be: PUSH1 0x01 000029c0: PUSH1 0x80 000029c2: SHL 000029c3: SUB 000029c4: NOT 000029c5: AND 000029c6: SWAP1 000029c7: SSTORE 000029c8: PUSH1 0x40 000029ca: MLOAD 000029cb: PUSH1 0x00 000029cd: DUP2 000029ce: MSTORE 000029cf: PUSH32 0x1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe 000029f0: SWAP1 000029f1: PUSH1 0x20 000029f3: ADD 000029f4: PUSH1 0x40 000029f6: MLOAD 000029f7: DUP1 000029f8: SWAP2 000029f9: SUB 000029fa: SWAP1 000029fb: LOG1 000029fc: PUSH8 0x0de0b6b3a7640000 00002a05: SWAP7 00002a06: POP 00002a07: PUSH2 0x2ad6 00002a0a: JUMP 00002a0b: JUMPDEST 00002a0c: PUSH4 0x3b9aca00 00002a11: PUSH2 0x2a26 00002a14: PUSH8 0x0de0b6b3a7640000 00002a1d: PUSH2 0x208c 00002a20: DUP12 00002a21: DUP11 00002a22: PUSH2 0x3241 00002a25: JUMP 00002a26: JUMPDEST 00002a27: LT 00002a28: ISZERO 00002a29: PUSH2 0x2abd 00002a2c: JUMPI 00002a2d: PUSH2 0x2a50 00002a30: PUSH8 0x0de0b6b3a7640000 00002a39: PUSH2 0x208c 00002a3c: PUSH4 0x3b9aca00 00002a41: PUSH2 0x2a4a 00002a44: DUP13 00002a45: DUP12 00002a46: PUSH2 0x3241 00002a49: JUMP 00002a4a: JUMPDEST 00002a4b: SWAP1 00002a4c: PUSH2 0x3241 00002a4f: JUMP 00002a50: JUMPDEST 00002a51: SWAP7 00002a52: POP 00002a53: PUSH2 0x2a66 00002a56: PUSH1 0x01 00002a58: PUSH1 0x01 00002a5a: PUSH1 0x80 00002a5c: SHL 00002a5d: SUB 00002a5e: DUP7 00002a5f: AND 00002a60: PUSH1 0x01 00002a62: PUSH2 0x31b8 00002a65: JUMP 00002a66: JUMPDEST 00002a67: PUSH1 0x14 00002a69: DUP1 00002a6a: SLOAD 00002a6b: PUSH1 0x01 00002a6d: PUSH1 0x01 00002a6f: PUSH1 0x80 00002a71: SHL 00002a72: SUB 00002a73: NOT 00002a74: AND 00002a75: PUSH1 0x01 00002a77: PUSH1 0x01 00002a79: PUSH1 0x80 00002a7b: SHL 00002a7c: SUB 00002a7d: SWAP3 00002a7e: SWAP1 00002a7f: SWAP3 00002a80: AND 00002a81: SWAP2 00002a82: DUP3 00002a83: OR 00002a84: SWAP1 00002a85: SSTORE 00002a86: PUSH1 0x40 00002a88: MLOAD 00002a89: SWAP1 00002a8a: DUP2 00002a8b: MSTORE 00002a8c: PUSH32 0x1f9dfc70cd666adb18a39d60a797518f7b4febf4b6e24ef37d44f6e1e7219fbe 00002aad: SWAP1 00002aae: PUSH1 0x20 00002ab0: ADD 00002ab1: PUSH1 0x40 00002ab3: MLOAD 00002ab4: DUP1 00002ab5: SWAP2 00002ab6: SUB 00002ab7: SWAP1 00002ab8: LOG1 00002ab9: PUSH2 0x2ad6 00002abc: JUMP 00002abd: JUMPDEST 00002abe: PUSH2 0x2ad3 00002ac1: PUSH8 0x0de0b6b3a7640000 00002aca: PUSH2 0x208c 00002acd: DUP11 00002ace: DUP10 00002acf: PUSH2 0x3241 00002ad2: JUMP 00002ad3: JUMPDEST 00002ad4: SWAP7 00002ad5: POP 00002ad6: JUMPDEST 00002ad7: PUSH1 0x00 00002ad9: DUP8 00002ada: GT 00002adb: PUSH2 0x2ae6 00002ade: JUMPI 00002adf: PUSH2 0x2ae6 00002ae2: PUSH2 0x39a9 00002ae5: JUMP 00002ae6: JUMPDEST 00002ae7: PUSH1 0x13 00002ae9: DUP8 00002aea: SWAP1 00002aeb: SSTORE 00002aec: PUSH1 0x40 00002aee: MLOAD 00002aef: DUP8 00002af0: DUP2 00002af1: MSTORE 00002af2: PUSH32 0xc1a9618cb59ebca77cbdbc2949f126823c407ff13edb285fd0262519a9c18e8c 00002b13: SWAP1 00002b14: PUSH1 0x20 00002b16: ADD 00002b17: PUSH1 0x40 00002b19: MLOAD 00002b1a: DUP1 00002b1b: SWAP2 00002b1c: SUB 00002b1d: SWAP1 00002b1e: LOG1 00002b1f: POP 00002b20: POP 00002b21: POP 00002b22: POP 00002b23: POP 00002b24: POP 00002b25: POP 00002b26: POP 00002b27: POP 00002b28: POP 00002b29: JUMP 00002b2a: JUMPDEST 00002b2b: PUSH1 0x01 00002b2d: SLOAD 00002b2e: PUSH1 0x40 00002b30: DUP1 00002b31: MLOAD 00002b32: PUSH4 0x3fbeef25 00002b37: PUSH1 0xe1 00002b39: SHL 00002b3a: DUP2 00002b3b: MSTORE 00002b3c: SWAP1 00002b3d: MLOAD 00002b3e: PUSH1 0x00 00002b40: SWAP3 00002b41: PUSH1 0x01 00002b43: PUSH1 0x01 00002b45: PUSH1 0xa0 00002b47: SHL 00002b48: SUB 00002b49: AND 00002b4a: SWAP2 00002b4b: PUSH4 0x7f7dde4a 00002b50: SWAP2 00002b51: PUSH1 0x04 00002b53: DUP1 00002b54: DUP4 00002b55: ADD 00002b56: SWAP3 00002b57: PUSH1 0x20 00002b59: SWAP3 00002b5a: SWAP2 00002b5b: SWAP1 00002b5c: DUP3 00002b5d: SWAP1 00002b5e: SUB 00002b5f: ADD 00002b60: DUP2 00002b61: DUP7 00002b62: GAS 00002b63: STATICCALL 00002b64: ISZERO 00002b65: DUP1 00002b66: ISZERO 00002b67: PUSH2 0x2b74 00002b6a: JUMPI 00002b6b: RETURNDATASIZE 00002b6c: PUSH1 0x00 00002b6e: DUP1 00002b6f: RETURNDATACOPY 00002b70: RETURNDATASIZE 00002b71: PUSH1 0x00 00002b73: REVERT 00002b74: JUMPDEST 00002b75: POP 00002b76: POP 00002b77: POP 00002b78: POP 00002b79: PUSH1 0x40 00002b7b: MLOAD 00002b7c: RETURNDATASIZE 00002b7d: PUSH1 0x1f 00002b7f: NOT 00002b80: PUSH1 0x1f 00002b82: DUP3 00002b83: ADD 00002b84: AND 00002b85: DUP3 00002b86: ADD 00002b87: DUP1 00002b88: PUSH1 0x40 00002b8a: MSTORE 00002b8b: POP 00002b8c: DUP2 00002b8d: ADD 00002b8e: SWAP1 00002b8f: PUSH2 0x2b98 00002b92: SWAP2 00002b93: SWAP1 00002b94: PUSH2 0x38d5 00002b97: JUMP 00002b98: JUMPDEST 00002b99: PUSH1 0x09 00002b9b: SLOAD 00002b9c: PUSH1 0x40 00002b9e: MLOAD 00002b9f: PUSH4 0xfb24e5f7 00002ba4: PUSH1 0xe0 00002ba6: SHL 00002ba7: DUP2 00002ba8: MSTORE 00002ba9: PUSH1 0x01 00002bab: PUSH1 0x01 00002bad: PUSH1 0xa0 00002baf: SHL 00002bb0: SUB 00002bb1: SWAP2 00002bb2: DUP3 00002bb3: AND 00002bb4: PUSH1 0x04 00002bb6: DUP3 00002bb7: ADD 00002bb8: MSTORE 00002bb9: PUSH1 0x24 00002bbb: DUP2 00002bbc: ADD 00002bbd: DUP6 00002bbe: SWAP1 00002bbf: MSTORE 00002bc0: SWAP2 00002bc1: SWAP3 00002bc2: POP 00002bc3: DUP3 00002bc4: AND 00002bc5: SWAP1 00002bc6: PUSH4 0xfb24e5f7 00002bcb: SWAP1 00002bcc: PUSH1 0x44 00002bce: ADD 00002bcf: PUSH1 0x00 00002bd1: PUSH1 0x40 00002bd3: MLOAD 00002bd4: DUP1 00002bd5: DUP4 00002bd6: SUB 00002bd7: DUP2 00002bd8: PUSH1 0x00 00002bda: DUP8 00002bdb: DUP1 00002bdc: EXTCODESIZE 00002bdd: ISZERO 00002bde: DUP1 00002bdf: ISZERO 00002be0: PUSH2 0x2be8 00002be3: JUMPI 00002be4: PUSH1 0x00 00002be6: DUP1 00002be7: REVERT 00002be8: JUMPDEST 00002be9: POP 00002bea: GAS 00002beb: CALL 00002bec: ISZERO 00002bed: DUP1 00002bee: ISZERO 00002bef: PUSH2 0x2bfc 00002bf2: JUMPI 00002bf3: RETURNDATASIZE 00002bf4: PUSH1 0x00 00002bf6: DUP1 00002bf7: RETURNDATACOPY 00002bf8: RETURNDATASIZE 00002bf9: PUSH1 0x00 00002bfb: REVERT 00002bfc: JUMPDEST 00002bfd: POP 00002bfe: POP 00002bff: POP 00002c00: POP 00002c01: PUSH2 0x2c09 00002c04: DUP3 00002c05: PUSH2 0x33de 00002c08: JUMP 00002c09: JUMPDEST 00002c0a: PUSH1 0x06 00002c0c: SLOAD 00002c0d: PUSH1 0x40 00002c0f: MLOAD 00002c10: PUSH4 0x2770a7eb 00002c15: PUSH1 0xe2 00002c17: SHL 00002c18: DUP2 00002c19: MSTORE 00002c1a: ADDRESS 00002c1b: PUSH1 0x04 00002c1d: DUP3 00002c1e: ADD 00002c1f: MSTORE 00002c20: PUSH1 0x24 00002c22: DUP2 00002c23: ADD 00002c24: DUP5 00002c25: SWAP1 00002c26: MSTORE 00002c27: PUSH1 0x01 00002c29: PUSH1 0x01 00002c2b: PUSH1 0xa0 00002c2d: SHL 00002c2e: SUB 00002c2f: SWAP1 00002c30: SWAP2 00002c31: AND 00002c32: SWAP1 00002c33: PUSH4 0x9dc29fac 00002c38: SWAP1 00002c39: PUSH1 0x44 00002c3b: ADD 00002c3c: PUSH1 0x00 00002c3e: PUSH1 0x40 00002c40: MLOAD 00002c41: DUP1 00002c42: DUP4 00002c43: SUB 00002c44: DUP2 00002c45: PUSH1 0x00 00002c47: DUP8 00002c48: DUP1 00002c49: EXTCODESIZE 00002c4a: ISZERO 00002c4b: DUP1 00002c4c: ISZERO 00002c4d: PUSH2 0x2c55 00002c50: JUMPI 00002c51: PUSH1 0x00 00002c53: DUP1 00002c54: REVERT 00002c55: JUMPDEST 00002c56: POP 00002c57: GAS 00002c58: CALL 00002c59: ISZERO 00002c5a: DUP1 00002c5b: ISZERO 00002c5c: PUSH2 0x2c69 00002c5f: JUMPI 00002c60: RETURNDATASIZE 00002c61: PUSH1 0x00 00002c63: DUP1 00002c64: RETURNDATACOPY 00002c65: RETURNDATASIZE 00002c66: PUSH1 0x00 00002c68: REVERT 00002c69: JUMPDEST 00002c6a: POP 00002c6b: POP 00002c6c: PUSH1 0x09 00002c6e: SLOAD 00002c6f: PUSH1 0x40 00002c71: MLOAD 00002c72: PUSH4 0x47878f15 00002c77: PUSH1 0xe0 00002c79: SHL 00002c7a: DUP2 00002c7b: MSTORE 00002c7c: PUSH1 0x01 00002c7e: PUSH1 0x01 00002c80: PUSH1 0xa0 00002c82: SHL 00002c83: SUB 00002c84: DUP1 00002c85: DUP7 00002c86: AND 00002c87: SWAP5 00002c88: POP 00002c89: PUSH4 0x47878f15 00002c8e: SWAP4 00002c8f: POP 00002c90: PUSH2 0x2ca1 00002c93: SWAP3 00002c94: AND 00002c95: SWAP1 00002c96: ADDRESS 00002c97: SWAP1 00002c98: DUP9 00002c99: SWAP1 00002c9a: PUSH1 0x04 00002c9c: ADD 00002c9d: PUSH2 0x396e 00002ca0: JUMP 00002ca1: JUMPDEST 00002ca2: PUSH1 0x00 00002ca4: PUSH1 0x40 00002ca6: MLOAD 00002ca7: DUP1 00002ca8: DUP4 00002ca9: SUB 00002caa: DUP2 00002cab: PUSH1 0x00 00002cad: DUP8 00002cae: DUP1 00002caf: EXTCODESIZE 00002cb0: ISZERO 00002cb1: DUP1 00002cb2: ISZERO 00002cb3: PUSH2 0x2cbb 00002cb6: JUMPI 00002cb7: PUSH1 0x00 00002cb9: DUP1 00002cba: REVERT 00002cbb: JUMPDEST 00002cbc: POP 00002cbd: GAS 00002cbe: CALL 00002cbf: ISZERO 00002cc0: DUP1 00002cc1: ISZERO 00002cc2: PUSH2 0x2ccf 00002cc5: JUMPI 00002cc6: RETURNDATASIZE 00002cc7: PUSH1 0x00 00002cc9: DUP1 00002cca: RETURNDATACOPY 00002ccb: RETURNDATASIZE 00002ccc: PUSH1 0x00 00002cce: REVERT 00002ccf: JUMPDEST 00002cd0: POP 00002cd1: POP 00002cd2: POP 00002cd3: POP 00002cd4: POP 00002cd5: POP 00002cd6: POP 00002cd7: JUMP 00002cd8: JUMPDEST 00002cd9: PUSH1 0x80 00002cdb: DUP2 00002cdc: ADD 00002cdd: MLOAD 00002cde: PUSH1 0x60 00002ce0: DUP3 00002ce1: ADD 00002ce2: MLOAD 00002ce3: PUSH1 0x40 00002ce5: DUP1 00002ce6: DUP5 00002ce7: ADD 00002ce8: MLOAD 00002ce9: PUSH1 0x20 00002ceb: DUP1 00002cec: DUP7 00002ced: ADD 00002cee: MLOAD 00002cef: PUSH1 0x01 00002cf1: PUSH1 0x01 00002cf3: PUSH1 0x80 00002cf5: SHL 00002cf6: SUB 00002cf7: DUP1 00002cf8: DUP8 00002cf9: AND 00002cfa: PUSH1 0x00 00002cfc: SWAP1 00002cfd: DUP2 00002cfe: MSTORE 00002cff: PUSH1 0x16 00002d01: DUP5 00002d02: MSTORE 00002d03: DUP6 00002d04: DUP2 00002d05: KECCAK256 00002d06: SWAP2 00002d07: DUP8 00002d08: AND 00002d09: DUP2 00002d0a: MSTORE 00002d0b: SWAP3 00002d0c: MSTORE 00002d0d: SWAP3 00002d0e: DUP2 00002d0f: KECCAK256 00002d10: SLOAD 00002d11: SWAP1 00002d12: SWAP5 00002d13: SWAP4 00002d14: SWAP3 00002d15: SWAP1 00002d16: DUP6 00002d17: SWAP1 00002d18: PUSH2 0x2d21 00002d1b: SWAP1 00002d1c: DUP5 00002d1d: PUSH2 0x2282 00002d20: JUMP 00002d21: JUMPDEST 00002d22: PUSH1 0x01 00002d24: PUSH1 0x01 00002d26: PUSH1 0x80 00002d28: SHL 00002d29: SUB 00002d2a: DUP1 00002d2b: DUP8 00002d2c: AND 00002d2d: PUSH1 0x00 00002d2f: SWAP1 00002d30: DUP2 00002d31: MSTORE 00002d32: PUSH1 0x16 00002d34: PUSH1 0x20 00002d36: MSTORE 00002d37: PUSH1 0x40 00002d39: DUP2 00002d3a: KECCAK256 00002d3b: SWAP3 00002d3c: SWAP4 00002d3d: POP 00002d3e: SWAP2 00002d3f: PUSH2 0x2066 00002d42: SWAP2 00002d43: PUSH4 0x3b9aca00 00002d48: SWAP2 00002d49: SWAP1 00002d4a: DUP5 00002d4b: SWAP1 00002d4c: PUSH2 0x2046 00002d4f: SWAP1 00002d50: DUP11 00002d51: AND 00002d52: PUSH1 0x01 00002d54: PUSH2 0x31b8 00002d57: JUMP 00002d58: JUMPDEST 00002d59: PUSH1 0x00 00002d5b: DUP1 00002d5c: SLOAD 00002d5d: PUSH1 0x01 00002d5f: PUSH1 0x01 00002d61: PUSH1 0xa0 00002d63: SHL 00002d64: SUB 00002d65: DUP4 00002d66: DUP2 00002d67: AND 00002d68: PUSH1 0x01 00002d6a: PUSH1 0x01 00002d6c: PUSH1 0xa0 00002d6e: SHL 00002d6f: SUB 00002d70: NOT 00002d71: DUP4 00002d72: AND 00002d73: DUP2 00002d74: OR 00002d75: DUP5 00002d76: SSTORE 00002d77: PUSH1 0x40 00002d79: MLOAD 00002d7a: SWAP2 00002d7b: SWAP1 00002d7c: SWAP3 00002d7d: AND 00002d7e: SWAP3 00002d7f: DUP4 00002d80: SWAP2 00002d81: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00002da2: SWAP2 00002da3: SWAP1 00002da4: LOG3 00002da5: POP 00002da6: POP 00002da7: JUMP 00002da8: JUMPDEST 00002da9: PUSH1 0x00 00002dab: DUP2 00002dac: GT 00002dad: PUSH2 0x1fc4 00002db0: JUMPI 00002db1: PUSH1 0x40 00002db3: MLOAD 00002db4: PUSH3 0x461bcd 00002db8: PUSH1 0xe5 00002dba: SHL 00002dbb: DUP2 00002dbc: MSTORE 00002dbd: PUSH1 0x20 00002dbf: PUSH1 0x04 00002dc1: DUP3 00002dc2: ADD 00002dc3: MSTORE 00002dc4: PUSH1 0x26 00002dc6: PUSH1 0x24 00002dc8: DUP3 00002dc9: ADD 00002dca: MSTORE 00002dcb: PUSH32 0x53746162696c697479506f6f6c3a20416d6f756e74206d757374206265206e6f 00002dec: PUSH1 0x44 00002dee: DUP3 00002def: ADD 00002df0: MSTORE 00002df1: PUSH6 0x6e2d7a65726f 00002df8: PUSH1 0xd0 00002dfa: SHL 00002dfb: PUSH1 0x64 00002dfd: DUP3 00002dfe: ADD 00002dff: MSTORE 00002e00: PUSH1 0x84 00002e02: ADD 00002e03: PUSH2 0x0a79 00002e06: JUMP 00002e07: JUMPDEST 00002e08: PUSH1 0x06 00002e0a: SLOAD 00002e0b: PUSH1 0x40 00002e0d: MLOAD 00002e0e: PUSH4 0x2ee65eeb 00002e13: PUSH1 0xe2 00002e15: SHL 00002e16: DUP2 00002e17: MSTORE 00002e18: PUSH1 0x01 00002e1a: PUSH1 0x01 00002e1c: PUSH1 0xa0 00002e1e: SHL 00002e1f: SUB 00002e20: SWAP1 00002e21: SWAP2 00002e22: AND 00002e23: SWAP1 00002e24: PUSH4 0xbb997bac 00002e29: SWAP1 00002e2a: PUSH2 0x2e3b 00002e2d: SWAP1 00002e2e: DUP6 00002e2f: SWAP1 00002e30: ADDRESS 00002e31: SWAP1 00002e32: DUP7 00002e33: SWAP1 00002e34: PUSH1 0x04 00002e36: ADD 00002e37: PUSH2 0x396e 00002e3a: JUMP 00002e3b: JUMPDEST 00002e3c: PUSH1 0x00 00002e3e: PUSH1 0x40 00002e40: MLOAD 00002e41: DUP1 00002e42: DUP4 00002e43: SUB 00002e44: DUP2 00002e45: PUSH1 0x00 00002e47: DUP8 00002e48: DUP1 00002e49: EXTCODESIZE 00002e4a: ISZERO 00002e4b: DUP1 00002e4c: ISZERO 00002e4d: PUSH2 0x2e55 00002e50: JUMPI 00002e51: PUSH1 0x00 00002e53: DUP1 00002e54: REVERT 00002e55: JUMPDEST 00002e56: POP 00002e57: GAS 00002e58: CALL 00002e59: ISZERO 00002e5a: DUP1 00002e5b: ISZERO 00002e5c: PUSH2 0x2e69 00002e5f: JUMPI 00002e60: RETURNDATASIZE 00002e61: PUSH1 0x00 00002e63: DUP1 00002e64: RETURNDATACOPY 00002e65: RETURNDATASIZE 00002e66: PUSH1 0x00 00002e68: REVERT 00002e69: JUMPDEST 00002e6a: POP 00002e6b: POP 00002e6c: PUSH1 0x0b 00002e6e: SLOAD 00002e6f: PUSH1 0x00 00002e71: SWAP3 00002e72: POP 00002e73: PUSH2 0x2e7d 00002e76: SWAP2 00002e77: POP 00002e78: DUP4 00002e79: PUSH2 0x0a84 00002e7c: JUMP 00002e7d: JUMPDEST 00002e7e: PUSH1 0x0b 00002e80: DUP2 00002e81: SWAP1 00002e82: SSTORE 00002e83: PUSH1 0x40 00002e85: MLOAD 00002e86: DUP2 00002e87: DUP2 00002e88: MSTORE 00002e89: SWAP1 00002e8a: SWAP2 00002e8b: POP 00002e8c: PUSH32 0xe44ae3e449fe8ef1db6bee9206641d83bce427602b867fee92db3fb817e2c17b 00002ead: SWAP1 00002eae: PUSH1 0x20 00002eb0: ADD 00002eb1: PUSH1 0x40 00002eb3: MLOAD 00002eb4: DUP1 00002eb5: SWAP2 00002eb6: SUB 00002eb7: SWAP1 00002eb8: LOG1 00002eb9: POP 00002eba: POP 00002ebb: POP 00002ebc: JUMP 00002ebd: JUMPDEST 00002ebe: PUSH1 0x00 00002ec0: PUSH1 0x01 00002ec2: PUSH1 0x01 00002ec4: PUSH1 0xa0 00002ec6: SHL 00002ec7: SUB 00002ec8: DUP4 00002ec9: AND 00002eca: PUSH2 0x2ed4 00002ecd: JUMPI 00002ece: POP 00002ecf: DUP1 00002ed0: PUSH2 0x0a93 00002ed3: JUMP 00002ed4: JUMPDEST 00002ed5: DUP2 00002ed6: PUSH1 0x00 00002ed8: SUB 00002ed9: PUSH2 0x2ee4 00002edc: JUMPI 00002edd: POP 00002ede: PUSH1 0x00 00002ee0: PUSH2 0x0a93 00002ee3: JUMP 00002ee4: JUMPDEST 00002ee5: PUSH1 0x00 00002ee7: DUP4 00002ee8: PUSH1 0x01 00002eea: PUSH1 0x01 00002eec: PUSH1 0xa0 00002eee: SHL 00002eef: SUB 00002ef0: AND 00002ef1: PUSH4 0x313ce567 00002ef6: PUSH1 0x40 00002ef8: MLOAD 00002ef9: DUP2 00002efa: PUSH4 0xffffffff 00002eff: AND 00002f00: PUSH1 0xe0 00002f02: SHL 00002f03: DUP2 00002f04: MSTORE 00002f05: PUSH1 0x04 00002f07: ADD 00002f08: PUSH1 0x20 00002f0a: PUSH1 0x40 00002f0c: MLOAD 00002f0d: DUP1 00002f0e: DUP4 00002f0f: SUB 00002f10: DUP2 00002f11: DUP7 00002f12: GAS 00002f13: STATICCALL 00002f14: ISZERO 00002f15: DUP1 00002f16: ISZERO 00002f17: PUSH2 0x2f24 00002f1a: JUMPI 00002f1b: RETURNDATASIZE 00002f1c: PUSH1 0x00 00002f1e: DUP1 00002f1f: RETURNDATACOPY 00002f20: RETURNDATASIZE 00002f21: PUSH1 0x00 00002f23: REVERT 00002f24: JUMPDEST 00002f25: POP 00002f26: POP 00002f27: POP 00002f28: POP 00002f29: PUSH1 0x40 00002f2b: MLOAD 00002f2c: RETURNDATASIZE 00002f2d: PUSH1 0x1f 00002f2f: NOT 00002f30: PUSH1 0x1f 00002f32: DUP3 00002f33: ADD 00002f34: AND 00002f35: DUP3 00002f36: ADD 00002f37: DUP1 00002f38: PUSH1 0x40 00002f3a: MSTORE 00002f3b: POP 00002f3c: DUP2 00002f3d: ADD 00002f3e: SWAP1 00002f3f: PUSH2 0x2f48 00002f42: SWAP2 00002f43: SWAP1 00002f44: PUSH2 0x39bf 00002f47: JUMP 00002f48: JUMPDEST 00002f49: SWAP1 00002f4a: POP 00002f4b: PUSH1 0x12 00002f4d: DUP2 00002f4e: PUSH1 0xff 00002f50: AND 00002f51: LT 00002f52: ISZERO 00002f53: PUSH2 0x2f7e 00002f56: JUMPI 00002f57: PUSH2 0x2f76 00002f5a: PUSH2 0x2f64 00002f5d: DUP3 00002f5e: PUSH1 0x12 00002f60: PUSH2 0x39e2 00002f63: JUMP 00002f64: JUMPDEST 00002f65: PUSH2 0x2f6f 00002f68: SWAP1 00002f69: PUSH1 0x0a 00002f6b: PUSH2 0x3ae9 00002f6e: JUMP 00002f6f: JUMPDEST 00002f70: DUP5 00002f71: SWAP1 00002f72: PUSH2 0x3235 00002f75: JUMP 00002f76: JUMPDEST 00002f77: SWAP2 00002f78: POP 00002f79: POP 00002f7a: PUSH2 0x0a93 00002f7d: JUMP 00002f7e: JUMPDEST 00002f7f: PUSH2 0x2f76 00002f82: PUSH2 0x2f8c 00002f85: PUSH1 0x12 00002f87: DUP4 00002f88: PUSH2 0x39e2 00002f8b: JUMP 00002f8c: JUMPDEST 00002f8d: PUSH2 0x2f97 00002f90: SWAP1 00002f91: PUSH1 0x0a 00002f93: PUSH2 0x3ae9 00002f96: JUMP 00002f97: JUMPDEST 00002f98: DUP5 00002f99: SWAP1 00002f9a: PUSH2 0x3241 00002f9d: JUMP 00002f9e: JUMPDEST 00002f9f: PUSH1 0x05 00002fa1: SLOAD 00002fa2: PUSH1 0x09 00002fa4: SLOAD 00002fa5: PUSH1 0x40 00002fa7: MLOAD 00002fa8: PUSH4 0x614d1209 00002fad: PUSH1 0xe0 00002faf: SHL 00002fb0: DUP2 00002fb1: MSTORE 00002fb2: PUSH1 0x01 00002fb4: PUSH1 0x01 00002fb6: PUSH1 0xa0 00002fb8: SHL 00002fb9: SUB 00002fba: SWAP2 00002fbb: DUP3 00002fbc: AND 00002fbd: PUSH1 0x04 00002fbf: DUP3 00002fc0: ADD 00002fc1: MSTORE 00002fc2: DUP4 00002fc3: DUP3 00002fc4: AND 00002fc5: PUSH1 0x24 00002fc7: DUP3 00002fc8: ADD 00002fc9: MSTORE 00002fca: SWAP2 00002fcb: AND 00002fcc: SWAP1 00002fcd: PUSH4 0x614d1209 00002fd2: SWAP1 00002fd3: PUSH1 0x44 00002fd5: ADD 00002fd6: PUSH1 0x20 00002fd8: PUSH1 0x40 00002fda: MLOAD 00002fdb: DUP1 00002fdc: DUP4 00002fdd: SUB 00002fde: DUP2 00002fdf: DUP7 00002fe0: GAS 00002fe1: STATICCALL 00002fe2: ISZERO 00002fe3: DUP1 00002fe4: ISZERO 00002fe5: PUSH2 0x2ff2 00002fe8: JUMPI 00002fe9: RETURNDATASIZE 00002fea: PUSH1 0x00 00002fec: DUP1 00002fed: RETURNDATACOPY 00002fee: RETURNDATASIZE 00002fef: PUSH1 0x00 00002ff1: REVERT 00002ff2: JUMPDEST 00002ff3: POP 00002ff4: POP 00002ff5: POP 00002ff6: POP 00002ff7: PUSH1 0x40 00002ff9: MLOAD 00002ffa: RETURNDATASIZE 00002ffb: PUSH1 0x1f 00002ffd: NOT 00002ffe: PUSH1 0x1f 00003000: DUP3 00003001: ADD 00003002: AND 00003003: DUP3 00003004: ADD 00003005: DUP1 00003006: PUSH1 0x40 00003008: MSTORE 00003009: POP 0000300a: DUP2 0000300b: ADD 0000300c: SWAP1 0000300d: PUSH2 0x3016 00003010: SWAP2 00003011: SWAP1 00003012: PUSH2 0x3920 00003015: JUMP 00003016: JUMPDEST 00003017: PUSH1 0x01 00003019: EQ 0000301a: PUSH2 0x1fc4 0000301d: JUMPI 0000301e: PUSH1 0x40 00003020: MLOAD 00003021: PUSH3 0x461bcd 00003025: PUSH1 0xe5 00003027: SHL 00003028: DUP2 00003029: MSTORE 0000302a: PUSH1 0x20 0000302c: PUSH1 0x04 0000302e: DUP3 0000302f: ADD 00003030: MSTORE 00003031: PUSH1 0x48 00003033: PUSH1 0x24 00003035: DUP3 00003036: ADD 00003037: MSTORE 00003038: PUSH32 0x53746162696c697479506f6f6c3a2063616c6c6572206d757374206861766520 00003059: PUSH1 0x44 0000305b: DUP3 0000305c: ADD 0000305d: MSTORE 0000305e: PUSH32 0x616e206163746976652074726f766520746f2077697468647261772041737365 0000307f: PUSH1 0x64 00003081: DUP3 00003082: ADD 00003083: MSTORE 00003084: PUSH8 0x744761696e20746f 0000308d: PUSH1 0xc0 0000308f: SHL 00003090: PUSH1 0x84 00003092: DUP3 00003093: ADD 00003094: MSTORE 00003095: PUSH1 0xa4 00003097: ADD 00003098: PUSH2 0x0a79 0000309b: JUMP 0000309c: JUMPDEST 0000309d: PUSH1 0x00 0000309f: PUSH2 0x30a7 000030a2: DUP3 000030a3: PUSH2 0x14fc 000030a6: JUMP 000030a7: JUMPDEST 000030a8: SWAP1 000030a9: POP 000030aa: PUSH1 0x00 000030ac: DUP2 000030ad: GT 000030ae: PUSH2 0x1f28 000030b1: JUMPI 000030b2: PUSH1 0x40 000030b4: MLOAD 000030b5: PUSH3 0x461bcd 000030b9: PUSH1 0xe5 000030bb: SHL 000030bc: DUP2 000030bd: MSTORE 000030be: PUSH1 0x20 000030c0: PUSH1 0x04 000030c2: DUP3 000030c3: ADD 000030c4: MSTORE 000030c5: PUSH1 0x31 000030c7: PUSH1 0x24 000030c9: DUP3 000030ca: ADD 000030cb: MSTORE 000030cc: PUSH32 0x53746162696c697479506f6f6c3a2063616c6c6572206d757374206861766520 000030ed: PUSH1 0x44 000030ef: DUP3 000030f0: ADD 000030f1: MSTORE 000030f2: PUSH17 0x3737b716bd32b9379022aa241023b0b4b7 00003104: PUSH1 0x79 00003106: SHL 00003107: PUSH1 0x64 00003109: DUP3 0000310a: ADD 0000310b: MSTORE 0000310c: PUSH1 0x84 0000310e: ADD 0000310f: PUSH2 0x0a79 00003112: JUMP 00003113: JUMPDEST 00003114: PUSH1 0x01 00003116: PUSH1 0x01 00003118: PUSH1 0xa0 0000311a: SHL 0000311b: SUB 0000311c: DUP2 0000311d: AND 0000311e: PUSH2 0x3169 00003121: JUMPI 00003122: PUSH1 0x40 00003124: MLOAD 00003125: PUSH3 0x461bcd 00003129: PUSH1 0xe5 0000312b: SHL 0000312c: DUP2 0000312d: MSTORE 0000312e: PUSH1 0x20 00003130: PUSH1 0x04 00003132: DUP3 00003133: ADD 00003134: MSTORE 00003135: PUSH1 0x1e 00003137: PUSH1 0x24 00003139: DUP3 0000313a: ADD 0000313b: MSTORE 0000313c: PUSH32 0x4163636f756e742063616e6e6f74206265207a65726f20616464726573730000 0000315d: PUSH1 0x44 0000315f: DUP3 00003160: ADD 00003161: MSTORE 00003162: PUSH1 0x64 00003164: ADD 00003165: PUSH2 0x0a79 00003168: JUMP 00003169: JUMPDEST 0000316a: DUP1 0000316b: EXTCODESIZE 0000316c: DUP1 0000316d: PUSH2 0x1f28 00003170: JUMPI 00003171: PUSH1 0x40 00003173: MLOAD 00003174: PUSH3 0x461bcd 00003178: PUSH1 0xe5 0000317a: SHL 0000317b: DUP2 0000317c: MSTORE 0000317d: PUSH1 0x20 0000317f: PUSH1 0x04 00003181: DUP3 00003182: ADD 00003183: DUP2 00003184: SWAP1 00003185: MSTORE 00003186: PUSH1 0x24 00003188: DUP3 00003189: ADD 0000318a: MSTORE 0000318b: PUSH32 0x4163636f756e7420636f64652073697a652063616e6e6f74206265207a65726f 000031ac: PUSH1 0x44 000031ae: DUP3 000031af: ADD 000031b0: MSTORE 000031b1: PUSH1 0x64 000031b3: ADD 000031b4: PUSH2 0x0a79 000031b7: JUMP 000031b8: JUMPDEST 000031b9: PUSH1 0x00 000031bb: DUP1 000031bc: PUSH2 0x31c5 000031bf: DUP4 000031c0: DUP6 000031c1: PUSH2 0x3af8 000031c4: JUMP 000031c5: JUMPDEST 000031c6: SWAP1 000031c7: POP 000031c8: DUP4 000031c9: PUSH1 0x01 000031cb: PUSH1 0x01 000031cd: PUSH1 0x80 000031cf: SHL 000031d0: SUB 000031d1: AND 000031d2: DUP2 000031d3: PUSH1 0x01 000031d5: PUSH1 0x01 000031d7: PUSH1 0x80 000031d9: SHL 000031da: SUB 000031db: AND 000031dc: LT 000031dd: ISZERO 000031de: PUSH2 0x0a90 000031e1: JUMPI 000031e2: PUSH1 0x40 000031e4: MLOAD 000031e5: PUSH3 0x461bcd 000031e9: PUSH1 0xe5 000031eb: SHL 000031ec: DUP2 000031ed: MSTORE 000031ee: PUSH1 0x20 000031f0: PUSH1 0x04 000031f2: DUP3 000031f3: ADD 000031f4: MSTORE 000031f5: PUSH1 0x24 000031f7: DUP1 000031f8: DUP3 000031f9: ADD 000031fa: MSTORE 000031fb: PUSH32 0x446672616e63536166654d6174683132383a206164646974696f6e206f766572 0000321c: PUSH1 0x44 0000321e: DUP3 0000321f: ADD 00003220: MSTORE 00003221: PUSH4 0x666c6f77 00003226: PUSH1 0xe0 00003228: SHL 00003229: PUSH1 0x64 0000322b: DUP3 0000322c: ADD 0000322d: MSTORE 0000322e: PUSH1 0x84 00003230: ADD 00003231: PUSH2 0x0a79 00003234: JUMP 00003235: JUMPDEST 00003236: PUSH1 0x00 00003238: PUSH2 0x0a90 0000323b: DUP3 0000323c: DUP5 0000323d: PUSH2 0x3b23 00003240: JUMP 00003241: JUMPDEST 00003242: PUSH1 0x00 00003244: PUSH2 0x0a90 00003247: DUP3 00003248: DUP5 00003249: PUSH2 0x3b45 0000324c: JUMP 0000324d: JUMPDEST 0000324e: PUSH1 0x00 00003250: DUP3 00003251: PUSH1 0x01 00003253: PUSH1 0x01 00003255: PUSH1 0x80 00003257: SHL 00003258: SUB 00003259: AND 0000325a: DUP3 0000325b: PUSH1 0x01 0000325d: PUSH1 0x01 0000325f: PUSH1 0x80 00003261: SHL 00003262: SUB 00003263: AND 00003264: GT 00003265: ISZERO 00003266: PUSH2 0x32c1 00003269: JUMPI 0000326a: PUSH1 0x40 0000326c: MLOAD 0000326d: PUSH3 0x461bcd 00003271: PUSH1 0xe5 00003273: SHL 00003274: DUP2 00003275: MSTORE 00003276: PUSH1 0x20 00003278: PUSH1 0x04 0000327a: DUP3 0000327b: ADD 0000327c: MSTORE 0000327d: PUSH1 0x27 0000327f: PUSH1 0x24 00003281: DUP3 00003282: ADD 00003283: MSTORE 00003284: PUSH32 0x446672616e63536166654d6174683132383a207375627472616374696f6e206f 000032a5: PUSH1 0x44 000032a7: DUP3 000032a8: ADD 000032a9: MSTORE 000032aa: PUSH7 0x766572666c6f77 000032b2: PUSH1 0xc8 000032b4: SHL 000032b5: PUSH1 0x64 000032b7: DUP3 000032b8: ADD 000032b9: MSTORE 000032ba: PUSH1 0x84 000032bc: ADD 000032bd: PUSH2 0x0a79 000032c0: JUMP 000032c1: JUMPDEST 000032c2: PUSH1 0x00 000032c4: PUSH2 0x0b30 000032c7: DUP4 000032c8: DUP6 000032c9: PUSH2 0x3b64 000032cc: JUMP 000032cd: JUMPDEST 000032ce: PUSH1 0x0b 000032d0: SLOAD 000032d1: DUP1 000032d2: ISZERO 000032d3: DUP1 000032d4: PUSH2 0x32db 000032d7: JUMPI 000032d8: POP 000032d9: DUP2 000032da: ISZERO 000032db: JUMPDEST 000032dc: ISZERO 000032dd: PUSH2 0x32e4 000032e0: JUMPI 000032e1: POP 000032e2: POP 000032e3: JUMP 000032e4: JUMPDEST 000032e5: PUSH1 0x00 000032e7: PUSH2 0x32f0 000032ea: DUP4 000032eb: DUP4 000032ec: PUSH2 0x3478 000032ef: JUMP 000032f0: JUMPDEST 000032f1: SWAP1 000032f2: POP 000032f3: PUSH1 0x00 000032f5: PUSH2 0x3309 000032f8: PUSH1 0x13 000032fa: SLOAD 000032fb: DUP4 000032fc: PUSH2 0x3241 000032ff: SWAP1 00003300: SWAP2 00003301: SWAP1 00003302: PUSH4 0xffffffff 00003307: AND 00003308: JUMP 00003309: JUMPDEST 0000330a: PUSH1 0x14 0000330c: SLOAD 0000330d: PUSH1 0x01 0000330f: PUSH1 0x01 00003311: PUSH1 0x80 00003313: SHL 00003314: SUB 00003315: PUSH1 0x01 00003317: PUSH1 0x80 00003319: SHL 0000331a: DUP3 0000331b: DIV 0000331c: DUP2 0000331d: AND 0000331e: PUSH1 0x00 00003320: SWAP1 00003321: DUP2 00003322: MSTORE 00003323: PUSH1 0x16 00003325: PUSH1 0x20 00003327: SWAP1 00003328: DUP2 00003329: MSTORE 0000332a: PUSH1 0x40 0000332c: DUP1 0000332d: DUP4 0000332e: KECCAK256 0000332f: SWAP4 00003330: SWAP1 00003331: SWAP5 00003332: AND 00003333: DUP3 00003334: MSTORE 00003335: SWAP2 00003336: SWAP1 00003337: SWAP2 00003338: MSTORE 00003339: KECCAK256 0000333a: SLOAD 0000333b: SWAP1 0000333c: SWAP2 0000333d: POP 0000333e: PUSH2 0x3347 00003341: SWAP1 00003342: DUP3 00003343: PUSH2 0x0a84 00003346: JUMP 00003347: JUMPDEST 00003348: PUSH1 0x14 0000334a: DUP1 0000334b: SLOAD 0000334c: PUSH1 0x01 0000334e: PUSH1 0x80 00003350: SHL 00003351: DUP1 00003352: DUP3 00003353: DIV 00003354: PUSH1 0x01 00003356: PUSH1 0x01 00003358: PUSH1 0x80 0000335a: SHL 0000335b: SUB 0000335c: SWAP1 0000335d: DUP2 0000335e: AND 0000335f: PUSH1 0x00 00003361: SWAP1 00003362: DUP2 00003363: MSTORE 00003364: PUSH1 0x16 00003366: PUSH1 0x20 00003368: DUP2 00003369: DUP2 0000336a: MSTORE 0000336b: PUSH1 0x40 0000336d: DUP1 0000336e: DUP5 0000336f: KECCAK256 00003370: SWAP7 00003371: DUP6 00003372: AND 00003373: DUP5 00003374: MSTORE 00003375: SWAP6 00003376: DUP2 00003377: MSTORE 00003378: DUP6 00003379: DUP4 0000337a: KECCAK256 0000337b: SWAP8 0000337c: SWAP1 0000337d: SWAP8 0000337e: SSTORE 0000337f: SWAP5 00003380: SLOAD 00003381: SWAP3 00003382: DUP4 00003383: DIV 00003384: DUP3 00003385: AND 00003386: DUP1 00003387: DUP3 00003388: MSTORE 00003389: SWAP5 0000338a: DUP7 0000338b: MSTORE 0000338c: DUP4 0000338d: DUP2 0000338e: KECCAK256 0000338f: SWAP3 00003390: SWAP1 00003391: SWAP2 00003392: AND 00003393: DUP1 00003394: DUP3 00003395: MSTORE 00003396: SWAP2 00003397: DUP6 00003398: MSTORE 00003399: DUP3 0000339a: SWAP1 0000339b: KECCAK256 0000339c: SLOAD 0000339d: DUP3 0000339e: MLOAD 0000339f: SWAP1 000033a0: DUP2 000033a1: MSTORE 000033a2: SWAP4 000033a3: DUP5 000033a4: ADD 000033a5: SWAP3 000033a6: SWAP1 000033a7: SWAP3 000033a8: MSTORE 000033a9: DUP3 000033aa: ADD 000033ab: MSTORE 000033ac: PUSH32 0x2d6127771b164a9cc8827d24b5955db2a77e7a81dac389107ebb8bce9fb64968 000033cd: SWAP1 000033ce: PUSH1 0x60 000033d0: ADD 000033d1: PUSH1 0x40 000033d3: MLOAD 000033d4: DUP1 000033d5: SWAP2 000033d6: SUB 000033d7: SWAP1 000033d8: LOG1 000033d9: POP 000033da: POP 000033db: POP 000033dc: POP 000033dd: JUMP 000033de: JUMPDEST 000033df: PUSH1 0x0b 000033e1: SLOAD 000033e2: PUSH1 0x00 000033e4: SWAP1 000033e5: PUSH2 0x33ee 000033e8: SWAP1 000033e9: DUP4 000033ea: PUSH2 0x2282 000033ed: JUMP 000033ee: JUMPDEST 000033ef: PUSH1 0x0b 000033f1: DUP2 000033f2: SWAP1 000033f3: SSTORE 000033f4: PUSH1 0x40 000033f6: MLOAD 000033f7: DUP2 000033f8: DUP2 000033f9: MSTORE 000033fa: SWAP1 000033fb: SWAP2 000033fc: POP 000033fd: PUSH32 0xe44ae3e449fe8ef1db6bee9206641d83bce427602b867fee92db3fb817e2c17b 0000341e: SWAP1 0000341f: PUSH1 0x20 00003421: ADD 00003422: PUSH2 0x1f1f 00003425: JUMP 00003426: JUMPDEST 00003427: PUSH1 0x40 00003429: DUP1 0000342a: MLOAD 0000342b: PUSH1 0x01 0000342d: PUSH1 0x01 0000342f: PUSH1 0xa0 00003431: SHL 00003432: SUB 00003433: DUP5 00003434: AND 00003435: PUSH1 0x24 00003437: DUP3 00003438: ADD 00003439: MSTORE 0000343a: PUSH1 0x44 0000343c: DUP1 0000343d: DUP3 0000343e: ADD 0000343f: DUP5 00003440: SWAP1 00003441: MSTORE 00003442: DUP3 00003443: MLOAD 00003444: DUP1 00003445: DUP4 00003446: SUB 00003447: SWAP1 00003448: SWAP2 00003449: ADD 0000344a: DUP2 0000344b: MSTORE 0000344c: PUSH1 0x64 0000344e: SWAP1 0000344f: SWAP2 00003450: ADD 00003451: SWAP1 00003452: SWAP2 00003453: MSTORE 00003454: PUSH1 0x20 00003456: DUP2 00003457: ADD 00003458: DUP1 00003459: MLOAD 0000345a: PUSH1 0x01 0000345c: PUSH1 0x01 0000345e: PUSH1 0xe0 00003460: SHL 00003461: SUB 00003462: AND 00003463: PUSH4 0xa9059cbb 00003468: PUSH1 0xe0 0000346a: SHL 0000346b: OR 0000346c: SWAP1 0000346d: MSTORE 0000346e: PUSH2 0x1abf 00003471: SWAP1 00003472: DUP5 00003473: SWAP1 00003474: PUSH2 0x34cb 00003477: JUMP 00003478: JUMPDEST 00003479: PUSH1 0x00 0000347b: DUP1 0000347c: PUSH2 0x349c 0000347f: PUSH1 0x17 00003481: SLOAD 00003482: PUSH2 0x27ad 00003485: PUSH8 0x0de0b6b3a7640000 0000348e: DUP8 0000348f: PUSH2 0x3241 00003492: SWAP1 00003493: SWAP2 00003494: SWAP1 00003495: PUSH4 0xffffffff 0000349a: AND 0000349b: JUMP 0000349c: JUMPDEST 0000349d: SWAP1 0000349e: POP 0000349f: PUSH1 0x00 000034a1: PUSH2 0x34aa 000034a4: DUP3 000034a5: DUP6 000034a6: PUSH2 0x3235 000034a9: JUMP 000034aa: JUMPDEST 000034ab: SWAP1 000034ac: POP 000034ad: PUSH2 0x34c0 000034b0: PUSH2 0x34b9 000034b3: DUP3 000034b4: DUP7 000034b5: PUSH2 0x3241 000034b8: JUMP 000034b9: JUMPDEST 000034ba: DUP4 000034bb: SWAP1 000034bc: PUSH2 0x2282 000034bf: JUMP 000034c0: JUMPDEST 000034c1: PUSH1 0x17 000034c3: SSTORE 000034c4: SWAP5 000034c5: SWAP4 000034c6: POP 000034c7: POP 000034c8: POP 000034c9: POP 000034ca: JUMP 000034cb: JUMPDEST 000034cc: PUSH1 0x00 000034ce: PUSH2 0x3520 000034d1: DUP3 000034d2: PUSH1 0x40 000034d4: MLOAD 000034d5: DUP1 000034d6: PUSH1 0x40 000034d8: ADD 000034d9: PUSH1 0x40 000034db: MSTORE 000034dc: DUP1 000034dd: PUSH1 0x20 000034df: DUP2 000034e0: MSTORE 000034e1: PUSH1 0x20 000034e3: ADD 000034e4: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 00003505: DUP2 00003506: MSTORE 00003507: POP 00003508: DUP6 00003509: PUSH1 0x01 0000350b: PUSH1 0x01 0000350d: PUSH1 0xa0 0000350f: SHL 00003510: SUB 00003511: AND 00003512: PUSH2 0x359d 00003515: SWAP1 00003516: SWAP3 00003517: SWAP2 00003518: SWAP1 00003519: PUSH4 0xffffffff 0000351e: AND 0000351f: JUMP 00003520: JUMPDEST 00003521: DUP1 00003522: MLOAD 00003523: SWAP1 00003524: SWAP2 00003525: POP 00003526: ISZERO 00003527: PUSH2 0x1abf 0000352a: JUMPI 0000352b: DUP1 0000352c: DUP1 0000352d: PUSH1 0x20 0000352f: ADD 00003530: SWAP1 00003531: MLOAD 00003532: DUP2 00003533: ADD 00003534: SWAP1 00003535: PUSH2 0x353e 00003538: SWAP2 00003539: SWAP1 0000353a: PUSH2 0x3b8c 0000353d: JUMP 0000353e: JUMPDEST 0000353f: PUSH2 0x1abf 00003542: JUMPI 00003543: PUSH1 0x40 00003545: MLOAD 00003546: PUSH3 0x461bcd 0000354a: PUSH1 0xe5 0000354c: SHL 0000354d: DUP2 0000354e: MSTORE 0000354f: PUSH1 0x20 00003551: PUSH1 0x04 00003553: DUP3 00003554: ADD 00003555: MSTORE 00003556: PUSH1 0x2a 00003558: PUSH1 0x24 0000355a: DUP3 0000355b: ADD 0000355c: MSTORE 0000355d: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e 0000357e: PUSH1 0x44 00003580: DUP3 00003581: ADD 00003582: MSTORE 00003583: PUSH10 0x1bdd081cdd58d8d95959 0000358e: PUSH1 0xb2 00003590: SHL 00003591: PUSH1 0x64 00003593: DUP3 00003594: ADD 00003595: MSTORE 00003596: PUSH1 0x84 00003598: ADD 00003599: PUSH2 0x0a79 0000359c: JUMP 0000359d: JUMPDEST 0000359e: PUSH1 0x60 000035a0: PUSH2 0x0b30 000035a3: DUP5 000035a4: DUP5 000035a5: PUSH1 0x00 000035a7: DUP6 000035a8: DUP6 000035a9: DUP5 000035aa: EXTCODESIZE 000035ab: PUSH2 0x35f6 000035ae: JUMPI 000035af: PUSH1 0x40 000035b1: MLOAD 000035b2: PUSH3 0x461bcd 000035b6: PUSH1 0xe5 000035b8: SHL 000035b9: DUP2 000035ba: MSTORE 000035bb: PUSH1 0x20 000035bd: PUSH1 0x04 000035bf: DUP3 000035c0: ADD 000035c1: MSTORE 000035c2: PUSH1 0x1d 000035c4: PUSH1 0x24 000035c6: DUP3 000035c7: ADD 000035c8: MSTORE 000035c9: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 000035ea: PUSH1 0x44 000035ec: DUP3 000035ed: ADD 000035ee: MSTORE 000035ef: PUSH1 0x64 000035f1: ADD 000035f2: PUSH2 0x0a79 000035f5: JUMP 000035f6: JUMPDEST 000035f7: PUSH1 0x00 000035f9: DUP1 000035fa: DUP7 000035fb: PUSH1 0x01 000035fd: PUSH1 0x01 000035ff: PUSH1 0xa0 00003601: SHL 00003602: SUB 00003603: AND 00003604: DUP6 00003605: DUP8 00003606: PUSH1 0x40 00003608: MLOAD 00003609: PUSH2 0x3612 0000360c: SWAP2 0000360d: SWAP1 0000360e: PUSH2 0x3bae 00003611: JUMP 00003612: JUMPDEST 00003613: PUSH1 0x00 00003615: PUSH1 0x40 00003617: MLOAD 00003618: DUP1 00003619: DUP4 0000361a: SUB 0000361b: DUP2 0000361c: DUP6 0000361d: DUP8 0000361e: GAS 0000361f: CALL 00003620: SWAP3 00003621: POP 00003622: POP 00003623: POP 00003624: RETURNDATASIZE 00003625: DUP1 00003626: PUSH1 0x00 00003628: DUP2 00003629: EQ 0000362a: PUSH2 0x364f 0000362d: JUMPI 0000362e: PUSH1 0x40 00003630: MLOAD 00003631: SWAP2 00003632: POP 00003633: PUSH1 0x1f 00003635: NOT 00003636: PUSH1 0x3f 00003638: RETURNDATASIZE 00003639: ADD 0000363a: AND 0000363b: DUP3 0000363c: ADD 0000363d: PUSH1 0x40 0000363f: MSTORE 00003640: RETURNDATASIZE 00003641: DUP3 00003642: MSTORE 00003643: RETURNDATASIZE 00003644: PUSH1 0x00 00003646: PUSH1 0x20 00003648: DUP5 00003649: ADD 0000364a: RETURNDATACOPY 0000364b: PUSH2 0x3654 0000364e: JUMP 0000364f: JUMPDEST 00003650: PUSH1 0x60 00003652: SWAP2 00003653: POP 00003654: JUMPDEST 00003655: POP 00003656: SWAP2 00003657: POP 00003658: SWAP2 00003659: POP 0000365a: PUSH2 0x3664 0000365d: DUP3 0000365e: DUP3 0000365f: DUP7 00003660: PUSH2 0x366f 00003663: JUMP 00003664: JUMPDEST 00003665: SWAP8 00003666: SWAP7 00003667: POP 00003668: POP 00003669: POP 0000366a: POP 0000366b: POP 0000366c: POP 0000366d: POP 0000366e: JUMP 0000366f: JUMPDEST 00003670: PUSH1 0x60 00003672: DUP4 00003673: ISZERO 00003674: PUSH2 0x367e 00003677: JUMPI 00003678: POP 00003679: DUP2 0000367a: PUSH2 0x10f2 0000367d: JUMP 0000367e: JUMPDEST 0000367f: DUP3 00003680: MLOAD 00003681: ISZERO 00003682: PUSH2 0x368e 00003685: JUMPI 00003686: DUP3 00003687: MLOAD 00003688: DUP1 00003689: DUP5 0000368a: PUSH1 0x20 0000368c: ADD 0000368d: REVERT 0000368e: JUMPDEST 0000368f: DUP2 00003690: PUSH1 0x40 00003692: MLOAD 00003693: PUSH3 0x461bcd 00003697: PUSH1 0xe5 00003699: SHL 0000369a: DUP2 0000369b: MSTORE 0000369c: PUSH1 0x04 0000369e: ADD 0000369f: PUSH2 0x0a79 000036a2: SWAP2 000036a3: SWAP1 000036a4: PUSH2 0x3794 000036a7: JUMP 000036a8: JUMPDEST 000036a9: PUSH1 0x01 000036ab: PUSH1 0x01 000036ad: PUSH1 0xa0 000036af: SHL 000036b0: SUB 000036b1: DUP2 000036b2: AND 000036b3: DUP2 000036b4: EQ 000036b5: PUSH2 0x1fc4 000036b8: JUMPI 000036b9: PUSH1 0x00 000036bb: DUP1 000036bc: REVERT 000036bd: JUMPDEST 000036be: PUSH1 0x00 000036c0: PUSH1 0x20 000036c2: DUP3 000036c3: DUP5 000036c4: SUB 000036c5: SLT 000036c6: ISZERO 000036c7: PUSH2 0x36cf 000036ca: JUMPI 000036cb: PUSH1 0x00 000036cd: DUP1 000036ce: REVERT 000036cf: JUMPDEST 000036d0: DUP2 000036d1: CALLDATALOAD 000036d2: PUSH2 0x0a90 000036d5: DUP2 000036d6: PUSH2 0x36a8 000036d9: JUMP 000036da: JUMPDEST 000036db: DUP1 000036dc: CALLDATALOAD 000036dd: PUSH1 0x01 000036df: PUSH1 0x01 000036e1: PUSH1 0x80 000036e3: SHL 000036e4: SUB 000036e5: DUP2 000036e6: AND 000036e7: DUP2 000036e8: EQ 000036e9: PUSH2 0x36f1 000036ec: JUMPI 000036ed: PUSH1 0x00 000036ef: DUP1 000036f0: REVERT 000036f1: JUMPDEST 000036f2: SWAP2 000036f3: SWAP1 000036f4: POP 000036f5: JUMP 000036f6: JUMPDEST 000036f7: PUSH1 0x00 000036f9: DUP1 000036fa: PUSH1 0x40 000036fc: DUP4 000036fd: DUP6 000036fe: SUB 000036ff: SLT 00003700: ISZERO 00003701: PUSH2 0x3709 00003704: JUMPI 00003705: PUSH1 0x00 00003707: DUP1 00003708: REVERT 00003709: JUMPDEST 0000370a: PUSH2 0x3712 0000370d: DUP4 0000370e: PUSH2 0x36da 00003711: JUMP 00003712: JUMPDEST 00003713: SWAP2 00003714: POP 00003715: PUSH2 0x3720 00003718: PUSH1 0x20 0000371a: DUP5 0000371b: ADD 0000371c: PUSH2 0x36da 0000371f: JUMP 00003720: JUMPDEST 00003721: SWAP1 00003722: POP 00003723: SWAP3 00003724: POP 00003725: SWAP3 00003726: SWAP1 00003727: POP 00003728: JUMP 00003729: JUMPDEST 0000372a: PUSH1 0x00 0000372c: PUSH1 0x20 0000372e: DUP3 0000372f: DUP5 00003730: SUB 00003731: SLT 00003732: ISZERO 00003733: PUSH2 0x373b 00003736: JUMPI 00003737: PUSH1 0x00 00003739: DUP1 0000373a: REVERT 0000373b: JUMPDEST 0000373c: POP 0000373d: CALLDATALOAD 0000373e: SWAP2 0000373f: SWAP1 00003740: POP 00003741: JUMP 00003742: JUMPDEST 00003743: PUSH1 0x00 00003745: DUP1 00003746: PUSH1 0x40 00003748: DUP4 00003749: DUP6 0000374a: SUB 0000374b: SLT 0000374c: ISZERO 0000374d: PUSH2 0x3755 00003750: JUMPI 00003751: PUSH1 0x00 00003753: DUP1 00003754: REVERT 00003755: JUMPDEST 00003756: POP 00003757: POP 00003758: DUP1 00003759: CALLDATALOAD 0000375a: SWAP3 0000375b: PUSH1 0x20 0000375d: SWAP1 0000375e: SWAP2 0000375f: ADD 00003760: CALLDATALOAD 00003761: SWAP2 00003762: POP 00003763: JUMP 00003764: JUMPDEST 00003765: PUSH1 0x00 00003767: JUMPDEST 00003768: DUP4 00003769: DUP2 0000376a: LT 0000376b: ISZERO 0000376c: PUSH2 0x377f 0000376f: JUMPI 00003770: DUP2 00003771: DUP2 00003772: ADD 00003773: MLOAD 00003774: DUP4 00003775: DUP3 00003776: ADD 00003777: MSTORE 00003778: PUSH1 0x20 0000377a: ADD 0000377b: PUSH2 0x3767 0000377e: JUMP 0000377f: JUMPDEST 00003780: DUP4 00003781: DUP2 00003782: GT 00003783: ISZERO 00003784: PUSH2 0x378e 00003787: JUMPI 00003788: PUSH1 0x00 0000378a: DUP5 0000378b: DUP5 0000378c: ADD 0000378d: MSTORE 0000378e: JUMPDEST 0000378f: POP 00003790: POP 00003791: POP 00003792: POP 00003793: JUMP 00003794: JUMPDEST 00003795: PUSH1 0x20 00003797: DUP2 00003798: MSTORE 00003799: PUSH1 0x00 0000379b: DUP3 0000379c: MLOAD 0000379d: DUP1 0000379e: PUSH1 0x20 000037a0: DUP5 000037a1: ADD 000037a2: MSTORE 000037a3: PUSH2 0x37b3 000037a6: DUP2 000037a7: PUSH1 0x40 000037a9: DUP6 000037aa: ADD 000037ab: PUSH1 0x20 000037ad: DUP8 000037ae: ADD 000037af: PUSH2 0x3764 000037b2: JUMP 000037b3: JUMPDEST 000037b4: PUSH1 0x1f 000037b6: ADD 000037b7: PUSH1 0x1f 000037b9: NOT 000037ba: AND 000037bb: SWAP2 000037bc: SWAP1 000037bd: SWAP2 000037be: ADD 000037bf: PUSH1 0x40 000037c1: ADD 000037c2: SWAP3 000037c3: SWAP2 000037c4: POP 000037c5: POP 000037c6: JUMP 000037c7: JUMPDEST 000037c8: PUSH1 0x00 000037ca: DUP1 000037cb: PUSH1 0x40 000037cd: DUP4 000037ce: DUP6 000037cf: SUB 000037d0: SLT 000037d1: ISZERO 000037d2: PUSH2 0x37da 000037d5: JUMPI 000037d6: PUSH1 0x00 000037d8: DUP1 000037d9: REVERT 000037da: JUMPDEST 000037db: DUP3 000037dc: CALLDATALOAD 000037dd: PUSH2 0x37e5 000037e0: DUP2 000037e1: PUSH2 0x36a8 000037e4: JUMP 000037e5: JUMPDEST 000037e6: SWAP2 000037e7: POP 000037e8: PUSH1 0x20 000037ea: DUP4 000037eb: ADD 000037ec: CALLDATALOAD 000037ed: PUSH2 0x37f5 000037f0: DUP2 000037f1: PUSH2 0x36a8 000037f4: JUMP 000037f5: JUMPDEST 000037f6: DUP1 000037f7: SWAP2 000037f8: POP 000037f9: POP 000037fa: SWAP3 000037fb: POP 000037fc: SWAP3 000037fd: SWAP1 000037fe: POP 000037ff: JUMP 00003800: JUMPDEST 00003801: PUSH1 0x00 00003803: DUP1 00003804: PUSH1 0x00 00003806: DUP1 00003807: PUSH1 0x00 00003809: DUP1 0000380a: PUSH1 0x00 0000380c: DUP1 0000380d: PUSH2 0x0100 00003810: DUP10 00003811: DUP12 00003812: SUB 00003813: SLT 00003814: ISZERO 00003815: PUSH2 0x381d 00003818: JUMPI 00003819: PUSH1 0x00 0000381b: DUP1 0000381c: REVERT 0000381d: JUMPDEST 0000381e: DUP9 0000381f: CALLDATALOAD 00003820: PUSH2 0x3828 00003823: DUP2 00003824: PUSH2 0x36a8 00003827: JUMP 00003828: JUMPDEST 00003829: SWAP8 0000382a: POP 0000382b: PUSH1 0x20 0000382d: DUP10 0000382e: ADD 0000382f: CALLDATALOAD 00003830: PUSH2 0x3838 00003833: DUP2 00003834: PUSH2 0x36a8 00003837: JUMP 00003838: JUMPDEST 00003839: SWAP7 0000383a: POP 0000383b: PUSH1 0x40 0000383d: DUP10 0000383e: ADD 0000383f: CALLDATALOAD 00003840: PUSH2 0x3848 00003843: DUP2 00003844: PUSH2 0x36a8 00003847: JUMP 00003848: JUMPDEST 00003849: SWAP6 0000384a: POP 0000384b: PUSH1 0x60 0000384d: DUP10 0000384e: ADD 0000384f: CALLDATALOAD 00003850: PUSH2 0x3858 00003853: DUP2 00003854: PUSH2 0x36a8 00003857: JUMP 00003858: JUMPDEST 00003859: SWAP5 0000385a: POP 0000385b: PUSH1 0x80 0000385d: DUP10 0000385e: ADD 0000385f: CALLDATALOAD 00003860: PUSH2 0x3868 00003863: DUP2 00003864: PUSH2 0x36a8 00003867: JUMP 00003868: JUMPDEST 00003869: SWAP4 0000386a: POP 0000386b: PUSH1 0xa0 0000386d: DUP10 0000386e: ADD 0000386f: CALLDATALOAD 00003870: PUSH2 0x3878 00003873: DUP2 00003874: PUSH2 0x36a8 00003877: JUMP 00003878: JUMPDEST 00003879: SWAP3 0000387a: POP 0000387b: PUSH1 0xc0 0000387d: DUP10 0000387e: ADD 0000387f: CALLDATALOAD 00003880: PUSH2 0x3888 00003883: DUP2 00003884: PUSH2 0x36a8 00003887: JUMP 00003888: JUMPDEST 00003889: SWAP2 0000388a: POP 0000388b: PUSH1 0xe0 0000388d: DUP10 0000388e: ADD 0000388f: CALLDATALOAD 00003890: PUSH2 0x3898 00003893: DUP2 00003894: PUSH2 0x36a8 00003897: JUMP 00003898: JUMPDEST 00003899: DUP1 0000389a: SWAP2 0000389b: POP 0000389c: POP 0000389d: SWAP3 0000389e: SWAP6 0000389f: SWAP9 000038a0: POP 000038a1: SWAP3 000038a2: SWAP6 000038a3: SWAP9 000038a4: SWAP1 000038a5: SWAP4 000038a6: SWAP7 000038a7: POP 000038a8: JUMP 000038a9: JUMPDEST 000038aa: PUSH1 0x00 000038ac: DUP1 000038ad: PUSH1 0x40 000038af: DUP4 000038b0: DUP6 000038b1: SUB 000038b2: SLT 000038b3: ISZERO 000038b4: PUSH2 0x38bc 000038b7: JUMPI 000038b8: PUSH1 0x00 000038ba: DUP1 000038bb: REVERT 000038bc: JUMPDEST 000038bd: DUP3 000038be: CALLDATALOAD 000038bf: PUSH2 0x38c7 000038c2: DUP2 000038c3: PUSH2 0x36a8 000038c6: JUMP 000038c7: JUMPDEST 000038c8: SWAP5 000038c9: PUSH1 0x20 000038cb: SWAP4 000038cc: SWAP1 000038cd: SWAP4 000038ce: ADD 000038cf: CALLDATALOAD 000038d0: SWAP4 000038d1: POP 000038d2: POP 000038d3: POP 000038d4: JUMP 000038d5: JUMPDEST 000038d6: PUSH1 0x00 000038d8: PUSH1 0x20 000038da: DUP3 000038db: DUP5 000038dc: SUB 000038dd: SLT 000038de: ISZERO 000038df: PUSH2 0x38e7 000038e2: JUMPI 000038e3: PUSH1 0x00 000038e5: DUP1 000038e6: REVERT 000038e7: JUMPDEST 000038e8: DUP2 000038e9: MLOAD 000038ea: PUSH2 0x0a90 000038ed: DUP2 000038ee: PUSH2 0x36a8 000038f1: JUMP 000038f2: JUMPDEST 000038f3: PUSH4 0x4e487b71 000038f8: PUSH1 0xe0 000038fa: SHL 000038fb: PUSH1 0x00 000038fd: MSTORE 000038fe: PUSH1 0x11 00003900: PUSH1 0x04 00003902: MSTORE 00003903: PUSH1 0x24 00003905: PUSH1 0x00 00003907: REVERT 00003908: JUMPDEST 00003909: PUSH1 0x00 0000390b: DUP3 0000390c: NOT 0000390d: DUP3 0000390e: GT 0000390f: ISZERO 00003910: PUSH2 0x391b 00003913: JUMPI 00003914: PUSH2 0x391b 00003917: PUSH2 0x38f2 0000391a: JUMP 0000391b: JUMPDEST 0000391c: POP 0000391d: ADD 0000391e: SWAP1 0000391f: JUMP 00003920: JUMPDEST 00003921: PUSH1 0x00 00003923: PUSH1 0x20 00003925: DUP3 00003926: DUP5 00003927: SUB 00003928: SLT 00003929: ISZERO 0000392a: PUSH2 0x3932 0000392d: JUMPI 0000392e: PUSH1 0x00 00003930: DUP1 00003931: REVERT 00003932: JUMPDEST 00003933: POP 00003934: MLOAD 00003935: SWAP2 00003936: SWAP1 00003937: POP 00003938: JUMP 00003939: JUMPDEST 0000393a: PUSH1 0x20 0000393c: DUP1 0000393d: DUP3 0000393e: MSTORE 0000393f: DUP2 00003940: DUP2 00003941: ADD 00003942: MSTORE 00003943: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00003964: PUSH1 0x40 00003966: DUP3 00003967: ADD 00003968: MSTORE 00003969: PUSH1 0x60 0000396b: ADD 0000396c: SWAP1 0000396d: JUMP 0000396e: JUMPDEST 0000396f: PUSH1 0x01 00003971: PUSH1 0x01 00003973: PUSH1 0xa0 00003975: SHL 00003976: SUB 00003977: SWAP4 00003978: DUP5 00003979: AND 0000397a: DUP2 0000397b: MSTORE 0000397c: SWAP2 0000397d: SWAP1 0000397e: SWAP3 0000397f: AND 00003980: PUSH1 0x20 00003982: DUP3 00003983: ADD 00003984: MSTORE 00003985: PUSH1 0x40 00003987: DUP2 00003988: ADD 00003989: SWAP2 0000398a: SWAP1 0000398b: SWAP2 0000398c: MSTORE 0000398d: PUSH1 0x60 0000398f: ADD 00003990: SWAP1 00003991: JUMP 00003992: JUMPDEST 00003993: PUSH1 0x00 00003995: DUP3 00003996: DUP3 00003997: LT 00003998: ISZERO 00003999: PUSH2 0x39a4 0000399c: JUMPI 0000399d: PUSH2 0x39a4 000039a0: PUSH2 0x38f2 000039a3: JUMP 000039a4: JUMPDEST 000039a5: POP 000039a6: SUB 000039a7: SWAP1 000039a8: JUMP 000039a9: JUMPDEST 000039aa: PUSH4 0x4e487b71 000039af: PUSH1 0xe0 000039b1: SHL 000039b2: PUSH1 0x00 000039b4: MSTORE 000039b5: PUSH1 0x01 000039b7: PUSH1 0x04 000039b9: MSTORE 000039ba: PUSH1 0x24 000039bc: PUSH1 0x00 000039be: REVERT 000039bf: JUMPDEST 000039c0: PUSH1 0x00 000039c2: PUSH1 0x20 000039c4: DUP3 000039c5: DUP5 000039c6: SUB 000039c7: SLT 000039c8: ISZERO 000039c9: PUSH2 0x39d1 000039cc: JUMPI 000039cd: PUSH1 0x00 000039cf: DUP1 000039d0: REVERT 000039d1: JUMPDEST 000039d2: DUP2 000039d3: MLOAD 000039d4: PUSH1 0xff 000039d6: DUP2 000039d7: AND 000039d8: DUP2 000039d9: EQ 000039da: PUSH2 0x0a90 000039dd: JUMPI 000039de: PUSH1 0x00 000039e0: DUP1 000039e1: REVERT 000039e2: JUMPDEST 000039e3: PUSH1 0x00 000039e5: PUSH1 0xff 000039e7: DUP3 000039e8: AND 000039e9: PUSH1 0xff 000039eb: DUP5 000039ec: AND 000039ed: DUP1 000039ee: DUP3 000039ef: LT 000039f0: ISZERO 000039f1: PUSH2 0x39fc 000039f4: JUMPI 000039f5: PUSH2 0x39fc 000039f8: PUSH2 0x38f2 000039fb: JUMP 000039fc: JUMPDEST 000039fd: SWAP1 000039fe: SUB 000039ff: SWAP4 00003a00: SWAP3 00003a01: POP 00003a02: POP 00003a03: POP 00003a04: JUMP 00003a05: JUMPDEST 00003a06: PUSH1 0x01 00003a08: DUP2 00003a09: DUP2 00003a0a: JUMPDEST 00003a0b: DUP1 00003a0c: DUP6 00003a0d: GT 00003a0e: ISZERO 00003a0f: PUSH2 0x3a40 00003a12: JUMPI 00003a13: DUP2 00003a14: PUSH1 0x00 00003a16: NOT 00003a17: DIV 00003a18: DUP3 00003a19: GT 00003a1a: ISZERO 00003a1b: PUSH2 0x3a26 00003a1e: JUMPI 00003a1f: PUSH2 0x3a26 00003a22: PUSH2 0x38f2 00003a25: JUMP 00003a26: JUMPDEST 00003a27: DUP1 00003a28: DUP6 00003a29: AND 00003a2a: ISZERO 00003a2b: PUSH2 0x3a33 00003a2e: JUMPI 00003a2f: SWAP2 00003a30: DUP2 00003a31: MUL 00003a32: SWAP2 00003a33: JUMPDEST 00003a34: SWAP4 00003a35: DUP5 00003a36: SHR 00003a37: SWAP4 00003a38: SWAP1 00003a39: DUP1 00003a3a: MUL 00003a3b: SWAP1 00003a3c: PUSH2 0x3a0a 00003a3f: JUMP 00003a40: JUMPDEST 00003a41: POP 00003a42: SWAP3 00003a43: POP 00003a44: SWAP3 00003a45: SWAP1 00003a46: POP 00003a47: JUMP 00003a48: JUMPDEST 00003a49: PUSH1 0x00 00003a4b: DUP3 00003a4c: PUSH2 0x3a57 00003a4f: JUMPI 00003a50: POP 00003a51: PUSH1 0x01 00003a53: PUSH2 0x0a93 00003a56: JUMP 00003a57: JUMPDEST 00003a58: DUP2 00003a59: PUSH2 0x3a64 00003a5c: JUMPI 00003a5d: POP 00003a5e: PUSH1 0x00 00003a60: PUSH2 0x0a93 00003a63: JUMP 00003a64: JUMPDEST 00003a65: DUP2 00003a66: PUSH1 0x01 00003a68: DUP2 00003a69: EQ 00003a6a: PUSH2 0x3a7a 00003a6d: JUMPI 00003a6e: PUSH1 0x02 00003a70: DUP2 00003a71: EQ 00003a72: PUSH2 0x3a84 00003a75: JUMPI 00003a76: PUSH2 0x3aa0 00003a79: JUMP 00003a7a: JUMPDEST 00003a7b: PUSH1 0x01 00003a7d: SWAP2 00003a7e: POP 00003a7f: POP 00003a80: PUSH2 0x0a93 00003a83: JUMP 00003a84: JUMPDEST 00003a85: PUSH1 0xff 00003a87: DUP5 00003a88: GT 00003a89: ISZERO 00003a8a: PUSH2 0x3a95 00003a8d: JUMPI 00003a8e: PUSH2 0x3a95 00003a91: PUSH2 0x38f2 00003a94: JUMP 00003a95: JUMPDEST 00003a96: POP 00003a97: POP 00003a98: PUSH1 0x01 00003a9a: DUP3 00003a9b: SHL 00003a9c: PUSH2 0x0a93 00003a9f: JUMP 00003aa0: JUMPDEST 00003aa1: POP 00003aa2: PUSH1 0x20 00003aa4: DUP4 00003aa5: LT 00003aa6: PUSH2 0x0133 00003aa9: DUP4 00003aaa: LT 00003aab: AND 00003aac: PUSH1 0x4e 00003aae: DUP5 00003aaf: LT 00003ab0: PUSH1 0x0b 00003ab2: DUP5 00003ab3: LT 00003ab4: AND 00003ab5: OR 00003ab6: ISZERO 00003ab7: PUSH2 0x3ac3 00003aba: JUMPI 00003abb: POP 00003abc: DUP2 00003abd: DUP2 00003abe: EXP 00003abf: PUSH2 0x0a93 00003ac2: JUMP 00003ac3: JUMPDEST 00003ac4: PUSH2 0x3acd 00003ac7: DUP4 00003ac8: DUP4 00003ac9: PUSH2 0x3a05 00003acc: JUMP 00003acd: JUMPDEST 00003ace: DUP1 00003acf: PUSH1 0x00 00003ad1: NOT 00003ad2: DIV 00003ad3: DUP3 00003ad4: GT 00003ad5: ISZERO 00003ad6: PUSH2 0x3ae1 00003ad9: JUMPI 00003ada: PUSH2 0x3ae1 00003add: PUSH2 0x38f2 00003ae0: JUMP 00003ae1: JUMPDEST 00003ae2: MUL 00003ae3: SWAP4 00003ae4: SWAP3 00003ae5: POP 00003ae6: POP 00003ae7: POP 00003ae8: JUMP 00003ae9: JUMPDEST 00003aea: PUSH1 0x00 00003aec: PUSH2 0x0a90 00003aef: PUSH1 0xff 00003af1: DUP5 00003af2: AND 00003af3: DUP4 00003af4: PUSH2 0x3a48 00003af7: JUMP 00003af8: JUMPDEST 00003af9: PUSH1 0x00 00003afb: PUSH1 0x01 00003afd: PUSH1 0x01 00003aff: PUSH1 0x80 00003b01: SHL 00003b02: SUB 00003b03: DUP1 00003b04: DUP4 00003b05: AND 00003b06: DUP2 00003b07: DUP6 00003b08: AND 00003b09: DUP1 00003b0a: DUP4 00003b0b: SUB 00003b0c: DUP3 00003b0d: GT 00003b0e: ISZERO 00003b0f: PUSH2 0x3b1a 00003b12: JUMPI 00003b13: PUSH2 0x3b1a 00003b16: PUSH2 0x38f2 00003b19: JUMP 00003b1a: JUMPDEST 00003b1b: ADD 00003b1c: SWAP5 00003b1d: SWAP4 00003b1e: POP 00003b1f: POP 00003b20: POP 00003b21: POP 00003b22: JUMP 00003b23: JUMPDEST 00003b24: PUSH1 0x00 00003b26: DUP3 00003b27: PUSH2 0x3b40 00003b2a: JUMPI 00003b2b: PUSH4 0x4e487b71 00003b30: PUSH1 0xe0 00003b32: SHL 00003b33: PUSH1 0x00 00003b35: MSTORE 00003b36: PUSH1 0x12 00003b38: PUSH1 0x04 00003b3a: MSTORE 00003b3b: PUSH1 0x24 00003b3d: PUSH1 0x00 00003b3f: REVERT 00003b40: JUMPDEST 00003b41: POP 00003b42: DIV 00003b43: SWAP1 00003b44: JUMP 00003b45: JUMPDEST 00003b46: PUSH1 0x00 00003b48: DUP2 00003b49: PUSH1 0x00 00003b4b: NOT 00003b4c: DIV 00003b4d: DUP4 00003b4e: GT 00003b4f: DUP3 00003b50: ISZERO 00003b51: ISZERO 00003b52: AND 00003b53: ISZERO 00003b54: PUSH2 0x3b5f 00003b57: JUMPI 00003b58: PUSH2 0x3b5f 00003b5b: PUSH2 0x38f2 00003b5e: JUMP 00003b5f: JUMPDEST 00003b60: POP 00003b61: MUL 00003b62: SWAP1 00003b63: JUMP 00003b64: JUMPDEST 00003b65: PUSH1 0x00 00003b67: PUSH1 0x01 00003b69: PUSH1 0x01 00003b6b: PUSH1 0x80 00003b6d: SHL 00003b6e: SUB 00003b6f: DUP4 00003b70: DUP2 00003b71: AND 00003b72: SWAP1 00003b73: DUP4 00003b74: AND 00003b75: DUP2 00003b76: DUP2 00003b77: LT 00003b78: ISZERO 00003b79: PUSH2 0x3b84 00003b7c: JUMPI 00003b7d: PUSH2 0x3b84 00003b80: PUSH2 0x38f2 00003b83: JUMP 00003b84: JUMPDEST 00003b85: SUB 00003b86: SWAP4 00003b87: SWAP3 00003b88: POP 00003b89: POP 00003b8a: POP 00003b8b: JUMP 00003b8c: JUMPDEST 00003b8d: PUSH1 0x00 00003b8f: PUSH1 0x20 00003b91: DUP3 00003b92: DUP5 00003b93: SUB 00003b94: SLT 00003b95: ISZERO 00003b96: PUSH2 0x3b9e 00003b99: JUMPI 00003b9a: PUSH1 0x00 00003b9c: DUP1 00003b9d: REVERT 00003b9e: JUMPDEST 00003b9f: DUP2 00003ba0: MLOAD 00003ba1: DUP1 00003ba2: ISZERO 00003ba3: ISZERO 00003ba4: DUP2 00003ba5: EQ 00003ba6: PUSH2 0x0a90 00003ba9: JUMPI 00003baa: PUSH1 0x00 00003bac: DUP1 00003bad: REVERT 00003bae: JUMPDEST 00003baf: PUSH1 0x00 00003bb1: DUP3 00003bb2: MLOAD 00003bb3: PUSH2 0x3bc0 00003bb6: DUP2 00003bb7: DUP5 00003bb8: PUSH1 0x20 00003bba: DUP8 00003bbb: ADD 00003bbc: PUSH2 0x3764 00003bbf: JUMP 00003bc0: JUMPDEST 00003bc1: SWAP2 00003bc2: SWAP1 00003bc3: SWAP2 00003bc4: ADD 00003bc5: SWAP3 00003bc6: SWAP2 00003bc7: POP 00003bc8: POP 00003bc9: JUMP 00003bca: INVALID 00003bcb: UNKNOWN(0xDA) 00003bcc: ADDMOD 00003bcd: CALLVALUE 00003bce: UNKNOWN(0x2A) 00003bcf: UNKNOWN(0xEB) 00003bd0: SDIV 00003bd1: PUSH16 0xbb00fd5a62a4033b8f6496e358fd964a 00003be2: NUMBER 00003be3: LT 00003be4: TIMESTAMP 00003be5: MSIZE 00003be6: TSTORE 00003be7: PUSH23 0x2afbafa2646970667358221220d93b4e450b3d7a7dc910 00003bff: UNKNOWN(0xD0) 00003c00: UNKNOWN(0xB0) 00003c01: UNKNOWN(0x28) 00003c02: PUSH27 0xe36b370c65b208fb24240344e5e74fc018bf64736f6c634300080e 00003c1e: STOP 00003c1f: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xbe2453e4b9b39482918ece5ab8732cfdde74db13faffae4818a4d2bf9b4d7436
call_targets:
0x6a9f9d6f5d672a9784c5e560a9648de6cbe2c548
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xbe2453e4b9b39482918ece5ab8732cfdde74db13faffae4818a4d2bf9b4d7436",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x6a9f9d6f5d672a9784c5e560a9648de6cbe2c548"
],
"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": "0xd733cfd0",
"selector": "0xd733cfd0",
"calldata_variants": [
"0xd733cfd0",
"0xd733cfd00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe90f42ba",
"selector": "0xe90f42ba",
"calldata_variants": [
"0xe90f42ba",
"0xe90f42ba0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xeb16f004",
"selector": "0xeb16f004",
"calldata_variants": [
"0xeb16f004",
"0xeb16f0040000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf8832ae3",
"selector": "0xf8832ae3",
"calldata_variants": [
"0xf8832ae3",
"0xf8832ae30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc7e286d",
"selector": "0xfc7e286d",
"calldata_variants": [
"0xfc7e286d",
"0xfc7e286d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xae918754",
"selector": "0xae918754",
"calldata_variants": [
"0xae918754",
"0xae9187540000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xba22f7cb",
"selector": "0xba22f7cb",
"calldata_variants": [
"0xba22f7cb",
"0xba22f7cb0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 6104,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 6304,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 8748,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 11,
"guards_detected": [],
"untrusted_call_count": 11
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xbe2453e4b9b39482918ece5ab8732cfdde74db13faffae4818a4d2bf9b4d7436
call_targets:
0x6a9f9d6f5d672a9784c5e560a9648de6cbe2c548
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xbe2453e4b9b39482918ece5ab8732cfdde74db13faffae4818a4d2bf9b4d7436",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x6a9f9d6f5d672a9784c5e560a9648de6cbe2c548"
],
"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": "0xd733cfd0",
"selector": "0xd733cfd0",
"calldata_variants": [
"0xd733cfd0",
"0xd733cfd00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe90f42ba",
"selector": "0xe90f42ba",
"calldata_variants": [
"0xe90f42ba",
"0xe90f42ba0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xeb16f004",
"selector": "0xeb16f004",
"calldata_variants": [
"0xeb16f004",
"0xeb16f0040000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf8832ae3",
"selector": "0xf8832ae3",
"calldata_variants": [
"0xf8832ae3",
"0xf8832ae30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc7e286d",
"selector": "0xfc7e286d",
"calldata_variants": [
"0xfc7e286d",
"0xfc7e286d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xae918754",
"selector": "0xae918754",
"calldata_variants": [
"0xae918754",
"0xae9187540000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xba22f7cb",
"selector": "0xba22f7cb",
"calldata_variants": [
"0xba22f7cb",
"0xba22f7cb0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 6104,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 6304,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 8748,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 11,
"guards_detected": []
}
|
| medium | other | codex | ERC20 collateral gains sent to trove are not transferred, breaking accounting | 75 | no | — |
viewevidence_json{
"evidence": "`withdrawAssetGainToTrove` reduces `assetBalance` and only forwards ETH via `value` when `assetAddress == address(0)`, with no ERC20 transfer path.",
"locations": [
"contracts/StabilityPool.sol:275",
"contracts/StabilityPool.sol:306",
"contracts/StabilityPool.sol:310"
],
"recommendation": "For ERC20 collateral, transfer the token amount out of the StabilityPool (e.g., `safeTransfer` to ActivePool or to BorrowerOperations) before updating `assetBalance`, or explicitly `approve` and require BorrowerOperations to pull the tokens. Alternatively, restrict `withdrawAssetGainToTrove` to ETH-only until proper token handling is implemented.",
"exploit_scenario": "For non-ETH collateral, a user with asset gains calls `withdrawAssetGainToTrove`. The function decrements `assetBalance` and emits `AssetSent`, but never transfers ERC20 tokens (nor sets an allowance). If `borrowerOperations.moveETHGainToTrove` credits the trove without receiving tokens, the system can become undercollateralized; if it does not, `assetBalance` diverges from the real token balance and later withdrawals can underflow/revert, freezing gains and trapping collateral."
}
|
| low | auth | codex | ERC20Permit domain separator is fixed at deployment (fork replay risk) | 65 | no | — |
viewevidence_json{
"evidence": "`DOMAIN_SEPARATOR` is computed once in the constructor and never updated for future `chainid` changes.",
"locations": [
"contracts/Dependencies/ERC20Permit.sol:57",
"contracts/Dependencies/ERC20Permit.sol:59",
"contracts/Dependencies/ERC20Permit.sol:65"
],
"recommendation": "Use OpenZeppelin\u2019s `EIP712`/`ERC20Permit` implementation or recompute `DOMAIN_SEPARATOR` when `block.chainid` changes (cache + conditional recompute).",
"exploit_scenario": "If the chain forks or the chain ID changes, a permit signature created for one fork remains valid on the other because `DOMAIN_SEPARATOR` is cached once in the constructor. Attackers can replay signatures across forks to set allowances unexpectedly."
}
|
| 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": 10
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 26
}
|