6059d73e-99f5-4047-823b-ce6f9258ab84
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 31729 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 95797 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 95798 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 95799 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 95800 | capability.graph | complete | 1 / 3 | 1 week ago |
| 95801 | detector.run | complete | 1 / 3 | 1 week ago |
| 95802 | validation.fork | complete | 1 / 3 | 1 week ago |
| 113791 | tool.slither | failed | 2 / 2 | 1 week ago |
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-abnacv7k)
'forge config --json' running
'forge build --build-info --skip ./test/** ./script/** --force' running (wd: /tmp/slither-abnacv7k)
'forge' returned non-zero exit code 1
[2m2026-04-05T07:56:27.454375Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-abnacv7k/lib/solmate/utils/FixedPointMathLib.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:27.454695Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-abnacv7k/lib/solmate/tokens/ERC20.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:27.454918Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-abnacv7k/lib/solmate/tokens/ERC20.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:27.454932Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-abnacv7k/lib/solmate/utils/SafeTransferLib.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:27.454969Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-abnacv7k/lib/solmate/tokens/ERC20.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:27.454979Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-abnacv7k/lib/solmate/utils/SafeTransferLib.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:27.455317Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-abnacv7k/lib/solmate/tokens/ERC20.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:27.455329Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-abnacv7k/lib/solmate/utils/SafeTransferLib.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:27.455404Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-abnacv7k/lib/solmate/tokens/ERC20.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:27.455415Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-abnacv7k/lib/solmate/utils/SafeTransferLib.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:27.455829Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-abnacv7k/lib/solmate/tokens/ERC1155.sol": No such file or directory (os error 2)
stdout: [2m2026-04-05T07:56:27.455845Z[0m [31mERROR[0m [2mfoundry_compilers_artifacts_solc::sources[0m[2m:[0m [3merror[0m[2m=[0m"/tmp/slither-abnacv7k/lib/solmate/tokens/ERC20.sol": No such file or directory (os error 2)
stdout: Unable to resolve imports:
stdout: "solmate/tokens/ERC20.sol" in "/tmp/slither-abnacv7k/src/DineroERC20.sol"
stdout: "solmate/utils/SafeTransferLib.sol" in "/tmp/slither-abnacv7k/src/InstitutionalPirexEthValidators.sol"
stdout: "solmate/utils/SafeTransferLib.sol" in "/tmp/slither-abnacv7k/src/libraries/InstitutionalPirexEthWithdrawLogic.sol"
stdout: "solmate/tokens/ERC20.sol" in "/tmp/slither-abnacv7k/src/InstitutionalPirexEthValidators.sol"
stdout: "solmate/utils/SafeTransferLib.sol" in "/tmp/slither-abnacv7k/src/libraries/InstitutionalPirexEthConfigurationLogic.sol"
stdout: "solmate/utils/SafeTransferLib.sol" in "/tmp/slither-abnacv7k/src/InstitutionalPirexEth.sol"
stdout: "solmate/tokens/ERC20.sol" in "/tmp/slither-abnacv7k/src/libraries/InstitutionalPirexEthWithdrawLogic.sol"
stdout: "solmate/tokens/ERC1155.sol" in "/tmp/slither-abnacv7k/src/tokens/UpxEth.sol"
stdout: "solmate/tokens/ERC20.sol" in "/tmp/slither-abnacv7k/src/InstitutionalPirexEth.sol"
stdout: "solmate/utils/FixedPointMathLib.sol" in "/tmp/slither-abnacv7k/src/AutoPxEth.sol"
stdout: "solmate/tokens/ERC20.sol" in "/tmp/slither-abnacv7k/src/tokens/WrappedToken.sol"
stdout: "solmate/tokens/ERC20.sol" in "/tmp/slither-abnacv7k/src/libraries/InstitutionalPirexEthConfigurationLogic.sol"
stdout: with remappings:
stdout: ds-test/=/tmp/slither-abnacv7k/lib/forge-std/lib/ds-test/src/
stdout: forge-std/=/tmp/slither-abnacv7k/lib/forge-std/src/
stdout: openzeppelin-contracts/=/tmp/slither-abnacv7k/lib/openzeppelin-contracts/
stdout: solmate/=/tmp/slither-abnacv7k/lib/solmate/
stdout: aave-v3-core/=/tmp/slither-abnacv7k/lib/aave-v3-core/contracts/
stdout: eigenlayer/=/tmp/slither-abnacv7k/lib/eigenlayer-contracts/src/contracts/
stdout: openzeppelin-contracts-upgradeable/=/tmp/slither-abnacv7k/lib/openzeppelin-contracts-upgradeable/
stdout: @openzeppelin/contracts-upgradeable/=/tmp/slither-abnacv7k/lib/openzeppelin-contracts-upgradeable/contracts/
stdout: @openzeppelin/contracts/=/tmp/slither-abnacv7k/lib/openzeppelin-contracts/contracts/
stdout: erc4626-tests/=/tmp/slither-abnacv7k/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/
stdout: openzeppelin-foundry-upgrades/=/tmp/slither-abnacv7k/lib/openzeppelin-foundry-upgrades/src/
stdout: solidity-stringutils/=/tmp/slither-abnacv7k/lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/
stdout: Compiling 58 files with Solc 0.8.25
stdout: Solc 0.8.25 finished in 30.39ms
Error: Compiler run failed:
stderr: Error (6275): Source "lib/solmate/utils/FixedPointMathLib.sol" not found: File not found. Searched the following locations: "/tmp/slither-abnacv7k".
stderr: ParserError: Source "lib/solmate/utils/FixedPointMathLib.sol" not found: File not found. Searched the following locations: "/tmp/slither-abnacv7k".
stderr: --> src/AutoPxEth.sol:9:1:
stderr: |
stderr: 9 | import {FixedPointMathLib} from "solmate/utils/FixedPointMathLib.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/solmate/tokens/ERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-abnacv7k".
stderr: ParserError: Source "lib/solmate/tokens/ERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-abnacv7k".
stderr: --> src/DineroERC20.sol:4:1:
stderr: |
stderr: 4 | import {ERC20} from "solmate/tokens/ERC20.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/solmate/tokens/ERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-abnacv7k".
stderr: ParserError: Source "lib/solmate/tokens/ERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-abnacv7k".
stderr: --> src/InstitutionalPirexEth.sol:4:1:
stderr: |
stderr: 4 | import {ERC20} from "solmate/tokens/ERC20.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/solmate/utils/SafeTransferLib.sol" not found: File not found. Searched the following locations: "/tmp/slither-abnacv7k".
stderr: ParserError: Source "lib/solmate/utils/SafeTransferLib.sol" not found: File not found. Searched the following locations: "/tmp/slither-abnacv7k".
stderr: --> src/InstitutionalPirexEth.sol:5:1:
stderr: |
stderr: 5 | import {SafeTransferLib} from "solmate/utils/SafeTransferLib.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/solmate/tokens/ERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-abnacv7k".
stderr: ParserError: Source "lib/solmate/tokens/ERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-abnacv7k".
stderr: --> src/InstitutionalPirexEthValidators.sol:4:1:
stderr: |
stderr: 4 | import {ERC20} from "solmate/tokens/ERC20.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/solmate/utils/SafeTransferLib.sol" not found: File not found. Searched the following locations: "/tmp/slither-abnacv7k".
stderr: ParserError: Source "lib/solmate/utils/SafeTransferLib.sol" not found: File not found. Searched the following locations: "/tmp/slither-abnacv7k".
stderr: --> src/InstitutionalPirexEthValidators.sol:5:1:
stderr: |
stderr: 5 | import {SafeTransferLib} from "solmate/utils/SafeTransferLib.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/solmate/tokens/ERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-abnacv7k".
stderr: ParserError: Source "lib/solmate/tokens/ERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-abnacv7k".
stderr: --> src/libraries/InstitutionalPirexEthConfigurationLogic.sol:4:1:
stderr: |
stderr: 4 | import {ERC20} from "solmate/tokens/ERC20.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/solmate/utils/SafeTransferLib.sol" not found: File not found. Searched the following locations: "/tmp/slither-abnacv7k".
stderr: ParserError: Source "lib/solmate/utils/SafeTransferLib.sol" not found: File not found. Searched the following locations: "/tmp/slither-abnacv7k".
stderr: --> src/libraries/InstitutionalPirexEthConfigurationLogic.sol:5:1:
stderr: |
stderr: 5 | import {SafeTransferLib} from "solmate/utils/SafeTransferLib.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/solmate/tokens/ERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-abnacv7k".
stderr: ParserError: Source "lib/solmate/tokens/ERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-abnacv7k".
stderr: --> src/libraries/InstitutionalPirexEthWithdrawLogic.sol:4:1:
stderr: |
stderr: 4 | import {ERC20} from "solmate/tokens/ERC20.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/solmate/utils/SafeTransferLib.sol" not found: File not found. Searched the following locations: "/tmp/slither-abnacv7k".
stderr: ParserError: Source "lib/solmate/utils/SafeTransferLib.sol" not found: File not found. Searched the following locations: "/tmp/slither-abnacv7k".
stderr: --> src/libraries/InstitutionalPirexEthWithdrawLogic.sol:5:1:
stderr: |
stderr: 5 | import {SafeTransferLib} from "solmate/utils/SafeTransferLib.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/solmate/tokens/ERC1155.sol" not found: File not found. Searched the following locations: "/tmp/slither-abnacv7k".
stderr: ParserError: Source "lib/solmate/tokens/ERC1155.sol" not found: File not found. Searched the following locations: "/tmp/slither-abnacv7k".
stderr: --> src/tokens/UpxEth.sol:6:1:
stderr: |
stderr: 6 | import {ERC1155} from "solmate/tokens/ERC1155.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
stderr:
stderr: Error (6275): Source "lib/solmate/tokens/ERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-abnacv7k".
stderr: ParserError: Source "lib/solmate/tokens/ERC20.sol" not found: File not found. Searched the following locations: "/tmp/slither-abnacv7k".
stderr: --> src/tokens/WrappedToken.sol:4:1:
stderr: |
stderr: 4 | import {ERC20} from "solmate/tokens/ERC20.sol";
stderr: | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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-abnacv7k/out/build-info is not a directory.
[codex:1153465] OpenAI Codex v0.77.0 (research preview)
[codex:1153465] --------
[codex:1153465] workdir: /tmp/codex-multi-kn06r2an
[codex:1153465] model: gpt-5.2-codex
[codex:1153465] provider: openai
[codex:1153465] approval: never
[codex:1153465] sandbox: read-only
[codex:1153465] reasoning effort: xhigh
[codex:1153465] reasoning summaries: auto
[codex:1153465] session id: 019b8f59-1b6d-7233-975b-e57f5f546dda
[codex:1153465] --------
[codex:1153465] user
[codex:1153465] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:1153465]
[codex:1153465] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:1153465]
[codex:1153465] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1153465] - Gas inefficiency, code quality, naming, or best practices
[codex:1153465] - Theoretical vulnerabilities without a clear extraction path
[codex:1153465] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:1153465] - Front-running unless it enables theft beyond MEV
[codex:1153465] - DoS, griefing, or issues that don't result in attacker profit
[codex:1153465] - Missing events, view function issues, or informational findings
[codex:1153465]
[codex:1153465] HIGH-VALUE PATTERNS TO HUNT:
[codex:1153465] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:1153465] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:1153465] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:1153465] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:1153465] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:1153465] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:1153465] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:1153465] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:1153465] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:1153465]
[codex:1153465] For each finding, you MUST provide:
[codex:1153465] 1. Exact file and line numbers of vulnerable code
[codex:1153465] 2. Step-by-step exploit transaction sequence
[codex:1153465] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:1153465]
[codex:1153465] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:1153465]
[codex:1153465] Output MUST be valid JSON matching the provided schema.
[codex:1153465] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1153465] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1153465] mcp startup: no servers
[codex:1153465]
[codex:1153465] thinking
[codex:1153465] **Checking for audit-related instructions**
[codex:1153465] exec
[codex:1153465] /bin/bash -lc ls in /tmp/codex-multi-kn06r2an succeeded in 5ms:
[codex:1153465] AUDIT_BUNDLE.txt
[codex:1153465] codex-output-schema.json
[codex:1153465] contracts
[codex:1153465]
[codex:1153465] thinking
[codex:1153465] **Reading AUDIT_BUNDLE.txt**
[codex:1153465] exec
[codex:1153465] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-kn06r2an succeeded in 6ms:
[codex:1153465] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1153465]
[codex:1153465] ================================================================================
[codex:1153465] FILE: contracts/src/AutoPxEth.sol
[codex:1153465] ================================================================================
[codex:1153465] // SPDX-License-Identifier: MIT
[codex:1153465] pragma solidity 0.8.25;
[codex:1153465]
[codex:1153465] import {Ownable2StepUpgradeable} from "openzeppelin-contracts-upgradeable/contracts/access/Ownable2StepUpgradeable.sol";
[codex:1153465] import {ERC20Upgradeable} from "openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol";
[codex:1153465] import {ERC4626Upgradeable} from "openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol";
[codex:1153465] import {IERC20} from "openzeppelin-contracts/contracts/token/ERC20/IERC20.sol";
[codex:1153465] import {ERC20} from "openzeppelin-contracts/contracts/token/ERC20/ERC20.sol";
[codex:1153465] import {FixedPointMathLib} from "solmate/utils/FixedPointMathLib.sol";
[codex:1153465] import {SafeERC20} from "openzeppelin-contracts-upgradeable/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1153465] import {Errors} from "./libraries/Errors.sol";
[codex:1153465] import {AutoPxEthStorage} from "./AutoPxEthStorage.sol";
[codex:1153465] import {IPirexEth} from "./interfaces/IPirexEth.sol";
[codex:1153465] import {Initializable} from "openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol";
[codex:1153465]
[codex:1153465]
[codex:1153465] thinking
[codex:1153465] **Planning thorough audit bundle review**
[codex:1153465]
[codex:1153465] I’m figuring out how to efficiently scan the large AUDIT_BUNDLE.txt (nearly 5,000 lines) to find exploitable issues like reentrancy or suspicious calls. Since the user wants the whole file read, I’m considering listing file boundaries using ripgrep (rg) and then inspecting relevant sections individually with tools like sed or awk to manage the length and focus my review.
[codex:1153465] exec
[codex:1153465] /bin/bash -lc 'rg "''^FILE:" -n AUDIT_BUNDLE.txt' in /tmp/codex-multi-kn06r2an succeeded in 15ms:
[codex:1153465] 4:FILE: contracts/src/AutoPxEth.sol
[codex:1153465] 487:FILE: contracts/src/AutoPxEthStorage.sol
[codex:1153465] 569:FILE: contracts/src/DineroERC20.sol
[codex:1153465] 650:FILE: contracts/src/InstitutionPirexEthStorage.sol
[codex:1153465] 735:FILE: contracts/src/InstitutionalPirexEth.sol
[codex:1153465] 1065:FILE: contracts/src/InstitutionalPirexEthValidators.sol
[codex:1153465] 1653:FILE: contracts/src/PxEth.sol
[codex:1153465] 1708:FILE: contracts/src/interfaces/IDepositContract.sol
[codex:1153465] 1736:FILE: contracts/src/interfaces/IOracleAdapter.sol
[codex:1153465] 1758:FILE: contracts/src/interfaces/IPirexEth.sol
[codex:1153465] 1833:FILE: contracts/src/interfaces/IPirexFees.sol
[codex:1153465] 1860:FILE: contracts/src/libraries/Constants.sol
[codex:1153465] 1922:FILE: contracts/src/libraries/DataTypes.sol
[codex:1153465] 2184:FILE: contracts/src/libraries/Errors.sol
[codex:1153465] 2402:FILE: contracts/src/libraries/InstitutionalPirexEthConfigurationLogic.sol
[codex:1153465] 2876:FILE: contracts/src/libraries/InstitutionalPirexEthDepositLogic.sol
[codex:1153465] 3354:FILE: contracts/src/libraries/InstitutionalPirexEthGenericLogic.sol
[codex:1153465] 3389:FILE: contracts/src/libraries/InstitutionalPirexEthValidationLogic.sol
[codex:1153465] 3617:FILE: contracts/src/libraries/InstitutionalPirexEthValidatorManagementLogic.sol
[codex:1153465] 3696:FILE: contracts/src/libraries/InstitutionalPirexEthWithdrawLogic.sol
[codex:1153465]
[codex:1153465] thinking
[codex:1153465] **Analyzing potential reentrancy in contracts**
[codex:1153465] exec
[codex:1153465] /bin/bash -lc "sed -n '650,734p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-kn06r2an succeeded in 10ms:
[codex:1153465] FILE: contracts/src/InstitutionPirexEthStorage.sol
[codex:1153465] ================================================================================
[codex:1153465] // SPDX-License-Identifier: MIT
[codex:1153465] pragma solidity 0.8.25;
[codex:1153465]
[codex:1153465] import {DataTypes} from "./libraries/DataTypes.sol";
[codex:1153465] import {IPirexEth} from "./interfaces/IPirexEth.sol";
[codex:1153465]
[codex:1153465] /**
[codex:1153465] * @title InstitutionPirexEthStorage
[codex:1153465] * @notice InstitutionPirexEth storage
[codex:1153465] * @dev This contract packages storage variable of InstitutionPirexEth
[codex:1153465] * @author redactedcartel.finance
[codex:1153465] */
[codex:1153465]
[codex:1153465] abstract contract InstitutionPirexEthStorage is IPirexEth {
[codex:1153465] /**
[codex:1153465] * @notice Reserved storage space for future layout changes.
[codex:1153465] * @dev This reserved storage space ensures compatibility with future upgrades or changes to the contract's storage layout.
[codex:1153465] * It is left unused but reserved to accommodate potential modifications without affecting existing storage variables.
[codex:1153465]
[codex:1153465] thinking
[codex:1153465] **Preparing next InstitutionalPirexEth step**
[codex:1153465] exec
[codex:1153465] /bin/bash -lc "sed -n '735,1064p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-kn06r2an succeeded in 6ms:
[codex:1153465] FILE: contracts/src/InstitutionalPirexEth.sol
[codex:1153465] ================================================================================
[codex:1153465] // SPDX-License-Identifier: MIT
[codex:1153465] pragma solidity 0.8.25;
[codex:1153465]
[codex:1153465] import {ERC20} from "solmate/tokens/ERC20.sol";
[codex:1153465] import {SafeTransferLib} from "solmate/utils/SafeTransferLib.sol";
[codex:1153465] import {Errors} from "./libraries/Errors.sol";
[codex:1153465] import {DataTypes} from "./libraries/DataTypes.sol";
[codex:1153465] import {Constants} from "./libraries/Constants.sol";
[codex:1153465] import {IPirexFees} from "./interfaces/IPirexFees.sol";
[codex:1153465] import {InstitutionalPirexEthValidators} from "./InstitutionalPirexEthValidators.sol";
[codex:1153465] import {InstitutionalPirexEthDepositLogic} from "./libraries/InstitutionalPirexEthDepositLogic.sol";
[codex:1153465] import {InstitutionalPirexEthConfigurationLogic} from "./libraries/InstitutionalPirexEthConfigurationLogic.sol";
[codex:1153465] import {InstitutionalPirexEthWithdrawLogic} from "./libraries/InstitutionalPirexEthWithdrawLogic.sol";
[codex:1153465]
[codex:1153465] /**
[codex:1153465] * @title Main contract for handling interactions with pxETH
[codex:1153465] * @notice This contract manages various interactions with pxETH, such as deposits, redemptions, and fee adjustments.
[codex:1153465] * @dev This contract inherits from InstitutionalPirexEthValidators and utilizes SafeTransferLib for ERC20 token transfers.
[codex:1153465]
[codex:1153465] thinking
[codex:1153465] **Moving to next file**
[codex:1153465] exec
[codex:1153465] /bin/bash -lc "sed -n '1065,1652p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-kn06r2an succeeded in 6ms:
[codex:1153465] FILE: contracts/src/InstitutionalPirexEthValidators.sol
[codex:1153465] ================================================================================
[codex:1153465] // SPDX-License-Identifier: MIT
[codex:1153465] pragma solidity 0.8.25;
[codex:1153465]
[codex:1153465] import {ERC20} from "solmate/tokens/ERC20.sol";
[codex:1153465] import {SafeTransferLib} from "solmate/utils/SafeTransferLib.sol";
[codex:1153465] import {ReentrancyGuardUpgradeable} from "openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol";
[codex:1153465] import {AccessControlDefaultAdminRulesUpgradeable} from "openzeppelin-contracts-upgradeable/contracts/access/extensions/AccessControlDefaultAdminRulesUpgradeable.sol";
[codex:1153465] import {UpxEth} from "./tokens/UpxEth.sol";
[codex:1153465] import {Errors} from "./libraries/Errors.sol";
[codex:1153465] import {DataTypes} from "./libraries/DataTypes.sol";
[codex:1153465] import {InstitutionalPirexEthWithdrawLogic} from "./libraries/InstitutionalPirexEthWithdrawLogic.sol";
[codex:1153465] import {InstitutionalPirexEthConfigurationLogic} from "./libraries/InstitutionalPirexEthConfigurationLogic.sol";
[codex:1153465] import {InstitutionalPirexEthDepositLogic} from "./libraries/InstitutionalPirexEthDepositLogic.sol";
[codex:1153465] import {InstitutionalPirexEthValidatorManagementLogic} from "./libraries/InstitutionalPirexEthValidatorManagementLogic.sol";
[codex:1153465] import {Constants} from "./libraries/Constants.sol";
[codex:1153465] import {ValidatorQueue} from "./libraries/ValidatorQueue.sol";
[codex:1153465] import {PxEth} from "./PxEth.sol";
[codex:1153465] import {InstitutionPirexEthStorage} from "./InstitutionPirexEthStorage.sol";
[codex:1153465]
[codex:1153465] thinking
[codex:1153465] **Opening next contract file**
[codex:1153465] exec
[codex:1153465] /bin/bash -lc "sed -n '1653,1707p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-kn06r2an succeeded in 5ms:
[codex:1153465] FILE: contracts/src/PxEth.sol
[codex:1153465] ================================================================================
[codex:1153465] // SPDX-License-Identifier: MIT
[codex:1153465] pragma solidity 0.8.25;
[codex:1153465]
[codex:1153465] import {DineroERC20} from "./DineroERC20.sol";
[codex:1153465] import {Errors} from "./libraries/Errors.sol";
[codex:1153465]
[codex:1153465] /**
[codex:1153465] * @title PxEth
[codex:1153465] * @notice The PxEth token, the main token for the PirexEth system used in the Dinero ecosystem.
[codex:1153465] * @dev Extends the DineroERC20 contract and includes additional functionality.
[codex:1153465] * @author redactedcartel.finance
[codex:1153465] */
[codex:1153465] contract PxEth is DineroERC20 {
[codex:1153465] // Roles
[codex:1153465] /**
[codex:1153465] * @notice The OPERATOR_ROLE role assigned for operator functions in the PxEth token contract.
[codex:1153465] * @dev Used to control access to critical functions.
[codex:1153465] */
[codex:1153465]
[codex:1153465] thinking
[codex:1153465] **Inspecting full DineroERC20 contract**
[codex:1153465] exec
[codex:1153465] /bin/bash -lc "sed -n '569,649p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-kn06r2an succeeded in 7ms:
[codex:1153465] FILE: contracts/src/DineroERC20.sol
[codex:1153465] ================================================================================
[codex:1153465] // SPDX-License-Identifier: MIT
[codex:1153465] pragma solidity 0.8.25;
[codex:1153465]
[codex:1153465] import {ERC20} from "solmate/tokens/ERC20.sol";
[codex:1153465] import {AccessControlDefaultAdminRules} from "openzeppelin-contracts/contracts/access/extensions/AccessControlDefaultAdminRules.sol";
[codex:1153465] import {Errors} from "./libraries/Errors.sol";
[codex:1153465]
[codex:1153465] /**
[codex:1153465] * @title DineroERC20
[codex:1153465] * @dev A Standard ERC20 token with minting and burning with access control.
[codex:1153465] * @author redactedcartel.finance
[codex:1153465] */
[codex:1153465] contract DineroERC20 is ERC20, AccessControlDefaultAdminRules {
[codex:1153465] // Roles
[codex:1153465] /**
[codex:1153465] * @dev Bytes32 constant representing the role to mint new tokens.
[codex:1153465] */
[codex:1153465] bytes32 private constant MINTER_ROLE = keccak256("MINTER_ROLE");
[codex:1153465]
[codex:1153465] thinking
[codex:1153465] **Preparing to inspect logic libraries**
[codex:1153465] exec
[codex:1153465] /bin/bash -lc "sed -n '1860,1921p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-kn06r2an succeeded in 7ms:
[codex:1153465] FILE: contracts/src/libraries/Constants.sol
[codex:1153465] ================================================================================
[codex:1153465] // SPDX-License-Identifier: MIT
[codex:1153465] pragma solidity 0.8.25;
[codex:1153465]
[codex:1153465] library Constants {
[codex:1153465] /**
[codex:1153465] * @notice Denominator used for mathematical calculations.
[codex:1153465] * @dev This constant is used as a divisor in various mathematical calculations
[codex:1153465] * throughout the contract to achieve precise percentages and ratios.
[codex:1153465] */
[codex:1153465] uint256 public constant DENOMINATOR = 1_000_000;
[codex:1153465]
[codex:1153465] // Roles
[codex:1153465] /**
[codex:1153465] * @notice The role assigned to external keepers responsible for specific protocol functions.
[codex:1153465] * @dev This role is assigned to external entities that are responsible for performing specific
[codex:1153465] * functions within the protocol, such as validator upkeep and maintenance.
[codex:1153465] */
[codex:1153465] bytes32 public constant KEEPER_ROLE = keccak256("KEEPER_ROLE");
[codex:1153465]
[codex:1153465] thinking
[codex:1153465] **Identifying data types**
[codex:1153465] exec
[codex:1153465] /bin/bash -lc "sed -n '1922,2183p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-kn06r2an succeeded in 6ms:
[codex:1153465] FILE: contracts/src/libraries/DataTypes.sol
[codex:1153465] ================================================================================
[codex:1153465] // SPDX-License-Identifier: MIT
[codex:1153465]
[codex:1153465] pragma solidity 0.8.25;
[codex:1153465]
[codex:1153465] import {WrappedToken} from "../tokens/WrappedToken.sol";
[codex:1153465] import {AutoPxEth} from "../AutoPxEth.sol";
[codex:1153465] import {PxEth} from "../PxEth.sol";
[codex:1153465] import {IPirexFees} from "../interfaces/IPirexFees.sol";
[codex:1153465] import {UpxEth} from "../tokens/UpxEth.sol";
[codex:1153465] import {IOracleAdapter} from "../interfaces/IOracleAdapter.sol";
[codex:1153465]
[codex:1153465] /**
[codex:1153465] * @title DataTypes
[codex:1153465] * @notice Library containing various data structures and enums for the PirexEth.
[codex:1153465] * @dev This library provides data structures and enums crucial for the functionality of the Pirex protocol.
[codex:1153465] * @author redactedcartel.finance
[codex:1153465] */
[codex:1153465] library DataTypes {
[codex:1153465]
[codex:1153465] thinking
[codex:1153465] **Checking configuration logic**
[codex:1153465] exec
[codex:1153465] /bin/bash -lc "sed -n '2402,2875p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-kn06r2an succeeded in 6ms:
[codex:1153465] FILE: contracts/src/libraries/InstitutionalPirexEthConfigurationLogic.sol
[codex:1153465] ================================================================================
[codex:1153465] // SPDX-License-Identifier: MIT
[codex:1153465] pragma solidity 0.8.25;
[codex:1153465]
[codex:1153465] import {ERC20} from "solmate/tokens/ERC20.sol";
[codex:1153465] import {SafeTransferLib} from "solmate/utils/SafeTransferLib.sol";
[codex:1153465] import {DataTypes} from "./DataTypes.sol";
[codex:1153465] import {Errors} from "./Errors.sol";
[codex:1153465] import {Constants} from "./Constants.sol";
[codex:1153465] import {WrappedToken} from "../tokens/WrappedToken.sol";
[codex:1153465] import {AutoPxEth} from "../AutoPxEth.sol";
[codex:1153465] import {PxEth} from "../PxEth.sol";
[codex:1153465] import {UpxEth} from "../tokens/UpxEth.sol";
[codex:1153465] import {InstitutionalPirexEthValidationLogic} from "./InstitutionalPirexEthValidationLogic.sol";
[codex:1153465] import {IOracleAdapter} from "../interfaces/IOracleAdapter.sol";
[codex:1153465]
[codex:1153465] /**
[codex:1153465] * @title InstitutionalPirexEthConfigurationLogic
[codex:1153465] * @notice Library containing the logic for Institutional PirexEth configurations.
[codex:1153465]
[codex:1153465] thinking
[codex:1153465] **Examining deposit logic for issues**
[codex:1153465] exec
[codex:1153465] /bin/bash -lc "sed -n '2876,3353p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-kn06r2an succeeded in 6ms:
[codex:1153465] FILE: contracts/src/libraries/InstitutionalPirexEthDepositLogic.sol
[codex:1153465] ================================================================================
[codex:1153465] // SPDX-License-Identifier: MIT
[codex:1153465] pragma solidity 0.8.25;
[codex:1153465]
[codex:1153465] import {DataTypes} from "./DataTypes.sol";
[codex:1153465] import {Errors} from "./Errors.sol";
[codex:1153465] import {Constants} from "./Constants.sol";
[codex:1153465] import {AutoPxEth} from "../AutoPxEth.sol";
[codex:1153465] import {PxEth} from "../PxEth.sol";
[codex:1153465] import {InstitutionalPirexEthValidationLogic} from "./InstitutionalPirexEthValidationLogic.sol";
[codex:1153465] import {InstitutionalPirexEthConfigurationLogic} from "./InstitutionalPirexEthConfigurationLogic.sol";
[codex:1153465] import {IDepositContract} from "../interfaces/IDepositContract.sol";
[codex:1153465] import {ValidatorQueue} from "./ValidatorQueue.sol";
[codex:1153465]
[codex:1153465] /**
[codex:1153465] * @title InstitutionalPirexEthDepositLogic
[codex:1153465] * @notice Library containing the logic for Institutional PirexEth deposit operations.
[codex:1153465] * @dev This library provides the implementation for various deposit operations related to Institutional PirexEth.
[codex:1153465] * @author redactedcartel.finance
[codex:1153465]
[codex:1153465] thinking
[codex:1153465] **Inspecting withdrawal logic**
[codex:1153465] exec
[codex:1153465] /bin/bash -lc "sed -n '3696,4334p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-kn06r2an succeeded in 6ms:
[codex:1153465] FILE: contracts/src/libraries/InstitutionalPirexEthWithdrawLogic.sol
[codex:1153465] ================================================================================
[codex:1153465] // SPDX-License-Identifier: MIT
[codex:1153465] pragma solidity 0.8.25;
[codex:1153465]
[codex:1153465] import {ERC20} from "solmate/tokens/ERC20.sol";
[codex:1153465] import {SafeTransferLib} from "solmate/utils/SafeTransferLib.sol";
[codex:1153465] import {DataTypes} from "./DataTypes.sol";
[codex:1153465] import {Constants} from "./Constants.sol";
[codex:1153465] import {Errors} from "./Errors.sol";
[codex:1153465] import {WrappedToken} from "../tokens/WrappedToken.sol";
[codex:1153465] import {AutoPxEth} from "../AutoPxEth.sol";
[codex:1153465] import {PxEth} from "../PxEth.sol";
[codex:1153465] import {IPirexFees} from "../interfaces/IPirexFees.sol";
[codex:1153465] import {UpxEth} from "../tokens/UpxEth.sol";
[codex:1153465] import {InstitutionalPirexEthValidationLogic} from "./InstitutionalPirexEthValidationLogic.sol";
[codex:1153465] import {InstitutionalPirexEthConfigurationLogic} from "./InstitutionalPirexEthConfigurationLogic.sol";
[codex:1153465] import {InstitutionalPirexEthGenericLogic} from "./InstitutionalPirexEthGenericLogic.sol";
[codex:1153465] import {ValidatorQueue} from "./ValidatorQueue.sol";
[codex:1153465]
[codex:1153465]
[codex:1153465] thinking
[codex:1153465] **Investigating fee calculation and rounding issues**
[codex:1153465] exec
[codex:1153465] /bin/bash -lc "sed -n '3354,3388p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-kn06r2an succeeded in 7ms:
[codex:1153465] FILE: contracts/src/libraries/InstitutionalPirexEthGenericLogic.sol
[codex:1153465] ================================================================================
[codex:1153465] // SPDX-License-Identifier: MIT
[codex:1153465] pragma solidity 0.8.25;
[codex:1153465]
[codex:1153465] import {DataTypes} from "./DataTypes.sol";
[codex:1153465] import {Constants} from "./Constants.sol";
[codex:1153465] import {PxEth} from "../PxEth.sol";
[codex:1153465]
[codex:1153465] /**
[codex:1153465] * @title InstitutionalPirexEthGenericLogic
[codex:1153465] * @notice Library containing the logic for Institutional PirexEth utilities.
[codex:1153465] * @dev This library provides the implementation for various utilities related to Institutional PirexEth.
[codex:1153465] * @author redactedcartel.finance
[codex:1153465] */
[codex:1153465] library InstitutionalPirexEthGenericLogic {
[codex:1153465] /**
[codex:1153465] * @notice Calculates the post-fee asset amount and fee amount based on the specified fee type and total assets.
[codex:1153465] * @dev This function calculates the post-fee asset amount and fee amount based on the specified fee type and total assets.
[codex:1153465] * @param f DataTypes.Fees representing the fee type.
[codex:1153465]
[codex:1153465] thinking
[codex:1153465] **Identifying validation logic**
[codex:1153465] exec
[codex:1153465] /bin/bash -lc "sed -n '3389,3616p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-kn06r2an succeeded in 7ms:
[codex:1153465] FILE: contracts/src/libraries/InstitutionalPirexEthValidationLogic.sol
[codex:1153465] ================================================================================
[codex:1153465] // SPDX-License-Identifier: MIT
[codex:1153465] pragma solidity 0.8.25;
[codex:1153465]
[codex:1153465] import {Errors} from "./Errors.sol";
[codex:1153465] import {Constants} from "./Constants.sol";
[codex:1153465] import {PxEth} from "../PxEth.sol";
[codex:1153465] import {DataTypes} from "./DataTypes.sol";
[codex:1153465]
[codex:1153465] /**
[codex:1153465] * @title InstitutionalPirexEthValidationLogic
[codex:1153465] * @notice Library containing the logic for Institutional PirexEth validation operations.
[codex:1153465] * @dev This library provides the implementation for various validation operations related to Institutional PirexEth.
[codex:1153465] * @author redactedcartel.finance
[codex:1153465] */
[codex:1153465] library InstitutionalPirexEthValidationLogic {
[codex:1153465] /**
[codex:1153465] * @notice Validates the setting of a contract address.
[codex:1153465] * @dev This function checks the validity of setting a contract address.
[codex:1153465]
[codex:1153465] thinking
[codex:1153465] **Reviewing validator management logic**
[codex:1153465] exec
[codex:1153465] /bin/bash -lc "sed -n '3617,3695p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-kn06r2an succeeded in 6ms:
[codex:1153465] FILE: contracts/src/libraries/InstitutionalPirexEthValidatorManagementLogic.sol
[codex:1153465] ================================================================================
[codex:1153465] // SPDX-License-Identifier: MIT
[codex:1153465] pragma solidity 0.8.25;
[codex:1153465]
[codex:1153465] import {Errors} from "./Errors.sol";
[codex:1153465] import {DataTypes} from "./DataTypes.sol";
[codex:1153465] import {ValidatorQueue} from "./ValidatorQueue.sol";
[codex:1153465]
[codex:1153465] /**
[codex:1153465] * @title InstitutionalPirexEthValidatorManagementLogic
[codex:1153465] * @notice Library containing the logic for Institutional PirexEth validator management operations.
[codex:1153465] * @dev This library provides the implementation for various validator management operation related to Institutional PirexEth.
[codex:1153465] * @author redactedcartel.finance
[codex:1153465] */
[codex:1153465] library InstitutionalPirexEthValidatorManagementLogic {
[codex:1153465] /**
[codex:1153465] * @dev This library extends the functionality of the DataTypes.ValidatorDeque data structure to facilitate validator management.
[codex:1153465] */
[codex:1153465] using ValidatorQueue for DataTypes.ValidatorDeque;
[codex:1153465]
[codex:1153465] thinking
[codex:1153465] **Reviewing ValidatorQueue file**
[codex:1153465] exec
[codex:1153465] /bin/bash -lc "sed -n '4335,4685p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-kn06r2an succeeded in 6ms:
[codex:1153465] FILE: contracts/src/libraries/ValidatorQueue.sol
[codex:1153465] ================================================================================
[codex:1153465] // SPDX-License-Identifier: MIT
[codex:1153465] pragma solidity 0.8.25;
[codex:1153465]
[codex:1153465] import {SafeCast} from "openzeppelin-contracts/contracts/utils/math/SafeCast.sol";
[codex:1153465] import {DataTypes} from "./DataTypes.sol";
[codex:1153465] import {Errors} from "./Errors.sol";
[codex:1153465]
[codex:1153465] /**
[codex:1153465] * @title ValidatorQueue
[codex:1153465] * @notice Library for managing a FIFO queue of validators in the Pirex protocol.
[codex:1153465] * @dev This library provides functions for adding, swapping, and removing validators in the validator queue.
[codex:1153465] * It also includes functions for popping validators from the end of the queue, retrieving validator information, and clearing the entire queue.
[codex:1153465] * @author redactedcartel.finance
[codex:1153465] */
[codex:1153465] library ValidatorQueue {
[codex:1153465] /**
[codex:1153465] * @notice Emitted when a validator is added to the queue.
[codex:1153465] * @dev This event is emitted when a validator is successfully added to the end of the queue.
[codex:1153465]
[codex:1153465]
[codex:1153465] thinking
[codex:1153465] **Examining potential token and redemption vulnerabilities**
[codex:1153465]
[codex:1153465] I’m digging through the contracts to track token flows and checks, especially around WrappedToken approvals, fees, and redemption logic. I see careful use of roles and storage slots, which seems mostly safe, but I’m zeroing in on rounding in redemption and whether validator exit batching could be gamed or mismatched. Reentrancy is mostly guarded by nonReentrant modifiers on main functions, though some external calls might influence state unexpectedly. The fee distribution and operator approval logic are intricate; I’m verifying permission scopes carefully. Overall, I’m validating if any subtle rounding, allowance, or external call order could let someone profit unexpectedly or disrupt validator exit scheduling.
[codex:1153465] thinking
[codex:1153465] **Analyzing token transfer and redemption interplay**
[codex:1153465]
[codex:1153465] I’m tracing how token transfers trigger redemptions, especially the interaction between AutoPxEth’s redirect and PirexEth’s initiateRedemption. There might be mismatch between token types expected and actual transferred amounts, causing redemptions to fail or revert. I’m checking roles, allowances, and how wrapped tokens handle approvals and transfers to understand if any indirect pathway could allow free minting or bypass restrictions.
[codex:1153465] exec
[codex:1153465] /bin/bash -lc "sed -n '1758,1832p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-kn06r2an succeeded in 8ms:
[codex:1153465] FILE: contracts/src/interfaces/IPirexEth.sol
[codex:1153465] ================================================================================
[codex:1153465] // SPDX-License-Identifier: MIT
[codex:1153465]
[codex:1153465] pragma solidity 0.8.25;
[codex:1153465]
[codex:1153465] import {DataTypes} from "../libraries/DataTypes.sol";
[codex:1153465]
[codex:1153465] /**
[codex:1153465] * @title IPirexEth
[codex:1153465] * @notice Interface for the PirexEth contract
[codex:1153465] * @dev This interface defines the methods for interacting with PirexEth.
[codex:1153465] * @author redactedcartel.finance
[codex:1153465] */
[codex:1153465] interface IPirexEth {
[codex:1153465] /**
[codex:1153465] * @notice Initiate redemption by burning pxETH in return for upxETH
[codex:1153465] * @dev This function allows the initiation of redemption by burning pxETH in exchange for upxETH.
[codex:1153465] * @param _assets uint256 The amount of assets to burn. If the caller is AutoPxEth, then apxETH; pxETH otherwise.
[codex:1153465] * @param _receiver address The address to receive upxETH.
[codex:1153465]
[codex:1153465]
[codex:1153465]
[codex:1153465] thinking
[codex:1153465] **Analyzing asset handling and potential tokenomics issues**
[codex:1153465] thinking
[codex:1153465] **Reviewing deposit logic and reentrancy protections**
[codex:1153465]
[codex:1153465] This part dives deeper into deposit loops, preDeposit handling, and confirms that nonReentrant guards block reentrancy risks during key external calls. I’m checking if buffer accounting or approval logic can be exploited, but most admin-only functions and access controls appear solid. The complex interactions hint at no clear profit path, especially with restricted roles and proper revert flows.
[codex:1153465] thinking
[codex:1153465] ```json
[codex:1153465] {
[codex:1153465] "no_findings": true,
[codex:1153465] "summary": "No concrete exploitable profit paths identified after reviewing AUDIT_BUNDLE.txt under stated assumptions.",
[codex:1153465] "findings": []
[codex:1153465] }
[codex:1153465] ```
[codex:1153465] codex
[codex:1153465] {"no_findings":true,"summary":"No concrete, exploitable profit paths identified after reviewing AUDIT_BUNDLE.txt under the stated assumptions.","findings":[]}
[codex:1153465] tokens used
[codex:1153465] 74,839
[codex:1153465] {"no_findings":true,"summary":"No concrete, exploitable profit paths identified after reviewing AUDIT_BUNDLE.txt under the stated assumptions.","findings":[]}
{
"codex": {
"ran_at": "2026-01-05T18:15:02.156424+00:00",
"returncode": 0
},
"summary": "No concrete, exploitable profit paths identified after reviewing AUDIT_BUNDLE.txt under the stated assumptions.",
"raw_final": {
"summary": "No concrete, exploitable profit paths identified after reviewing AUDIT_BUNDLE.txt under the stated assumptions.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x0386 0000000c: JUMPI 0000000d: PUSH0 0000000e: CALLDATALOAD 0000000f: PUSH1 0xe0 00000011: SHR 00000012: DUP1 00000013: PUSH4 0x8da5cb5b 00000018: GT 00000019: PUSH2 0x01d3 0000001c: JUMPI 0000001d: DUP1 0000001e: PUSH4 0xc34d97d1 00000023: GT 00000024: PUSH2 0x00fd 00000027: JUMPI 00000028: DUP1 00000029: PUSH4 0xd602b9fd 0000002e: GT 0000002f: PUSH2 0x009d 00000032: JUMPI 00000033: DUP1 00000034: PUSH4 0xeb2b01c3 00000039: GT 0000003a: PUSH2 0x006d 0000003d: JUMPI 0000003e: DUP1 0000003f: PUSH4 0xeb2b01c3 00000044: EQ 00000045: PUSH2 0x0b3d 00000048: JUMPI 00000049: DUP1 0000004a: PUSH4 0xf7ab086e 0000004f: EQ 00000050: PUSH2 0x0b70 00000053: JUMPI 00000054: DUP1 00000055: PUSH4 0xfde90428 0000005a: EQ 0000005b: PUSH2 0x0b8f 0000005e: JUMPI 0000005f: DUP1 00000060: PUSH4 0xfe196cf8 00000065: EQ 00000066: PUSH2 0x0c7c 00000069: JUMPI 0000006a: PUSH0 0000006b: DUP1 0000006c: REVERT 0000006d: JUMPDEST 0000006e: DUP1 0000006f: PUSH4 0xd602b9fd 00000074: EQ 00000075: PUSH2 0x0ad8 00000078: JUMPI 00000079: DUP1 0000007a: PUSH4 0xd65ea232 0000007f: EQ 00000080: PUSH2 0x0aec 00000083: JUMPI 00000084: DUP1 00000085: PUSH4 0xddc63262 0000008a: EQ 0000008b: PUSH2 0x0b0b 0000008e: JUMPI 0000008f: DUP1 00000090: PUSH4 0xe7e54748 00000095: EQ 00000096: PUSH2 0x0b1e 00000099: JUMPI 0000009a: PUSH0 0000009b: DUP1 0000009c: REVERT 0000009d: JUMPDEST 0000009e: DUP1 0000009f: PUSH4 0xcefc1429 000000a4: GT 000000a5: PUSH2 0x00d8 000000a8: JUMPI 000000a9: DUP1 000000aa: PUSH4 0xcefc1429 000000af: EQ 000000b0: PUSH2 0x0a4c 000000b3: JUMPI 000000b4: DUP1 000000b5: PUSH4 0xcf6eefb7 000000ba: EQ 000000bb: PUSH2 0x0a60 000000be: JUMPI 000000bf: DUP1 000000c0: PUSH4 0xd2149288 000000c5: EQ 000000c6: PUSH2 0x0a9a 000000c9: JUMPI 000000ca: DUP1 000000cb: PUSH4 0xd547741f 000000d0: EQ 000000d1: PUSH2 0x0ab9 000000d4: JUMPI 000000d5: PUSH0 000000d6: DUP1 000000d7: REVERT 000000d8: JUMPDEST 000000d9: DUP1 000000da: PUSH4 0xc34d97d1 000000df: EQ 000000e0: PUSH2 0x09eb 000000e3: JUMPI 000000e4: DUP1 000000e5: PUSH4 0xca72be29 000000ea: EQ 000000eb: PUSH2 0x0a19 000000ee: JUMPI 000000ef: DUP1 000000f0: PUSH4 0xcc8463c8 000000f5: EQ 000000f6: PUSH2 0x0a38 000000f9: JUMPI 000000fa: PUSH0 000000fb: DUP1 000000fc: REVERT 000000fd: JUMPDEST 000000fe: DUP1 000000ff: PUSH4 0xa5eb31bf 00000104: GT 00000105: PUSH2 0x0173 00000108: JUMPI 00000109: DUP1 0000010a: PUSH4 0xb09c18d7 0000010f: GT 00000110: PUSH2 0x0143 00000113: JUMPI 00000114: DUP1 00000115: PUSH4 0xb09c18d7 0000011a: EQ 0000011b: PUSH2 0x0954 0000011e: JUMPI 0000011f: DUP1 00000120: PUSH4 0xb5e5e64c 00000125: EQ 00000126: PUSH2 0x0973 00000129: JUMPI 0000012a: DUP1 0000012b: PUSH4 0xbabd37eb 00000130: EQ 00000131: PUSH2 0x0987 00000134: JUMPI 00000135: DUP1 00000136: PUSH4 0xbc8a72b6 0000013b: EQ 0000013c: PUSH2 0x09b8 0000013f: JUMPI 00000140: PUSH0 00000141: DUP1 00000142: REVERT 00000143: JUMPDEST 00000144: DUP1 00000145: PUSH4 0xa5eb31bf 0000014a: EQ 0000014b: PUSH2 0x08a8 0000014e: JUMPI 0000014f: DUP1 00000150: PUSH4 0xa62277f0 00000155: EQ 00000156: PUSH2 0x08db 00000159: JUMPI 0000015a: DUP1 0000015b: PUSH4 0xad45517d 00000160: EQ 00000161: PUSH2 0x08fa 00000164: JUMPI 00000165: DUP1 00000166: PUSH4 0xadc9740c 0000016b: EQ 0000016c: PUSH2 0x0941 0000016f: JUMPI 00000170: PUSH0 00000171: DUP1 00000172: REVERT 00000173: JUMPDEST 00000174: DUP1 00000175: PUSH4 0x9a82c615 0000017a: GT 0000017b: PUSH2 0x01ae 0000017e: JUMPI 0000017f: DUP1 00000180: PUSH4 0x9a82c615 00000185: EQ 00000186: PUSH2 0x07c3 00000189: JUMPI 0000018a: DUP1 0000018b: PUSH4 0x9da93604 00000190: EQ 00000191: PUSH2 0x07e2 00000194: JUMPI 00000195: DUP1 00000196: PUSH4 0xa1eda53c 0000019b: EQ 0000019c: PUSH2 0x0862 0000019f: JUMPI 000001a0: DUP1 000001a1: PUSH4 0xa217fddf 000001a6: EQ 000001a7: PUSH2 0x0895 000001aa: JUMPI 000001ab: PUSH0 000001ac: DUP1 000001ad: REVERT 000001ae: JUMPDEST 000001af: DUP1 000001b0: PUSH4 0x8da5cb5b 000001b5: EQ 000001b6: PUSH2 0x0771 000001b9: JUMPI 000001ba: DUP1 000001bb: PUSH4 0x90abccf4 000001c0: EQ 000001c1: PUSH2 0x0785 000001c4: JUMPI 000001c5: DUP1 000001c6: PUSH4 0x91d14854 000001cb: EQ 000001cc: PUSH2 0x07a4 000001cf: JUMPI 000001d0: PUSH0 000001d1: DUP1 000001d2: REVERT 000001d3: JUMPDEST 000001d4: DUP1 000001d5: PUSH4 0x447266f0 000001da: GT 000001db: PUSH2 0x02b4 000001de: JUMPI 000001df: DUP1 000001e0: PUSH4 0x5fb8bc56 000001e5: GT 000001e6: PUSH2 0x0254 000001e9: JUMPI 000001ea: DUP1 000001eb: PUSH4 0x842d96f3 000001f0: GT 000001f1: PUSH2 0x0224 000001f4: JUMPI 000001f5: DUP1 000001f6: PUSH4 0x842d96f3 000001fb: EQ 000001fc: PUSH2 0x06e8 000001ff: JUMPI 00000200: DUP1 00000201: PUSH4 0x84ef8ffc 00000206: EQ 00000207: PUSH2 0x0707 0000020a: JUMPI 0000020b: DUP1 0000020c: PUSH4 0x865e6fd3 00000211: EQ 00000212: PUSH2 0x0733 00000215: JUMPI 00000216: DUP1 00000217: PUSH4 0x8b4d434b 0000021c: EQ 0000021d: PUSH2 0x0752 00000220: JUMPI 00000221: PUSH0 00000222: DUP1 00000223: REVERT 00000224: JUMPDEST 00000225: DUP1 00000226: PUSH4 0x5fb8bc56 0000022b: EQ 0000022c: PUSH2 0x0683 0000022f: JUMPI 00000230: DUP1 00000231: PUSH4 0x634e93da 00000236: EQ 00000237: PUSH2 0x0697 0000023a: JUMPI 0000023b: DUP1 0000023c: PUSH4 0x649a5ec7 00000241: EQ 00000242: PUSH2 0x06b6 00000245: JUMPI 00000246: DUP1 00000247: PUSH4 0x6b4f0b77 0000024c: EQ 0000024d: PUSH2 0x06d5 00000250: JUMPI 00000251: PUSH0 00000252: DUP1 00000253: REVERT 00000254: JUMPDEST 00000255: DUP1 00000256: PUSH4 0x48b6ce5e 0000025b: GT 0000025c: PUSH2 0x028f 0000025f: JUMPI 00000260: DUP1 00000261: PUSH4 0x48b6ce5e 00000266: EQ 00000267: PUSH2 0x05f2 0000026a: JUMPI 0000026b: DUP1 0000026c: PUSH4 0x4df8a5e7 00000271: EQ 00000272: PUSH2 0x0606 00000275: JUMPI 00000276: DUP1 00000277: PUSH4 0x4e8badd7 0000027c: EQ 0000027d: PUSH2 0x0636 00000280: JUMPI 00000281: DUP1 00000282: PUSH4 0x548ccedf 00000287: EQ 00000288: PUSH2 0x0657 0000028b: JUMPI 0000028c: PUSH0 0000028d: DUP1 0000028e: REVERT 0000028f: JUMPDEST 00000290: DUP1 00000291: PUSH4 0x447266f0 00000296: EQ 00000297: PUSH2 0x05a1 0000029a: JUMPI 0000029b: DUP1 0000029c: PUSH4 0x452e0134 000002a1: EQ 000002a2: PUSH2 0x05c0 000002a5: JUMPI 000002a6: DUP1 000002a7: PUSH4 0x4573e3b3 000002ac: EQ 000002ad: PUSH2 0x05df 000002b0: JUMPI 000002b1: PUSH0 000002b2: DUP1 000002b3: REVERT 000002b4: JUMPDEST 000002b5: DUP1 000002b6: PUSH4 0x10f4686b 000002bb: GT 000002bc: PUSH2 0x032a 000002bf: JUMPI 000002c0: DUP1 000002c1: PUSH4 0x357c1354 000002c6: GT 000002c7: PUSH2 0x02fa 000002ca: JUMPI 000002cb: DUP1 000002cc: PUSH4 0x357c1354 000002d1: EQ 000002d2: PUSH2 0x04d5 000002d5: JUMPI 000002d6: DUP1 000002d7: PUSH4 0x36568abe 000002dc: EQ 000002dd: PUSH2 0x051b 000002e0: JUMPI 000002e1: DUP1 000002e2: PUSH4 0x36bf3325 000002e7: EQ 000002e8: PUSH2 0x053a 000002eb: JUMPI 000002ec: DUP1 000002ed: PUSH4 0x3faae344 000002f2: EQ 000002f3: PUSH2 0x056d 000002f6: JUMPI 000002f7: PUSH0 000002f8: DUP1 000002f9: REVERT 000002fa: JUMPDEST 000002fb: DUP1 000002fc: PUSH4 0x10f4686b 00000301: EQ 00000302: PUSH2 0x0464 00000305: JUMPI 00000306: DUP1 00000307: PUSH4 0x248a9ca3 0000030c: EQ 0000030d: PUSH2 0x0483 00000310: JUMPI 00000311: DUP1 00000312: PUSH4 0x2da2c826 00000317: EQ 00000318: PUSH2 0x04a2 0000031b: JUMPI 0000031c: DUP1 0000031d: PUSH4 0x2f2ff15d 00000322: EQ 00000323: PUSH2 0x04b6 00000326: JUMPI 00000327: PUSH0 00000328: DUP1 00000329: REVERT 0000032a: JUMPDEST 0000032b: DUP1 0000032c: PUSH4 0x022d63fb 00000331: GT 00000332: PUSH2 0x0365 00000335: JUMPI 00000336: DUP1 00000337: PUSH4 0x022d63fb 0000033c: EQ 0000033d: PUSH2 0x03f6 00000340: JUMPI 00000341: DUP1 00000342: PUSH4 0x05c9399c 00000347: EQ 00000348: PUSH2 0x041e 0000034b: JUMPI 0000034c: DUP1 0000034d: PUSH4 0x0aa6220b 00000352: EQ 00000353: PUSH2 0x043d 00000356: JUMPI 00000357: DUP1 00000358: PUSH4 0x10cf3f85 0000035d: EQ 0000035e: PUSH2 0x0451 00000361: JUMPI 00000362: PUSH0 00000363: DUP1 00000364: REVERT 00000365: JUMPDEST 00000366: DUP1 00000367: PUSH3 0x8803d3 0000036b: EQ 0000036c: PUSH2 0x038a 0000036f: JUMPI 00000370: DUP1 00000371: PUSH4 0x0154cd98 00000376: EQ 00000377: PUSH2 0x03a0 0000037a: JUMPI 0000037b: DUP1 0000037c: PUSH4 0x01ffc9a7 00000381: EQ 00000382: PUSH2 0x03c7 00000385: JUMPI 00000386: JUMPDEST 00000387: PUSH0 00000388: DUP1 00000389: REVERT 0000038a: JUMPDEST 0000038b: CALLVALUE 0000038c: DUP1 0000038d: ISZERO 0000038e: PUSH2 0x0395 00000391: JUMPI 00000392: PUSH0 00000393: DUP1 00000394: REVERT 00000395: JUMPDEST 00000396: POP 00000397: PUSH2 0x039e 0000039a: PUSH2 0x0ca8 0000039d: JUMP 0000039e: JUMPDEST 0000039f: STOP 000003a0: JUMPDEST 000003a1: CALLVALUE 000003a2: DUP1 000003a3: ISZERO 000003a4: PUSH2 0x03ab 000003a7: JUMPI 000003a8: PUSH0 000003a9: DUP1 000003aa: REVERT 000003ab: JUMPDEST 000003ac: POP 000003ad: PUSH2 0x03b4 000003b0: PUSH2 0x0d22 000003b3: JUMP 000003b4: JUMPDEST 000003b5: PUSH1 0x40 000003b7: MLOAD 000003b8: SWAP1 000003b9: DUP2 000003ba: MSTORE 000003bb: PUSH1 0x20 000003bd: ADD 000003be: JUMPDEST 000003bf: PUSH1 0x40 000003c1: MLOAD 000003c2: DUP1 000003c3: SWAP2 000003c4: SUB 000003c5: SWAP1 000003c6: RETURN 000003c7: JUMPDEST 000003c8: CALLVALUE 000003c9: DUP1 000003ca: ISZERO 000003cb: PUSH2 0x03d2 000003ce: JUMPI 000003cf: PUSH0 000003d0: DUP1 000003d1: REVERT 000003d2: JUMPDEST 000003d3: POP 000003d4: PUSH2 0x03e6 000003d7: PUSH2 0x03e1 000003da: CALLDATASIZE 000003db: PUSH1 0x04 000003dd: PUSH2 0x3423 000003e0: JUMP 000003e1: JUMPDEST 000003e2: PUSH2 0x0d9b 000003e5: JUMP 000003e6: JUMPDEST 000003e7: PUSH1 0x40 000003e9: MLOAD 000003ea: SWAP1 000003eb: ISZERO 000003ec: ISZERO 000003ed: DUP2 000003ee: MSTORE 000003ef: PUSH1 0x20 000003f1: ADD 000003f2: PUSH2 0x03be 000003f5: JUMP 000003f6: JUMPDEST 000003f7: CALLVALUE 000003f8: DUP1 000003f9: ISZERO 000003fa: PUSH2 0x0401 000003fd: JUMPI 000003fe: PUSH0 000003ff: DUP1 00000400: REVERT 00000401: JUMPDEST 00000402: POP 00000403: PUSH3 0x069780 00000407: JUMPDEST 00000408: PUSH1 0x40 0000040a: MLOAD 0000040b: PUSH6 0xffffffffffff 00000412: SWAP1 00000413: SWAP2 00000414: AND 00000415: DUP2 00000416: MSTORE 00000417: PUSH1 0x20 00000419: ADD 0000041a: PUSH2 0x03be 0000041d: JUMP 0000041e: JUMPDEST 0000041f: CALLVALUE 00000420: DUP1 00000421: ISZERO 00000422: PUSH2 0x0429 00000425: JUMPI 00000426: PUSH0 00000427: DUP1 00000428: REVERT 00000429: JUMPDEST 0000042a: POP 0000042b: PUSH2 0x039e 0000042e: PUSH2 0x0438 00000431: CALLDATASIZE 00000432: PUSH1 0x04 00000434: PUSH2 0x345d 00000437: JUMP 00000438: JUMPDEST 00000439: PUSH2 0x0dc5 0000043c: JUMP 0000043d: JUMPDEST 0000043e: CALLVALUE 0000043f: DUP1 00000440: ISZERO 00000441: PUSH2 0x0448 00000444: JUMPI 00000445: PUSH0 00000446: DUP1 00000447: REVERT 00000448: JUMPDEST 00000449: POP 0000044a: PUSH2 0x039e 0000044d: PUSH2 0x0e4c 00000450: JUMP 00000451: JUMPDEST 00000452: PUSH2 0x039e 00000455: PUSH2 0x045f 00000458: CALLDATASIZE 00000459: PUSH1 0x04 0000045b: PUSH2 0x3526 0000045e: JUMP 0000045f: JUMPDEST 00000460: PUSH2 0x0e61 00000463: JUMP 00000464: JUMPDEST 00000465: CALLVALUE 00000466: DUP1 00000467: ISZERO 00000468: PUSH2 0x046f 0000046b: JUMPI 0000046c: PUSH0 0000046d: DUP1 0000046e: REVERT 0000046f: JUMPDEST 00000470: POP 00000471: PUSH2 0x039e 00000474: PUSH2 0x047e 00000477: CALLDATASIZE 00000478: PUSH1 0x04 0000047a: PUSH2 0x36d7 0000047d: JUMP 0000047e: JUMPDEST 0000047f: PUSH2 0x0f56 00000482: JUMP 00000483: JUMPDEST 00000484: CALLVALUE 00000485: DUP1 00000486: ISZERO 00000487: PUSH2 0x048e 0000048a: JUMPI 0000048b: PUSH0 0000048c: DUP1 0000048d: REVERT 0000048e: JUMPDEST 0000048f: POP 00000490: PUSH2 0x03b4 00000493: PUSH2 0x049d 00000496: CALLDATASIZE 00000497: PUSH1 0x04 00000499: PUSH2 0x3807 0000049c: JUMP 0000049d: JUMPDEST 0000049e: PUSH2 0x1000 000004a1: JUMP 000004a2: JUMPDEST 000004a3: CALLVALUE 000004a4: DUP1 000004a5: ISZERO 000004a6: PUSH2 0x04ad 000004a9: JUMPI 000004aa: PUSH0 000004ab: DUP1 000004ac: REVERT 000004ad: JUMPDEST 000004ae: POP 000004af: PUSH2 0x03b4 000004b2: PUSH2 0x1020 000004b5: JUMP 000004b6: JUMPDEST 000004b7: CALLVALUE 000004b8: DUP1 000004b9: ISZERO 000004ba: PUSH2 0x04c1 000004bd: JUMPI 000004be: PUSH0 000004bf: DUP1 000004c0: REVERT 000004c1: JUMPDEST 000004c2: POP 000004c3: PUSH2 0x039e 000004c6: PUSH2 0x04d0 000004c9: CALLDATASIZE 000004ca: PUSH1 0x04 000004cc: PUSH2 0x381e 000004cf: JUMP 000004d0: JUMPDEST 000004d1: PUSH2 0x1059 000004d4: JUMP 000004d5: JUMPDEST 000004d6: CALLVALUE 000004d7: DUP1 000004d8: ISZERO 000004d9: PUSH2 0x04e0 000004dc: JUMPI 000004dd: PUSH0 000004de: DUP1 000004df: REVERT 000004e0: JUMPDEST 000004e1: POP 000004e2: PUSH2 0x0506 000004e5: PUSH2 0x04ef 000004e8: CALLDATASIZE 000004e9: PUSH1 0x04 000004eb: PUSH2 0x3841 000004ee: JUMP 000004ef: JUMPDEST 000004f0: PUSH1 0x4c 000004f2: PUSH1 0x20 000004f4: MSTORE 000004f5: PUSH0 000004f6: SWAP1 000004f7: DUP2 000004f8: MSTORE 000004f9: PUSH1 0x40 000004fb: SWAP1 000004fc: KECCAK256 000004fd: SLOAD 000004fe: PUSH4 0xffffffff 00000503: AND 00000504: DUP2 00000505: JUMP 00000506: JUMPDEST 00000507: PUSH1 0x40 00000509: MLOAD 0000050a: PUSH4 0xffffffff 0000050f: SWAP1 00000510: SWAP2 00000511: AND 00000512: DUP2 00000513: MSTORE 00000514: PUSH1 0x20 00000516: ADD 00000517: PUSH2 0x03be 0000051a: JUMP 0000051b: JUMPDEST 0000051c: CALLVALUE 0000051d: DUP1 0000051e: ISZERO 0000051f: PUSH2 0x0526 00000522: JUMPI 00000523: PUSH0 00000524: DUP1 00000525: REVERT 00000526: JUMPDEST 00000527: POP 00000528: PUSH2 0x039e 0000052b: PUSH2 0x0535 0000052e: CALLDATASIZE 0000052f: PUSH1 0x04 00000531: PUSH2 0x381e 00000534: JUMP 00000535: JUMPDEST 00000536: PUSH2 0x1085 00000539: JUMP 0000053a: JUMPDEST 0000053b: CALLVALUE 0000053c: DUP1 0000053d: ISZERO 0000053e: PUSH2 0x0545 00000541: JUMPI 00000542: PUSH0 00000543: DUP1 00000544: REVERT 00000545: JUMPDEST 00000546: POP 00000547: PUSH2 0x03b4 0000054a: PUSH32 0x000000000000000000000000000000000000000000000001bc16d674ec800000 0000056b: DUP2 0000056c: JUMP 0000056d: JUMPDEST 0000056e: CALLVALUE 0000056f: DUP1 00000570: ISZERO 00000571: PUSH2 0x0578 00000574: JUMPI 00000575: PUSH0 00000576: DUP1 00000577: REVERT 00000578: JUMPDEST 00000579: POP 0000057a: PUSH2 0x058c 0000057d: PUSH2 0x0587 00000580: CALLDATASIZE 00000581: PUSH1 0x04 00000583: PUSH2 0x385a 00000586: JUMP 00000587: JUMPDEST 00000588: PUSH2 0x114c 0000058b: JUMP 0000058c: JUMPDEST 0000058d: PUSH1 0x40 0000058f: DUP1 00000590: MLOAD 00000591: SWAP3 00000592: DUP4 00000593: MSTORE 00000594: PUSH1 0x20 00000596: DUP4 00000597: ADD 00000598: SWAP2 00000599: SWAP1 0000059a: SWAP2 0000059b: MSTORE 0000059c: ADD 0000059d: PUSH2 0x03be 000005a0: JUMP 000005a1: JUMPDEST 000005a2: CALLVALUE 000005a3: DUP1 000005a4: ISZERO 000005a5: PUSH2 0x05ac 000005a8: JUMPI 000005a9: PUSH0 000005aa: DUP1 000005ab: REVERT 000005ac: JUMPDEST 000005ad: POP 000005ae: PUSH2 0x039e 000005b1: PUSH2 0x05bb 000005b4: CALLDATASIZE 000005b5: PUSH1 0x04 000005b7: PUSH2 0x38d5 000005ba: JUMP 000005bb: JUMPDEST 000005bc: PUSH2 0x12d7 000005bf: JUMP 000005c0: JUMPDEST 000005c1: CALLVALUE 000005c2: DUP1 000005c3: ISZERO 000005c4: PUSH2 0x05cb 000005c7: JUMPI 000005c8: PUSH0 000005c9: DUP1 000005ca: REVERT 000005cb: JUMPDEST 000005cc: POP 000005cd: PUSH2 0x058c 000005d0: PUSH2 0x05da 000005d3: CALLDATASIZE 000005d4: PUSH1 0x04 000005d6: PUSH2 0x381e 000005d9: JUMP 000005da: JUMPDEST 000005db: PUSH2 0x1390 000005de: JUMP 000005df: JUMPDEST 000005e0: PUSH2 0x039e 000005e3: PUSH2 0x05ed 000005e6: CALLDATASIZE 000005e7: PUSH1 0x04 000005e9: PUSH2 0x3952 000005ec: JUMP 000005ed: JUMPDEST 000005ee: PUSH2 0x149f 000005f1: JUMP 000005f2: JUMPDEST 000005f3: CALLVALUE 000005f4: DUP1 000005f5: ISZERO 000005f6: PUSH2 0x05fd 000005f9: JUMPI 000005fa: PUSH0 000005fb: DUP1 000005fc: REVERT 000005fd: JUMPDEST 000005fe: POP 000005ff: PUSH2 0x039e 00000602: PUSH2 0x152d 00000605: JUMP 00000606: JUMPDEST 00000607: CALLVALUE 00000608: DUP1 00000609: ISZERO 0000060a: PUSH2 0x0611 0000060d: JUMPI 0000060e: PUSH0 0000060f: DUP1 00000610: REVERT 00000611: JUMPDEST 00000612: POP 00000613: PUSH2 0x0625 00000616: PUSH2 0x0620 00000619: CALLDATASIZE 0000061a: PUSH1 0x04 0000061c: PUSH2 0x3807 0000061f: JUMP 00000620: JUMPDEST 00000621: PUSH2 0x159f 00000624: JUMP 00000625: JUMPDEST 00000626: PUSH1 0x40 00000628: MLOAD 00000629: PUSH2 0x03be 0000062c: SWAP6 0000062d: SWAP5 0000062e: SWAP4 0000062f: SWAP3 00000630: SWAP2 00000631: SWAP1 00000632: PUSH2 0x39dd 00000635: JUMP 00000636: JUMPDEST 00000637: CALLVALUE 00000638: DUP1 00000639: ISZERO 0000063a: PUSH2 0x0641 0000063d: JUMPI 0000063e: PUSH0 0000063f: DUP1 00000640: REVERT 00000641: JUMPDEST 00000642: POP 00000643: PUSH2 0x064a 00000646: PUSH2 0x163a 00000649: JUMP 0000064a: JUMPDEST 0000064b: PUSH1 0x40 0000064d: MLOAD 0000064e: PUSH2 0x03be 00000651: SWAP2 00000652: SWAP1 00000653: PUSH2 0x3a38 00000656: JUMP 00000657: JUMPDEST 00000658: CALLVALUE 00000659: DUP1 0000065a: ISZERO 0000065b: PUSH2 0x0662 0000065e: JUMPI 0000065f: PUSH0 00000660: DUP1 00000661: REVERT 00000662: JUMPDEST 00000663: POP 00000664: PUSH2 0x066b 00000667: PUSH2 0x1795 0000066a: JUMP 0000066b: JUMPDEST 0000066c: PUSH1 0x40 0000066e: MLOAD 0000066f: PUSH2 0x03be 00000672: SWAP13 00000673: SWAP12 00000674: SWAP11 00000675: SWAP10 00000676: SWAP9 00000677: SWAP8 00000678: SWAP7 00000679: SWAP6 0000067a: SWAP5 0000067b: SWAP4 0000067c: SWAP3 0000067d: SWAP2 0000067e: SWAP1 0000067f: PUSH2 0x3ad8 00000682: JUMP 00000683: JUMPDEST 00000684: CALLVALUE 00000685: DUP1 00000686: ISZERO 00000687: PUSH2 0x068e 0000068a: JUMPI 0000068b: PUSH0 0000068c: DUP1 0000068d: REVERT 0000068e: JUMPDEST 0000068f: POP 00000690: PUSH2 0x039e 00000693: PUSH2 0x185c 00000696: JUMP 00000697: JUMPDEST 00000698: CALLVALUE 00000699: DUP1 0000069a: ISZERO 0000069b: PUSH2 0x06a2 0000069e: JUMPI 0000069f: PUSH0 000006a0: DUP1 000006a1: REVERT 000006a2: JUMPDEST 000006a3: POP 000006a4: PUSH2 0x039e 000006a7: PUSH2 0x06b1 000006aa: CALLDATASIZE 000006ab: PUSH1 0x04 000006ad: PUSH2 0x3b44 000006b0: JUMP 000006b1: JUMPDEST 000006b2: PUSH2 0x199d 000006b5: JUMP 000006b6: JUMPDEST 000006b7: CALLVALUE 000006b8: DUP1 000006b9: ISZERO 000006ba: PUSH2 0x06c1 000006bd: JUMPI 000006be: PUSH0 000006bf: DUP1 000006c0: REVERT 000006c1: JUMPDEST 000006c2: POP 000006c3: PUSH2 0x039e 000006c6: PUSH2 0x06d0 000006c9: CALLDATASIZE 000006ca: PUSH1 0x04 000006cc: PUSH2 0x3b74 000006cf: JUMP 000006d0: JUMPDEST 000006d1: PUSH2 0x19b0 000006d4: JUMP 000006d5: JUMPDEST 000006d6: PUSH2 0x039e 000006d9: PUSH2 0x06e3 000006dc: CALLDATASIZE 000006dd: PUSH1 0x04 000006df: PUSH2 0x3b8d 000006e2: JUMP 000006e3: JUMPDEST 000006e4: PUSH2 0x19c3 000006e7: JUMP 000006e8: JUMPDEST 000006e9: CALLVALUE 000006ea: DUP1 000006eb: ISZERO 000006ec: PUSH2 0x06f3 000006ef: JUMPI 000006f0: PUSH0 000006f1: DUP1 000006f2: REVERT 000006f3: JUMPDEST 000006f4: POP 000006f5: PUSH2 0x039e 000006f8: PUSH2 0x0702 000006fb: CALLDATASIZE 000006fc: PUSH1 0x04 000006fe: PUSH2 0x3807 00000701: JUMP 00000702: JUMPDEST 00000703: PUSH2 0x1e98 00000706: JUMP 00000707: JUMPDEST 00000708: CALLVALUE 00000709: DUP1 0000070a: ISZERO 0000070b: PUSH2 0x0712 0000070e: JUMPI 0000070f: PUSH0 00000710: DUP1 00000711: REVERT 00000712: JUMPDEST 00000713: POP 00000714: PUSH2 0x071b 00000717: PUSH2 0x1f4d 0000071a: JUMP 0000071b: JUMPDEST 0000071c: PUSH1 0x40 0000071e: MLOAD 0000071f: PUSH1 0x01 00000721: PUSH1 0x01 00000723: PUSH1 0xa0 00000725: SHL 00000726: SUB 00000727: SWAP1 00000728: SWAP2 00000729: AND 0000072a: DUP2 0000072b: MSTORE 0000072c: PUSH1 0x20 0000072e: ADD 0000072f: PUSH2 0x03be 00000732: JUMP 00000733: JUMPDEST 00000734: CALLVALUE 00000735: DUP1 00000736: ISZERO 00000737: PUSH2 0x073e 0000073a: JUMPI 0000073b: PUSH0 0000073c: DUP1 0000073d: REVERT 0000073e: JUMPDEST 0000073f: POP 00000740: PUSH2 0x039e 00000743: PUSH2 0x074d 00000746: CALLDATASIZE 00000747: PUSH1 0x04 00000749: PUSH2 0x3c2c 0000074c: JUMP 0000074d: JUMPDEST 0000074e: PUSH2 0x1f68 00000751: JUMP 00000752: JUMPDEST 00000753: CALLVALUE 00000754: DUP1 00000755: ISZERO 00000756: PUSH2 0x075d 00000759: JUMPI 0000075a: PUSH0 0000075b: DUP1 0000075c: REVERT 0000075d: JUMPDEST 0000075e: POP 0000075f: PUSH2 0x039e 00000762: PUSH2 0x076c 00000765: CALLDATASIZE 00000766: PUSH1 0x04 00000768: PUSH2 0x3c5b 0000076b: JUMP 0000076c: JUMPDEST 0000076d: PUSH2 0x1fbe 00000770: JUMP 00000771: JUMPDEST 00000772: CALLVALUE 00000773: DUP1 00000774: ISZERO 00000775: PUSH2 0x077c 00000778: JUMPI 00000779: PUSH0 0000077a: DUP1 0000077b: REVERT 0000077c: JUMPDEST 0000077d: POP 0000077e: PUSH2 0x071b 00000781: PUSH2 0x2045 00000784: JUMP 00000785: JUMPDEST 00000786: CALLVALUE 00000787: DUP1 00000788: ISZERO 00000789: PUSH2 0x0790 0000078c: JUMPI 0000078d: PUSH0 0000078e: DUP1 0000078f: REVERT 00000790: JUMPDEST 00000791: POP 00000792: PUSH2 0x039e 00000795: PUSH2 0x079f 00000798: CALLDATASIZE 00000799: PUSH1 0x04 0000079b: PUSH2 0x3ca1 0000079e: JUMP 0000079f: JUMPDEST 000007a0: PUSH2 0x204e 000007a3: JUMP 000007a4: JUMPDEST 000007a5: CALLVALUE 000007a6: DUP1 000007a7: ISZERO 000007a8: PUSH2 0x07af 000007ab: JUMPI 000007ac: PUSH0 000007ad: DUP1 000007ae: REVERT 000007af: JUMPDEST 000007b0: POP 000007b1: PUSH2 0x03e6 000007b4: PUSH2 0x07be 000007b7: CALLDATASIZE 000007b8: PUSH1 0x04 000007ba: PUSH2 0x381e 000007bd: JUMP 000007be: JUMPDEST 000007bf: PUSH2 0x20ce 000007c2: JUMP 000007c3: JUMPDEST 000007c4: CALLVALUE 000007c5: DUP1 000007c6: ISZERO 000007c7: PUSH2 0x07ce 000007ca: JUMPI 000007cb: PUSH0 000007cc: DUP1 000007cd: REVERT 000007ce: JUMPDEST 000007cf: POP 000007d0: PUSH2 0x0625 000007d3: PUSH2 0x07dd 000007d6: CALLDATASIZE 000007d7: PUSH1 0x04 000007d9: PUSH2 0x3807 000007dc: JUMP 000007dd: JUMPDEST 000007de: PUSH2 0x2104 000007e1: JUMP 000007e2: JUMPDEST 000007e3: CALLVALUE 000007e4: DUP1 000007e5: ISZERO 000007e6: PUSH2 0x07ed 000007e9: JUMPI 000007ea: PUSH0 000007eb: DUP1 000007ec: REVERT 000007ed: JUMPDEST 000007ee: POP 000007ef: PUSH1 0x3e 000007f1: SLOAD 000007f2: PUSH1 0x3f 000007f4: SLOAD 000007f5: PUSH1 0x40 000007f7: SLOAD 000007f8: PUSH1 0x41 000007fa: SLOAD 000007fb: PUSH1 0x42 000007fd: SLOAD 000007fe: PUSH1 0x43 00000800: SLOAD 00000801: PUSH2 0x0820 00000804: SWAP6 00000805: PUSH1 0x01 00000807: PUSH1 0x01 00000809: PUSH1 0xa0 0000080b: SHL 0000080c: SUB 0000080d: SWAP1 0000080e: DUP2 0000080f: AND 00000810: SWAP6 00000811: DUP2 00000812: AND 00000813: SWAP5 00000814: DUP2 00000815: AND 00000816: SWAP4 00000817: DUP2 00000818: AND 00000819: SWAP3 0000081a: DUP2 0000081b: AND 0000081c: SWAP2 0000081d: AND 0000081e: DUP7 0000081f: JUMP 00000820: JUMPDEST 00000821: PUSH1 0x40 00000823: DUP1 00000824: MLOAD 00000825: PUSH1 0x01 00000827: PUSH1 0x01 00000829: PUSH1 0xa0 0000082b: SHL 0000082c: SUB 0000082d: SWAP8 0000082e: DUP9 0000082f: AND 00000830: DUP2 00000831: MSTORE 00000832: SWAP6 00000833: DUP8 00000834: AND 00000835: PUSH1 0x20 00000837: DUP8 00000838: ADD 00000839: MSTORE 0000083a: SWAP4 0000083b: DUP7 0000083c: AND 0000083d: SWAP4 0000083e: DUP6 0000083f: ADD 00000840: SWAP4 00000841: SWAP1 00000842: SWAP4 00000843: MSTORE 00000844: SWAP1 00000845: DUP5 00000846: AND 00000847: PUSH1 0x60 00000849: DUP5 0000084a: ADD 0000084b: MSTORE 0000084c: DUP4 0000084d: AND 0000084e: PUSH1 0x80 00000850: DUP4 00000851: ADD 00000852: MSTORE 00000853: SWAP1 00000854: SWAP2 00000855: AND 00000856: PUSH1 0xa0 00000858: DUP3 00000859: ADD 0000085a: MSTORE 0000085b: PUSH1 0xc0 0000085d: ADD 0000085e: PUSH2 0x03be 00000861: JUMP 00000862: JUMPDEST 00000863: CALLVALUE 00000864: DUP1 00000865: ISZERO 00000866: PUSH2 0x086d 00000869: JUMPI 0000086a: PUSH0 0000086b: DUP1 0000086c: REVERT 0000086d: JUMPDEST 0000086e: POP 0000086f: PUSH2 0x0876 00000872: PUSH2 0x214c 00000875: JUMP 00000876: JUMPDEST 00000877: PUSH1 0x40 00000879: DUP1 0000087a: MLOAD 0000087b: PUSH6 0xffffffffffff 00000882: SWAP4 00000883: DUP5 00000884: AND 00000885: DUP2 00000886: MSTORE 00000887: SWAP3 00000888: SWAP1 00000889: SWAP2 0000088a: AND 0000088b: PUSH1 0x20 0000088d: DUP4 0000088e: ADD 0000088f: MSTORE 00000890: ADD 00000891: PUSH2 0x03be 00000894: JUMP 00000895: JUMPDEST 00000896: CALLVALUE 00000897: DUP1 00000898: ISZERO 00000899: PUSH2 0x08a0 0000089c: JUMPI 0000089d: PUSH0 0000089e: DUP1 0000089f: REVERT 000008a0: JUMPDEST 000008a1: POP 000008a2: PUSH2 0x03b4 000008a5: PUSH0 000008a6: DUP2 000008a7: JUMP 000008a8: JUMPDEST 000008a9: CALLVALUE 000008aa: DUP1 000008ab: ISZERO 000008ac: PUSH2 0x08b3 000008af: JUMPI 000008b0: PUSH0 000008b1: DUP1 000008b2: REVERT 000008b3: JUMPDEST 000008b4: POP 000008b5: PUSH2 0x071b 000008b8: PUSH32 0x00000000000000000000000000000000219ab540356cbb839cbe05303d7705fa 000008d9: DUP2 000008da: JUMP 000008db: JUMPDEST 000008dc: CALLVALUE 000008dd: DUP1 000008de: ISZERO 000008df: PUSH2 0x08e6 000008e2: JUMPI 000008e3: PUSH0 000008e4: DUP1 000008e5: REVERT 000008e6: JUMPDEST 000008e7: POP 000008e8: PUSH2 0x039e 000008eb: PUSH2 0x08f5 000008ee: CALLDATASIZE 000008ef: PUSH1 0x04 000008f1: PUSH2 0x3cc1 000008f4: JUMP 000008f5: JUMPDEST 000008f6: PUSH2 0x21bb 000008f9: JUMP 000008fa: JUMPDEST 000008fb: CALLVALUE 000008fc: DUP1 000008fd: ISZERO 000008fe: PUSH2 0x0905 00000901: JUMPI 00000902: PUSH0 00000903: DUP1 00000904: REVERT 00000905: JUMPDEST 00000906: POP 00000907: PUSH2 0x0934 0000090a: PUSH2 0x0914 0000090d: CALLDATASIZE 0000090e: PUSH1 0x04 00000910: PUSH2 0x3d19 00000913: JUMP 00000914: JUMPDEST 00000915: DUP1 00000916: MLOAD 00000917: PUSH1 0x20 00000919: DUP2 0000091a: DUP4 0000091b: ADD 0000091c: DUP2 0000091d: ADD 0000091e: DUP1 0000091f: MLOAD 00000920: PUSH1 0x48 00000922: DUP3 00000923: MSTORE 00000924: SWAP3 00000925: DUP3 00000926: ADD 00000927: SWAP2 00000928: SWAP1 00000929: SWAP4 0000092a: ADD 0000092b: KECCAK256 0000092c: SWAP2 0000092d: MSTORE 0000092e: SLOAD 0000092f: PUSH1 0xff 00000931: AND 00000932: DUP2 00000933: JUMP 00000934: JUMPDEST 00000935: PUSH1 0x40 00000937: MLOAD 00000938: PUSH2 0x03be 0000093b: SWAP2 0000093c: SWAP1 0000093d: PUSH2 0x3d5e 00000940: JUMP 00000941: JUMPDEST 00000942: PUSH2 0x03b4 00000945: PUSH2 0x094f 00000948: CALLDATASIZE 00000949: PUSH1 0x04 0000094b: PUSH2 0x3d78 0000094e: JUMP 0000094f: JUMPDEST 00000950: PUSH2 0x225d 00000953: JUMP 00000954: JUMPDEST 00000955: CALLVALUE 00000956: DUP1 00000957: ISZERO 00000958: PUSH2 0x095f 0000095b: JUMPI 0000095c: PUSH0 0000095d: DUP1 0000095e: REVERT 0000095f: JUMPDEST 00000960: POP 00000961: PUSH2 0x039e 00000964: PUSH2 0x096e 00000967: CALLDATASIZE 00000968: PUSH1 0x04 0000096a: PUSH2 0x3807 0000096d: JUMP 0000096e: JUMPDEST 0000096f: PUSH2 0x23f0 00000972: JUMP 00000973: JUMPDEST 00000974: CALLVALUE 00000975: DUP1 00000976: ISZERO 00000977: PUSH2 0x097e 0000097a: JUMPI 0000097b: PUSH0 0000097c: DUP1 0000097d: REVERT 0000097e: JUMPDEST 0000097f: POP 00000980: PUSH2 0x039e 00000983: PUSH2 0x244d 00000986: JUMP 00000987: JUMPDEST 00000988: CALLVALUE 00000989: DUP1 0000098a: ISZERO 0000098b: PUSH2 0x0992 0000098e: JUMPI 0000098f: PUSH0 00000990: DUP1 00000991: REVERT 00000992: JUMPDEST 00000993: POP 00000994: PUSH2 0x0506 00000997: PUSH2 0x09a1 0000099a: CALLDATASIZE 0000099b: PUSH1 0x04 0000099d: PUSH2 0x3841 000009a0: JUMP 000009a1: JUMPDEST 000009a2: PUSH1 0x4b 000009a4: PUSH1 0x20 000009a6: MSTORE 000009a7: PUSH0 000009a8: SWAP1 000009a9: DUP2 000009aa: MSTORE 000009ab: PUSH1 0x40 000009ad: SWAP1 000009ae: KECCAK256 000009af: SLOAD 000009b0: PUSH4 0xffffffff 000009b5: AND 000009b6: DUP2 000009b7: JUMP 000009b8: JUMPDEST 000009b9: CALLVALUE 000009ba: DUP1 000009bb: ISZERO 000009bc: PUSH2 0x09c3 000009bf: JUMPI 000009c0: PUSH0 000009c1: DUP1 000009c2: REVERT 000009c3: JUMPDEST 000009c4: POP 000009c5: PUSH2 0x071b 000009c8: PUSH32 0x000000000000000000000000177d685384aa1ac5aba41b7e649f9fa0be717fdb 000009e9: DUP2 000009ea: JUMP 000009eb: JUMPDEST 000009ec: CALLVALUE 000009ed: DUP1 000009ee: ISZERO 000009ef: PUSH2 0x09f6 000009f2: JUMPI 000009f3: PUSH0 000009f4: DUP1 000009f5: REVERT 000009f6: JUMPDEST 000009f7: POP 000009f8: PUSH2 0x03e6 000009fb: PUSH2 0x0a05 000009fe: CALLDATASIZE 000009ff: PUSH1 0x04 00000a01: PUSH2 0x3b44 00000a04: JUMP 00000a05: JUMPDEST 00000a06: PUSH1 0x4a 00000a08: PUSH1 0x20 00000a0a: MSTORE 00000a0b: PUSH0 00000a0c: SWAP1 00000a0d: DUP2 00000a0e: MSTORE 00000a0f: PUSH1 0x40 00000a11: SWAP1 00000a12: KECCAK256 00000a13: SLOAD 00000a14: PUSH1 0xff 00000a16: AND 00000a17: DUP2 00000a18: JUMP 00000a19: JUMPDEST 00000a1a: CALLVALUE 00000a1b: DUP1 00000a1c: ISZERO 00000a1d: PUSH2 0x0a24 00000a20: JUMPI 00000a21: PUSH0 00000a22: DUP1 00000a23: REVERT 00000a24: JUMPDEST 00000a25: POP 00000a26: PUSH2 0x039e 00000a29: PUSH2 0x0a33 00000a2c: CALLDATASIZE 00000a2d: PUSH1 0x04 00000a2f: PUSH2 0x3807 00000a32: JUMP 00000a33: JUMPDEST 00000a34: PUSH2 0x249c 00000a37: JUMP 00000a38: JUMPDEST 00000a39: CALLVALUE 00000a3a: DUP1 00000a3b: ISZERO 00000a3c: PUSH2 0x0a43 00000a3f: JUMPI 00000a40: PUSH0 00000a41: DUP1 00000a42: REVERT 00000a43: JUMPDEST 00000a44: POP 00000a45: PUSH2 0x0407 00000a48: PUSH2 0x24f2 00000a4b: JUMP 00000a4c: JUMPDEST 00000a4d: CALLVALUE 00000a4e: DUP1 00000a4f: ISZERO 00000a50: PUSH2 0x0a57 00000a53: JUMPI 00000a54: PUSH0 00000a55: DUP1 00000a56: REVERT 00000a57: JUMPDEST 00000a58: POP 00000a59: PUSH2 0x039e 00000a5c: PUSH2 0x256d 00000a5f: JUMP 00000a60: JUMPDEST 00000a61: CALLVALUE 00000a62: DUP1 00000a63: ISZERO 00000a64: PUSH2 0x0a6b 00000a67: JUMPI 00000a68: PUSH0 00000a69: DUP1 00000a6a: REVERT 00000a6b: JUMPDEST 00000a6c: POP 00000a6d: PUSH2 0x0a74 00000a70: PUSH2 0x25ac 00000a73: JUMP 00000a74: JUMPDEST 00000a75: PUSH1 0x40 00000a77: DUP1 00000a78: MLOAD 00000a79: PUSH1 0x01 00000a7b: PUSH1 0x01 00000a7d: PUSH1 0xa0 00000a7f: SHL 00000a80: SUB 00000a81: SWAP1 00000a82: SWAP4 00000a83: AND 00000a84: DUP4 00000a85: MSTORE 00000a86: PUSH6 0xffffffffffff 00000a8d: SWAP1 00000a8e: SWAP2 00000a8f: AND 00000a90: PUSH1 0x20 00000a92: DUP4 00000a93: ADD 00000a94: MSTORE 00000a95: ADD 00000a96: PUSH2 0x03be 00000a99: JUMP 00000a9a: JUMPDEST 00000a9b: CALLVALUE 00000a9c: DUP1 00000a9d: ISZERO 00000a9e: PUSH2 0x0aa5 00000aa1: JUMPI 00000aa2: PUSH0 00000aa3: DUP1 00000aa4: REVERT 00000aa5: JUMPDEST 00000aa6: POP 00000aa7: PUSH2 0x039e 00000aaa: PUSH2 0x0ab4 00000aad: CALLDATASIZE 00000aae: PUSH1 0x04 00000ab0: PUSH2 0x3dab 00000ab3: JUMP 00000ab4: JUMPDEST 00000ab5: PUSH2 0x25d9 00000ab8: JUMP 00000ab9: JUMPDEST 00000aba: CALLVALUE 00000abb: DUP1 00000abc: ISZERO 00000abd: PUSH2 0x0ac4 00000ac0: JUMPI 00000ac1: PUSH0 00000ac2: DUP1 00000ac3: REVERT 00000ac4: JUMPDEST 00000ac5: POP 00000ac6: PUSH2 0x039e 00000ac9: PUSH2 0x0ad3 00000acc: CALLDATASIZE 00000acd: PUSH1 0x04 00000acf: PUSH2 0x381e 00000ad2: JUMP 00000ad3: JUMPDEST 00000ad4: PUSH2 0x268f 00000ad7: JUMP 00000ad8: JUMPDEST 00000ad9: CALLVALUE 00000ada: DUP1 00000adb: ISZERO 00000adc: PUSH2 0x0ae3 00000adf: JUMPI 00000ae0: PUSH0 00000ae1: DUP1 00000ae2: REVERT 00000ae3: JUMPDEST 00000ae4: POP 00000ae5: PUSH2 0x039e 00000ae8: PUSH2 0x26b7 00000aeb: JUMP 00000aec: JUMPDEST 00000aed: CALLVALUE 00000aee: DUP1 00000aef: ISZERO 00000af0: PUSH2 0x0af7 00000af3: JUMPI 00000af4: PUSH0 00000af5: DUP1 00000af6: REVERT 00000af7: JUMPDEST 00000af8: POP 00000af9: PUSH2 0x039e 00000afc: PUSH2 0x0b06 00000aff: CALLDATASIZE 00000b00: PUSH1 0x04 00000b02: PUSH2 0x345d 00000b05: JUMP 00000b06: JUMPDEST 00000b07: PUSH2 0x26c9 00000b0a: JUMP 00000b0b: JUMPDEST 00000b0c: PUSH2 0x039e 00000b0f: PUSH2 0x0b19 00000b12: CALLDATASIZE 00000b13: PUSH1 0x04 00000b15: PUSH2 0x3807 00000b18: JUMP 00000b19: JUMPDEST 00000b1a: PUSH2 0x271f 00000b1d: JUMP 00000b1e: JUMPDEST 00000b1f: CALLVALUE 00000b20: DUP1 00000b21: ISZERO 00000b22: PUSH2 0x0b29 00000b25: JUMPI 00000b26: PUSH0 00000b27: DUP1 00000b28: REVERT 00000b29: JUMPDEST 00000b2a: POP 00000b2b: PUSH2 0x039e 00000b2e: PUSH2 0x0b38 00000b31: CALLDATASIZE 00000b32: PUSH1 0x04 00000b34: PUSH2 0x3e18 00000b37: JUMP 00000b38: JUMPDEST 00000b39: PUSH2 0x2828 00000b3c: JUMP 00000b3d: JUMPDEST 00000b3e: CALLVALUE 00000b3f: DUP1 00000b40: ISZERO 00000b41: PUSH2 0x0b48 00000b44: JUMPI 00000b45: PUSH0 00000b46: DUP1 00000b47: REVERT 00000b48: JUMPDEST 00000b49: POP 00000b4a: PUSH2 0x03b4 00000b4d: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000 00000b6e: DUP2 00000b6f: JUMP 00000b70: JUMPDEST 00000b71: CALLVALUE 00000b72: DUP1 00000b73: ISZERO 00000b74: PUSH2 0x0b7b 00000b77: JUMPI 00000b78: PUSH0 00000b79: DUP1 00000b7a: REVERT 00000b7b: JUMPDEST 00000b7c: POP 00000b7d: PUSH2 0x039e 00000b80: PUSH2 0x0b8a 00000b83: CALLDATASIZE 00000b84: PUSH1 0x04 00000b86: PUSH2 0x3e64 00000b89: JUMP 00000b8a: JUMPDEST 00000b8b: PUSH2 0x29a8 00000b8e: JUMP 00000b8f: JUMPDEST 00000b90: CALLVALUE 00000b91: DUP1 00000b92: ISZERO 00000b93: PUSH2 0x0b9a 00000b96: JUMPI 00000b97: PUSH0 00000b98: DUP1 00000b99: REVERT 00000b9a: JUMPDEST 00000b9b: POP 00000b9c: PUSH2 0x0c21 00000b9f: PUSH1 0x40 00000ba1: DUP1 00000ba2: MLOAD 00000ba3: PUSH1 0xc0 00000ba5: DUP2 00000ba6: ADD 00000ba7: DUP3 00000ba8: MSTORE 00000ba9: PUSH0 00000baa: DUP1 00000bab: DUP3 00000bac: MSTORE 00000bad: PUSH1 0x20 00000baf: DUP3 00000bb0: ADD 00000bb1: DUP2 00000bb2: SWAP1 00000bb3: MSTORE 00000bb4: SWAP2 00000bb5: DUP2 00000bb6: ADD 00000bb7: DUP3 00000bb8: SWAP1 00000bb9: MSTORE 00000bba: PUSH1 0x60 00000bbc: DUP2 00000bbd: ADD 00000bbe: DUP3 00000bbf: SWAP1 00000bc0: MSTORE 00000bc1: PUSH1 0x80 00000bc3: DUP2 00000bc4: ADD 00000bc5: DUP3 00000bc6: SWAP1 00000bc7: MSTORE 00000bc8: PUSH1 0xa0 00000bca: DUP2 00000bcb: ADD 00000bcc: SWAP2 00000bcd: SWAP1 00000bce: SWAP2 00000bcf: MSTORE 00000bd0: POP 00000bd1: PUSH1 0x40 00000bd3: DUP1 00000bd4: MLOAD 00000bd5: PUSH1 0xc0 00000bd7: DUP2 00000bd8: ADD 00000bd9: DUP3 00000bda: MSTORE 00000bdb: PUSH1 0x3e 00000bdd: SLOAD 00000bde: PUSH1 0x01 00000be0: PUSH1 0x01 00000be2: PUSH1 0xa0 00000be4: SHL 00000be5: SUB 00000be6: SWAP1 00000be7: DUP2 00000be8: AND 00000be9: DUP3 00000bea: MSTORE 00000beb: PUSH1 0x3f 00000bed: SLOAD 00000bee: DUP2 00000bef: AND 00000bf0: PUSH1 0x20 00000bf2: DUP4 00000bf3: ADD 00000bf4: MSTORE 00000bf5: DUP3 00000bf6: SLOAD 00000bf7: DUP2 00000bf8: AND 00000bf9: SWAP3 00000bfa: DUP3 00000bfb: ADD 00000bfc: SWAP3 00000bfd: SWAP1 00000bfe: SWAP3 00000bff: MSTORE 00000c00: PUSH1 0x41 00000c02: SLOAD 00000c03: DUP3 00000c04: AND 00000c05: PUSH1 0x60 00000c07: DUP3 00000c08: ADD 00000c09: MSTORE 00000c0a: PUSH1 0x42 00000c0c: SLOAD 00000c0d: DUP3 00000c0e: AND 00000c0f: PUSH1 0x80 00000c11: DUP3 00000c12: ADD 00000c13: MSTORE 00000c14: PUSH1 0x43 00000c16: SLOAD 00000c17: SWAP1 00000c18: SWAP2 00000c19: AND 00000c1a: PUSH1 0xa0 00000c1c: DUP3 00000c1d: ADD 00000c1e: MSTORE 00000c1f: SWAP1 00000c20: JUMP 00000c21: JUMPDEST 00000c22: PUSH1 0x40 00000c24: MLOAD 00000c25: PUSH2 0x03be 00000c28: SWAP2 00000c29: SWAP1 00000c2a: DUP2 00000c2b: MLOAD 00000c2c: PUSH1 0x01 00000c2e: PUSH1 0x01 00000c30: PUSH1 0xa0 00000c32: SHL 00000c33: SUB 00000c34: SWAP1 00000c35: DUP2 00000c36: AND 00000c37: DUP3 00000c38: MSTORE 00000c39: PUSH1 0x20 00000c3b: DUP1 00000c3c: DUP5 00000c3d: ADD 00000c3e: MLOAD 00000c3f: DUP3 00000c40: AND 00000c41: SWAP1 00000c42: DUP4 00000c43: ADD 00000c44: MSTORE 00000c45: PUSH1 0x40 00000c47: DUP1 00000c48: DUP5 00000c49: ADD 00000c4a: MLOAD 00000c4b: DUP3 00000c4c: AND 00000c4d: SWAP1 00000c4e: DUP4 00000c4f: ADD 00000c50: MSTORE 00000c51: PUSH1 0x60 00000c53: DUP1 00000c54: DUP5 00000c55: ADD 00000c56: MLOAD 00000c57: DUP3 00000c58: AND 00000c59: SWAP1 00000c5a: DUP4 00000c5b: ADD 00000c5c: MSTORE 00000c5d: PUSH1 0x80 00000c5f: DUP1 00000c60: DUP5 00000c61: ADD 00000c62: MLOAD 00000c63: DUP3 00000c64: AND 00000c65: SWAP1 00000c66: DUP4 00000c67: ADD 00000c68: MSTORE 00000c69: PUSH1 0xa0 00000c6b: SWAP3 00000c6c: DUP4 00000c6d: ADD 00000c6e: MLOAD 00000c6f: AND 00000c70: SWAP2 00000c71: DUP2 00000c72: ADD 00000c73: SWAP2 00000c74: SWAP1 00000c75: SWAP2 00000c76: MSTORE 00000c77: PUSH1 0xc0 00000c79: ADD 00000c7a: SWAP1 00000c7b: JUMP 00000c7c: JUMPDEST 00000c7d: CALLVALUE 00000c7e: DUP1 00000c7f: ISZERO 00000c80: PUSH2 0x0c87 00000c83: JUMPI 00000c84: PUSH0 00000c85: DUP1 00000c86: REVERT 00000c87: JUMPDEST 00000c88: POP 00000c89: PUSH2 0x0c9b 00000c8c: PUSH2 0x0c96 00000c8f: CALLDATASIZE 00000c90: PUSH1 0x04 00000c92: PUSH2 0x3807 00000c95: JUMP 00000c96: JUMPDEST 00000c97: PUSH2 0x2a7b 00000c9a: JUMP 00000c9b: JUMPDEST 00000c9c: PUSH1 0x40 00000c9e: MLOAD 00000c9f: PUSH2 0x03be 00000ca2: SWAP2 00000ca3: SWAP1 00000ca4: PUSH2 0x3e9a 00000ca7: JUMP 00000ca8: JUMPDEST 00000ca9: PUSH0 00000caa: DUP1 00000cab: MLOAD 00000cac: PUSH1 0x20 00000cae: PUSH2 0x466e 00000cb1: DUP4 00000cb2: CODECOPY 00000cb3: DUP2 00000cb4: MLOAD 00000cb5: SWAP2 00000cb6: MSTORE 00000cb7: PUSH2 0x0cbf 00000cba: DUP2 00000cbb: PUSH2 0x2b12 00000cbe: JUMP 00000cbf: JUMPDEST 00000cc0: PUSH1 0x40 00000cc2: MLOAD 00000cc3: PUSH4 0x36d16935 00000cc8: PUSH1 0xe2 00000cca: SHL 00000ccb: DUP2 00000ccc: MSTORE 00000ccd: PUSH1 0x32 00000ccf: PUSH1 0x04 00000cd1: DUP3 00000cd2: ADD 00000cd3: MSTORE 00000cd4: PUSH20 0x2b827dd0e75e25b9d5c03424d88cd2709c62ed21 00000ce9: SWAP1 00000cea: PUSH4 0xdb45a4d4 00000cef: SWAP1 00000cf0: PUSH1 0x24 00000cf2: ADD 00000cf3: JUMPDEST 00000cf4: PUSH0 00000cf5: PUSH1 0x40 00000cf7: MLOAD 00000cf8: DUP1 00000cf9: DUP4 00000cfa: SUB 00000cfb: DUP2 00000cfc: DUP7 00000cfd: DUP1 00000cfe: EXTCODESIZE 00000cff: ISZERO 00000d00: DUP1 00000d01: ISZERO 00000d02: PUSH2 0x0d09 00000d05: JUMPI 00000d06: PUSH0 00000d07: DUP1 00000d08: REVERT 00000d09: JUMPDEST 00000d0a: POP 00000d0b: GAS 00000d0c: DELEGATECALL 00000d0d: ISZERO 00000d0e: DUP1 00000d0f: ISZERO 00000d10: PUSH2 0x0d1b 00000d13: JUMPI 00000d14: RETURNDATASIZE 00000d15: PUSH0 00000d16: DUP1 00000d17: RETURNDATACOPY 00000d18: RETURNDATASIZE 00000d19: PUSH0 00000d1a: REVERT 00000d1b: JUMPDEST 00000d1c: POP 00000d1d: POP 00000d1e: POP 00000d1f: POP 00000d20: POP 00000d21: JUMP 00000d22: JUMPDEST 00000d23: PUSH1 0x40 00000d25: MLOAD 00000d26: PUSH3 0x844991 00000d2a: PUSH1 0xe8 00000d2c: SHL 00000d2d: DUP2 00000d2e: MSTORE 00000d2f: PUSH1 0x44 00000d31: PUSH1 0x04 00000d33: DUP3 00000d34: ADD 00000d35: MSTORE 00000d36: PUSH0 00000d37: SWAP1 00000d38: PUSH20 0x7111c8bc4d214f88823ec06bbed120ddce69f75a 00000d4d: SWAP1 00000d4e: PUSH4 0x84499100 00000d53: SWAP1 00000d54: PUSH1 0x24 00000d56: ADD 00000d57: JUMPDEST 00000d58: PUSH1 0x20 00000d5a: PUSH1 0x40 00000d5c: MLOAD 00000d5d: DUP1 00000d5e: DUP4 00000d5f: SUB 00000d60: DUP2 00000d61: DUP7 00000d62: GAS 00000d63: DELEGATECALL 00000d64: ISZERO 00000d65: DUP1 00000d66: ISZERO 00000d67: PUSH2 0x0d72 00000d6a: JUMPI 00000d6b: RETURNDATASIZE 00000d6c: PUSH0 00000d6d: DUP1 00000d6e: RETURNDATACOPY 00000d6f: RETURNDATASIZE 00000d70: PUSH0 00000d71: REVERT 00000d72: JUMPDEST 00000d73: POP 00000d74: POP 00000d75: POP 00000d76: POP 00000d77: PUSH1 0x40 00000d79: MLOAD 00000d7a: RETURNDATASIZE 00000d7b: PUSH1 0x1f 00000d7d: NOT 00000d7e: PUSH1 0x1f 00000d80: DUP3 00000d81: ADD 00000d82: AND 00000d83: DUP3 00000d84: ADD 00000d85: DUP1 00000d86: PUSH1 0x40 00000d88: MSTORE 00000d89: POP 00000d8a: DUP2 00000d8b: ADD 00000d8c: SWAP1 00000d8d: PUSH2 0x0d96 00000d90: SWAP2 00000d91: SWAP1 00000d92: PUSH2 0x3eac 00000d95: JUMP 00000d96: JUMPDEST 00000d97: SWAP1 00000d98: POP 00000d99: SWAP1 00000d9a: JUMP 00000d9b: JUMPDEST 00000d9c: PUSH0 00000d9d: PUSH1 0x01 00000d9f: PUSH1 0x01 00000da1: PUSH1 0xe0 00000da3: SHL 00000da4: SUB 00000da5: NOT 00000da6: DUP3 00000da7: AND 00000da8: PUSH4 0x18a4c3c3 00000dad: PUSH1 0xe1 00000daf: SHL 00000db0: EQ 00000db1: DUP1 00000db2: PUSH2 0x0dbf 00000db5: JUMPI 00000db6: POP 00000db7: PUSH2 0x0dbf 00000dba: DUP3 00000dbb: PUSH2 0x2b1c 00000dbe: JUMP 00000dbf: JUMPDEST 00000dc0: SWAP3 00000dc1: SWAP2 00000dc2: POP 00000dc3: POP 00000dc4: JUMP 00000dc5: JUMPDEST 00000dc6: PUSH0 00000dc7: DUP1 00000dc8: MLOAD 00000dc9: PUSH1 0x20 00000dcb: PUSH2 0x466e 00000dce: DUP4 00000dcf: CODECOPY 00000dd0: DUP2 00000dd1: MLOAD 00000dd2: SWAP2 00000dd3: MSTORE 00000dd4: PUSH2 0x0ddc 00000dd7: DUP2 00000dd8: PUSH2 0x2b12 00000ddb: JUMP 00000ddc: JUMPDEST 00000ddd: PUSH1 0x40 00000ddf: MLOAD 00000de0: PUSH4 0xf43b8bd3 00000de5: PUSH1 0xe0 00000de7: SHL 00000de8: DUP2 00000de9: MSTORE 00000dea: PUSH20 0x2b827dd0e75e25b9d5c03424d88cd2709c62ed21 00000dff: SWAP1 00000e00: PUSH4 0xf43b8bd3 00000e05: SWAP1 00000e06: PUSH2 0x0e1b 00000e09: SWAP1 00000e0a: PUSH1 0x4b 00000e0c: SWAP1 00000e0d: PUSH1 0x4c 00000e0f: SWAP1 00000e10: DUP9 00000e11: SWAP1 00000e12: DUP9 00000e13: SWAP1 00000e14: PUSH1 0x04 00000e16: ADD 00000e17: PUSH2 0x3ec3 00000e1a: JUMP 00000e1b: JUMPDEST 00000e1c: PUSH0 00000e1d: PUSH1 0x40 00000e1f: MLOAD 00000e20: DUP1 00000e21: DUP4 00000e22: SUB 00000e23: DUP2 00000e24: DUP7 00000e25: DUP1 00000e26: EXTCODESIZE 00000e27: ISZERO 00000e28: DUP1 00000e29: ISZERO 00000e2a: PUSH2 0x0e31 00000e2d: JUMPI 00000e2e: PUSH0 00000e2f: DUP1 00000e30: REVERT 00000e31: JUMPDEST 00000e32: POP 00000e33: GAS 00000e34: DELEGATECALL 00000e35: ISZERO 00000e36: DUP1 00000e37: ISZERO 00000e38: PUSH2 0x0e43 00000e3b: JUMPI 00000e3c: RETURNDATASIZE 00000e3d: PUSH0 00000e3e: DUP1 00000e3f: RETURNDATACOPY 00000e40: RETURNDATASIZE 00000e41: PUSH0 00000e42: REVERT 00000e43: JUMPDEST 00000e44: POP 00000e45: POP 00000e46: POP 00000e47: POP 00000e48: POP 00000e49: POP 00000e4a: POP 00000e4b: JUMP 00000e4c: JUMPDEST 00000e4d: PUSH0 00000e4e: PUSH2 0x0e56 00000e51: DUP2 00000e52: PUSH2 0x2b12 00000e55: JUMP 00000e56: JUMPDEST 00000e57: PUSH2 0x0e5e 00000e5a: PUSH2 0x2b50 00000e5d: JUMP 00000e5e: JUMPDEST 00000e5f: POP 00000e60: JUMP 00000e61: JUMPDEST 00000e62: PUSH2 0x0e69 00000e65: PUSH2 0x2b5a 00000e68: JUMP 00000e69: JUMPDEST 00000e6a: PUSH32 0xfc8737ab85eb45125971625a9ebdb75cc78e01d5c1fa80c4c6e5203f47bc4fab 00000e8b: PUSH2 0x0e93 00000e8e: DUP2 00000e8f: PUSH2 0x2b12 00000e92: JUMP 00000e93: JUMPDEST 00000e94: PUSH20 0x9a4d116eda832bbbe6671d1a2f7bba58016787ac 00000ea9: PUSH4 0x6cd37b1a 00000eae: PUSH1 0x32 00000eb0: PUSH1 0x3e 00000eb2: PUSH1 0x48 00000eb4: PUSH1 0x4a 00000eb6: DUP16 00000eb7: DUP16 00000eb8: DUP16 00000eb9: DUP16 00000eba: DUP16 00000ebb: DUP16 00000ebc: DUP16 00000ebd: DUP16 00000ebe: DUP16 00000ebf: PUSH32 0x00000000000000000000000000000000219ab540356cbb839cbe05303d7705fa 00000ee0: PUSH1 0x40 00000ee2: MLOAD 00000ee3: DUP16 00000ee4: PUSH4 0xffffffff 00000ee9: AND 00000eea: PUSH1 0xe0 00000eec: SHL 00000eed: DUP2 00000eee: MSTORE 00000eef: PUSH1 0x04 00000ef1: ADD 00000ef2: PUSH2 0x0f08 00000ef5: SWAP15 00000ef6: SWAP14 00000ef7: SWAP13 00000ef8: SWAP12 00000ef9: SWAP11 00000efa: SWAP10 00000efb: SWAP9 00000efc: SWAP8 00000efd: SWAP7 00000efe: SWAP6 00000eff: SWAP5 00000f00: SWAP4 00000f01: SWAP3 00000f02: SWAP2 00000f03: SWAP1 00000f04: PUSH2 0x3f75 00000f07: JUMP 00000f08: JUMPDEST 00000f09: PUSH0 00000f0a: PUSH1 0x40 00000f0c: MLOAD 00000f0d: DUP1 00000f0e: DUP4 00000f0f: SUB 00000f10: DUP2 00000f11: DUP7 00000f12: DUP1 00000f13: EXTCODESIZE 00000f14: ISZERO 00000f15: DUP1 00000f16: ISZERO 00000f17: PUSH2 0x0f1e 00000f1a: JUMPI 00000f1b: PUSH0 00000f1c: DUP1 00000f1d: REVERT 00000f1e: JUMPDEST 00000f1f: POP 00000f20: GAS 00000f21: DELEGATECALL 00000f22: ISZERO 00000f23: DUP1 00000f24: ISZERO 00000f25: PUSH2 0x0f30 00000f28: JUMPI 00000f29: RETURNDATASIZE 00000f2a: PUSH0 00000f2b: DUP1 00000f2c: RETURNDATACOPY 00000f2d: RETURNDATASIZE 00000f2e: PUSH0 00000f2f: REVERT 00000f30: JUMPDEST 00000f31: POP 00000f32: POP 00000f33: POP 00000f34: POP 00000f35: POP 00000f36: PUSH2 0x0f4b 00000f39: PUSH1 0x01 00000f3b: PUSH0 00000f3c: DUP1 00000f3d: MLOAD 00000f3e: PUSH1 0x20 00000f40: PUSH2 0x46ce 00000f43: DUP4 00000f44: CODECOPY 00000f45: DUP2 00000f46: MLOAD 00000f47: SWAP2 00000f48: MSTORE 00000f49: SSTORE 00000f4a: JUMP 00000f4b: JUMPDEST 00000f4c: POP 00000f4d: POP 00000f4e: POP 00000f4f: POP 00000f50: POP 00000f51: POP 00000f52: POP 00000f53: POP 00000f54: POP 00000f55: JUMP 00000f56: JUMPDEST 00000f57: PUSH1 0x36 00000f59: SLOAD 00000f5a: PUSH0 00000f5b: NOT 00000f5c: ADD 00000f5d: PUSH2 0x0f79 00000f60: JUMPI 00000f61: PUSH1 0x40 00000f63: MLOAD 00000f64: PUSH4 0x8a4560db 00000f69: PUSH1 0xe0 00000f6b: SHL 00000f6c: DUP2 00000f6d: MSTORE 00000f6e: PUSH1 0x04 00000f70: ADD 00000f71: PUSH1 0x40 00000f73: MLOAD 00000f74: DUP1 00000f75: SWAP2 00000f76: SUB 00000f77: SWAP1 00000f78: REVERT 00000f79: JUMPDEST 00000f7a: PUSH0 00000f7b: DUP1 00000f7c: MLOAD 00000f7d: PUSH1 0x20 00000f7f: PUSH2 0x466e 00000f82: DUP4 00000f83: CODECOPY 00000f84: DUP2 00000f85: MLOAD 00000f86: SWAP2 00000f87: MSTORE 00000f88: PUSH2 0x0f90 00000f8b: DUP2 00000f8c: PUSH2 0x2b12 00000f8f: JUMP 00000f90: JUMPDEST 00000f91: PUSH1 0x40 00000f93: MLOAD 00000f94: PUSH4 0xcb190247 00000f99: PUSH1 0xe0 00000f9b: SHL 00000f9c: DUP2 00000f9d: MSTORE 00000f9e: PUSH20 0xf57727c6468b2e279f4574dd414547569e758105 00000fb3: SWAP1 00000fb4: PUSH4 0xcb190247 00000fb9: SWAP1 00000fba: PUSH2 0x0fd0 00000fbd: SWAP1 00000fbe: PUSH1 0x32 00000fc0: SWAP1 00000fc1: PUSH1 0x48 00000fc3: SWAP1 00000fc4: PUSH1 0x44 00000fc6: SWAP1 00000fc7: DUP9 00000fc8: SWAP1 00000fc9: PUSH1 0x04 00000fcb: ADD 00000fcc: PUSH2 0x4005 00000fcf: JUMP 00000fd0: JUMPDEST 00000fd1: PUSH0 00000fd2: PUSH1 0x40 00000fd4: MLOAD 00000fd5: DUP1 00000fd6: DUP4 00000fd7: SUB 00000fd8: DUP2 00000fd9: DUP7 00000fda: DUP1 00000fdb: EXTCODESIZE 00000fdc: ISZERO 00000fdd: DUP1 00000fde: ISZERO 00000fdf: PUSH2 0x0fe6 00000fe2: JUMPI 00000fe3: PUSH0 00000fe4: DUP1 00000fe5: REVERT 00000fe6: JUMPDEST 00000fe7: POP 00000fe8: GAS 00000fe9: DELEGATECALL 00000fea: ISZERO 00000feb: DUP1 00000fec: ISZERO 00000fed: PUSH2 0x0ff8 00000ff0: JUMPI 00000ff1: RETURNDATASIZE 00000ff2: PUSH0 00000ff3: DUP1 00000ff4: RETURNDATACOPY 00000ff5: RETURNDATASIZE 00000ff6: PUSH0 00000ff7: REVERT 00000ff8: JUMPDEST 00000ff9: POP 00000ffa: POP 00000ffb: POP 00000ffc: POP 00000ffd: POP 00000ffe: POP 00000fff: JUMP 00001000: JUMPDEST 00001001: PUSH0 00001002: SWAP1 00001003: DUP2 00001004: MSTORE 00001005: PUSH0 00001006: DUP1 00001007: MLOAD 00001008: PUSH1 0x20 0000100a: PUSH2 0x46ae 0000100d: DUP4 0000100e: CODECOPY 0000100f: DUP2 00001010: MLOAD 00001011: SWAP2 00001012: MSTORE 00001013: PUSH1 0x20 00001015: MSTORE 00001016: PUSH1 0x40 00001018: SWAP1 00001019: KECCAK256 0000101a: PUSH1 0x01 0000101c: ADD 0000101d: SLOAD 0000101e: SWAP1 0000101f: JUMP 00001020: JUMPDEST 00001021: PUSH1 0x40 00001023: MLOAD 00001024: PUSH3 0x844991 00001028: PUSH1 0xe8 0000102a: SHL 0000102b: DUP2 0000102c: MSTORE 0000102d: PUSH1 0x46 0000102f: PUSH1 0x04 00001031: DUP3 00001032: ADD 00001033: MSTORE 00001034: PUSH0 00001035: SWAP1 00001036: PUSH20 0x7111c8bc4d214f88823ec06bbed120ddce69f75a 0000104b: SWAP1 0000104c: PUSH4 0x84499100 00001051: SWAP1 00001052: PUSH1 0x24 00001054: ADD 00001055: PUSH2 0x0d57 00001058: JUMP 00001059: JUMPDEST 0000105a: DUP2 0000105b: PUSH2 0x1077 0000105e: JUMPI 0000105f: PUSH1 0x40 00001061: MLOAD 00001062: PUSH4 0x1fe1e13d 00001067: PUSH1 0xe1 00001069: SHL 0000106a: DUP2 0000106b: MSTORE 0000106c: PUSH1 0x04 0000106e: ADD 0000106f: PUSH1 0x40 00001071: MLOAD 00001072: DUP1 00001073: SWAP2 00001074: SUB 00001075: SWAP1 00001076: REVERT 00001077: JUMPDEST 00001078: PUSH2 0x1081 0000107b: DUP3 0000107c: DUP3 0000107d: PUSH2 0x2ba4 00001080: JUMP 00001081: JUMPDEST 00001082: POP 00001083: POP 00001084: JUMP 00001085: JUMPDEST 00001086: PUSH0 00001087: DUP1 00001088: MLOAD 00001089: PUSH1 0x20 0000108b: PUSH2 0x468e 0000108e: DUP4 0000108f: CODECOPY 00001090: DUP2 00001091: MLOAD 00001092: SWAP2 00001093: MSTORE 00001094: DUP3 00001095: ISZERO 00001096: DUP1 00001097: ISZERO 00001098: PUSH2 0x10b9 0000109b: JUMPI 0000109c: POP 0000109d: PUSH2 0x10a4 000010a0: PUSH2 0x1f4d 000010a3: JUMP 000010a4: JUMPDEST 000010a5: PUSH1 0x01 000010a7: PUSH1 0x01 000010a9: PUSH1 0xa0 000010ab: SHL 000010ac: SUB 000010ad: AND 000010ae: DUP3 000010af: PUSH1 0x01 000010b1: PUSH1 0x01 000010b3: PUSH1 0xa0 000010b5: SHL 000010b6: SUB 000010b7: AND 000010b8: EQ 000010b9: JUMPDEST 000010ba: ISZERO 000010bb: PUSH2 0x113d 000010be: JUMPI 000010bf: PUSH0 000010c0: DUP1 000010c1: PUSH2 0x10c8 000010c4: PUSH2 0x25ac 000010c7: JUMP 000010c8: JUMPDEST 000010c9: SWAP1 000010ca: SWAP3 000010cb: POP 000010cc: SWAP1 000010cd: POP 000010ce: PUSH1 0x01 000010d0: PUSH1 0x01 000010d2: PUSH1 0xa0 000010d4: SHL 000010d5: SUB 000010d6: DUP3 000010d7: AND 000010d8: ISZERO 000010d9: ISZERO 000010da: DUP1 000010db: PUSH2 0x10ea 000010de: JUMPI 000010df: POP 000010e0: PUSH6 0xffffffffffff 000010e7: DUP2 000010e8: AND 000010e9: ISZERO 000010ea: JUMPDEST 000010eb: DUP1 000010ec: PUSH2 0x10fd 000010ef: JUMPI 000010f0: POP 000010f1: TIMESTAMP 000010f2: PUSH6 0xffffffffffff 000010f9: DUP3 000010fa: AND 000010fb: LT 000010fc: ISZERO 000010fd: JUMPDEST 000010fe: ISZERO 000010ff: PUSH2 0x112a 00001102: JUMPI 00001103: PUSH1 0x40 00001105: MLOAD 00001106: PUSH4 0x19ca5ebb 0000110b: PUSH1 0xe0 0000110d: SHL 0000110e: DUP2 0000110f: MSTORE 00001110: PUSH6 0xffffffffffff 00001117: DUP3 00001118: AND 00001119: PUSH1 0x04 0000111b: DUP3 0000111c: ADD 0000111d: MSTORE 0000111e: PUSH1 0x24 00001120: ADD 00001121: JUMPDEST 00001122: PUSH1 0x40 00001124: MLOAD 00001125: DUP1 00001126: SWAP2 00001127: SUB 00001128: SWAP1 00001129: REVERT 0000112a: JUMPDEST 0000112b: POP 0000112c: POP 0000112d: DUP1 0000112e: SLOAD 0000112f: PUSH6 0xffffffffffff 00001136: PUSH1 0xa0 00001138: SHL 00001139: NOT 0000113a: AND 0000113b: DUP2 0000113c: SSTORE 0000113d: JUMPDEST 0000113e: PUSH2 0x1147 00001141: DUP4 00001142: DUP4 00001143: PUSH2 0x2bc6 00001146: JUMP 00001147: JUMPDEST 00001148: POP 00001149: POP 0000114a: POP 0000114b: JUMP 0000114c: JUMPDEST 0000114d: PUSH0 0000114e: DUP1 0000114f: PUSH1 0x02 00001151: PUSH1 0x32 00001153: PUSH1 0x0a 00001155: ADD 00001156: SLOAD 00001157: SUB 00001158: PUSH2 0x1174 0000115b: JUMPI 0000115c: PUSH1 0x40 0000115e: MLOAD 0000115f: PUSH4 0x13d0ff59 00001164: PUSH1 0xe3 00001166: SHL 00001167: DUP2 00001168: MSTORE 00001169: PUSH1 0x04 0000116b: ADD 0000116c: PUSH1 0x40 0000116e: MLOAD 0000116f: DUP1 00001170: SWAP2 00001171: SUB 00001172: SWAP1 00001173: REVERT 00001174: JUMPDEST 00001175: PUSH2 0x117c 00001178: PUSH2 0x2b5a 0000117b: JUMP 0000117c: JUMPDEST 0000117d: PUSH1 0x40 0000117f: DUP1 00001180: MLOAD 00001181: PUSH1 0xa0 00001183: DUP2 00001184: ADD 00001185: DUP3 00001186: MSTORE 00001187: DUP5 00001188: ISZERO 00001189: ISZERO 0000118a: DUP2 0000118b: MSTORE 0000118c: PUSH1 0x01 0000118e: PUSH1 0x01 00001190: PUSH1 0xa0 00001192: SHL 00001193: SUB 00001194: PUSH32 0x000000000000000000000000177d685384aa1ac5aba41b7e649f9fa0be717fdb 000011b5: DUP2 000011b6: AND 000011b7: PUSH1 0x20 000011b9: DUP4 000011ba: ADD 000011bb: SWAP1 000011bc: DUP2 000011bd: MSTORE 000011be: DUP8 000011bf: DUP3 000011c0: AND 000011c1: DUP4 000011c2: DUP6 000011c3: ADD 000011c4: SWAP1 000011c5: DUP2 000011c6: MSTORE 000011c7: PUSH32 0x000000000000000000000000000000000000000000000001bc16d674ec800000 000011e8: PUSH1 0x60 000011ea: DUP6 000011eb: ADD 000011ec: SWAP1 000011ed: DUP2 000011ee: MSTORE 000011ef: PUSH1 0x80 000011f1: DUP6 000011f2: ADD 000011f3: DUP12 000011f4: DUP2 000011f5: MSTORE 000011f6: SWAP6 000011f7: MLOAD 000011f8: PUSH4 0x696c3c45 000011fd: PUSH1 0xe1 000011ff: SHL 00001200: DUP2 00001201: MSTORE 00001202: PUSH1 0x4c 00001204: PUSH1 0x04 00001206: DUP3 00001207: ADD 00001208: MSTORE 00001209: PUSH1 0x32 0000120b: PUSH1 0x24 0000120d: DUP3 0000120e: ADD 0000120f: MSTORE 00001210: PUSH1 0x3e 00001212: PUSH1 0x44 00001214: DUP3 00001215: ADD 00001216: MSTORE 00001217: PUSH1 0x46 00001219: PUSH1 0x64 0000121b: DUP3 0000121c: ADD 0000121d: MSTORE 0000121e: PUSH1 0x49 00001220: PUSH1 0x84 00001222: DUP3 00001223: ADD 00001224: MSTORE 00001225: PUSH1 0x48 00001227: PUSH1 0xa4 00001229: DUP3 0000122a: ADD 0000122b: MSTORE 0000122c: SWAP5 0000122d: MLOAD 0000122e: ISZERO 0000122f: ISZERO 00001230: PUSH1 0xc4 00001232: DUP7 00001233: ADD 00001234: MSTORE 00001235: SWAP2 00001236: MLOAD 00001237: DUP4 00001238: AND 00001239: PUSH1 0xe4 0000123b: DUP6 0000123c: ADD 0000123d: MSTORE 0000123e: MLOAD 0000123f: SWAP1 00001240: SWAP2 00001241: AND 00001242: PUSH2 0x0104 00001245: DUP4 00001246: ADD 00001247: MSTORE 00001248: MLOAD 00001249: PUSH2 0x0124 0000124c: DUP3 0000124d: ADD 0000124e: MSTORE 0000124f: SWAP1 00001250: MLOAD 00001251: PUSH2 0x0144 00001254: DUP3 00001255: ADD 00001256: MSTORE 00001257: PUSH20 0x583c299ba5c6cad55fdd89a3534f14fe8b4c90d6 0000126c: SWAP1 0000126d: PUSH4 0xd2d8788a 00001272: SWAP1 00001273: PUSH2 0x0164 00001276: ADD 00001277: PUSH1 0x40 00001279: DUP1 0000127a: MLOAD 0000127b: DUP1 0000127c: DUP4 0000127d: SUB 0000127e: DUP2 0000127f: DUP7 00001280: GAS 00001281: DELEGATECALL 00001282: ISZERO 00001283: DUP1 00001284: ISZERO 00001285: PUSH2 0x1290 00001288: JUMPI 00001289: RETURNDATASIZE 0000128a: PUSH0 0000128b: DUP1 0000128c: RETURNDATACOPY 0000128d: RETURNDATASIZE 0000128e: PUSH0 0000128f: REVERT 00001290: JUMPDEST 00001291: POP 00001292: POP 00001293: POP 00001294: POP 00001295: PUSH1 0x40 00001297: MLOAD 00001298: RETURNDATASIZE 00001299: PUSH1 0x1f 0000129b: NOT 0000129c: PUSH1 0x1f 0000129e: DUP3 0000129f: ADD 000012a0: AND 000012a1: DUP3 000012a2: ADD 000012a3: DUP1 000012a4: PUSH1 0x40 000012a6: MSTORE 000012a7: POP 000012a8: DUP2 000012a9: ADD 000012aa: SWAP1 000012ab: PUSH2 0x12b4 000012ae: SWAP2 000012af: SWAP1 000012b0: PUSH2 0x40bf 000012b3: JUMP 000012b4: JUMPDEST 000012b5: SWAP1 000012b6: SWAP3 000012b7: POP 000012b8: SWAP1 000012b9: POP 000012ba: PUSH2 0x12cf 000012bd: PUSH1 0x01 000012bf: PUSH0 000012c0: DUP1 000012c1: MLOAD 000012c2: PUSH1 0x20 000012c4: PUSH2 0x46ce 000012c7: DUP4 000012c8: CODECOPY 000012c9: DUP2 000012ca: MLOAD 000012cb: SWAP2 000012cc: MSTORE 000012cd: SSTORE 000012ce: JUMP 000012cf: JUMPDEST 000012d0: SWAP4 000012d1: POP 000012d2: SWAP4 000012d3: SWAP2 000012d4: POP 000012d5: POP 000012d6: JUMP 000012d7: JUMPDEST 000012d8: PUSH1 0x3c 000012da: SLOAD 000012db: PUSH1 0x01 000012dd: NOT 000012de: ADD 000012df: PUSH2 0x12fb 000012e2: JUMPI 000012e3: PUSH1 0x40 000012e5: MLOAD 000012e6: PUSH4 0x13d0ff59 000012eb: PUSH1 0xe3 000012ed: SHL 000012ee: DUP2 000012ef: MSTORE 000012f0: PUSH1 0x04 000012f2: ADD 000012f3: PUSH1 0x40 000012f5: MLOAD 000012f6: DUP1 000012f7: SWAP2 000012f8: SUB 000012f9: SWAP1 000012fa: REVERT 000012fb: JUMPDEST 000012fc: PUSH2 0x1303 000012ff: PUSH2 0x2b5a 00001302: JUMP 00001303: JUMPDEST 00001304: PUSH1 0x40 00001306: MLOAD 00001307: PUSH4 0x8b6a4d9f 0000130c: PUSH1 0xe0 0000130e: SHL 0000130f: DUP2 00001310: MSTORE 00001311: PUSH20 0x583c299ba5c6cad55fdd89a3534f14fe8b4c90d6 00001326: SWAP1 00001327: PUSH4 0x8b6a4d9f 0000132c: SWAP1 0000132d: PUSH2 0x134e 00001330: SWAP1 00001331: PUSH1 0x48 00001333: SWAP1 00001334: PUSH1 0x49 00001336: SWAP1 00001337: PUSH1 0x32 00001339: SWAP1 0000133a: PUSH1 0x3e 0000133c: SWAP1 0000133d: DUP13 0000133e: SWAP1 0000133f: DUP13 00001340: SWAP1 00001341: DUP13 00001342: SWAP1 00001343: DUP13 00001344: SWAP1 00001345: DUP13 00001346: SWAP1 00001347: PUSH1 0x04 00001349: ADD 0000134a: PUSH2 0x4111 0000134d: JUMP 0000134e: JUMPDEST 0000134f: PUSH0 00001350: PUSH1 0x40 00001352: MLOAD 00001353: DUP1 00001354: DUP4 00001355: SUB 00001356: DUP2 00001357: DUP7 00001358: DUP1 00001359: EXTCODESIZE 0000135a: ISZERO 0000135b: DUP1 0000135c: ISZERO 0000135d: PUSH2 0x1364 00001360: JUMPI 00001361: PUSH0 00001362: DUP1 00001363: REVERT 00001364: JUMPDEST 00001365: POP 00001366: GAS 00001367: DELEGATECALL 00001368: ISZERO 00001369: DUP1 0000136a: ISZERO 0000136b: PUSH2 0x1376 0000136e: JUMPI 0000136f: RETURNDATASIZE 00001370: PUSH0 00001371: DUP1 00001372: RETURNDATACOPY 00001373: RETURNDATASIZE 00001374: PUSH0 00001375: REVERT 00001376: JUMPDEST 00001377: POP 00001378: POP 00001379: POP 0000137a: POP 0000137b: PUSH2 0x0d1b 0000137e: PUSH1 0x01 00001380: PUSH0 00001381: DUP1 00001382: MLOAD 00001383: PUSH1 0x20 00001385: PUSH2 0x46ce 00001388: DUP4 00001389: CODECOPY 0000138a: DUP2 0000138b: MLOAD 0000138c: SWAP2 0000138d: MSTORE 0000138e: SSTORE 0000138f: JUMP 00001390: JUMPDEST 00001391: PUSH0 00001392: DUP1 00001393: PUSH1 0x02 00001395: PUSH1 0x32 00001397: PUSH1 0x0a 00001399: ADD 0000139a: SLOAD 0000139b: SUB 0000139c: PUSH2 0x13b8 0000139f: JUMPI 000013a0: PUSH1 0x40 000013a2: MLOAD 000013a3: PUSH4 0x13d0ff59 000013a8: PUSH1 0xe3 000013aa: SHL 000013ab: DUP2 000013ac: MSTORE 000013ad: PUSH1 0x04 000013af: ADD 000013b0: PUSH1 0x40 000013b2: MLOAD 000013b3: DUP1 000013b4: SWAP2 000013b5: SUB 000013b6: SWAP1 000013b7: REVERT 000013b8: JUMPDEST 000013b9: PUSH2 0x13c0 000013bc: PUSH2 0x2b5a 000013bf: JUMP 000013c0: JUMPDEST 000013c1: PUSH1 0x40 000013c3: MLOAD 000013c4: PUSH4 0x03543815 000013c9: PUSH1 0xe5 000013cb: SHL 000013cc: DUP2 000013cd: MSTORE 000013ce: PUSH1 0x4c 000013d0: PUSH1 0x04 000013d2: DUP3 000013d3: ADD 000013d4: MSTORE 000013d5: PUSH1 0x3e 000013d7: PUSH1 0x24 000013d9: DUP3 000013da: ADD 000013db: MSTORE 000013dc: PUSH1 0x32 000013de: PUSH1 0x44 000013e0: DUP3 000013e1: ADD 000013e2: MSTORE 000013e3: PUSH1 0x64 000013e5: DUP2 000013e6: ADD 000013e7: DUP6 000013e8: SWAP1 000013e9: MSTORE 000013ea: PUSH1 0x01 000013ec: PUSH1 0x01 000013ee: PUSH1 0xa0 000013f0: SHL 000013f1: SUB 000013f2: DUP1 000013f3: DUP6 000013f4: AND 000013f5: PUSH1 0x84 000013f7: DUP4 000013f8: ADD 000013f9: MSTORE 000013fa: PUSH32 0x000000000000000000000000177d685384aa1ac5aba41b7e649f9fa0be717fdb 0000141b: AND 0000141c: PUSH1 0xa4 0000141e: DUP3 0000141f: ADD 00001420: MSTORE 00001421: PUSH20 0x583c299ba5c6cad55fdd89a3534f14fe8b4c90d6 00001436: SWAP1 00001437: PUSH4 0x6a8702a0 0000143c: SWAP1 0000143d: PUSH1 0xc4 0000143f: ADD 00001440: PUSH1 0x40 00001442: DUP1 00001443: MLOAD 00001444: DUP1 00001445: DUP4 00001446: SUB 00001447: DUP2 00001448: DUP7 00001449: GAS 0000144a: DELEGATECALL 0000144b: ISZERO 0000144c: DUP1 0000144d: ISZERO 0000144e: PUSH2 0x1459 00001451: JUMPI 00001452: RETURNDATASIZE 00001453: PUSH0 00001454: DUP1 00001455: RETURNDATACOPY 00001456: RETURNDATASIZE 00001457: PUSH0 00001458: REVERT 00001459: JUMPDEST 0000145a: POP 0000145b: POP 0000145c: POP 0000145d: POP 0000145e: PUSH1 0x40 00001460: MLOAD 00001461: RETURNDATASIZE 00001462: PUSH1 0x1f 00001464: NOT 00001465: PUSH1 0x1f 00001467: DUP3 00001468: ADD 00001469: AND 0000146a: DUP3 0000146b: ADD 0000146c: DUP1 0000146d: PUSH1 0x40 0000146f: MSTORE 00001470: POP 00001471: DUP2 00001472: ADD 00001473: SWAP1 00001474: PUSH2 0x147d 00001477: SWAP2 00001478: SWAP1 00001479: PUSH2 0x40bf 0000147c: JUMP 0000147d: JUMPDEST 0000147e: SWAP1 0000147f: SWAP3 00001480: POP 00001481: SWAP1 00001482: POP 00001483: PUSH2 0x1498 00001486: PUSH1 0x01 00001488: PUSH0 00001489: DUP1 0000148a: MLOAD 0000148b: PUSH1 0x20 0000148d: PUSH2 0x46ce 00001490: DUP4 00001491: CODECOPY 00001492: DUP2 00001493: MLOAD 00001494: SWAP2 00001495: MSTORE 00001496: SSTORE 00001497: JUMP 00001498: JUMPDEST 00001499: SWAP3 0000149a: POP 0000149b: SWAP3 0000149c: SWAP1 0000149d: POP 0000149e: JUMP 0000149f: JUMPDEST 000014a0: PUSH1 0x43 000014a2: SLOAD 000014a3: PUSH1 0x01 000014a5: PUSH1 0x01 000014a7: PUSH1 0xa0 000014a9: SHL 000014aa: SUB 000014ab: AND 000014ac: CALLER 000014ad: EQ 000014ae: PUSH2 0x14ca 000014b1: JUMPI 000014b2: PUSH1 0x40 000014b4: MLOAD 000014b5: PUSH4 0xb5674cfd 000014ba: PUSH1 0xe0 000014bc: SHL 000014bd: DUP2 000014be: MSTORE 000014bf: PUSH1 0x04 000014c1: ADD 000014c2: PUSH1 0x40 000014c4: MLOAD 000014c5: DUP1 000014c6: SWAP2 000014c7: SUB 000014c8: SWAP1 000014c9: REVERT 000014ca: JUMPDEST 000014cb: PUSH1 0x40 000014cd: MLOAD 000014ce: PUSH4 0x1075aca7 000014d3: PUSH1 0xe3 000014d5: SHL 000014d6: DUP2 000014d7: MSTORE 000014d8: PUSH20 0x583c299ba5c6cad55fdd89a3534f14fe8b4c90d6 000014ed: SWAP1 000014ee: PUSH4 0x83ad6538 000014f3: SWAP1 000014f4: PUSH2 0x0fd0 000014f7: SWAP1 000014f8: PUSH1 0x48 000014fa: SWAP1 000014fb: PUSH1 0x32 000014fd: SWAP1 000014fe: DUP8 000014ff: SWAP1 00001500: DUP8 00001501: SWAP1 00001502: CALLVALUE 00001503: SWAP1 00001504: PUSH32 0x000000000000000000000000000000000000000000000001bc16d674ec800000 00001525: SWAP1 00001526: PUSH1 0x04 00001528: ADD 00001529: PUSH2 0x416e 0000152c: JUMP 0000152d: JUMPDEST 0000152e: PUSH1 0x36 00001530: SLOAD 00001531: PUSH0 00001532: NOT 00001533: ADD 00001534: PUSH2 0x1550 00001537: JUMPI 00001538: PUSH1 0x40 0000153a: MLOAD 0000153b: PUSH4 0x8a4560db 00001540: PUSH1 0xe0 00001542: SHL 00001543: DUP2 00001544: MSTORE 00001545: PUSH1 0x04 00001547: ADD 00001548: PUSH1 0x40 0000154a: MLOAD 0000154b: DUP1 0000154c: SWAP2 0000154d: SUB 0000154e: SWAP1 0000154f: REVERT 00001550: JUMPDEST 00001551: PUSH0 00001552: DUP1 00001553: MLOAD 00001554: PUSH1 0x20 00001556: PUSH2 0x466e 00001559: DUP4 0000155a: CODECOPY 0000155b: DUP2 0000155c: MLOAD 0000155d: SWAP2 0000155e: MSTORE 0000155f: PUSH2 0x1567 00001562: DUP2 00001563: PUSH2 0x2b12 00001566: JUMP 00001567: JUMPDEST 00001568: PUSH1 0x40 0000156a: MLOAD 0000156b: PUSH4 0x1e9708a5 00001570: PUSH1 0xe3 00001572: SHL 00001573: DUP2 00001574: MSTORE 00001575: PUSH1 0x44 00001577: PUSH1 0x04 00001579: DUP3 0000157a: ADD 0000157b: MSTORE 0000157c: PUSH20 0x7111c8bc4d214f88823ec06bbed120ddce69f75a 00001591: SWAP1 00001592: PUSH4 0xf4b84528 00001597: SWAP1 00001598: PUSH1 0x24 0000159a: ADD 0000159b: PUSH2 0x0cf3 0000159e: JUMP 0000159f: JUMPDEST 000015a0: PUSH1 0x40 000015a2: MLOAD 000015a3: PUSH4 0x446ad5c9 000015a8: PUSH1 0xe1 000015aa: SHL 000015ab: DUP2 000015ac: MSTORE 000015ad: PUSH1 0x60 000015af: SWAP1 000015b0: DUP2 000015b1: SWAP1 000015b2: DUP2 000015b3: SWAP1 000015b4: PUSH0 000015b5: SWAP1 000015b6: DUP2 000015b7: SWAP1 000015b8: PUSH20 0x7111c8bc4d214f88823ec06bbed120ddce69f75a 000015cd: SWAP1 000015ce: PUSH4 0x88d5ab92 000015d3: SWAP1 000015d4: PUSH2 0x15e7 000015d7: SWAP1 000015d8: PUSH1 0x44 000015da: SWAP1 000015db: PUSH1 0x3d 000015dd: SWAP1 000015de: DUP12 000015df: SWAP1 000015e0: PUSH1 0x04 000015e2: ADD 000015e3: PUSH2 0x41da 000015e6: JUMP 000015e7: JUMPDEST 000015e8: PUSH0 000015e9: PUSH1 0x40 000015eb: MLOAD 000015ec: DUP1 000015ed: DUP4 000015ee: SUB 000015ef: DUP2 000015f0: DUP7 000015f1: GAS 000015f2: DELEGATECALL 000015f3: ISZERO 000015f4: DUP1 000015f5: ISZERO 000015f6: PUSH2 0x1601 000015f9: JUMPI 000015fa: RETURNDATASIZE 000015fb: PUSH0 000015fc: DUP1 000015fd: RETURNDATACOPY 000015fe: RETURNDATASIZE 000015ff: PUSH0 00001600: REVERT 00001601: JUMPDEST 00001602: POP 00001603: POP 00001604: POP 00001605: POP 00001606: PUSH1 0x40 00001608: MLOAD 00001609: RETURNDATASIZE 0000160a: PUSH0 0000160b: DUP3 0000160c: RETURNDATACOPY 0000160d: PUSH1 0x1f 0000160f: RETURNDATASIZE 00001610: SWAP1 00001611: DUP2 00001612: ADD 00001613: PUSH1 0x1f 00001615: NOT 00001616: AND 00001617: DUP3 00001618: ADD 00001619: PUSH1 0x40 0000161b: MSTORE 0000161c: PUSH2 0x1628 0000161f: SWAP2 00001620: SWAP1 00001621: DUP2 00001622: ADD 00001623: SWAP1 00001624: PUSH2 0x42da 00001627: JUMP 00001628: JUMPDEST 00001629: SWAP4 0000162a: SWAP11 0000162b: SWAP3 0000162c: SWAP10 0000162d: POP 0000162e: SWAP1 0000162f: SWAP8 00001630: POP 00001631: SWAP6 00001632: POP 00001633: SWAP1 00001634: SWAP4 00001635: POP 00001636: SWAP2 00001637: POP 00001638: POP 00001639: JUMP 0000163a: JUMPDEST 0000163b: PUSH2 0x1693 0000163e: PUSH1 0x40 00001640: MLOAD 00001641: DUP1 00001642: PUSH2 0x0180 00001645: ADD 00001646: PUSH1 0x40 00001648: MSTORE 00001649: DUP1 0000164a: PUSH0 0000164b: DUP2 0000164c: MSTORE 0000164d: PUSH1 0x20 0000164f: ADD 00001650: PUSH0 00001651: DUP2 00001652: MSTORE 00001653: PUSH1 0x20 00001655: ADD 00001656: PUSH0 00001657: DUP2 00001658: MSTORE 00001659: PUSH1 0x20 0000165b: ADD 0000165c: PUSH0 0000165d: DUP2 0000165e: MSTORE 0000165f: PUSH1 0x20 00001661: ADD 00001662: PUSH0 00001663: DUP2 00001664: MSTORE 00001665: PUSH1 0x20 00001667: ADD 00001668: PUSH0 00001669: DUP2 0000166a: MSTORE 0000166b: PUSH1 0x20 0000166d: ADD 0000166e: PUSH0 0000166f: DUP2 00001670: MSTORE 00001671: PUSH1 0x20 00001673: ADD 00001674: PUSH0 00001675: DUP2 00001676: MSTORE 00001677: PUSH1 0x20 00001679: ADD 0000167a: PUSH0 0000167b: DUP2 0000167c: MSTORE 0000167d: PUSH1 0x20 0000167f: ADD 00001680: PUSH0 00001681: DUP2 00001682: MSTORE 00001683: PUSH1 0x20 00001685: ADD 00001686: PUSH0 00001687: DUP2 00001688: MSTORE 00001689: PUSH1 0x20 0000168b: ADD 0000168c: PUSH1 0x60 0000168e: DUP2 0000168f: MSTORE 00001690: POP 00001691: SWAP1 00001692: JUMP 00001693: JUMPDEST 00001694: PUSH1 0x40 00001696: DUP1 00001697: MLOAD 00001698: PUSH2 0x0180 0000169b: DUP2 0000169c: ADD 0000169d: DUP3 0000169e: MSTORE 0000169f: PUSH1 0x32 000016a1: DUP1 000016a2: SLOAD 000016a3: DUP3 000016a4: MSTORE 000016a5: PUSH1 0x33 000016a7: SLOAD 000016a8: PUSH1 0x20 000016aa: DUP4 000016ab: ADD 000016ac: MSTORE 000016ad: PUSH1 0x34 000016af: SLOAD 000016b0: SWAP3 000016b1: DUP3 000016b2: ADD 000016b3: SWAP3 000016b4: SWAP1 000016b5: SWAP3 000016b6: MSTORE 000016b7: PUSH1 0x35 000016b9: SLOAD 000016ba: PUSH1 0x60 000016bc: DUP3 000016bd: ADD 000016be: MSTORE 000016bf: PUSH1 0x36 000016c1: SLOAD 000016c2: PUSH1 0x80 000016c4: DUP3 000016c5: ADD 000016c6: MSTORE 000016c7: PUSH1 0x37 000016c9: SLOAD 000016ca: PUSH1 0xa0 000016cc: DUP3 000016cd: ADD 000016ce: MSTORE 000016cf: PUSH1 0x38 000016d1: SLOAD 000016d2: PUSH1 0xc0 000016d4: DUP3 000016d5: ADD 000016d6: MSTORE 000016d7: PUSH1 0x39 000016d9: SLOAD 000016da: PUSH1 0xe0 000016dc: DUP3 000016dd: ADD 000016de: MSTORE 000016df: PUSH1 0x3a 000016e1: SLOAD 000016e2: PUSH2 0x0100 000016e5: DUP3 000016e6: ADD 000016e7: MSTORE 000016e8: PUSH1 0x3b 000016ea: SLOAD 000016eb: PUSH2 0x0120 000016ee: DUP3 000016ef: ADD 000016f0: MSTORE 000016f1: PUSH1 0x3c 000016f3: SLOAD 000016f4: PUSH2 0x0140 000016f7: DUP3 000016f8: ADD 000016f9: MSTORE 000016fa: PUSH1 0x3d 000016fc: DUP1 000016fd: SLOAD 000016fe: SWAP2 000016ff: SWAP3 00001700: SWAP2 00001701: PUSH2 0x0160 00001704: DUP5 00001705: ADD 00001706: SWAP2 00001707: SWAP1 00001708: PUSH2 0x1710 0000170b: SWAP1 0000170c: PUSH2 0x41a2 0000170f: JUMP 00001710: JUMPDEST 00001711: DUP1 00001712: PUSH1 0x1f 00001714: ADD 00001715: PUSH1 0x20 00001717: DUP1 00001718: SWAP2 00001719: DIV 0000171a: MUL 0000171b: PUSH1 0x20 0000171d: ADD 0000171e: PUSH1 0x40 00001720: MLOAD 00001721: SWAP1 00001722: DUP2 00001723: ADD 00001724: PUSH1 0x40 00001726: MSTORE 00001727: DUP1 00001728: SWAP3 00001729: SWAP2 0000172a: SWAP1 0000172b: DUP2 0000172c: DUP2 0000172d: MSTORE 0000172e: PUSH1 0x20 00001730: ADD 00001731: DUP3 00001732: DUP1 00001733: SLOAD 00001734: PUSH2 0x173c 00001737: SWAP1 00001738: PUSH2 0x41a2 0000173b: JUMP 0000173c: JUMPDEST 0000173d: DUP1 0000173e: ISZERO 0000173f: PUSH2 0x1787 00001742: JUMPI 00001743: DUP1 00001744: PUSH1 0x1f 00001746: LT 00001747: PUSH2 0x175e 0000174a: JUMPI 0000174b: PUSH2 0x0100 0000174e: DUP1 0000174f: DUP4 00001750: SLOAD 00001751: DIV 00001752: MUL 00001753: DUP4 00001754: MSTORE 00001755: SWAP2 00001756: PUSH1 0x20 00001758: ADD 00001759: SWAP2 0000175a: PUSH2 0x1787 0000175d: JUMP 0000175e: JUMPDEST 0000175f: DUP3 00001760: ADD 00001761: SWAP2 00001762: SWAP1 00001763: PUSH0 00001764: MSTORE 00001765: PUSH1 0x20 00001767: PUSH0 00001768: KECCAK256 00001769: SWAP1 0000176a: JUMPDEST 0000176b: DUP2 0000176c: SLOAD 0000176d: DUP2 0000176e: MSTORE 0000176f: SWAP1 00001770: PUSH1 0x01 00001772: ADD 00001773: SWAP1 00001774: PUSH1 0x20 00001776: ADD 00001777: DUP1 00001778: DUP4 00001779: GT 0000177a: PUSH2 0x176a 0000177d: JUMPI 0000177e: DUP3 0000177f: SWAP1 00001780: SUB 00001781: PUSH1 0x1f 00001783: AND 00001784: DUP3 00001785: ADD 00001786: SWAP2 00001787: JUMPDEST 00001788: POP 00001789: POP 0000178a: POP 0000178b: POP 0000178c: POP 0000178d: DUP2 0000178e: MSTORE 0000178f: POP 00001790: POP 00001791: SWAP1 00001792: POP 00001793: SWAP1 00001794: JUMP 00001795: JUMPDEST 00001796: PUSH1 0x32 00001798: DUP1 00001799: SLOAD 0000179a: PUSH1 0x33 0000179c: SLOAD 0000179d: PUSH1 0x34 0000179f: SLOAD 000017a0: PUSH1 0x35 000017a2: SLOAD 000017a3: PUSH1 0x36 000017a5: SLOAD 000017a6: PUSH1 0x37 000017a8: SLOAD 000017a9: PUSH1 0x38 000017ab: SLOAD 000017ac: PUSH1 0x39 000017ae: SLOAD 000017af: PUSH1 0x3a 000017b1: SLOAD 000017b2: PUSH1 0x3b 000017b4: SLOAD 000017b5: PUSH1 0x3c 000017b7: SLOAD 000017b8: PUSH1 0x3d 000017ba: DUP1 000017bb: SLOAD 000017bc: SWAP12 000017bd: SWAP13 000017be: SWAP11 000017bf: SWAP12 000017c0: SWAP10 000017c1: SWAP11 000017c2: SWAP9 000017c3: SWAP10 000017c4: SWAP8 000017c5: SWAP9 000017c6: SWAP7 000017c7: SWAP8 000017c8: SWAP6 000017c9: SWAP7 000017ca: SWAP5 000017cb: SWAP6 000017cc: SWAP4 000017cd: SWAP5 000017ce: SWAP3 000017cf: SWAP4 000017d0: SWAP2 000017d1: SWAP3 000017d2: SWAP2 000017d3: PUSH2 0x17db 000017d6: SWAP1 000017d7: PUSH2 0x41a2 000017da: JUMP 000017db: JUMPDEST 000017dc: DUP1 000017dd: PUSH1 0x1f 000017df: ADD 000017e0: PUSH1 0x20 000017e2: DUP1 000017e3: SWAP2 000017e4: DIV 000017e5: MUL 000017e6: PUSH1 0x20 000017e8: ADD 000017e9: PUSH1 0x40 000017eb: MLOAD 000017ec: SWAP1 000017ed: DUP2 000017ee: ADD 000017ef: PUSH1 0x40 000017f1: MSTORE 000017f2: DUP1 000017f3: SWAP3 000017f4: SWAP2 000017f5: SWAP1 000017f6: DUP2 000017f7: DUP2 000017f8: MSTORE 000017f9: PUSH1 0x20 000017fb: ADD 000017fc: DUP3 000017fd: DUP1 000017fe: SLOAD 000017ff: PUSH2 0x1807 00001802: SWAP1 00001803: PUSH2 0x41a2 00001806: JUMP 00001807: JUMPDEST 00001808: DUP1 00001809: ISZERO 0000180a: PUSH2 0x1852 0000180d: JUMPI 0000180e: DUP1 0000180f: PUSH1 0x1f 00001811: LT 00001812: PUSH2 0x1829 00001815: JUMPI 00001816: PUSH2 0x0100 00001819: DUP1 0000181a: DUP4 0000181b: SLOAD 0000181c: DIV 0000181d: MUL 0000181e: DUP4 0000181f: MSTORE 00001820: SWAP2 00001821: PUSH1 0x20 00001823: ADD 00001824: SWAP2 00001825: PUSH2 0x1852 00001828: JUMP 00001829: JUMPDEST 0000182a: DUP3 0000182b: ADD 0000182c: SWAP2 0000182d: SWAP1 0000182e: PUSH0 0000182f: MSTORE 00001830: PUSH1 0x20 00001832: PUSH0 00001833: KECCAK256 00001834: SWAP1 00001835: JUMPDEST 00001836: DUP2 00001837: SLOAD 00001838: DUP2 00001839: MSTORE 0000183a: SWAP1 0000183b: PUSH1 0x01 0000183d: ADD 0000183e: SWAP1 0000183f: PUSH1 0x20 00001841: ADD 00001842: DUP1 00001843: DUP4 00001844: GT 00001845: PUSH2 0x1835 00001848: JUMPI 00001849: DUP3 0000184a: SWAP1 0000184b: SUB 0000184c: PUSH1 0x1f 0000184e: AND 0000184f: DUP3 00001850: ADD 00001851: SWAP2 00001852: JUMPDEST 00001853: POP 00001854: POP 00001855: POP 00001856: POP 00001857: POP 00001858: SWAP1 00001859: POP 0000185a: DUP13 0000185b: JUMP 0000185c: JUMPDEST 0000185d: PUSH2 0x1864 00001860: PUSH2 0x2b5a 00001863: JUMP 00001864: JUMPDEST 00001865: PUSH32 0xfc8737ab85eb45125971625a9ebdb75cc78e01d5c1fa80c4c6e5203f47bc4fab 00001886: PUSH2 0x188e 00001889: DUP2 0000188a: PUSH2 0x2b12 0000188d: JUMP 0000188e: JUMPDEST 0000188f: PUSH1 0x40 00001891: MLOAD 00001892: PUSH4 0x3b011e0b 00001897: PUSH1 0xe0 00001899: SHL 0000189a: DUP2 0000189b: MSTORE 0000189c: PUSH1 0x32 0000189e: PUSH1 0x04 000018a0: DUP3 000018a1: ADD 000018a2: MSTORE 000018a3: PUSH1 0x3e 000018a5: PUSH1 0x24 000018a7: DUP3 000018a8: ADD 000018a9: MSTORE 000018aa: PUSH1 0x44 000018ac: DUP1 000018ad: DUP3 000018ae: ADD 000018af: MSTORE 000018b0: PUSH1 0x46 000018b2: PUSH1 0x64 000018b4: DUP3 000018b5: ADD 000018b6: MSTORE 000018b7: PUSH1 0x48 000018b9: PUSH1 0x84 000018bb: DUP3 000018bc: ADD 000018bd: MSTORE 000018be: PUSH32 0x000000000000000000000000000000000000000000000001bc16d674ec800000 000018df: PUSH1 0xa4 000018e1: DUP3 000018e2: ADD 000018e3: MSTORE 000018e4: PUSH1 0x01 000018e6: PUSH1 0x01 000018e8: PUSH1 0xa0 000018ea: SHL 000018eb: SUB 000018ec: PUSH32 0x00000000000000000000000000000000219ab540356cbb839cbe05303d7705fa 0000190d: AND 0000190e: PUSH1 0xc4 00001910: DUP3 00001911: ADD 00001912: MSTORE 00001913: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000 00001934: PUSH1 0xe4 00001936: DUP3 00001937: ADD 00001938: MSTORE 00001939: PUSH20 0x9a4d116eda832bbbe6671d1a2f7bba58016787ac 0000194e: SWAP1 0000194f: PUSH4 0x3b011e0b 00001954: SWAP1 00001955: PUSH2 0x0104 00001958: ADD 00001959: PUSH0 0000195a: PUSH1 0x40 0000195c: MLOAD 0000195d: DUP1 0000195e: DUP4 0000195f: SUB 00001960: DUP2 00001961: DUP7 00001962: DUP1 00001963: EXTCODESIZE 00001964: ISZERO 00001965: DUP1 00001966: ISZERO 00001967: PUSH2 0x196e 0000196a: JUMPI 0000196b: PUSH0 0000196c: DUP1 0000196d: REVERT 0000196e: JUMPDEST 0000196f: POP 00001970: GAS 00001971: DELEGATECALL 00001972: ISZERO 00001973: DUP1 00001974: ISZERO 00001975: PUSH2 0x1980 00001978: JUMPI 00001979: RETURNDATASIZE 0000197a: PUSH0 0000197b: DUP1 0000197c: RETURNDATACOPY 0000197d: RETURNDATASIZE 0000197e: PUSH0 0000197f: REVERT 00001980: JUMPDEST 00001981: POP 00001982: POP 00001983: POP 00001984: POP 00001985: POP 00001986: PUSH2 0x199b 00001989: PUSH1 0x01 0000198b: PUSH0 0000198c: DUP1 0000198d: MLOAD 0000198e: PUSH1 0x20 00001990: PUSH2 0x46ce 00001993: DUP4 00001994: CODECOPY 00001995: DUP2 00001996: MLOAD 00001997: SWAP2 00001998: MSTORE 00001999: SSTORE 0000199a: JUMP 0000199b: JUMPDEST 0000199c: JUMP 0000199d: JUMPDEST 0000199e: PUSH0 0000199f: PUSH2 0x19a7 000019a2: DUP2 000019a3: PUSH2 0x2b12 000019a6: JUMP 000019a7: JUMPDEST 000019a8: PUSH2 0x1081 000019ab: DUP3 000019ac: PUSH2 0x2bf9 000019af: JUMP 000019b0: JUMPDEST 000019b1: PUSH0 000019b2: PUSH2 0x19ba 000019b5: DUP2 000019b6: PUSH2 0x2b12 000019b9: JUMP 000019ba: JUMPDEST 000019bb: PUSH2 0x1081 000019be: DUP3 000019bf: PUSH2 0x2c6b 000019c2: JUMP 000019c3: JUMPDEST 000019c4: PUSH1 0x43 000019c6: SLOAD 000019c7: PUSH1 0x01 000019c9: PUSH1 0x01 000019cb: PUSH1 0xa0 000019cd: SHL 000019ce: SUB 000019cf: AND 000019d0: CALLER 000019d1: EQ 000019d2: PUSH2 0x19ee 000019d5: JUMPI 000019d6: PUSH1 0x40 000019d8: MLOAD 000019d9: PUSH4 0xb5674cfd 000019de: PUSH1 0xe0 000019e0: SHL 000019e1: DUP2 000019e2: MSTORE 000019e3: PUSH1 0x04 000019e5: ADD 000019e6: PUSH1 0x40 000019e8: MLOAD 000019e9: DUP1 000019ea: SWAP2 000019eb: SUB 000019ec: SWAP1 000019ed: REVERT 000019ee: JUMPDEST 000019ef: PUSH0 000019f0: CALLVALUE 000019f1: SWAP1 000019f2: POP 000019f3: PUSH0 000019f4: PUSH1 0x48 000019f6: DUP11 000019f7: DUP11 000019f8: PUSH1 0x40 000019fa: MLOAD 000019fb: PUSH2 0x1a05 000019fe: SWAP3 000019ff: SWAP2 00001a00: SWAP1 00001a01: PUSH2 0x436b 00001a04: JUMP 00001a05: JUMPDEST 00001a06: SWAP1 00001a07: DUP2 00001a08: MSTORE 00001a09: PUSH1 0x40 00001a0b: MLOAD 00001a0c: SWAP1 00001a0d: DUP2 00001a0e: SWAP1 00001a0f: SUB 00001a10: PUSH1 0x20 00001a12: ADD 00001a13: SWAP1 00001a14: KECCAK256 00001a15: SLOAD 00001a16: PUSH1 0xff 00001a18: AND 00001a19: SWAP1 00001a1a: POP 00001a1b: PUSH1 0x01 00001a1d: DUP2 00001a1e: PUSH1 0x04 00001a20: DUP2 00001a21: GT 00001a22: ISZERO 00001a23: PUSH2 0x1a2e 00001a26: JUMPI 00001a27: PUSH2 0x1a2e 00001a2a: PUSH2 0x3d4a 00001a2d: JUMP 00001a2e: JUMPDEST 00001a2f: EQ 00001a30: ISZERO 00001a31: DUP1 00001a32: ISZERO 00001a33: PUSH2 0x1a4e 00001a36: JUMPI 00001a37: POP 00001a38: PUSH1 0x02 00001a3a: DUP2 00001a3b: PUSH1 0x04 00001a3d: DUP2 00001a3e: GT 00001a3f: ISZERO 00001a40: PUSH2 0x1a4b 00001a43: JUMPI 00001a44: PUSH2 0x1a4b 00001a47: PUSH2 0x3d4a 00001a4a: JUMP 00001a4b: JUMPDEST 00001a4c: EQ 00001a4d: ISZERO 00001a4e: JUMPDEST 00001a4f: ISZERO 00001a50: PUSH2 0x1a6c 00001a53: JUMPI 00001a54: PUSH1 0x40 00001a56: MLOAD 00001a57: PUSH4 0x21f03be7 00001a5c: PUSH1 0xe2 00001a5e: SHL 00001a5f: DUP2 00001a60: MSTORE 00001a61: PUSH1 0x04 00001a63: ADD 00001a64: PUSH1 0x40 00001a66: MLOAD 00001a67: DUP1 00001a68: SWAP2 00001a69: SUB 00001a6a: SWAP1 00001a6b: REVERT 00001a6c: JUMPDEST 00001a6d: DUP5 00001a6e: ISZERO 00001a6f: PUSH2 0x1b10 00001a72: JUMPI 00001a73: PUSH20 0x2b827dd0e75e25b9d5c03424d88cd2709c62ed21 00001a88: PUSH4 0xfa86cfe2 00001a8d: PUSH1 0x32 00001a8f: PUSH1 0x3e 00001a91: PUSH1 0x4a 00001a93: PUSH2 0x1abc 00001a96: DUP8 00001a97: PUSH32 0x000000000000000000000000000000000000000000000001bc16d674ec800000 00001ab8: PUSH2 0x438e 00001abb: JUMP 00001abc: JUMPDEST 00001abd: DUP10 00001abe: DUP10 00001abf: PUSH1 0x40 00001ac1: MLOAD 00001ac2: DUP8 00001ac3: PUSH4 0xffffffff 00001ac8: AND 00001ac9: PUSH1 0xe0 00001acb: SHL 00001acc: DUP2 00001acd: MSTORE 00001ace: PUSH1 0x04 00001ad0: ADD 00001ad1: PUSH2 0x1adf 00001ad4: SWAP7 00001ad5: SWAP6 00001ad6: SWAP5 00001ad7: SWAP4 00001ad8: SWAP3 00001ad9: SWAP2 00001ada: SWAP1 00001adb: PUSH2 0x43a1 00001ade: JUMP 00001adf: JUMPDEST 00001ae0: PUSH0 00001ae1: PUSH1 0x40 00001ae3: MLOAD 00001ae4: DUP1 00001ae5: DUP4 00001ae6: SUB 00001ae7: DUP2 00001ae8: DUP7 00001ae9: DUP1 00001aea: EXTCODESIZE 00001aeb: ISZERO 00001aec: DUP1 00001aed: ISZERO 00001aee: PUSH2 0x1af5 00001af1: JUMPI 00001af2: PUSH0 00001af3: DUP1 00001af4: REVERT 00001af5: JUMPDEST 00001af6: POP 00001af7: GAS 00001af8: DELEGATECALL 00001af9: ISZERO 00001afa: DUP1 00001afb: ISZERO 00001afc: PUSH2 0x1b07 00001aff: JUMPI 00001b00: RETURNDATASIZE 00001b01: PUSH0 00001b02: DUP1 00001b03: RETURNDATACOPY 00001b04: RETURNDATASIZE 00001b05: PUSH0 00001b06: REVERT 00001b07: JUMPDEST 00001b08: POP 00001b09: POP 00001b0a: POP 00001b0b: POP 00001b0c: PUSH2 0x1b50 00001b0f: JUMP 00001b10: JUMPDEST 00001b11: PUSH32 0x000000000000000000000000000000000000000000000001bc16d674ec800000 00001b32: DUP3 00001b33: EQ 00001b34: PUSH2 0x1b50 00001b37: JUMPI 00001b38: PUSH1 0x40 00001b3a: MLOAD 00001b3b: PUSH4 0x162908e3 00001b40: PUSH1 0xe1 00001b42: SHL 00001b43: DUP2 00001b44: MSTORE 00001b45: PUSH1 0x04 00001b47: ADD 00001b48: PUSH1 0x40 00001b4a: MLOAD 00001b4b: DUP1 00001b4c: SWAP2 00001b4d: SUB 00001b4e: SWAP1 00001b4f: REVERT 00001b50: JUMPDEST 00001b51: PUSH1 0x01 00001b53: DUP2 00001b54: PUSH1 0x04 00001b56: DUP2 00001b57: GT 00001b58: ISZERO 00001b59: PUSH2 0x1b64 00001b5c: JUMPI 00001b5d: PUSH2 0x1b64 00001b60: PUSH2 0x3d4a 00001b63: JUMP 00001b64: JUMPDEST 00001b65: SUB 00001b66: PUSH2 0x1da8 00001b69: JUMPI 00001b6a: PUSH1 0x60 00001b6c: DUP7 00001b6d: PUSH2 0x1bf2 00001b70: JUMPI 00001b71: PUSH1 0x40 00001b73: MLOAD 00001b74: PUSH4 0x54427913 00001b79: PUSH1 0xe0 00001b7b: SHL 00001b7c: DUP2 00001b7d: MSTORE 00001b7e: PUSH1 0x46 00001b80: PUSH1 0x04 00001b82: DUP3 00001b83: ADD 00001b84: MSTORE 00001b85: PUSH1 0x24 00001b87: DUP2 00001b88: ADD 00001b89: DUP11 00001b8a: SWAP1 00001b8b: MSTORE 00001b8c: PUSH20 0x7111c8bc4d214f88823ec06bbed120ddce69f75a 00001ba1: SWAP1 00001ba2: PUSH4 0x54427913 00001ba7: SWAP1 00001ba8: PUSH1 0x44 00001baa: ADD 00001bab: PUSH0 00001bac: PUSH1 0x40 00001bae: MLOAD 00001baf: DUP1 00001bb0: DUP4 00001bb1: SUB 00001bb2: DUP2 00001bb3: DUP7 00001bb4: GAS 00001bb5: DELEGATECALL 00001bb6: ISZERO 00001bb7: DUP1 00001bb8: ISZERO 00001bb9: PUSH2 0x1bc4 00001bbc: JUMPI 00001bbd: RETURNDATASIZE 00001bbe: PUSH0 00001bbf: DUP1 00001bc0: RETURNDATACOPY 00001bc1: RETURNDATASIZE 00001bc2: PUSH0 00001bc3: REVERT 00001bc4: JUMPDEST 00001bc5: POP 00001bc6: POP 00001bc7: POP 00001bc8: POP 00001bc9: PUSH1 0x40 00001bcb: MLOAD 00001bcc: RETURNDATASIZE 00001bcd: PUSH0 00001bce: DUP3 00001bcf: RETURNDATACOPY 00001bd0: PUSH1 0x1f 00001bd2: RETURNDATASIZE 00001bd3: SWAP1 00001bd4: DUP2 00001bd5: ADD 00001bd6: PUSH1 0x1f 00001bd8: NOT 00001bd9: AND 00001bda: DUP3 00001bdb: ADD 00001bdc: PUSH1 0x40 00001bde: MSTORE 00001bdf: PUSH2 0x1beb 00001be2: SWAP2 00001be3: SWAP1 00001be4: DUP2 00001be5: ADD 00001be6: SWAP1 00001be7: PUSH2 0x43d8 00001bea: JUMP 00001beb: JUMPDEST 00001bec: SWAP1 00001bed: POP 00001bee: PUSH2 0x1c70 00001bf1: JUMP 00001bf2: JUMPDEST 00001bf3: PUSH1 0x40 00001bf5: MLOAD 00001bf6: PUSH4 0x176d231d 00001bfb: PUSH1 0xe2 00001bfd: SHL 00001bfe: DUP2 00001bff: MSTORE 00001c00: PUSH1 0x46 00001c02: PUSH1 0x04 00001c04: DUP3 00001c05: ADD 00001c06: MSTORE 00001c07: PUSH1 0x24 00001c09: DUP2 00001c0a: ADD 00001c0b: DUP11 00001c0c: SWAP1 00001c0d: MSTORE 00001c0e: PUSH20 0x7111c8bc4d214f88823ec06bbed120ddce69f75a 00001c23: SWAP1 00001c24: PUSH4 0x5db48c74 00001c29: SWAP1 00001c2a: PUSH1 0x44 00001c2c: ADD 00001c2d: PUSH0 00001c2e: PUSH1 0x40 00001c30: MLOAD 00001c31: DUP1 00001c32: DUP4 00001c33: SUB 00001c34: DUP2 00001c35: DUP7 00001c36: GAS 00001c37: DELEGATECALL 00001c38: ISZERO 00001c39: DUP1 00001c3a: ISZERO 00001c3b: PUSH2 0x1c46 00001c3e: JUMPI 00001c3f: RETURNDATASIZE 00001c40: PUSH0 00001c41: DUP1 00001c42: RETURNDATACOPY 00001c43: RETURNDATASIZE 00001c44: PUSH0 00001c45: REVERT 00001c46: JUMPDEST 00001c47: POP 00001c48: POP 00001c49: POP 00001c4a: POP 00001c4b: PUSH1 0x40 00001c4d: MLOAD 00001c4e: RETURNDATASIZE 00001c4f: PUSH0 00001c50: DUP3 00001c51: RETURNDATACOPY 00001c52: PUSH1 0x1f 00001c54: RETURNDATASIZE 00001c55: SWAP1 00001c56: DUP2 00001c57: ADD 00001c58: PUSH1 0x1f 00001c5a: NOT 00001c5b: AND 00001c5c: DUP3 00001c5d: ADD 00001c5e: PUSH1 0x40 00001c60: MSTORE 00001c61: PUSH2 0x1c6d 00001c64: SWAP2 00001c65: SWAP1 00001c66: DUP2 00001c67: ADD 00001c68: SWAP1 00001c69: PUSH2 0x43d8 00001c6c: JUMP 00001c6d: JUMPDEST 00001c6e: SWAP1 00001c6f: POP 00001c70: JUMPDEST 00001c71: DUP1 00001c72: MLOAD 00001c73: PUSH1 0x20 00001c75: DUP3 00001c76: ADD 00001c77: KECCAK256 00001c78: PUSH1 0x40 00001c7a: MLOAD 00001c7b: PUSH2 0x1c87 00001c7e: SWAP1 00001c7f: DUP14 00001c80: SWAP1 00001c81: DUP14 00001c82: SWAP1 00001c83: PUSH2 0x436b 00001c86: JUMP 00001c87: JUMPDEST 00001c88: PUSH1 0x40 00001c8a: MLOAD 00001c8b: DUP1 00001c8c: SWAP2 00001c8d: SUB 00001c8e: SWAP1 00001c8f: KECCAK256 00001c90: EQ 00001c91: PUSH2 0x1c9c 00001c94: JUMPI 00001c95: PUSH2 0x1c9c 00001c98: PUSH2 0x4409 00001c9b: JUMP 00001c9c: JUMPDEST 00001c9d: PUSH1 0x40 00001c9f: MLOAD 00001ca0: PUSH4 0x7ee9333f 00001ca5: PUSH1 0xe0 00001ca7: SHL 00001ca8: DUP2 00001ca9: MSTORE 00001caa: PUSH1 0x32 00001cac: PUSH1 0x04 00001cae: DUP3 00001caf: ADD 00001cb0: MSTORE 00001cb1: PUSH1 0x3e 00001cb3: PUSH1 0x24 00001cb5: DUP3 00001cb6: ADD 00001cb7: MSTORE 00001cb8: PUSH1 0x44 00001cba: DUP1 00001cbb: DUP3 00001cbc: ADD 00001cbd: MSTORE 00001cbe: PUSH1 0x46 00001cc0: PUSH1 0x64 00001cc2: DUP3 00001cc3: ADD 00001cc4: MSTORE 00001cc5: PUSH1 0x48 00001cc7: PUSH1 0x84 00001cc9: DUP3 00001cca: ADD 00001ccb: MSTORE 00001ccc: PUSH32 0x000000000000000000000000000000000000000000000001bc16d674ec800000 00001ced: PUSH1 0xa4 00001cef: DUP3 00001cf0: ADD 00001cf1: DUP2 00001cf2: SWAP1 00001cf3: MSTORE 00001cf4: PUSH1 0x01 00001cf6: PUSH1 0x01 00001cf8: PUSH1 0xa0 00001cfa: SHL 00001cfb: SUB 00001cfc: PUSH32 0x00000000000000000000000000000000219ab540356cbb839cbe05303d7705fa 00001d1d: AND 00001d1e: PUSH1 0xc4 00001d20: DUP4 00001d21: ADD 00001d22: MSTORE 00001d23: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000 00001d44: PUSH1 0xe4 00001d46: DUP4 00001d47: ADD 00001d48: MSTORE 00001d49: PUSH2 0x0104 00001d4c: DUP3 00001d4d: ADD 00001d4e: MSTORE 00001d4f: PUSH1 0x01 00001d51: PUSH2 0x0124 00001d54: DUP3 00001d55: ADD 00001d56: MSTORE 00001d57: PUSH20 0x9a4d116eda832bbbe6671d1a2f7bba58016787ac 00001d6c: SWAP1 00001d6d: PUSH4 0x7ee9333f 00001d72: SWAP1 00001d73: PUSH2 0x0144 00001d76: ADD 00001d77: PUSH0 00001d78: PUSH1 0x40 00001d7a: MLOAD 00001d7b: DUP1 00001d7c: DUP4 00001d7d: SUB 00001d7e: DUP2 00001d7f: DUP7 00001d80: DUP1 00001d81: EXTCODESIZE 00001d82: ISZERO 00001d83: DUP1 00001d84: ISZERO 00001d85: PUSH2 0x1d8c 00001d88: JUMPI 00001d89: PUSH0 00001d8a: DUP1 00001d8b: REVERT 00001d8c: JUMPDEST 00001d8d: POP 00001d8e: GAS 00001d8f: DELEGATECALL 00001d90: ISZERO 00001d91: DUP1 00001d92: ISZERO 00001d93: PUSH2 0x1d9e 00001d96: JUMPI 00001d97: RETURNDATASIZE 00001d98: PUSH0 00001d99: DUP1 00001d9a: RETURNDATACOPY 00001d9b: RETURNDATASIZE 00001d9c: PUSH0 00001d9d: REVERT 00001d9e: JUMPDEST 00001d9f: POP 00001da0: POP 00001da1: POP 00001da2: POP 00001da3: POP 00001da4: PUSH2 0x1de2 00001da7: JUMP 00001da8: JUMPDEST 00001da9: PUSH32 0x000000000000000000000000000000000000000000000001bc16d674ec800000 00001dca: PUSH1 0x32 00001dcc: PUSH1 0x07 00001dce: ADD 00001dcf: PUSH0 00001dd0: DUP3 00001dd1: DUP3 00001dd2: SLOAD 00001dd3: PUSH2 0x1ddc 00001dd6: SWAP2 00001dd7: SWAP1 00001dd8: PUSH2 0x441d 00001ddb: JUMP 00001ddc: JUMPDEST 00001ddd: SWAP1 00001dde: SWAP2 00001ddf: SSTORE 00001de0: POP 00001de1: POP 00001de2: JUMPDEST 00001de3: PUSH1 0x04 00001de5: PUSH1 0x48 00001de7: DUP12 00001de8: DUP12 00001de9: PUSH1 0x40 00001deb: MLOAD 00001dec: PUSH2 0x1df6 00001def: SWAP3 00001df0: SWAP2 00001df1: SWAP1 00001df2: PUSH2 0x436b 00001df5: JUMP 00001df6: JUMPDEST 00001df7: SWAP1 00001df8: DUP2 00001df9: MSTORE 00001dfa: PUSH1 0x40 00001dfc: MLOAD 00001dfd: SWAP1 00001dfe: DUP2 00001dff: SWAP1 00001e00: SUB 00001e01: PUSH1 0x20 00001e03: ADD 00001e04: SWAP1 00001e05: KECCAK256 00001e06: DUP1 00001e07: SLOAD 00001e08: PUSH1 0xff 00001e0a: NOT 00001e0b: AND 00001e0c: PUSH1 0x01 00001e0e: DUP4 00001e0f: PUSH1 0x04 00001e11: DUP2 00001e12: GT 00001e13: ISZERO 00001e14: PUSH2 0x1e1f 00001e17: JUMPI 00001e18: PUSH2 0x1e1f 00001e1b: PUSH2 0x3d4a 00001e1e: JUMP 00001e1f: JUMPDEST 00001e20: MUL 00001e21: OR 00001e22: SWAP1 00001e23: SSTORE 00001e24: POP 00001e25: PUSH32 0x38dfdd34943d912ef1591f414fa0fd6acbd0ef9b5b6d071908764e7da03c80b6 00001e46: DUP11 00001e47: DUP11 00001e48: DUP8 00001e49: DUP11 00001e4a: PUSH2 0x1e73 00001e4d: DUP2 00001e4e: PUSH32 0x000000000000000000000000000000000000000000000001bc16d674ec800000 00001e6f: PUSH2 0x438e 00001e72: JUMP 00001e73: JUMPDEST 00001e74: PUSH1 0x40 00001e76: MLOAD 00001e77: PUSH2 0x1e84 00001e7a: SWAP6 00001e7b: SWAP5 00001e7c: SWAP4 00001e7d: SWAP3 00001e7e: SWAP2 00001e7f: SWAP1 00001e80: PUSH2 0x4430 00001e83: JUMP 00001e84: JUMPDEST 00001e85: PUSH1 0x40 00001e87: MLOAD 00001e88: DUP1 00001e89: SWAP2 00001e8a: SUB 00001e8b: SWAP1 00001e8c: LOG1 00001e8d: POP 00001e8e: POP 00001e8f: POP 00001e90: POP 00001e91: POP 00001e92: POP 00001e93: POP 00001e94: POP 00001e95: POP 00001e96: POP 00001e97: JUMP 00001e98: JUMPDEST 00001e99: PUSH1 0x36 00001e9b: SLOAD 00001e9c: PUSH0 00001e9d: NOT 00001e9e: ADD 00001e9f: PUSH2 0x1ebb 00001ea2: JUMPI 00001ea3: PUSH1 0x40 00001ea5: MLOAD 00001ea6: PUSH4 0x8a4560db 00001eab: PUSH1 0xe0 00001ead: SHL 00001eae: DUP2 00001eaf: MSTORE 00001eb0: PUSH1 0x04 00001eb2: ADD 00001eb3: PUSH1 0x40 00001eb5: MLOAD 00001eb6: DUP1 00001eb7: SWAP2 00001eb8: SUB 00001eb9: SWAP1 00001eba: REVERT 00001ebb: JUMPDEST 00001ebc: PUSH0 00001ebd: DUP1 00001ebe: MLOAD 00001ebf: PUSH1 0x20 00001ec1: PUSH2 0x466e 00001ec4: DUP4 00001ec5: CODECOPY 00001ec6: DUP2 00001ec7: MLOAD 00001ec8: SWAP2 00001ec9: MSTORE 00001eca: PUSH2 0x1ed2 00001ecd: DUP2 00001ece: PUSH2 0x2b12 00001ed1: JUMP 00001ed2: JUMPDEST 00001ed3: PUSH1 0x40 00001ed5: MLOAD 00001ed6: PUSH4 0xf3c723c7 00001edb: PUSH1 0xe0 00001edd: SHL 00001ede: DUP2 00001edf: MSTORE 00001ee0: PUSH1 0x44 00001ee2: PUSH1 0x04 00001ee4: DUP3 00001ee5: ADD 00001ee6: DUP2 00001ee7: SWAP1 00001ee8: MSTORE 00001ee9: PUSH1 0x24 00001eeb: DUP3 00001eec: ADD 00001eed: DUP5 00001eee: SWAP1 00001eef: MSTORE 00001ef0: PUSH20 0x7111c8bc4d214f88823ec06bbed120ddce69f75a 00001f05: SWAP2 00001f06: PUSH4 0xf3c723c7 00001f0b: SWAP2 00001f0c: ADD 00001f0d: PUSH0 00001f0e: PUSH1 0x40 00001f10: MLOAD 00001f11: DUP1 00001f12: DUP4 00001f13: SUB 00001f14: DUP2 00001f15: DUP7 00001f16: GAS 00001f17: DELEGATECALL 00001f18: ISZERO 00001f19: DUP1 00001f1a: ISZERO 00001f1b: PUSH2 0x1f26 00001f1e: JUMPI 00001f1f: RETURNDATASIZE 00001f20: PUSH0 00001f21: DUP1 00001f22: RETURNDATACOPY 00001f23: RETURNDATASIZE 00001f24: PUSH0 00001f25: REVERT 00001f26: JUMPDEST 00001f27: POP 00001f28: POP 00001f29: POP 00001f2a: POP 00001f2b: PUSH1 0x40 00001f2d: MLOAD 00001f2e: RETURNDATASIZE 00001f2f: PUSH0 00001f30: DUP3 00001f31: RETURNDATACOPY 00001f32: PUSH1 0x1f 00001f34: RETURNDATASIZE 00001f35: SWAP1 00001f36: DUP2 00001f37: ADD 00001f38: PUSH1 0x1f 00001f3a: NOT 00001f3b: AND 00001f3c: DUP3 00001f3d: ADD 00001f3e: PUSH1 0x40 00001f40: MSTORE 00001f41: PUSH2 0x1147 00001f44: SWAP2 00001f45: SWAP1 00001f46: DUP2 00001f47: ADD 00001f48: SWAP1 00001f49: PUSH2 0x4460 00001f4c: JUMP 00001f4d: JUMPDEST 00001f4e: PUSH0 00001f4f: DUP1 00001f50: MLOAD 00001f51: PUSH1 0x20 00001f53: PUSH2 0x46ee 00001f56: DUP4 00001f57: CODECOPY 00001f58: DUP2 00001f59: MLOAD 00001f5a: SWAP2 00001f5b: MSTORE 00001f5c: SLOAD 00001f5d: PUSH1 0x01 00001f5f: PUSH1 0x01 00001f61: PUSH1 0xa0 00001f63: SHL 00001f64: SUB 00001f65: AND 00001f66: SWAP1 00001f67: JUMP 00001f68: JUMPDEST 00001f69: PUSH0 00001f6a: DUP1 00001f6b: MLOAD 00001f6c: PUSH1 0x20 00001f6e: PUSH2 0x466e 00001f71: DUP4 00001f72: CODECOPY 00001f73: DUP2 00001f74: MLOAD 00001f75: SWAP2 00001f76: MSTORE 00001f77: PUSH2 0x1f7f 00001f7a: DUP2 00001f7b: PUSH2 0x2b12 00001f7e: JUMP 00001f7f: JUMPDEST 00001f80: PUSH1 0x40 00001f82: MLOAD 00001f83: PUSH4 0x145abf65 00001f88: PUSH1 0xe3 00001f8a: SHL 00001f8b: DUP2 00001f8c: MSTORE 00001f8d: PUSH20 0x2b827dd0e75e25b9d5c03424d88cd2709c62ed21 00001fa2: SWAP1 00001fa3: PUSH4 0xa2d5fb28 00001fa8: SWAP1 00001fa9: PUSH2 0x0e1b 00001fac: SWAP1 00001fad: PUSH1 0x3e 00001faf: SWAP1 00001fb0: PUSH1 0x32 00001fb2: SWAP1 00001fb3: DUP9 00001fb4: SWAP1 00001fb5: DUP9 00001fb6: SWAP1 00001fb7: PUSH1 0x04 00001fb9: ADD 00001fba: PUSH2 0x450b 00001fbd: JUMP 00001fbe: JUMPDEST 00001fbf: PUSH0 00001fc0: DUP1 00001fc1: MLOAD 00001fc2: PUSH1 0x20 00001fc4: PUSH2 0x466e 00001fc7: DUP4 00001fc8: CODECOPY 00001fc9: DUP2 00001fca: MLOAD 00001fcb: SWAP2 00001fcc: MSTORE 00001fcd: PUSH2 0x1fd5 00001fd0: DUP2 00001fd1: PUSH2 0x2b12 00001fd4: JUMP 00001fd5: JUMPDEST 00001fd6: PUSH1 0x40 00001fd8: MLOAD 00001fd9: PUSH4 0x692ba17b 00001fde: PUSH1 0xe0 00001fe0: SHL 00001fe1: DUP2 00001fe2: MSTORE 00001fe3: PUSH20 0x2b827dd0e75e25b9d5c03424d88cd2709c62ed21 00001ff8: SWAP1 00001ff9: PUSH4 0x692ba17b 00001ffe: SWAP1 00001fff: PUSH2 0x2013 00002002: SWAP1 00002003: PUSH1 0x4a 00002005: SWAP1 00002006: DUP9 00002007: SWAP1 00002008: DUP9 00002009: SWAP1 0000200a: DUP9 0000200b: SWAP1 0000200c: PUSH1 0x04 0000200e: ADD 0000200f: PUSH2 0x4549 00002012: JUMP 00002013: JUMPDEST 00002014: PUSH0 00002015: PUSH1 0x40 00002017: MLOAD 00002018: DUP1 00002019: DUP4 0000201a: SUB 0000201b: DUP2 0000201c: DUP7 0000201d: DUP1 0000201e: EXTCODESIZE 0000201f: ISZERO 00002020: DUP1 00002021: ISZERO 00002022: PUSH2 0x2029 00002025: JUMPI 00002026: PUSH0 00002027: DUP1 00002028: REVERT 00002029: JUMPDEST 0000202a: POP 0000202b: GAS 0000202c: DELEGATECALL 0000202d: ISZERO 0000202e: DUP1 0000202f: ISZERO 00002030: PUSH2 0x203b 00002033: JUMPI 00002034: RETURNDATASIZE 00002035: PUSH0 00002036: DUP1 00002037: RETURNDATACOPY 00002038: RETURNDATASIZE 00002039: PUSH0 0000203a: REVERT 0000203b: JUMPDEST 0000203c: POP 0000203d: POP 0000203e: POP 0000203f: POP 00002040: POP 00002041: POP 00002042: POP 00002043: POP 00002044: JUMP 00002045: JUMPDEST 00002046: PUSH0 00002047: PUSH2 0x0d96 0000204a: PUSH2 0x1f4d 0000204d: JUMP 0000204e: JUMPDEST 0000204f: PUSH1 0x36 00002051: SLOAD 00002052: PUSH0 00002053: NOT 00002054: ADD 00002055: PUSH2 0x2071 00002058: JUMPI 00002059: PUSH1 0x40 0000205b: MLOAD 0000205c: PUSH4 0x8a4560db 00002061: PUSH1 0xe0 00002063: SHL 00002064: DUP2 00002065: MSTORE 00002066: PUSH1 0x04 00002068: ADD 00002069: PUSH1 0x40 0000206b: MLOAD 0000206c: DUP1 0000206d: SWAP2 0000206e: SUB 0000206f: SWAP1 00002070: REVERT 00002071: JUMPDEST 00002072: PUSH0 00002073: DUP1 00002074: MLOAD 00002075: PUSH1 0x20 00002077: PUSH2 0x466e 0000207a: DUP4 0000207b: CODECOPY 0000207c: DUP2 0000207d: MLOAD 0000207e: SWAP2 0000207f: MSTORE 00002080: PUSH2 0x2088 00002083: DUP2 00002084: PUSH2 0x2b12 00002087: JUMP 00002088: JUMPDEST 00002089: PUSH1 0x40 0000208b: MLOAD 0000208c: PUSH4 0x04ab817f 00002091: PUSH1 0xe0 00002093: SHL 00002094: DUP2 00002095: MSTORE 00002096: PUSH1 0x44 00002098: PUSH1 0x04 0000209a: DUP3 0000209b: ADD 0000209c: DUP2 0000209d: SWAP1 0000209e: MSTORE 0000209f: PUSH1 0x24 000020a1: DUP3 000020a2: ADD 000020a3: DUP6 000020a4: SWAP1 000020a5: MSTORE 000020a6: DUP2 000020a7: ADD 000020a8: DUP4 000020a9: SWAP1 000020aa: MSTORE 000020ab: PUSH20 0x7111c8bc4d214f88823ec06bbed120ddce69f75a 000020c0: SWAP1 000020c1: PUSH4 0x04ab817f 000020c6: SWAP1 000020c7: PUSH1 0x64 000020c9: ADD 000020ca: PUSH2 0x0e1b 000020cd: JUMP 000020ce: JUMPDEST 000020cf: PUSH0 000020d0: SWAP2 000020d1: DUP3 000020d2: MSTORE 000020d3: PUSH0 000020d4: DUP1 000020d5: MLOAD 000020d6: PUSH1 0x20 000020d8: PUSH2 0x46ae 000020db: DUP4 000020dc: CODECOPY 000020dd: DUP2 000020de: MLOAD 000020df: SWAP2 000020e0: MSTORE 000020e1: PUSH1 0x20 000020e3: SWAP1 000020e4: DUP2 000020e5: MSTORE 000020e6: PUSH1 0x40 000020e8: DUP1 000020e9: DUP5 000020ea: KECCAK256 000020eb: PUSH1 0x01 000020ed: PUSH1 0x01 000020ef: PUSH1 0xa0 000020f1: SHL 000020f2: SUB 000020f3: SWAP4 000020f4: SWAP1 000020f5: SWAP4 000020f6: AND 000020f7: DUP5 000020f8: MSTORE 000020f9: SWAP2 000020fa: SWAP1 000020fb: MSTORE 000020fc: SWAP1 000020fd: KECCAK256 000020fe: SLOAD 000020ff: PUSH1 0xff 00002101: AND 00002102: SWAP1 00002103: JUMP 00002104: JUMPDEST 00002105: PUSH1 0x40 00002107: MLOAD 00002108: PUSH4 0x446ad5c9 0000210d: PUSH1 0xe1 0000210f: SHL 00002110: DUP2 00002111: MSTORE 00002112: PUSH1 0x60 00002114: SWAP1 00002115: DUP2 00002116: SWAP1 00002117: DUP2 00002118: SWAP1 00002119: PUSH0 0000211a: SWAP1 0000211b: DUP2 0000211c: SWAP1 0000211d: PUSH20 0x7111c8bc4d214f88823ec06bbed120ddce69f75a 00002132: SWAP1 00002133: PUSH4 0x88d5ab92 00002138: SWAP1 00002139: PUSH2 0x15e7 0000213c: SWAP1 0000213d: PUSH1 0x46 0000213f: SWAP1 00002140: PUSH1 0x3d 00002142: SWAP1 00002143: DUP12 00002144: SWAP1 00002145: PUSH1 0x04 00002147: ADD 00002148: PUSH2 0x41da 0000214b: JUMP 0000214c: JUMPDEST 0000214d: PUSH0 0000214e: DUP1 0000214f: MLOAD 00002150: PUSH1 0x20 00002152: PUSH2 0x46ee 00002155: DUP4 00002156: CODECOPY 00002157: DUP2 00002158: MLOAD 00002159: SWAP2 0000215a: MSTORE 0000215b: SLOAD 0000215c: PUSH0 0000215d: SWAP1 0000215e: PUSH1 0x01 00002160: PUSH1 0xd0 00002162: SHL 00002163: SWAP1 00002164: DIV 00002165: PUSH6 0xffffffffffff 0000216c: AND 0000216d: PUSH0 0000216e: DUP1 0000216f: MLOAD 00002170: PUSH1 0x20 00002172: PUSH2 0x468e 00002175: DUP4 00002176: CODECOPY 00002177: DUP2 00002178: MLOAD 00002179: SWAP2 0000217a: MSTORE 0000217b: DUP2 0000217c: ISZERO 0000217d: DUP1 0000217e: ISZERO 0000217f: SWAP1 00002180: PUSH2 0x2191 00002183: JUMPI 00002184: POP 00002185: TIMESTAMP 00002186: PUSH6 0xffffffffffff 0000218d: DUP4 0000218e: AND 0000218f: LT 00002190: ISZERO 00002191: JUMPDEST 00002192: PUSH2 0x219c 00002195: JUMPI 00002196: PUSH0 00002197: DUP1 00002198: PUSH2 0x21b2 0000219b: JUMP 0000219c: JUMPDEST 0000219d: PUSH1 0x01 0000219f: DUP2 000021a0: ADD 000021a1: SLOAD 000021a2: PUSH1 0x01 000021a4: PUSH1 0xa0 000021a6: SHL 000021a7: SWAP1 000021a8: DIV 000021a9: PUSH6 0xffffffffffff 000021b0: AND 000021b1: DUP3 000021b2: JUMPDEST 000021b3: SWAP3 000021b4: POP 000021b5: SWAP3 000021b6: POP 000021b7: POP 000021b8: SWAP1 000021b9: SWAP2 000021ba: JUMP 000021bb: JUMPDEST 000021bc: PUSH1 0x36 000021be: SLOAD 000021bf: PUSH0 000021c0: NOT 000021c1: ADD 000021c2: PUSH2 0x21de 000021c5: JUMPI 000021c6: PUSH1 0x40 000021c8: MLOAD 000021c9: PUSH4 0x8a4560db 000021ce: PUSH1 0xe0 000021d0: SHL 000021d1: DUP2 000021d2: MSTORE 000021d3: PUSH1 0x04 000021d5: ADD 000021d6: PUSH1 0x40 000021d8: MLOAD 000021d9: DUP1 000021da: SWAP2 000021db: SUB 000021dc: SWAP1 000021dd: REVERT 000021de: JUMPDEST 000021df: PUSH0 000021e0: DUP1 000021e1: MLOAD 000021e2: PUSH1 0x20 000021e4: PUSH2 0x466e 000021e7: DUP4 000021e8: CODECOPY 000021e9: DUP2 000021ea: MLOAD 000021eb: SWAP2 000021ec: MSTORE 000021ed: PUSH2 0x21f5 000021f0: DUP2 000021f1: PUSH2 0x2b12 000021f4: JUMP 000021f5: JUMPDEST 000021f6: PUSH1 0x40 000021f8: MLOAD 000021f9: PUSH4 0x189db935 000021fe: PUSH1 0xe3 00002200: SHL 00002201: DUP2 00002202: MSTORE 00002203: PUSH20 0xf57727c6468b2e279f4574dd414547569e758105 00002218: SWAP1 00002219: PUSH4 0xc4edc9a8 0000221e: SWAP1 0000221f: PUSH2 0x2235 00002222: SWAP1 00002223: PUSH1 0x44 00002225: SWAP1 00002226: DUP10 00002227: SWAP1 00002228: DUP10 00002229: SWAP1 0000222a: DUP10 0000222b: SWAP1 0000222c: DUP10 0000222d: SWAP1 0000222e: PUSH1 0x04 00002230: ADD 00002231: PUSH2 0x45ac 00002234: JUMP 00002235: JUMPDEST 00002236: PUSH0 00002237: PUSH1 0x40 00002239: MLOAD 0000223a: DUP1 0000223b: DUP4 0000223c: SUB 0000223d: DUP2 0000223e: DUP7 0000223f: DUP1 00002240: EXTCODESIZE 00002241: ISZERO 00002242: DUP1 00002243: ISZERO 00002244: PUSH2 0x224b 00002247: JUMPI 00002248: PUSH0 00002249: DUP1 0000224a: REVERT 0000224b: JUMPDEST 0000224c: POP 0000224d: GAS 0000224e: DELEGATECALL 0000224f: ISZERO 00002250: DUP1 00002251: ISZERO 00002252: PUSH2 0x0f4b 00002255: JUMPI 00002256: RETURNDATASIZE 00002257: PUSH0 00002258: DUP1 00002259: RETURNDATACOPY 0000225a: RETURNDATASIZE 0000225b: PUSH0 0000225c: REVERT 0000225d: JUMPDEST 0000225e: PUSH1 0x3c 00002260: SLOAD 00002261: PUSH0 00002262: SWAP1 00002263: PUSH1 0x01 00002265: NOT 00002266: ADD 00002267: PUSH2 0x2283 0000226a: JUMPI 0000226b: PUSH1 0x40 0000226d: MLOAD 0000226e: PUSH4 0x13d0ff59 00002273: PUSH1 0xe3 00002275: SHL 00002276: DUP2 00002277: MSTORE 00002278: PUSH1 0x04 0000227a: ADD 0000227b: PUSH1 0x40 0000227d: MLOAD 0000227e: DUP1 0000227f: SWAP2 00002280: SUB 00002281: SWAP1 00002282: REVERT 00002283: JUMPDEST 00002284: PUSH2 0x228b 00002287: PUSH2 0x2b5a 0000228a: JUMP 0000228b: JUMPDEST 0000228c: PUSH32 0xb165298935924f540e4181c03493a5d686c54a0aaeb3f6216de85b7ffbba7738 000022ad: PUSH2 0x22b5 000022b0: DUP2 000022b1: PUSH2 0x2b12 000022b4: JUMP 000022b5: JUMPDEST 000022b6: PUSH1 0x40 000022b8: MLOAD 000022b9: PUSH4 0x3b6c1175 000022be: PUSH1 0xe2 000022c0: SHL 000022c1: DUP2 000022c2: MSTORE 000022c3: PUSH1 0x32 000022c5: PUSH1 0x04 000022c7: DUP3 000022c8: ADD 000022c9: MSTORE 000022ca: PUSH1 0x3e 000022cc: PUSH1 0x24 000022ce: DUP3 000022cf: ADD 000022d0: MSTORE 000022d1: PUSH1 0x44 000022d3: DUP2 000022d4: DUP2 000022d5: ADD 000022d6: MSTORE 000022d7: PUSH1 0x46 000022d9: PUSH1 0x64 000022db: DUP3 000022dc: ADD 000022dd: MSTORE 000022de: PUSH1 0x48 000022e0: PUSH1 0x84 000022e2: DUP3 000022e3: ADD 000022e4: MSTORE 000022e5: PUSH32 0x000000000000000000000000000000000000000000000001bc16d674ec800000 00002306: PUSH1 0xa4 00002308: DUP3 00002309: ADD 0000230a: MSTORE 0000230b: PUSH1 0x01 0000230d: PUSH1 0x01 0000230f: PUSH1 0xa0 00002311: SHL 00002312: SUB 00002313: PUSH32 0x00000000000000000000000000000000219ab540356cbb839cbe05303d7705fa 00002334: DUP2 00002335: AND 00002336: PUSH1 0xc4 00002338: DUP4 00002339: ADD 0000233a: MSTORE 0000233b: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000 0000235c: PUSH1 0xe4 0000235e: DUP4 0000235f: ADD 00002360: MSTORE 00002361: CALLVALUE 00002362: PUSH2 0x0104 00002365: DUP4 00002366: ADD 00002367: MSTORE 00002368: DUP6 00002369: AND 0000236a: PUSH2 0x0124 0000236d: DUP3 0000236e: ADD 0000236f: MSTORE 00002370: DUP4 00002371: ISZERO 00002372: ISZERO 00002373: PUSH2 0x0144 00002376: DUP3 00002377: ADD 00002378: MSTORE 00002379: PUSH20 0x9a4d116eda832bbbe6671d1a2f7bba58016787ac 0000238e: SWAP1 0000238f: PUSH4 0xedb045d4 00002394: SWAP1 00002395: PUSH2 0x0164 00002398: ADD 00002399: PUSH1 0x20 0000239b: PUSH1 0x40 0000239d: MLOAD 0000239e: DUP1 0000239f: DUP4 000023a0: SUB 000023a1: DUP2 000023a2: DUP7 000023a3: GAS 000023a4: DELEGATECALL 000023a5: ISZERO 000023a6: DUP1 000023a7: ISZERO 000023a8: PUSH2 0x23b3 000023ab: JUMPI 000023ac: RETURNDATASIZE 000023ad: PUSH0 000023ae: DUP1 000023af: RETURNDATACOPY 000023b0: RETURNDATASIZE 000023b1: PUSH0 000023b2: REVERT 000023b3: JUMPDEST 000023b4: POP 000023b5: POP 000023b6: POP 000023b7: POP 000023b8: PUSH1 0x40 000023ba: MLOAD 000023bb: RETURNDATASIZE 000023bc: PUSH1 0x1f 000023be: NOT 000023bf: PUSH1 0x1f 000023c1: DUP3 000023c2: ADD 000023c3: AND 000023c4: DUP3 000023c5: ADD 000023c6: DUP1 000023c7: PUSH1 0x40 000023c9: MSTORE 000023ca: POP 000023cb: DUP2 000023cc: ADD 000023cd: SWAP1 000023ce: PUSH2 0x23d7 000023d1: SWAP2 000023d2: SWAP1 000023d3: PUSH2 0x3eac 000023d6: JUMP 000023d7: JUMPDEST 000023d8: SWAP2 000023d9: POP 000023da: POP 000023db: PUSH2 0x0dbf 000023de: PUSH1 0x01 000023e0: PUSH0 000023e1: DUP1 000023e2: MLOAD 000023e3: PUSH1 0x20 000023e5: PUSH2 0x46ce 000023e8: DUP4 000023e9: CODECOPY 000023ea: DUP2 000023eb: MLOAD 000023ec: SWAP2 000023ed: MSTORE 000023ee: SSTORE 000023ef: JUMP 000023f0: JUMPDEST 000023f1: PUSH0 000023f2: DUP1 000023f3: MLOAD 000023f4: PUSH1 0x20 000023f6: PUSH2 0x466e 000023f9: DUP4 000023fa: CODECOPY 000023fb: DUP2 000023fc: MLOAD 000023fd: SWAP2 000023fe: MSTORE 000023ff: PUSH2 0x2407 00002402: DUP2 00002403: PUSH2 0x2b12 00002406: JUMP 00002407: JUMPDEST 00002408: PUSH1 0x40 0000240a: MLOAD 0000240b: PUSH4 0x023fb3df 00002410: PUSH1 0xe5 00002412: SHL 00002413: DUP2 00002414: MSTORE 00002415: PUSH1 0x32 00002417: PUSH1 0x04 00002419: DUP3 0000241a: ADD 0000241b: MSTORE 0000241c: PUSH1 0x3e 0000241e: PUSH1 0x24 00002420: DUP3 00002421: ADD 00002422: MSTORE 00002423: PUSH1 0x44 00002425: DUP2 00002426: ADD 00002427: DUP4 00002428: SWAP1 00002429: MSTORE 0000242a: PUSH20 0x2b827dd0e75e25b9d5c03424d88cd2709c62ed21 0000243f: SWAP1 00002440: PUSH4 0x47f67be0 00002445: SWAP1 00002446: PUSH1 0x64 00002448: ADD 00002449: PUSH2 0x0fd0 0000244c: JUMP 0000244d: JUMPDEST 0000244e: PUSH0 0000244f: DUP1 00002450: MLOAD 00002451: PUSH1 0x20 00002453: PUSH2 0x466e 00002456: DUP4 00002457: CODECOPY 00002458: DUP2 00002459: MLOAD 0000245a: SWAP2 0000245b: MSTORE 0000245c: PUSH2 0x2464 0000245f: DUP2 00002460: PUSH2 0x2b12 00002463: JUMP 00002464: JUMPDEST 00002465: PUSH1 0x40 00002467: MLOAD 00002468: PUSH4 0x72af118b 0000246d: PUSH1 0xe1 0000246f: SHL 00002470: DUP2 00002471: MSTORE 00002472: PUSH1 0x32 00002474: PUSH1 0x04 00002476: DUP3 00002477: ADD 00002478: MSTORE 00002479: PUSH20 0x2b827dd0e75e25b9d5c03424d88cd2709c62ed21 0000248e: SWAP1 0000248f: PUSH4 0xe55e2316 00002494: SWAP1 00002495: PUSH1 0x24 00002497: ADD 00002498: PUSH2 0x0cf3 0000249b: JUMP 0000249c: JUMPDEST 0000249d: PUSH0 0000249e: DUP1 0000249f: MLOAD 000024a0: PUSH1 0x20 000024a2: PUSH2 0x466e 000024a5: DUP4 000024a6: CODECOPY 000024a7: DUP2 000024a8: MLOAD 000024a9: SWAP2 000024aa: MSTORE 000024ab: PUSH2 0x24b3 000024ae: DUP2 000024af: PUSH2 0x2b12 000024b2: JUMP 000024b3: JUMPDEST 000024b4: PUSH1 0x40 000024b6: MLOAD 000024b7: PUSH4 0x0ee31c7f 000024bc: PUSH1 0xe0 000024be: SHL 000024bf: DUP2 000024c0: MSTORE 000024c1: PUSH1 0x32 000024c3: PUSH1 0x04 000024c5: DUP3 000024c6: ADD 000024c7: MSTORE 000024c8: PUSH1 0x24 000024ca: DUP2 000024cb: ADD 000024cc: DUP4 000024cd: SWAP1 000024ce: MSTORE 000024cf: PUSH20 0x2b827dd0e75e25b9d5c03424d88cd2709c62ed21 000024e4: SWAP1 000024e5: PUSH4 0x0ee31c7f 000024ea: SWAP1 000024eb: PUSH1 0x44 000024ed: ADD 000024ee: PUSH2 0x0fd0 000024f1: JUMP 000024f2: JUMPDEST 000024f3: PUSH0 000024f4: DUP1 000024f5: MLOAD 000024f6: PUSH1 0x20 000024f8: PUSH2 0x46ee 000024fb: DUP4 000024fc: CODECOPY 000024fd: DUP2 000024fe: MLOAD 000024ff: SWAP2 00002500: MSTORE 00002501: SLOAD 00002502: PUSH0 00002503: SWAP1 00002504: PUSH0 00002505: DUP1 00002506: MLOAD 00002507: PUSH1 0x20 00002509: PUSH2 0x468e 0000250c: DUP4 0000250d: CODECOPY 0000250e: DUP2 0000250f: MLOAD 00002510: SWAP2 00002511: MSTORE 00002512: SWAP1 00002513: PUSH1 0x01 00002515: PUSH1 0xd0 00002517: SHL 00002518: SWAP1 00002519: DIV 0000251a: PUSH6 0xffffffffffff 00002521: AND 00002522: DUP1 00002523: ISZERO 00002524: DUP1 00002525: ISZERO 00002526: SWAP1 00002527: PUSH2 0x2537 0000252a: JUMPI 0000252b: POP 0000252c: TIMESTAMP 0000252d: PUSH6 0xffffffffffff 00002534: DUP3 00002535: AND 00002536: LT 00002537: JUMPDEST 00002538: PUSH2 0x2551 0000253b: JUMPI 0000253c: DUP2 0000253d: SLOAD 0000253e: PUSH1 0x01 00002540: PUSH1 0xd0 00002542: SHL 00002543: SWAP1 00002544: DIV 00002545: PUSH6 0xffffffffffff 0000254c: AND 0000254d: PUSH2 0x2566 00002550: JUMP 00002551: JUMPDEST 00002552: PUSH1 0x01 00002554: DUP3 00002555: ADD 00002556: SLOAD 00002557: PUSH1 0x01 00002559: PUSH1 0xa0 0000255b: SHL 0000255c: SWAP1 0000255d: DIV 0000255e: PUSH6 0xffffffffffff 00002565: AND 00002566: JUMPDEST 00002567: SWAP3 00002568: POP 00002569: POP 0000256a: POP 0000256b: SWAP1 0000256c: JUMP 0000256d: JUMPDEST 0000256e: PUSH0 0000256f: PUSH2 0x2576 00002572: PUSH2 0x25ac 00002575: JUMP 00002576: JUMPDEST 00002577: POP 00002578: SWAP1 00002579: POP 0000257a: CALLER 0000257b: PUSH1 0x01 0000257d: PUSH1 0x01 0000257f: PUSH1 0xa0 00002581: SHL 00002582: SUB 00002583: DUP3 00002584: AND 00002585: EQ 00002586: PUSH2 0x25a4 00002589: JUMPI 0000258a: PUSH1 0x40 0000258c: MLOAD 0000258d: PUSH4 0x61164011 00002592: PUSH1 0xe1 00002594: SHL 00002595: DUP2 00002596: MSTORE 00002597: CALLER 00002598: PUSH1 0x04 0000259a: DUP3 0000259b: ADD 0000259c: MSTORE 0000259d: PUSH1 0x24 0000259f: ADD 000025a0: PUSH2 0x1121 000025a3: JUMP 000025a4: JUMPDEST 000025a5: PUSH2 0x0e5e 000025a8: PUSH2 0x2cda 000025ab: JUMP 000025ac: JUMPDEST 000025ad: PUSH0 000025ae: DUP1 000025af: MLOAD 000025b0: PUSH1 0x20 000025b2: PUSH2 0x468e 000025b5: DUP4 000025b6: CODECOPY 000025b7: DUP2 000025b8: MLOAD 000025b9: SWAP2 000025ba: MSTORE 000025bb: SLOAD 000025bc: PUSH1 0x01 000025be: PUSH1 0x01 000025c0: PUSH1 0xa0 000025c2: SHL 000025c3: SUB 000025c4: DUP2 000025c5: AND 000025c6: SWAP2 000025c7: PUSH1 0x01 000025c9: PUSH1 0xa0 000025cb: SHL 000025cc: SWAP1 000025cd: SWAP2 000025ce: DIV 000025cf: PUSH6 0xffffffffffff 000025d6: AND 000025d7: SWAP1 000025d8: JUMP 000025d9: JUMPDEST 000025da: PUSH0 000025db: DUP1 000025dc: MLOAD 000025dd: PUSH1 0x20 000025df: PUSH2 0x466e 000025e2: DUP4 000025e3: CODECOPY 000025e4: DUP2 000025e5: MLOAD 000025e6: SWAP2 000025e7: MSTORE 000025e8: PUSH2 0x25f0 000025eb: DUP2 000025ec: PUSH2 0x2b12 000025ef: JUMP 000025f0: JUMPDEST 000025f1: PUSH1 0x36 000025f3: SLOAD 000025f4: PUSH0 000025f5: NOT 000025f6: ADD 000025f7: PUSH2 0x2613 000025fa: JUMPI 000025fb: PUSH1 0x40 000025fd: MLOAD 000025fe: PUSH4 0x8a4560db 00002603: PUSH1 0xe0 00002605: SHL 00002606: DUP2 00002607: MSTORE 00002608: PUSH1 0x04 0000260a: ADD 0000260b: PUSH1 0x40 0000260d: MLOAD 0000260e: DUP1 0000260f: SWAP2 00002610: SUB 00002611: SWAP1 00002612: REVERT 00002613: JUMPDEST 00002614: PUSH1 0x40 00002616: MLOAD 00002617: PUSH4 0x8744151d 0000261c: PUSH1 0xe0 0000261e: SHL 0000261f: DUP2 00002620: MSTORE 00002621: PUSH20 0x583c299ba5c6cad55fdd89a3534f14fe8b4c90d6 00002636: SWAP1 00002637: PUSH4 0x8744151d 0000263c: SWAP1 0000263d: PUSH2 0x265b 00002640: SWAP1 00002641: PUSH1 0x32 00002643: SWAP1 00002644: PUSH1 0x3e 00002646: SWAP1 00002647: DUP10 00002648: SWAP1 00002649: DUP12 0000264a: SWAP1 0000264b: DUP14 0000264c: SWAP1 0000264d: PUSH1 0x4a 0000264f: SWAP1 00002650: DUP13 00002651: SWAP1 00002652: DUP13 00002653: SWAP1 00002654: PUSH1 0x04 00002656: ADD 00002657: PUSH2 0x45de 0000265a: JUMP 0000265b: JUMPDEST 0000265c: PUSH0 0000265d: PUSH1 0x40 0000265f: MLOAD 00002660: DUP1 00002661: DUP4 00002662: SUB 00002663: DUP2 00002664: DUP7 00002665: DUP1 00002666: EXTCODESIZE 00002667: ISZERO 00002668: DUP1 00002669: ISZERO 0000266a: PUSH2 0x2671 0000266d: JUMPI 0000266e: PUSH0 0000266f: DUP1 00002670: REVERT 00002671: JUMPDEST 00002672: POP 00002673: GAS 00002674: DELEGATECALL 00002675: ISZERO 00002676: DUP1 00002677: ISZERO 00002678: PUSH2 0x2683 0000267b: JUMPI 0000267c: RETURNDATASIZE 0000267d: PUSH0 0000267e: DUP1 0000267f: RETURNDATACOPY 00002680: RETURNDATASIZE 00002681: PUSH0 00002682: REVERT 00002683: JUMPDEST 00002684: POP 00002685: POP 00002686: POP 00002687: POP 00002688: POP 00002689: POP 0000268a: POP 0000268b: POP 0000268c: POP 0000268d: POP 0000268e: JUMP 0000268f: JUMPDEST 00002690: DUP2 00002691: PUSH2 0x26ad 00002694: JUMPI 00002695: PUSH1 0x40 00002697: MLOAD 00002698: PUSH4 0x1fe1e13d 0000269d: PUSH1 0xe1 0000269f: SHL 000026a0: DUP2 000026a1: MSTORE 000026a2: PUSH1 0x04 000026a4: ADD 000026a5: PUSH1 0x40 000026a7: MLOAD 000026a8: DUP1 000026a9: SWAP2 000026aa: SUB 000026ab: SWAP1 000026ac: REVERT 000026ad: JUMPDEST 000026ae: PUSH2 0x1081 000026b1: DUP3 000026b2: DUP3 000026b3: PUSH2 0x2d73 000026b6: JUMP 000026b7: JUMPDEST 000026b8: PUSH0 000026b9: PUSH2 0x26c1 000026bc: DUP2 000026bd: PUSH2 0x2b12 000026c0: JUMP 000026c1: JUMPDEST 000026c2: PUSH2 0x0e5e 000026c5: PUSH2 0x2d8f 000026c8: JUMP 000026c9: JUMPDEST 000026ca: PUSH0 000026cb: DUP1 000026cc: MLOAD 000026cd: PUSH1 0x20 000026cf: PUSH2 0x466e 000026d2: DUP4 000026d3: CODECOPY 000026d4: DUP2 000026d5: MLOAD 000026d6: SWAP2 000026d7: MSTORE 000026d8: PUSH2 0x26e0 000026db: DUP2 000026dc: PUSH2 0x2b12 000026df: JUMP 000026e0: JUMPDEST 000026e1: PUSH1 0x40 000026e3: MLOAD 000026e4: PUSH4 0xa69d6885 000026e9: PUSH1 0xe0 000026eb: SHL 000026ec: DUP2 000026ed: MSTORE 000026ee: PUSH20 0x2b827dd0e75e25b9d5c03424d88cd2709c62ed21 00002703: SWAP1 00002704: PUSH4 0xa69d6885 00002709: SWAP1 0000270a: PUSH2 0x0e1b 0000270d: SWAP1 0000270e: PUSH1 0x4b 00002710: SWAP1 00002711: PUSH1 0x4c 00002713: SWAP1 00002714: DUP9 00002715: SWAP1 00002716: DUP9 00002717: SWAP1 00002718: PUSH1 0x04 0000271a: ADD 0000271b: PUSH2 0x3ec3 0000271e: JUMP 0000271f: JUMPDEST 00002720: PUSH1 0x43 00002722: SLOAD 00002723: PUSH1 0x01 00002725: PUSH1 0x01 00002727: PUSH1 0xa0 00002729: SHL 0000272a: SUB 0000272b: AND 0000272c: CALLER 0000272d: EQ 0000272e: PUSH2 0x274a 00002731: JUMPI 00002732: PUSH1 0x40 00002734: MLOAD 00002735: PUSH4 0xb5674cfd 0000273a: PUSH1 0xe0 0000273c: SHL 0000273d: DUP2 0000273e: MSTORE 0000273f: PUSH1 0x04 00002741: ADD 00002742: PUSH1 0x40 00002744: MLOAD 00002745: DUP1 00002746: SWAP2 00002747: SUB 00002748: SWAP1 00002749: REVERT 0000274a: JUMPDEST 0000274b: PUSH1 0x40 0000274d: MLOAD 0000274e: PUSH4 0x0e3aa191 00002753: PUSH1 0xe1 00002755: SHL 00002756: DUP2 00002757: MSTORE 00002758: PUSH1 0x32 0000275a: PUSH1 0x04 0000275c: DUP3 0000275d: ADD 0000275e: MSTORE 0000275f: PUSH1 0x3e 00002761: PUSH1 0x24 00002763: DUP3 00002764: ADD 00002765: MSTORE 00002766: PUSH1 0x44 00002768: DUP1 00002769: DUP3 0000276a: ADD 0000276b: MSTORE 0000276c: PUSH1 0x46 0000276e: PUSH1 0x64 00002770: DUP3 00002771: ADD 00002772: MSTORE 00002773: PUSH1 0x48 00002775: PUSH1 0x84 00002777: DUP3 00002778: ADD 00002779: MSTORE 0000277a: PUSH32 0x000000000000000000000000000000000000000000000001bc16d674ec800000 0000279b: PUSH1 0xa4 0000279d: DUP3 0000279e: ADD 0000279f: MSTORE 000027a0: PUSH1 0x01 000027a2: PUSH1 0x01 000027a4: PUSH1 0xa0 000027a6: SHL 000027a7: SUB 000027a8: PUSH32 0x00000000000000000000000000000000219ab540356cbb839cbe05303d7705fa 000027c9: AND 000027ca: PUSH1 0xc4 000027cc: DUP3 000027cd: ADD 000027ce: MSTORE 000027cf: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000 000027f0: PUSH1 0xe4 000027f2: DUP3 000027f3: ADD 000027f4: MSTORE 000027f5: PUSH2 0x0104 000027f8: DUP2 000027f9: ADD 000027fa: DUP3 000027fb: SWAP1 000027fc: MSTORE 000027fd: CALLVALUE 000027fe: PUSH2 0x0124 00002801: DUP3 00002802: ADD 00002803: MSTORE 00002804: PUSH20 0x9a4d116eda832bbbe6671d1a2f7bba58016787ac 00002819: SWAP1 0000281a: PUSH4 0x1c754322 0000281f: SWAP1 00002820: PUSH2 0x0144 00002823: ADD 00002824: PUSH2 0x0cf3 00002827: JUMP 00002828: JUMPDEST 00002829: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00 0000284a: DUP1 0000284b: SLOAD 0000284c: PUSH1 0x01 0000284e: PUSH1 0x40 00002850: SHL 00002851: DUP2 00002852: DIV 00002853: PUSH1 0xff 00002855: AND 00002856: ISZERO 00002857: SWAP1 00002858: PUSH1 0x01 0000285a: PUSH1 0x01 0000285c: PUSH1 0x40 0000285e: SHL 0000285f: SUB 00002860: AND 00002861: PUSH0 00002862: DUP2 00002863: ISZERO 00002864: DUP1 00002865: ISZERO 00002866: PUSH2 0x286c 00002869: JUMPI 0000286a: POP 0000286b: DUP3 0000286c: JUMPDEST 0000286d: SWAP1 0000286e: POP 0000286f: PUSH0 00002870: DUP3 00002871: PUSH1 0x01 00002873: PUSH1 0x01 00002875: PUSH1 0x40 00002877: SHL 00002878: SUB 00002879: AND 0000287a: PUSH1 0x01 0000287c: EQ 0000287d: DUP1 0000287e: ISZERO 0000287f: PUSH2 0x2887 00002882: JUMPI 00002883: POP 00002884: ADDRESS 00002885: EXTCODESIZE 00002886: ISZERO 00002887: JUMPDEST 00002888: SWAP1 00002889: POP 0000288a: DUP2 0000288b: ISZERO 0000288c: DUP1 0000288d: ISZERO 0000288e: PUSH2 0x2895 00002891: JUMPI 00002892: POP 00002893: DUP1 00002894: ISZERO 00002895: JUMPDEST 00002896: ISZERO 00002897: PUSH2 0x28b3 0000289a: JUMPI 0000289b: PUSH1 0x40 0000289d: MLOAD 0000289e: PUSH4 0xf92ee8a9 000028a3: PUSH1 0xe0 000028a5: SHL 000028a6: DUP2 000028a7: MSTORE 000028a8: PUSH1 0x04 000028aa: ADD 000028ab: PUSH1 0x40 000028ad: MLOAD 000028ae: DUP1 000028af: SWAP2 000028b0: SUB 000028b1: SWAP1 000028b2: REVERT 000028b3: JUMPDEST 000028b4: DUP5 000028b5: SLOAD 000028b6: PUSH8 0xffffffffffffffff 000028bf: NOT 000028c0: AND 000028c1: PUSH1 0x01 000028c3: OR 000028c4: DUP6 000028c5: SSTORE 000028c6: DUP4 000028c7: ISZERO 000028c8: PUSH2 0x28dd 000028cb: JUMPI 000028cc: DUP5 000028cd: SLOAD 000028ce: PUSH1 0xff 000028d0: PUSH1 0x40 000028d2: SHL 000028d3: NOT 000028d4: AND 000028d5: PUSH1 0x01 000028d7: PUSH1 0x40 000028d9: SHL 000028da: OR 000028db: DUP6 000028dc: SSTORE 000028dd: JUMPDEST 000028de: PUSH2 0x28e9 000028e1: DUP10 000028e2: DUP10 000028e3: DUP10 000028e4: DUP10 000028e5: PUSH2 0x2d99 000028e8: JUMP 000028e9: JUMPDEST 000028ea: PUSH1 0x4b 000028ec: PUSH1 0x20 000028ee: MSTORE 000028ef: PUSH32 0xa616258785d57c6565e8210a7a01441f8018ea52e0ce6d2ea56b8099c64a4d75 00002910: DUP1 00002911: SLOAD 00002912: PUSH3 0x030d40 00002916: PUSH4 0xffffffff 0000291b: NOT 0000291c: SWAP2 0000291d: DUP3 0000291e: AND 0000291f: DUP2 00002920: OR 00002921: SWAP1 00002922: SWAP3 00002923: SSTORE 00002924: PUSH1 0x02 00002926: PUSH0 00002927: MSTORE 00002928: PUSH32 0xed8fe69440ed7378c748b48bdf0a382a8b2b7193fd6134dd2b323f6392cefa4d 00002949: DUP1 0000294a: SLOAD 0000294b: SWAP1 0000294c: SWAP2 0000294d: AND 0000294e: SWAP1 0000294f: SWAP2 00002950: OR 00002951: SWAP1 00002952: SSTORE 00002953: PUSH1 0x01 00002955: PUSH1 0x3c 00002957: SSTORE 00002958: DUP4 00002959: ISZERO 0000295a: PUSH2 0x0f4b 0000295d: JUMPI 0000295e: DUP5 0000295f: SLOAD 00002960: PUSH1 0xff 00002962: PUSH1 0x40 00002964: SHL 00002965: NOT 00002966: AND 00002967: DUP6 00002968: SSTORE 00002969: PUSH1 0x40 0000296b: MLOAD 0000296c: PUSH1 0x01 0000296e: DUP2 0000296f: MSTORE 00002970: PUSH32 0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2 00002991: SWAP1 00002992: PUSH1 0x20 00002994: ADD 00002995: JUMPDEST 00002996: PUSH1 0x40 00002998: MLOAD 00002999: DUP1 0000299a: SWAP2 0000299b: SUB 0000299c: SWAP1 0000299d: LOG1 0000299e: POP 0000299f: POP 000029a0: POP 000029a1: POP 000029a2: POP 000029a3: POP 000029a4: POP 000029a5: POP 000029a6: POP 000029a7: JUMP 000029a8: JUMPDEST 000029a9: PUSH1 0x3c 000029ab: SLOAD 000029ac: PUSH1 0x01 000029ae: NOT 000029af: ADD 000029b0: PUSH2 0x29cc 000029b3: JUMPI 000029b4: PUSH1 0x40 000029b6: MLOAD 000029b7: PUSH4 0x13d0ff59 000029bc: PUSH1 0xe3 000029be: SHL 000029bf: DUP2 000029c0: MSTORE 000029c1: PUSH1 0x04 000029c3: ADD 000029c4: PUSH1 0x40 000029c6: MLOAD 000029c7: DUP1 000029c8: SWAP2 000029c9: SUB 000029ca: SWAP1 000029cb: REVERT 000029cc: JUMPDEST 000029cd: PUSH2 0x29d4 000029d0: PUSH2 0x2b5a 000029d3: JUMP 000029d4: JUMPDEST 000029d5: PUSH1 0x40 000029d7: MLOAD 000029d8: PUSH4 0x9ae86e7f 000029dd: PUSH1 0xe0 000029df: SHL 000029e0: DUP2 000029e1: MSTORE 000029e2: PUSH1 0x48 000029e4: PUSH1 0x04 000029e6: DUP3 000029e7: ADD 000029e8: MSTORE 000029e9: PUSH1 0x49 000029eb: PUSH1 0x24 000029ed: DUP3 000029ee: ADD 000029ef: MSTORE 000029f0: PUSH1 0x32 000029f2: PUSH1 0x44 000029f4: DUP3 000029f5: ADD 000029f6: MSTORE 000029f7: PUSH1 0x3e 000029f9: PUSH1 0x64 000029fb: DUP3 000029fc: ADD 000029fd: MSTORE 000029fe: PUSH1 0x84 00002a00: DUP2 00002a01: ADD 00002a02: DUP5 00002a03: SWAP1 00002a04: MSTORE 00002a05: PUSH1 0xa4 00002a07: DUP2 00002a08: ADD 00002a09: DUP4 00002a0a: SWAP1 00002a0b: MSTORE 00002a0c: PUSH1 0x01 00002a0e: PUSH1 0x01 00002a10: PUSH1 0xa0 00002a12: SHL 00002a13: SUB 00002a14: DUP3 00002a15: AND 00002a16: PUSH1 0xc4 00002a18: DUP3 00002a19: ADD 00002a1a: MSTORE 00002a1b: PUSH20 0x583c299ba5c6cad55fdd89a3534f14fe8b4c90d6 00002a30: SWAP1 00002a31: PUSH4 0x9ae86e7f 00002a36: SWAP1 00002a37: PUSH1 0xe4 00002a39: ADD 00002a3a: PUSH0 00002a3b: PUSH1 0x40 00002a3d: MLOAD 00002a3e: DUP1 00002a3f: DUP4 00002a40: SUB 00002a41: DUP2 00002a42: DUP7 00002a43: DUP1 00002a44: EXTCODESIZE 00002a45: ISZERO 00002a46: DUP1 00002a47: ISZERO 00002a48: PUSH2 0x2a4f 00002a4b: JUMPI 00002a4c: PUSH0 00002a4d: DUP1 00002a4e: REVERT 00002a4f: JUMPDEST 00002a50: POP 00002a51: GAS 00002a52: DELEGATECALL 00002a53: ISZERO 00002a54: DUP1 00002a55: ISZERO 00002a56: PUSH2 0x2a61 00002a59: JUMPI 00002a5a: RETURNDATASIZE 00002a5b: PUSH0 00002a5c: DUP1 00002a5d: RETURNDATACOPY 00002a5e: RETURNDATASIZE 00002a5f: PUSH0 00002a60: REVERT 00002a61: JUMPDEST 00002a62: POP 00002a63: POP 00002a64: POP 00002a65: POP 00002a66: PUSH2 0x1147 00002a69: PUSH1 0x01 00002a6b: PUSH0 00002a6c: DUP1 00002a6d: MLOAD 00002a6e: PUSH1 0x20 00002a70: PUSH2 0x46ce 00002a73: DUP4 00002a74: CODECOPY 00002a75: DUP2 00002a76: MLOAD 00002a77: SWAP2 00002a78: MSTORE 00002a79: SSTORE 00002a7a: JUMP 00002a7b: JUMPDEST 00002a7c: PUSH1 0x49 00002a7e: PUSH1 0x20 00002a80: MSTORE 00002a81: PUSH0 00002a82: SWAP1 00002a83: DUP2 00002a84: MSTORE 00002a85: PUSH1 0x40 00002a87: SWAP1 00002a88: KECCAK256 00002a89: DUP1 00002a8a: SLOAD 00002a8b: PUSH2 0x2a93 00002a8e: SWAP1 00002a8f: PUSH2 0x41a2 00002a92: JUMP 00002a93: JUMPDEST 00002a94: DUP1 00002a95: PUSH1 0x1f 00002a97: ADD 00002a98: PUSH1 0x20 00002a9a: DUP1 00002a9b: SWAP2 00002a9c: DIV 00002a9d: MUL 00002a9e: PUSH1 0x20 00002aa0: ADD 00002aa1: PUSH1 0x40 00002aa3: MLOAD 00002aa4: SWAP1 00002aa5: DUP2 00002aa6: ADD 00002aa7: PUSH1 0x40 00002aa9: MSTORE 00002aaa: DUP1 00002aab: SWAP3 00002aac: SWAP2 00002aad: SWAP1 00002aae: DUP2 00002aaf: DUP2 00002ab0: MSTORE 00002ab1: PUSH1 0x20 00002ab3: ADD 00002ab4: DUP3 00002ab5: DUP1 00002ab6: SLOAD 00002ab7: PUSH2 0x2abf 00002aba: SWAP1 00002abb: PUSH2 0x41a2 00002abe: JUMP 00002abf: JUMPDEST 00002ac0: DUP1 00002ac1: ISZERO 00002ac2: PUSH2 0x2b0a 00002ac5: JUMPI 00002ac6: DUP1 00002ac7: PUSH1 0x1f 00002ac9: LT 00002aca: PUSH2 0x2ae1 00002acd: JUMPI 00002ace: PUSH2 0x0100 00002ad1: DUP1 00002ad2: DUP4 00002ad3: SLOAD 00002ad4: DIV 00002ad5: MUL 00002ad6: DUP4 00002ad7: MSTORE 00002ad8: SWAP2 00002ad9: PUSH1 0x20 00002adb: ADD 00002adc: SWAP2 00002add: PUSH2 0x2b0a 00002ae0: JUMP 00002ae1: JUMPDEST 00002ae2: DUP3 00002ae3: ADD 00002ae4: SWAP2 00002ae5: SWAP1 00002ae6: PUSH0 00002ae7: MSTORE 00002ae8: PUSH1 0x20 00002aea: PUSH0 00002aeb: KECCAK256 00002aec: SWAP1 00002aed: JUMPDEST 00002aee: DUP2 00002aef: SLOAD 00002af0: DUP2 00002af1: MSTORE 00002af2: SWAP1 00002af3: PUSH1 0x01 00002af5: ADD 00002af6: SWAP1 00002af7: PUSH1 0x20 00002af9: ADD 00002afa: DUP1 00002afb: DUP4 00002afc: GT 00002afd: PUSH2 0x2aed 00002b00: JUMPI 00002b01: DUP3 00002b02: SWAP1 00002b03: SUB 00002b04: PUSH1 0x1f 00002b06: AND 00002b07: DUP3 00002b08: ADD 00002b09: SWAP2 00002b0a: JUMPDEST 00002b0b: POP 00002b0c: POP 00002b0d: POP 00002b0e: POP 00002b0f: POP 00002b10: DUP2 00002b11: JUMP 00002b12: JUMPDEST 00002b13: PUSH2 0x0e5e 00002b16: DUP2 00002b17: CALLER 00002b18: PUSH2 0x2f2a 00002b1b: JUMP 00002b1c: JUMPDEST 00002b1d: PUSH0 00002b1e: PUSH1 0x01 00002b20: PUSH1 0x01 00002b22: PUSH1 0xe0 00002b24: SHL 00002b25: SUB 00002b26: NOT 00002b27: DUP3 00002b28: AND 00002b29: PUSH4 0x7965db0b 00002b2e: PUSH1 0xe0 00002b30: SHL 00002b31: EQ 00002b32: DUP1 00002b33: PUSH2 0x0dbf 00002b36: JUMPI 00002b37: POP 00002b38: PUSH4 0x01ffc9a7 00002b3d: PUSH1 0xe0 00002b3f: SHL 00002b40: PUSH1 0x01 00002b42: PUSH1 0x01 00002b44: PUSH1 0xe0 00002b46: SHL 00002b47: SUB 00002b48: NOT 00002b49: DUP4 00002b4a: AND 00002b4b: EQ 00002b4c: PUSH2 0x0dbf 00002b4f: JUMP 00002b50: JUMPDEST 00002b51: PUSH2 0x199b 00002b54: PUSH0 00002b55: DUP1 00002b56: PUSH2 0x2f63 00002b59: JUMP 00002b5a: JUMPDEST 00002b5b: PUSH0 00002b5c: DUP1 00002b5d: MLOAD 00002b5e: PUSH1 0x20 00002b60: PUSH2 0x46ce 00002b63: DUP4 00002b64: CODECOPY 00002b65: DUP2 00002b66: MLOAD 00002b67: SWAP2 00002b68: MSTORE 00002b69: DUP1 00002b6a: SLOAD 00002b6b: PUSH1 0x01 00002b6d: NOT 00002b6e: ADD 00002b6f: PUSH2 0x2b8b 00002b72: JUMPI 00002b73: PUSH1 0x40 00002b75: MLOAD 00002b76: PUSH4 0x3ee5aeb5 00002b7b: PUSH1 0xe0 00002b7d: SHL 00002b7e: DUP2 00002b7f: MSTORE 00002b80: PUSH1 0x04 00002b82: ADD 00002b83: PUSH1 0x40 00002b85: MLOAD 00002b86: DUP1 00002b87: SWAP2 00002b88: SUB 00002b89: SWAP1 00002b8a: REVERT 00002b8b: JUMPDEST 00002b8c: PUSH1 0x02 00002b8e: SWAP1 00002b8f: SSTORE 00002b90: JUMP 00002b91: JUMPDEST 00002b92: PUSH1 0x01 00002b94: PUSH0 00002b95: DUP1 00002b96: MLOAD 00002b97: PUSH1 0x20 00002b99: PUSH2 0x46ce 00002b9c: DUP4 00002b9d: CODECOPY 00002b9e: DUP2 00002b9f: MLOAD 00002ba0: SWAP2 00002ba1: MSTORE 00002ba2: SSTORE 00002ba3: JUMP 00002ba4: JUMPDEST 00002ba5: PUSH2 0x2bad 00002ba8: DUP3 00002ba9: PUSH2 0x1000 00002bac: JUMP 00002bad: JUMPDEST 00002bae: PUSH2 0x2bb6 00002bb1: DUP2 00002bb2: PUSH2 0x2b12 00002bb5: JUMP 00002bb6: JUMPDEST 00002bb7: PUSH2 0x2bc0 00002bba: DUP4 00002bbb: DUP4 00002bbc: PUSH2 0x303b 00002bbf: JUMP 00002bc0: JUMPDEST 00002bc1: POP 00002bc2: POP 00002bc3: POP 00002bc4: POP 00002bc5: JUMP 00002bc6: JUMPDEST 00002bc7: PUSH1 0x01 00002bc9: PUSH1 0x01 00002bcb: PUSH1 0xa0 00002bcd: SHL 00002bce: SUB 00002bcf: DUP2 00002bd0: AND 00002bd1: CALLER 00002bd2: EQ 00002bd3: PUSH2 0x2bef 00002bd6: JUMPI 00002bd7: PUSH1 0x40 00002bd9: MLOAD 00002bda: PUSH4 0x334bd919 00002bdf: PUSH1 0xe1 00002be1: SHL 00002be2: DUP2 00002be3: MSTORE 00002be4: PUSH1 0x04 00002be6: ADD 00002be7: PUSH1 0x40 00002be9: MLOAD 00002bea: DUP1 00002beb: SWAP2 00002bec: SUB 00002bed: SWAP1 00002bee: REVERT 00002bef: JUMPDEST 00002bf0: PUSH2 0x1147 00002bf3: DUP3 00002bf4: DUP3 00002bf5: PUSH2 0x30af 00002bf8: JUMP 00002bf9: JUMPDEST 00002bfa: PUSH0 00002bfb: PUSH2 0x2c02 00002bfe: PUSH2 0x24f2 00002c01: JUMP 00002c02: JUMPDEST 00002c03: PUSH2 0x2c0b 00002c06: TIMESTAMP 00002c07: PUSH2 0x3106 00002c0a: JUMP 00002c0b: JUMPDEST 00002c0c: PUSH2 0x2c15 00002c0f: SWAP2 00002c10: SWAP1 00002c11: PUSH2 0x462f 00002c14: JUMP 00002c15: JUMPDEST 00002c16: SWAP1 00002c17: POP 00002c18: PUSH2 0x2c21 00002c1b: DUP3 00002c1c: DUP3 00002c1d: PUSH2 0x313c 00002c20: JUMP 00002c21: JUMPDEST 00002c22: PUSH1 0x40 00002c24: MLOAD 00002c25: PUSH6 0xffffffffffff 00002c2c: DUP3 00002c2d: AND 00002c2e: DUP2 00002c2f: MSTORE 00002c30: PUSH1 0x01 00002c32: PUSH1 0x01 00002c34: PUSH1 0xa0 00002c36: SHL 00002c37: SUB 00002c38: DUP4 00002c39: AND 00002c3a: SWAP1 00002c3b: PUSH32 0x3377dc44241e779dd06afab5b788a35ca5f3b778836e2990bdb26a2a4b2e5ed6 00002c5c: SWAP1 00002c5d: PUSH1 0x20 00002c5f: ADD 00002c60: PUSH1 0x40 00002c62: MLOAD 00002c63: DUP1 00002c64: SWAP2 00002c65: SUB 00002c66: SWAP1 00002c67: LOG2 00002c68: POP 00002c69: POP 00002c6a: JUMP 00002c6b: JUMPDEST 00002c6c: PUSH0 00002c6d: PUSH2 0x2c75 00002c70: DUP3 00002c71: PUSH2 0x31c6 00002c74: JUMP 00002c75: JUMPDEST 00002c76: PUSH2 0x2c7e 00002c79: TIMESTAMP 00002c7a: PUSH2 0x3106 00002c7d: JUMP 00002c7e: JUMPDEST 00002c7f: PUSH2 0x2c88 00002c82: SWAP2 00002c83: SWAP1 00002c84: PUSH2 0x462f 00002c87: JUMP 00002c88: JUMPDEST 00002c89: SWAP1 00002c8a: POP 00002c8b: PUSH2 0x2c94 00002c8e: DUP3 00002c8f: DUP3 00002c90: PUSH2 0x2f63 00002c93: JUMP 00002c94: JUMPDEST 00002c95: PUSH1 0x40 00002c97: DUP1 00002c98: MLOAD 00002c99: PUSH6 0xffffffffffff 00002ca0: DUP1 00002ca1: DUP6 00002ca2: AND 00002ca3: DUP3 00002ca4: MSTORE 00002ca5: DUP4 00002ca6: AND 00002ca7: PUSH1 0x20 00002ca9: DUP3 00002caa: ADD 00002cab: MSTORE 00002cac: PUSH32 0xf1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b 00002ccd: SWAP2 00002cce: ADD 00002ccf: PUSH1 0x40 00002cd1: MLOAD 00002cd2: DUP1 00002cd3: SWAP2 00002cd4: SUB 00002cd5: SWAP1 00002cd6: LOG1 00002cd7: POP 00002cd8: POP 00002cd9: JUMP 00002cda: JUMPDEST 00002cdb: PUSH0 00002cdc: DUP1 00002cdd: MLOAD 00002cde: PUSH1 0x20 00002ce0: PUSH2 0x468e 00002ce3: DUP4 00002ce4: CODECOPY 00002ce5: DUP2 00002ce6: MLOAD 00002ce7: SWAP2 00002ce8: MSTORE 00002ce9: PUSH0 00002cea: DUP1 00002ceb: PUSH2 0x2cf2 00002cee: PUSH2 0x25ac 00002cf1: JUMP 00002cf2: JUMPDEST 00002cf3: SWAP2 00002cf4: POP 00002cf5: SWAP2 00002cf6: POP 00002cf7: PUSH2 0x2d07 00002cfa: DUP2 00002cfb: PUSH6 0xffffffffffff 00002d02: AND 00002d03: ISZERO 00002d04: ISZERO 00002d05: SWAP1 00002d06: JUMP 00002d07: JUMPDEST 00002d08: ISZERO 00002d09: DUP1 00002d0a: PUSH2 0x2d1b 00002d0d: JUMPI 00002d0e: POP 00002d0f: TIMESTAMP 00002d10: PUSH6 0xffffffffffff 00002d17: DUP3 00002d18: AND 00002d19: LT 00002d1a: ISZERO 00002d1b: JUMPDEST 00002d1c: ISZERO 00002d1d: PUSH2 0x2d43 00002d20: JUMPI 00002d21: PUSH1 0x40 00002d23: MLOAD 00002d24: PUSH4 0x19ca5ebb 00002d29: PUSH1 0xe0 00002d2b: SHL 00002d2c: DUP2 00002d2d: MSTORE 00002d2e: PUSH6 0xffffffffffff 00002d35: DUP3 00002d36: AND 00002d37: PUSH1 0x04 00002d39: DUP3 00002d3a: ADD 00002d3b: MSTORE 00002d3c: PUSH1 0x24 00002d3e: ADD 00002d3f: PUSH2 0x1121 00002d42: JUMP 00002d43: JUMPDEST 00002d44: PUSH2 0x2d54 00002d47: PUSH0 00002d48: PUSH2 0x2d4f 00002d4b: PUSH2 0x1f4d 00002d4e: JUMP 00002d4f: JUMPDEST 00002d50: PUSH2 0x30af 00002d53: JUMP 00002d54: JUMPDEST 00002d55: POP 00002d56: PUSH2 0x2d5f 00002d59: PUSH0 00002d5a: DUP4 00002d5b: PUSH2 0x303b 00002d5e: JUMP 00002d5f: JUMPDEST 00002d60: POP 00002d61: POP 00002d62: DUP2 00002d63: SLOAD 00002d64: PUSH1 0x01 00002d66: PUSH1 0x01 00002d68: PUSH1 0xd0 00002d6a: SHL 00002d6b: SUB 00002d6c: NOT 00002d6d: AND 00002d6e: SWAP1 00002d6f: SWAP2 00002d70: SSTORE 00002d71: POP 00002d72: JUMP 00002d73: JUMPDEST 00002d74: PUSH2 0x2d7c 00002d77: DUP3 00002d78: PUSH2 0x1000 00002d7b: JUMP 00002d7c: JUMPDEST 00002d7d: PUSH2 0x2d85 00002d80: DUP2 00002d81: PUSH2 0x2b12 00002d84: JUMP 00002d85: JUMPDEST 00002d86: PUSH2 0x2bc0 00002d89: DUP4 00002d8a: DUP4 00002d8b: PUSH2 0x30af 00002d8e: JUMP 00002d8f: JUMPDEST 00002d90: PUSH2 0x199b 00002d93: PUSH0 00002d94: DUP1 00002d95: PUSH2 0x313c 00002d98: JUMP 00002d99: JUMPDEST 00002d9a: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00 00002dbb: DUP1 00002dbc: SLOAD 00002dbd: PUSH1 0x01 00002dbf: PUSH1 0x40 00002dc1: SHL 00002dc2: DUP2 00002dc3: DIV 00002dc4: PUSH1 0xff 00002dc6: AND 00002dc7: ISZERO 00002dc8: SWAP1 00002dc9: PUSH1 0x01 00002dcb: PUSH1 0x01 00002dcd: PUSH1 0x40 00002dcf: SHL 00002dd0: SUB 00002dd1: AND 00002dd2: PUSH0 00002dd3: DUP2 00002dd4: ISZERO 00002dd5: DUP1 00002dd6: ISZERO 00002dd7: PUSH2 0x2ddd 00002dda: JUMPI 00002ddb: POP 00002ddc: DUP3 00002ddd: JUMPDEST 00002dde: SWAP1 00002ddf: POP 00002de0: PUSH0 00002de1: DUP3 00002de2: PUSH1 0x01 00002de4: PUSH1 0x01 00002de6: PUSH1 0x40 00002de8: SHL 00002de9: SUB 00002dea: AND 00002deb: PUSH1 0x01 00002ded: EQ 00002dee: DUP1 00002def: ISZERO 00002df0: PUSH2 0x2df8 00002df3: JUMPI 00002df4: POP 00002df5: ADDRESS 00002df6: EXTCODESIZE 00002df7: ISZERO 00002df8: JUMPDEST 00002df9: SWAP1 00002dfa: POP 00002dfb: DUP2 00002dfc: ISZERO 00002dfd: DUP1 00002dfe: ISZERO 00002dff: PUSH2 0x2e06 00002e02: JUMPI 00002e03: POP 00002e04: DUP1 00002e05: ISZERO 00002e06: JUMPDEST 00002e07: ISZERO 00002e08: PUSH2 0x2e24 00002e0b: JUMPI 00002e0c: PUSH1 0x40 00002e0e: MLOAD 00002e0f: PUSH4 0xf92ee8a9 00002e14: PUSH1 0xe0 00002e16: SHL 00002e17: DUP2 00002e18: MSTORE 00002e19: PUSH1 0x04 00002e1b: ADD 00002e1c: PUSH1 0x40 00002e1e: MLOAD 00002e1f: DUP1 00002e20: SWAP2 00002e21: SUB 00002e22: SWAP1 00002e23: REVERT 00002e24: JUMPDEST 00002e25: DUP5 00002e26: SLOAD 00002e27: PUSH8 0xffffffffffffffff 00002e30: NOT 00002e31: AND 00002e32: PUSH1 0x01 00002e34: OR 00002e35: DUP6 00002e36: SSTORE 00002e37: DUP4 00002e38: ISZERO 00002e39: PUSH2 0x2e4e 00002e3c: JUMPI 00002e3d: DUP5 00002e3e: SLOAD 00002e3f: PUSH1 0xff 00002e41: PUSH1 0x40 00002e43: SHL 00002e44: NOT 00002e45: AND 00002e46: PUSH1 0x01 00002e48: PUSH1 0x40 00002e4a: SHL 00002e4b: OR 00002e4c: DUP6 00002e4d: SSTORE 00002e4e: JUMPDEST 00002e4f: PUSH1 0x01 00002e51: PUSH1 0x01 00002e53: PUSH1 0xa0 00002e55: SHL 00002e56: SUB 00002e57: DUP10 00002e58: AND 00002e59: PUSH2 0x2e75 00002e5c: JUMPI 00002e5d: PUSH1 0x40 00002e5f: MLOAD 00002e60: PUSH4 0xd92e233d 00002e65: PUSH1 0xe0 00002e67: SHL 00002e68: DUP2 00002e69: MSTORE 00002e6a: PUSH1 0x04 00002e6c: ADD 00002e6d: PUSH1 0x40 00002e6f: MLOAD 00002e70: DUP1 00002e71: SWAP2 00002e72: SUB 00002e73: SWAP1 00002e74: REVERT 00002e75: JUMPDEST 00002e76: PUSH1 0x01 00002e78: PUSH1 0x01 00002e7a: PUSH1 0xa0 00002e7c: SHL 00002e7d: SUB 00002e7e: DUP8 00002e7f: AND 00002e80: PUSH2 0x2e9c 00002e83: JUMPI 00002e84: PUSH1 0x40 00002e86: MLOAD 00002e87: PUSH4 0xd92e233d 00002e8c: PUSH1 0xe0 00002e8e: SHL 00002e8f: DUP2 00002e90: MSTORE 00002e91: PUSH1 0x04 00002e93: ADD 00002e94: PUSH1 0x40 00002e96: MLOAD 00002e97: DUP1 00002e98: SWAP2 00002e99: SUB 00002e9a: SWAP1 00002e9b: REVERT 00002e9c: JUMPDEST 00002e9d: PUSH2 0x2ea6 00002ea0: DUP7 00002ea1: DUP10 00002ea2: PUSH2 0x3214 00002ea5: JUMP 00002ea6: JUMPDEST 00002ea7: PUSH2 0x2eae 00002eaa: PUSH2 0x3226 00002ead: JUMP 00002eae: JUMPDEST 00002eaf: PUSH1 0x14 00002eb1: PUSH1 0x35 00002eb3: SSTORE 00002eb4: PUSH1 0x3f 00002eb6: DUP1 00002eb7: SLOAD 00002eb8: PUSH1 0x01 00002eba: PUSH1 0x01 00002ebc: PUSH1 0xa0 00002ebe: SHL 00002ebf: SUB 00002ec0: DUP1 00002ec1: DUP13 00002ec2: AND 00002ec3: PUSH1 0x01 00002ec5: PUSH1 0x01 00002ec7: PUSH1 0xa0 00002ec9: SHL 00002eca: SUB 00002ecb: NOT 00002ecc: SWAP3 00002ecd: DUP4 00002ece: AND 00002ecf: OR 00002ed0: SWAP1 00002ed1: SWAP3 00002ed2: SSTORE 00002ed3: PUSH1 0x3e 00002ed5: DUP1 00002ed6: SLOAD 00002ed7: SWAP3 00002ed8: DUP11 00002ed9: AND 00002eda: SWAP3 00002edb: SWAP1 00002edc: SWAP2 00002edd: AND 00002ede: SWAP2 00002edf: SWAP1 00002ee0: SWAP2 00002ee1: OR 00002ee2: SWAP1 00002ee3: SSTORE 00002ee4: PUSH1 0x01 00002ee6: PUSH1 0x36 00002ee8: SSTORE 00002ee9: DUP4 00002eea: ISZERO 00002eeb: PUSH2 0x0f4b 00002eee: JUMPI 00002eef: DUP5 00002ef0: SLOAD 00002ef1: PUSH1 0xff 00002ef3: PUSH1 0x40 00002ef5: SHL 00002ef6: NOT 00002ef7: AND 00002ef8: DUP6 00002ef9: SSTORE 00002efa: PUSH1 0x40 00002efc: MLOAD 00002efd: PUSH1 0x01 00002eff: DUP2 00002f00: MSTORE 00002f01: PUSH32 0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2 00002f22: SWAP1 00002f23: PUSH1 0x20 00002f25: ADD 00002f26: PUSH2 0x2995 00002f29: JUMP 00002f2a: JUMPDEST 00002f2b: PUSH2 0x2f34 00002f2e: DUP3 00002f2f: DUP3 00002f30: PUSH2 0x20ce 00002f33: JUMP 00002f34: JUMPDEST 00002f35: PUSH2 0x1081 00002f38: JUMPI 00002f39: PUSH1 0x40 00002f3b: MLOAD 00002f3c: PUSH4 0xe2517d3f 00002f41: PUSH1 0xe0 00002f43: SHL 00002f44: DUP2 00002f45: MSTORE 00002f46: PUSH1 0x01 00002f48: PUSH1 0x01 00002f4a: PUSH1 0xa0 00002f4c: SHL 00002f4d: SUB 00002f4e: DUP3 00002f4f: AND 00002f50: PUSH1 0x04 00002f52: DUP3 00002f53: ADD 00002f54: MSTORE 00002f55: PUSH1 0x24 00002f57: DUP2 00002f58: ADD 00002f59: DUP4 00002f5a: SWAP1 00002f5b: MSTORE 00002f5c: PUSH1 0x44 00002f5e: ADD 00002f5f: PUSH2 0x1121 00002f62: JUMP 00002f63: JUMPDEST 00002f64: PUSH0 00002f65: DUP1 00002f66: MLOAD 00002f67: PUSH1 0x20 00002f69: PUSH2 0x46ee 00002f6c: DUP4 00002f6d: CODECOPY 00002f6e: DUP2 00002f6f: MLOAD 00002f70: SWAP2 00002f71: MSTORE 00002f72: SLOAD 00002f73: PUSH0 00002f74: DUP1 00002f75: MLOAD 00002f76: PUSH1 0x20 00002f78: PUSH2 0x468e 00002f7b: DUP4 00002f7c: CODECOPY 00002f7d: DUP2 00002f7e: MLOAD 00002f7f: SWAP2 00002f80: MSTORE 00002f81: SWAP1 00002f82: PUSH1 0x01 00002f84: PUSH1 0xd0 00002f86: SHL 00002f87: SWAP1 00002f88: DIV 00002f89: PUSH6 0xffffffffffff 00002f90: AND 00002f91: DUP1 00002f92: ISZERO 00002f93: PUSH2 0x2ffd 00002f96: JUMPI 00002f97: TIMESTAMP 00002f98: PUSH6 0xffffffffffff 00002f9f: DUP3 00002fa0: AND 00002fa1: LT 00002fa2: ISZERO 00002fa3: PUSH2 0x2fd4 00002fa6: JUMPI 00002fa7: PUSH1 0x01 00002fa9: DUP3 00002faa: ADD 00002fab: SLOAD 00002fac: DUP3 00002fad: SLOAD 00002fae: PUSH1 0x01 00002fb0: PUSH1 0x01 00002fb2: PUSH1 0xd0 00002fb4: SHL 00002fb5: SUB 00002fb6: AND 00002fb7: PUSH1 0x01 00002fb9: PUSH1 0xa0 00002fbb: SHL 00002fbc: SWAP1 00002fbd: SWAP2 00002fbe: DIV 00002fbf: PUSH6 0xffffffffffff 00002fc6: AND 00002fc7: PUSH1 0x01 00002fc9: PUSH1 0xd0 00002fcb: SHL 00002fcc: MUL 00002fcd: OR 00002fce: DUP3 00002fcf: SSTORE 00002fd0: PUSH2 0x2ffd 00002fd3: JUMP 00002fd4: JUMPDEST 00002fd5: PUSH1 0x40 00002fd7: MLOAD 00002fd8: PUSH32 0x2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec5 00002ff9: SWAP1 00002ffa: PUSH0 00002ffb: SWAP1 00002ffc: LOG1 00002ffd: JUMPDEST 00002ffe: POP 00002fff: PUSH1 0x01 00003001: ADD 00003002: DUP1 00003003: SLOAD 00003004: PUSH1 0x01 00003006: PUSH1 0x01 00003008: PUSH1 0xa0 0000300a: SHL 0000300b: SUB 0000300c: AND 0000300d: PUSH1 0x01 0000300f: PUSH1 0xa0 00003011: SHL 00003012: PUSH6 0xffffffffffff 00003019: SWAP5 0000301a: DUP6 0000301b: AND 0000301c: MUL 0000301d: PUSH1 0x01 0000301f: PUSH1 0x01 00003021: PUSH1 0xd0 00003023: SHL 00003024: SUB 00003025: AND 00003026: OR 00003027: PUSH1 0x01 00003029: PUSH1 0xd0 0000302b: SHL 0000302c: SWAP3 0000302d: SWAP1 0000302e: SWAP4 0000302f: AND 00003030: SWAP2 00003031: SWAP1 00003032: SWAP2 00003033: MUL 00003034: SWAP2 00003035: SWAP1 00003036: SWAP2 00003037: OR 00003038: SWAP1 00003039: SSTORE 0000303a: JUMP 0000303b: JUMPDEST 0000303c: PUSH0 0000303d: PUSH0 0000303e: DUP1 0000303f: MLOAD 00003040: PUSH1 0x20 00003042: PUSH2 0x468e 00003045: DUP4 00003046: CODECOPY 00003047: DUP2 00003048: MLOAD 00003049: SWAP2 0000304a: MSTORE 0000304b: DUP4 0000304c: PUSH2 0x309d 0000304f: JUMPI 00003050: PUSH0 00003051: PUSH2 0x3058 00003054: PUSH2 0x1f4d 00003057: JUMP 00003058: JUMPDEST 00003059: PUSH1 0x01 0000305b: PUSH1 0x01 0000305d: PUSH1 0xa0 0000305f: SHL 00003060: SUB 00003061: AND 00003062: EQ 00003063: PUSH2 0x307f 00003066: JUMPI 00003067: PUSH1 0x40 00003069: MLOAD 0000306a: PUSH4 0x1fe1e13d 0000306f: PUSH1 0xe1 00003071: SHL 00003072: DUP2 00003073: MSTORE 00003074: PUSH1 0x04 00003076: ADD 00003077: PUSH1 0x40 00003079: MLOAD 0000307a: DUP1 0000307b: SWAP2 0000307c: SUB 0000307d: SWAP1 0000307e: REVERT 0000307f: JUMPDEST 00003080: PUSH1 0x01 00003082: DUP2 00003083: ADD 00003084: DUP1 00003085: SLOAD 00003086: PUSH1 0x01 00003088: PUSH1 0x01 0000308a: PUSH1 0xa0 0000308c: SHL 0000308d: SUB 0000308e: NOT 0000308f: AND 00003090: PUSH1 0x01 00003092: PUSH1 0x01 00003094: PUSH1 0xa0 00003096: SHL 00003097: SUB 00003098: DUP6 00003099: AND 0000309a: OR 0000309b: SWAP1 0000309c: SSTORE 0000309d: JUMPDEST 0000309e: PUSH2 0x30a7 000030a1: DUP5 000030a2: DUP5 000030a3: PUSH2 0x3236 000030a6: JUMP 000030a7: JUMPDEST 000030a8: SWAP5 000030a9: SWAP4 000030aa: POP 000030ab: POP 000030ac: POP 000030ad: POP 000030ae: JUMP 000030af: JUMPDEST 000030b0: PUSH0 000030b1: PUSH0 000030b2: DUP1 000030b3: MLOAD 000030b4: PUSH1 0x20 000030b6: PUSH2 0x468e 000030b9: DUP4 000030ba: CODECOPY 000030bb: DUP2 000030bc: MLOAD 000030bd: SWAP2 000030be: MSTORE 000030bf: DUP4 000030c0: ISZERO 000030c1: DUP1 000030c2: ISZERO 000030c3: PUSH2 0x30e4 000030c6: JUMPI 000030c7: POP 000030c8: PUSH2 0x30cf 000030cb: PUSH2 0x1f4d 000030ce: JUMP 000030cf: JUMPDEST 000030d0: PUSH1 0x01 000030d2: PUSH1 0x01 000030d4: PUSH1 0xa0 000030d6: SHL 000030d7: SUB 000030d8: AND 000030d9: DUP4 000030da: PUSH1 0x01 000030dc: PUSH1 0x01 000030de: PUSH1 0xa0 000030e0: SHL 000030e1: SUB 000030e2: AND 000030e3: EQ 000030e4: JUMPDEST 000030e5: ISZERO 000030e6: PUSH2 0x30fc 000030e9: JUMPI 000030ea: PUSH1 0x01 000030ec: DUP2 000030ed: ADD 000030ee: DUP1 000030ef: SLOAD 000030f0: PUSH1 0x01 000030f2: PUSH1 0x01 000030f4: PUSH1 0xa0 000030f6: SHL 000030f7: SUB 000030f8: NOT 000030f9: AND 000030fa: SWAP1 000030fb: SSTORE 000030fc: JUMPDEST 000030fd: PUSH2 0x30a7 00003100: DUP5 00003101: DUP5 00003102: PUSH2 0x32de 00003105: JUMP 00003106: JUMPDEST 00003107: PUSH0 00003108: PUSH6 0xffffffffffff 0000310f: DUP3 00003110: GT 00003111: ISZERO 00003112: PUSH2 0x3138 00003115: JUMPI 00003116: PUSH1 0x40 00003118: MLOAD 00003119: PUSH4 0x06dfcc65 0000311e: PUSH1 0xe4 00003120: SHL 00003121: DUP2 00003122: MSTORE 00003123: PUSH1 0x30 00003125: PUSH1 0x04 00003127: DUP3 00003128: ADD 00003129: MSTORE 0000312a: PUSH1 0x24 0000312c: DUP2 0000312d: ADD 0000312e: DUP4 0000312f: SWAP1 00003130: MSTORE 00003131: PUSH1 0x44 00003133: ADD 00003134: PUSH2 0x1121 00003137: JUMP 00003138: JUMPDEST 00003139: POP 0000313a: SWAP1 0000313b: JUMP 0000313c: JUMPDEST 0000313d: PUSH0 0000313e: DUP1 0000313f: MLOAD 00003140: PUSH1 0x20 00003142: PUSH2 0x468e 00003145: DUP4 00003146: CODECOPY 00003147: DUP2 00003148: MLOAD 00003149: SWAP2 0000314a: MSTORE 0000314b: PUSH0 0000314c: PUSH2 0x3153 0000314f: PUSH2 0x25ac 00003152: JUMP 00003153: JUMPDEST 00003154: DUP4 00003155: SLOAD 00003156: PUSH6 0xffffffffffff 0000315d: DUP7 0000315e: AND 0000315f: PUSH1 0x01 00003161: PUSH1 0xa0 00003163: SHL 00003164: MUL 00003165: PUSH1 0x01 00003167: PUSH1 0x01 00003169: PUSH1 0xd0 0000316b: SHL 0000316c: SUB 0000316d: NOT 0000316e: SWAP1 0000316f: SWAP2 00003170: AND 00003171: PUSH1 0x01 00003173: PUSH1 0x01 00003175: PUSH1 0xa0 00003177: SHL 00003178: SUB 00003179: DUP9 0000317a: AND 0000317b: OR 0000317c: OR 0000317d: DUP5 0000317e: SSTORE 0000317f: SWAP2 00003180: POP 00003181: PUSH2 0x3193 00003184: SWAP1 00003185: POP 00003186: DUP2 00003187: PUSH6 0xffffffffffff 0000318e: AND 0000318f: ISZERO 00003190: ISZERO 00003191: SWAP1 00003192: JUMP 00003193: JUMPDEST 00003194: ISZERO 00003195: PUSH2 0x2bc0 00003198: JUMPI 00003199: PUSH1 0x40 0000319b: MLOAD 0000319c: PUSH32 0x8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a9605109 000031bd: SWAP1 000031be: PUSH0 000031bf: SWAP1 000031c0: LOG1 000031c1: POP 000031c2: POP 000031c3: POP 000031c4: POP 000031c5: JUMP 000031c6: JUMPDEST 000031c7: PUSH0 000031c8: DUP1 000031c9: PUSH2 0x31d0 000031cc: PUSH2 0x24f2 000031cf: JUMP 000031d0: JUMPDEST 000031d1: SWAP1 000031d2: POP 000031d3: DUP1 000031d4: PUSH6 0xffffffffffff 000031db: AND 000031dc: DUP4 000031dd: PUSH6 0xffffffffffff 000031e4: AND 000031e5: GT 000031e6: PUSH2 0x31f8 000031e9: JUMPI 000031ea: PUSH2 0x31f3 000031ed: DUP4 000031ee: DUP3 000031ef: PUSH2 0x464e 000031f2: JUMP 000031f3: JUMPDEST 000031f4: PUSH2 0x320d 000031f7: JUMP 000031f8: JUMPDEST 000031f9: PUSH2 0x320d 000031fc: PUSH6 0xffffffffffff 00003203: DUP5 00003204: AND 00003205: PUSH3 0x069780 00003209: PUSH2 0x3357 0000320c: JUMP 0000320d: JUMPDEST 0000320e: SWAP4 0000320f: SWAP3 00003210: POP 00003211: POP 00003212: POP 00003213: JUMP 00003214: JUMPDEST 00003215: PUSH2 0x321c 00003218: PUSH2 0x336c 0000321b: JUMP 0000321c: JUMPDEST 0000321d: PUSH2 0x1081 00003220: DUP3 00003221: DUP3 00003222: PUSH2 0x33b5 00003225: JUMP 00003226: JUMPDEST 00003227: PUSH2 0x322e 0000322a: PUSH2 0x336c 0000322d: JUMP 0000322e: JUMPDEST 0000322f: PUSH2 0x199b 00003232: PUSH2 0x341b 00003235: JUMP 00003236: JUMPDEST 00003237: PUSH0 00003238: PUSH0 00003239: DUP1 0000323a: MLOAD 0000323b: PUSH1 0x20 0000323d: PUSH2 0x46ae 00003240: DUP4 00003241: CODECOPY 00003242: DUP2 00003243: MLOAD 00003244: SWAP2 00003245: MSTORE 00003246: PUSH2 0x324f 00003249: DUP5 0000324a: DUP5 0000324b: PUSH2 0x20ce 0000324e: JUMP 0000324f: JUMPDEST 00003250: PUSH2 0x32ce 00003253: JUMPI 00003254: PUSH0 00003255: DUP5 00003256: DUP2 00003257: MSTORE 00003258: PUSH1 0x20 0000325a: DUP3 0000325b: DUP2 0000325c: MSTORE 0000325d: PUSH1 0x40 0000325f: DUP1 00003260: DUP4 00003261: KECCAK256 00003262: PUSH1 0x01 00003264: PUSH1 0x01 00003266: PUSH1 0xa0 00003268: SHL 00003269: SUB 0000326a: DUP8 0000326b: AND 0000326c: DUP5 0000326d: MSTORE 0000326e: SWAP1 0000326f: SWAP2 00003270: MSTORE 00003271: SWAP1 00003272: KECCAK256 00003273: DUP1 00003274: SLOAD 00003275: PUSH1 0xff 00003277: NOT 00003278: AND 00003279: PUSH1 0x01 0000327b: OR 0000327c: SWAP1 0000327d: SSTORE 0000327e: PUSH2 0x3284 00003281: CALLER 00003282: SWAP1 00003283: JUMP 00003284: JUMPDEST 00003285: PUSH1 0x01 00003287: PUSH1 0x01 00003289: PUSH1 0xa0 0000328b: SHL 0000328c: SUB 0000328d: AND 0000328e: DUP4 0000328f: PUSH1 0x01 00003291: PUSH1 0x01 00003293: PUSH1 0xa0 00003295: SHL 00003296: SUB 00003297: AND 00003298: DUP6 00003299: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d 000032ba: PUSH1 0x40 000032bc: MLOAD 000032bd: PUSH1 0x40 000032bf: MLOAD 000032c0: DUP1 000032c1: SWAP2 000032c2: SUB 000032c3: SWAP1 000032c4: LOG4 000032c5: PUSH1 0x01 000032c7: SWAP2 000032c8: POP 000032c9: POP 000032ca: PUSH2 0x0dbf 000032cd: JUMP 000032ce: JUMPDEST 000032cf: PUSH0 000032d0: SWAP2 000032d1: POP 000032d2: POP 000032d3: PUSH2 0x0dbf 000032d6: JUMP 000032d7: JUMPDEST 000032d8: POP 000032d9: SWAP3 000032da: SWAP2 000032db: POP 000032dc: POP 000032dd: JUMP 000032de: JUMPDEST 000032df: PUSH0 000032e0: PUSH0 000032e1: DUP1 000032e2: MLOAD 000032e3: PUSH1 0x20 000032e5: PUSH2 0x46ae 000032e8: DUP4 000032e9: CODECOPY 000032ea: DUP2 000032eb: MLOAD 000032ec: SWAP2 000032ed: MSTORE 000032ee: PUSH2 0x32f7 000032f1: DUP5 000032f2: DUP5 000032f3: PUSH2 0x20ce 000032f6: JUMP 000032f7: JUMPDEST 000032f8: ISZERO 000032f9: PUSH2 0x32ce 000032fc: JUMPI 000032fd: PUSH0 000032fe: DUP5 000032ff: DUP2 00003300: MSTORE 00003301: PUSH1 0x20 00003303: DUP3 00003304: DUP2 00003305: MSTORE 00003306: PUSH1 0x40 00003308: DUP1 00003309: DUP4 0000330a: KECCAK256 0000330b: PUSH1 0x01 0000330d: PUSH1 0x01 0000330f: PUSH1 0xa0 00003311: SHL 00003312: SUB 00003313: DUP8 00003314: AND 00003315: DUP1 00003316: DUP6 00003317: MSTORE 00003318: SWAP3 00003319: MSTORE 0000331a: DUP1 0000331b: DUP4 0000331c: KECCAK256 0000331d: DUP1 0000331e: SLOAD 0000331f: PUSH1 0xff 00003321: NOT 00003322: AND 00003323: SWAP1 00003324: SSTORE 00003325: MLOAD 00003326: CALLER 00003327: SWAP3 00003328: DUP8 00003329: SWAP2 0000332a: PUSH32 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b 0000334b: SWAP2 0000334c: SWAP1 0000334d: LOG4 0000334e: PUSH1 0x01 00003350: SWAP2 00003351: POP 00003352: POP 00003353: PUSH2 0x0dbf 00003356: JUMP 00003357: JUMPDEST 00003358: PUSH0 00003359: DUP2 0000335a: DUP4 0000335b: LT 0000335c: PUSH2 0x3365 0000335f: JUMPI 00003360: DUP2 00003361: PUSH2 0x320d 00003364: JUMP 00003365: JUMPDEST 00003366: POP 00003367: SWAP1 00003368: SWAP2 00003369: SWAP1 0000336a: POP 0000336b: JUMP 0000336c: JUMPDEST 0000336d: PUSH32 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00 0000338e: SLOAD 0000338f: PUSH1 0x01 00003391: PUSH1 0x40 00003393: SHL 00003394: SWAP1 00003395: DIV 00003396: PUSH1 0xff 00003398: AND 00003399: PUSH2 0x199b 0000339c: JUMPI 0000339d: PUSH1 0x40 0000339f: MLOAD 000033a0: PUSH4 0x1afcd79f 000033a5: PUSH1 0xe3 000033a7: SHL 000033a8: DUP2 000033a9: MSTORE 000033aa: PUSH1 0x04 000033ac: ADD 000033ad: PUSH1 0x40 000033af: MLOAD 000033b0: DUP1 000033b1: SWAP2 000033b2: SUB 000033b3: SWAP1 000033b4: REVERT 000033b5: JUMPDEST 000033b6: PUSH2 0x33bd 000033b9: PUSH2 0x336c 000033bc: JUMP 000033bd: JUMPDEST 000033be: PUSH0 000033bf: DUP1 000033c0: MLOAD 000033c1: PUSH1 0x20 000033c3: PUSH2 0x468e 000033c6: DUP4 000033c7: CODECOPY 000033c8: DUP2 000033c9: MLOAD 000033ca: SWAP2 000033cb: MSTORE 000033cc: PUSH1 0x01 000033ce: PUSH1 0x01 000033d0: PUSH1 0xa0 000033d2: SHL 000033d3: SUB 000033d4: DUP3 000033d5: AND 000033d6: PUSH2 0x33f4 000033d9: JUMPI 000033da: PUSH1 0x40 000033dc: MLOAD 000033dd: PUSH4 0x61164011 000033e2: PUSH1 0xe1 000033e4: SHL 000033e5: DUP2 000033e6: MSTORE 000033e7: PUSH0 000033e8: PUSH1 0x04 000033ea: DUP3 000033eb: ADD 000033ec: MSTORE 000033ed: PUSH1 0x24 000033ef: ADD 000033f0: PUSH2 0x1121 000033f3: JUMP 000033f4: JUMPDEST 000033f5: DUP1 000033f6: SLOAD 000033f7: PUSH1 0x01 000033f9: PUSH1 0x01 000033fb: PUSH1 0xd0 000033fd: SHL 000033fe: SUB 000033ff: AND 00003400: PUSH1 0x01 00003402: PUSH1 0xd0 00003404: SHL 00003405: PUSH6 0xffffffffffff 0000340c: DUP6 0000340d: AND 0000340e: MUL 0000340f: OR 00003410: DUP2 00003411: SSTORE 00003412: PUSH2 0x2bc0 00003415: PUSH0 00003416: DUP4 00003417: PUSH2 0x303b 0000341a: JUMP 0000341b: JUMPDEST 0000341c: PUSH2 0x2b91 0000341f: PUSH2 0x336c 00003422: JUMP 00003423: JUMPDEST 00003424: PUSH0 00003425: PUSH1 0x20 00003427: DUP3 00003428: DUP5 00003429: SUB 0000342a: SLT 0000342b: ISZERO 0000342c: PUSH2 0x3433 0000342f: JUMPI 00003430: PUSH0 00003431: DUP1 00003432: REVERT 00003433: JUMPDEST 00003434: DUP2 00003435: CALLDATALOAD 00003436: PUSH1 0x01 00003438: PUSH1 0x01 0000343a: PUSH1 0xe0 0000343c: SHL 0000343d: SUB 0000343e: NOT 0000343f: DUP2 00003440: AND 00003441: DUP2 00003442: EQ 00003443: PUSH2 0x320d 00003446: JUMPI 00003447: PUSH0 00003448: DUP1 00003449: REVERT 0000344a: JUMPDEST 0000344b: DUP1 0000344c: CALLDATALOAD 0000344d: PUSH1 0x03 0000344f: DUP2 00003450: LT 00003451: PUSH2 0x3458 00003454: JUMPI 00003455: PUSH0 00003456: DUP1 00003457: REVERT 00003458: JUMPDEST 00003459: SWAP2 0000345a: SWAP1 0000345b: POP 0000345c: JUMP 0000345d: JUMPDEST 0000345e: PUSH0 0000345f: DUP1 00003460: PUSH1 0x40 00003462: DUP4 00003463: DUP6 00003464: SUB 00003465: SLT 00003466: ISZERO 00003467: PUSH2 0x346e 0000346a: JUMPI 0000346b: PUSH0 0000346c: DUP1 0000346d: REVERT 0000346e: JUMPDEST 0000346f: PUSH2 0x3477 00003472: DUP4 00003473: PUSH2 0x344a 00003476: JUMP 00003477: JUMPDEST 00003478: SWAP2 00003479: POP 0000347a: PUSH1 0x20 0000347c: DUP4 0000347d: ADD 0000347e: CALLDATALOAD 0000347f: PUSH4 0xffffffff 00003484: DUP2 00003485: AND 00003486: DUP2 00003487: EQ 00003488: PUSH2 0x348f 0000348b: JUMPI 0000348c: PUSH0 0000348d: DUP1 0000348e: REVERT 0000348f: JUMPDEST 00003490: DUP1 00003491: SWAP2 00003492: POP 00003493: POP 00003494: SWAP3 00003495: POP 00003496: SWAP3 00003497: SWAP1 00003498: POP 00003499: JUMP 0000349a: JUMPDEST 0000349b: PUSH0 0000349c: DUP1 0000349d: DUP4 0000349e: PUSH1 0x1f 000034a0: DUP5 000034a1: ADD 000034a2: SLT 000034a3: PUSH2 0x34aa 000034a6: JUMPI 000034a7: PUSH0 000034a8: DUP1 000034a9: REVERT 000034aa: JUMPDEST 000034ab: POP 000034ac: DUP2 000034ad: CALLDATALOAD 000034ae: PUSH1 0x01 000034b0: PUSH1 0x01 000034b2: PUSH1 0x40 000034b4: SHL 000034b5: SUB 000034b6: DUP2 000034b7: GT 000034b8: ISZERO 000034b9: PUSH2 0x34c0 000034bc: JUMPI 000034bd: PUSH0 000034be: DUP1 000034bf: REVERT 000034c0: JUMPDEST 000034c1: PUSH1 0x20 000034c3: DUP4 000034c4: ADD 000034c5: SWAP2 000034c6: POP 000034c7: DUP4 000034c8: PUSH1 0x20 000034ca: DUP3 000034cb: DUP6 000034cc: ADD 000034cd: ADD 000034ce: GT 000034cf: ISZERO 000034d0: PUSH2 0x1498 000034d3: JUMPI 000034d4: PUSH0 000034d5: DUP1 000034d6: REVERT 000034d7: JUMPDEST 000034d8: DUP1 000034d9: CALLDATALOAD 000034da: DUP1 000034db: ISZERO 000034dc: ISZERO 000034dd: DUP2 000034de: EQ 000034df: PUSH2 0x3458 000034e2: JUMPI 000034e3: PUSH0 000034e4: DUP1 000034e5: REVERT 000034e6: JUMPDEST 000034e7: PUSH0 000034e8: DUP1 000034e9: DUP4 000034ea: PUSH1 0x1f 000034ec: DUP5 000034ed: ADD 000034ee: SLT 000034ef: PUSH2 0x34f6 000034f2: JUMPI 000034f3: PUSH0 000034f4: DUP1 000034f5: REVERT 000034f6: JUMPDEST 000034f7: POP 000034f8: DUP2 000034f9: CALLDATALOAD 000034fa: PUSH1 0x01 000034fc: PUSH1 0x01 000034fe: PUSH1 0x40 00003500: SHL 00003501: SUB 00003502: DUP2 00003503: GT 00003504: ISZERO 00003505: PUSH2 0x350c 00003508: JUMPI 00003509: PUSH0 0000350a: DUP1 0000350b: REVERT 0000350c: JUMPDEST 0000350d: PUSH1 0x20 0000350f: DUP4 00003510: ADD 00003511: SWAP2 00003512: POP 00003513: DUP4 00003514: PUSH1 0x20 00003516: DUP3 00003517: PUSH1 0x06 00003519: SHL 0000351a: DUP6 0000351b: ADD 0000351c: ADD 0000351d: GT 0000351e: ISZERO 0000351f: PUSH2 0x1498 00003522: JUMPI 00003523: PUSH0 00003524: DUP1 00003525: REVERT 00003526: JUMPDEST 00003527: PUSH0 00003528: DUP1 00003529: PUSH0 0000352a: DUP1 0000352b: PUSH0 0000352c: DUP1 0000352d: PUSH0 0000352e: DUP1 0000352f: PUSH0 00003530: PUSH1 0xc0 00003532: DUP11 00003533: DUP13 00003534: SUB 00003535: SLT 00003536: ISZERO 00003537: PUSH2 0x353e 0000353a: JUMPI 0000353b: PUSH0 0000353c: DUP1 0000353d: REVERT 0000353e: JUMPDEST 0000353f: DUP10 00003540: CALLDATALOAD 00003541: PUSH1 0x01 00003543: PUSH1 0x01 00003545: PUSH1 0x40 00003547: SHL 00003548: SUB 00003549: DUP1 0000354a: DUP3 0000354b: GT 0000354c: ISZERO 0000354d: PUSH2 0x3554 00003550: JUMPI 00003551: PUSH0 00003552: DUP1 00003553: REVERT 00003554: JUMPDEST 00003555: PUSH2 0x3560 00003558: DUP14 00003559: DUP4 0000355a: DUP15 0000355b: ADD 0000355c: PUSH2 0x349a 0000355f: JUMP 00003560: JUMPDEST 00003561: SWAP1 00003562: SWAP12 00003563: POP 00003564: SWAP10 00003565: POP 00003566: PUSH1 0x20 00003568: DUP13 00003569: ADD 0000356a: CALLDATALOAD 0000356b: SWAP2 0000356c: POP 0000356d: DUP1 0000356e: DUP3 0000356f: GT 00003570: ISZERO 00003571: PUSH2 0x3578 00003574: JUMPI 00003575: PUSH0 00003576: DUP1 00003577: REVERT 00003578: JUMPDEST 00003579: PUSH2 0x3584 0000357c: DUP14 0000357d: DUP4 0000357e: DUP15 0000357f: ADD 00003580: PUSH2 0x349a 00003583: JUMP 00003584: JUMPDEST 00003585: SWAP1 00003586: SWAP10 00003587: POP 00003588: SWAP8 00003589: POP 0000358a: PUSH1 0x40 0000358c: DUP13 0000358d: ADD 0000358e: CALLDATALOAD 0000358f: SWAP7 00003590: POP 00003591: PUSH1 0x60 00003593: DUP13 00003594: ADD 00003595: CALLDATALOAD 00003596: SWAP6 00003597: POP 00003598: DUP8 00003599: SWAP2 0000359a: POP 0000359b: PUSH2 0x35a6 0000359e: PUSH1 0x80 000035a0: DUP14 000035a1: ADD 000035a2: PUSH2 0x34d7 000035a5: JUMP 000035a6: JUMPDEST 000035a7: SWAP5 000035a8: POP 000035a9: PUSH1 0xa0 000035ab: DUP13 000035ac: ADD 000035ad: CALLDATALOAD 000035ae: SWAP2 000035af: POP 000035b0: DUP1 000035b1: DUP3 000035b2: GT 000035b3: ISZERO 000035b4: PUSH2 0x35bb 000035b7: JUMPI 000035b8: PUSH0 000035b9: DUP1 000035ba: REVERT 000035bb: JUMPDEST 000035bc: POP 000035bd: PUSH2 0x35c8 000035c0: DUP13 000035c1: DUP3 000035c2: DUP14 000035c3: ADD 000035c4: PUSH2 0x34e6 000035c7: JUMP 000035c8: JUMPDEST 000035c9: SWAP2 000035ca: POP 000035cb: DUP1 000035cc: SWAP4 000035cd: POP 000035ce: POP 000035cf: DUP1 000035d0: SWAP2 000035d1: POP 000035d2: POP 000035d3: SWAP3 000035d4: SWAP6 000035d5: SWAP9 000035d6: POP 000035d7: SWAP3 000035d8: SWAP6 000035d9: SWAP9 000035da: POP 000035db: SWAP3 000035dc: SWAP6 000035dd: SWAP9 000035de: JUMP 000035df: JUMPDEST 000035e0: PUSH4 0x4e487b71 000035e5: PUSH1 0xe0 000035e7: SHL 000035e8: PUSH0 000035e9: MSTORE 000035ea: PUSH1 0x41 000035ec: PUSH1 0x04 000035ee: MSTORE 000035ef: PUSH1 0x24 000035f1: PUSH0 000035f2: REVERT 000035f3: JUMPDEST 000035f4: PUSH1 0x40 000035f6: MLOAD 000035f7: PUSH1 0x80 000035f9: DUP2 000035fa: ADD 000035fb: PUSH1 0x01 000035fd: PUSH1 0x01 000035ff: PUSH1 0x40 00003601: SHL 00003602: SUB 00003603: DUP2 00003604: GT 00003605: DUP3 00003606: DUP3 00003607: LT 00003608: OR 00003609: ISZERO 0000360a: PUSH2 0x3615 0000360d: JUMPI 0000360e: PUSH2 0x3615 00003611: PUSH2 0x35df 00003614: JUMP 00003615: JUMPDEST 00003616: PUSH1 0x40 00003618: MSTORE 00003619: SWAP1 0000361a: JUMP 0000361b: JUMPDEST 0000361c: PUSH1 0x40 0000361e: MLOAD 0000361f: PUSH1 0x1f 00003621: DUP3 00003622: ADD 00003623: PUSH1 0x1f 00003625: NOT 00003626: AND 00003627: DUP2 00003628: ADD 00003629: PUSH1 0x01 0000362b: PUSH1 0x01 0000362d: PUSH1 0x40 0000362f: SHL 00003630: SUB 00003631: DUP2 00003632: GT 00003633: DUP3 00003634: DUP3 00003635: LT 00003636: OR 00003637: ISZERO 00003638: PUSH2 0x3643 0000363b: JUMPI 0000363c: PUSH2 0x3643 0000363f: PUSH2 0x35df 00003642: JUMP 00003643: JUMPDEST 00003644: PUSH1 0x40 00003646: MSTORE 00003647: SWAP2 00003648: SWAP1 00003649: POP 0000364a: JUMP 0000364b: JUMPDEST 0000364c: PUSH0 0000364d: PUSH1 0x01 0000364f: PUSH1 0x01 00003651: PUSH1 0x40 00003653: SHL 00003654: SUB 00003655: DUP3 00003656: GT 00003657: ISZERO 00003658: PUSH2 0x3663 0000365b: JUMPI 0000365c: PUSH2 0x3663 0000365f: PUSH2 0x35df 00003662: JUMP 00003663: JUMPDEST 00003664: POP 00003665: PUSH1 0x1f 00003667: ADD 00003668: PUSH1 0x1f 0000366a: NOT 0000366b: AND 0000366c: PUSH1 0x20 0000366e: ADD 0000366f: SWAP1 00003670: JUMP 00003671: JUMPDEST 00003672: PUSH0 00003673: DUP3 00003674: PUSH1 0x1f 00003676: DUP4 00003677: ADD 00003678: SLT 00003679: PUSH2 0x3680 0000367c: JUMPI 0000367d: PUSH0 0000367e: DUP1 0000367f: REVERT 00003680: JUMPDEST 00003681: DUP2 00003682: CALLDATALOAD 00003683: PUSH2 0x3693 00003686: PUSH2 0x368e 00003689: DUP3 0000368a: PUSH2 0x364b 0000368d: JUMP 0000368e: JUMPDEST 0000368f: PUSH2 0x361b 00003692: JUMP 00003693: JUMPDEST 00003694: DUP2 00003695: DUP2 00003696: MSTORE 00003697: DUP5 00003698: PUSH1 0x20 0000369a: DUP4 0000369b: DUP7 0000369c: ADD 0000369d: ADD 0000369e: GT 0000369f: ISZERO 000036a0: PUSH2 0x36a7 000036a3: JUMPI 000036a4: PUSH0 000036a5: DUP1 000036a6: REVERT 000036a7: JUMPDEST 000036a8: DUP2 000036a9: PUSH1 0x20 000036ab: DUP6 000036ac: ADD 000036ad: PUSH1 0x20 000036af: DUP4 000036b0: ADD 000036b1: CALLDATACOPY 000036b2: PUSH0 000036b3: SWAP2 000036b4: DUP2 000036b5: ADD 000036b6: PUSH1 0x20 000036b8: ADD 000036b9: SWAP2 000036ba: SWAP1 000036bb: SWAP2 000036bc: MSTORE 000036bd: SWAP4 000036be: SWAP3 000036bf: POP 000036c0: POP 000036c1: POP 000036c2: JUMP 000036c3: JUMPDEST 000036c4: PUSH1 0x01 000036c6: PUSH1 0x01 000036c8: PUSH1 0xa0 000036ca: SHL 000036cb: SUB 000036cc: DUP2 000036cd: AND 000036ce: DUP2 000036cf: EQ 000036d0: PUSH2 0x0e5e 000036d3: JUMPI 000036d4: PUSH0 000036d5: DUP1 000036d6: REVERT 000036d7: JUMPDEST 000036d8: PUSH0 000036d9: PUSH1 0x20 000036db: DUP1 000036dc: DUP4 000036dd: DUP6 000036de: SUB 000036df: SLT 000036e0: ISZERO 000036e1: PUSH2 0x36e8 000036e4: JUMPI 000036e5: PUSH0 000036e6: DUP1 000036e7: REVERT 000036e8: JUMPDEST 000036e9: DUP3 000036ea: CALLDATALOAD 000036eb: PUSH1 0x01 000036ed: PUSH1 0x01 000036ef: PUSH1 0x40 000036f1: SHL 000036f2: SUB 000036f3: DUP1 000036f4: DUP3 000036f5: GT 000036f6: ISZERO 000036f7: PUSH2 0x36fe 000036fa: JUMPI 000036fb: PUSH0 000036fc: DUP1 000036fd: REVERT 000036fe: JUMPDEST 000036ff: DUP2 00003700: DUP6 00003701: ADD 00003702: SWAP2 00003703: POP 00003704: DUP6 00003705: PUSH1 0x1f 00003707: DUP4 00003708: ADD 00003709: SLT 0000370a: PUSH2 0x3711 0000370d: JUMPI 0000370e: PUSH0 0000370f: DUP1 00003710: REVERT 00003711: JUMPDEST 00003712: DUP2 00003713: CALLDATALOAD 00003714: DUP2 00003715: DUP2 00003716: GT 00003717: ISZERO 00003718: PUSH2 0x3723 0000371b: JUMPI 0000371c: PUSH2 0x3723 0000371f: PUSH2 0x35df 00003722: JUMP 00003723: JUMPDEST 00003724: DUP1 00003725: PUSH1 0x05 00003727: SHL 00003728: PUSH2 0x3732 0000372b: DUP6 0000372c: DUP3 0000372d: ADD 0000372e: PUSH2 0x361b 00003731: JUMP 00003732: JUMPDEST 00003733: SWAP2 00003734: DUP3 00003735: MSTORE 00003736: DUP4 00003737: DUP2 00003738: ADD 00003739: DUP6 0000373a: ADD 0000373b: SWAP2 0000373c: DUP6 0000373d: DUP2 0000373e: ADD 0000373f: SWAP1 00003740: DUP10 00003741: DUP5 00003742: GT 00003743: ISZERO 00003744: PUSH2 0x374b 00003747: JUMPI 00003748: PUSH0 00003749: DUP1 0000374a: REVERT 0000374b: JUMPDEST 0000374c: DUP7 0000374d: DUP7 0000374e: ADD 0000374f: SWAP3 00003750: POP 00003751: JUMPDEST 00003752: DUP4 00003753: DUP4 00003754: LT 00003755: ISZERO 00003756: PUSH2 0x37fa 00003759: JUMPI 0000375a: DUP3 0000375b: CALLDATALOAD 0000375c: DUP6 0000375d: DUP2 0000375e: GT 0000375f: ISZERO 00003760: PUSH2 0x3767 00003763: JUMPI 00003764: PUSH0 00003765: DUP1 00003766: REVERT 00003767: JUMPDEST 00003768: DUP7 00003769: ADD 0000376a: PUSH1 0x80 0000376c: DUP2 0000376d: DUP13 0000376e: SUB 0000376f: PUSH1 0x1f 00003771: NOT 00003772: ADD 00003773: DUP2 00003774: SGT 00003775: ISZERO 00003776: PUSH2 0x377d 00003779: JUMPI 0000377a: PUSH0 0000377b: DUP1 0000377c: REVERT 0000377d: JUMPDEST 0000377e: PUSH2 0x3785 00003781: PUSH2 0x35f3 00003784: JUMP 00003785: JUMPDEST 00003786: DUP10 00003787: DUP4 00003788: ADD 00003789: CALLDATALOAD 0000378a: DUP9 0000378b: DUP2 0000378c: GT 0000378d: ISZERO 0000378e: PUSH2 0x3795 00003791: JUMPI 00003792: PUSH0 00003793: DUP1 00003794: REVERT 00003795: JUMPDEST 00003796: PUSH2 0x37a3 00003799: DUP15 0000379a: DUP13 0000379b: DUP4 0000379c: DUP8 0000379d: ADD 0000379e: ADD 0000379f: PUSH2 0x3671 000037a2: JUMP 000037a3: JUMPDEST 000037a4: DUP3 000037a5: MSTORE 000037a6: POP 000037a7: PUSH1 0x40 000037a9: DUP1 000037aa: DUP5 000037ab: ADD 000037ac: CALLDATALOAD 000037ad: DUP10 000037ae: DUP2 000037af: GT 000037b0: ISZERO 000037b1: PUSH2 0x37b8 000037b4: JUMPI 000037b5: PUSH0 000037b6: DUP1 000037b7: REVERT 000037b8: JUMPDEST 000037b9: PUSH2 0x37c6 000037bc: DUP16 000037bd: DUP14 000037be: DUP4 000037bf: DUP9 000037c0: ADD 000037c1: ADD 000037c2: PUSH2 0x3671 000037c5: JUMP 000037c6: JUMPDEST 000037c7: DUP4 000037c8: DUP14 000037c9: ADD 000037ca: MSTORE 000037cb: POP 000037cc: PUSH1 0x60 000037ce: DUP5 000037cf: DUP2 000037d0: ADD 000037d1: CALLDATALOAD 000037d2: DUP3 000037d3: DUP5 000037d4: ADD 000037d5: MSTORE 000037d6: SWAP4 000037d7: DUP4 000037d8: ADD 000037d9: CALLDATALOAD 000037da: SWAP4 000037db: PUSH2 0x37e3 000037de: DUP6 000037df: PUSH2 0x36c3 000037e2: JUMP 000037e3: JUMPDEST 000037e4: DUP3 000037e5: ADD 000037e6: SWAP4 000037e7: SWAP1 000037e8: SWAP4 000037e9: MSTORE 000037ea: DUP5 000037eb: MSTORE 000037ec: POP 000037ed: POP 000037ee: SWAP2 000037ef: DUP7 000037f0: ADD 000037f1: SWAP2 000037f2: SWAP1 000037f3: DUP7 000037f4: ADD 000037f5: SWAP1 000037f6: PUSH2 0x3751 000037f9: JUMP 000037fa: JUMPDEST 000037fb: SWAP10 000037fc: SWAP9 000037fd: POP 000037fe: POP 000037ff: POP 00003800: POP 00003801: POP 00003802: POP 00003803: POP 00003804: POP 00003805: POP 00003806: JUMP 00003807: JUMPDEST 00003808: PUSH0 00003809: PUSH1 0x20 0000380b: DUP3 0000380c: DUP5 0000380d: SUB 0000380e: SLT 0000380f: ISZERO 00003810: PUSH2 0x3817 00003813: JUMPI 00003814: PUSH0 00003815: DUP1 00003816: REVERT 00003817: JUMPDEST 00003818: POP 00003819: CALLDATALOAD 0000381a: SWAP2 0000381b: SWAP1 0000381c: POP 0000381d: JUMP 0000381e: JUMPDEST 0000381f: PUSH0 00003820: DUP1 00003821: PUSH1 0x40 00003823: DUP4 00003824: DUP6 00003825: SUB 00003826: SLT 00003827: ISZERO 00003828: PUSH2 0x382f 0000382b: JUMPI 0000382c: PUSH0 0000382d: DUP1 0000382e: REVERT 0000382f: JUMPDEST 00003830: DUP3 00003831: CALLDATALOAD 00003832: SWAP2 00003833: POP 00003834: PUSH1 0x20 00003836: DUP4 00003837: ADD 00003838: CALLDATALOAD 00003839: PUSH2 0x348f 0000383c: DUP2 0000383d: PUSH2 0x36c3 00003840: JUMP 00003841: JUMPDEST 00003842: PUSH0 00003843: PUSH1 0x20 00003845: DUP3 00003846: DUP5 00003847: SUB 00003848: SLT 00003849: ISZERO 0000384a: PUSH2 0x3851 0000384d: JUMPI 0000384e: PUSH0 0000384f: DUP1 00003850: REVERT 00003851: JUMPDEST 00003852: PUSH2 0x320d 00003855: DUP3 00003856: PUSH2 0x344a 00003859: JUMP 0000385a: JUMPDEST 0000385b: PUSH0 0000385c: DUP1 0000385d: PUSH0 0000385e: PUSH1 0x60 00003860: DUP5 00003861: DUP7 00003862: SUB 00003863: SLT 00003864: ISZERO 00003865: PUSH2 0x386c 00003868: JUMPI 00003869: PUSH0 0000386a: DUP1 0000386b: REVERT 0000386c: JUMPDEST 0000386d: DUP4 0000386e: CALLDATALOAD 0000386f: SWAP3 00003870: POP 00003871: PUSH1 0x20 00003873: DUP5 00003874: ADD 00003875: CALLDATALOAD 00003876: PUSH2 0x387e 00003879: DUP2 0000387a: PUSH2 0x36c3 0000387d: JUMP 0000387e: JUMPDEST 0000387f: SWAP2 00003880: POP 00003881: PUSH2 0x388c 00003884: PUSH1 0x40 00003886: DUP6 00003887: ADD 00003888: PUSH2 0x34d7 0000388b: JUMP 0000388c: JUMPDEST 0000388d: SWAP1 0000388e: POP 0000388f: SWAP3 00003890: POP 00003891: SWAP3 00003892: POP 00003893: SWAP3 00003894: JUMP 00003895: JUMPDEST 00003896: PUSH0 00003897: DUP1 00003898: DUP4 00003899: PUSH1 0x1f 0000389b: DUP5 0000389c: ADD 0000389d: SLT 0000389e: PUSH2 0x38a5 000038a1: JUMPI 000038a2: PUSH0 000038a3: DUP1 000038a4: REVERT 000038a5: JUMPDEST 000038a6: POP 000038a7: DUP2 000038a8: CALLDATALOAD 000038a9: PUSH1 0x01 000038ab: PUSH1 0x01 000038ad: PUSH1 0x40 000038af: SHL 000038b0: SUB 000038b1: DUP2 000038b2: GT 000038b3: ISZERO 000038b4: PUSH2 0x38bb 000038b7: JUMPI 000038b8: PUSH0 000038b9: DUP1 000038ba: REVERT 000038bb: JUMPDEST 000038bc: PUSH1 0x20 000038be: DUP4 000038bf: ADD 000038c0: SWAP2 000038c1: POP 000038c2: DUP4 000038c3: PUSH1 0x20 000038c5: DUP3 000038c6: PUSH1 0x05 000038c8: SHL 000038c9: DUP6 000038ca: ADD 000038cb: ADD 000038cc: GT 000038cd: ISZERO 000038ce: PUSH2 0x1498 000038d1: JUMPI 000038d2: PUSH0 000038d3: DUP1 000038d4: REVERT 000038d5: JUMPDEST 000038d6: PUSH0 000038d7: DUP1 000038d8: PUSH0 000038d9: DUP1 000038da: PUSH0 000038db: PUSH1 0x60 000038dd: DUP7 000038de: DUP9 000038df: SUB 000038e0: SLT 000038e1: ISZERO 000038e2: PUSH2 0x38e9 000038e5: JUMPI 000038e6: PUSH0 000038e7: DUP1 000038e8: REVERT 000038e9: JUMPDEST 000038ea: DUP6 000038eb: CALLDATALOAD 000038ec: PUSH1 0x01 000038ee: PUSH1 0x01 000038f0: PUSH1 0x40 000038f2: SHL 000038f3: SUB 000038f4: DUP1 000038f5: DUP3 000038f6: GT 000038f7: ISZERO 000038f8: PUSH2 0x38ff 000038fb: JUMPI 000038fc: PUSH0 000038fd: DUP1 000038fe: REVERT 000038ff: JUMPDEST 00003900: PUSH2 0x390b 00003903: DUP10 00003904: DUP4 00003905: DUP11 00003906: ADD 00003907: PUSH2 0x3895 0000390a: JUMP 0000390b: JUMPDEST 0000390c: SWAP1 0000390d: SWAP8 0000390e: POP 0000390f: SWAP6 00003910: POP 00003911: PUSH1 0x20 00003913: DUP9 00003914: ADD 00003915: CALLDATALOAD 00003916: SWAP2 00003917: POP 00003918: DUP1 00003919: DUP3 0000391a: GT 0000391b: ISZERO 0000391c: PUSH2 0x3923 0000391f: JUMPI 00003920: PUSH0 00003921: DUP1 00003922: REVERT 00003923: JUMPDEST 00003924: POP 00003925: PUSH2 0x3930 00003928: DUP9 00003929: DUP3 0000392a: DUP10 0000392b: ADD 0000392c: PUSH2 0x3895 0000392f: JUMP 00003930: JUMPDEST 00003931: SWAP1 00003932: SWAP5 00003933: POP 00003934: SWAP3 00003935: POP 00003936: POP 00003937: PUSH1 0x40 00003939: DUP7 0000393a: ADD 0000393b: CALLDATALOAD 0000393c: PUSH2 0x3944 0000393f: DUP2 00003940: PUSH2 0x36c3 00003943: JUMP 00003944: JUMPDEST 00003945: DUP1 00003946: SWAP2 00003947: POP 00003948: POP 00003949: SWAP3 0000394a: SWAP6 0000394b: POP 0000394c: SWAP3 0000394d: SWAP6 0000394e: SWAP1 0000394f: SWAP4 00003950: POP 00003951: JUMP 00003952: JUMPDEST 00003953: PUSH0 00003954: DUP1 00003955: PUSH1 0x20 00003957: DUP4 00003958: DUP6 00003959: SUB 0000395a: SLT 0000395b: ISZERO 0000395c: PUSH2 0x3963 0000395f: JUMPI 00003960: PUSH0 00003961: DUP1 00003962: REVERT 00003963: JUMPDEST 00003964: DUP3 00003965: CALLDATALOAD 00003966: PUSH1 0x01 00003968: PUSH1 0x01 0000396a: PUSH1 0x40 0000396c: SHL 0000396d: SUB 0000396e: DUP2 0000396f: GT 00003970: ISZERO 00003971: PUSH2 0x3978 00003974: JUMPI 00003975: PUSH0 00003976: DUP1 00003977: REVERT 00003978: JUMPDEST 00003979: PUSH2 0x3984 0000397c: DUP6 0000397d: DUP3 0000397e: DUP7 0000397f: ADD 00003980: PUSH2 0x349a 00003983: JUMP 00003984: JUMPDEST 00003985: SWAP1 00003986: SWAP7 00003987: SWAP1 00003988: SWAP6 00003989: POP 0000398a: SWAP4 0000398b: POP 0000398c: POP 0000398d: POP 0000398e: POP 0000398f: JUMP 00003990: JUMPDEST 00003991: PUSH0 00003992: JUMPDEST 00003993: DUP4 00003994: DUP2 00003995: LT 00003996: ISZERO 00003997: PUSH2 0x39aa 0000399a: JUMPI 0000399b: DUP2 0000399c: DUP2 0000399d: ADD 0000399e: MLOAD 0000399f: DUP4 000039a0: DUP3 000039a1: ADD 000039a2: MSTORE 000039a3: PUSH1 0x20 000039a5: ADD 000039a6: PUSH2 0x3992 000039a9: JUMP 000039aa: JUMPDEST 000039ab: POP 000039ac: POP 000039ad: PUSH0 000039ae: SWAP2 000039af: ADD 000039b0: MSTORE 000039b1: JUMP 000039b2: JUMPDEST 000039b3: PUSH0 000039b4: DUP2 000039b5: MLOAD 000039b6: DUP1 000039b7: DUP5 000039b8: MSTORE 000039b9: PUSH2 0x39c9 000039bc: DUP2 000039bd: PUSH1 0x20 000039bf: DUP7 000039c0: ADD 000039c1: PUSH1 0x20 000039c3: DUP7 000039c4: ADD 000039c5: PUSH2 0x3990 000039c8: JUMP 000039c9: JUMPDEST 000039ca: PUSH1 0x1f 000039cc: ADD 000039cd: PUSH1 0x1f 000039cf: NOT 000039d0: AND 000039d1: SWAP3 000039d2: SWAP1 000039d3: SWAP3 000039d4: ADD 000039d5: PUSH1 0x20 000039d7: ADD 000039d8: SWAP3 000039d9: SWAP2 000039da: POP 000039db: POP 000039dc: JUMP 000039dd: JUMPDEST 000039de: PUSH1 0xa0 000039e0: DUP2 000039e1: MSTORE 000039e2: PUSH0 000039e3: PUSH2 0x39ef 000039e6: PUSH1 0xa0 000039e8: DUP4 000039e9: ADD 000039ea: DUP9 000039eb: PUSH2 0x39b2 000039ee: JUMP 000039ef: JUMPDEST 000039f0: DUP3 000039f1: DUP2 000039f2: SUB 000039f3: PUSH1 0x20 000039f5: DUP5 000039f6: ADD 000039f7: MSTORE 000039f8: PUSH2 0x3a01 000039fb: DUP2 000039fc: DUP9 000039fd: PUSH2 0x39b2 00003a00: JUMP 00003a01: JUMPDEST 00003a02: SWAP1 00003a03: POP 00003a04: DUP3 00003a05: DUP2 00003a06: SUB 00003a07: PUSH1 0x40 00003a09: DUP5 00003a0a: ADD 00003a0b: MSTORE 00003a0c: PUSH2 0x3a15 00003a0f: DUP2 00003a10: DUP8 00003a11: PUSH2 0x39b2 00003a14: JUMP 00003a15: JUMPDEST 00003a16: PUSH1 0x60 00003a18: DUP5 00003a19: ADD 00003a1a: SWAP6 00003a1b: SWAP1 00003a1c: SWAP6 00003a1d: MSTORE 00003a1e: POP 00003a1f: POP 00003a20: PUSH1 0x01 00003a22: PUSH1 0x01 00003a24: PUSH1 0xa0 00003a26: SHL 00003a27: SUB 00003a28: SWAP2 00003a29: SWAP1 00003a2a: SWAP2 00003a2b: AND 00003a2c: PUSH1 0x80 00003a2e: SWAP1 00003a2f: SWAP2 00003a30: ADD 00003a31: MSTORE 00003a32: SWAP4 00003a33: SWAP3 00003a34: POP 00003a35: POP 00003a36: POP 00003a37: JUMP 00003a38: JUMPDEST 00003a39: PUSH1 0x20 00003a3b: DUP2 00003a3c: MSTORE 00003a3d: DUP2 00003a3e: MLOAD 00003a3f: PUSH1 0x20 00003a41: DUP3 00003a42: ADD 00003a43: MSTORE 00003a44: PUSH1 0x20 00003a46: DUP3 00003a47: ADD 00003a48: MLOAD 00003a49: PUSH1 0x40 00003a4b: DUP3 00003a4c: ADD 00003a4d: MSTORE 00003a4e: PUSH1 0x40 00003a50: DUP3 00003a51: ADD 00003a52: MLOAD 00003a53: PUSH1 0x60 00003a55: DUP3 00003a56: ADD 00003a57: MSTORE 00003a58: PUSH1 0x60 00003a5a: DUP3 00003a5b: ADD 00003a5c: MLOAD 00003a5d: PUSH1 0x80 00003a5f: DUP3 00003a60: ADD 00003a61: MSTORE 00003a62: PUSH1 0x80 00003a64: DUP3 00003a65: ADD 00003a66: MLOAD 00003a67: PUSH1 0xa0 00003a69: DUP3 00003a6a: ADD 00003a6b: MSTORE 00003a6c: PUSH1 0xa0 00003a6e: DUP3 00003a6f: ADD 00003a70: MLOAD 00003a71: PUSH1 0xc0 00003a73: DUP3 00003a74: ADD 00003a75: MSTORE 00003a76: PUSH1 0xc0 00003a78: DUP3 00003a79: ADD 00003a7a: MLOAD 00003a7b: PUSH1 0xe0 00003a7d: DUP3 00003a7e: ADD 00003a7f: MSTORE 00003a80: PUSH0 00003a81: PUSH1 0xe0 00003a83: DUP4 00003a84: ADD 00003a85: MLOAD 00003a86: PUSH2 0x0100 00003a89: DUP2 00003a8a: DUP2 00003a8b: DUP6 00003a8c: ADD 00003a8d: MSTORE 00003a8e: DUP1 00003a8f: DUP6 00003a90: ADD 00003a91: MLOAD 00003a92: SWAP2 00003a93: POP 00003a94: POP 00003a95: PUSH2 0x0120 00003a98: DUP2 00003a99: DUP2 00003a9a: DUP6 00003a9b: ADD 00003a9c: MSTORE 00003a9d: DUP1 00003a9e: DUP6 00003a9f: ADD 00003aa0: MLOAD 00003aa1: SWAP2 00003aa2: POP 00003aa3: POP 00003aa4: PUSH2 0x0140 00003aa7: DUP2 00003aa8: DUP2 00003aa9: DUP6 00003aaa: ADD 00003aab: MSTORE 00003aac: DUP1 00003aad: DUP6 00003aae: ADD 00003aaf: MLOAD 00003ab0: SWAP2 00003ab1: POP 00003ab2: POP 00003ab3: PUSH2 0x0160 00003ab6: DUP2 00003ab7: DUP2 00003ab8: DUP6 00003ab9: ADD 00003aba: MSTORE 00003abb: DUP1 00003abc: DUP6 00003abd: ADD 00003abe: MLOAD 00003abf: SWAP2 00003ac0: POP 00003ac1: POP 00003ac2: PUSH2 0x0180 00003ac5: DUP1 00003ac6: DUP2 00003ac7: DUP6 00003ac8: ADD 00003ac9: MSTORE 00003aca: POP 00003acb: PUSH2 0x30a7 00003ace: PUSH2 0x01a0 00003ad1: DUP5 00003ad2: ADD 00003ad3: DUP3 00003ad4: PUSH2 0x39b2 00003ad7: JUMP 00003ad8: JUMPDEST 00003ad9: PUSH0 00003ada: PUSH2 0x0180 00003add: DUP15 00003ade: DUP4 00003adf: MSTORE 00003ae0: DUP14 00003ae1: PUSH1 0x20 00003ae3: DUP5 00003ae4: ADD 00003ae5: MSTORE 00003ae6: DUP13 00003ae7: PUSH1 0x40 00003ae9: DUP5 00003aea: ADD 00003aeb: MSTORE 00003aec: DUP12 00003aed: PUSH1 0x60 00003aef: DUP5 00003af0: ADD 00003af1: MSTORE 00003af2: DUP11 00003af3: PUSH1 0x80 00003af5: DUP5 00003af6: ADD 00003af7: MSTORE 00003af8: DUP10 00003af9: PUSH1 0xa0 00003afb: DUP5 00003afc: ADD 00003afd: MSTORE 00003afe: DUP9 00003aff: PUSH1 0xc0 00003b01: DUP5 00003b02: ADD 00003b03: MSTORE 00003b04: DUP8 00003b05: PUSH1 0xe0 00003b07: DUP5 00003b08: ADD 00003b09: MSTORE 00003b0a: DUP7 00003b0b: PUSH2 0x0100 00003b0e: DUP5 00003b0f: ADD 00003b10: MSTORE 00003b11: DUP6 00003b12: PUSH2 0x0120 00003b15: DUP5 00003b16: ADD 00003b17: MSTORE 00003b18: DUP5 00003b19: PUSH2 0x0140 00003b1c: DUP5 00003b1d: ADD 00003b1e: MSTORE 00003b1f: DUP1 00003b20: PUSH2 0x0160 00003b23: DUP5 00003b24: ADD 00003b25: MSTORE 00003b26: PUSH2 0x3b31 00003b29: DUP2 00003b2a: DUP5 00003b2b: ADD 00003b2c: DUP6 00003b2d: PUSH2 0x39b2 00003b30: JUMP 00003b31: JUMPDEST 00003b32: SWAP16 00003b33: SWAP15 00003b34: POP 00003b35: POP 00003b36: POP 00003b37: POP 00003b38: POP 00003b39: POP 00003b3a: POP 00003b3b: POP 00003b3c: POP 00003b3d: POP 00003b3e: POP 00003b3f: POP 00003b40: POP 00003b41: POP 00003b42: POP 00003b43: JUMP 00003b44: JUMPDEST 00003b45: PUSH0 00003b46: PUSH1 0x20 00003b48: DUP3 00003b49: DUP5 00003b4a: SUB 00003b4b: SLT 00003b4c: ISZERO 00003b4d: PUSH2 0x3b54 00003b50: JUMPI 00003b51: PUSH0 00003b52: DUP1 00003b53: REVERT 00003b54: JUMPDEST 00003b55: DUP2 00003b56: CALLDATALOAD 00003b57: PUSH2 0x320d 00003b5a: DUP2 00003b5b: PUSH2 0x36c3 00003b5e: JUMP 00003b5f: JUMPDEST 00003b60: DUP1 00003b61: CALLDATALOAD 00003b62: PUSH6 0xffffffffffff 00003b69: DUP2 00003b6a: AND 00003b6b: DUP2 00003b6c: EQ 00003b6d: PUSH2 0x3458 00003b70: JUMPI 00003b71: PUSH0 00003b72: DUP1 00003b73: REVERT 00003b74: JUMPDEST 00003b75: PUSH0 00003b76: PUSH1 0x20 00003b78: DUP3 00003b79: DUP5 00003b7a: SUB 00003b7b: SLT 00003b7c: ISZERO 00003b7d: PUSH2 0x3b84 00003b80: JUMPI 00003b81: PUSH0 00003b82: DUP1 00003b83: REVERT 00003b84: JUMPDEST 00003b85: PUSH2 0x320d 00003b88: DUP3 00003b89: PUSH2 0x3b5f 00003b8c: JUMP 00003b8d: JUMPDEST 00003b8e: PUSH0 00003b8f: DUP1 00003b90: PUSH0 00003b91: DUP1 00003b92: PUSH0 00003b93: DUP1 00003b94: PUSH0 00003b95: DUP1 00003b96: PUSH1 0xc0 00003b98: DUP10 00003b99: DUP12 00003b9a: SUB 00003b9b: SLT 00003b9c: ISZERO 00003b9d: PUSH2 0x3ba4 00003ba0: JUMPI 00003ba1: PUSH0 00003ba2: DUP1 00003ba3: REVERT 00003ba4: JUMPDEST 00003ba5: DUP9 00003ba6: CALLDATALOAD 00003ba7: PUSH1 0x01 00003ba9: PUSH1 0x01 00003bab: PUSH1 0x40 00003bad: SHL 00003bae: SUB 00003baf: DUP1 00003bb0: DUP3 00003bb1: GT 00003bb2: ISZERO 00003bb3: PUSH2 0x3bba 00003bb6: JUMPI 00003bb7: PUSH0 00003bb8: DUP1 00003bb9: REVERT 00003bba: JUMPDEST 00003bbb: PUSH2 0x3bc6 00003bbe: DUP13 00003bbf: DUP4 00003bc0: DUP14 00003bc1: ADD 00003bc2: PUSH2 0x349a 00003bc5: JUMP 00003bc6: JUMPDEST 00003bc7: SWAP1 00003bc8: SWAP11 00003bc9: POP 00003bca: SWAP9 00003bcb: POP 00003bcc: PUSH1 0x20 00003bce: DUP12 00003bcf: ADD 00003bd0: CALLDATALOAD 00003bd1: SWAP8 00003bd2: POP 00003bd3: PUSH1 0x40 00003bd5: DUP12 00003bd6: ADD 00003bd7: CALLDATALOAD 00003bd8: SWAP7 00003bd9: POP 00003bda: DUP9 00003bdb: SWAP2 00003bdc: POP 00003bdd: PUSH2 0x3be8 00003be0: PUSH1 0x60 00003be2: DUP13 00003be3: ADD 00003be4: PUSH2 0x34d7 00003be7: JUMP 00003be8: JUMPDEST 00003be9: SWAP6 00003bea: POP 00003beb: PUSH2 0x3bf6 00003bee: PUSH1 0x80 00003bf0: DUP13 00003bf1: ADD 00003bf2: PUSH2 0x34d7 00003bf5: JUMP 00003bf6: JUMPDEST 00003bf7: SWAP5 00003bf8: POP 00003bf9: PUSH1 0xa0 00003bfb: DUP12 00003bfc: ADD 00003bfd: CALLDATALOAD 00003bfe: SWAP2 00003bff: POP 00003c00: DUP1 00003c01: DUP3 00003c02: GT 00003c03: ISZERO 00003c04: PUSH2 0x3c0b 00003c07: JUMPI 00003c08: PUSH0 00003c09: DUP1 00003c0a: REVERT 00003c0b: JUMPDEST 00003c0c: POP 00003c0d: PUSH2 0x3c18 00003c10: DUP12 00003c11: DUP3 00003c12: DUP13 00003c13: ADD 00003c14: PUSH2 0x34e6 00003c17: JUMP 00003c18: JUMPDEST 00003c19: SWAP10 00003c1a: SWAP13 00003c1b: SWAP9 00003c1c: SWAP12 00003c1d: POP 00003c1e: SWAP7 00003c1f: SWAP10 00003c20: POP 00003c21: SWAP5 00003c22: SWAP8 00003c23: SWAP4 00003c24: SWAP7 00003c25: SWAP3 00003c26: SWAP6 00003c27: SWAP5 00003c28: POP 00003c29: POP 00003c2a: POP 00003c2b: JUMP 00003c2c: JUMPDEST 00003c2d: PUSH0 00003c2e: DUP1 00003c2f: PUSH1 0x40 00003c31: DUP4 00003c32: DUP6 00003c33: SUB 00003c34: SLT 00003c35: ISZERO 00003c36: PUSH2 0x3c3d 00003c39: JUMPI 00003c3a: PUSH0 00003c3b: DUP1 00003c3c: REVERT 00003c3d: JUMPDEST 00003c3e: DUP3 00003c3f: CALLDATALOAD 00003c40: PUSH1 0x07 00003c42: DUP2 00003c43: LT 00003c44: PUSH2 0x3c4b 00003c47: JUMPI 00003c48: PUSH0 00003c49: DUP1 00003c4a: REVERT 00003c4b: JUMPDEST 00003c4c: SWAP2 00003c4d: POP 00003c4e: PUSH1 0x20 00003c50: DUP4 00003c51: ADD 00003c52: CALLDATALOAD 00003c53: PUSH2 0x348f 00003c56: DUP2 00003c57: PUSH2 0x36c3 00003c5a: JUMP 00003c5b: JUMPDEST 00003c5c: PUSH0 00003c5d: DUP1 00003c5e: PUSH0 00003c5f: PUSH1 0x40 00003c61: DUP5 00003c62: DUP7 00003c63: SUB 00003c64: SLT 00003c65: ISZERO 00003c66: PUSH2 0x3c6d 00003c69: JUMPI 00003c6a: PUSH0 00003c6b: DUP1 00003c6c: REVERT 00003c6d: JUMPDEST 00003c6e: DUP4 00003c6f: CALLDATALOAD 00003c70: PUSH1 0x01 00003c72: PUSH1 0x01 00003c74: PUSH1 0x40 00003c76: SHL 00003c77: SUB 00003c78: DUP2 00003c79: GT 00003c7a: ISZERO 00003c7b: PUSH2 0x3c82 00003c7e: JUMPI 00003c7f: PUSH0 00003c80: DUP1 00003c81: REVERT 00003c82: JUMPDEST 00003c83: PUSH2 0x3c8e 00003c86: DUP7 00003c87: DUP3 00003c88: DUP8 00003c89: ADD 00003c8a: PUSH2 0x3895 00003c8d: JUMP 00003c8e: JUMPDEST 00003c8f: SWAP1 00003c90: SWAP5 00003c91: POP 00003c92: SWAP3 00003c93: POP 00003c94: PUSH2 0x388c 00003c97: SWAP1 00003c98: POP 00003c99: PUSH1 0x20 00003c9b: DUP6 00003c9c: ADD 00003c9d: PUSH2 0x34d7 00003ca0: JUMP 00003ca1: JUMPDEST 00003ca2: PUSH0 00003ca3: DUP1 00003ca4: PUSH1 0x40 00003ca6: DUP4 00003ca7: DUP6 00003ca8: SUB 00003ca9: SLT 00003caa: ISZERO 00003cab: PUSH2 0x3cb2 00003cae: JUMPI 00003caf: PUSH0 00003cb0: DUP1 00003cb1: REVERT 00003cb2: JUMPDEST 00003cb3: POP 00003cb4: POP 00003cb5: DUP1 00003cb6: CALLDATALOAD 00003cb7: SWAP3 00003cb8: PUSH1 0x20 00003cba: SWAP1 00003cbb: SWAP2 00003cbc: ADD 00003cbd: CALLDATALOAD 00003cbe: SWAP2 00003cbf: POP 00003cc0: JUMP 00003cc1: JUMPDEST 00003cc2: PUSH0 00003cc3: DUP1 00003cc4: PUSH0 00003cc5: DUP1 00003cc6: PUSH1 0x60 00003cc8: DUP6 00003cc9: DUP8 00003cca: SUB 00003ccb: SLT 00003ccc: ISZERO 00003ccd: PUSH2 0x3cd4 00003cd0: JUMPI 00003cd1: PUSH0 00003cd2: DUP1 00003cd3: REVERT 00003cd4: JUMPDEST 00003cd5: DUP5 00003cd6: CALLDATALOAD 00003cd7: PUSH1 0x01 00003cd9: PUSH1 0x01 00003cdb: PUSH1 0x40 00003cdd: SHL 00003cde: SUB 00003cdf: DUP2 00003ce0: GT 00003ce1: ISZERO 00003ce2: PUSH2 0x3ce9 00003ce5: JUMPI 00003ce6: PUSH0 00003ce7: DUP1 00003ce8: REVERT 00003ce9: JUMPDEST 00003cea: PUSH2 0x3cf5 00003ced: DUP8 00003cee: DUP3 00003cef: DUP9 00003cf0: ADD 00003cf1: PUSH2 0x349a 00003cf4: JUMP 00003cf5: JUMPDEST 00003cf6: SWAP1 00003cf7: SWAP6 00003cf8: POP 00003cf9: SWAP4 00003cfa: POP 00003cfb: POP 00003cfc: PUSH1 0x20 00003cfe: DUP6 00003cff: ADD 00003d00: CALLDATALOAD 00003d01: SWAP2 00003d02: POP 00003d03: PUSH2 0x3d0e 00003d06: PUSH1 0x40 00003d08: DUP7 00003d09: ADD 00003d0a: PUSH2 0x34d7 00003d0d: JUMP 00003d0e: JUMPDEST 00003d0f: SWAP1 00003d10: POP 00003d11: SWAP3 00003d12: SWAP6 00003d13: SWAP2 00003d14: SWAP5 00003d15: POP 00003d16: SWAP3 00003d17: POP 00003d18: JUMP 00003d19: JUMPDEST 00003d1a: PUSH0 00003d1b: PUSH1 0x20 00003d1d: DUP3 00003d1e: DUP5 00003d1f: SUB 00003d20: SLT 00003d21: ISZERO 00003d22: PUSH2 0x3d29 00003d25: JUMPI 00003d26: PUSH0 00003d27: DUP1 00003d28: REVERT 00003d29: JUMPDEST 00003d2a: DUP2 00003d2b: CALLDATALOAD 00003d2c: PUSH1 0x01 00003d2e: PUSH1 0x01 00003d30: PUSH1 0x40 00003d32: SHL 00003d33: SUB 00003d34: DUP2 00003d35: GT 00003d36: ISZERO 00003d37: PUSH2 0x3d3e 00003d3a: JUMPI 00003d3b: PUSH0 00003d3c: DUP1 00003d3d: REVERT 00003d3e: JUMPDEST 00003d3f: PUSH2 0x30a7 00003d42: DUP5 00003d43: DUP3 00003d44: DUP6 00003d45: ADD 00003d46: PUSH2 0x3671 00003d49: JUMP 00003d4a: JUMPDEST 00003d4b: PUSH4 0x4e487b71 00003d50: PUSH1 0xe0 00003d52: SHL 00003d53: PUSH0 00003d54: MSTORE 00003d55: PUSH1 0x21 00003d57: PUSH1 0x04 00003d59: MSTORE 00003d5a: PUSH1 0x24 00003d5c: PUSH0 00003d5d: REVERT 00003d5e: JUMPDEST 00003d5f: PUSH1 0x20 00003d61: DUP2 00003d62: ADD 00003d63: PUSH1 0x05 00003d65: DUP4 00003d66: LT 00003d67: PUSH2 0x3d72 00003d6a: JUMPI 00003d6b: PUSH2 0x3d72 00003d6e: PUSH2 0x3d4a 00003d71: JUMP 00003d72: JUMPDEST 00003d73: SWAP2 00003d74: SWAP1 00003d75: MSTORE 00003d76: SWAP1 00003d77: JUMP 00003d78: JUMPDEST 00003d79: PUSH0 00003d7a: DUP1 00003d7b: PUSH1 0x40 00003d7d: DUP4 00003d7e: DUP6 00003d7f: SUB 00003d80: SLT 00003d81: ISZERO 00003d82: PUSH2 0x3d89 00003d85: JUMPI 00003d86: PUSH0 00003d87: DUP1 00003d88: REVERT 00003d89: JUMPDEST 00003d8a: DUP3 00003d8b: CALLDATALOAD 00003d8c: PUSH2 0x3d94 00003d8f: DUP2 00003d90: PUSH2 0x36c3 00003d93: JUMP 00003d94: JUMPDEST 00003d95: SWAP2 00003d96: POP 00003d97: PUSH2 0x3da2 00003d9a: PUSH1 0x20 00003d9c: DUP5 00003d9d: ADD 00003d9e: PUSH2 0x34d7 00003da1: JUMP 00003da2: JUMPDEST 00003da3: SWAP1 00003da4: POP 00003da5: SWAP3 00003da6: POP 00003da7: SWAP3 00003da8: SWAP1 00003da9: POP 00003daa: JUMP 00003dab: JUMPDEST 00003dac: PUSH0 00003dad: DUP1 00003dae: PUSH0 00003daf: DUP1 00003db0: PUSH0 00003db1: PUSH1 0x80 00003db3: DUP7 00003db4: DUP9 00003db5: SUB 00003db6: SLT 00003db7: ISZERO 00003db8: PUSH2 0x3dbf 00003dbb: JUMPI 00003dbc: PUSH0 00003dbd: DUP1 00003dbe: REVERT 00003dbf: JUMPDEST 00003dc0: DUP6 00003dc1: CALLDATALOAD 00003dc2: PUSH2 0x3dca 00003dc5: DUP2 00003dc6: PUSH2 0x36c3 00003dc9: JUMP 00003dca: JUMPDEST 00003dcb: SWAP5 00003dcc: POP 00003dcd: PUSH1 0x20 00003dcf: DUP7 00003dd0: ADD 00003dd1: CALLDATALOAD 00003dd2: PUSH2 0x3dda 00003dd5: DUP2 00003dd6: PUSH2 0x36c3 00003dd9: JUMP 00003dda: JUMPDEST 00003ddb: SWAP4 00003ddc: POP 00003ddd: PUSH1 0x40 00003ddf: DUP7 00003de0: ADD 00003de1: CALLDATALOAD 00003de2: SWAP3 00003de3: POP 00003de4: PUSH1 0x60 00003de6: DUP7 00003de7: ADD 00003de8: CALLDATALOAD 00003de9: PUSH1 0x01 00003deb: PUSH1 0x01 00003ded: PUSH1 0x40 00003def: SHL 00003df0: SUB 00003df1: DUP2 00003df2: GT 00003df3: ISZERO 00003df4: PUSH2 0x3dfb 00003df7: JUMPI 00003df8: PUSH0 00003df9: DUP1 00003dfa: REVERT 00003dfb: JUMPDEST 00003dfc: PUSH2 0x3e07 00003dff: DUP9 00003e00: DUP3 00003e01: DUP10 00003e02: ADD 00003e03: PUSH2 0x34e6 00003e06: JUMP 00003e07: JUMPDEST 00003e08: SWAP7 00003e09: SWAP10 00003e0a: SWAP6 00003e0b: SWAP9 00003e0c: POP 00003e0d: SWAP4 00003e0e: SWAP7 00003e0f: POP 00003e10: SWAP3 00003e11: SWAP5 00003e12: SWAP4 00003e13: SWAP3 00003e14: POP 00003e15: POP 00003e16: POP 00003e17: JUMP 00003e18: JUMPDEST 00003e19: PUSH0 00003e1a: DUP1 00003e1b: PUSH0 00003e1c: DUP1 00003e1d: PUSH1 0x80 00003e1f: DUP6 00003e20: DUP8 00003e21: SUB 00003e22: SLT 00003e23: ISZERO 00003e24: PUSH2 0x3e2b 00003e27: JUMPI 00003e28: PUSH0 00003e29: DUP1 00003e2a: REVERT 00003e2b: JUMPDEST 00003e2c: DUP5 00003e2d: CALLDATALOAD 00003e2e: PUSH2 0x3e36 00003e31: DUP2 00003e32: PUSH2 0x36c3 00003e35: JUMP 00003e36: JUMPDEST 00003e37: SWAP4 00003e38: POP 00003e39: PUSH1 0x20 00003e3b: DUP6 00003e3c: ADD 00003e3d: CALLDATALOAD 00003e3e: PUSH2 0x3e46 00003e41: DUP2 00003e42: PUSH2 0x36c3 00003e45: JUMP 00003e46: JUMPDEST 00003e47: SWAP3 00003e48: POP 00003e49: PUSH1 0x40 00003e4b: DUP6 00003e4c: ADD 00003e4d: CALLDATALOAD 00003e4e: PUSH2 0x3e56 00003e51: DUP2 00003e52: PUSH2 0x36c3 00003e55: JUMP 00003e56: JUMPDEST 00003e57: SWAP2 00003e58: POP 00003e59: PUSH2 0x3d0e 00003e5c: PUSH1 0x60 00003e5e: DUP7 00003e5f: ADD 00003e60: PUSH2 0x3b5f 00003e63: JUMP 00003e64: JUMPDEST 00003e65: PUSH0 00003e66: DUP1 00003e67: PUSH0 00003e68: PUSH1 0x60 00003e6a: DUP5 00003e6b: DUP7 00003e6c: SUB 00003e6d: SLT 00003e6e: ISZERO 00003e6f: PUSH2 0x3e76 00003e72: JUMPI 00003e73: PUSH0 00003e74: DUP1 00003e75: REVERT 00003e76: JUMPDEST 00003e77: DUP4 00003e78: CALLDATALOAD 00003e79: SWAP3 00003e7a: POP 00003e7b: PUSH1 0x20 00003e7d: DUP5 00003e7e: ADD 00003e7f: CALLDATALOAD 00003e80: SWAP2 00003e81: POP 00003e82: PUSH1 0x40 00003e84: DUP5 00003e85: ADD 00003e86: CALLDATALOAD 00003e87: PUSH2 0x3e8f 00003e8a: DUP2 00003e8b: PUSH2 0x36c3 00003e8e: JUMP 00003e8f: JUMPDEST 00003e90: DUP1 00003e91: SWAP2 00003e92: POP 00003e93: POP 00003e94: SWAP3 00003e95: POP 00003e96: SWAP3 00003e97: POP 00003e98: SWAP3 00003e99: JUMP 00003e9a: JUMPDEST 00003e9b: PUSH1 0x20 00003e9d: DUP2 00003e9e: MSTORE 00003e9f: PUSH0 00003ea0: PUSH2 0x320d 00003ea3: PUSH1 0x20 00003ea5: DUP4 00003ea6: ADD 00003ea7: DUP5 00003ea8: PUSH2 0x39b2 00003eab: JUMP 00003eac: JUMPDEST 00003ead: PUSH0 00003eae: PUSH1 0x20 00003eb0: DUP3 00003eb1: DUP5 00003eb2: SUB 00003eb3: SLT 00003eb4: ISZERO 00003eb5: PUSH2 0x3ebc 00003eb8: JUMPI 00003eb9: PUSH0 00003eba: DUP1 00003ebb: REVERT 00003ebc: JUMPDEST 00003ebd: POP 00003ebe: MLOAD 00003ebf: SWAP2 00003ec0: SWAP1 00003ec1: POP 00003ec2: JUMP 00003ec3: JUMPDEST 00003ec4: DUP5 00003ec5: DUP2 00003ec6: MSTORE 00003ec7: PUSH1 0x20 00003ec9: DUP2 00003eca: ADD 00003ecb: DUP5 00003ecc: SWAP1 00003ecd: MSTORE 00003ece: PUSH1 0x80 00003ed0: DUP2 00003ed1: ADD 00003ed2: PUSH1 0x03 00003ed4: DUP5 00003ed5: LT 00003ed6: PUSH2 0x3ee1 00003ed9: JUMPI 00003eda: PUSH2 0x3ee1 00003edd: PUSH2 0x3d4a 00003ee0: JUMP 00003ee1: JUMPDEST 00003ee2: DUP4 00003ee3: PUSH1 0x40 00003ee5: DUP4 00003ee6: ADD 00003ee7: MSTORE 00003ee8: PUSH4 0xffffffff 00003eed: DUP4 00003eee: AND 00003eef: PUSH1 0x60 00003ef1: DUP4 00003ef2: ADD 00003ef3: MSTORE 00003ef4: SWAP6 00003ef5: SWAP5 00003ef6: POP 00003ef7: POP 00003ef8: POP 00003ef9: POP 00003efa: POP 00003efb: JUMP 00003efc: JUMPDEST 00003efd: DUP2 00003efe: DUP4 00003eff: MSTORE 00003f00: DUP2 00003f01: DUP2 00003f02: PUSH1 0x20 00003f04: DUP6 00003f05: ADD 00003f06: CALLDATACOPY 00003f07: POP 00003f08: PUSH0 00003f09: DUP3 00003f0a: DUP3 00003f0b: ADD 00003f0c: PUSH1 0x20 00003f0e: SWAP1 00003f0f: DUP2 00003f10: ADD 00003f11: SWAP2 00003f12: SWAP1 00003f13: SWAP2 00003f14: MSTORE 00003f15: PUSH1 0x1f 00003f17: SWAP1 00003f18: SWAP2 00003f19: ADD 00003f1a: PUSH1 0x1f 00003f1c: NOT 00003f1d: AND 00003f1e: SWAP1 00003f1f: SWAP2 00003f20: ADD 00003f21: ADD 00003f22: SWAP1 00003f23: JUMP 00003f24: JUMPDEST 00003f25: DUP2 00003f26: DUP4 00003f27: MSTORE 00003f28: PUSH0 00003f29: PUSH1 0x20 00003f2b: DUP1 00003f2c: DUP6 00003f2d: ADD 00003f2e: SWAP5 00003f2f: POP 00003f30: DUP3 00003f31: PUSH0 00003f32: JUMPDEST 00003f33: DUP6 00003f34: DUP2 00003f35: LT 00003f36: ISZERO 00003f37: PUSH2 0x3f6a 00003f3a: JUMPI 00003f3b: DUP2 00003f3c: CALLDATALOAD 00003f3d: PUSH2 0x3f45 00003f40: DUP2 00003f41: PUSH2 0x36c3 00003f44: JUMP 00003f45: JUMPDEST 00003f46: PUSH1 0x01 00003f48: PUSH1 0x01 00003f4a: PUSH1 0xa0 00003f4c: SHL 00003f4d: SUB 00003f4e: AND 00003f4f: DUP8 00003f50: MSTORE 00003f51: DUP2 00003f52: DUP4 00003f53: ADD 00003f54: CALLDATALOAD 00003f55: DUP4 00003f56: DUP9 00003f57: ADD 00003f58: MSTORE 00003f59: PUSH1 0x40 00003f5b: SWAP7 00003f5c: DUP8 00003f5d: ADD 00003f5e: SWAP7 00003f5f: SWAP1 00003f60: SWAP2 00003f61: ADD 00003f62: SWAP1 00003f63: PUSH1 0x01 00003f65: ADD 00003f66: PUSH2 0x3f32 00003f69: JUMP 00003f6a: JUMPDEST 00003f6b: POP 00003f6c: SWAP5 00003f6d: SWAP6 00003f6e: SWAP5 00003f6f: POP 00003f70: POP 00003f71: POP 00003f72: POP 00003f73: POP 00003f74: JUMP 00003f75: JUMPDEST 00003f76: DUP15 00003f77: DUP2 00003f78: MSTORE 00003f79: DUP14 00003f7a: PUSH1 0x20 00003f7c: DUP3 00003f7d: ADD 00003f7e: MSTORE 00003f7f: DUP13 00003f80: PUSH1 0x40 00003f82: DUP3 00003f83: ADD 00003f84: MSTORE 00003f85: DUP12 00003f86: PUSH1 0x60 00003f88: DUP3 00003f89: ADD 00003f8a: MSTORE 00003f8b: PUSH2 0x0160 00003f8e: PUSH1 0x80 00003f90: DUP3 00003f91: ADD 00003f92: MSTORE 00003f93: PUSH0 00003f94: PUSH2 0x3fa2 00003f97: PUSH2 0x0160 00003f9a: DUP4 00003f9b: ADD 00003f9c: DUP13 00003f9d: DUP15 00003f9e: PUSH2 0x3efc 00003fa1: JUMP 00003fa2: JUMPDEST 00003fa3: DUP3 00003fa4: DUP2 00003fa5: SUB 00003fa6: PUSH1 0xa0 00003fa8: DUP5 00003fa9: ADD 00003faa: MSTORE 00003fab: PUSH2 0x3fb5 00003fae: DUP2 00003faf: DUP12 00003fb0: DUP14 00003fb1: PUSH2 0x3efc 00003fb4: JUMP 00003fb5: JUMPDEST 00003fb6: SWAP1 00003fb7: POP 00003fb8: DUP9 00003fb9: PUSH1 0xc0 00003fbb: DUP5 00003fbc: ADD 00003fbd: MSTORE 00003fbe: DUP8 00003fbf: PUSH1 0xe0 00003fc1: DUP5 00003fc2: ADD 00003fc3: MSTORE 00003fc4: DUP7 00003fc5: ISZERO 00003fc6: ISZERO 00003fc7: PUSH2 0x0100 00003fca: DUP5 00003fcb: ADD 00003fcc: MSTORE 00003fcd: DUP3 00003fce: DUP2 00003fcf: SUB 00003fd0: PUSH2 0x0120 00003fd3: DUP5 00003fd4: ADD 00003fd5: MSTORE 00003fd6: PUSH2 0x3fe0 00003fd9: DUP2 00003fda: DUP7 00003fdb: DUP9 00003fdc: PUSH2 0x3f24 00003fdf: JUMP 00003fe0: JUMPDEST 00003fe1: SWAP2 00003fe2: POP 00003fe3: POP 00003fe4: PUSH1 0x01 00003fe6: DUP1 00003fe7: PUSH1 0xa0 00003fe9: SHL 00003fea: SUB 00003feb: DUP4 00003fec: AND 00003fed: PUSH2 0x0140 00003ff0: DUP4 00003ff1: ADD 00003ff2: MSTORE 00003ff3: SWAP16 00003ff4: SWAP15 00003ff5: POP 00003ff6: POP 00003ff7: POP 00003ff8: POP 00003ff9: POP 00003ffa: POP 00003ffb: POP 00003ffc: POP 00003ffd: POP 00003ffe: POP 00003fff: POP 00004000: POP 00004001: POP 00004002: POP 00004003: POP 00004004: JUMP 00004005: JUMPDEST 00004006: PUSH0 00004007: PUSH1 0x80 00004009: DUP1 0000400a: DUP4 0000400b: ADD 0000400c: DUP8 0000400d: DUP5 0000400e: MSTORE 0000400f: PUSH1 0x20 00004011: DUP8 00004012: DUP2 00004013: DUP7 00004014: ADD 00004015: MSTORE 00004016: PUSH1 0x40 00004018: DUP8 00004019: PUSH1 0x40 0000401b: DUP8 0000401c: ADD 0000401d: MSTORE 0000401e: PUSH1 0x60 00004020: PUSH1 0x80 00004022: PUSH1 0x60 00004024: DUP9 00004025: ADD 00004026: MSTORE 00004027: DUP4 00004028: DUP9 00004029: MLOAD 0000402a: DUP1 0000402b: DUP7 0000402c: MSTORE 0000402d: PUSH1 0xa0 0000402f: DUP10 00004030: ADD 00004031: SWAP2 00004032: POP 00004033: PUSH1 0xa0 00004035: DUP2 00004036: PUSH1 0x05 00004038: SHL 00004039: DUP11 0000403a: ADD 0000403b: ADD 0000403c: SWAP6 0000403d: POP 0000403e: DUP5 0000403f: DUP11 00004040: ADD 00004041: PUSH0 00004042: JUMPDEST 00004043: DUP3 00004044: DUP2 00004045: LT 00004046: ISZERO 00004047: PUSH2 0x40ac 0000404a: JUMPI 0000404b: DUP11 0000404c: DUP9 0000404d: SUB 0000404e: PUSH1 0x9f 00004050: NOT 00004051: ADD 00004052: DUP5 00004053: MSTORE 00004054: DUP2 00004055: MLOAD 00004056: DUP1 00004057: MLOAD 00004058: DUP11 00004059: DUP11 0000405a: MSTORE 0000405b: PUSH2 0x4066 0000405e: DUP12 0000405f: DUP12 00004060: ADD 00004061: DUP3 00004062: PUSH2 0x39b2 00004065: JUMP 00004066: JUMPDEST 00004067: SWAP1 00004068: POP 00004069: DUP9 0000406a: DUP3 0000406b: ADD 0000406c: MLOAD 0000406d: DUP11 0000406e: DUP3 0000406f: SUB 00004070: DUP11 00004071: DUP13 00004072: ADD 00004073: MSTORE 00004074: PUSH2 0x407d 00004077: DUP3 00004078: DUP3 00004079: PUSH2 0x39b2 0000407c: JUMP 0000407d: JUMPDEST 0000407e: DUP4 0000407f: DUP11 00004080: ADD 00004081: MLOAD 00004082: DUP13 00004083: DUP12 00004084: ADD 00004085: MSTORE 00004086: SWAP3 00004087: DUP9 00004088: ADD 00004089: MLOAD 0000408a: PUSH1 0x01 0000408c: PUSH1 0x01 0000408e: PUSH1 0xa0 00004090: SHL 00004091: SUB 00004092: AND 00004093: SWAP11 00004094: DUP9 00004095: ADD 00004096: SWAP11 00004097: SWAP1 00004098: SWAP11 00004099: MSTORE 0000409a: POP 0000409b: SWAP8 0000409c: POP 0000409d: SWAP3 0000409e: DUP7 0000409f: ADD 000040a0: SWAP3 000040a1: SWAP1 000040a2: DUP7 000040a3: ADD 000040a4: SWAP1 000040a5: PUSH1 0x01 000040a7: ADD 000040a8: PUSH2 0x4042 000040ab: JUMP 000040ac: JUMPDEST 000040ad: POP 000040ae: SWAP6 000040af: SWAP14 000040b0: SWAP13 000040b1: POP 000040b2: POP 000040b3: POP 000040b4: POP 000040b5: POP 000040b6: POP 000040b7: POP 000040b8: POP 000040b9: POP 000040ba: POP 000040bb: POP 000040bc: POP 000040bd: POP 000040be: JUMP 000040bf: JUMPDEST 000040c0: PUSH0 000040c1: DUP1 000040c2: PUSH1 0x40 000040c4: DUP4 000040c5: DUP6 000040c6: SUB 000040c7: SLT 000040c8: ISZERO 000040c9: PUSH2 0x40d0 000040cc: JUMPI 000040cd: PUSH0 000040ce: DUP1 000040cf: REVERT 000040d0: JUMPDEST 000040d1: POP 000040d2: POP 000040d3: DUP1 000040d4: MLOAD 000040d5: PUSH1 0x20 000040d7: SWAP1 000040d8: SWAP2 000040d9: ADD 000040da: MLOAD 000040db: SWAP1 000040dc: SWAP3 000040dd: SWAP1 000040de: SWAP2 000040df: POP 000040e0: JUMP 000040e1: JUMPDEST 000040e2: DUP2 000040e3: DUP4 000040e4: MSTORE 000040e5: PUSH0 000040e6: PUSH1 0x01 000040e8: PUSH1 0x01 000040ea: PUSH1 0xfb 000040ec: SHL 000040ed: SUB 000040ee: DUP4 000040ef: GT 000040f0: ISZERO 000040f1: PUSH2 0x40f8 000040f4: JUMPI 000040f5: PUSH0 000040f6: DUP1 000040f7: REVERT 000040f8: JUMPDEST 000040f9: DUP3 000040fa: PUSH1 0x05 000040fc: SHL 000040fd: DUP1 000040fe: DUP4 000040ff: PUSH1 0x20 00004101: DUP8 00004102: ADD 00004103: CALLDATACOPY 00004104: SWAP4 00004105: SWAP1 00004106: SWAP4 00004107: ADD 00004108: PUSH1 0x20 0000410a: ADD 0000410b: SWAP4 0000410c: SWAP3 0000410d: POP 0000410e: POP 0000410f: POP 00004110: JUMP 00004111: JUMPDEST 00004112: DUP10 00004113: DUP2 00004114: MSTORE 00004115: DUP9 00004116: PUSH1 0x20 00004118: DUP3 00004119: ADD 0000411a: MSTORE 0000411b: DUP8 0000411c: PUSH1 0x40 0000411e: DUP3 0000411f: ADD 00004120: MSTORE 00004121: DUP7 00004122: PUSH1 0x60 00004124: DUP3 00004125: ADD 00004126: MSTORE 00004127: PUSH1 0xe0 00004129: PUSH1 0x80 0000412b: DUP3 0000412c: ADD 0000412d: MSTORE 0000412e: PUSH0 0000412f: PUSH2 0x413c 00004132: PUSH1 0xe0 00004134: DUP4 00004135: ADD 00004136: DUP8 00004137: DUP10 00004138: PUSH2 0x40e1 0000413b: JUMP 0000413c: JUMPDEST 0000413d: DUP3 0000413e: DUP2 0000413f: SUB 00004140: PUSH1 0xa0 00004142: DUP5 00004143: ADD 00004144: MSTORE 00004145: PUSH2 0x414f 00004148: DUP2 00004149: DUP7 0000414a: DUP9 0000414b: PUSH2 0x40e1 0000414e: JUMP 0000414f: JUMPDEST 00004150: SWAP2 00004151: POP 00004152: POP 00004153: PUSH1 0x01 00004155: DUP1 00004156: PUSH1 0xa0 00004158: SHL 00004159: SUB 0000415a: DUP4 0000415b: AND 0000415c: PUSH1 0xc0 0000415e: DUP4 0000415f: ADD 00004160: MSTORE 00004161: SWAP11 00004162: SWAP10 00004163: POP 00004164: POP 00004165: POP 00004166: POP 00004167: POP 00004168: POP 00004169: POP 0000416a: POP 0000416b: POP 0000416c: POP 0000416d: JUMP 0000416e: JUMPDEST 0000416f: DUP7 00004170: DUP2 00004171: MSTORE 00004172: DUP6 00004173: PUSH1 0x20 00004175: DUP3 00004176: ADD 00004177: MSTORE 00004178: PUSH1 0xa0 0000417a: PUSH1 0x40 0000417c: DUP3 0000417d: ADD 0000417e: MSTORE 0000417f: PUSH0 00004180: PUSH2 0x418d 00004183: PUSH1 0xa0 00004185: DUP4 00004186: ADD 00004187: DUP7 00004188: DUP9 00004189: PUSH2 0x3efc 0000418c: JUMP 0000418d: JUMPDEST 0000418e: PUSH1 0x60 00004190: DUP4 00004191: ADD 00004192: SWAP5 00004193: SWAP1 00004194: SWAP5 00004195: MSTORE 00004196: POP 00004197: PUSH1 0x80 00004199: ADD 0000419a: MSTORE 0000419b: SWAP5 0000419c: SWAP4 0000419d: POP 0000419e: POP 0000419f: POP 000041a0: POP 000041a1: JUMP 000041a2: JUMPDEST 000041a3: PUSH1 0x01 000041a5: DUP2 000041a6: DUP2 000041a7: SHR 000041a8: SWAP1 000041a9: DUP3 000041aa: AND 000041ab: DUP1 000041ac: PUSH2 0x41b6 000041af: JUMPI 000041b0: PUSH1 0x7f 000041b2: DUP3 000041b3: AND 000041b4: SWAP2 000041b5: POP 000041b6: JUMPDEST 000041b7: PUSH1 0x20 000041b9: DUP3 000041ba: LT 000041bb: DUP2 000041bc: SUB 000041bd: PUSH2 0x41d4 000041c0: JUMPI 000041c1: PUSH4 0x4e487b71 000041c6: PUSH1 0xe0 000041c8: SHL 000041c9: PUSH0 000041ca: MSTORE 000041cb: PUSH1 0x22 000041cd: PUSH1 0x04 000041cf: MSTORE 000041d0: PUSH1 0x24 000041d2: PUSH0 000041d3: REVERT 000041d4: JUMPDEST 000041d5: POP 000041d6: SWAP2 000041d7: SWAP1 000041d8: POP 000041d9: JUMP 000041da: JUMPDEST 000041db: DUP4 000041dc: DUP2 000041dd: MSTORE 000041de: PUSH0 000041df: PUSH1 0x20 000041e1: PUSH1 0x60 000041e3: PUSH1 0x20 000041e5: DUP5 000041e6: ADD 000041e7: MSTORE 000041e8: PUSH0 000041e9: DUP6 000041ea: SLOAD 000041eb: PUSH0 000041ec: PUSH1 0x01 000041ee: DUP3 000041ef: PUSH1 0x01 000041f1: SHR 000041f2: SWAP2 000041f3: POP 000041f4: PUSH1 0x01 000041f6: DUP4 000041f7: AND 000041f8: DUP1 000041f9: PUSH2 0x4203 000041fc: JUMPI 000041fd: PUSH1 0x7f 000041ff: DUP4 00004200: AND 00004201: SWAP3 00004202: POP 00004203: JUMPDEST 00004204: PUSH1 0x20 00004206: DUP4 00004207: LT 00004208: DUP2 00004209: SUB 0000420a: PUSH2 0x4221 0000420d: JUMPI 0000420e: PUSH4 0x4e487b71 00004213: PUSH1 0xe0 00004215: SHL 00004216: PUSH0 00004217: MSTORE 00004218: PUSH1 0x22 0000421a: PUSH1 0x04 0000421c: MSTORE 0000421d: PUSH1 0x24 0000421f: PUSH0 00004220: REVERT 00004221: JUMPDEST 00004222: PUSH1 0x60 00004224: DUP9 00004225: ADD 00004226: DUP4 00004227: SWAP1 00004228: MSTORE 00004229: PUSH1 0x80 0000422b: DUP9 0000422c: ADD 0000422d: DUP2 0000422e: DUP1 0000422f: ISZERO 00004230: PUSH2 0x4240 00004233: JUMPI 00004234: PUSH1 0x01 00004236: DUP2 00004237: EQ 00004238: PUSH2 0x4256 0000423b: JUMPI 0000423c: PUSH2 0x427f 0000423f: JUMP 00004240: JUMPDEST 00004241: PUSH1 0xff 00004243: NOT 00004244: DUP7 00004245: AND 00004246: DUP3 00004247: MSTORE 00004248: DUP5 00004249: ISZERO 0000424a: ISZERO 0000424b: PUSH1 0x05 0000424d: SHL 0000424e: DUP3 0000424f: ADD 00004250: SWAP7 00004251: POP 00004252: PUSH2 0x427f 00004255: JUMP 00004256: JUMPDEST 00004257: PUSH0 00004258: DUP13 00004259: DUP2 0000425a: MSTORE 0000425b: PUSH1 0x20 0000425d: SWAP1 0000425e: KECCAK256 0000425f: PUSH0 00004260: JUMPDEST 00004261: DUP7 00004262: DUP2 00004263: LT 00004264: ISZERO 00004265: PUSH2 0x4279 00004268: JUMPI 00004269: DUP2 0000426a: SLOAD 0000426b: DUP5 0000426c: DUP3 0000426d: ADD 0000426e: MSTORE 0000426f: SWAP1 00004270: DUP6 00004271: ADD 00004272: SWAP1 00004273: DUP10 00004274: ADD 00004275: PUSH2 0x4260 00004278: JUMP 00004279: JUMPDEST 0000427a: DUP4 0000427b: ADD 0000427c: SWAP8 0000427d: POP 0000427e: POP 0000427f: JUMPDEST 00004280: POP 00004281: POP 00004282: POP 00004283: POP 00004284: POP 00004285: POP 00004286: DUP1 00004287: SWAP3 00004288: POP 00004289: POP 0000428a: POP 0000428b: DUP3 0000428c: PUSH1 0x40 0000428e: DUP4 0000428f: ADD 00004290: MSTORE 00004291: SWAP5 00004292: SWAP4 00004293: POP 00004294: POP 00004295: POP 00004296: POP 00004297: JUMP 00004298: JUMPDEST 00004299: PUSH0 0000429a: DUP3 0000429b: PUSH1 0x1f 0000429d: DUP4 0000429e: ADD 0000429f: SLT 000042a0: PUSH2 0x42a7 000042a3: JUMPI 000042a4: PUSH0 000042a5: DUP1 000042a6: REVERT 000042a7: JUMPDEST 000042a8: DUP2 000042a9: MLOAD 000042aa: PUSH2 0x42b5 000042ad: PUSH2 0x368e 000042b0: DUP3 000042b1: PUSH2 0x364b 000042b4: JUMP 000042b5: JUMPDEST 000042b6: DUP2 000042b7: DUP2 000042b8: MSTORE 000042b9: DUP5 000042ba: PUSH1 0x20 000042bc: DUP4 000042bd: DUP7 000042be: ADD 000042bf: ADD 000042c0: GT 000042c1: ISZERO 000042c2: PUSH2 0x42c9 000042c5: JUMPI 000042c6: PUSH0 000042c7: DUP1 000042c8: REVERT 000042c9: JUMPDEST 000042ca: PUSH2 0x30a7 000042cd: DUP3 000042ce: PUSH1 0x20 000042d0: DUP4 000042d1: ADD 000042d2: PUSH1 0x20 000042d4: DUP8 000042d5: ADD 000042d6: PUSH2 0x3990 000042d9: JUMP 000042da: JUMPDEST 000042db: PUSH0 000042dc: DUP1 000042dd: PUSH0 000042de: DUP1 000042df: PUSH0 000042e0: PUSH1 0xa0 000042e2: DUP7 000042e3: DUP9 000042e4: SUB 000042e5: SLT 000042e6: ISZERO 000042e7: PUSH2 0x42ee 000042ea: JUMPI 000042eb: PUSH0 000042ec: DUP1 000042ed: REVERT 000042ee: JUMPDEST 000042ef: DUP6 000042f0: MLOAD 000042f1: PUSH1 0x01 000042f3: PUSH1 0x01 000042f5: PUSH1 0x40 000042f7: SHL 000042f8: SUB 000042f9: DUP1 000042fa: DUP3 000042fb: GT 000042fc: ISZERO 000042fd: PUSH2 0x4304 00004300: JUMPI 00004301: PUSH0 00004302: DUP1 00004303: REVERT 00004304: JUMPDEST 00004305: PUSH2 0x4310 00004308: DUP10 00004309: DUP4 0000430a: DUP11 0000430b: ADD 0000430c: PUSH2 0x4298 0000430f: JUMP 00004310: JUMPDEST 00004311: SWAP7 00004312: POP 00004313: PUSH1 0x20 00004315: DUP9 00004316: ADD 00004317: MLOAD 00004318: SWAP2 00004319: POP 0000431a: DUP1 0000431b: DUP3 0000431c: GT 0000431d: ISZERO 0000431e: PUSH2 0x4325 00004321: JUMPI 00004322: PUSH0 00004323: DUP1 00004324: REVERT 00004325: JUMPDEST 00004326: PUSH2 0x4331 00004329: DUP10 0000432a: DUP4 0000432b: DUP11 0000432c: ADD 0000432d: PUSH2 0x4298 00004330: JUMP 00004331: JUMPDEST 00004332: SWAP6 00004333: POP 00004334: PUSH1 0x40 00004336: DUP9 00004337: ADD 00004338: MLOAD 00004339: SWAP2 0000433a: POP 0000433b: DUP1 0000433c: DUP3 0000433d: GT 0000433e: ISZERO 0000433f: PUSH2 0x4346 00004342: JUMPI 00004343: PUSH0 00004344: DUP1 00004345: REVERT 00004346: JUMPDEST 00004347: POP 00004348: PUSH2 0x4353 0000434b: DUP9 0000434c: DUP3 0000434d: DUP10 0000434e: ADD 0000434f: PUSH2 0x4298 00004352: JUMP 00004353: JUMPDEST 00004354: SWAP4 00004355: POP 00004356: POP 00004357: PUSH1 0x60 00004359: DUP7 0000435a: ADD 0000435b: MLOAD 0000435c: SWAP2 0000435d: POP 0000435e: PUSH1 0x80 00004360: DUP7 00004361: ADD 00004362: MLOAD 00004363: PUSH2 0x3944 00004366: DUP2 00004367: PUSH2 0x36c3 0000436a: JUMP 0000436b: JUMPDEST 0000436c: DUP2 0000436d: DUP4 0000436e: DUP3 0000436f: CALLDATACOPY 00004370: PUSH0 00004371: SWAP2 00004372: ADD 00004373: SWAP1 00004374: DUP2 00004375: MSTORE 00004376: SWAP2 00004377: SWAP1 00004378: POP 00004379: JUMP 0000437a: JUMPDEST 0000437b: PUSH4 0x4e487b71 00004380: PUSH1 0xe0 00004382: SHL 00004383: PUSH0 00004384: MSTORE 00004385: PUSH1 0x11 00004387: PUSH1 0x04 00004389: MSTORE 0000438a: PUSH1 0x24 0000438c: PUSH0 0000438d: REVERT 0000438e: JUMPDEST 0000438f: DUP2 00004390: DUP2 00004391: SUB 00004392: DUP2 00004393: DUP2 00004394: GT 00004395: ISZERO 00004396: PUSH2 0x0dbf 00004399: JUMPI 0000439a: PUSH2 0x0dbf 0000439d: PUSH2 0x437a 000043a0: JUMP 000043a1: JUMPDEST 000043a2: DUP7 000043a3: DUP2 000043a4: MSTORE 000043a5: DUP6 000043a6: PUSH1 0x20 000043a8: DUP3 000043a9: ADD 000043aa: MSTORE 000043ab: DUP5 000043ac: PUSH1 0x40 000043ae: DUP3 000043af: ADD 000043b0: MSTORE 000043b1: DUP4 000043b2: PUSH1 0x60 000043b4: DUP3 000043b5: ADD 000043b6: MSTORE 000043b7: PUSH1 0xa0 000043b9: PUSH1 0x80 000043bb: DUP3 000043bc: ADD 000043bd: MSTORE 000043be: PUSH0 000043bf: PUSH2 0x43cc 000043c2: PUSH1 0xa0 000043c4: DUP4 000043c5: ADD 000043c6: DUP5 000043c7: DUP7 000043c8: PUSH2 0x3f24 000043cb: JUMP 000043cc: JUMPDEST 000043cd: SWAP9 000043ce: SWAP8 000043cf: POP 000043d0: POP 000043d1: POP 000043d2: POP 000043d3: POP 000043d4: POP 000043d5: POP 000043d6: POP 000043d7: JUMP 000043d8: JUMPDEST 000043d9: PUSH0 000043da: PUSH1 0x20 000043dc: DUP3 000043dd: DUP5 000043de: SUB 000043df: SLT 000043e0: ISZERO 000043e1: PUSH2 0x43e8 000043e4: JUMPI 000043e5: PUSH0 000043e6: DUP1 000043e7: REVERT 000043e8: JUMPDEST 000043e9: DUP2 000043ea: MLOAD 000043eb: PUSH1 0x01 000043ed: PUSH1 0x01 000043ef: PUSH1 0x40 000043f1: SHL 000043f2: SUB 000043f3: DUP2 000043f4: GT 000043f5: ISZERO 000043f6: PUSH2 0x43fd 000043f9: JUMPI 000043fa: PUSH0 000043fb: DUP1 000043fc: REVERT 000043fd: JUMPDEST 000043fe: PUSH2 0x30a7 00004401: DUP5 00004402: DUP3 00004403: DUP6 00004404: ADD 00004405: PUSH2 0x4298 00004408: JUMP 00004409: JUMPDEST 0000440a: PUSH4 0x4e487b71 0000440f: PUSH1 0xe0 00004411: SHL 00004412: PUSH0 00004413: MSTORE 00004414: PUSH1 0x01 00004416: PUSH1 0x04 00004418: MSTORE 00004419: PUSH1 0x24 0000441b: PUSH0 0000441c: REVERT 0000441d: JUMPDEST 0000441e: DUP1 0000441f: DUP3 00004420: ADD 00004421: DUP1 00004422: DUP3 00004423: GT 00004424: ISZERO 00004425: PUSH2 0x0dbf 00004428: JUMPI 00004429: PUSH2 0x0dbf 0000442c: PUSH2 0x437a 0000442f: JUMP 00004430: JUMPDEST 00004431: PUSH1 0x80 00004433: DUP2 00004434: MSTORE 00004435: PUSH0 00004436: PUSH2 0x4443 00004439: PUSH1 0x80 0000443b: DUP4 0000443c: ADD 0000443d: DUP8 0000443e: DUP10 0000443f: PUSH2 0x3efc 00004442: JUMP 00004443: JUMPDEST 00004444: SWAP5 00004445: ISZERO 00004446: ISZERO 00004447: PUSH1 0x20 00004449: DUP4 0000444a: ADD 0000444b: MSTORE 0000444c: POP 0000444d: PUSH1 0x40 0000444f: DUP2 00004450: ADD 00004451: SWAP3 00004452: SWAP1 00004453: SWAP3 00004454: MSTORE 00004455: PUSH1 0x60 00004457: SWAP1 00004458: SWAP2 00004459: ADD 0000445a: MSTORE 0000445b: SWAP3 0000445c: SWAP2 0000445d: POP 0000445e: POP 0000445f: JUMP 00004460: JUMPDEST 00004461: PUSH0 00004462: PUSH1 0x20 00004464: DUP3 00004465: DUP5 00004466: SUB 00004467: SLT 00004468: ISZERO 00004469: PUSH2 0x4470 0000446c: JUMPI 0000446d: PUSH0 0000446e: DUP1 0000446f: REVERT 00004470: JUMPDEST 00004471: DUP2 00004472: MLOAD 00004473: PUSH1 0x01 00004475: PUSH1 0x01 00004477: PUSH1 0x40 00004479: SHL 0000447a: SUB 0000447b: DUP1 0000447c: DUP3 0000447d: GT 0000447e: ISZERO 0000447f: PUSH2 0x4486 00004482: JUMPI 00004483: PUSH0 00004484: DUP1 00004485: REVERT 00004486: JUMPDEST 00004487: SWAP1 00004488: DUP4 00004489: ADD 0000448a: SWAP1 0000448b: PUSH1 0x80 0000448d: DUP3 0000448e: DUP7 0000448f: SUB 00004490: SLT 00004491: ISZERO 00004492: PUSH2 0x4499 00004495: JUMPI 00004496: PUSH0 00004497: DUP1 00004498: REVERT 00004499: JUMPDEST 0000449a: PUSH2 0x44a1 0000449d: PUSH2 0x35f3 000044a0: JUMP 000044a1: JUMPDEST 000044a2: DUP3 000044a3: MLOAD 000044a4: DUP3 000044a5: DUP2 000044a6: GT 000044a7: ISZERO 000044a8: PUSH2 0x44af 000044ab: JUMPI 000044ac: PUSH0 000044ad: DUP1 000044ae: REVERT 000044af: JUMPDEST 000044b0: PUSH2 0x44bb 000044b3: DUP8 000044b4: DUP3 000044b5: DUP7 000044b6: ADD 000044b7: PUSH2 0x4298 000044ba: JUMP 000044bb: JUMPDEST 000044bc: DUP3 000044bd: MSTORE 000044be: POP 000044bf: PUSH1 0x20 000044c1: DUP4 000044c2: ADD 000044c3: MLOAD 000044c4: DUP3 000044c5: DUP2 000044c6: GT 000044c7: ISZERO 000044c8: PUSH2 0x44cf 000044cb: JUMPI 000044cc: PUSH0 000044cd: DUP1 000044ce: REVERT 000044cf: JUMPDEST 000044d0: PUSH2 0x44db 000044d3: DUP8 000044d4: DUP3 000044d5: DUP7 000044d6: ADD 000044d7: PUSH2 0x4298 000044da: JUMP 000044db: JUMPDEST 000044dc: PUSH1 0x20 000044de: DUP4 000044df: ADD 000044e0: MSTORE 000044e1: POP 000044e2: PUSH1 0x40 000044e4: DUP4 000044e5: ADD 000044e6: MLOAD 000044e7: PUSH1 0x40 000044e9: DUP3 000044ea: ADD 000044eb: MSTORE 000044ec: PUSH1 0x60 000044ee: DUP4 000044ef: ADD 000044f0: MLOAD 000044f1: SWAP3 000044f2: POP 000044f3: PUSH2 0x44fb 000044f6: DUP4 000044f7: PUSH2 0x36c3 000044fa: JUMP 000044fb: JUMPDEST 000044fc: PUSH1 0x60 000044fe: DUP2 000044ff: ADD 00004500: SWAP3 00004501: SWAP1 00004502: SWAP3 00004503: MSTORE 00004504: POP 00004505: SWAP4 00004506: SWAP3 00004507: POP 00004508: POP 00004509: POP 0000450a: JUMP 0000450b: JUMPDEST 0000450c: DUP5 0000450d: DUP2 0000450e: MSTORE 0000450f: PUSH1 0x20 00004511: DUP2 00004512: ADD 00004513: DUP5 00004514: SWAP1 00004515: MSTORE 00004516: PUSH1 0x80 00004518: DUP2 00004519: ADD 0000451a: PUSH1 0x07 0000451c: DUP5 0000451d: LT 0000451e: PUSH2 0x4529 00004521: JUMPI 00004522: PUSH2 0x4529 00004525: PUSH2 0x3d4a 00004528: JUMP 00004529: JUMPDEST 0000452a: PUSH1 0x40 0000452c: DUP3 0000452d: ADD 0000452e: SWAP4 0000452f: SWAP1 00004530: SWAP4 00004531: MSTORE 00004532: PUSH1 0x01 00004534: PUSH1 0x01 00004536: PUSH1 0xa0 00004538: SHL 00004539: SUB 0000453a: SWAP2 0000453b: SWAP1 0000453c: SWAP2 0000453d: AND 0000453e: PUSH1 0x60 00004540: SWAP1 00004541: SWAP2 00004542: ADD 00004543: MSTORE 00004544: SWAP3 00004545: SWAP2 00004546: POP 00004547: POP 00004548: JUMP 00004549: JUMPDEST 0000454a: DUP5 0000454b: DUP2 0000454c: MSTORE 0000454d: PUSH1 0x60 0000454f: PUSH1 0x20 00004551: DUP1 00004552: DUP4 00004553: ADD 00004554: DUP3 00004555: SWAP1 00004556: MSTORE 00004557: SWAP1 00004558: DUP3 00004559: ADD 0000455a: DUP5 0000455b: SWAP1 0000455c: MSTORE 0000455d: PUSH0 0000455e: SWAP1 0000455f: DUP6 00004560: SWAP1 00004561: PUSH1 0x80 00004563: DUP5 00004564: ADD 00004565: DUP4 00004566: JUMPDEST 00004567: DUP8 00004568: DUP2 00004569: LT 0000456a: ISZERO 0000456b: PUSH2 0x4594 0000456e: JUMPI 0000456f: DUP4 00004570: CALLDATALOAD 00004571: PUSH2 0x4579 00004574: DUP2 00004575: PUSH2 0x36c3 00004578: JUMP 00004579: JUMPDEST 0000457a: PUSH1 0x01 0000457c: PUSH1 0x01 0000457e: PUSH1 0xa0 00004580: SHL 00004581: SUB 00004582: AND 00004583: DUP3 00004584: MSTORE 00004585: SWAP3 00004586: DUP3 00004587: ADD 00004588: SWAP3 00004589: SWAP1 0000458a: DUP3 0000458b: ADD 0000458c: SWAP1 0000458d: PUSH1 0x01 0000458f: ADD 00004590: PUSH2 0x4566 00004593: JUMP 00004594: JUMPDEST 00004595: POP 00004596: DUP1 00004597: SWAP4 00004598: POP 00004599: POP 0000459a: POP 0000459b: POP 0000459c: DUP3 0000459d: ISZERO 0000459e: ISZERO 0000459f: PUSH1 0x40 000045a1: DUP4 000045a2: ADD 000045a3: MSTORE 000045a4: SWAP6 000045a5: SWAP5 000045a6: POP 000045a7: POP 000045a8: POP 000045a9: POP 000045aa: POP 000045ab: JUMP 000045ac: JUMPDEST 000045ad: DUP6 000045ae: DUP2 000045af: MSTORE 000045b0: PUSH1 0x80 000045b2: PUSH1 0x20 000045b4: DUP3 000045b5: ADD 000045b6: MSTORE 000045b7: PUSH0 000045b8: PUSH2 0x45c5 000045bb: PUSH1 0x80 000045bd: DUP4 000045be: ADD 000045bf: DUP7 000045c0: DUP9 000045c1: PUSH2 0x3efc 000045c4: JUMP 000045c5: JUMPDEST 000045c6: PUSH1 0x40 000045c8: DUP4 000045c9: ADD 000045ca: SWAP5 000045cb: SWAP1 000045cc: SWAP5 000045cd: MSTORE 000045ce: POP 000045cf: SWAP1 000045d0: ISZERO 000045d1: ISZERO 000045d2: PUSH1 0x60 000045d4: SWAP1 000045d5: SWAP2 000045d6: ADD 000045d7: MSTORE 000045d8: SWAP4 000045d9: SWAP3 000045da: POP 000045db: POP 000045dc: POP 000045dd: JUMP 000045de: JUMPDEST 000045df: DUP9 000045e0: DUP2 000045e1: MSTORE 000045e2: DUP8 000045e3: PUSH1 0x20 000045e5: DUP3 000045e6: ADD 000045e7: MSTORE 000045e8: DUP7 000045e9: PUSH1 0x40 000045eb: DUP3 000045ec: ADD 000045ed: MSTORE 000045ee: PUSH0 000045ef: PUSH1 0x01 000045f1: DUP1 000045f2: PUSH1 0xa0 000045f4: SHL 000045f5: SUB 000045f6: DUP1 000045f7: DUP9 000045f8: AND 000045f9: PUSH1 0x60 000045fb: DUP5 000045fc: ADD 000045fd: MSTORE 000045fe: DUP1 000045ff: DUP8 00004600: AND 00004601: PUSH1 0x80 00004603: DUP5 00004604: ADD 00004605: MSTORE 00004606: POP 00004607: DUP5 00004608: PUSH1 0xa0 0000460a: DUP4 0000460b: ADD 0000460c: MSTORE 0000460d: PUSH1 0xe0 0000460f: PUSH1 0xc0 00004611: DUP4 00004612: ADD 00004613: MSTORE 00004614: PUSH2 0x4621 00004617: PUSH1 0xe0 00004619: DUP4 0000461a: ADD 0000461b: DUP5 0000461c: DUP7 0000461d: PUSH2 0x3f24 00004620: JUMP 00004621: JUMPDEST 00004622: SWAP11 00004623: SWAP10 00004624: POP 00004625: POP 00004626: POP 00004627: POP 00004628: POP 00004629: POP 0000462a: POP 0000462b: POP 0000462c: POP 0000462d: POP 0000462e: JUMP 0000462f: JUMPDEST 00004630: PUSH6 0xffffffffffff 00004637: DUP2 00004638: DUP2 00004639: AND 0000463a: DUP4 0000463b: DUP3 0000463c: AND 0000463d: ADD 0000463e: SWAP1 0000463f: DUP1 00004640: DUP3 00004641: GT 00004642: ISZERO 00004643: PUSH2 0x32d7 00004646: JUMPI 00004647: PUSH2 0x32d7 0000464a: PUSH2 0x437a 0000464d: JUMP 0000464e: JUMPDEST 0000464f: PUSH6 0xffffffffffff 00004656: DUP3 00004657: DUP2 00004658: AND 00004659: DUP3 0000465a: DUP3 0000465b: AND 0000465c: SUB 0000465d: SWAP1 0000465e: DUP1 0000465f: DUP3 00004660: GT 00004661: ISZERO 00004662: PUSH2 0x32d7 00004665: JUMPI 00004666: PUSH2 0x32d7 00004669: PUSH2 0x437a 0000466c: JUMP 0000466d: INVALID 0000466e: PUSH18 0x840dc4906352362b0cdaf79870196c8e42ac 00004681: UNKNOWN(0xAF) 00004682: UNKNOWN(0xAD) 00004683: UNKNOWN(0xE7) 00004684: UNKNOWN(0x2D) 00004685: TSTORE 00004686: GAS 00004687: PUSH14 0x59291253ceb1eef3dac4538c82c8 00004696: UNKNOWN(0xAC) 00004697: UNKNOWN(0xE4) 00004698: MOD 00004699: GASPRICE 0000469a: UNKNOWN(0xB0) 0000469b: UNKNOWN(0xAC) 0000469c: UNKNOWN(0xD2) 0000469d: UNKNOWN(0xD1) 0000469e: TLOAD 0000469f: UNKNOWN(0xDB) 000046a0: PC 000046a1: DUP4 000046a2: UNKNOWN(0xAA) 000046a3: SAR 000046a4: SELFDESTRUCT 000046a5: PUSH29 0x2673abb3d869840002dd7bc7dec4dceedda775e58dd541e08a116c6c53 000046c3: DUP2 000046c4: TLOAD 000046c5: SIGNEXTEND 000046c6: UNKNOWN(0xD0) 000046c7: UNKNOWN(0x28) 000046c8: NOT 000046c9: UNKNOWN(0x2F) 000046ca: PUSH28 0x6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e248 000046e7: PUSH14 0x003becc55f00eef3dac4538c82c8 000046f6: UNKNOWN(0xAC) 000046f7: UNKNOWN(0xE4) 000046f8: MOD 000046f9: GASPRICE 000046fa: UNKNOWN(0xB0) 000046fb: UNKNOWN(0xAC) 000046fc: UNKNOWN(0xD2) 000046fd: UNKNOWN(0xD1) 000046fe: TLOAD 000046ff: UNKNOWN(0xDB) 00004700: PC 00004701: DUP4 00004702: UNKNOWN(0xAA) 00004703: SAR 00004704: SELFDESTRUCT 00004705: PUSH29 0x2673abb3d8698401a2646970667358221220dec0387669db4d061a7ed5 00004723: PUSH11 0xf5cce77261f93f23853170 0000472f: CREATE2 00004730: UNKNOWN(0xA7) 00004731: UNKNOWN(0xB4) 00004732: UNKNOWN(0xD9) 00004733: UNKNOWN(0xFB) 00004734: UNKNOWN(0xAC) 00004735: UNKNOWN(0xCD) 00004736: UNKNOWN(0xAD) 00004737: LOG3 00004738: PUSH5 0x736f6c6343 0000473e: STOP 0000473f: ADDMOD 00004740: NOT 00004741: STOP 00004742: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | yes | yes |
viewtrace_id: 0x17d26b29f7349c2ac14808319c083a2e1e39dc94d7b83c93d5bde7d419fd2bbc
call_targets:
0x3b86e38dd1a85fa181508f4b1a24f358dc9d2a9e, 0x583c299ba5c6cad55fdd89a3534f14fe8b4c90d6
target_varies:
yes
classification:
target_varies
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "confirmed",
"attempts": 15,
"trace_id": "0x17d26b29f7349c2ac14808319c083a2e1e39dc94d7b83c93d5bde7d419fd2bbc",
"confirmed": true,
"trace_mode": "callTracer",
"call_targets": [
"0x3b86e38dd1a85fa181508f4b1a24f358dc9d2a9e",
"0x583c299ba5c6cad55fdd89a3534f14fe8b4c90d6"
],
"matched_probe": null,
"target_varies": true,
"classification": "target_varies"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xeb2b01c3",
"selector": "0xeb2b01c3",
"calldata_variants": [
"0xeb2b01c3",
"0xeb2b01c30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf7ab086e",
"selector": "0xf7ab086e",
"calldata_variants": [
"0xf7ab086e",
"0xf7ab086e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfde90428",
"selector": "0xfde90428",
"calldata_variants": [
"0xfde90428",
"0xfde904280000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfe196cf8",
"selector": "0xfe196cf8",
"calldata_variants": [
"0xfe196cf8",
"0xfe196cf80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd602b9fd",
"selector": "0xd602b9fd",
"calldata_variants": [
"0xd602b9fd",
"0xd602b9fd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd65ea232",
"selector": "0xd65ea232",
"calldata_variants": [
"0xd65ea232",
"0xd65ea2320000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xddc63262",
"selector": "0xddc63262",
"calldata_variants": [
"0xddc63262",
"0xddc632620000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe7e54748",
"selector": "0xe7e54748",
"calldata_variants": [
"0xe7e54748",
"0xe7e547480000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3340,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 3427,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 3636,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [],
"delegatecall_count": 20,
"untrusted_delegatecall_count": 20
}
|
| high | other | cast | SELFDESTRUCT present | 85 | no | — |
viewevidence_json{
"notes": "selfdestruct can remove contract code and send funds; review reachability",
"selfdestruct_count": 2
}
|
| high | other | detector | SELFDESTRUCT reachable | 65 | no | no |
viewtrace_id: 0x478d3f8b9ed1e489a08a3e079ad84f8daaa3a2aa61327b457e199033c3168084
validation_json{
"sink": "SELFDESTRUCT",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0x478d3f8b9ed1e489a08a3e079ad84f8daaa3a2aa61327b457e199033c3168084",
"confirmed": false,
"trace_mode": "structLogs",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xeb2b01c3",
"selector": "0xeb2b01c3",
"calldata_variants": [
"0xeb2b01c3",
"0xeb2b01c30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf7ab086e",
"selector": "0xf7ab086e",
"calldata_variants": [
"0xf7ab086e",
"0xf7ab086e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfde90428",
"selector": "0xfde90428",
"calldata_variants": [
"0xfde90428",
"0xfde904280000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfe196cf8",
"selector": "0xfe196cf8",
"calldata_variants": [
"0xfe196cf8",
"0xfe196cf80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd602b9fd",
"selector": "0xd602b9fd",
"calldata_variants": [
"0xd602b9fd",
"0xd602b9fd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd65ea232",
"selector": "0xd65ea232",
"calldata_variants": [
"0xd65ea232",
"0xd65ea2320000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xddc63262",
"selector": "0xddc63262",
"calldata_variants": [
"0xddc63262",
"0xddc632620000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe7e54748",
"selector": "0xe7e54748",
"calldata_variants": [
"0xe7e54748",
"0xe7e547480000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [],
"selfdestruct_count": 2
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0x478d3f8b9ed1e489a08a3e079ad84f8daaa3a2aa61327b457e199033c3168084
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0x478d3f8b9ed1e489a08a3e079ad84f8daaa3a2aa61327b457e199033c3168084",
"confirmed": false,
"trace_mode": "structLogs",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xeb2b01c3",
"selector": "0xeb2b01c3",
"calldata_variants": [
"0xeb2b01c3",
"0xeb2b01c30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf7ab086e",
"selector": "0xf7ab086e",
"calldata_variants": [
"0xf7ab086e",
"0xf7ab086e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfde90428",
"selector": "0xfde90428",
"calldata_variants": [
"0xfde90428",
"0xfde904280000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfe196cf8",
"selector": "0xfe196cf8",
"calldata_variants": [
"0xfe196cf8",
"0xfe196cf80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd602b9fd",
"selector": "0xd602b9fd",
"calldata_variants": [
"0xd602b9fd",
"0xd602b9fd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd65ea232",
"selector": "0xd65ea232",
"calldata_variants": [
"0xd65ea232",
"0xd65ea2320000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xddc63262",
"selector": "0xddc63262",
"calldata_variants": [
"0xddc63262",
"0xddc632620000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe7e54748",
"selector": "0xe7e54748",
"calldata_variants": [
"0xe7e54748",
"0xe7e547480000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 0,
"create2_count": 1
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 20
}
|
| low | other | cast | Contract creation opcode present | 60 | no | — |
viewevidence_json{
"notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
"create_count": 0,
"create2_count": 1
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 14
}
|