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

Analysis Run

019bb490-f382-73c7-8d99-c44c6976ea98

failed
Chain ID
1
Address
Block Number
Created
Mon, Jan 12, 2026 11:35 PM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
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

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no not_proxy
Implementation:
Verified Source: yes
Proxy evidence
{
    "status": "not_proxy"
}

Slither

tool.slither
Status
failed 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 2026-01-13T00:44:28.459690Z ERROR foundry_compilers_artifacts_solc::sources: error="/tmp/slither-tsz961fv/lib/openzeppelin-contracts/contracts/utils/math/SafeMath.sol": No such file or directory (os error 2) stdout: 2026-01-13T00:44:28.459916Z ERROR foundry_compilers_artifacts_solc::sources: error="/tmp/slither-tsz961fv/lib/openzeppelin-contracts/contracts/utils/Counters.sol": No such file or directory (os error 2) stdout: 2026-01-13T00:44:28.460122Z ERROR foundry_compilers_artifacts_solc::sources: error="/tmp/slither-tsz961fv/lib/openzeppelin-contracts/contracts/utils/math/SafeMath.sol": No such file or directory (os error 2) stdout: 2026-01-13T00:44:28.460595Z ERROR foundry_compilers_artifacts_solc::sources: error="/tmp/slither-tsz961fv/lib/openzeppelin-contracts/contracts/utils/math/SafeMath.sol": No such file or directory (os error 2) stdout: 2026-01-13T00:44:28.460631Z ERROR foundry_compilers_artifacts_solc::sources: error="/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.
Attempts
2 / 2
Findings
0
Solc
View stderr
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
2026-01-13T00:44:28.459690Z ERROR foundry_compilers_artifacts_solc::sources: error="/tmp/slither-tsz961fv/lib/openzeppelin-contracts/contracts/utils/math/SafeMath.sol": No such file or directory (os error 2)
stdout: 2026-01-13T00:44:28.459916Z ERROR foundry_compilers_artifacts_solc::sources: error="/tmp/slither-tsz961fv/lib/openzeppelin-contracts/contracts/utils/Counters.sol": No such file or directory (os error 2)
stdout: 2026-01-13T00:44:28.460122Z ERROR foundry_compilers_artifacts_solc::sources: error="/tmp/slither-tsz961fv/lib/openzeppelin-contracts/contracts/utils/math/SafeMath.sol": No such file or directory (os error 2)
stdout: 2026-01-13T00:44:28.460595Z ERROR foundry_compilers_artifacts_solc::sources: error="/tmp/slither-tsz961fv/lib/openzeppelin-contracts/contracts/utils/math/SafeMath.sol": No such file or directory (os error 2)
stdout: 2026-01-13T00:44:28.460631Z ERROR foundry_compilers_artifacts_solc::sources: error="/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.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
2
No findings?
no
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.
View stdout
{"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"]}]}
View stderr
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
Metadata
{
    "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
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
26
EXT*/BALANCE
10
Total opcodes
9469
Flags
heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 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

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_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
view
trace_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
view
evidence_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
view
evidence_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
view
evidence_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
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 26
}